#include "perms.h"

                                                                //      1  %begin
#line 1 "regression-compile-tmp/unwinding.imp"
int main(int argc, char **argv) {
  __label__ _imp_endofblock;
  _imp_initialise(argc, argv);
                                                                //      2  
                                                                //      3     %on %event 15 %start
_imp_current_line = 3; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 3 "regression-compile-tmp/unwinding.imp"
if (!_imp_on_event(15)) goto L_0002;
                                                                //      4       print string("END OF DIAGNOSTICS"); newline
_imp_current_line = 4; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 4 "regression-compile-tmp/unwinding.imp"
_imp_PRINTSTRING(_imp_str_literal("END OF DIAGNOSTICS"));
_imp_current_line = 4; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 4 "regression-compile-tmp/unwinding.imp"
_imp_NEWLINE();
                                                                //      5       %stop
_imp_current_line = 5; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 5 "regression-compile-tmp/unwinding.imp"
exit(0);
                                                                //      6     %finish
_imp_current_line = 6; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 6 "regression-compile-tmp/unwinding.imp"
L_0002:;
                                                                //      7     
                                                                //      8     %routine the procedure(%integer i)
_imp_current_line = 8; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 8 "regression-compile-tmp/unwinding.imp"
void THEPROCEDURE( int I )
#line 8 "regression-compile-tmp/unwinding.imp"
{
  __label__ _imp_endofblock;
                                                                //      9       %integer local variable
_imp_current_line = 9; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 9 "regression-compile-tmp/unwinding.imp"
int LOCALVARIABLE;
                                                                //     10       local variable = i
_imp_current_line = 10; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 10 "regression-compile-tmp/unwinding.imp"
LOCALVARIABLE = I;
                                                                //     11  
                                                                //     12       %on %event 15 %start
_imp_current_line = 12; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 12 "regression-compile-tmp/unwinding.imp"
if (!_imp_on_event(15)) goto L_0003;
                                                                //     13         print string("Entered from THEPROCEDURE "); write(i, -1); newlines(2)
_imp_current_line = 13; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 13 "regression-compile-tmp/unwinding.imp"
_imp_PRINTSTRING(_imp_str_literal("Entered from THEPROCEDURE "));
_imp_current_line = 13; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 13 "regression-compile-tmp/unwinding.imp"
_imp_WRITE(I, (-1));
_imp_current_line = 13; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 13 "regression-compile-tmp/unwinding.imp"
_imp_NEWLINES(2);
                                                                //     14         print string("LOCALVARIABLE = "); write(local variable, 0); newline
_imp_current_line = 14; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 14 "regression-compile-tmp/unwinding.imp"
_imp_PRINTSTRING(_imp_str_literal("LOCALVARIABLE = "));
_imp_current_line = 14; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 14 "regression-compile-tmp/unwinding.imp"
_imp_WRITE(LOCALVARIABLE, 0);
_imp_current_line = 14; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 14 "regression-compile-tmp/unwinding.imp"
_imp_NEWLINE();
                                                                //     15         ! For comparative testing: Vax compiler needs event_extra not event_info
                                                                //     16         %signal 15, event_sub, event_info  { pass up one level to caller }
_imp_current_line = 16; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 16 "regression-compile-tmp/unwinding.imp"
_imp_signal(15, _imp_EVENT().SUB, _imp_EVENT().INFO, "");
                                                                //     17       %finish
_imp_current_line = 17; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 17 "regression-compile-tmp/unwinding.imp"
L_0003:;
                                                                //     18  
                                                                //     19       %signal 15, 1 %if i >= 10
_imp_current_line = 19; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 19 "regression-compile-tmp/unwinding.imp"
if (((I) < (10))) goto L_0004;
#line 19 "regression-compile-tmp/unwinding.imp"
_imp_signal(15, 1, 0, "");
#line 19 "regression-compile-tmp/unwinding.imp"
L_0004:;
                                                                //     20       the procedure(i+3)
_imp_current_line = 20; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 20 "regression-compile-tmp/unwinding.imp"
THEPROCEDURE((((int)(I)) + (3)));
                                                                //     21     %end
_imp_current_line = 21; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 21 "regression-compile-tmp/unwinding.imp"
return;
_imp_endofblock: ;
} // End of block THEPROCEDURE at level 2
                                                                //     22  
                                                                //     23     the procedure(1)
_imp_current_line = 23; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 23 "regression-compile-tmp/unwinding.imp"
THEPROCEDURE(1);
                                                                //     24  
                                                                //     25  %endofprogram
_imp_current_line = 25; _imp_current_file = "regression-compile-tmp/unwinding.imp";
#line 25 "regression-compile-tmp/unwinding.imp"
return 0;
_imp_endofblock: ;
} // End of block _imp_main at level 1
#line 25 "regression-compile-tmp/unwinding.imp"
// End of file
