#include <perms.h>

                                                                //      1  !Graham Toal - new development version of SKIMPD 13/02/80 13.27
                                                                //      2  
                                                                //      3  %const %string (1) snl = "
#line 3 "regression-compile-tmp/skimpd.imp"
const _imp_string /*%string(1)*/ SNL = _imp_str_literal("\n");
                                                                //      4  "
                                                                //      5  
                                                                //      6  %external %integer %array %spec a(1 : 500)
#line 6 "regression-compile-tmp/skimpd.imp"
extern int A[500];
                                                                //      7  
                                                                //      8  %external %byte %integer %array %spec named(1 : 1024)
#line 8 "regression-compile-tmp/skimpd.imp"
extern unsigned char NAMED[1024];
                                                                //      9  
                                                                //     10  %external %integer %array %spec namedlink(0 : 255)
#line 10 "regression-compile-tmp/skimpd.imp"
extern int NAMEDLINK[256];
                                                                //     11  
                                                                //     12  %external %integer %array %spec taglink(0 : 255)
#line 12 "regression-compile-tmp/skimpd.imp"
extern int TAGLINK[256];
                                                                //     13  
                                                                //     14  %external %integer %array %spec tag(1 : 512)
#line 14 "regression-compile-tmp/skimpd.imp"
extern int TAG[512];
                                                                //     15  
                                                                //     16  %external %integer %array %spec link(1 : 512)
#line 16 "regression-compile-tmp/skimpd.imp"
extern int LINK[512];
                                                                //     17  
                                                                //     18  %external %integer %array %spec nextrad(0 : 15)
#line 18 "regression-compile-tmp/skimpd.imp"
extern int NEXTRAD[16];
                                                                //     19  
                                                                //     20  %external %integer %array %spec rt(0 : 15)
#line 20 "regression-compile-tmp/skimpd.imp"
extern int RT[16];
                                                                //     21  
                                                                //     22  %external %integer %array %spec parms(0 : 15)
#line 22 "regression-compile-tmp/skimpd.imp"
extern int PARMS[16];
                                                                //     23  
                                                                //     24  %external %string (5) %array %spec display(0 : 15)
#line 24 "regression-compile-tmp/skimpd.imp"
extern _imp_string /*%string(5)*/ DISPLAY[16];
                                                                //     25  
                                                                //     26  %external %integer faults = 0
#line 26 "regression-compile-tmp/skimpd.imp"
int FAULTS = 0;
                                                                //     27  %external %integer %spec tagasl, level, tagsopt, nextcad, namedp, %c
#line 27 "regression-compile-tmp/skimpd.imp"
extern int TAGASL;
#line 27 "regression-compile-tmp/skimpd.imp"
extern int LEVEL;
#line 27 "regression-compile-tmp/skimpd.imp"
extern int TAGSOPT;
#line 27 "regression-compile-tmp/skimpd.imp"
extern int NEXTCAD;
#line 27 "regression-compile-tmp/skimpd.imp"
extern int NAMEDP;
#line 27 "regression-compile-tmp/skimpd.imp"
extern int TRACEOPT;
#line 27 "regression-compile-tmp/skimpd.imp"
extern int AOPT;
#line 27 "regression-compile-tmp/skimpd.imp"
extern int PSTR;
                                                                //     28   traceopt, aopt, pstr
                                                                //     29  !-----------------------------------------------------------------------
                                                                //     30  %external %integer %fn %spec intstr(%string (6) val)
#line 30 "regression-compile-tmp/skimpd.imp"
extern int INTSTR( _imp_string /*%string(6)*/ VAL );
                                                                //     31  %external %routine %spec expr(%integer exprp)
#line 31 "regression-compile-tmp/skimpd.imp"
extern void EXPR( int EXPRP );
                                                                //     32  %routine %spec popitem(%integer %name f, l)
#line 32 "regression-compile-tmp/skimpd.imp"
void POPITEM( int /*name*/*F, int /*name*/*L );
                                                                //     33  ! Local
                                                                //     34  %external %integer %fn %spec outstream
#line 34 "regression-compile-tmp/skimpd.imp"
extern int OUTSTREAM( void );
                                                                //     35  !-----------------------------------------------------------------------
                                                                //     36  %own %integer %array used(0 : 15) = 0(*)
#line 36 "regression-compile-tmp/skimpd.imp"
static int USED[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  };
                                                                //     37  
                                                                //     38  %own %integer %array worklist(0 : 15) = 0(16)
#line 38 "regression-compile-tmp/skimpd.imp"
static int WORKLIST[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  };
                                                                //     39  
                                                                //     40  %own %integer %array namelist(0 : 15) = 0(16)
#line 40 "regression-compile-tmp/skimpd.imp"
static int NAMELIST[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  };
                                                                //     41  
                                                                //     42  %own %integer %array branchlist(0 : 15) = 0(16)
#line 42 "regression-compile-tmp/skimpd.imp"
static int BRANCHLIST[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  };
                                                                //     43  
                                                                //     44  %own %integer %array startlist(0 : 15) = 0(16)
#line 44 "regression-compile-tmp/skimpd.imp"
static int STARTLIST[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  };
                                                                //     45  
                                                                //     46  %own %integer %array cot(0 : 127)
#line 46 "regression-compile-tmp/skimpd.imp"
static int COT[128];
                                                                //     47  
                                                                //     48  %own %integer cotp, params
#line 48 "regression-compile-tmp/skimpd.imp"
static int COTP;
#line 48 "regression-compile-tmp/skimpd.imp"
static int PARAMS;
                                                                //     49  !-----------------------------------------------------------------------
                                                                //     50  %external %string (255) %fn strint(%integer n, p)
#line 50 "regression-compile-tmp/skimpd.imp"
_imp_string /*%string(255)*/ STRINT( int N, int P )
#line 50 "regression-compile-tmp/skimpd.imp"
{
                                                                //     51     %string (255) r
#line 51 "regression-compile-tmp/skimpd.imp"
_imp_string /*%string(255)*/ R;
                                                                //     52     %string (1) s
#line 52 "regression-compile-tmp/skimpd.imp"
_imp_string /*%string(1)*/ S;
                                                                //     53     %if n < 0 %then s = "-" %and n = -n %else s = ""
#line 53 "regression-compile-tmp/skimpd.imp"
if (((N) >= (0))) goto L_0002;
#line 53 "regression-compile-tmp/skimpd.imp"
S = _imp_str_literal("-");
#line 53 "regression-compile-tmp/skimpd.imp"
N = (-(N));
#line 53 "regression-compile-tmp/skimpd.imp"
goto L_0003;
#line 53 "regression-compile-tmp/skimpd.imp"
L_0002:;
#line 53 "regression-compile-tmp/skimpd.imp"
S = _imp_str_literal("");
#line 53 "regression-compile-tmp/skimpd.imp"
L_0003:;
                                                                //     54     r = ""
#line 54 "regression-compile-tmp/skimpd.imp"
R = _imp_str_literal("");
                                                                //     55     r = tostring(n - n // 10 * 10 + '0') . r %and n = n // 10 %until n = 0
#line 55 "regression-compile-tmp/skimpd.imp"
L_0004:;
#line 55 "regression-compile-tmp/skimpd.imp"
R = _imp_join((_imp_string)_imp_TOSTRING((((int)(((N) - (((((long)((long)((int)(N)) / (long)((int)(10))))) * (10)))))) + (48))),(_imp_string)R);
#line 55 "regression-compile-tmp/skimpd.imp"
N = (long)((long)((int)(N)) / (long)((int)(10)));
#line 55 "regression-compile-tmp/skimpd.imp"
if (((N) == (0))) goto L_0005;
#line 55 "regression-compile-tmp/skimpd.imp"
goto L_0004;
#line 55 "regression-compile-tmp/skimpd.imp"
L_0005:;
                                                                //     56     r = s . r
#line 56 "regression-compile-tmp/skimpd.imp"
R = _imp_join((_imp_string)S,(_imp_string)R);
                                                                //     57     r = " " . r %while length(r) < p
#line 57 "regression-compile-tmp/skimpd.imp"
L_0007:;
#line 57 "regression-compile-tmp/skimpd.imp"
if (((*_imp_LENGTH(&R)) >= (P))) goto L_0008;
#line 57 "regression-compile-tmp/skimpd.imp"
R = _imp_join((_imp_string)_imp_str_literal(" "),(_imp_string)R);
#line 57 "regression-compile-tmp/skimpd.imp"
goto L_0007;
#line 57 "regression-compile-tmp/skimpd.imp"
L_0008:;
                                                                //     58     %result = r
#line 58 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return R;
                                                                //     59  %end
#line 59 "regression-compile-tmp/skimpd.imp"
} // End of block STRINT at level 1
                                                                //     60  !-----------------------------------------------------------------------
                                                                //     61  %external %string (7) %fn s(%integer i)
#line 61 "regression-compile-tmp/skimpd.imp"
_imp_string /*%string(7)*/ S( int I )
#line 61 "regression-compile-tmp/skimpd.imp"
{
                                                                //     62     %result = strint(i, 0)
#line 62 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return STRINT(I, 0);
                                                                //     63  %end
#line 63 "regression-compile-tmp/skimpd.imp"
} // End of block S at level 1
                                                                //     64  !-----------------------------------------------------------------------
                                                                //     65  %external %string (8) %fn strhex(%integer n)
#line 65 "regression-compile-tmp/skimpd.imp"
_imp_string /*%string(8)*/ STRHEX( int N )
#line 65 "regression-compile-tmp/skimpd.imp"
{
                                                                //     66     %const %string (1) %array h(0 : 15) = %c
#line 66 "regression-compile-tmp/skimpd.imp"
const _imp_string /*%string(1)*/ H[16] = { _imp_str_literal("0"), _imp_str_literal("1"), _imp_str_literal("2"), _imp_str_literal("3"), _imp_str_literal("4"), _imp_str_literal("5"), _imp_str_literal("6"), _imp_str_literal("7"), _imp_str_literal("8"), _imp_str_literal("9"), _imp_str_literal("A"), _imp_str_literal("B"), _imp_str_literal("C"), _imp_str_literal("D"), _imp_str_literal("E"), _imp_str_literal("F"),  };
                                                                //     67  "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"
                                                                //     68  
                                                                //     69     %integer i
#line 69 "regression-compile-tmp/skimpd.imp"
int I;
                                                                //     70     %string (8) sh
#line 70 "regression-compile-tmp/skimpd.imp"
_imp_string /*%string(8)*/ SH;
                                                                //     71     sh = ""
#line 71 "regression-compile-tmp/skimpd.imp"
SH = _imp_str_literal("");
                                                                //     72     %for i = 1, 1, 8 %cycle
#line 72 "regression-compile-tmp/skimpd.imp"
I = 0;
if ((((8)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, 8");
L_000a:;
if (I == 8) goto L_000b;
I += 1;
                                                                //     73        sh = h(n & 16_F) . sh
#line 73 "regression-compile-tmp/skimpd.imp"
SH = _imp_join((_imp_string)H[((N) & (15))],(_imp_string)SH);
                                                                //     74        n = n >> 4
#line 74 "regression-compile-tmp/skimpd.imp"
N = (int)((((unsigned int)(N)) >> (4)));
                                                                //     75     %repeat
#line 75 "regression-compile-tmp/skimpd.imp"
goto L_000a;
#line 75 "regression-compile-tmp/skimpd.imp"
L_000b:;
                                                                //     76     %result = sh
#line 76 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return SH;
                                                                //     77  %end
#line 77 "regression-compile-tmp/skimpd.imp"
} // End of block STRHEX at level 1
                                                                //     78  !-----------------------------------------------------------------------
                                                                //     79  %external %routine fault(%string (63) mess)
#line 79 "regression-compile-tmp/skimpd.imp"
void FAULT( _imp_string /*%string(63)*/ MESS )
#line 79 "regression-compile-tmp/skimpd.imp"
{
                                                                //     80     %integer st
#line 80 "regression-compile-tmp/skimpd.imp"
int ST;
                                                                //     81     printstring("?  " . mess . "
#line 81 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("?  "),(_imp_string)MESS),(_imp_string)_imp_str_literal("\n\n")));
                                                                //     82  
                                                                //     83  ")
                                                                //     84     st = outstream
#line 84 "regression-compile-tmp/skimpd.imp"
ST = OUTSTREAM();
                                                                //     85     selectoutput(0)
#line 85 "regression-compile-tmp/skimpd.imp"
_imp_SELECTOUTPUT(0);
                                                                //     86     printstring("*" . mess . snl)
#line 86 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("*"),(_imp_string)MESS),(_imp_string)SNL));
                                                                //     87     selectoutput(st)
#line 87 "regression-compile-tmp/skimpd.imp"
_imp_SELECTOUTPUT(ST);
                                                                //     88     faults = faults + 1
#line 88 "regression-compile-tmp/skimpd.imp"
FAULTS = (((int)(FAULTS)) + (1));
                                                                //     89  %end
#line 89 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FAULT at level 1
                                                                //     90  !-----------------------------------------------------------------------
                                                                //     91  %external %routine dump(%string (7) lab, op, reg, addr)
#line 91 "regression-compile-tmp/skimpd.imp"
void DUMP( _imp_string /*%string(7)*/ LAB, _imp_string /*%string(7)*/ OP, _imp_string /*%string(7)*/ REG, _imp_string /*%string(7)*/ ADDR )
#line 91 "regression-compile-tmp/skimpd.imp"
{
                                                                //     92     %own %string (7) label = ""
#line 92 "regression-compile-tmp/skimpd.imp"
static _imp_string /*%string(7)*/ LABEL = _imp_str_literal("");
                                                                //     93     %routine %spec codeout(%string (7) l, o, r, a)
#line 93 "regression-compile-tmp/skimpd.imp"
auto void CODEOUT( _imp_string /*%string(7)*/ L, _imp_string /*%string(7)*/ O, _imp_string /*%string(7)*/ R, _imp_string /*%string(7)*/ A );
                                                                //     94     %if label # "" %start
#line 94 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(LABEL, _imp_str_literal("")) == 0)) goto L_000d;
                                                                //     95        %if lab = "" %then lab = label %else %start
#line 95 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(LAB, _imp_str_literal("")) != 0)) goto L_000e;
#line 95 "regression-compile-tmp/skimpd.imp"
LAB = LABEL;
#line 95 "regression-compile-tmp/skimpd.imp"
goto L_000f;
#line 95 "regression-compile-tmp/skimpd.imp"
L_000e:;
                                                                //     96           codeout(label, "EQU", "", "*")
#line 96 "regression-compile-tmp/skimpd.imp"
CODEOUT(LABEL, _imp_str_literal("EQU"), _imp_str_literal(""), _imp_str_literal("*"));
                                                                //     97           label = ""
#line 97 "regression-compile-tmp/skimpd.imp"
LABEL = _imp_str_literal("");
                                                                //     98        %finish
#line 98 "regression-compile-tmp/skimpd.imp"
L_000f:;
                                                                //     99     %finish
#line 99 "regression-compile-tmp/skimpd.imp"
L_000d:;
                                                                //    100     %if (op = "ADD" %or op = "SUB" %or op = "EOR" %or op = "OR") %and addr = "#0" %then %return
#line 100 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("ADD")) == 0)) goto L_000c;
#line 100 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("SUB")) == 0)) goto L_000c;
#line 100 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("EOR")) == 0)) goto L_000c;
#line 100 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("OR")) != 0)) goto L_0010;
#line 100 "regression-compile-tmp/skimpd.imp"
L_000c:;
#line 100 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(ADDR, _imp_str_literal("#0")) != 0)) goto L_0010;
#line 100 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 100 "regression-compile-tmp/skimpd.imp"
L_0010:;
                                                                //    101     %if (op = "AND" %or op = "LD") %and reg # "D" %and addr = "#0" %then op = "CLR" %and addr = ""
#line 101 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("AND")) == 0)) goto L_0011;
#line 101 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("LD")) != 0)) goto L_0012;
#line 101 "regression-compile-tmp/skimpd.imp"
L_0011:;
#line 101 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(REG, _imp_str_literal("D")) == 0)) goto L_0012;
#line 101 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(ADDR, _imp_str_literal("#0")) != 0)) goto L_0012;
#line 101 "regression-compile-tmp/skimpd.imp"
OP = _imp_str_literal("CLR");
#line 101 "regression-compile-tmp/skimpd.imp"
ADDR = _imp_str_literal("");
#line 101 "regression-compile-tmp/skimpd.imp"
L_0012:;
                                                                //    102     %if op = "ADD" %and addr = "#1" %and reg # "D" %then %start
#line 102 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("ADD")) != 0)) goto L_0013;
#line 102 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(ADDR, _imp_str_literal("#1")) != 0)) goto L_0013;
#line 102 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(REG, _imp_str_literal("D")) == 0)) goto L_0013;
                                                                //    103        op = "INC"
#line 103 "regression-compile-tmp/skimpd.imp"
OP = _imp_str_literal("INC");
                                                                //    104        addr = ""
#line 104 "regression-compile-tmp/skimpd.imp"
ADDR = _imp_str_literal("");
                                                                //    105     %finish
#line 105 "regression-compile-tmp/skimpd.imp"
L_0013:;
                                                                //    106     %if op = "SUB" %and addr = "#1" %and reg # "D" %then %start
#line 106 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("SUB")) != 0)) goto L_0014;
#line 106 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(ADDR, _imp_str_literal("#1")) != 0)) goto L_0014;
#line 106 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(REG, _imp_str_literal("D")) == 0)) goto L_0014;
                                                                //    107        op = "DEC"
#line 107 "regression-compile-tmp/skimpd.imp"
OP = _imp_str_literal("DEC");
                                                                //    108        addr = ""
#line 108 "regression-compile-tmp/skimpd.imp"
ADDR = _imp_str_literal("");
                                                                //    109     %finish
#line 109 "regression-compile-tmp/skimpd.imp"
L_0014:;
                                                                //    110     %if op = "CMP" %and addr = "#0" %and reg # "D" %then op = "TST" %and addr = ""
#line 110 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("CMP")) != 0)) goto L_0015;
#line 110 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(ADDR, _imp_str_literal("#0")) != 0)) goto L_0015;
#line 110 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(REG, _imp_str_literal("D")) == 0)) goto L_0015;
#line 110 "regression-compile-tmp/skimpd.imp"
OP = _imp_str_literal("TST");
#line 110 "regression-compile-tmp/skimpd.imp"
ADDR = _imp_str_literal("");
#line 110 "regression-compile-tmp/skimpd.imp"
L_0015:;
                                                                //    111     %if op = "EQU" %and addr = "*" %then label = lab %c
#line 111 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("EQU")) != 0)) goto L_0016;
#line 111 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(ADDR, _imp_str_literal("*")) != 0)) goto L_0016;
#line 111 "regression-compile-tmp/skimpd.imp"
LABEL = LAB;
#line 111 "regression-compile-tmp/skimpd.imp"
goto L_0017;
#line 111 "regression-compile-tmp/skimpd.imp"
L_0016:;
#line 111 "regression-compile-tmp/skimpd.imp"
LABEL = _imp_str_literal("");
#line 111 "regression-compile-tmp/skimpd.imp"
CODEOUT(LAB, OP, REG, ADDR);
#line 111 "regression-compile-tmp/skimpd.imp"
L_0017:;
                                                                //    112     %else label = "" %and codeout(lab, op, reg, addr)
                                                                //    113  
                                                                //    114     %routine codeout(%string (7) lab, op, reg, addr)
#line 114 "regression-compile-tmp/skimpd.imp"
void CODEOUT( _imp_string /*%string(7)*/ LAB, _imp_string /*%string(7)*/ OP, _imp_string /*%string(7)*/ REG, _imp_string /*%string(7)*/ ADDR )
#line 114 "regression-compile-tmp/skimpd.imp"
{
                                                                //    115        %string (6) nums
#line 115 "regression-compile-tmp/skimpd.imp"
_imp_string /*%string(6)*/ NUMS;
                                                                //    116        %integer i
#line 116 "regression-compile-tmp/skimpd.imp"
int I;
                                                                //    117        %routine dump2(%string (7) lab, op, reg, addr)
#line 117 "regression-compile-tmp/skimpd.imp"
void DUMP2( _imp_string /*%string(7)*/ LAB, _imp_string /*%string(7)*/ OP, _imp_string /*%string(7)*/ REG, _imp_string /*%string(7)*/ ADDR )
#line 117 "regression-compile-tmp/skimpd.imp"
{
                                                                //    118           %own %string (7) lastop = "silly"
#line 118 "regression-compile-tmp/skimpd.imp"
static _imp_string /*%string(7)*/ LASTOP = _imp_str_literal("silly");
                                                                //    119           %own %integer inhibit = 0
#line 119 "regression-compile-tmp/skimpd.imp"
static int INHIBIT = 0;
                                                                //    120           %if reg = "B" %and op = "LD" %and addr -> ("#") . nums %c
#line 120 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(REG, _imp_str_literal("B")) != 0)) goto L_0018;
#line 120 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("LD")) != 0)) goto L_0018;
#line 120 "regression-compile-tmp/skimpd.imp"
if (!(_imp_resolve(ADDR, 0 /*NULL*/, _imp_str_literal("#"), &NUMS))) goto L_0018;
#line 120 "regression-compile-tmp/skimpd.imp"
if (_imp_resolve(NUMS, 0 /*NULL*/, _imp_str_literal("-"), &NUMS)) goto L_0018;
#line 120 "regression-compile-tmp/skimpd.imp"
if (((INTSTR(NUMS)) <= (255))) goto L_0018;
#line 120 "regression-compile-tmp/skimpd.imp"
REG = _imp_str_literal("D");
#line 120 "regression-compile-tmp/skimpd.imp"
L_0018:;
                                                                //    121             %and (%not nums -> ("-") . nums) %and intstr(nums) > 255 %then reg = "D"
                                                                //    122           %if lab # "" %then %start
#line 122 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(LAB, _imp_str_literal("")) == 0)) goto L_0019;
                                                                //    123              %if op = "EQU" %and addr = "*" %then inhibit = 0
#line 123 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("EQU")) != 0)) goto L_001a;
#line 123 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(ADDR, _imp_str_literal("*")) != 0)) goto L_001a;
#line 123 "regression-compile-tmp/skimpd.imp"
INHIBIT = 0;
#line 123 "regression-compile-tmp/skimpd.imp"
L_001a:;
                                                                //    124              %if op # "EQU" %then inhibit = 0
#line 124 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("EQU")) == 0)) goto L_001b;
#line 124 "regression-compile-tmp/skimpd.imp"
INHIBIT = 0;
#line 124 "regression-compile-tmp/skimpd.imp"
L_001b:;
                                                                //    125           %finish
#line 125 "regression-compile-tmp/skimpd.imp"
L_0019:;
                                                                //    126           %if inhibit = 0 %or op = "EQU" %then %start
#line 126 "regression-compile-tmp/skimpd.imp"
if (((INHIBIT) == (0))) goto L_001c;
#line 126 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("EQU")) != 0)) goto L_001d;
#line 126 "regression-compile-tmp/skimpd.imp"
L_001c:;
                                                                //    127              lastop = op
#line 127 "regression-compile-tmp/skimpd.imp"
LASTOP = OP;
                                                                //    128              %return %if op = "TST" %and reg = "B" %and lab = ""
#line 128 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("TST")) != 0)) goto L_001e;
#line 128 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(REG, _imp_str_literal("B")) != 0)) goto L_001e;
#line 128 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(LAB, _imp_str_literal("")) != 0)) goto L_001e;
#line 128 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 128 "regression-compile-tmp/skimpd.imp"
L_001e:;
                                                                //    129              !   ****FRIG****
                                                                //    130              %if op = "CMP" %and addr = "#1" %then addr = "" %and op = "DEC"
#line 130 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("CMP")) != 0)) goto L_001f;
#line 130 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(ADDR, _imp_str_literal("#1")) != 0)) goto L_001f;
#line 130 "regression-compile-tmp/skimpd.imp"
ADDR = _imp_str_literal("");
#line 130 "regression-compile-tmp/skimpd.imp"
OP = _imp_str_literal("DEC");
#line 130 "regression-compile-tmp/skimpd.imp"
L_001f:;
                                                                //    131              printstring(lab)
#line 131 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSTRING(LAB);
                                                                //    132              spaces(10 - length(lab))
#line 132 "regression-compile-tmp/skimpd.imp"
_imp_SPACES(((10) - (*(int *)(_imp_LENGTH(&LAB)))));
                                                                //    133              op = op . reg
#line 133 "regression-compile-tmp/skimpd.imp"
OP = _imp_join((_imp_string)OP,(_imp_string)REG);
                                                                //    134              printstring(op)
#line 134 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSTRING(OP);
                                                                //    135              spaces(10 - length(op))
#line 135 "regression-compile-tmp/skimpd.imp"
_imp_SPACES(((10) - (*(int *)(_imp_LENGTH(&OP)))));
                                                                //    136              printstring(addr)
#line 136 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSTRING(ADDR);
                                                                //    137              newline
#line 137 "regression-compile-tmp/skimpd.imp"
_imp_NEWLINE();
                                                                //    138              nextcad = nextcad + 1
#line 138 "regression-compile-tmp/skimpd.imp"
NEXTCAD = (((int)(NEXTCAD)) + (1));
                                                                //    139           %finish
#line 139 "regression-compile-tmp/skimpd.imp"
L_001d:;
                                                                //    140           %if op = "LBRA" %or op = "SWI2" %or (op = "SWI" %and reg = "2") %c
#line 140 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("LBRA")) == 0)) goto L_0020;
#line 140 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("SWI2")) == 0)) goto L_0020;
#line 140 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("SWI")) != 0)) goto L_0021;
#line 140 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(REG, _imp_str_literal("2")) != 0)) goto L_0021;
#line 140 "regression-compile-tmp/skimpd.imp"
L_0020:;
#line 140 "regression-compile-tmp/skimpd.imp"
INHIBIT = 1;
#line 140 "regression-compile-tmp/skimpd.imp"
L_0021:;
                                                                //    141             %then inhibit = 1
                                                                //    142           %return %unless op = "LBSR"
#line 142 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("LBSR")) == 0)) goto L_0022;
#line 142 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 142 "regression-compile-tmp/skimpd.imp"
L_0022:;
                                                                //    143           %if addr = "SHL" %then used(12) = 1
#line 143 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(ADDR, _imp_str_literal("SHL")) != 0)) goto L_0023;
#line 143 "regression-compile-tmp/skimpd.imp"
USED[12] = 1;
#line 143 "regression-compile-tmp/skimpd.imp"
L_0023:;
                                                                //    144           %if addr = "SHR" %then used(13) = 1
#line 144 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(ADDR, _imp_str_literal("SHR")) != 0)) goto L_0024;
#line 144 "regression-compile-tmp/skimpd.imp"
USED[13] = 1;
#line 144 "regression-compile-tmp/skimpd.imp"
L_0024:;
                                                                //    145           %if addr = "EXP" %then used(14) = 1
#line 145 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(ADDR, _imp_str_literal("EXP")) != 0)) goto L_0025;
#line 145 "regression-compile-tmp/skimpd.imp"
USED[14] = 1;
#line 145 "regression-compile-tmp/skimpd.imp"
L_0025:;
                                                                //    146           %if addr = "DIV" %then used(15) = 1
#line 146 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(ADDR, _imp_str_literal("DIV")) != 0)) goto L_0026;
#line 146 "regression-compile-tmp/skimpd.imp"
USED[15] = 1;
#line 146 "regression-compile-tmp/skimpd.imp"
L_0026:;
                                                                //    147        %end
#line 147 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DUMP2 at level 3
                                                                //    148        %own %string (7) %array l(1 : 2) = ""(2)
#line 148 "regression-compile-tmp/skimpd.imp"
static _imp_string /*%string(7)*/ L[2] = { _imp_str_literal(""), _imp_str_literal(""),  };
                                                                //    149  
                                                                //    150        %own %string (7) %array o(1 : 2) = ""(2)
#line 150 "regression-compile-tmp/skimpd.imp"
static _imp_string /*%string(7)*/ O[2] = { _imp_str_literal(""), _imp_str_literal(""),  };
                                                                //    151  
                                                                //    152        %own %string (7) %array r(1 : 2) = ""(2)
#line 152 "regression-compile-tmp/skimpd.imp"
static _imp_string /*%string(7)*/ R[2] = { _imp_str_literal(""), _imp_str_literal(""),  };
                                                                //    153  
                                                                //    154        %own %string (7) %array a(1 : 2) = ""(2)
#line 154 "regression-compile-tmp/skimpd.imp"
static _imp_string /*%string(7)*/ A[2] = { _imp_str_literal(""), _imp_str_literal(""),  };
                                                                //    155  
                                                                //    156        %own %integer buffptr = 0
#line 156 "regression-compile-tmp/skimpd.imp"
static int BUFFPTR = 0;
                                                                //    157        %switch load(0:2)
#line 157 "regression-compile-tmp/skimpd.imp"
static int sw1_LOAD_idx;
static const void * /*SWITCH*/ sw1_LOAD[3] = { &&sw1_LOAD_0, &&sw1_LOAD_1, &&sw1_LOAD_2,  };
                                                                //    158        %switch store(0:2)
#line 158 "regression-compile-tmp/skimpd.imp"
static int sw2_STORE_idx;
static const void * /*SWITCH*/ sw2_STORE[3] = { &&sw2_STORE_0, &&sw2_STORE_1, &&sw2_STORE_2,  };
                                                                //    159        %routine flushbuffer
#line 159 "regression-compile-tmp/skimpd.imp"
void FLUSHBUFFER( void )
#line 159 "regression-compile-tmp/skimpd.imp"
{
                                                                //    160           %integer i
#line 160 "regression-compile-tmp/skimpd.imp"
int I;
                                                                //    161           %for i = 1, 1, buffptr %cycle
#line 161 "regression-compile-tmp/skimpd.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = BUFFPTR; I = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, BUFFPTR");
I -= _increment; _control -= _increment;
L_0027:;
if (I == _final) goto L_0028;
I += _increment; _control += _increment;
if (I != _control) _imp_signal(4,2,0,"Corrupt control variable I"); /* FOR loop control variable corrupted */
}
                                                                //    162              dump2(l(i), o(i), r(i), a(i))
#line 162 "regression-compile-tmp/skimpd.imp"
DUMP2((L-1)[I], (O-1)[I], (R-1)[I], (A-1)[I]);
                                                                //    163           %repeat
#line 163 "regression-compile-tmp/skimpd.imp"
goto L_0027;
#line 163 "regression-compile-tmp/skimpd.imp"
L_0028:;
                                                                //    164           buffptr = 0
#line 164 "regression-compile-tmp/skimpd.imp"
BUFFPTR = 0;
                                                                //    165        %end
#line 165 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FLUSHBUFFER at level 3
                                                                //    166        %routine checklabel(%integer buff)
#line 166 "regression-compile-tmp/skimpd.imp"
void CHECKLABEL( int BUFF )
#line 166 "regression-compile-tmp/skimpd.imp"
{
                                                                //    167           %if buff = 3 %then %start
#line 167 "regression-compile-tmp/skimpd.imp"
if (((BUFF) != (3))) goto L_002a;
                                                                //    168              %if lab # "" %then dump2(lab, "EQU", "", "*")
#line 168 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(LAB, _imp_str_literal("")) == 0)) goto L_002b;
#line 168 "regression-compile-tmp/skimpd.imp"
DUMP2(LAB, _imp_str_literal("EQU"), _imp_str_literal(""), _imp_str_literal("*"));
#line 168 "regression-compile-tmp/skimpd.imp"
L_002b:;
                                                                //    169              %return
#line 169 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    170           %finish
#line 170 "regression-compile-tmp/skimpd.imp"
L_002a:;
                                                                //    171           %if l(buff) # "" %then dump2(l(buff), "EQU", "", "*")
#line 171 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp((L-1)[BUFF], _imp_str_literal("")) == 0)) goto L_002c;
#line 171 "regression-compile-tmp/skimpd.imp"
DUMP2((L-1)[BUFF], _imp_str_literal("EQU"), _imp_str_literal(""), _imp_str_literal("*"));
#line 171 "regression-compile-tmp/skimpd.imp"
L_002c:;
                                                                //    172        %end
#line 172 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CHECKLABEL at level 3
                                                                //    173        %routine savethisinstr
#line 173 "regression-compile-tmp/skimpd.imp"
void SAVETHISINSTR( void )
#line 173 "regression-compile-tmp/skimpd.imp"
{
                                                                //    174           buffptr = buffptr + 1
#line 174 "regression-compile-tmp/skimpd.imp"
BUFFPTR = (((int)(BUFFPTR)) + (1));
                                                                //    175           %if buffptr > 2 %then %start
#line 175 "regression-compile-tmp/skimpd.imp"
if (((BUFFPTR) <= (2))) goto L_002d;
                                                                //    176              printstring("*?????Buffer full..." . snl)
#line 176 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_str_literal("*?????Buffer full..."),(_imp_string)SNL));
                                                                //    177              flushbuffer
#line 177 "regression-compile-tmp/skimpd.imp"
FLUSHBUFFER();
                                                                //    178           %finish
#line 178 "regression-compile-tmp/skimpd.imp"
L_002d:;
                                                                //    179           l(buffptr) = lab
#line 179 "regression-compile-tmp/skimpd.imp"
(L-1)[BUFFPTR] = LAB;
                                                                //    180           o(buffptr) = op
#line 180 "regression-compile-tmp/skimpd.imp"
(O-1)[BUFFPTR] = OP;
                                                                //    181           r(buffptr) = reg
#line 181 "regression-compile-tmp/skimpd.imp"
(R-1)[BUFFPTR] = REG;
                                                                //    182           a(buffptr) = addr
#line 182 "regression-compile-tmp/skimpd.imp"
(A-1)[BUFFPTR] = ADDR;
                                                                //    183        %end
#line 183 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SAVETHISINSTR at level 3
                                                                //    184        %if op = "SEX" %and buffptr # 0 %and o(buffptr) = "LD" %c
#line 184 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("SEX")) != 0)) goto L_002e;
#line 184 "regression-compile-tmp/skimpd.imp"
if (((BUFFPTR) == (0))) goto L_002e;
#line 184 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp((O-1)[BUFFPTR], _imp_str_literal("LD")) != 0)) goto L_002e;
#line 184 "regression-compile-tmp/skimpd.imp"
if (!(_imp_resolve((A-1)[BUFFPTR], 0 /*NULL*/, _imp_str_literal("#"), &NUMS))) goto L_002e;
#line 184 "regression-compile-tmp/skimpd.imp"
if (_imp_resolve(NUMS, 0 /*NULL*/, _imp_str_literal("-"), &NUMS)) goto L_002e;
#line 184 "regression-compile-tmp/skimpd.imp"
if (((INTSTR(NUMS)) <= (255))) goto L_002e;
#line 184 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 184 "regression-compile-tmp/skimpd.imp"
L_002e:;
                                                                //    185        %and a(buffptr) -> ("#") . nums %and (%not nums -> ("-") . nums) %c
                                                                //    186        %and intstr(nums) > 255 %then %return
                                                                //    187        %if reg # "B" %then %start
#line 187 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(REG, _imp_str_literal("B")) == 0)) goto L_002f;
                                                                //    188           flushbuffer
#line 188 "regression-compile-tmp/skimpd.imp"
FLUSHBUFFER();
                                                                //    189           dump2(lab, op, reg, addr)
#line 189 "regression-compile-tmp/skimpd.imp"
DUMP2(LAB, OP, REG, ADDR);
                                                                //    190           %return
#line 190 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    191        %finish
#line 191 "regression-compile-tmp/skimpd.imp"
L_002f:;
                                                                //    192        %if op = "LD" %then %start
#line 192 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("LD")) != 0)) goto L_0030;
                                                                //    193           -> load(buffptr)
#line 193 "regression-compile-tmp/skimpd.imp"
sw1_LOAD_idx = BUFFPTR; if ((0 <= sw1_LOAD_idx) && (sw1_LOAD_idx <= 2)) goto *sw1_LOAD[sw1_LOAD_idx]; else {
   /*_imp_signal(8, 2, sw1_LOAD_idx);*/
   fprintf(stderr, "%%SWITCH index LOAD(%d) not in range 0:2 at %s:%d\n",
           sw1_LOAD_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //    194  load(0): 
#line 194 "regression-compile-tmp/skimpd.imp"
sw1_LOAD_0:;
                                                                //    195           savethisinstr
#line 195 "regression-compile-tmp/skimpd.imp"
SAVETHISINSTR();
                                                                //    196           %return
#line 196 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    197  load(1): 
#line 197 "regression-compile-tmp/skimpd.imp"
sw1_LOAD_1:;
                                                                //    198           %if o(1) = "LD" %then checklabel(1) %and buffptr = 0 %else %start
#line 198 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp((O-1)[1], _imp_str_literal("LD")) != 0)) goto L_0031;
#line 198 "regression-compile-tmp/skimpd.imp"
CHECKLABEL(1);
#line 198 "regression-compile-tmp/skimpd.imp"
BUFFPTR = 0;
#line 198 "regression-compile-tmp/skimpd.imp"
goto L_0032;
#line 198 "regression-compile-tmp/skimpd.imp"
L_0031:;
                                                                //    199              %if o(1) = "ST" %and a(1) = addr %then %start
#line 199 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp((O-1)[1], _imp_str_literal("ST")) != 0)) goto L_0033;
#line 199 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp((A-1)[1], ADDR) != 0)) goto L_0033;
                                                                //    200                 %if lab # "" %then %start
#line 200 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(LAB, _imp_str_literal("")) == 0)) goto L_0034;
                                                                //    201                    flushbuffer
#line 201 "regression-compile-tmp/skimpd.imp"
FLUSHBUFFER();
                                                                //    202                    savethisinstr
#line 202 "regression-compile-tmp/skimpd.imp"
SAVETHISINSTR();
                                                                //    203                    %return
#line 203 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    204                 %finish %else %return
#line 204 "regression-compile-tmp/skimpd.imp"
L_0034:;
#line 204 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    205              %finish
#line 205 "regression-compile-tmp/skimpd.imp"
L_0033:;
                                                                //    206           %finish
#line 206 "regression-compile-tmp/skimpd.imp"
L_0032:;
                                                                //    207           savethisinstr
#line 207 "regression-compile-tmp/skimpd.imp"
SAVETHISINSTR();
                                                                //    208           %return
#line 208 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    209  load(2): 
#line 209 "regression-compile-tmp/skimpd.imp"
sw1_LOAD_2:;
                                                                //    210           dump2(l(1), o(1), r(1), a(1))
#line 210 "regression-compile-tmp/skimpd.imp"
DUMP2((L-1)[1], (O-1)[1], (R-1)[1], (A-1)[1]);
                                                                //    211           l(1) = l(2)
#line 211 "regression-compile-tmp/skimpd.imp"
(L-1)[1] = (L-1)[2];
                                                                //    212           r(1) = r(2)
#line 212 "regression-compile-tmp/skimpd.imp"
(R-1)[1] = (R-1)[2];
                                                                //    213           o(1) = o(2)
#line 213 "regression-compile-tmp/skimpd.imp"
(O-1)[1] = (O-1)[2];
                                                                //    214           a(1) = a(2)
#line 214 "regression-compile-tmp/skimpd.imp"
(A-1)[1] = (A-1)[2];
                                                                //    215           buffptr = 1
#line 215 "regression-compile-tmp/skimpd.imp"
BUFFPTR = 1;
                                                                //    216           printstring("?***** Unexpected third el = load" . snl)
#line 216 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_str_literal("?***** Unexpected third el = load"),(_imp_string)SNL));
                                                                //    217           -> load(1)
#line 217 "regression-compile-tmp/skimpd.imp"
sw1_LOAD_idx = 1; goto *sw1_LOAD[sw1_LOAD_idx]; 
                                                                //    218        %finish
#line 218 "regression-compile-tmp/skimpd.imp"
L_0030:;
                                                                //    219        %if op = "ST" %then %start
#line 219 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("ST")) != 0)) goto L_0035;
                                                                //    220           -> store(buffptr)
#line 220 "regression-compile-tmp/skimpd.imp"
sw2_STORE_idx = BUFFPTR; if ((0 <= sw2_STORE_idx) && (sw2_STORE_idx <= 2)) goto *sw2_STORE[sw2_STORE_idx]; else {
   /*_imp_signal(8, 2, sw2_STORE_idx);*/
   fprintf(stderr, "%%SWITCH index STORE(%d) not in range 0:2 at %s:%d\n",
           sw2_STORE_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //    221  store(0): 
#line 221 "regression-compile-tmp/skimpd.imp"
sw2_STORE_0:;
                                                                //    222           savethisinstr
#line 222 "regression-compile-tmp/skimpd.imp"
SAVETHISINSTR();
                                                                //    223           %return
#line 223 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    224  store(1): 
#line 224 "regression-compile-tmp/skimpd.imp"
sw2_STORE_1:;
                                                                //    225           %if o(1) = "LD" %or o(1) = "ST" %then %start
#line 225 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp((O-1)[1], _imp_str_literal("LD")) == 0)) goto L_0036;
#line 225 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp((O-1)[1], _imp_str_literal("ST")) != 0)) goto L_0037;
#line 225 "regression-compile-tmp/skimpd.imp"
L_0036:;
                                                                //    226              %if a(1) = addr %then %start
#line 226 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp((A-1)[1], ADDR) != 0)) goto L_0038;
                                                                //    227                 %if lab # "" %then %start
#line 227 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(LAB, _imp_str_literal("")) == 0)) goto L_0039;
                                                                //    228                    flushbuffer
#line 228 "regression-compile-tmp/skimpd.imp"
FLUSHBUFFER();
                                                                //    229                    savethisinstr
#line 229 "regression-compile-tmp/skimpd.imp"
SAVETHISINSTR();
                                                                //    230                    %return
#line 230 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    231                 %finish %else %return
#line 231 "regression-compile-tmp/skimpd.imp"
L_0039:;
#line 231 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    232              %finish %else %start
#line 232 "regression-compile-tmp/skimpd.imp"
L_0038:;
                                                                //    233                 flushbuffer
#line 233 "regression-compile-tmp/skimpd.imp"
FLUSHBUFFER();
                                                                //    234                 savethisinstr
#line 234 "regression-compile-tmp/skimpd.imp"
SAVETHISINSTR();
                                                                //    235                 %return
#line 235 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    236              %finish
                                                                //    237           %finish
#line 237 "regression-compile-tmp/skimpd.imp"
L_0037:;
                                                                //    238           %if o(1) = "CLR" %then %start
#line 238 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp((O-1)[1], _imp_str_literal("CLR")) != 0)) goto L_003a;
                                                                //    239              checklabel(1)
#line 239 "regression-compile-tmp/skimpd.imp"
CHECKLABEL(1);
                                                                //    240              buffptr = 0
#line 240 "regression-compile-tmp/skimpd.imp"
BUFFPTR = 0;
                                                                //    241              dump2(lab, "CLR", "", addr)
#line 241 "regression-compile-tmp/skimpd.imp"
DUMP2(LAB, _imp_str_literal("CLR"), _imp_str_literal(""), ADDR);
                                                                //    242              %return
#line 242 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    243           %finish
#line 243 "regression-compile-tmp/skimpd.imp"
L_003a:;
                                                                //    244           flushbuffer
#line 244 "regression-compile-tmp/skimpd.imp"
FLUSHBUFFER();
                                                                //    245           savethisinstr
#line 245 "regression-compile-tmp/skimpd.imp"
SAVETHISINSTR();
                                                                //    246           %return
#line 246 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    247  store(2): 
#line 247 "regression-compile-tmp/skimpd.imp"
sw2_STORE_2:;
                                                                //    248           %if o(1) = "LD" %and a(1) = addr %and (o(2) = "INC" %or o(2) = "DEC" %c
#line 248 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp((O-1)[1], _imp_str_literal("LD")) != 0)) goto L_003b;
#line 248 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp((A-1)[1], ADDR) != 0)) goto L_003b;
#line 248 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp((O-1)[2], _imp_str_literal("INC")) == 0)) goto L_003c;
#line 248 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp((O-1)[2], _imp_str_literal("DEC")) == 0)) goto L_003c;
#line 248 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp((O-1)[2], _imp_str_literal("NEG")) == 0)) goto L_003c;
#line 248 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp((O-1)[2], _imp_str_literal("COM")) != 0)) goto L_003b;
#line 248 "regression-compile-tmp/skimpd.imp"
L_003c:;
                                                                //    249             %or o(2) = "NEG" %or o(2) = "COM") %then %start
                                                                //    250              checklabel(2)
#line 250 "regression-compile-tmp/skimpd.imp"
CHECKLABEL(2);
                                                                //    251              checklabel(3)
#line 251 "regression-compile-tmp/skimpd.imp"
CHECKLABEL(3);
                                                                //    252              dump2(l(1), o(2), "", addr)
#line 252 "regression-compile-tmp/skimpd.imp"
DUMP2((L-1)[1], (O-1)[2], _imp_str_literal(""), ADDR);
                                                                //    253              buffptr = 0
#line 253 "regression-compile-tmp/skimpd.imp"
BUFFPTR = 0;
                                                                //    254              %return
#line 254 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    255           %finish
#line 255 "regression-compile-tmp/skimpd.imp"
L_003b:;
                                                                //    256           dump2(l(1), o(1), r(1), a(1))
#line 256 "regression-compile-tmp/skimpd.imp"
DUMP2((L-1)[1], (O-1)[1], (R-1)[1], (A-1)[1]);
                                                                //    257           l(1) = l(2)
#line 257 "regression-compile-tmp/skimpd.imp"
(L-1)[1] = (L-1)[2];
                                                                //    258           o(1) = o(2)
#line 258 "regression-compile-tmp/skimpd.imp"
(O-1)[1] = (O-1)[2];
                                                                //    259           r(1) = r(2)
#line 259 "regression-compile-tmp/skimpd.imp"
(R-1)[1] = (R-1)[2];
                                                                //    260           a(1) = a(2)
#line 260 "regression-compile-tmp/skimpd.imp"
(A-1)[1] = (A-1)[2];
                                                                //    261           buffptr = 1
#line 261 "regression-compile-tmp/skimpd.imp"
BUFFPTR = 1;
                                                                //    262           -> store(1)
#line 262 "regression-compile-tmp/skimpd.imp"
sw2_STORE_idx = 1; goto *sw2_STORE[sw2_STORE_idx]; 
                                                                //    263        %finish
#line 263 "regression-compile-tmp/skimpd.imp"
L_0035:;
                                                                //    264        %if op = "TST" %then %start
#line 264 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("TST")) != 0)) goto L_003d;
                                                                //    265           %if buffptr # 0 %then %start
#line 265 "regression-compile-tmp/skimpd.imp"
if (((BUFFPTR) == (0))) goto L_003e;
                                                                //    266              %if o(buffptr) = "LD" %then %start
#line 266 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp((O-1)[BUFFPTR], _imp_str_literal("LD")) != 0)) goto L_003f;
                                                                //    267                 dump2(l(buffptr), op, "", a(buffptr))
#line 267 "regression-compile-tmp/skimpd.imp"
DUMP2((L-1)[BUFFPTR], OP, _imp_str_literal(""), (A-1)[BUFFPTR]);
                                                                //    268                 checklabel(3)
#line 268 "regression-compile-tmp/skimpd.imp"
CHECKLABEL(3);
                                                                //    269                 buffptr = buffptr - 1
#line 269 "regression-compile-tmp/skimpd.imp"
BUFFPTR = (((int)(BUFFPTR)) - (1));
                                                                //    270                 %return
#line 270 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    271              %finish
#line 271 "regression-compile-tmp/skimpd.imp"
L_003f:;
                                                                //    272           %finish
#line 272 "regression-compile-tmp/skimpd.imp"
L_003e:;
                                                                //    273           flushbuffer
#line 273 "regression-compile-tmp/skimpd.imp"
FLUSHBUFFER();
                                                                //    274           dump2(lab, op, reg, addr)
#line 274 "regression-compile-tmp/skimpd.imp"
DUMP2(LAB, OP, REG, ADDR);
                                                                //    275           %return
#line 275 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    276        %finish
#line 276 "regression-compile-tmp/skimpd.imp"
L_003d:;
                                                                //    277        %if op = "INC" %or op = "DEC" %or op = "CLR" %or op = "NEG" %c
#line 277 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("INC")) == 0)) goto L_0029;
#line 277 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("DEC")) == 0)) goto L_0029;
#line 277 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("CLR")) == 0)) goto L_0029;
#line 277 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("NEG")) == 0)) goto L_0029;
#line 277 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(OP, _imp_str_literal("COM")) != 0)) goto L_0040;
#line 277 "regression-compile-tmp/skimpd.imp"
L_0029:;
                                                                //    278          %or op = "COM" %then %start
                                                                //    279           %if buffptr = 2 %then %start
#line 279 "regression-compile-tmp/skimpd.imp"
if (((BUFFPTR) != (2))) goto L_0041;
                                                                //    280              dump2(l(1), o(1), r(1), a(1))
#line 280 "regression-compile-tmp/skimpd.imp"
DUMP2((L-1)[1], (O-1)[1], (R-1)[1], (A-1)[1]);
                                                                //    281              l(1) = l(2)
#line 281 "regression-compile-tmp/skimpd.imp"
(L-1)[1] = (L-1)[2];
                                                                //    282              o(1) = o(2)
#line 282 "regression-compile-tmp/skimpd.imp"
(O-1)[1] = (O-1)[2];
                                                                //    283              r(1) = r(2)
#line 283 "regression-compile-tmp/skimpd.imp"
(R-1)[1] = (R-1)[2];
                                                                //    284              a(1) = a(2)
#line 284 "regression-compile-tmp/skimpd.imp"
(A-1)[1] = (A-1)[2];
                                                                //    285              l(2) = lab
#line 285 "regression-compile-tmp/skimpd.imp"
(L-1)[2] = LAB;
                                                                //    286              o(2) = op
#line 286 "regression-compile-tmp/skimpd.imp"
(O-1)[2] = OP;
                                                                //    287              r(2) = reg
#line 287 "regression-compile-tmp/skimpd.imp"
(R-1)[2] = REG;
                                                                //    288              a(2) = addr
#line 288 "regression-compile-tmp/skimpd.imp"
(A-1)[2] = ADDR;
                                                                //    289              buffptr = 2
#line 289 "regression-compile-tmp/skimpd.imp"
BUFFPTR = 2;
                                                                //    290              %return
#line 290 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    291           %finish
#line 291 "regression-compile-tmp/skimpd.imp"
L_0041:;
                                                                //    292           savethisinstr
#line 292 "regression-compile-tmp/skimpd.imp"
SAVETHISINSTR();
                                                                //    293           %return
#line 293 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    294        %finish
#line 294 "regression-compile-tmp/skimpd.imp"
L_0040:;
                                                                //    295        flushbuffer
#line 295 "regression-compile-tmp/skimpd.imp"
FLUSHBUFFER();
                                                                //    296        dump2(lab, op, reg, addr)
#line 296 "regression-compile-tmp/skimpd.imp"
DUMP2(LAB, OP, REG, ADDR);
                                                                //    297     %end
#line 297 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CODEOUT at level 2
                                                                //    298  %end
#line 298 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DUMP at level 1
                                                                //    299  !-----------------------------------------------------------------------
                                                                //    300  %external %string (255) %fn name(%integer ident)
#line 300 "regression-compile-tmp/skimpd.imp"
_imp_string /*%string(255)*/ NAME( int IDENT )
#line 300 "regression-compile-tmp/skimpd.imp"
{
                                                                //    301     %unless 0 <= ident <= 255 %and namedlink(ident) # 0 %then %result = ""
#line 301 "regression-compile-tmp/skimpd.imp"
if ((((0) > (IDENT))) || (((IDENT) > (255)))) goto L_0042;
#line 301 "regression-compile-tmp/skimpd.imp"
if (((NAMEDLINK[IDENT]) != (0))) goto L_0043;
#line 301 "regression-compile-tmp/skimpd.imp"
L_0042:;
#line 301 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return _imp_str_literal("");
#line 301 "regression-compile-tmp/skimpd.imp"
L_0043:;
                                                                //    302     %result = string(addr(named(namedlink(ident))))
#line 302 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return *_imp_STRING(_imp_ADDR(&(NAMED-1)[NAMEDLINK[IDENT]]));
                                                                //    303  %end
#line 303 "regression-compile-tmp/skimpd.imp"
} // End of block NAME at level 1
                                                                //    304  !-----------------------------------------------------------------------
                                                                //    305  %external %integer %fn newtag
#line 305 "regression-compile-tmp/skimpd.imp"
int NEWTAG( void )
#line 305 "regression-compile-tmp/skimpd.imp"
{
                                                                //    306     %integer i
#line 306 "regression-compile-tmp/skimpd.imp"
int I;
                                                                //    307     %if tagasl = 0 %then fault("TAG SPACE FULL") %and %stop
#line 307 "regression-compile-tmp/skimpd.imp"
if (((TAGASL) != (0))) goto L_0044;
#line 307 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_str_literal("TAG SPACE FULL"));
#line 307 "regression-compile-tmp/skimpd.imp"
exit(0);
#line 307 "regression-compile-tmp/skimpd.imp"
L_0044:;
                                                                //    308     i = tagasl
#line 308 "regression-compile-tmp/skimpd.imp"
I = TAGASL;
                                                                //    309     tagasl = link(tagasl)
#line 309 "regression-compile-tmp/skimpd.imp"
TAGASL = (LINK-1)[TAGASL];
                                                                //    310     %result = i
#line 310 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return I;
                                                                //    311  %end
#line 311 "regression-compile-tmp/skimpd.imp"
} // End of block NEWTAG at level 1
                                                                //    312  !-----------------------------------------------------------------------
                                                                //    313  %external %integer %fn returntag(%integer tagi)
#line 313 "regression-compile-tmp/skimpd.imp"
int RETURNTAG( int TAGI )
#line 313 "regression-compile-tmp/skimpd.imp"
{
                                                                //    314     %integer l
#line 314 "regression-compile-tmp/skimpd.imp"
int L;
                                                                //    315     l = link(tagi)
#line 315 "regression-compile-tmp/skimpd.imp"
L = (LINK-1)[TAGI];
                                                                //    316     link(tagi) = tagasl
#line 316 "regression-compile-tmp/skimpd.imp"
(LINK-1)[TAGI] = TAGASL;
                                                                //    317     tagasl = tagi
#line 317 "regression-compile-tmp/skimpd.imp"
TAGASL = TAGI;
                                                                //    318     %result = l
#line 318 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return L;
                                                                //    319  %end
#line 319 "regression-compile-tmp/skimpd.imp"
} // End of block RETURNTAG at level 1
                                                                //    320  !-----------------------------------------------------------------------
                                                                //    321  %external %integer %fn getwork
#line 321 "regression-compile-tmp/skimpd.imp"
int GETWORK( void )
#line 321 "regression-compile-tmp/skimpd.imp"
{
                                                                //    322     !%integername cell
                                                                //    323     !  cell==worklist(level)
                                                                //    324     !  %while cell#0 %cycle
                                                                //    325     !    %if tag(cell)<0 %then tag(cell)=-tag(cell) %and %result=tag(cell)
                                                                //    326     !    cell==link(cell)
                                                                //    327     !  %repeat
                                                                //    328     !  cell=newtag
                                                                //    329     !  tag(cell)=nextrad(level)
                                                                //    330     !  nextrad(level)=nextrad(level)+1
                                                                //    331     !  link(cell)=0
                                                                //    332     !  %result=tag(cell)
                                                                //    333     %result = 0
#line 333 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //    334  %end
#line 334 "regression-compile-tmp/skimpd.imp"
} // End of block GETWORK at level 1
                                                                //    335  !-----------------------------------------------------------------------
                                                                //    336  %external %routine returnwork(%integer work)
#line 336 "regression-compile-tmp/skimpd.imp"
void RETURNWORK( int WORK )
#line 336 "regression-compile-tmp/skimpd.imp"
{
                                                                //    337     !%integer cell
                                                                //    338     !  cell=worklist(level)
                                                                //    339     !  %while cell#0 %cycle
                                                                //    340     !    %if tag(cell)=work %then tag(cell)=-work %and %return
                                                                //    341     !    cell=link(cell)
                                                                //    342     !  %repeat
                                                                //    343  %end
#line 343 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block RETURNWORK at level 1
                                                                //    344  !-----------------------------------------------------------------------
                                                                //    345  %external %routine clearwork
#line 345 "regression-compile-tmp/skimpd.imp"
void CLEARWORK( void )
#line 345 "regression-compile-tmp/skimpd.imp"
{
                                                                //    346     %integer cell
#line 346 "regression-compile-tmp/skimpd.imp"
int CELL;
                                                                //    347     cell = worklist(level)
#line 347 "regression-compile-tmp/skimpd.imp"
CELL = WORKLIST[LEVEL];
                                                                //    348     cell = returntag(cell) %while cell # 0
#line 348 "regression-compile-tmp/skimpd.imp"
L_0045:;
#line 348 "regression-compile-tmp/skimpd.imp"
if (((CELL) == (0))) goto L_0046;
#line 348 "regression-compile-tmp/skimpd.imp"
CELL = RETURNTAG(CELL);
#line 348 "regression-compile-tmp/skimpd.imp"
goto L_0045;
#line 348 "regression-compile-tmp/skimpd.imp"
L_0046:;
                                                                //    349     worklist(level) = 0
#line 349 "regression-compile-tmp/skimpd.imp"
WORKLIST[LEVEL] = 0;
                                                                //    350  %end
#line 350 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLEARWORK at level 1
                                                                //    351  !-----------------------------------------------------------------------
                                                                //    352  %external %integer %fn getcoti(%integer const)
#line 352 "regression-compile-tmp/skimpd.imp"
int GETCOTI( int CONST )
#line 352 "regression-compile-tmp/skimpd.imp"
{
                                                                //    353     %integer coti
#line 353 "regression-compile-tmp/skimpd.imp"
int COTI;
                                                                //    354     %if cotp > 0 %then %start
#line 354 "regression-compile-tmp/skimpd.imp"
if (((COTP) <= (0))) goto L_0048;
                                                                //    355        %for coti = 0, 1, cotp - 1 %cycle
#line 355 "regression-compile-tmp/skimpd.imp"
{static int _initial, _increment, _final, _control;
_initial = 0; _increment = 1; _final = (((int)(COTP)) - (1)); COTI = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle COTI = 0, 1, (((int)(COTP)) - (1))");
COTI -= _increment; _control -= _increment;
L_0049:;
if (COTI == _final) goto L_004a;
COTI += _increment; _control += _increment;
if (COTI != _control) _imp_signal(4,2,0,"Corrupt control variable COTI"); /* FOR loop control variable corrupted */
}
                                                                //    356           %if cot(coti) = const %then %result = coti
#line 356 "regression-compile-tmp/skimpd.imp"
if (((COT[COTI]) != (CONST))) goto L_004c;
#line 356 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return COTI;
#line 356 "regression-compile-tmp/skimpd.imp"
L_004c:;
                                                                //    357        %repeat
#line 357 "regression-compile-tmp/skimpd.imp"
goto L_0049;
#line 357 "regression-compile-tmp/skimpd.imp"
L_004a:;
                                                                //    358     %finish
#line 358 "regression-compile-tmp/skimpd.imp"
L_0048:;
                                                                //    359     %if cotp = 128 %then fault("CONSTANT TABLE FULL") %and %stop
#line 359 "regression-compile-tmp/skimpd.imp"
if (((COTP) != (128))) goto L_004d;
#line 359 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_str_literal("CONSTANT TABLE FULL"));
#line 359 "regression-compile-tmp/skimpd.imp"
exit(0);
#line 359 "regression-compile-tmp/skimpd.imp"
L_004d:;
                                                                //    360     cot(cotp) = const
#line 360 "regression-compile-tmp/skimpd.imp"
COT[COTP] = CONST;
                                                                //    361     cotp = cotp + 1
#line 361 "regression-compile-tmp/skimpd.imp"
COTP = (((int)(COTP)) + (1));
                                                                //    362     %result = cotp - 1
#line 362 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(COTP)) - (1));
                                                                //    363  %end
#line 363 "regression-compile-tmp/skimpd.imp"
} // End of block GETCOTI at level 1
                                                                //    364  !-----------------------------------------------------------------------
                                                                //    365  %external %routine pushtag(%integer ident, form, type, dim, level, rad)
#line 365 "regression-compile-tmp/skimpd.imp"
void PUSHTAG( int IDENT, int FORM, int TYPE, int DIM, int LEVEL, int RAD )
#line 365 "regression-compile-tmp/skimpd.imp"
{
                                                                //    366     %integer tagi
#line 366 "regression-compile-tmp/skimpd.imp"
int TAGI;
                                                                //    367     %if taglink(ident) # 0 %and tag(taglink(ident)) >> 16 & 16_F = level %c
#line 367 "regression-compile-tmp/skimpd.imp"
if (((TAGLINK[IDENT]) == (0))) goto L_004e;
#line 367 "regression-compile-tmp/skimpd.imp"
if ((((((int)((((unsigned int)((TAG-1)[TAGLINK[IDENT]])) >> (16)))) & (15))) != (LEVEL))) goto L_004e;
#line 367 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("NAME "),(_imp_string)NAME(IDENT)),(_imp_string)_imp_str_literal(" DECLARED TWICE")));
#line 367 "regression-compile-tmp/skimpd.imp"
L_004e:;
                                                                //    368     %then fault("NAME " . name(ident) . " DECLARED TWICE")
                                                                //    369     tagi = newtag
#line 369 "regression-compile-tmp/skimpd.imp"
TAGI = NEWTAG();
                                                                //    370     tag(tagi) = form << 28 ! type << 24 ! dim << 20 ! level << 16 ! rad
#line 370 "regression-compile-tmp/skimpd.imp"
(TAG-1)[TAGI] = ((((((((((FORM) << (28))) | (((TYPE) << (24))))) | (((DIM) << (20))))) | (((LEVEL) << (16))))) | (RAD));
                                                                //    371     link(tagi) = taglink(ident)
#line 371 "regression-compile-tmp/skimpd.imp"
(LINK-1)[TAGI] = TAGLINK[IDENT];
                                                                //    372     taglink(ident) = tagi
#line 372 "regression-compile-tmp/skimpd.imp"
TAGLINK[IDENT] = TAGI;
                                                                //    373     tagi = newtag
#line 373 "regression-compile-tmp/skimpd.imp"
TAGI = NEWTAG();
                                                                //    374     tag(tagi) = ident
#line 374 "regression-compile-tmp/skimpd.imp"
(TAG-1)[TAGI] = IDENT;
                                                                //    375     link(tagi) = namelist(level)
#line 375 "regression-compile-tmp/skimpd.imp"
(LINK-1)[TAGI] = NAMELIST[LEVEL];
                                                                //    376     namelist(level) = tagi
#line 376 "regression-compile-tmp/skimpd.imp"
NAMELIST[LEVEL] = TAGI;
                                                                //    377  %end
#line 377 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUSHTAG at level 1
                                                                //    378  !-----------------------------------------------------------------------
                                                                //    379  %external %routine poptags
#line 379 "regression-compile-tmp/skimpd.imp"
void POPTAGS( void )
#line 379 "regression-compile-tmp/skimpd.imp"
{
                                                                //    380     %integer cell, ident, nametag, params
#line 380 "regression-compile-tmp/skimpd.imp"
int CELL;
#line 380 "regression-compile-tmp/skimpd.imp"
int IDENT;
#line 380 "regression-compile-tmp/skimpd.imp"
int NAMETAG;
#line 380 "regression-compile-tmp/skimpd.imp"
int PARAMS;
                                                                //    381     %string (63) s
#line 381 "regression-compile-tmp/skimpd.imp"
_imp_string /*%string(63)*/ S;
                                                                //    382     %if tagsopt = 1 %then newline
#line 382 "regression-compile-tmp/skimpd.imp"
if (((TAGSOPT) != (1))) goto L_004f;
#line 382 "regression-compile-tmp/skimpd.imp"
_imp_NEWLINE();
#line 382 "regression-compile-tmp/skimpd.imp"
L_004f:;
                                                                //    383     cell = namelist(level)
#line 383 "regression-compile-tmp/skimpd.imp"
CELL = NAMELIST[LEVEL];
                                                                //    384     %while cell # 0 %cycle
#line 384 "regression-compile-tmp/skimpd.imp"
L_0050:;
#line 384 "regression-compile-tmp/skimpd.imp"
if (((CELL) == (0))) goto L_0051;
                                                                //    385        ident = tag(cell)
#line 385 "regression-compile-tmp/skimpd.imp"
IDENT = (TAG-1)[CELL];
                                                                //    386        cell = returntag(cell)
#line 386 "regression-compile-tmp/skimpd.imp"
CELL = RETURNTAG(CELL);
                                                                //    387        nametag = tag(taglink(ident))
#line 387 "regression-compile-tmp/skimpd.imp"
NAMETAG = (TAG-1)[TAGLINK[IDENT]];
                                                                //    388        taglink(ident) = returntag(taglink(ident))
#line 388 "regression-compile-tmp/skimpd.imp"
TAGLINK[IDENT] = RETURNTAG(TAGLINK[IDENT]);
                                                                //    389        %if tagsopt = 1 %then %start
#line 389 "regression-compile-tmp/skimpd.imp"
if (((TAGSOPT) != (1))) goto L_0053;
                                                                //    390           s = name(ident)
#line 390 "regression-compile-tmp/skimpd.imp"
S = NAME(IDENT);
                                                                //    391           printstring(strint(ident, 3) . "   " . s)
#line 391 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_join((_imp_string)STRINT(IDENT, 3),(_imp_string)_imp_str_literal("   ")),(_imp_string)S));
                                                                //    392           spaces(10 - length(s))
#line 392 "regression-compile-tmp/skimpd.imp"
_imp_SPACES(((10) - (*(int *)(_imp_LENGTH(&S)))));
                                                                //    393           printstring(strhex(nametag))
#line 393 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSTRING(STRHEX(NAMETAG));
                                                                //    394        %finish
#line 394 "regression-compile-tmp/skimpd.imp"
L_0053:;
                                                                //    395        %if nametag >> 28 = 4 %then %start
#line 395 "regression-compile-tmp/skimpd.imp"
if ((((int)((((unsigned int)(NAMETAG)) >> (28)))) != (4))) goto L_0054;
                                                                //    396           ! procedure type
                                                                //    397           params = nametag >> 20 & 16_F
#line 397 "regression-compile-tmp/skimpd.imp"
PARAMS = (((int)((((unsigned int)(NAMETAG)) >> (20)))) & (15));
                                                                //    398           %while params # 0 %cycle
#line 398 "regression-compile-tmp/skimpd.imp"
L_0055:;
#line 398 "regression-compile-tmp/skimpd.imp"
if (((PARAMS) == (0))) goto L_0056;
                                                                //    399              %if tagsopt = 1 %then printstring("
#line 399 "regression-compile-tmp/skimpd.imp"
if (((TAGSOPT) != (1))) goto L_0058;
#line 399 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_str_literal("\n                    "),(_imp_string)STRHEX((TAG-1)[TAGLINK[IDENT]])));
#line 399 "regression-compile-tmp/skimpd.imp"
L_0058:;
                                                                //    400                      " . strhex(tag(taglink(ident))))
                                                                //    401              taglink(ident) = returntag(taglink(ident))
#line 401 "regression-compile-tmp/skimpd.imp"
TAGLINK[IDENT] = RETURNTAG(TAGLINK[IDENT]);
                                                                //    402              params = params - 1
#line 402 "regression-compile-tmp/skimpd.imp"
PARAMS = (((int)(PARAMS)) - (1));
                                                                //    403              ! pop up parameter tags
                                                                //    404           %repeat
#line 404 "regression-compile-tmp/skimpd.imp"
goto L_0055;
#line 404 "regression-compile-tmp/skimpd.imp"
L_0056:;
                                                                //    405        %finish
#line 405 "regression-compile-tmp/skimpd.imp"
L_0054:;
                                                                //    406        %if tagsopt = 1 %then newline
#line 406 "regression-compile-tmp/skimpd.imp"
if (((TAGSOPT) != (1))) goto L_0059;
#line 406 "regression-compile-tmp/skimpd.imp"
_imp_NEWLINE();
#line 406 "regression-compile-tmp/skimpd.imp"
L_0059:;
                                                                //    407        %if taglink(ident) = 0 %then namedp = namedlink(ident) %and namedlink(ident) = 0
#line 407 "regression-compile-tmp/skimpd.imp"
if (((TAGLINK[IDENT]) != (0))) goto L_005a;
#line 407 "regression-compile-tmp/skimpd.imp"
NAMEDP = NAMEDLINK[IDENT];
#line 407 "regression-compile-tmp/skimpd.imp"
NAMEDLINK[IDENT] = 0;
#line 407 "regression-compile-tmp/skimpd.imp"
L_005a:;
                                                                //    408        ! backtrack name dictionary
                                                                //    409     %repeat
#line 409 "regression-compile-tmp/skimpd.imp"
goto L_0050;
#line 409 "regression-compile-tmp/skimpd.imp"
L_0051:;
                                                                //    410     %if tagsopt = 1 %then newline
#line 410 "regression-compile-tmp/skimpd.imp"
if (((TAGSOPT) != (1))) goto L_005b;
#line 410 "regression-compile-tmp/skimpd.imp"
_imp_NEWLINE();
#line 410 "regression-compile-tmp/skimpd.imp"
L_005b:;
                                                                //    411     namelist(level) = 0
#line 411 "regression-compile-tmp/skimpd.imp"
NAMELIST[LEVEL] = 0;
                                                                //    412  %end
#line 412 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block POPTAGS at level 1
                                                                //    413  !-----------------------------------------------------------------------
                                                                //    414  %external %integer %fn getlabel(%integer constp)
#line 414 "regression-compile-tmp/skimpd.imp"
int GETLABEL( int CONSTP )
#line 414 "regression-compile-tmp/skimpd.imp"
{
                                                                //    415     %integer label
#line 415 "regression-compile-tmp/skimpd.imp"
int LABEL;
                                                                //    416     label = a(constp + 1)
#line 416 "regression-compile-tmp/skimpd.imp"
LABEL = (A-1)[(((int)(CONSTP)) + (1))];
                                                                //    417     %if label > 9999 %then fault("LABEL " . strint(label, 1) . " TOO LARGE") %c
#line 417 "regression-compile-tmp/skimpd.imp"
if (((LABEL) <= (9999))) goto L_005c;
#line 417 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("LABEL "),(_imp_string)STRINT(LABEL, 1)),(_imp_string)_imp_str_literal(" TOO LARGE")));
#line 417 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return (-1);
#line 417 "regression-compile-tmp/skimpd.imp"
L_005c:;
#line 417 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return LABEL;
                                                                //    418       %and %result = -1 %else %result = label
                                                                //    419  %end
#line 419 "regression-compile-tmp/skimpd.imp"
} // End of block GETLABEL at level 1
                                                                //    420  !-----------------------------------------------------------------------
                                                                //    421  %external %routine filllabel(%integer label)
#line 421 "regression-compile-tmp/skimpd.imp"
void FILLLABEL( int LABEL )
#line 421 "regression-compile-tmp/skimpd.imp"
{
                                                                //    422     !%integer cell
                                                                //    423     %return %if label < 0
#line 423 "regression-compile-tmp/skimpd.imp"
if (((LABEL) >= (0))) goto L_005d;
#line 423 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 423 "regression-compile-tmp/skimpd.imp"
L_005d:;
                                                                //    424     ! for conditional statements
                                                                //    425     !  cell=branchlist(level)
                                                                //    426     !  %while cell#0 %cycle
                                                                //    427     !    %if tag(cell)>>16=label %then %start
                                                                //    428     !      %if tag(cell)&16_8000=0 %then fault("DUPLICATE LABEL ". !        strint(label,1)) %else %start
                                                                //    429     dump("L" . s(label), "EQU", "", "*")
#line 429 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_join((_imp_string)_imp_str_literal("L"),(_imp_string)S(LABEL)), _imp_str_literal("EQU"), _imp_str_literal(""), _imp_str_literal("*"));
                                                                //    430     !        tag(cell)=label<<16!nextcad
                                                                //    431     !      %finish
                                                                //    432     !      %return
                                                                //    433     !    %finish
                                                                //    434     !    cell=link(cell)
                                                                //    435     !  %repeat
                                                                //    436     !  cell=newtag
                                                                //    437     !  link(cell)=branchlist(level)
                                                                //    438     !  branchlist(level)=cell
                                                                //    439     !  tag(cell)=label<<16!nextcad
                                                                //    440  %end
#line 440 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FILLLABEL at level 1
                                                                //    441  !-----------------------------------------------------------------------
                                                                //    442  %external %integer %fn fillbranch(%integer label)
#line 442 "regression-compile-tmp/skimpd.imp"
int FILLBRANCH( int LABEL )
#line 442 "regression-compile-tmp/skimpd.imp"
{
                                                                //    443     %integer cell, cad
#line 443 "regression-compile-tmp/skimpd.imp"
int CELL;
#line 443 "regression-compile-tmp/skimpd.imp"
int CAD;
                                                                //    444     %result = 0 %if label < 0
#line 444 "regression-compile-tmp/skimpd.imp"
if (((LABEL) >= (0))) goto L_005e;
#line 444 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 444 "regression-compile-tmp/skimpd.imp"
L_005e:;
                                                                //    445     cell = branchlist(level)
#line 445 "regression-compile-tmp/skimpd.imp"
CELL = BRANCHLIST[LEVEL];
                                                                //    446     %while cell # 0 %cycle
#line 446 "regression-compile-tmp/skimpd.imp"
L_005f:;
#line 446 "regression-compile-tmp/skimpd.imp"
if (((CELL) == (0))) goto L_0060;
                                                                //    447        %if tag(cell) >> 16 = label %then %start
#line 447 "regression-compile-tmp/skimpd.imp"
if ((((int)((((unsigned int)((TAG-1)[CELL])) >> (16)))) != (LABEL))) goto L_0062;
                                                                //    448           cad = tag(cell) & 16_7FFF
#line 448 "regression-compile-tmp/skimpd.imp"
CAD = (((TAG-1)[CELL]) & (32767));
                                                                //    449           %if tag(cell) & 16_8000 # 0 %then tag(cell) = label << 16 ! 16_8000 ! nextcad
#line 449 "regression-compile-tmp/skimpd.imp"
if ((((((TAG-1)[CELL]) & (32768))) == (0))) goto L_0063;
#line 449 "regression-compile-tmp/skimpd.imp"
(TAG-1)[CELL] = ((((((LABEL) << (16))) | (32768))) | (NEXTCAD));
#line 449 "regression-compile-tmp/skimpd.imp"
L_0063:;
                                                                //    450           %result = cad
#line 450 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return CAD;
                                                                //    451        %finish
#line 451 "regression-compile-tmp/skimpd.imp"
L_0062:;
                                                                //    452        cell = link(cell)
#line 452 "regression-compile-tmp/skimpd.imp"
CELL = (LINK-1)[CELL];
                                                                //    453     %repeat
#line 453 "regression-compile-tmp/skimpd.imp"
goto L_005f;
#line 453 "regression-compile-tmp/skimpd.imp"
L_0060:;
                                                                //    454     cell = newtag
#line 454 "regression-compile-tmp/skimpd.imp"
CELL = NEWTAG();
                                                                //    455     link(cell) = branchlist(level)
#line 455 "regression-compile-tmp/skimpd.imp"
(LINK-1)[CELL] = BRANCHLIST[LEVEL];
                                                                //    456     branchlist(level) = cell
#line 456 "regression-compile-tmp/skimpd.imp"
BRANCHLIST[LEVEL] = CELL;
                                                                //    457     tag(cell) = label << 16 ! 16_8000 ! nextcad
#line 457 "regression-compile-tmp/skimpd.imp"
(TAG-1)[CELL] = ((((((LABEL) << (16))) | (32768))) | (NEXTCAD));
                                                                //    458     %result = 0
#line 458 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //    459  %end
#line 459 "regression-compile-tmp/skimpd.imp"
} // End of block FILLBRANCH at level 1
                                                                //    460  !-----------------------------------------------------------------------
                                                                //    461  %external %routine poplabels
#line 461 "regression-compile-tmp/skimpd.imp"
void POPLABELS( void )
#line 461 "regression-compile-tmp/skimpd.imp"
{
                                                                //    462     %integer cell
#line 462 "regression-compile-tmp/skimpd.imp"
int CELL;
                                                                //    463     cell = branchlist(level)
#line 463 "regression-compile-tmp/skimpd.imp"
CELL = BRANCHLIST[LEVEL];
                                                                //    464     %while cell # 0 %cycle
#line 464 "regression-compile-tmp/skimpd.imp"
L_0064:;
#line 464 "regression-compile-tmp/skimpd.imp"
if (((CELL) == (0))) goto L_0065;
                                                                //    465        %if tag(cell) & 16_8000 # 0 %then fault("LABEL " . strint(tag(cell) >> 16, 1) . %c
#line 465 "regression-compile-tmp/skimpd.imp"
if ((((((TAG-1)[CELL]) & (32768))) == (0))) goto L_0067;
#line 465 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_join((_imp_string)_imp_join((_imp_string)_imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("LABEL "),(_imp_string)STRINT((int)((((unsigned int)((TAG-1)[CELL])) >> (16))), 1)),(_imp_string)_imp_str_literal(" NOT SET (BRANCH LIST ")),(_imp_string)STRINT((((TAG-1)[CELL]) & (32767)), 1)),(_imp_string)_imp_str_literal(")")));
#line 465 "regression-compile-tmp/skimpd.imp"
L_0067:;
                                                                //    466          " NOT SET (BRANCH LIST " . strint(tag(cell) & 16_7FFF, 1) . ")")
                                                                //    467        cell = returntag(cell)
#line 467 "regression-compile-tmp/skimpd.imp"
CELL = RETURNTAG(CELL);
                                                                //    468     %repeat
#line 468 "regression-compile-tmp/skimpd.imp"
goto L_0064;
#line 468 "regression-compile-tmp/skimpd.imp"
L_0065:;
                                                                //    469     branchlist(level) = 0
#line 469 "regression-compile-tmp/skimpd.imp"
BRANCHLIST[LEVEL] = 0;
                                                                //    470  %end
#line 470 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block POPLABELS at level 1
                                                                //    471  !-----------------------------------------------------------------------
                                                                //    472  %external %integer %fn nextplabel
#line 472 "regression-compile-tmp/skimpd.imp"
int NEXTPLABEL( void )
#line 472 "regression-compile-tmp/skimpd.imp"
{
                                                                //    473     %own %integer plabel = 9999
#line 473 "regression-compile-tmp/skimpd.imp"
static int PLABEL = 9999;
                                                                //    474     plabel = plabel + 1
#line 474 "regression-compile-tmp/skimpd.imp"
PLABEL = (((int)(PLABEL)) + (1));
                                                                //    475     %result = plabel
#line 475 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return PLABEL;
                                                                //    476  %end
#line 476 "regression-compile-tmp/skimpd.imp"
} // End of block NEXTPLABEL at level 1
                                                                //    477  !-----------------------------------------------------------------------
                                                                //    478  %external %routine pushstart(%integer flag, plab)
#line 478 "regression-compile-tmp/skimpd.imp"
void PUSHSTART( int FLAG, int PLAB )
#line 478 "regression-compile-tmp/skimpd.imp"
{
                                                                //    479     %integer cell
#line 479 "regression-compile-tmp/skimpd.imp"
int CELL;
                                                                //    480     cell = newtag
#line 480 "regression-compile-tmp/skimpd.imp"
CELL = NEWTAG();
                                                                //    481     tag(cell) = flag << 16 ! plab & 16_FFFF
#line 481 "regression-compile-tmp/skimpd.imp"
(TAG-1)[CELL] = ((((FLAG) << (16))) | (((PLAB) & (65535))));
                                                                //    482     ! plab may be -1
                                                                //    483     link(cell) = startlist(level)
#line 483 "regression-compile-tmp/skimpd.imp"
(LINK-1)[CELL] = STARTLIST[LEVEL];
                                                                //    484     startlist(level) = cell
#line 484 "regression-compile-tmp/skimpd.imp"
STARTLIST[LEVEL] = CELL;
                                                                //    485  %end
#line 485 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUSHSTART at level 1
                                                                //    486  %external %predicate find(%integer type, %integer %name t, lab)
#line 486 "regression-compile-tmp/skimpd.imp"
int /*Boolean*/ FIND( int TYPE, int /*name*/*T, int /*name*/*LAB )
#line 486 "regression-compile-tmp/skimpd.imp"
{
                                                                //    487     %integer cell
#line 487 "regression-compile-tmp/skimpd.imp"
int CELL;
                                                                //    488     cell = startlist(level)
#line 488 "regression-compile-tmp/skimpd.imp"
CELL = STARTLIST[LEVEL];
                                                                //    489     %while cell # 0 %cycle
#line 489 "regression-compile-tmp/skimpd.imp"
L_0068:;
#line 489 "regression-compile-tmp/skimpd.imp"
if (((CELL) == (0))) goto L_0069;
                                                                //    490        t = tag(cell) >> 16
#line 490 "regression-compile-tmp/skimpd.imp"
*T = (int)((((unsigned int)((TAG-1)[CELL])) >> (16)));
                                                                //    491        %if t & 2 = type %then %start
#line 491 "regression-compile-tmp/skimpd.imp"
if (((((*T) & (2))) != (TYPE))) goto L_006b;
                                                                //    492           lab = tag(cell) & 16_FFFF
#line 492 "regression-compile-tmp/skimpd.imp"
*LAB = (((TAG-1)[CELL]) & (65535));
                                                                //    493           %true
#line 493 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //    494        %finish
#line 494 "regression-compile-tmp/skimpd.imp"
L_006b:;
                                                                //    495        cell = link(cell)
#line 495 "regression-compile-tmp/skimpd.imp"
CELL = (LINK-1)[CELL];
                                                                //    496     %repeat
#line 496 "regression-compile-tmp/skimpd.imp"
goto L_0068;
#line 496 "regression-compile-tmp/skimpd.imp"
L_0069:;
                                                                //    497     t = 0
#line 497 "regression-compile-tmp/skimpd.imp"
*T = 0;
                                                                //    498     lab = 0
#line 498 "regression-compile-tmp/skimpd.imp"
*LAB = 0;
                                                                //    499     %false
#line 499 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //    500  %end
#line 500 "regression-compile-tmp/skimpd.imp"
} // End of block FIND at level 1
                                                                //    501  %external %routine findcontinue(%integer %name type, lab)
#line 501 "regression-compile-tmp/skimpd.imp"
void FINDCONTINUE( int /*name*/*TYPE, int /*name*/*LAB )
#line 501 "regression-compile-tmp/skimpd.imp"
{
                                                                //    502     %if find(2, type, lab) %then lab = lab + 1 %c
#line 502 "regression-compile-tmp/skimpd.imp"
if (!(FIND(2, TYPE, LAB))) goto L_006c;
#line 502 "regression-compile-tmp/skimpd.imp"
*LAB = ((*(int *)(LAB)) + (1));
#line 502 "regression-compile-tmp/skimpd.imp"
goto L_006d;
#line 502 "regression-compile-tmp/skimpd.imp"
L_006c:;
#line 502 "regression-compile-tmp/skimpd.imp"
*TYPE = 0;
#line 502 "regression-compile-tmp/skimpd.imp"
*LAB = 0;
#line 502 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_str_literal("%CYCLE MISSING"));
#line 502 "regression-compile-tmp/skimpd.imp"
L_006d:;
                                                                //    503     %else type = 0 %and lab = 0 %and fault("%CYCLE MISSING")
                                                                //    504  %end
#line 504 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FINDCONTINUE at level 1
                                                                //    505  %external %routine findexit(%integer %name type, lab)
#line 505 "regression-compile-tmp/skimpd.imp"
void FINDEXIT( int /*name*/*TYPE, int /*name*/*LAB )
#line 505 "regression-compile-tmp/skimpd.imp"
{
                                                                //    506     %if find(2, type, lab) %then lab = lab + 2 %c
#line 506 "regression-compile-tmp/skimpd.imp"
if (!(FIND(2, TYPE, LAB))) goto L_006e;
#line 506 "regression-compile-tmp/skimpd.imp"
*LAB = ((*(int *)(LAB)) + (2));
#line 506 "regression-compile-tmp/skimpd.imp"
goto L_006f;
#line 506 "regression-compile-tmp/skimpd.imp"
L_006e:;
#line 506 "regression-compile-tmp/skimpd.imp"
*TYPE = 0;
#line 506 "regression-compile-tmp/skimpd.imp"
*LAB = 0;
#line 506 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_str_literal("%CYCLE MISSING"));
#line 506 "regression-compile-tmp/skimpd.imp"
L_006f:;
                                                                //    507     %else type = 0 %and lab = 0 %and fault("%CYCLE MISSING")
                                                                //    508  %end
#line 508 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FINDEXIT at level 1
                                                                //    509  %predicate findcycle
#line 509 "regression-compile-tmp/skimpd.imp"
int /*Boolean*/ FINDCYCLE( void )
#line 509 "regression-compile-tmp/skimpd.imp"
{
                                                                //    510     %integer t, l
#line 510 "regression-compile-tmp/skimpd.imp"
int T;
#line 510 "regression-compile-tmp/skimpd.imp"
int L;
                                                                //    511     %if find(2, t, l) %then %true
#line 511 "regression-compile-tmp/skimpd.imp"
if (!(FIND(2, &T, &L))) goto L_0070;
#line 511 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 511 "regression-compile-tmp/skimpd.imp"
L_0070:;
                                                                //    512     %false
#line 512 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //    513  %end
#line 513 "regression-compile-tmp/skimpd.imp"
} // End of block FINDCYCLE at level 1
                                                                //    514  %predicate findstart
#line 514 "regression-compile-tmp/skimpd.imp"
int /*Boolean*/ FINDSTART( void )
#line 514 "regression-compile-tmp/skimpd.imp"
{
                                                                //    515     %integer t, l
#line 515 "regression-compile-tmp/skimpd.imp"
int T;
#line 515 "regression-compile-tmp/skimpd.imp"
int L;
                                                                //    516     %if find(0, t, l) %then %true
#line 516 "regression-compile-tmp/skimpd.imp"
if (!(FIND(0, &T, &L))) goto L_0071;
#line 516 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 516 "regression-compile-tmp/skimpd.imp"
L_0071:;
                                                                //    517     %false
#line 517 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //    518  %end
#line 518 "regression-compile-tmp/skimpd.imp"
} // End of block FINDSTART at level 1
                                                                //    519  %external %routine popcycle(%integer %name type, lab)
#line 519 "regression-compile-tmp/skimpd.imp"
void POPCYCLE( int /*name*/*TYPE, int /*name*/*LAB )
#line 519 "regression-compile-tmp/skimpd.imp"
{
                                                                //    520     popitem(type, lab)
#line 520 "regression-compile-tmp/skimpd.imp"
POPITEM(TYPE, LAB);
                                                                //    521     %if type & 2 = 0 %then %start
#line 521 "regression-compile-tmp/skimpd.imp"
if (((((*TYPE) & (2))) != (0))) goto L_0072;
                                                                //    522        %if findcycle %then %start
#line 522 "regression-compile-tmp/skimpd.imp"
if (!(FINDCYCLE())) goto L_0073;
                                                                //    523           fault("%FINISH MISSING {Or spurious %REPEAT??}")
#line 523 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_str_literal("%FINISH MISSING {Or spurious %REPEAT??}"));
                                                                //    524        %finish %else %start
#line 524 "regression-compile-tmp/skimpd.imp"
goto L_0074;
#line 524 "regression-compile-tmp/skimpd.imp"
L_0073:;
                                                                //    525           fault("SPURIOUS %REPEAT")
#line 525 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_str_literal("SPURIOUS %REPEAT"));
                                                                //    526           pushstart(type, lab) %if lab # 0
#line 526 "regression-compile-tmp/skimpd.imp"
if (((*LAB) == (0))) goto L_0075;
#line 526 "regression-compile-tmp/skimpd.imp"
PUSHSTART(*TYPE, *LAB);
#line 526 "regression-compile-tmp/skimpd.imp"
L_0075:;
                                                                //    527        %finish
#line 527 "regression-compile-tmp/skimpd.imp"
L_0074:;
                                                                //    528        lab = 0
#line 528 "regression-compile-tmp/skimpd.imp"
*LAB = 0;
                                                                //    529        type = 3
#line 529 "regression-compile-tmp/skimpd.imp"
*TYPE = 3;
                                                                //    530     %finish
#line 530 "regression-compile-tmp/skimpd.imp"
L_0072:;
                                                                //    531  %end
#line 531 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block POPCYCLE at level 1
                                                                //    532  %external %routine popstart(%integer %name type, lab)
#line 532 "regression-compile-tmp/skimpd.imp"
void POPSTART( int /*name*/*TYPE, int /*name*/*LAB )
#line 532 "regression-compile-tmp/skimpd.imp"
{
                                                                //    533     popitem(type, lab)
#line 533 "regression-compile-tmp/skimpd.imp"
POPITEM(TYPE, LAB);
                                                                //    534     %if type & 2 = 2 %or lab = 0 %then %start
#line 534 "regression-compile-tmp/skimpd.imp"
if (((((*TYPE) & (2))) == (2))) goto L_006a;
#line 534 "regression-compile-tmp/skimpd.imp"
if (((*LAB) != (0))) goto L_0076;
#line 534 "regression-compile-tmp/skimpd.imp"
L_006a:;
                                                                //    535        %if findstart %then %start
#line 535 "regression-compile-tmp/skimpd.imp"
if (!(FINDSTART())) goto L_0077;
                                                                //    536           fault("%REPEAT MISSING {Or spurious %FINISH??}")
#line 536 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_str_literal("%REPEAT MISSING {Or spurious %FINISH??}"));
                                                                //    537        %finish %else %start
#line 537 "regression-compile-tmp/skimpd.imp"
goto L_0078;
#line 537 "regression-compile-tmp/skimpd.imp"
L_0077:;
                                                                //    538           fault("SPURIOUS %FINISH")
#line 538 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_str_literal("SPURIOUS %FINISH"));
                                                                //    539           pushstart(type, lab) %if lab # 0
#line 539 "regression-compile-tmp/skimpd.imp"
if (((*LAB) == (0))) goto L_0079;
#line 539 "regression-compile-tmp/skimpd.imp"
PUSHSTART(*TYPE, *LAB);
#line 539 "regression-compile-tmp/skimpd.imp"
L_0079:;
                                                                //    540        %finish
#line 540 "regression-compile-tmp/skimpd.imp"
L_0078:;
                                                                //    541        lab = 0
#line 541 "regression-compile-tmp/skimpd.imp"
*LAB = 0;
                                                                //    542        type = 0
#line 542 "regression-compile-tmp/skimpd.imp"
*TYPE = 0;
                                                                //    543     %finish
#line 543 "regression-compile-tmp/skimpd.imp"
L_0076:;
                                                                //    544  %end
#line 544 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block POPSTART at level 1
                                                                //    545  !-----------------------------------------------------------------------
                                                                //    546  %routine popitem(%integer %name flag, plab)
#line 546 "regression-compile-tmp/skimpd.imp"
void POPITEM( int /*name*/*FLAG, int /*name*/*PLAB )
#line 546 "regression-compile-tmp/skimpd.imp"
{
                                                                //    547     %integer cell
#line 547 "regression-compile-tmp/skimpd.imp"
int CELL;
                                                                //    548     cell = startlist(level)
#line 548 "regression-compile-tmp/skimpd.imp"
CELL = STARTLIST[LEVEL];
                                                                //    549     %if cell = 0 %then %start
#line 549 "regression-compile-tmp/skimpd.imp"
if (((CELL) != (0))) goto L_007a;
                                                                //    550        flag = 0
#line 550 "regression-compile-tmp/skimpd.imp"
*FLAG = 0;
                                                                //    551        plab = 0
#line 551 "regression-compile-tmp/skimpd.imp"
*PLAB = 0;
                                                                //    552     %finish %else %start
#line 552 "regression-compile-tmp/skimpd.imp"
goto L_007b;
#line 552 "regression-compile-tmp/skimpd.imp"
L_007a:;
                                                                //    553        flag = tag(cell) >> 16
#line 553 "regression-compile-tmp/skimpd.imp"
*FLAG = (int)((((unsigned int)((TAG-1)[CELL])) >> (16)));
                                                                //    554        plab = tag(cell) & 16_FFFF
#line 554 "regression-compile-tmp/skimpd.imp"
*PLAB = (((TAG-1)[CELL]) & (65535));
                                                                //    555        %if plab = 16_FFFF %then plab = -1
#line 555 "regression-compile-tmp/skimpd.imp"
if (((*PLAB) != (65535))) goto L_007c;
#line 555 "regression-compile-tmp/skimpd.imp"
*PLAB = (-1);
#line 555 "regression-compile-tmp/skimpd.imp"
L_007c:;
                                                                //    556        startlist(level) = returntag(cell)
#line 556 "regression-compile-tmp/skimpd.imp"
STARTLIST[LEVEL] = RETURNTAG(CELL);
                                                                //    557     %finish
#line 557 "regression-compile-tmp/skimpd.imp"
L_007b:;
                                                                //    558  %end
#line 558 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block POPITEM at level 1
                                                                //    559  !-----------------------------------------------------------------------
                                                                //    560  %external %routine clearstart
#line 560 "regression-compile-tmp/skimpd.imp"
void CLEARSTART( void )
#line 560 "regression-compile-tmp/skimpd.imp"
{
                                                                //    561     %integer cell
#line 561 "regression-compile-tmp/skimpd.imp"
int CELL;
                                                                //    562     %const %string (7) %array what(0 : 1) = "%FINISH", "%REPEAT"
#line 562 "regression-compile-tmp/skimpd.imp"
const _imp_string /*%string(7)*/ WHAT[2] = { _imp_str_literal("%FINISH"), _imp_str_literal("%REPEAT"),  };
                                                                //    563  
                                                                //    564     cell = startlist(level)
#line 564 "regression-compile-tmp/skimpd.imp"
CELL = STARTLIST[LEVEL];
                                                                //    565     %while cell # 0 %cycle
#line 565 "regression-compile-tmp/skimpd.imp"
L_007d:;
#line 565 "regression-compile-tmp/skimpd.imp"
if (((CELL) == (0))) goto L_007e;
                                                                //    566        fault(what(tag(cell) >> 17) . " MISSING")
#line 566 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_join((_imp_string)WHAT[(int)((((unsigned int)((TAG-1)[CELL])) >> (17)))],(_imp_string)_imp_str_literal(" MISSING")));
                                                                //    567        cell = returntag(cell)
#line 567 "regression-compile-tmp/skimpd.imp"
CELL = RETURNTAG(CELL);
                                                                //    568     %repeat
#line 568 "regression-compile-tmp/skimpd.imp"
goto L_007d;
#line 568 "regression-compile-tmp/skimpd.imp"
L_007e:;
                                                                //    569     startlist(level) = 0
#line 569 "regression-compile-tmp/skimpd.imp"
STARTLIST[LEVEL] = 0;
                                                                //    570  %end
#line 570 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLEARSTART at level 1
                                                                //    571  !-----------------------------------------------------------------------
                                                                //    572  %external %integer %fn enter
#line 572 "regression-compile-tmp/skimpd.imp"
int ENTER( void )
#line 572 "regression-compile-tmp/skimpd.imp"
{
                                                                //    573     %own %string (4) %array regs(1 : 2) = "A", "A,B"
#line 573 "regression-compile-tmp/skimpd.imp"
static _imp_string /*%string(4)*/ REGS[2] = { _imp_str_literal("A"), _imp_str_literal("A,B"),  };
                                                                //    574  
                                                                //    575     %string (4) base
#line 575 "regression-compile-tmp/skimpd.imp"
_imp_string /*%string(4)*/ BASE;
                                                                //    576     %integer alloc, dim
#line 576 "regression-compile-tmp/skimpd.imp"
int ALLOC;
#line 576 "regression-compile-tmp/skimpd.imp"
int DIM;
                                                                //    577     %if level = 1 %then %start
#line 577 "regression-compile-tmp/skimpd.imp"
if (((LEVEL) != (1))) goto L_0080;
                                                                //    578        %if nextcad # 1 %then fault("%BEGIN NOT FIRST STATEMENT")
#line 578 "regression-compile-tmp/skimpd.imp"
if (((NEXTCAD) == (1))) goto L_0081;
#line 578 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_str_literal("%BEGIN NOT FIRST STATEMENT"));
#line 578 "regression-compile-tmp/skimpd.imp"
L_0081:;
                                                                //    579        dump("", "ORG", "", "$F800")
#line 579 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("ORG"), _imp_str_literal(""), _imp_str_literal("$F800"));
                                                                //    580        dump("START", "EQU", "", "*")
#line 580 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("START"), _imp_str_literal("EQU"), _imp_str_literal(""), _imp_str_literal("*"));
                                                                //    581        dump("", "SWI", "3", "") %if traceopt = 1
#line 581 "regression-compile-tmp/skimpd.imp"
if (((TRACEOPT) != (1))) goto L_0082;
#line 581 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("SWI"), _imp_str_literal("3"), _imp_str_literal(""));
#line 581 "regression-compile-tmp/skimpd.imp"
L_0082:;
                                                                //    582        dump("", "LD", "U", "#STACK")
#line 582 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LD"), _imp_str_literal("U"), _imp_str_literal("#STACK"));
                                                                //    583        dump("", "LEA", "X", "-USTK,U")
#line 583 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LEA"), _imp_str_literal("X"), _imp_str_literal("-USTK,U"));
                                                                //    584        base = ",X"
#line 584 "regression-compile-tmp/skimpd.imp"
BASE = _imp_str_literal(",X");
                                                                //    585        alloc = 34
#line 585 "regression-compile-tmp/skimpd.imp"
ALLOC = 34;
                                                                //    586        ! Already set up by calling program
                                                                //    587        ! Rest for I/O buffers and perm locations.
                                                                //    588     %finish %else %start
#line 588 "regression-compile-tmp/skimpd.imp"
goto L_0083;
#line 588 "regression-compile-tmp/skimpd.imp"
L_0080:;
                                                                //    589        ! STORE STP (=Y) IF NECCESARY
                                                                //    590        %if level > 2 %start
#line 590 "regression-compile-tmp/skimpd.imp"
if (((LEVEL) <= (2))) goto L_0084;
                                                                //    591           dump("", "ST", "Y", display(level - 1))
#line 591 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("ST"), _imp_str_literal("Y"), DISPLAY[(((int)(LEVEL)) - (1))]);
                                                                //    592        %finish
#line 592 "regression-compile-tmp/skimpd.imp"
L_0084:;
                                                                //    593        dump("", "PSH", "S", "Y")
#line 593 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("PSH"), _imp_str_literal("S"), _imp_str_literal("Y"));
                                                                //    594        dump("", "TFR", "", "S,Y")
#line 594 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("TFR"), _imp_str_literal(""), _imp_str_literal("S,Y"));
                                                                //    595        alloc = 0
#line 595 "regression-compile-tmp/skimpd.imp"
ALLOC = 0;
                                                                //    596        base = ",Y"
#line 596 "regression-compile-tmp/skimpd.imp"
BASE = _imp_str_literal(",Y");
                                                                //    597     %finish
#line 597 "regression-compile-tmp/skimpd.imp"
L_0083:;
                                                                //    598     !  cad=nextcad
                                                                //    599     %if level # 1 %then %start
#line 599 "regression-compile-tmp/skimpd.imp"
if (((LEVEL) == (1))) goto L_0085;
                                                                //    600        ! REMOVED TO 'SKIMPB'
                                                                //    601     %finish %else %start
#line 601 "regression-compile-tmp/skimpd.imp"
goto L_0086;
#line 601 "regression-compile-tmp/skimpd.imp"
L_0085:;
                                                                //    602        dump("", "LEA", "S", "-A" . s(rt(level)) . ",X")
#line 602 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LEA"), _imp_str_literal("S"), _imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("-A"),(_imp_string)S(RT[LEVEL])),(_imp_string)_imp_str_literal(",X")));
                                                                //    603     %finish
#line 603 "regression-compile-tmp/skimpd.imp"
L_0086:;
                                                                //    604     nextrad(level) = alloc
#line 604 "regression-compile-tmp/skimpd.imp"
NEXTRAD[LEVEL] = ALLOC;
                                                                //    605     %result = alloc
#line 605 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return ALLOC;
                                                                //    606  %end
#line 606 "regression-compile-tmp/skimpd.imp"
} // End of block ENTER at level 1
                                                                //    607  !-----------------------------------------------------------------------
                                                                //    608  %external %routine dumpreturn
#line 608 "regression-compile-tmp/skimpd.imp"
void DUMPRETURN( void )
#line 608 "regression-compile-tmp/skimpd.imp"
{
                                                                //    609     dump("", "TFR", "", "Y,S")
#line 609 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("TFR"), _imp_str_literal(""), _imp_str_literal("Y,S"));
                                                                //    610     dump("", "PUL", "S", "Y,PC")
#line 610 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("PUL"), _imp_str_literal("S"), _imp_str_literal("Y,PC"));
                                                                //    611  %end
#line 611 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DUMPRETURN at level 1
                                                                //    612  !-----------------------------------------------------------------------
                                                                //    613  %external %routine array(%integer arrayp)
#line 613 "regression-compile-tmp/skimpd.imp"
void ARRAY( int ARRAYP )
#line 613 "regression-compile-tmp/skimpd.imp"
{
                                                                //    614     %integer namep, actualp, exprp, exprsp, ident, nametag, basep, disp
#line 614 "regression-compile-tmp/skimpd.imp"
int NAMEP;
#line 614 "regression-compile-tmp/skimpd.imp"
int ACTUALP;
#line 614 "regression-compile-tmp/skimpd.imp"
int EXPRP;
#line 614 "regression-compile-tmp/skimpd.imp"
int EXPRSP;
#line 614 "regression-compile-tmp/skimpd.imp"
int IDENT;
#line 614 "regression-compile-tmp/skimpd.imp"
int NAMETAG;
#line 614 "regression-compile-tmp/skimpd.imp"
int BASEP;
#line 614 "regression-compile-tmp/skimpd.imp"
int DISP;
                                                                //    615     %string (4) base
#line 615 "regression-compile-tmp/skimpd.imp"
_imp_string /*%string(4)*/ BASE;
                                                                //    616     namep = a(arrayp + 1)
#line 616 "regression-compile-tmp/skimpd.imp"
NAMEP = (A-1)[(((int)(ARRAYP)) + (1))];
                                                                //    617     actualp = a(arrayp + 2)
#line 617 "regression-compile-tmp/skimpd.imp"
ACTUALP = (A-1)[(((int)(ARRAYP)) + (2))];
                                                                //    618     ident = a(namep + 1)
#line 618 "regression-compile-tmp/skimpd.imp"
IDENT = (A-1)[(((int)(NAMEP)) + (1))];
                                                                //    619     %if a(actualp) = 1 %then %start
#line 619 "regression-compile-tmp/skimpd.imp"
if ((((A-1)[ACTUALP]) != (1))) goto L_0087;
                                                                //    620        dump("  ", "CLR", "A", "")
#line 620 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("  "), _imp_str_literal("CLR"), _imp_str_literal("A"), _imp_str_literal(""));
                                                                //    621        dump("", "ANDCC", "", "0")
#line 621 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("ANDCC"), _imp_str_literal(""), _imp_str_literal("0"));
                                                                //    622        exprp = a(actualp + 1)
#line 622 "regression-compile-tmp/skimpd.imp"
EXPRP = (A-1)[(((int)(ACTUALP)) + (1))];
                                                                //    623        exprsp = a(actualp + 2)
#line 623 "regression-compile-tmp/skimpd.imp"
EXPRSP = (A-1)[(((int)(ACTUALP)) + (2))];
                                                                //    624        expr(exprp)
#line 624 "regression-compile-tmp/skimpd.imp"
EXPR(EXPRP);
                                                                //    625        nametag = tag(taglink(ident))
#line 625 "regression-compile-tmp/skimpd.imp"
NAMETAG = (TAG-1)[TAGLINK[IDENT]];
                                                                //    626        basep = nametag >> 16 & 16_F
#line 626 "regression-compile-tmp/skimpd.imp"
BASEP = (((int)((((unsigned int)(NAMETAG)) >> (16)))) & (15));
                                                                //    627        base = display(basep)
#line 627 "regression-compile-tmp/skimpd.imp"
BASE = DISPLAY[BASEP];
                                                                //    628        base = ",Y" %if basep = level
#line 628 "regression-compile-tmp/skimpd.imp"
if (((BASEP) != (LEVEL))) goto L_0088;
#line 628 "regression-compile-tmp/skimpd.imp"
BASE = _imp_str_literal(",Y");
#line 628 "regression-compile-tmp/skimpd.imp"
L_0088:;
                                                                //    629        base = ",X" %if basep = 1
#line 629 "regression-compile-tmp/skimpd.imp"
if (((BASEP) != (1))) goto L_0089;
#line 629 "regression-compile-tmp/skimpd.imp"
BASE = _imp_str_literal(",X");
#line 629 "regression-compile-tmp/skimpd.imp"
L_0089:;
                                                                //    630        disp = nametag & 16_FFFF
#line 630 "regression-compile-tmp/skimpd.imp"
DISP = ((NAMETAG) & (65535));
                                                                //    631        dump("", "BCC", "", "*+3")
#line 631 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("BCC"), _imp_str_literal(""), _imp_str_literal("*+3"));
                                                                //    632        dump("", "INC", "A", "")
#line 632 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("INC"), _imp_str_literal("A"), _imp_str_literal(""));
                                                                //    633        %if basep = 1 %or basep = level %start
#line 633 "regression-compile-tmp/skimpd.imp"
if (((BASEP) == (1))) goto L_004b;
#line 633 "regression-compile-tmp/skimpd.imp"
if (((BASEP) != (LEVEL))) goto L_008a;
#line 633 "regression-compile-tmp/skimpd.imp"
L_004b:;
                                                                //    634           dump("", "ADD", "D", "-" . s(disp) . base)
#line 634 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("ADD"), _imp_str_literal("D"), _imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("-"),(_imp_string)S(DISP)),(_imp_string)BASE));
                                                                //    635        %finish %else %start
#line 635 "regression-compile-tmp/skimpd.imp"
goto L_008b;
#line 635 "regression-compile-tmp/skimpd.imp"
L_008a:;
                                                                //    636           dump("", "PSH", "U", "A,B")
#line 636 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("PSH"), _imp_str_literal("U"), _imp_str_literal("A,B"));
                                                                //    637           dump("", "LD", "D", display(basep))
#line 637 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LD"), _imp_str_literal("D"), DISPLAY[BASEP]);
                                                                //    638           dump("", "SUB", "D", "#" . s(disp))
#line 638 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("SUB"), _imp_str_literal("D"), _imp_join((_imp_string)_imp_str_literal("#"),(_imp_string)S(DISP)));
                                                                //    639           dump("", "ST", "D", "0,X")
#line 639 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("ST"), _imp_str_literal("D"), _imp_str_literal("0,X"));
                                                                //    640           dump("", "LD", "D", "[0,X]")
#line 640 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LD"), _imp_str_literal("D"), _imp_str_literal("[0,X]"));
                                                                //    641           dump("", "ADD", "D", ",U++")
#line 641 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("ADD"), _imp_str_literal("D"), _imp_str_literal(",U++"));
                                                                //    642        %finish
#line 642 "regression-compile-tmp/skimpd.imp"
L_008b:;
                                                                //    643        dump("", "ST", "D", "0,X") %if aopt = 0
#line 643 "regression-compile-tmp/skimpd.imp"
if (((AOPT) != (0))) goto L_008c;
#line 643 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("ST"), _imp_str_literal("D"), _imp_str_literal("0,X"));
#line 643 "regression-compile-tmp/skimpd.imp"
L_008c:;
                                                                //    644        aopt = 0
#line 644 "regression-compile-tmp/skimpd.imp"
AOPT = 0;
                                                                //    645        !    dump("ADD","ACC",display(nametag>>16&16_f),nametag&16_ffff)
                                                                //    646        %if a(exprsp) = 1 %then fault("ARRAY " . name(ident) . " HAS EXTRA INDEX")
#line 646 "regression-compile-tmp/skimpd.imp"
if ((((A-1)[EXPRSP]) != (1))) goto L_008d;
#line 646 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("ARRAY "),(_imp_string)NAME(IDENT)),(_imp_string)_imp_str_literal(" HAS EXTRA INDEX")));
#line 646 "regression-compile-tmp/skimpd.imp"
L_008d:;
                                                                //    647     %finish %else fault("ARRAY " . name(ident) . " HAS NO INDEX")
#line 647 "regression-compile-tmp/skimpd.imp"
goto L_008e;
#line 647 "regression-compile-tmp/skimpd.imp"
L_0087:;
#line 647 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("ARRAY "),(_imp_string)NAME(IDENT)),(_imp_string)_imp_str_literal(" HAS NO INDEX")));
#line 647 "regression-compile-tmp/skimpd.imp"
L_008e:;
                                                                //    648  %end
#line 648 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ARRAY at level 1
                                                                //    649  !-----------------------------------------------------------------------
                                                                //    650  %external %routine proc(%integer procp)
#line 650 "regression-compile-tmp/skimpd.imp"
void PROC( int PROCP )
#line 650 "regression-compile-tmp/skimpd.imp"
{
                                                                //    651     %string (4) opn, base, reg
#line 651 "regression-compile-tmp/skimpd.imp"
_imp_string /*%string(4)*/ OPN;
#line 651 "regression-compile-tmp/skimpd.imp"
_imp_string /*%string(4)*/ BASE;
#line 651 "regression-compile-tmp/skimpd.imp"
_imp_string /*%string(4)*/ REG;
                                                                //    652     %integer namep, ident, nametag, ptagl, l, actualp, exprp, unaryp, operandp, %c
#line 652 "regression-compile-tmp/skimpd.imp"
int NAMEP;
#line 652 "regression-compile-tmp/skimpd.imp"
int IDENT;
#line 652 "regression-compile-tmp/skimpd.imp"
int NAMETAG;
#line 652 "regression-compile-tmp/skimpd.imp"
int PTAGL;
#line 652 "regression-compile-tmp/skimpd.imp"
int L;
#line 652 "regression-compile-tmp/skimpd.imp"
int ACTUALP;
#line 652 "regression-compile-tmp/skimpd.imp"
int EXPRP;
#line 652 "regression-compile-tmp/skimpd.imp"
int UNARYP;
#line 652 "regression-compile-tmp/skimpd.imp"
int OPERANDP;
#line 652 "regression-compile-tmp/skimpd.imp"
int NPARS;
#line 652 "regression-compile-tmp/skimpd.imp"
int PTAG;
#line 652 "regression-compile-tmp/skimpd.imp"
int PNAMEP;
#line 652 "regression-compile-tmp/skimpd.imp"
int PIDENT;
#line 652 "regression-compile-tmp/skimpd.imp"
int PNAMETAG;
#line 652 "regression-compile-tmp/skimpd.imp"
int PACTUALP;
#line 652 "regression-compile-tmp/skimpd.imp"
int DISP;
#line 652 "regression-compile-tmp/skimpd.imp"
int EXPRRESTP;
#line 652 "regression-compile-tmp/skimpd.imp"
int EXPRSP;
#line 652 "regression-compile-tmp/skimpd.imp"
int OLDPARAMS;
#line 652 "regression-compile-tmp/skimpd.imp"
int BASEP;
#line 652 "regression-compile-tmp/skimpd.imp"
int SIZE;
                                                                //    653       npars, ptag, pnamep, pident, pnametag, pactualp, disp, exprrestp, exprsp, %c
                                                                //    654       oldparams, basep, size
                                                                //    655     !  %if params>2 %then dump("LDA","STP","STP",params)
                                                                //    656     !***! hack !***!
                                                                //    657     %if params >= 2 %then dump("", "LEA", "S", "-" . s(params + 1) . ",S")
#line 657 "regression-compile-tmp/skimpd.imp"
if (((PARAMS) < (2))) goto L_008f;
#line 657 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LEA"), _imp_str_literal("S"), _imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("-"),(_imp_string)S((((int)(PARAMS)) + (1)))),(_imp_string)_imp_str_literal(",S")));
#line 657 "regression-compile-tmp/skimpd.imp"
L_008f:;
                                                                //    658     !***! hack !***!
                                                                //    659     oldparams = params
#line 659 "regression-compile-tmp/skimpd.imp"
OLDPARAMS = PARAMS;
                                                                //    660     params = 4
#line 660 "regression-compile-tmp/skimpd.imp"
PARAMS = 4;
                                                                //    661     namep = a(procp + 1)
#line 661 "regression-compile-tmp/skimpd.imp"
NAMEP = (A-1)[(((int)(PROCP)) + (1))];
                                                                //    662     actualp = a(procp + 2)
#line 662 "regression-compile-tmp/skimpd.imp"
ACTUALP = (A-1)[(((int)(PROCP)) + (2))];
                                                                //    663     ident = a(namep + 1)
#line 663 "regression-compile-tmp/skimpd.imp"
IDENT = (A-1)[(((int)(NAMEP)) + (1))];
                                                                //    664     l = taglink(ident)
#line 664 "regression-compile-tmp/skimpd.imp"
L = TAGLINK[IDENT];
                                                                //    665     nametag = tag(l)
#line 665 "regression-compile-tmp/skimpd.imp"
NAMETAG = (TAG-1)[L];
                                                                //    666     ptagl = link(l)
#line 666 "regression-compile-tmp/skimpd.imp"
PTAGL = (LINK-1)[L];
                                                                //    667     npars = nametag >> 20 & 16_F
#line 667 "regression-compile-tmp/skimpd.imp"
NPARS = (((int)((((unsigned int)(NAMETAG)) >> (20)))) & (15));
                                                                //    668     %if npars = 0 %then %start
#line 668 "regression-compile-tmp/skimpd.imp"
if (((NPARS) != (0))) goto L_0090;
                                                                //    669        %if a(actualp) = 1 %then fault(name(ident) . " HAS PARAMETERS") %and %return
#line 669 "regression-compile-tmp/skimpd.imp"
if ((((A-1)[ACTUALP]) != (1))) goto L_0091;
#line 669 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_join((_imp_string)NAME(IDENT),(_imp_string)_imp_str_literal(" HAS PARAMETERS")));
#line 669 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 669 "regression-compile-tmp/skimpd.imp"
L_0091:;
                                                                //    670     %finish %else %start
#line 670 "regression-compile-tmp/skimpd.imp"
goto L_0092;
#line 670 "regression-compile-tmp/skimpd.imp"
L_0090:;
                                                                //    671        %if a(actualp) = 2 %then fault(name(ident) . " MISSING PARAMETERS") %and %return
#line 671 "regression-compile-tmp/skimpd.imp"
if ((((A-1)[ACTUALP]) != (2))) goto L_0093;
#line 671 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_join((_imp_string)NAME(IDENT),(_imp_string)_imp_str_literal(" MISSING PARAMETERS")));
#line 671 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 671 "regression-compile-tmp/skimpd.imp"
L_0093:;
                                                                //    672        exprp = a(actualp + 1)
#line 672 "regression-compile-tmp/skimpd.imp"
EXPRP = (A-1)[(((int)(ACTUALP)) + (1))];
                                                                //    673        exprsp = a(actualp + 2)
#line 673 "regression-compile-tmp/skimpd.imp"
EXPRSP = (A-1)[(((int)(ACTUALP)) + (2))];
                                                                //    674        %cycle 
#line 674 "regression-compile-tmp/skimpd.imp"
L_0094:;
                                                                //    675           ! for each parameter
                                                                //    676           ptag = tag(ptagl)
#line 676 "regression-compile-tmp/skimpd.imp"
PTAG = (TAG-1)[PTAGL];
                                                                //    677           %if ptag >> 28 = 0 %then expr(exprp) %and reg = "B" %else %start
#line 677 "regression-compile-tmp/skimpd.imp"
if ((((int)((((unsigned int)(PTAG)) >> (28)))) != (0))) goto L_0097;
#line 677 "regression-compile-tmp/skimpd.imp"
EXPR(EXPRP);
#line 677 "regression-compile-tmp/skimpd.imp"
REG = _imp_str_literal("B");
#line 677 "regression-compile-tmp/skimpd.imp"
goto L_0098;
#line 677 "regression-compile-tmp/skimpd.imp"
L_0097:;
                                                                //    678              reg = "D"
#line 678 "regression-compile-tmp/skimpd.imp"
REG = _imp_str_literal("D");
                                                                //    679              unaryp = a(exprp + 1)
#line 679 "regression-compile-tmp/skimpd.imp"
UNARYP = (A-1)[(((int)(EXPRP)) + (1))];
                                                                //    680              operandp = a(exprp + 2)
#line 680 "regression-compile-tmp/skimpd.imp"
OPERANDP = (A-1)[(((int)(EXPRP)) + (2))];
                                                                //    681              exprrestp = a(exprp + 3)
#line 681 "regression-compile-tmp/skimpd.imp"
EXPRRESTP = (A-1)[(((int)(EXPRP)) + (3))];
                                                                //    682              %unless a(unaryp) = 4 %and a(operandp) = 1 %and a(exprrestp) = 2 %c
#line 682 "regression-compile-tmp/skimpd.imp"
if ((((A-1)[UNARYP]) != (4))) goto L_0099;
#line 682 "regression-compile-tmp/skimpd.imp"
if ((((A-1)[OPERANDP]) != (1))) goto L_0099;
#line 682 "regression-compile-tmp/skimpd.imp"
if ((((A-1)[EXPRRESTP]) == (2))) goto L_009a;
#line 682 "regression-compile-tmp/skimpd.imp"
L_0099:;
#line 682 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_str_literal("NOT A %NAME PARAMETER"));
#line 682 "regression-compile-tmp/skimpd.imp"
goto L_009b;
#line 682 "regression-compile-tmp/skimpd.imp"
L_009a:;
                                                                //    683           %then fault("NOT A %NAME PARAMETER") %else %start
                                                                //    684                 pnamep = a(operandp + 1)
#line 684 "regression-compile-tmp/skimpd.imp"
PNAMEP = (A-1)[(((int)(OPERANDP)) + (1))];
                                                                //    685                 pactualp = a(operandp + 2)
#line 685 "regression-compile-tmp/skimpd.imp"
PACTUALP = (A-1)[(((int)(OPERANDP)) + (2))];
                                                                //    686                 pident = a(pnamep + 1)
#line 686 "regression-compile-tmp/skimpd.imp"
PIDENT = (A-1)[(((int)(PNAMEP)) + (1))];
                                                                //    687                 !?          %if taglink(pident)=0 %then fault(name(pident). !?            " NOT DECLARED") %else %start
                                                                //    688                 %if taglink(pident) = 0 %then %start
#line 688 "regression-compile-tmp/skimpd.imp"
if (((TAGLINK[PIDENT]) != (0))) goto L_009c;
                                                                //    689                    dump("", "LD", "B", name(pident))
#line 689 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LD"), _imp_str_literal("B"), NAME(PIDENT));
                                                                //    690                 %finish %else %start
#line 690 "regression-compile-tmp/skimpd.imp"
goto L_009d;
#line 690 "regression-compile-tmp/skimpd.imp"
L_009c:;
                                                                //    691                    pnametag = tag(taglink(pident))
#line 691 "regression-compile-tmp/skimpd.imp"
PNAMETAG = (TAG-1)[TAGLINK[PIDENT]];
                                                                //    692                    %if pnametag >> 28 = 4 %then fault(name(pident) . " NOT A %NAME") %else %start
#line 692 "regression-compile-tmp/skimpd.imp"
if ((((int)((((unsigned int)(PNAMETAG)) >> (28)))) != (4))) goto L_009e;
#line 692 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_join((_imp_string)NAME(PIDENT),(_imp_string)_imp_str_literal(" NOT A %NAME")));
#line 692 "regression-compile-tmp/skimpd.imp"
goto L_009f;
#line 692 "regression-compile-tmp/skimpd.imp"
L_009e:;
                                                                //    693                       basep = pnametag >> 16 & 16_F
#line 693 "regression-compile-tmp/skimpd.imp"
BASEP = (((int)((((unsigned int)(PNAMETAG)) >> (16)))) & (15));
                                                                //    694                       base = display(basep)
#line 694 "regression-compile-tmp/skimpd.imp"
BASE = DISPLAY[BASEP];
                                                                //    695                       disp = pnametag & 16_FFFF
#line 695 "regression-compile-tmp/skimpd.imp"
DISP = ((PNAMETAG) & (65535));
                                                                //    696                       base = "Y" %if basep = level
#line 696 "regression-compile-tmp/skimpd.imp"
if (((BASEP) != (LEVEL))) goto L_00a0;
#line 696 "regression-compile-tmp/skimpd.imp"
BASE = _imp_str_literal("Y");
#line 696 "regression-compile-tmp/skimpd.imp"
L_00a0:;
                                                                //    697                       base = "X" %if basep = 1
#line 697 "regression-compile-tmp/skimpd.imp"
if (((BASEP) != (1))) goto L_00a1;
#line 697 "regression-compile-tmp/skimpd.imp"
BASE = _imp_str_literal("X");
#line 697 "regression-compile-tmp/skimpd.imp"
L_00a1:;
                                                                //    698                       %if ptag >> 28 = 1 %then %start
#line 698 "regression-compile-tmp/skimpd.imp"
if ((((int)((((unsigned int)(PTAG)) >> (28)))) != (1))) goto L_00a2;
                                                                //    699                          ! %name
                                                                //    700                          %if pnametag >> 28 >= 2 %then aopt = 1 %and array(operandp) %else %start
#line 700 "regression-compile-tmp/skimpd.imp"
if ((((int)((((unsigned int)(PNAMETAG)) >> (28)))) < (2))) goto L_00a3;
#line 700 "regression-compile-tmp/skimpd.imp"
AOPT = 1;
#line 700 "regression-compile-tmp/skimpd.imp"
ARRAY(OPERANDP);
#line 700 "regression-compile-tmp/skimpd.imp"
goto L_00a4;
#line 700 "regression-compile-tmp/skimpd.imp"
L_00a3:;
                                                                //    701                             %if pnametag >> 28 = 1 %then %start
#line 701 "regression-compile-tmp/skimpd.imp"
if ((((int)((((unsigned int)(PNAMETAG)) >> (28)))) != (1))) goto L_00a5;
                                                                //    702                                %if 1 < basep < level %start
#line 702 "regression-compile-tmp/skimpd.imp"
if ((((1) >= (BASEP))) || (((BASEP) >= (LEVEL)))) goto L_00a6;
                                                                //    703                                   dump("", "LD", reg, base)
#line 703 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LD"), REG, BASE);
                                                                //    704                                   dump("", "SUB", reg, "#" . s(disp))
#line 704 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("SUB"), REG, _imp_join((_imp_string)_imp_str_literal("#"),(_imp_string)S(DISP)));
                                                                //    705                                   dump("", "ST", reg, "0,X")
#line 705 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("ST"), REG, _imp_str_literal("0,X"));
                                                                //    706                                   dump("", "LD", reg, "[0,X]")
#line 706 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LD"), REG, _imp_str_literal("[0,X]"));
                                                                //    707                                %finish %else %start
#line 707 "regression-compile-tmp/skimpd.imp"
goto L_00a7;
#line 707 "regression-compile-tmp/skimpd.imp"
L_00a6:;
                                                                //    708                                   dump("", "LD", reg, "-" . s(disp) . "," . base)
#line 708 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LD"), REG, _imp_join((_imp_string)_imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("-"),(_imp_string)S(DISP)),(_imp_string)_imp_str_literal(",")),(_imp_string)BASE));
                                                                //    709                                %finish
#line 709 "regression-compile-tmp/skimpd.imp"
L_00a7:;
                                                                //    710                             %finish %else %start
#line 710 "regression-compile-tmp/skimpd.imp"
goto L_00a8;
#line 710 "regression-compile-tmp/skimpd.imp"
L_00a5:;
                                                                //    711                                %if 1 < basep < level %start
#line 711 "regression-compile-tmp/skimpd.imp"
if ((((1) >= (BASEP))) || (((BASEP) >= (LEVEL)))) goto L_00a9;
                                                                //    712                                   dump("", "LD", reg, base)
#line 712 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LD"), REG, BASE);
                                                                //    713                                   dump("", "SUB", reg, "#" . s(disp))
#line 713 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("SUB"), REG, _imp_join((_imp_string)_imp_str_literal("#"),(_imp_string)S(DISP)));
                                                                //    714                                %finish %else %start
#line 714 "regression-compile-tmp/skimpd.imp"
goto L_00aa;
#line 714 "regression-compile-tmp/skimpd.imp"
L_00a9:;
                                                                //    715                                   %if basep = 1 = level %then %start
#line 715 "regression-compile-tmp/skimpd.imp"
if ((((BASEP) != (1))) || (((1) != (LEVEL)))) goto L_00ab;
                                                                //    716                                      dump("", "LEA", "Y", "-" . s(disp) . ",X")
#line 716 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LEA"), _imp_str_literal("Y"), _imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("-"),(_imp_string)S(DISP)),(_imp_string)_imp_str_literal(",X")));
                                                                //    717                                      reg = "Y"
#line 717 "regression-compile-tmp/skimpd.imp"
REG = _imp_str_literal("Y");
                                                                //    718                                   %finish %else %start
#line 718 "regression-compile-tmp/skimpd.imp"
goto L_00ac;
#line 718 "regression-compile-tmp/skimpd.imp"
L_00ab:;
                                                                //    719                                      dump("", "TFR", "", base . ",D")
#line 719 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("TFR"), _imp_str_literal(""), _imp_join((_imp_string)BASE,(_imp_string)_imp_str_literal(",D")));
                                                                //    720                                      dump("", "SUB", reg, "#" . s(disp))
#line 720 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("SUB"), REG, _imp_join((_imp_string)_imp_str_literal("#"),(_imp_string)S(DISP)));
                                                                //    721                                   %finish
#line 721 "regression-compile-tmp/skimpd.imp"
L_00ac:;
                                                                //    722                                   ! GET ADDRESS OF A %NAME INTO B
                                                                //    723                                %finish
#line 723 "regression-compile-tmp/skimpd.imp"
L_00aa:;
                                                                //    724                             %finish
#line 724 "regression-compile-tmp/skimpd.imp"
L_00a8:;
                                                                //    725                             !   CHECK FOR SILLY BASE REGISTER
                                                                //    726                             !                  dump(opn,"ACC",base,disp)
                                                                //    727                             %if a(pactualp) = 1 %then fault(name(pident) . " DECLARED AS SCALAR")
#line 727 "regression-compile-tmp/skimpd.imp"
if ((((A-1)[PACTUALP]) != (1))) goto L_00ad;
#line 727 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_join((_imp_string)NAME(PIDENT),(_imp_string)_imp_str_literal(" DECLARED AS SCALAR")));
#line 727 "regression-compile-tmp/skimpd.imp"
L_00ad:;
                                                                //    728                          %finish
#line 728 "regression-compile-tmp/skimpd.imp"
L_00a4:;
                                                                //    729                       %finish %else %start
#line 729 "regression-compile-tmp/skimpd.imp"
goto L_00ae;
#line 729 "regression-compile-tmp/skimpd.imp"
L_00a2:;
                                                                //    730                          !                dump("LOAD","ACC",base,disp)    ;! %array
                                                                //    731                          %if base = "Y" %or base = "X" %start
#line 731 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(BASE, _imp_str_literal("Y")) == 0)) goto L_00af;
#line 731 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(BASE, _imp_str_literal("X")) != 0)) goto L_00b0;
#line 731 "regression-compile-tmp/skimpd.imp"
L_00af:;
                                                                //    732                             dump("", "LD", reg, "-" . s(disp) . "," . base)
#line 732 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LD"), REG, _imp_join((_imp_string)_imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("-"),(_imp_string)S(DISP)),(_imp_string)_imp_str_literal(",")),(_imp_string)BASE));
                                                                //    733                          %finish %else %start
#line 733 "regression-compile-tmp/skimpd.imp"
goto L_00b1;
#line 733 "regression-compile-tmp/skimpd.imp"
L_00b0:;
                                                                //    734                             dump("", "LD", reg, base)
#line 734 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LD"), REG, BASE);
                                                                //    735                             dump("", "SUB", reg, "#" . s(disp))
#line 735 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("SUB"), REG, _imp_join((_imp_string)_imp_str_literal("#"),(_imp_string)S(DISP)));
                                                                //    736                             dump("", "ST", reg, "0,X")
#line 736 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("ST"), REG, _imp_str_literal("0,X"));
                                                                //    737                             dump("", "LD", reg, "[0,X]")
#line 737 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LD"), REG, _imp_str_literal("[0,X]"));
                                                                //    738                          %finish
#line 738 "regression-compile-tmp/skimpd.imp"
L_00b1:;
                                                                //    739                          !   CHECK SILLY BASE REGISTER
                                                                //    740                          %if a(pactualp) = 1 %then fault("%ARRAYNAME " . name(pident) . " HAS INDEX")
#line 740 "regression-compile-tmp/skimpd.imp"
if ((((A-1)[PACTUALP]) != (1))) goto L_00b2;
#line 740 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("%ARRAYNAME "),(_imp_string)NAME(PIDENT)),(_imp_string)_imp_str_literal(" HAS INDEX")));
#line 740 "regression-compile-tmp/skimpd.imp"
L_00b2:;
                                                                //    741                       %finish
#line 741 "regression-compile-tmp/skimpd.imp"
L_00ae:;
                                                                //    742                    %finish
#line 742 "regression-compile-tmp/skimpd.imp"
L_009f:;
                                                                //    743                 %finish
#line 743 "regression-compile-tmp/skimpd.imp"
L_009d:;
                                                                //    744              %finish
#line 744 "regression-compile-tmp/skimpd.imp"
L_009b:;
                                                                //    745           %finish
#line 745 "regression-compile-tmp/skimpd.imp"
L_0098:;
                                                                //    746           !      dump("STR","ACC","STP",params)
                                                                //    747           %if reg = "D" %or reg = "Y" %then size = 2 %else size = 1
#line 747 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(REG, _imp_str_literal("D")) == 0)) goto L_0057;
#line 747 "regression-compile-tmp/skimpd.imp"
if ((_imp_strcmp(REG, _imp_str_literal("Y")) != 0)) goto L_00b3;
#line 747 "regression-compile-tmp/skimpd.imp"
L_0057:;
#line 747 "regression-compile-tmp/skimpd.imp"
SIZE = 2;
#line 747 "regression-compile-tmp/skimpd.imp"
goto L_00b4;
#line 747 "regression-compile-tmp/skimpd.imp"
L_00b3:;
#line 747 "regression-compile-tmp/skimpd.imp"
SIZE = 1;
#line 747 "regression-compile-tmp/skimpd.imp"
L_00b4:;
                                                                //    748           params = params + size
#line 748 "regression-compile-tmp/skimpd.imp"
PARAMS = (((int)(PARAMS)) + (SIZE));
                                                                //    749           dump("", "ST", reg, "-" . s(params) . ",S")
#line 749 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("ST"), REG, _imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("-"),(_imp_string)S(PARAMS)),(_imp_string)_imp_str_literal(",S")));
                                                                //    750           npars = npars - 1
#line 750 "regression-compile-tmp/skimpd.imp"
NPARS = (((int)(NPARS)) - (1));
                                                                //    751           %if npars = 0 %then %start
#line 751 "regression-compile-tmp/skimpd.imp"
if (((NPARS) != (0))) goto L_00b5;
                                                                //    752              %if a(exprsp) = 1 %then fault(name(ident) . " HAS EXTRA PARAMETERS")
#line 752 "regression-compile-tmp/skimpd.imp"
if ((((A-1)[EXPRSP]) != (1))) goto L_00b6;
#line 752 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_join((_imp_string)NAME(IDENT),(_imp_string)_imp_str_literal(" HAS EXTRA PARAMETERS")));
#line 752 "regression-compile-tmp/skimpd.imp"
L_00b6:;
                                                                //    753              %exit
#line 753 "regression-compile-tmp/skimpd.imp"
goto L_0095;
                                                                //    754           %finish
#line 754 "regression-compile-tmp/skimpd.imp"
L_00b5:;
                                                                //    755           ptagl = link(ptagl)
#line 755 "regression-compile-tmp/skimpd.imp"
PTAGL = (LINK-1)[PTAGL];
                                                                //    756           %if a(exprsp) = 2 %then fault(name(ident) . " IS MISSING PARAMETERS") %and %exit
#line 756 "regression-compile-tmp/skimpd.imp"
if ((((A-1)[EXPRSP]) != (2))) goto L_00b7;
#line 756 "regression-compile-tmp/skimpd.imp"
FAULT(_imp_join((_imp_string)NAME(IDENT),(_imp_string)_imp_str_literal(" IS MISSING PARAMETERS")));
#line 756 "regression-compile-tmp/skimpd.imp"
goto L_0095;
#line 756 "regression-compile-tmp/skimpd.imp"
L_00b7:;
                                                                //    757           exprp = a(exprsp + 1)
#line 757 "regression-compile-tmp/skimpd.imp"
EXPRP = (A-1)[(((int)(EXPRSP)) + (1))];
                                                                //    758           exprsp = a(exprsp + 2)
#line 758 "regression-compile-tmp/skimpd.imp"
EXPRSP = (A-1)[(((int)(EXPRSP)) + (2))];
                                                                //    759        %repeat
#line 759 "regression-compile-tmp/skimpd.imp"
goto L_0094;
#line 759 "regression-compile-tmp/skimpd.imp"
L_0095:;
                                                                //    760     %finish
#line 760 "regression-compile-tmp/skimpd.imp"
L_0092:;
                                                                //    761     ! external i/o routines at level 0
                                                                //    762     %if nametag >> 16 & 16_F = 0 %then base = "EXT" %else base = "E"
#line 762 "regression-compile-tmp/skimpd.imp"
if ((((((int)((((unsigned int)(NAMETAG)) >> (16)))) & (15))) != (0))) goto L_00b8;
#line 762 "regression-compile-tmp/skimpd.imp"
BASE = _imp_str_literal("EXT");
#line 762 "regression-compile-tmp/skimpd.imp"
goto L_00b9;
#line 762 "regression-compile-tmp/skimpd.imp"
L_00b8:;
#line 762 "regression-compile-tmp/skimpd.imp"
BASE = _imp_str_literal("E");
#line 762 "regression-compile-tmp/skimpd.imp"
L_00b9:;
                                                                //    763     %if nametag >> 16 & 16_F = 0 %then %start
#line 763 "regression-compile-tmp/skimpd.imp"
if ((((((int)((((unsigned int)(NAMETAG)) >> (16)))) & (15))) != (0))) goto L_00ba;
                                                                //    764        used(nametag & 16_F) = 1
#line 764 "regression-compile-tmp/skimpd.imp"
USED[((NAMETAG) & (15))] = 1;
                                                                //    765     %finish
#line 765 "regression-compile-tmp/skimpd.imp"
L_00ba:;
                                                                //    766     dump("", "LBSR", "", base . s(nametag & 16_FFFF))
#line 766 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LBSR"), _imp_str_literal(""), _imp_join((_imp_string)BASE,(_imp_string)S(((NAMETAG) & (65535)))));
                                                                //    767     params = oldparams
#line 767 "regression-compile-tmp/skimpd.imp"
PARAMS = OLDPARAMS;
                                                                //    768     !                      EH??????
                                                                //    769     !***! frig !***!
                                                                //    770     %if params >= 2 %then dump("", "LEA", "S", s(params + 1) . ",S")
#line 770 "regression-compile-tmp/skimpd.imp"
if (((PARAMS) < (2))) goto L_00bb;
#line 770 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LEA"), _imp_str_literal("S"), _imp_join((_imp_string)S((((int)(PARAMS)) + (1))),(_imp_string)_imp_str_literal(",S")));
#line 770 "regression-compile-tmp/skimpd.imp"
L_00bb:;
                                                                //    771     !  %if params>2 %then dump("SUB","STP","COT",getcoti(params))
                                                                //    772  %end
#line 772 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PROC at level 1
                                                                //    773  !-----------------------------------------------------------------------
                                                                //    774  %external %routine endofprog
#line 774 "regression-compile-tmp/skimpd.imp"
void ENDOFPROG( void )
#line 774 "regression-compile-tmp/skimpd.imp"
{
                                                                //    775     %integer i
#line 775 "regression-compile-tmp/skimpd.imp"
int I;
                                                                //    776     dump("", "SWI", "2", "")
#line 776 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("SWI"), _imp_str_literal("2"), _imp_str_literal(""));
                                                                //    777     dump("STACK", "EQU", "", "$0800-1")
#line 777 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("STACK"), _imp_str_literal("EQU"), _imp_str_literal(""), _imp_str_literal("$0800-1"));
                                                                //    778     dump("USTK", "EQU", "", "$20")
#line 778 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("USTK"), _imp_str_literal("EQU"), _imp_str_literal(""), _imp_str_literal("$20"));
                                                                //    779     !  DUMP("EXT1","EQU","","") %IF USED(1)=1
                                                                //    780     !  DUMP("EXT2","EQU","","") %IF USED(2)=1
                                                                //    781     !  DUMP("EXT3","EQU","","") %IF USED(3)=1
                                                                //    782     !  DUMP("EXT4","EQU","","") %IF USED(4)=1
                                                                //    783     !  DUMP("EXT5","EQU","","") %IF USED(5)=1
                                                                //    784     !  DUMP("EXT6","EQU","","") %IF USED(6)=1
                                                                //    785     !  DUMP("EXT7","EQU","","") %IF USED(7)=1
                                                                //    786     !  DUMP("EXT8","EQU","","") %IF USED(8)=1
                                                                //    787     !  DUMP("EXT9","EQU","","") %IF USED(9)=1
                                                                //    788     !  DUMP("EXT10","EQU","","") %IF USED(10)=1
                                                                //    789     !! READSYMBOL POSING AS READ
                                                                //    790     !  DUMP("EXT11","EQU","","") %AND USED(15)=1 %IF USED(11)=1
                                                                //    791     %if used(12) = 1 %then %start
#line 791 "regression-compile-tmp/skimpd.imp"
if (((USED[12]) != (1))) goto L_00bc;
                                                                //    792        dump("DOSHL", "LSL", "B", "")
#line 792 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("DOSHL"), _imp_str_literal("LSL"), _imp_str_literal("B"), _imp_str_literal(""));
                                                                //    793        dump("", "SUB", "A", "#1")
#line 793 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("SUB"), _imp_str_literal("A"), _imp_str_literal("#1"));
                                                                //    794        dump("SHL", "CMP", "A", "#0")
#line 794 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("SHL"), _imp_str_literal("CMP"), _imp_str_literal("A"), _imp_str_literal("#0"));
                                                                //    795        dump("", "BGT", "", "DOSHL")
#line 795 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("BGT"), _imp_str_literal(""), _imp_str_literal("DOSHL"));
                                                                //    796        dump("", "RTS", "", "")
#line 796 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("RTS"), _imp_str_literal(""), _imp_str_literal(""));
                                                                //    797     %finish
#line 797 "regression-compile-tmp/skimpd.imp"
L_00bc:;
                                                                //    798     %if used(13) = 1 %then %start
#line 798 "regression-compile-tmp/skimpd.imp"
if (((USED[13]) != (1))) goto L_00bd;
                                                                //    799        dump("DOSHR", "LSR", "B", "")
#line 799 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("DOSHR"), _imp_str_literal("LSR"), _imp_str_literal("B"), _imp_str_literal(""));
                                                                //    800        dump("", "SUB", "A", "#1")
#line 800 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("SUB"), _imp_str_literal("A"), _imp_str_literal("#1"));
                                                                //    801        dump("SHR", "CMP", "A", "#0")
#line 801 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("SHR"), _imp_str_literal("CMP"), _imp_str_literal("A"), _imp_str_literal("#0"));
                                                                //    802        dump("", "BGT", "", "DOSHR")
#line 802 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("BGT"), _imp_str_literal(""), _imp_str_literal("DOSHR"));
                                                                //    803        dump("", "RTS", "", "")
#line 803 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("RTS"), _imp_str_literal(""), _imp_str_literal(""));
                                                                //    804     %finish
#line 804 "regression-compile-tmp/skimpd.imp"
L_00bd:;
                                                                //    805     %if used(14) = 1 %then %start
#line 805 "regression-compile-tmp/skimpd.imp"
if (((USED[14]) != (1))) goto L_00be;
                                                                //    806        dump("EXP", "PSH", "S", "B")
#line 806 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("EXP"), _imp_str_literal("PSH"), _imp_str_literal("S"), _imp_str_literal("B"));
                                                                //    807        dump("EXP2", "CMP", "A", "#1")
#line 807 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("EXP2"), _imp_str_literal("CMP"), _imp_str_literal("A"), _imp_str_literal("#1"));
                                                                //    808        dump("", "BGT", "", "DOEXP")
#line 808 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("BGT"), _imp_str_literal(""), _imp_str_literal("DOEXP"));
                                                                //    809        dump("", "LEA", "S", "1,S")
#line 809 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LEA"), _imp_str_literal("S"), _imp_str_literal("1,S"));
                                                                //    810        dump("", "RTS", "", "")
#line 810 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("RTS"), _imp_str_literal(""), _imp_str_literal(""));
                                                                //    811        dump("DOEXP", "PSH", "U", "A")
#line 811 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("DOEXP"), _imp_str_literal("PSH"), _imp_str_literal("U"), _imp_str_literal("A"));
                                                                //    812        dump("", "LDA", "", "0,S")
#line 812 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("LDA"), _imp_str_literal(""), _imp_str_literal("0,S"));
                                                                //    813        dump("", "MUL", "", "")
#line 813 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("MUL"), _imp_str_literal(""), _imp_str_literal(""));
                                                                //    814        dump("", "PUL", "U", "A")
#line 814 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("PUL"), _imp_str_literal("U"), _imp_str_literal("A"));
                                                                //    815        dump("", "SUB", "A", "#1")
#line 815 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("SUB"), _imp_str_literal("A"), _imp_str_literal("#1"));
                                                                //    816        dump("", "BRA", "", "EXP2")
#line 816 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("BRA"), _imp_str_literal(""), _imp_str_literal("EXP2"));
                                                                //    817     %finish
#line 817 "regression-compile-tmp/skimpd.imp"
L_00be:;
                                                                //    818     %if used(15) = 1 %then %start
#line 818 "regression-compile-tmp/skimpd.imp"
if (((USED[15]) != (1))) goto L_00bf;
                                                                //    819        ! 'B'//'A'
                                                                //    820        dump("DIV", "EQU", "", "*")
#line 820 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("DIV"), _imp_str_literal("EQU"), _imp_str_literal(""), _imp_str_literal("*"));
                                                                //    821        dump("", "CLR", "", "-1,S")
#line 821 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("CLR"), _imp_str_literal(""), _imp_str_literal("-1,S"));
                                                                //    822        dump("", "CLR", "", "-2,S")
#line 822 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("CLR"), _imp_str_literal(""), _imp_str_literal("-2,S"));
                                                                //    823        dump("", "INC", "", "-2,S")
#line 823 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("INC"), _imp_str_literal(""), _imp_str_literal("-2,S"));
                                                                //    824        dump("", "TST", "B", "")
#line 824 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("TST"), _imp_str_literal("B"), _imp_str_literal(""));
                                                                //    825        dump("", "BGE", "", "TRYA")
#line 825 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("BGE"), _imp_str_literal(""), _imp_str_literal("TRYA"));
                                                                //    826        dump("", "NEG", "B", "")
#line 826 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("NEG"), _imp_str_literal("B"), _imp_str_literal(""));
                                                                //    827        dump("", "CLR", "", "-2,S")
#line 827 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("CLR"), _imp_str_literal(""), _imp_str_literal("-2,S"));
                                                                //    828        dump("TRYA", "TST", "A", "")
#line 828 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("TRYA"), _imp_str_literal("TST"), _imp_str_literal("A"), _imp_str_literal(""));
                                                                //    829        dump("", "BGE", "", "OK")
#line 829 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("BGE"), _imp_str_literal(""), _imp_str_literal("OK"));
                                                                //    830        dump("", "NEG", "A", "")
#line 830 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("NEG"), _imp_str_literal("A"), _imp_str_literal(""));
                                                                //    831        dump("", "TST", "", "-2,S")
#line 831 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("TST"), _imp_str_literal(""), _imp_str_literal("-2,S"));
                                                                //    832        dump("", "BNE", "", "OK")
#line 832 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("BNE"), _imp_str_literal(""), _imp_str_literal("OK"));
                                                                //    833        dump("", "INC", "", "-2,S")
#line 833 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("INC"), _imp_str_literal(""), _imp_str_literal("-2,S"));
                                                                //    834        dump("OK", "TST", "B", "")
#line 834 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("OK"), _imp_str_literal("TST"), _imp_str_literal("B"), _imp_str_literal(""));
                                                                //    835        dump("", "BLT", "", "DONE")
#line 835 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("BLT"), _imp_str_literal(""), _imp_str_literal("DONE"));
                                                                //    836        dump("", "INC", "", "-1,S")
#line 836 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("INC"), _imp_str_literal(""), _imp_str_literal("-1,S"));
                                                                //    837        dump("", "PSH", "U", "A")
#line 837 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("PSH"), _imp_str_literal("U"), _imp_str_literal("A"));
                                                                //    838        dump("", "SUB", "B", ",U+")
#line 838 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("SUB"), _imp_str_literal("B"), _imp_str_literal(",U+"));
                                                                //    839        dump("", "BRA", "", "OK")
#line 839 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("BRA"), _imp_str_literal(""), _imp_str_literal("OK"));
                                                                //    840        dump("DONE", "DEC", "", "-1,S")
#line 840 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("DONE"), _imp_str_literal("DEC"), _imp_str_literal(""), _imp_str_literal("-1,S"));
                                                                //    841        dump("", "TST", "", "-2,S")
#line 841 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("TST"), _imp_str_literal(""), _imp_str_literal("-2,S"));
                                                                //    842        dump("", "BNE", "", "RET")
#line 842 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("BNE"), _imp_str_literal(""), _imp_str_literal("RET"));
                                                                //    843        dump("", "NEG", "", "-1,S")
#line 843 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("NEG"), _imp_str_literal(""), _imp_str_literal("-1,S"));
                                                                //    844        dump("RET", "LD", "B", "-1,S")
#line 844 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("RET"), _imp_str_literal("LD"), _imp_str_literal("B"), _imp_str_literal("-1,S"));
                                                                //    845        dump("", "RTS", "", "")
#line 845 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("RTS"), _imp_str_literal(""), _imp_str_literal(""));
                                                                //    846     %finish %else dump("DIV", "EQU", "", "0")
#line 846 "regression-compile-tmp/skimpd.imp"
goto L_00c0;
#line 846 "regression-compile-tmp/skimpd.imp"
L_00bf:;
#line 846 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("DIV"), _imp_str_literal("EQU"), _imp_str_literal(""), _imp_str_literal("0"));
#line 846 "regression-compile-tmp/skimpd.imp"
L_00c0:;
                                                                //    847     !  newline
                                                                //    848     %if pstr # 0 %then %start
#line 848 "regression-compile-tmp/skimpd.imp"
if (((PSTR) == (0))) goto L_00c1;
                                                                //    849        dump("OUTCH", "LD", "A", "ACIAS")
#line 849 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("OUTCH"), _imp_str_literal("LD"), _imp_str_literal("A"), _imp_str_literal("ACIAS"));
                                                                //    850        dump("", "AND", "A", "#2")
#line 850 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("AND"), _imp_str_literal("A"), _imp_str_literal("#2"));
                                                                //    851        dump("", "BEQ", "", "OUTCH")
#line 851 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("BEQ"), _imp_str_literal(""), _imp_str_literal("OUTCH"));
                                                                //    852        dump("", "ST", "B", "ACIAD")
#line 852 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("ST"), _imp_str_literal("B"), _imp_str_literal("ACIAD"));
                                                                //    853        dump("WAITX", "LD", "B", "#$FF")
#line 853 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("WAITX"), _imp_str_literal("LD"), _imp_str_literal("B"), _imp_str_literal("#$FF"));
                                                                //    854        dump("", "DEC", "B", "")
#line 854 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("DEC"), _imp_str_literal("B"), _imp_str_literal(""));
                                                                //    855        dump("", "BNE", "", "WAITX")
#line 855 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("BNE"), _imp_str_literal(""), _imp_str_literal("WAITX"));
                                                                //    856        dump("PSTR", "LD", "B", "[0,S]")
#line 856 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("PSTR"), _imp_str_literal("LD"), _imp_str_literal("B"), _imp_str_literal("[0,S]"));
                                                                //    857        dump("", "INC", "", "1,S")
#line 857 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("INC"), _imp_str_literal(""), _imp_str_literal("1,S"));
                                                                //    858        dump("", "BNE", "", "NOCAR")
#line 858 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("BNE"), _imp_str_literal(""), _imp_str_literal("NOCAR"));
                                                                //    859        dump("", "INC", "", "0,S")
#line 859 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("INC"), _imp_str_literal(""), _imp_str_literal("0,S"));
                                                                //    860        dump("NOCAR", "CMP", "B", "#$80")
#line 860 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal("NOCAR"), _imp_str_literal("CMP"), _imp_str_literal("B"), _imp_str_literal("#$80"));
                                                                //    861        dump("", "BNE", "", "OUTCH")
#line 861 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("BNE"), _imp_str_literal(""), _imp_str_literal("OUTCH"));
                                                                //    862        dump("", "RTS", "", "")
#line 862 "regression-compile-tmp/skimpd.imp"
DUMP(_imp_str_literal(""), _imp_str_literal("RTS"), _imp_str_literal(""), _imp_str_literal(""));
                                                                //    863     %finish
#line 863 "regression-compile-tmp/skimpd.imp"
L_00c1:;
                                                                //    864     %if faults > 0 %start
#line 864 "regression-compile-tmp/skimpd.imp"
if (((FAULTS) <= (0))) goto L_00c2;
                                                                //    865        %begin
#line 865 "regression-compile-tmp/skimpd.imp"
void _BLOCK_1_LEVEL_1_(void) {
                                                                //    866           %integer st
#line 866 "regression-compile-tmp/skimpd.imp"
int ST;
                                                                //    867           st = outstream
#line 867 "regression-compile-tmp/skimpd.imp"
ST = OUTSTREAM();
                                                                //    868           selectoutput(0)
#line 868 "regression-compile-tmp/skimpd.imp"
_imp_SELECTOUTPUT(0);
                                                                //    869           printstring("Program contains " . s(faults) . " fault")
#line 869 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("Program contains "),(_imp_string)S(FAULTS)),(_imp_string)_imp_str_literal(" fault")));
                                                                //    870           printsymbol('s') %if faults > 1
#line 870 "regression-compile-tmp/skimpd.imp"
if (((FAULTS) <= (1))) goto L_00c2;
#line 870 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSYMBOL(115);
#line 870 "regression-compile-tmp/skimpd.imp"
L_00c2:;
                                                                //    871           newline
#line 871 "regression-compile-tmp/skimpd.imp"
_imp_NEWLINE();
                                                                //    872           selectoutput(st)
#line 872 "regression-compile-tmp/skimpd.imp"
_imp_SELECTOUTPUT(ST);
                                                                //    873        %end
#line 873 "regression-compile-tmp/skimpd.imp"
return;
} // End of block _BLOCK_1_LEVEL_1_ at level 2
_BLOCK_1_LEVEL_1_();
                                                                //    874     %finish
#line 874 "regression-compile-tmp/skimpd.imp"
L_00c3:;
                                                                //    875     newline
#line 875 "regression-compile-tmp/skimpd.imp"
_imp_NEWLINE();
                                                                //    876     %if faults > 0 %then printstring("?" . strint(faults, 4)) %else printstring("*NO")
#line 876 "regression-compile-tmp/skimpd.imp"
if (((FAULTS) <= (0))) goto L_00c3;
#line 876 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_str_literal("?"),(_imp_string)STRINT(FAULTS, 4)));
#line 876 "regression-compile-tmp/skimpd.imp"
goto L_00c6;
#line 876 "regression-compile-tmp/skimpd.imp"
L_00c3:;
#line 876 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSTRING(_imp_str_literal("*NO"));
#line 876 "regression-compile-tmp/skimpd.imp"
L_00c6:;
                                                                //    877     printstring(" FAULT")
#line 877 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSTRING(_imp_str_literal(" FAULT"));
                                                                //    878     printsymbol('S') %if faults # 1
#line 878 "regression-compile-tmp/skimpd.imp"
if (((FAULTS) == (1))) goto L_00c7;
#line 878 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSYMBOL(83);
#line 878 "regression-compile-tmp/skimpd.imp"
L_00c7:;
                                                                //    879     printstring(" IN THIS PROGRAM
#line 879 "regression-compile-tmp/skimpd.imp"
_imp_PRINTSTRING(_imp_str_literal(" IN THIS PROGRAM\n"));
                                                                //    880  ")
                                                                //    881     %signal %event 13
#line 881 "regression-compile-tmp/skimpd.imp"
_imp_signal(13, 0, 0, "");
                                                                //    882     ! Not again!!!
                                                                //    883  %end
#line 883 "regression-compile-tmp/skimpd.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ENDOFPROG at level 1
                                                                //    884  %end %of %file
#line 884 "regression-compile-tmp/skimpd.imp"
// End of file
