#include "perms.h"

                                                                //      1  %begin
#line 1 "16.imp"
int main(int argc, char **argv) {
  __label__ _imp_endofblock;
  _imp_initialise(argc, argv);
                                                                //      2    %integer fred, jim, i
_imp_current_line = 2; _imp_current_file = "16.imp";
#line 2 "16.imp"
int FRED;
#line 2 "16.imp"
int JIM;
#line 2 "16.imp"
int I;
                                                                //      3  first:
_imp_current_line = 3; _imp_current_file = "16.imp";
#line 3 "16.imp"
U_1000:;
                                                                //      4    jim = 1
_imp_current_line = 4; _imp_current_file = "16.imp";
#line 4 "16.imp"
JIM = 1;
                                                                //      5    %if jim = 1 %then -> first
_imp_current_line = 5; _imp_current_file = "16.imp";
#line 5 "16.imp"
if (((JIM) != (1))) goto L_0002;
#line 5 "16.imp"
goto U_1000;
#line 5 "16.imp"
L_0002:;
                                                                //      6    jim = 2
_imp_current_line = 6; _imp_current_file = "16.imp";
#line 6 "16.imp"
JIM = 2;
                                                                //      7    %if jim = 2 %then -> second
_imp_current_line = 7; _imp_current_file = "16.imp";
#line 7 "16.imp"
if (((JIM) != (2))) goto L_0003;
#line 7 "16.imp"
goto U_1001;
#line 7 "16.imp"
L_0003:;
                                                                //      8    %for fred = 1, 10, jim %cycle
_imp_current_line = 8; _imp_current_file = "16.imp";
#line 8 "16.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 10; _final = JIM; FRED = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle FRED = 1, 10, JIM");
FRED -= _increment; _control -= _increment;
L_0004:;
if (FRED == _final) goto L_0005;
FRED += _increment; _control += _increment;
if (FRED != _control) _imp_signal(4,2,0,"Corrupt control variable FRED"); /* FOR loop control variable corrupted */
}
                                                                //      9      %if i = 55 %then %continue
_imp_current_line = 9; _imp_current_file = "16.imp";
#line 9 "16.imp"
if (((I) != (55))) goto L_0007;
#line 9 "16.imp"
goto L_0006;
#line 9 "16.imp"
L_0007:;
                                                                //     10      %if i = 99 %then %exit
_imp_current_line = 10; _imp_current_file = "16.imp";
#line 10 "16.imp"
if (((I) != (99))) goto L_0008;
#line 10 "16.imp"
goto L_0005;
#line 10 "16.imp"
L_0008:;
                                                                //     11      i = i+1
_imp_current_line = 11; _imp_current_file = "16.imp";
#line 11 "16.imp"
I = (((int)(I)) + (1));
                                                                //     12    %repeat
_imp_current_line = 12; _imp_current_file = "16.imp";
#line 12 "16.imp"
L_0006:;
#line 12 "16.imp"
goto L_0004;
#line 12 "16.imp"
L_0005:;
                                                                //     13    %while fred < jim %cycle
_imp_current_line = 13; _imp_current_file = "16.imp";
#line 13 "16.imp"
L_0009:;
#line 13 "16.imp"
if (((FRED) >= (JIM))) goto L_000a;
                                                                //     14      %if i = 55 %then %continue
_imp_current_line = 14; _imp_current_file = "16.imp";
#line 14 "16.imp"
if (((I) != (55))) goto L_000c;
#line 14 "16.imp"
goto L_000b;
#line 14 "16.imp"
L_000c:;
                                                                //     15      %if i = 99 %then %exit
_imp_current_line = 15; _imp_current_file = "16.imp";
#line 15 "16.imp"
if (((I) != (99))) goto L_000d;
#line 15 "16.imp"
goto L_000a;
#line 15 "16.imp"
L_000d:;
                                                                //     16      i = i+1
_imp_current_line = 16; _imp_current_file = "16.imp";
#line 16 "16.imp"
I = (((int)(I)) + (1));
                                                                //     17    %repeat
_imp_current_line = 17; _imp_current_file = "16.imp";
#line 17 "16.imp"
L_000b:;
#line 17 "16.imp"
goto L_0009;
#line 17 "16.imp"
L_000a:;
                                                                //     18    %cycle
_imp_current_line = 18; _imp_current_file = "16.imp";
#line 18 "16.imp"
L_000e:;
                                                                //     19      %if i = 55 %then %continue
_imp_current_line = 19; _imp_current_file = "16.imp";
#line 19 "16.imp"
if (((I) != (55))) goto L_0011;
#line 19 "16.imp"
goto L_0010;
#line 19 "16.imp"
L_0011:;
                                                                //     20      %if i = 99 %then %exit
_imp_current_line = 20; _imp_current_file = "16.imp";
#line 20 "16.imp"
if (((I) != (99))) goto L_0012;
#line 20 "16.imp"
goto L_000f;
#line 20 "16.imp"
L_0012:;
                                                                //     21      i = i+1
_imp_current_line = 21; _imp_current_file = "16.imp";
#line 21 "16.imp"
I = (((int)(I)) + (1));
                                                                //     22    %repeat %until fred = jim
_imp_current_line = 22; _imp_current_file = "16.imp";
#line 22 "16.imp"
L_0010:;
#line 22 "16.imp"
if (((FRED) == (JIM))) goto L_000f;
#line 22 "16.imp"
goto L_000e;
#line 22 "16.imp"
L_000f:;
                                                                //     23    %cycle
_imp_current_line = 23; _imp_current_file = "16.imp";
#line 23 "16.imp"
L_0013:;
                                                                //     24      %if i = 55 %then %continue
_imp_current_line = 24; _imp_current_file = "16.imp";
#line 24 "16.imp"
if (((I) != (55))) goto L_0016;
#line 24 "16.imp"
goto L_0015;
#line 24 "16.imp"
L_0016:;
                                                                //     25      %if i = 99 %then %exit
_imp_current_line = 25; _imp_current_file = "16.imp";
#line 25 "16.imp"
if (((I) != (99))) goto L_0017;
#line 25 "16.imp"
goto L_0014;
#line 25 "16.imp"
L_0017:;
                                                                //     26      i = i+1
_imp_current_line = 26; _imp_current_file = "16.imp";
#line 26 "16.imp"
I = (((int)(I)) + (1));
                                                                //     27    %repeat
_imp_current_line = 27; _imp_current_file = "16.imp";
#line 27 "16.imp"
L_0015:;
#line 27 "16.imp"
goto L_0013;
#line 27 "16.imp"
L_0014:;
                                                                //     28  second:
_imp_current_line = 28; _imp_current_file = "16.imp";
#line 28 "16.imp"
U_1001:;
                                                                //     29  %endofprogram
_imp_current_line = 29; _imp_current_file = "16.imp";
#line 29 "16.imp"
return 0;
_imp_endofblock: ;
} // End of block _imp_main at level 1
#line 29 "16.imp"
// End of file
// COMPILE WITH: gcc12 -DVALGRIND_AVAILABLE -UPARM_OPT -DPARM_UNASS -DPARM_CHECK -O -g -ftrivial-auto-var-init=pattern -fmerge-constants -fno-strict-aliasing -Wall -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unused-label -Wno-unused-function -Wno-maybe-uninitialized -Wno-uninitialized -frecord-gcc-switches -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize-undefined-trap-on-error -fsanitize=float-cast-overflow -fno-sanitize-recover=all -fstack-protector -Wno-frame-address -fno-omit-frame-pointer -Wno-return-type -Wno-comment -ftrapv -ggdb3 -gdwarf-4 -I. -I.. -c -o 16.o 16.c -lm
