#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 2 %switch sw(0:4)
int SW_index;
int SW_line;
char *SW_file;
static const void *SW[5] = {&&case_SW_default, &&case_SW_1, &&case_SW_default, &&case_SW_3, &&case_SW_default};
// 3 ->sw(2)
SW_line = __LINE__;
SW_file = __FILE__;
SW_index = 2;
goto case_SW_dispatch;
// 4 sw(1):
case_SW_1:;
// 5 sw(3):
case_SW_3:;
// 6 sw(*):
case_SW_default:;
// 7 %endofprogram
_imp_stop(0);
return 0;
case_SW_dispatch:
if (SW_index < 0 || SW_index > 4)
_imp_signalf(6, 3, SW_index, "->SW(%d) out of bounds at %s line %d", SW_index, SW_file, SW_line);
goto *SW[SW_index - 0];
end_0:;
}