#include <perms.h>

                                                                //      1  %begin
#line 1 "regression-compile-tmp/gpm.imp"
int main(int argc, char **argv) {
  _imp_initialise(argc, argv);
                                                                //      2  !%externalstring(255)%fnspec itos(%integer i,n)
                                                                //      3  !%externalroutinespec openinput(%integer stream, %string(255) filename)
                                                                //      4  !%externalroutinespec openoutput(%integer stream, %string(255) filename)
                                                                //      5  
                                                                //      6  %routinespec load
#line 6 "regression-compile-tmp/gpm.imp"
auto void LOAD( void );
                                                                //      7  %routinespec nextch
#line 7 "regression-compile-tmp/gpm.imp"
auto void NEXTCH( void );
                                                                //      8  %routinespec find(%integer x)
#line 8 "regression-compile-tmp/gpm.imp"
auto void FIND( int X );
                                                                //      9  %routinespec monitor(%integer n)
#line 9 "regression-compile-tmp/gpm.imp"
auto void MONITOR( int N );
                                                                //     10  %constinteger marker=16_ffffc000
                                                                //     11  %conststring(1) snl = "
#line 11 "regression-compile-tmp/gpm.imp"
const _imp_string /*%string(1)*/ SNL = _imp_str_literal("\n");
                                                                //     12  "
                                                                //     13  %ownshortintegerarray st(0:10000)=%c
#line 13 "regression-compile-tmp/gpm.imp"
static short ST[10001] = { (-1), 4, 100, 101, 102, (-1), 0, 4, 118, 97, 108, (-2), 6, 7, 117, 112, 100, 97, 116, 101, (-3), 12, 4, 98, 105, 110, (-4), 21, 4, 100, 101, 99, (-5), 27, 4, 98, 97, 114, (-6), [39 ... 10000] = 0 };
                                                                //     14     -1,4,'d','e','f',-1,
                                                                //     15     0,4,'v','a','l',-2,
                                                                //     16     6,7,'u','p','d','a','t','e',-3,
                                                                //     17     12,4,'b','i','n',-4,
                                                                //     18     21,4,'d','e','c',-5,
                                                                //     19     27,4,'b','a','r',-6,
                                                                //     20     0(9962)
                                                                //     21  %owninteger e=33, s=39
#line 21 "regression-compile-tmp/gpm.imp"
static int E = 33;
#line 21 "regression-compile-tmp/gpm.imp"
static int S = 39;
                                                                //     22  %integer a, w, w1, h, p, f, c, q, e0, f0, h0, r
#line 22 "regression-compile-tmp/gpm.imp"
int A;
#line 22 "regression-compile-tmp/gpm.imp"
int W;
#line 22 "regression-compile-tmp/gpm.imp"
int W1;
#line 22 "regression-compile-tmp/gpm.imp"
int H;
#line 22 "regression-compile-tmp/gpm.imp"
int P;
#line 22 "regression-compile-tmp/gpm.imp"
int F;
#line 22 "regression-compile-tmp/gpm.imp"
int C;
#line 22 "regression-compile-tmp/gpm.imp"
int Q;
#line 22 "regression-compile-tmp/gpm.imp"
int E0;
#line 22 "regression-compile-tmp/gpm.imp"
int F0;
#line 22 "regression-compile-tmp/gpm.imp"
int H0;
#line 22 "regression-compile-tmp/gpm.imp"
int R;
                                                                //     23  %string(63) filename
#line 23 "regression-compile-tmp/gpm.imp"
_imp_string /*%string(63)*/ FILENAME;
                                                                //     24  %switch mcm(1:6)
#line 24 "regression-compile-tmp/gpm.imp"
static int sw1_MCM_idx;
static const void * /*SWITCH*/ sw1_MCM[6] = { &&sw1_MCM_1, &&sw1_MCM_2, &&sw1_MCM_3, &&sw1_MCM_4, &&sw1_MCM_5, &&sw1_MCM_6,  };
                                                                //     25  
                                                                //     26    %on %event {0,} 9 %start
#line 26 "regression-compile-tmp/gpm.imp"
if (!_imp_on_event(9)) goto L_0002;  /* TO DO: Remove %on %event handler just before L_0002: if present for this block */
                                                                //     27      %if eventno{event_event} = 9 %then %start
#line 27 "regression-compile-tmp/gpm.imp"
if (((_imp_EVENTNO()) != (9))) goto L_0003;
                                                                //     28        select input(0)
#line 28 "regression-compile-tmp/gpm.imp"
_imp_SELECTINPUT(0);
                                                                //     29        ->start
#line 29 "regression-compile-tmp/gpm.imp"
goto U_1000;
                                                                //     30      %finish %else print string(snl."GPM terminated".snl)
#line 30 "regression-compile-tmp/gpm.imp"
L_0003:;
#line 30 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_join((_imp_string)SNL,(_imp_string)_imp_str_literal("GPM terminated")),(_imp_string)SNL));
                                                                //     31      %stop
#line 31 "regression-compile-tmp/gpm.imp"
exit(0);
                                                                //     32    %finish
#line 32 "regression-compile-tmp/gpm.imp"
L_0002:;
                                                                //     33  
                                                                //     34     a=0
#line 34 "regression-compile-tmp/gpm.imp"
A = 0;
                                                                //     35     w=0
#line 35 "regression-compile-tmp/gpm.imp"
W = 0;
                                                                //     36     w1=0
#line 36 "regression-compile-tmp/gpm.imp"
W1 = 0;
                                                                //     37     h=0
#line 37 "regression-compile-tmp/gpm.imp"
H = 0;
                                                                //     38     p=0
#line 38 "regression-compile-tmp/gpm.imp"
P = 0;
                                                                //     39     f=0
#line 39 "regression-compile-tmp/gpm.imp"
F = 0;
                                                                //     40     c=0
#line 40 "regression-compile-tmp/gpm.imp"
C = 0;
                                                                //     41     q=1
#line 41 "regression-compile-tmp/gpm.imp"
Q = 1;
                                                                //     42  
                                                                //     43  start:nextch
#line 43 "regression-compile-tmp/gpm.imp"
U_1000:;
#line 43 "regression-compile-tmp/gpm.imp"
NEXTCH();
                                                                //     44     %if a='@' %then %start
#line 44 "regression-compile-tmp/gpm.imp"
if (((A) != (64))) goto L_0004;
                                                                //     45       read(filename)
#line 45 "regression-compile-tmp/gpm.imp"
_imp_READ(&FILENAME);
                                                                //     46       openinput(1,filename)
#line 46 "regression-compile-tmp/gpm.imp"
_imp_OPENINPUT(1, FILENAME);
                                                                //     47       select input(1)
#line 47 "regression-compile-tmp/gpm.imp"
_imp_SELECTINPUT(1);
                                                                //     48       ->start ; %finish
#line 48 "regression-compile-tmp/gpm.imp"
goto U_1000;
#line 48 "regression-compile-tmp/gpm.imp"
L_0004:;
                                                                //     49     %if a='/' %then %start
#line 49 "regression-compile-tmp/gpm.imp"
if (((A) != (47))) goto L_0005;
                                                                //     50       read(filename)
#line 50 "regression-compile-tmp/gpm.imp"
_imp_READ(&FILENAME);
                                                                //     51       openoutput(1,filename)
#line 51 "regression-compile-tmp/gpm.imp"
_imp_OPENOUTPUT(1, FILENAME);
                                                                //     52       select output(1)
#line 52 "regression-compile-tmp/gpm.imp"
_imp_SELECTOUTPUT(1);
                                                                //     53       ->start ; %finish
#line 53 "regression-compile-tmp/gpm.imp"
goto U_1000;
#line 53 "regression-compile-tmp/gpm.imp"
L_0005:;
                                                                //     54     %if a='<' %then q=q+1 %and ->q2
#line 54 "regression-compile-tmp/gpm.imp"
if (((A) != (60))) goto L_0006;
#line 54 "regression-compile-tmp/gpm.imp"
Q = (((int)(Q)) + (1));
#line 54 "regression-compile-tmp/gpm.imp"
goto U_1001;
#line 54 "regression-compile-tmp/gpm.imp"
L_0006:;
                                                                //     55     %if a='$' %then ->fn
#line 55 "regression-compile-tmp/gpm.imp"
if (((A) != (36))) goto L_0007;
#line 55 "regression-compile-tmp/gpm.imp"
goto U_1002;
#line 55 "regression-compile-tmp/gpm.imp"
L_0007:;
                                                                //     56     %if a=',' %then ->next item
#line 56 "regression-compile-tmp/gpm.imp"
if (((A) != (44))) goto L_0008;
#line 56 "regression-compile-tmp/gpm.imp"
goto U_1003;
#line 56 "regression-compile-tmp/gpm.imp"
L_0008:;
                                                                //     57     %if a=';' %then ->apply
#line 57 "regression-compile-tmp/gpm.imp"
if (((A) != (59))) goto L_0009;
#line 57 "regression-compile-tmp/gpm.imp"
goto U_1004;
#line 57 "regression-compile-tmp/gpm.imp"
L_0009:;
                                                                //     58     %if a='#' %then ->load arg
#line 58 "regression-compile-tmp/gpm.imp"
if (((A) != (35))) goto L_000a;
#line 58 "regression-compile-tmp/gpm.imp"
goto U_1005;
#line 58 "regression-compile-tmp/gpm.imp"
L_000a:;
                                                                //     59     %if a=marker %then ->endfn
#line 59 "regression-compile-tmp/gpm.imp"
if (((A) != ((-16384)))) goto L_000b;
#line 59 "regression-compile-tmp/gpm.imp"
goto U_1006;
#line 59 "regression-compile-tmp/gpm.imp"
L_000b:;
                                                                //     60     %if a='>' %then ->exit
#line 60 "regression-compile-tmp/gpm.imp"
if (((A) != (62))) goto L_000c;
#line 60 "regression-compile-tmp/gpm.imp"
goto U_1007;
#line 60 "regression-compile-tmp/gpm.imp"
L_000c:;
                                                                //     61  copy:load
#line 61 "regression-compile-tmp/gpm.imp"
U_1008:;
#line 61 "regression-compile-tmp/gpm.imp"
LOAD();
                                                                //     62     %if q=1 %then ->start
#line 62 "regression-compile-tmp/gpm.imp"
if (((Q) != (1))) goto L_000d;
#line 62 "regression-compile-tmp/gpm.imp"
goto U_1000;
#line 62 "regression-compile-tmp/gpm.imp"
L_000d:;
                                                                //     63  q2:nextch
#line 63 "regression-compile-tmp/gpm.imp"
U_1001:;
#line 63 "regression-compile-tmp/gpm.imp"
NEXTCH();
                                                                //     64     %if a='<' %then q=q+1 %and ->copy
#line 64 "regression-compile-tmp/gpm.imp"
if (((A) != (60))) goto L_000e;
#line 64 "regression-compile-tmp/gpm.imp"
Q = (((int)(Q)) + (1));
#line 64 "regression-compile-tmp/gpm.imp"
goto U_1008;
#line 64 "regression-compile-tmp/gpm.imp"
L_000e:;
                                                                //     65     %if a#'>' %then ->copy
#line 65 "regression-compile-tmp/gpm.imp"
if (((A) == (62))) goto L_000f;
#line 65 "regression-compile-tmp/gpm.imp"
goto U_1008;
#line 65 "regression-compile-tmp/gpm.imp"
L_000f:;
                                                                //     66     q=q-1
#line 66 "regression-compile-tmp/gpm.imp"
Q = (((int)(Q)) - (1));
                                                                //     67     %if q=1 %then ->start %else ->copy
#line 67 "regression-compile-tmp/gpm.imp"
if (((Q) != (1))) goto L_0010;
#line 67 "regression-compile-tmp/gpm.imp"
goto U_1000;
#line 67 "regression-compile-tmp/gpm.imp"
L_0010:;
#line 67 "regression-compile-tmp/gpm.imp"
goto U_1008;
                                                                //     68  fn:st(s)=h
#line 68 "regression-compile-tmp/gpm.imp"
U_1002:;
#line 68 "regression-compile-tmp/gpm.imp"
ST[S] = H;
                                                                //     69     st(s+1)=f
#line 69 "regression-compile-tmp/gpm.imp"
ST[(((int)(S)) + (1))] = F;
                                                                //     70     st(s+2)=0
#line 70 "regression-compile-tmp/gpm.imp"
ST[(((int)(S)) + (2))] = 0;
                                                                //     71     st(s+3)=0
#line 71 "regression-compile-tmp/gpm.imp"
ST[(((int)(S)) + (3))] = 0;
                                                                //     72     h=s+3
#line 72 "regression-compile-tmp/gpm.imp"
H = (((int)(S)) + (3));
                                                                //     73     f=s+1
#line 73 "regression-compile-tmp/gpm.imp"
F = (((int)(S)) + (1));
                                                                //     74     s=s+4
#line 74 "regression-compile-tmp/gpm.imp"
S = (((int)(S)) + (4));
                                                                //     75     ->start
#line 75 "regression-compile-tmp/gpm.imp"
goto U_1000;
                                                                //     76  
                                                                //     77  next item:%if h=0 %then ->copy
#line 77 "regression-compile-tmp/gpm.imp"
U_1003:;
#line 77 "regression-compile-tmp/gpm.imp"
if (((H) != (0))) goto L_0011;
#line 77 "regression-compile-tmp/gpm.imp"
goto U_1008;
#line 77 "regression-compile-tmp/gpm.imp"
L_0011:;
                                                                //     78     st(h)=s-h-st(h)
#line 78 "regression-compile-tmp/gpm.imp"
ST[H] = (((short)((((int)(S)) - (H)))) - (ST[H]));
                                                                //     79     st(s)=0
#line 79 "regression-compile-tmp/gpm.imp"
ST[S] = 0;
                                                                //     80     h=s
#line 80 "regression-compile-tmp/gpm.imp"
H = S;
                                                                //     81     s=s+1
#line 81 "regression-compile-tmp/gpm.imp"
S = (((int)(S)) + (1));
                                                                //     82     ->start
#line 82 "regression-compile-tmp/gpm.imp"
goto U_1000;
                                                                //     83  
                                                                //     84  apply:%if p>f %then monitor(1)
#line 84 "regression-compile-tmp/gpm.imp"
U_1004:;
#line 84 "regression-compile-tmp/gpm.imp"
if (((P) <= (F))) goto L_0012;
#line 84 "regression-compile-tmp/gpm.imp"
MONITOR(1);
#line 84 "regression-compile-tmp/gpm.imp"
L_0012:;
                                                                //     85     %if h=0 %then ->copy
#line 85 "regression-compile-tmp/gpm.imp"
if (((H) != (0))) goto L_0013;
#line 85 "regression-compile-tmp/gpm.imp"
goto U_1008;
#line 85 "regression-compile-tmp/gpm.imp"
L_0013:;
                                                                //     86     st(h)=s-h
#line 86 "regression-compile-tmp/gpm.imp"
ST[H] = (((int)(S)) - (H));
                                                                //     87     st(s)=marker
#line 87 "regression-compile-tmp/gpm.imp"
ST[S] = (-16384);
                                                                //     88     h0=st(f-1)
#line 88 "regression-compile-tmp/gpm.imp"
H0 = ST[(((int)(F)) - (1))];
                                                                //     89     f0=st(f)
#line 89 "regression-compile-tmp/gpm.imp"
F0 = ST[F];
                                                                //     90     st(f-1)=s-f+2
#line 90 "regression-compile-tmp/gpm.imp"
ST[(((int)(F)) - (1))] = (((int)((((int)(S)) - (F)))) + (2));
                                                                //     91     st(f)=p
#line 91 "regression-compile-tmp/gpm.imp"
ST[F] = P;
                                                                //     92     st(f+1)=c
#line 92 "regression-compile-tmp/gpm.imp"
ST[(((int)(F)) + (1))] = C;
                                                                //     93     p=f
#line 93 "regression-compile-tmp/gpm.imp"
P = F;
                                                                //     94     f=f0
#line 94 "regression-compile-tmp/gpm.imp"
F = F0;
                                                                //     95     h=h0
#line 95 "regression-compile-tmp/gpm.imp"
H = H0;
                                                                //     96     s=s+1
#line 96 "regression-compile-tmp/gpm.imp"
S = (((int)(S)) + (1));
                                                                //     97     %unless h=0 %then st(h)=st(h)+st(p-1)
#line 97 "regression-compile-tmp/gpm.imp"
if (((H) == (0))) goto L_0014;
#line 97 "regression-compile-tmp/gpm.imp"
ST[H] = (((short)(ST[H])) + (ST[(((int)(P)) - (1))]));
#line 97 "regression-compile-tmp/gpm.imp"
L_0014:;
                                                                //     98     find(p+2)
#line 98 "regression-compile-tmp/gpm.imp"
FIND((((int)(P)) + (2)));
                                                                //     99     %if st(w)<0 %then ->mcm(-st(w))
#line 99 "regression-compile-tmp/gpm.imp"
if (((ST[W]) >= (0))) goto L_0015;
#line 99 "regression-compile-tmp/gpm.imp"
sw1_MCM_idx = (-(ST[W])); if ((1 <= sw1_MCM_idx) && (sw1_MCM_idx <= 6)) goto *(sw1_MCM-1)[sw1_MCM_idx];  /* Bounds=1:6 */ else {
   /*_imp_signal(8, 2, sw1_MCM_idx);*/
   fprintf(stderr, "%%SWITCH index MCM(%d) not in range 1:6 at %s:%d\n",
           sw1_MCM_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
#line 99 "regression-compile-tmp/gpm.imp"
L_0015:;
                                                                //    100     c=w+1
#line 100 "regression-compile-tmp/gpm.imp"
C = (((int)(W)) + (1));
                                                                //    101     ->start
#line 101 "regression-compile-tmp/gpm.imp"
goto U_1000;
                                                                //    102  
                                                                //    103  loadarg:%if p=0 %then %start
#line 103 "regression-compile-tmp/gpm.imp"
U_1005:;
#line 103 "regression-compile-tmp/gpm.imp"
if (((P) != (0))) goto L_0016;
                                                                //    104       %if h=0 %then ->copy %else monitor(2)
#line 104 "regression-compile-tmp/gpm.imp"
if (((H) != (0))) goto L_0017;
#line 104 "regression-compile-tmp/gpm.imp"
goto U_1008;
#line 104 "regression-compile-tmp/gpm.imp"
L_0017:;
#line 104 "regression-compile-tmp/gpm.imp"
MONITOR(2);
                                                                //    105       %finish
#line 105 "regression-compile-tmp/gpm.imp"
L_0016:;
                                                                //    106     nextch
#line 106 "regression-compile-tmp/gpm.imp"
NEXTCH();
                                                                //    107     w=p+2
#line 107 "regression-compile-tmp/gpm.imp"
W = (((int)(P)) + (2));
                                                                //    108     %if a<'0' %then monitor(3)
#line 108 "regression-compile-tmp/gpm.imp"
if (((A) >= (48))) goto L_0018;
#line 108 "regression-compile-tmp/gpm.imp"
MONITOR(3);
#line 108 "regression-compile-tmp/gpm.imp"
L_0018:;
                                                                //    109     %if a>'0' %then %start
#line 109 "regression-compile-tmp/gpm.imp"
if (((A) <= (48))) goto L_0019;
                                                                //    110       %for r=0,1,a-'0'-1 %cycle
#line 110 "regression-compile-tmp/gpm.imp"
{static int _initial, _increment, _final, _control;
_initial = 0; _increment = 1; _final = (((int)((((int)(A)) - (48)))) - (1)); R = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle R = 0, 1, (((int)((((int)(A)) - (48)))) - (1))");
R -= _increment; _control -= _increment;
L_001a:;
if (R == _final) goto L_001b;
R += _increment; _control += _increment;
if (R != _control) _imp_signal(4,2,0,"Corrupt control variable R"); /* FOR loop control variable corrupted */
}
                                                                //    111       w=w+st(w)
#line 111 "regression-compile-tmp/gpm.imp"
W = ((W) + ((int)(ST[W])));
                                                                //    112       %if st(w)=marker %then monitor(4)
#line 112 "regression-compile-tmp/gpm.imp"
if (((ST[W]) != ((-16384)))) goto L_001d;
#line 112 "regression-compile-tmp/gpm.imp"
MONITOR(4);
#line 112 "regression-compile-tmp/gpm.imp"
L_001d:;
                                                                //    113       %repeat
#line 113 "regression-compile-tmp/gpm.imp"
goto L_001a;
#line 113 "regression-compile-tmp/gpm.imp"
L_001b:;
                                                                //    114       %finish
#line 114 "regression-compile-tmp/gpm.imp"
L_0019:;
                                                                //    115     %for r=1,1,st(w)-1 %cycle
#line 115 "regression-compile-tmp/gpm.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = (((int)(ST[W])) - (1)); R = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle R = 1, 1, (((int)(ST[W])) - (1))");
R -= _increment; _control -= _increment;
L_001e:;
if (R == _final) goto L_001f;
R += _increment; _control += _increment;
if (R != _control) _imp_signal(4,2,0,"Corrupt control variable R"); /* FOR loop control variable corrupted */
}
                                                                //    116     a=st(w+r)
#line 116 "regression-compile-tmp/gpm.imp"
A = ST[(((int)(W)) + (R))];
                                                                //    117     load
#line 117 "regression-compile-tmp/gpm.imp"
LOAD();
                                                                //    118     %repeat
#line 118 "regression-compile-tmp/gpm.imp"
goto L_001e;
#line 118 "regression-compile-tmp/gpm.imp"
L_001f:;
                                                                //    119     ->start
#line 119 "regression-compile-tmp/gpm.imp"
goto U_1000;
                                                                //    120  
                                                                //    121  endfn:%if f>p %then monitor(5)
#line 121 "regression-compile-tmp/gpm.imp"
U_1006:;
#line 121 "regression-compile-tmp/gpm.imp"
if (((F) <= (P))) goto L_0021;
#line 121 "regression-compile-tmp/gpm.imp"
MONITOR(5);
#line 121 "regression-compile-tmp/gpm.imp"
L_0021:;
                                                                //    122     st(s)=e
#line 122 "regression-compile-tmp/gpm.imp"
ST[S] = E;
                                                                //    123     a=s
#line 123 "regression-compile-tmp/gpm.imp"
A = S;
                                                                //    124     %while st(a)>=p-1+st(p-1) %cycle
#line 124 "regression-compile-tmp/gpm.imp"
L_0022:;
#line 124 "regression-compile-tmp/gpm.imp"
if (((ST[A]) < ((((short)((((int)(P)) - (1)))) + (ST[(((int)(P)) - (1))]))))) goto L_0023;
                                                                //    125       e0=st(a)
#line 125 "regression-compile-tmp/gpm.imp"
E0 = ST[A];
                                                                //    126       st(a)=e0-st(p-1)
#line 126 "regression-compile-tmp/gpm.imp"
ST[A] = ((E0) - ((int)(ST[(((int)(P)) - (1))])));
                                                                //    127       a=e0
#line 127 "regression-compile-tmp/gpm.imp"
A = E0;
                                                                //    128    %repeat
#line 128 "regression-compile-tmp/gpm.imp"
goto L_0022;
#line 128 "regression-compile-tmp/gpm.imp"
L_0023:;
                                                                //    129     w=st(a)
#line 129 "regression-compile-tmp/gpm.imp"
W = ST[A];
                                                                //    130     w=st(w) %while w>p-1
#line 130 "regression-compile-tmp/gpm.imp"
L_0025:;
#line 130 "regression-compile-tmp/gpm.imp"
if (((W) <= ((((int)(P)) - (1))))) goto L_0026;
#line 130 "regression-compile-tmp/gpm.imp"
W = ST[W];
#line 130 "regression-compile-tmp/gpm.imp"
goto L_0025;
#line 130 "regression-compile-tmp/gpm.imp"
L_0026:;
                                                                //    131     st(a)=w
#line 131 "regression-compile-tmp/gpm.imp"
ST[A] = W;
                                                                //    132     e=st(s)
#line 132 "regression-compile-tmp/gpm.imp"
E = ST[S];
                                                                //    133     %unless h=0 %then %start
#line 133 "regression-compile-tmp/gpm.imp"
if (((H) == (0))) goto L_0028;
                                                                //    134       %if h>p %then h=h-st(p-1) %else st(h)=st(h)-st(p-1)
#line 134 "regression-compile-tmp/gpm.imp"
if (((H) <= (P))) goto L_0029;
#line 134 "regression-compile-tmp/gpm.imp"
H = ((H) - ((int)(ST[(((int)(P)) - (1))])));
#line 134 "regression-compile-tmp/gpm.imp"
goto L_002a;
#line 134 "regression-compile-tmp/gpm.imp"
L_0029:;
#line 134 "regression-compile-tmp/gpm.imp"
ST[H] = (((short)(ST[H])) - (ST[(((int)(P)) - (1))]));
#line 134 "regression-compile-tmp/gpm.imp"
L_002a:;
                                                                //    135       %finish
#line 135 "regression-compile-tmp/gpm.imp"
L_0028:;
                                                                //    136     a=p-1
#line 136 "regression-compile-tmp/gpm.imp"
A = (((int)(P)) - (1));
                                                                //    137     w=a+st(p-1)
#line 137 "regression-compile-tmp/gpm.imp"
W = ((A) + ((int)(ST[(((int)(P)) - (1))])));
                                                                //    138     c=st(p+1)
#line 138 "regression-compile-tmp/gpm.imp"
C = ST[(((int)(P)) + (1))];
                                                                //    139     s=s-st(p-1)
#line 139 "regression-compile-tmp/gpm.imp"
S = ((S) - ((int)(ST[(((int)(P)) - (1))])));
                                                                //    140     p=st(p)
#line 140 "regression-compile-tmp/gpm.imp"
P = ST[P];
                                                                //    141     st(a)=st(w) %and a=a+1 %and w=w+1 %while a#s
#line 141 "regression-compile-tmp/gpm.imp"
L_002b:;
#line 141 "regression-compile-tmp/gpm.imp"
if (((A) == (S))) goto L_002c;
#line 141 "regression-compile-tmp/gpm.imp"
ST[A] = ST[W];
#line 141 "regression-compile-tmp/gpm.imp"
A = (((int)(A)) + (1));
#line 141 "regression-compile-tmp/gpm.imp"
W = (((int)(W)) + (1));
#line 141 "regression-compile-tmp/gpm.imp"
goto L_002b;
#line 141 "regression-compile-tmp/gpm.imp"
L_002c:;
                                                                //    142     ->start
#line 142 "regression-compile-tmp/gpm.imp"
goto U_1000;
                                                                //    143  
                                                                //    144  exit:%unless c=h=0 %then monitor(8)
#line 144 "regression-compile-tmp/gpm.imp"
U_1007:;
#line 144 "regression-compile-tmp/gpm.imp"
if ((((C) != (H))) || (((H) == (0)))) goto L_002e;
#line 144 "regression-compile-tmp/gpm.imp"
L_002d:;
#line 144 "regression-compile-tmp/gpm.imp"
MONITOR(8);
#line 144 "regression-compile-tmp/gpm.imp"
L_002e:;
                                                                //    145     %stop
#line 145 "regression-compile-tmp/gpm.imp"
exit(0);
                                                                //    146  
                                                                //    147  mcm(1):! def
#line 147 "regression-compile-tmp/gpm.imp"
sw1_MCM_1:;
                                                                //    148     %unless h=0 %then st(h)=st(h)-st(p-1)+6
#line 148 "regression-compile-tmp/gpm.imp"
if (((H) == (0))) goto L_002f;
#line 148 "regression-compile-tmp/gpm.imp"
ST[H] = (((int)((((short)(ST[H])) - (ST[(((int)(P)) - (1))])))) + (6));
#line 148 "regression-compile-tmp/gpm.imp"
L_002f:;
                                                                //    149     st(p-1)=6
#line 149 "regression-compile-tmp/gpm.imp"
ST[(((int)(P)) - (1))] = 6;
                                                                //    150     st(p+5)=e
#line 150 "regression-compile-tmp/gpm.imp"
ST[(((int)(P)) + (5))] = E;
                                                                //    151     e=p+5
#line 151 "regression-compile-tmp/gpm.imp"
E = (((int)(P)) + (5));
                                                                //    152     ->endfn
#line 152 "regression-compile-tmp/gpm.imp"
goto U_1006;
                                                                //    153  
                                                                //    154  mcm(2):! val
#line 154 "regression-compile-tmp/gpm.imp"
sw1_MCM_2:;
                                                                //    155     find(p+6)
#line 155 "regression-compile-tmp/gpm.imp"
FIND((((int)(P)) + (6)));
                                                                //    156     a=st(w+1) %and w=w+1 %and load %while st(w+1)#marker
#line 156 "regression-compile-tmp/gpm.imp"
L_0030:;
#line 156 "regression-compile-tmp/gpm.imp"
if (((ST[(((int)(W)) + (1))]) == ((-16384)))) goto L_0031;
#line 156 "regression-compile-tmp/gpm.imp"
A = ST[(((int)(W)) + (1))];
#line 156 "regression-compile-tmp/gpm.imp"
W = (((int)(W)) + (1));
#line 156 "regression-compile-tmp/gpm.imp"
LOAD();
#line 156 "regression-compile-tmp/gpm.imp"
goto L_0030;
#line 156 "regression-compile-tmp/gpm.imp"
L_0031:;
                                                                //    157     ->endfn
#line 157 "regression-compile-tmp/gpm.imp"
goto U_1006;
                                                                //    158  
                                                                //    159  mcm(3):! update
#line 159 "regression-compile-tmp/gpm.imp"
sw1_MCM_3:;
                                                                //    160     find(p+9)
#line 160 "regression-compile-tmp/gpm.imp"
FIND((((int)(P)) + (9)));
                                                                //    161     a=p+9+st(p+9)
#line 161 "regression-compile-tmp/gpm.imp"
A = (((short)((((int)(P)) + (9)))) + (ST[(((int)(P)) + (9))]));
                                                                //    162     %if st(a)>st(w) %then monitor(9)
#line 162 "regression-compile-tmp/gpm.imp"
if (((ST[A]) <= (ST[W]))) goto L_0033;
#line 162 "regression-compile-tmp/gpm.imp"
MONITOR(9);
#line 162 "regression-compile-tmp/gpm.imp"
L_0033:;
                                                                //    163     %for r=1,1,st(a) %cycle
#line 163 "regression-compile-tmp/gpm.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = ST[A]; R = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle R = 1, 1, ST[A]");
R -= _increment; _control -= _increment;
L_0034:;
if (R == _final) goto L_0035;
R += _increment; _control += _increment;
if (R != _control) _imp_signal(4,2,0,"Corrupt control variable R"); /* FOR loop control variable corrupted */
}
                                                                //    164     st(w+r)=st(a+r)
#line 164 "regression-compile-tmp/gpm.imp"
ST[(((int)(W)) + (R))] = ST[(((int)(A)) + (R))];
                                                                //    165     %repeat
#line 165 "regression-compile-tmp/gpm.imp"
goto L_0034;
#line 165 "regression-compile-tmp/gpm.imp"
L_0035:;
                                                                //    166     ->endfn
#line 166 "regression-compile-tmp/gpm.imp"
goto U_1006;
                                                                //    167  
                                                                //    168  mcm(4):! bin
#line 168 "regression-compile-tmp/gpm.imp"
sw1_MCM_4:;
                                                                //    169     w=0
#line 169 "regression-compile-tmp/gpm.imp"
W = 0;
                                                                //    170     %if st(p+7)='+' %or st(p+7)='-' %then a=p+8 %else a=p+7
#line 170 "regression-compile-tmp/gpm.imp"
if (((ST[(((int)(P)) + (7))]) == (43))) goto L_0036;
#line 170 "regression-compile-tmp/gpm.imp"
if (((ST[(((int)(P)) + (7))]) != (45))) goto L_0037;
#line 170 "regression-compile-tmp/gpm.imp"
L_0036:;
#line 170 "regression-compile-tmp/gpm.imp"
A = (((int)(P)) + (8));
#line 170 "regression-compile-tmp/gpm.imp"
goto L_0038;
#line 170 "regression-compile-tmp/gpm.imp"
L_0037:;
#line 170 "regression-compile-tmp/gpm.imp"
A = (((int)(P)) + (7));
#line 170 "regression-compile-tmp/gpm.imp"
L_0038:;
                                                                //    171     %while st(a)#marker %cycle
#line 171 "regression-compile-tmp/gpm.imp"
L_0039:;
#line 171 "regression-compile-tmp/gpm.imp"
if (((ST[A]) == ((-16384)))) goto L_003a;
                                                                //    172       %unless '0'<=st(a)<='9' %then monitor(10)
#line 172 "regression-compile-tmp/gpm.imp"
if ((((48) > (ST[A]))) || (((ST[A]) <= (57)))) goto L_003c;
#line 172 "regression-compile-tmp/gpm.imp"
L_001c:;
#line 172 "regression-compile-tmp/gpm.imp"
MONITOR(10);
#line 172 "regression-compile-tmp/gpm.imp"
L_003c:;
                                                                //    173       w=10*w+st(a)-'0'
#line 173 "regression-compile-tmp/gpm.imp"
W = (((int)((((short)((((int)(10)) * (W)))) + (ST[A])))) - (48));
                                                                //    174       a=a+1
#line 174 "regression-compile-tmp/gpm.imp"
A = (((int)(A)) + (1));
                                                                //    175       %repeat
#line 175 "regression-compile-tmp/gpm.imp"
goto L_0039;
#line 175 "regression-compile-tmp/gpm.imp"
L_003a:;
                                                                //    176     %if st(p+7)='-' %then st(s)=-w %else st(s)=w
#line 176 "regression-compile-tmp/gpm.imp"
if (((ST[(((int)(P)) + (7))]) != (45))) goto L_003d;
#line 176 "regression-compile-tmp/gpm.imp"
ST[S] = (-(W));
#line 176 "regression-compile-tmp/gpm.imp"
goto L_003e;
#line 176 "regression-compile-tmp/gpm.imp"
L_003d:;
#line 176 "regression-compile-tmp/gpm.imp"
ST[S] = W;
#line 176 "regression-compile-tmp/gpm.imp"
L_003e:;
                                                                //    177     s=s+1
#line 177 "regression-compile-tmp/gpm.imp"
S = (((int)(S)) + (1));
                                                                //    178     ->endfn
#line 178 "regression-compile-tmp/gpm.imp"
goto U_1006;
                                                                //    179  
                                                                //    180  mcm(5):! dec
#line 180 "regression-compile-tmp/gpm.imp"
sw1_MCM_5:;
                                                                //    181     w=st(p+7)
#line 181 "regression-compile-tmp/gpm.imp"
W = ST[(((int)(P)) + (7))];
                                                                //    182     %if w<0 %then w=-w %and a='-' %and load
#line 182 "regression-compile-tmp/gpm.imp"
if (((W) >= (0))) goto L_003f;
#line 182 "regression-compile-tmp/gpm.imp"
W = (-(W));
#line 182 "regression-compile-tmp/gpm.imp"
A = 45;
#line 182 "regression-compile-tmp/gpm.imp"
LOAD();
#line 182 "regression-compile-tmp/gpm.imp"
L_003f:;
                                                                //    183     r=1
#line 183 "regression-compile-tmp/gpm.imp"
R = 1;
                                                                //    184     r=10*r %while 10*r<=w
#line 184 "regression-compile-tmp/gpm.imp"
L_0040:;
#line 184 "regression-compile-tmp/gpm.imp"
if ((((((int)(10)) * (R))) > (W))) goto L_0041;
#line 184 "regression-compile-tmp/gpm.imp"
R = (((int)(10)) * (R));
#line 184 "regression-compile-tmp/gpm.imp"
goto L_0040;
#line 184 "regression-compile-tmp/gpm.imp"
L_0041:;
                                                                //    185     a=w//r+'0' %and load %and w=w-r*(a-'0')%and r=r//10 %while r>=1
#line 185 "regression-compile-tmp/gpm.imp"
L_0043:;
#line 185 "regression-compile-tmp/gpm.imp"
if (((R) < (1))) goto L_0044;
#line 185 "regression-compile-tmp/gpm.imp"
A = ((((long)((long)((int)(W)) / (long)((int)(_Z(R)))))) + (48));
#line 185 "regression-compile-tmp/gpm.imp"
LOAD();
#line 185 "regression-compile-tmp/gpm.imp"
W = ((W) - ((int)(((R) * ((int)((((int)(A)) - (48))))))));
#line 185 "regression-compile-tmp/gpm.imp"
R = (long)((long)((int)(R)) / (long)((int)(10)));
#line 185 "regression-compile-tmp/gpm.imp"
goto L_0043;
#line 185 "regression-compile-tmp/gpm.imp"
L_0044:;
                                                                //    186     ->endfn
#line 186 "regression-compile-tmp/gpm.imp"
goto U_1006;
                                                                //    187  
                                                                //    188  mcm(6):! bar
#line 188 "regression-compile-tmp/gpm.imp"
sw1_MCM_6:;
                                                                //    189     w=st(p+9)
#line 189 "regression-compile-tmp/gpm.imp"
W = ST[(((int)(P)) + (9))];
                                                                //    190     a=st(p+11)
#line 190 "regression-compile-tmp/gpm.imp"
A = ST[(((int)(P)) + (11))];
                                                                //    191     %if st(p+7)='+' %then a=w+a
#line 191 "regression-compile-tmp/gpm.imp"
if (((ST[(((int)(P)) + (7))]) != (43))) goto L_0046;
#line 191 "regression-compile-tmp/gpm.imp"
A = (((int)(W)) + (A));
#line 191 "regression-compile-tmp/gpm.imp"
L_0046:;
                                                                //    192     %if st(p+7)='-' %then a=w-a
#line 192 "regression-compile-tmp/gpm.imp"
if (((ST[(((int)(P)) + (7))]) != (45))) goto L_0047;
#line 192 "regression-compile-tmp/gpm.imp"
A = (((int)(W)) - (A));
#line 192 "regression-compile-tmp/gpm.imp"
L_0047:;
                                                                //    193     %if st(p+7)='*' %then a=w*a
#line 193 "regression-compile-tmp/gpm.imp"
if (((ST[(((int)(P)) + (7))]) != (42))) goto L_0048;
#line 193 "regression-compile-tmp/gpm.imp"
A = (((int)(W)) * (A));
#line 193 "regression-compile-tmp/gpm.imp"
L_0048:;
                                                                //    194     %if st(p+7)='/' %then a=w//a
#line 194 "regression-compile-tmp/gpm.imp"
if (((ST[(((int)(P)) + (7))]) != (47))) goto L_0049;
#line 194 "regression-compile-tmp/gpm.imp"
A = (long)((long)((int)(W)) / (long)((int)(_Z(A))));
#line 194 "regression-compile-tmp/gpm.imp"
L_0049:;
                                                                //    195     %if st(p+7)='r' %then a=w-w//a*a
#line 195 "regression-compile-tmp/gpm.imp"
if (((ST[(((int)(P)) + (7))]) != (114))) goto L_004a;
#line 195 "regression-compile-tmp/gpm.imp"
A = ((W) - (((((long)((long)((int)(W)) / (long)((int)(_Z(A)))))) * (A))));
#line 195 "regression-compile-tmp/gpm.imp"
L_004a:;
                                                                //    196     load
#line 196 "regression-compile-tmp/gpm.imp"
LOAD();
                                                                //    197     ->endfn
#line 197 "regression-compile-tmp/gpm.imp"
goto U_1006;
                                                                //    198  
                                                                //    199  {------------------------------------------------------------------------------}
                                                                //    200  
                                                                //    201  %routine load
#line 201 "regression-compile-tmp/gpm.imp"
void LOAD( void )
#line 201 "regression-compile-tmp/gpm.imp"
{
                                                                //    202     %if h=0 %then print symbol(a) %else st(s)=a %and s=s+1
#line 202 "regression-compile-tmp/gpm.imp"
if (((H) != (0))) goto L_004b;
#line 202 "regression-compile-tmp/gpm.imp"
_imp_PRINTSYMBOL(A);
#line 202 "regression-compile-tmp/gpm.imp"
goto L_004c;
#line 202 "regression-compile-tmp/gpm.imp"
L_004b:;
#line 202 "regression-compile-tmp/gpm.imp"
ST[S] = A;
#line 202 "regression-compile-tmp/gpm.imp"
S = (((int)(S)) + (1));
#line 202 "regression-compile-tmp/gpm.imp"
L_004c:;
                                                                //    203  %end
#line 203 "regression-compile-tmp/gpm.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block LOAD at level 2
                                                                //    204  
                                                                //    205  {------------------------------------------------------------------------------}
                                                                //    206  
                                                                //    207  %routine nextch
#line 207 "regression-compile-tmp/gpm.imp"
void NEXTCH( void )
#line 207 "regression-compile-tmp/gpm.imp"
{
                                                                //    208     %if c=0 %then read symbol(a) %else a=st(c) %and c=c+1
#line 208 "regression-compile-tmp/gpm.imp"
if (((C) != (0))) goto L_004d;
#line 208 "regression-compile-tmp/gpm.imp"
_imp_READSYMBOL(&A);
#line 208 "regression-compile-tmp/gpm.imp"
goto L_004e;
#line 208 "regression-compile-tmp/gpm.imp"
L_004d:;
#line 208 "regression-compile-tmp/gpm.imp"
A = ST[C];
#line 208 "regression-compile-tmp/gpm.imp"
C = (((int)(C)) + (1));
#line 208 "regression-compile-tmp/gpm.imp"
L_004e:;
                                                                //    209  %end
#line 209 "regression-compile-tmp/gpm.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block NEXTCH at level 2
                                                                //    210  
                                                                //    211  {------------------------------------------------------------------------------}
                                                                //    212  
                                                                //    213  %routine find(%integer x)
#line 213 "regression-compile-tmp/gpm.imp"
void FIND( int X )
#line 213 "regression-compile-tmp/gpm.imp"
{
                                                                //    214     a=e
#line 214 "regression-compile-tmp/gpm.imp"
A = E;
                                                                //    215     w=x
#line 215 "regression-compile-tmp/gpm.imp"
W = X;
                                                                //    216  again: %for r=0,1,st(w)-1 %cycle
#line 216 "regression-compile-tmp/gpm.imp"
U_1009:;
#line 216 "regression-compile-tmp/gpm.imp"
{static int _initial, _increment, _final, _control;
_initial = 0; _increment = 1; _final = (((int)(ST[W])) - (1)); R = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle R = 0, 1, (((int)(ST[W])) - (1))");
R -= _increment; _control -= _increment;
L_004f:;
if (R == _final) goto L_0050;
R += _increment; _control += _increment;
if (R != _control) _imp_signal(4,2,0,"Corrupt control variable R"); /* FOR loop control variable corrupted */
}
                                                                //    217        %if st(w+r)#st(a+r+1) %then ->next
#line 217 "regression-compile-tmp/gpm.imp"
if (((ST[(((int)(W)) + (R))]) == (ST[(((int)((((int)(A)) + (R)))) + (1))]))) goto L_0052;
#line 217 "regression-compile-tmp/gpm.imp"
goto U_100a;
#line 217 "regression-compile-tmp/gpm.imp"
L_0052:;
                                                                //    218     %repeat
#line 218 "regression-compile-tmp/gpm.imp"
goto L_004f;
#line 218 "regression-compile-tmp/gpm.imp"
L_0050:;
                                                                //    219     w=a+1+st(w)
#line 219 "regression-compile-tmp/gpm.imp"
W = (((short)((((int)(A)) + (1)))) + (ST[W]));
                                                                //    220     %return
#line 220 "regression-compile-tmp/gpm.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    221  next:a=st(a)
#line 221 "regression-compile-tmp/gpm.imp"
U_100a:;
#line 221 "regression-compile-tmp/gpm.imp"
A = ST[A];
                                                                //    222     ->again %unless a<0
#line 222 "regression-compile-tmp/gpm.imp"
if (((A) < (0))) goto L_0053;
#line 222 "regression-compile-tmp/gpm.imp"
goto U_1009;
#line 222 "regression-compile-tmp/gpm.imp"
L_0053:;
                                                                //    223     monitor(7)
#line 223 "regression-compile-tmp/gpm.imp"
MONITOR(7);
                                                                //    224  %end
#line 224 "regression-compile-tmp/gpm.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FIND at level 2
                                                                //    225  
                                                                //    226  {------------------------------------------------------------------------------}
                                                                //    227  
                                                                //    228  %routine monitor(%integer n)
#line 228 "regression-compile-tmp/gpm.imp"
void MONITOR( int N )
#line 228 "regression-compile-tmp/gpm.imp"
{
                                                                //    229  %routinespec item(%integer x)
#line 229 "regression-compile-tmp/gpm.imp"
auto void ITEM( int X );
                                                                //    230  %switch fault(1:10)
#line 230 "regression-compile-tmp/gpm.imp"
static int sw2_FAULT_idx;
static const void * /*SWITCH*/ sw2_FAULT[10] = { &&sw2_FAULT_1, &&sw2_FAULT_2, &&sw2_FAULT_3, &&sw2_FAULT_4, &&sw2_FAULT_5, &&sw2_FAULT_6, &&sw2_FAULT_7, &&sw2_FAULT_8, &&sw2_FAULT_9, &&sw2_FAULT_10,  };
                                                                //    231  
                                                                //    232     print string(snl."Monitor : ")
#line 232 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)SNL,(_imp_string)_imp_str_literal("Monitor : ")));
                                                                //    233     ->fault(n)
#line 233 "regression-compile-tmp/gpm.imp"
sw2_FAULT_idx = N; if ((1 <= sw2_FAULT_idx) && (sw2_FAULT_idx <= 10)) goto *(sw2_FAULT-1)[sw2_FAULT_idx];  /* Bounds=1:10 */ else {
   /*_imp_signal(8, 2, sw2_FAULT_idx);*/
   fprintf(stderr, "%%SWITCH index FAULT(%d) not in range 1:10 at %s:%d\n",
           sw2_FAULT_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //    234  
                                                                //    235  fault(1):print string("Unmatched semicolon in definition of ")
#line 235 "regression-compile-tmp/gpm.imp"
sw2_FAULT_1:;
#line 235 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_str_literal("Unmatched semicolon in definition of "));
                                                                //    236     item(p+2)
#line 236 "regression-compile-tmp/gpm.imp"
ITEM((((int)(P)) + (2)));
                                                                //    237     ->end
#line 237 "regression-compile-tmp/gpm.imp"
goto U_100b;
                                                                //    238  
                                                                //    239  fault(2):print string("Unquoted # in argument list of ")
#line 239 "regression-compile-tmp/gpm.imp"
sw2_FAULT_2:;
#line 239 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_str_literal("Unquoted # in argument list of "));
                                                                //    240     item(f+2)
#line 240 "regression-compile-tmp/gpm.imp"
ITEM((((int)(F)) + (2)));
                                                                //    241     ->end
#line 241 "regression-compile-tmp/gpm.imp"
goto U_100b;
                                                                //    242  
                                                                //    243  fault(3):print string("Impossible argument number in definition of ")
#line 243 "regression-compile-tmp/gpm.imp"
sw2_FAULT_3:;
#line 243 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_str_literal("Impossible argument number in definition of "));
                                                                //    244     item(p+2)
#line 244 "regression-compile-tmp/gpm.imp"
ITEM((((int)(P)) + (2)));
                                                                //    245     ->end
#line 245 "regression-compile-tmp/gpm.imp"
goto U_100b;
                                                                //    246  
                                                                //    247  fault(4):print string("No argument ")
#line 247 "regression-compile-tmp/gpm.imp"
sw2_FAULT_4:;
#line 247 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_str_literal("No argument "));
                                                                //    248     print symbol(a)
#line 248 "regression-compile-tmp/gpm.imp"
_imp_PRINTSYMBOL(A);
                                                                //    249     print string(" in call for ")
#line 249 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_str_literal(" in call for "));
                                                                //    250     item(p+2)
#line 250 "regression-compile-tmp/gpm.imp"
ITEM((((int)(P)) + (2)));
                                                                //    251     ->end
#line 251 "regression-compile-tmp/gpm.imp"
goto U_100b;
                                                                //    252  
                                                                //    253  fault(5):print string("Terminator in ")
#line 253 "regression-compile-tmp/gpm.imp"
sw2_FAULT_5:;
#line 253 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_str_literal("Terminator in "));
                                                                //    254     %if c=0 %then print string("input stream; GPM error ?") %and ->end
#line 254 "regression-compile-tmp/gpm.imp"
if (((C) != (0))) goto L_0054;
#line 254 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_str_literal("input stream; GPM error ?"));
#line 254 "regression-compile-tmp/gpm.imp"
goto U_100b;
#line 254 "regression-compile-tmp/gpm.imp"
L_0054:;
                                                                //    255     print string("argument list for ")
#line 255 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_str_literal("argument list for "));
                                                                //    256     item(f+2)
#line 256 "regression-compile-tmp/gpm.imp"
ITEM((((int)(F)) + (2)));
                                                                //    257     print string(snl."probably due to semicolon missing from definition of ")
#line 257 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)SNL,(_imp_string)_imp_str_literal("probably due to semicolon missing from definition of ")));
                                                                //    258     item(p+2)
#line 258 "regression-compile-tmp/gpm.imp"
ITEM((((int)(P)) + (2)));
                                                                //    259     ->end
#line 259 "regression-compile-tmp/gpm.imp"
goto U_100b;
                                                                //    260  
                                                                //    261  fault(6):print string("GPM error?")
#line 261 "regression-compile-tmp/gpm.imp"
sw2_FAULT_6:;
#line 261 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_str_literal("GPM error?"));
                                                                //    262     ->end
#line 262 "regression-compile-tmp/gpm.imp"
goto U_100b;
                                                                //    263  
                                                                //    264  fault(7):print string("Undefined name ")
#line 264 "regression-compile-tmp/gpm.imp"
sw2_FAULT_7:;
#line 264 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_str_literal("Undefined name "));
                                                                //    265     item(w)
#line 265 "regression-compile-tmp/gpm.imp"
ITEM(W);
                                                                //    266     ->end
#line 266 "regression-compile-tmp/gpm.imp"
goto U_100b;
                                                                //    267  
                                                                //    268  fault(8):print string("Unmatched >; GPM error ?")
#line 268 "regression-compile-tmp/gpm.imp"
sw2_FAULT_8:;
#line 268 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_str_literal("Unmatched >; GPM error ?"));
                                                                //    269     ->end
#line 269 "regression-compile-tmp/gpm.imp"
goto U_100b;
                                                                //    270  
                                                                //    271  fault(9):print string("Update argument too long for ")
#line 271 "regression-compile-tmp/gpm.imp"
sw2_FAULT_9:;
#line 271 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_str_literal("Update argument too long for "));
                                                                //    272     item(p+9)
#line 272 "regression-compile-tmp/gpm.imp"
ITEM((((int)(P)) + (9)));
                                                                //    273     ->end
#line 273 "regression-compile-tmp/gpm.imp"
goto U_100b;
                                                                //    274  
                                                                //    275  fault(10):print string("Non-digit in number ")
#line 275 "regression-compile-tmp/gpm.imp"
sw2_FAULT_10:;
#line 275 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_str_literal("Non-digit in number "));
                                                                //    276  
                                                                //    277  end:
#line 277 "regression-compile-tmp/gpm.imp"
U_100b:;
                                                                //    278  
                                                                //    279     ! general monitor
                                                                //    280     w=20
#line 280 "regression-compile-tmp/gpm.imp"
W = 20;
                                                                //    281     print string(snl."Current macros are :")
#line 281 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)SNL,(_imp_string)_imp_str_literal("Current macros are :")));
                                                                //    282     %while p#0 %or f#0 %cycle
#line 282 "regression-compile-tmp/gpm.imp"
L_0055:;
#line 282 "regression-compile-tmp/gpm.imp"
if (((P) != (0))) goto L_0057;
#line 282 "regression-compile-tmp/gpm.imp"
if (((F) == (0))) goto L_0056;
#line 282 "regression-compile-tmp/gpm.imp"
L_0057:;
                                                                //    283       %if p>f %then %start
#line 283 "regression-compile-tmp/gpm.imp"
if (((P) <= (F))) goto L_0058;
                                                                //    284         w1=p+2
#line 284 "regression-compile-tmp/gpm.imp"
W1 = (((int)(P)) + (2));
                                                                //    285         p=st(p)
#line 285 "regression-compile-tmp/gpm.imp"
P = ST[P];
                                                                //    286         print string(snl."already entered :  ")
#line 286 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)SNL,(_imp_string)_imp_str_literal("already entered :  ")));
                                                                //    287       %finish %else %start
#line 287 "regression-compile-tmp/gpm.imp"
goto L_0059;
#line 287 "regression-compile-tmp/gpm.imp"
L_0058:;
                                                                //    288         w1=f+2
#line 288 "regression-compile-tmp/gpm.imp"
W1 = (((int)(F)) + (2));
                                                                //    289         f=st(f)
#line 289 "regression-compile-tmp/gpm.imp"
F = ST[F];
                                                                //    290         print string(snl."not yet entered :  ")
#line 290 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)SNL,(_imp_string)_imp_str_literal("not yet entered :  ")));
                                                                //    291       %finish
#line 291 "regression-compile-tmp/gpm.imp"
L_0059:;
                                                                //    292       %for r=1,1,w %cycle
#line 292 "regression-compile-tmp/gpm.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = W; R = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle R = 1, 1, W");
R -= _increment; _control -= _increment;
L_005a:;
if (R == _final) goto L_005b;
R += _increment; _control += _increment;
if (R != _control) _imp_signal(4,2,0,"Corrupt control variable R"); /* FOR loop control variable corrupted */
}
                                                                //    293         item(w1)
#line 293 "regression-compile-tmp/gpm.imp"
ITEM(W1);
                                                                //    294         %if st(w1)=0 %then %exit
#line 294 "regression-compile-tmp/gpm.imp"
if (((ST[W1]) != (0))) goto L_005d;
#line 294 "regression-compile-tmp/gpm.imp"
goto L_005b;
#line 294 "regression-compile-tmp/gpm.imp"
L_005d:;
                                                                //    295         w1=w1+st(w1)
#line 295 "regression-compile-tmp/gpm.imp"
W1 = ((W1) + ((int)(ST[W1])));
                                                                //    296         %if st(w1)=marker %then %exit
#line 296 "regression-compile-tmp/gpm.imp"
if (((ST[W1]) != ((-16384)))) goto L_005e;
#line 296 "regression-compile-tmp/gpm.imp"
goto L_005b;
#line 296 "regression-compile-tmp/gpm.imp"
L_005e:;
                                                                //    297         %unless w=1 %then %start
#line 297 "regression-compile-tmp/gpm.imp"
if (((W) == (1))) goto L_005f;
                                                                //    298           print string(snl."arg".itos(r,1)." :    ")
#line 298 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_join((_imp_string)_imp_join((_imp_string)SNL,(_imp_string)_imp_str_literal("arg")),(_imp_string)_imp_ITOS(R, 1)),(_imp_string)_imp_str_literal(" :    ")));
                                                                //    299         %finish
#line 299 "regression-compile-tmp/gpm.imp"
L_005f:;
                                                                //    300       %repeat
#line 300 "regression-compile-tmp/gpm.imp"
goto L_005a;
#line 300 "regression-compile-tmp/gpm.imp"
L_005b:;
                                                                //    301       w=1
#line 301 "regression-compile-tmp/gpm.imp"
W = 1;
                                                                //    302       %repeat
#line 302 "regression-compile-tmp/gpm.imp"
goto L_0055;
#line 302 "regression-compile-tmp/gpm.imp"
L_0056:;
                                                                //    303     print string(snl."End of monitor printing".snl)
#line 303 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_join((_imp_string)SNL,(_imp_string)_imp_str_literal("End of monitor printing")),(_imp_string)SNL));
                                                                //    304     %stop
#line 304 "regression-compile-tmp/gpm.imp"
exit(0);
                                                                //    305  
                                                                //    306  %routine item(%integer x)
#line 306 "regression-compile-tmp/gpm.imp"
void ITEM( int X )
#line 306 "regression-compile-tmp/gpm.imp"
{
                                                                //    307  %integer k,l
#line 307 "regression-compile-tmp/gpm.imp"
int K;
#line 307 "regression-compile-tmp/gpm.imp"
int L;
                                                                //    308     %if st(x)=0 %then l=s-x-1 %else l=st(x)-1
#line 308 "regression-compile-tmp/gpm.imp"
if (((ST[X]) != (0))) goto L_0060;
#line 308 "regression-compile-tmp/gpm.imp"
L = (((int)((((int)(S)) - (X)))) - (1));
#line 308 "regression-compile-tmp/gpm.imp"
goto L_0061;
#line 308 "regression-compile-tmp/gpm.imp"
L_0060:;
#line 308 "regression-compile-tmp/gpm.imp"
L = (((int)(ST[X])) - (1));
#line 308 "regression-compile-tmp/gpm.imp"
L_0061:;
                                                                //    309     %if l>0 %then %start
#line 309 "regression-compile-tmp/gpm.imp"
if (((L) <= (0))) goto L_0062;
                                                                //    310       print symbol(st(x+k)) %for k=1, 1, l
#line 310 "regression-compile-tmp/gpm.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = L; K = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle K = 1, 1, L");
K -= _increment; _control -= _increment;
L_0063:;
if (K == _final) goto L_0064;
K += _increment; _control += _increment;
if (K != _control) _imp_signal(4,2,0,"Corrupt control variable K"); /* FOR loop control variable corrupted */
}
#line 310 "regression-compile-tmp/gpm.imp"
_imp_PRINTSYMBOL(ST[(((int)(X)) + (K))]);
#line 310 "regression-compile-tmp/gpm.imp"
goto L_0063;
#line 310 "regression-compile-tmp/gpm.imp"
L_0064:;
                                                                //    311     %finish
#line 311 "regression-compile-tmp/gpm.imp"
L_0062:;
                                                                //    312     %if st(x)=0 %then print string("...    (incomplete)")
#line 312 "regression-compile-tmp/gpm.imp"
if (((ST[X]) != (0))) goto L_0066;
#line 312 "regression-compile-tmp/gpm.imp"
_imp_PRINTSTRING(_imp_str_literal("...    (incomplete)"));
#line 312 "regression-compile-tmp/gpm.imp"
L_0066:;
                                                                //    313  %end
#line 313 "regression-compile-tmp/gpm.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ITEM at level 3
                                                                //    314  
                                                                //    315  %end
#line 315 "regression-compile-tmp/gpm.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MONITOR at level 2
                                                                //    316  
                                                                //    317  %endofprogram
#line 317 "regression-compile-tmp/gpm.imp"
/* Remove %on %event handler here if present for this block */
return 0;
} // End of block _imp_main at level 1
#line 317 "regression-compile-tmp/gpm.imp"
// End of file
