#include <perms.h>

                                                                //      1  %begin
#line 1 "regression-compile-tmp/imp22g-77.imp"
int main(int argc, char **argv) {
  _imp_initialise(argc, argv);
                                                                //      2  
                                                                //      3  !!%external%string(255)%fn%spec cliparam
                                                                //      4  !!%external%integer%fn%spec cputime
                                                                //      5  
                                                                //      6  !!%external%routine%spec open output(%integer stream, %string (255) s)
                                                                //      7  
                                                                //      8  %const %integer TRUE = 1, FALSE = 0
                                                                //      9  
                                                                //     10  %string(255)cliparam; cliparam = "adec"
#line 10 "regression-compile-tmp/imp22g-77.imp"
_imp_string /*%string(255)*/ CLIPARAM;
#line 10 "regression-compile-tmp/imp22g-77.imp"
CLIPARAM = _imp_str_literal("adec");
                                                                //     11  
                                                                //     12  !$IF ECSVAX
                                                                //     13  {%conststring(51) title = %c
                                                                //     14  {"  EUCSD IMP Compiler for M68000.  VAX Version  2.2g"
                                                                //     15  !$IF APM
                                                                //     16  %conststring(51) title = %c
#line 16 "regression-compile-tmp/imp22g-77.imp"
const _imp_string /*%string(51)*/ TITLE = _imp_str_literal("  EUCSD IMP Compiler for M68000.  APM Version  2.2g");
                                                                //     17  "  EUCSD IMP Compiler for M68000.  APM Version  2.2g"
                                                                //     18  !$FINISH
                                                                //     19  !
                                                                //     20  ! Hamish Dewar  Computer Science   Edinburgh University  1982/83/84
                                                                //     21  !
                                                                //     22  %constinteger WHICH=M'.imp'
                                                                //     23  
                                                                //     24  !<<BOTH [markers for parts common to Pascal]
                                                                //     25  
                                                                //     26  !General notes:
                                                                //     27  !  The main data structure DICT is used for identifier, type, label
                                                                //     28  !  and expression representation (with some aliasing).  The fixedsize
                                                                //     29  !  cell has a number of advantages which outweigh the Procustean factor
                                                                //     30  !  (and the 16-byte size is efficiently addressed)
                                                                //     31  !
                                                                //     32  !  Major routines (like EVAL) which have variables heavily used by
                                                                //     33  !   nested routines are not placed below level 1 for efficiency of
                                                                //     34  !   addressing.  (Making the compiler an external procedure rather
                                                                //     35  !   than a main program would seriously impact this efficiency).
                                                                //     36  !
                                                                //     37  !!!!!!!!!!!!!!!!!!  File handling definitions  !!!!!!!!!!!!!!!!!!!!!
                                                                //     38  !
                                                                //     39  %constinteger MAXNAME=127
                                                                //     40  %string(maxname) MAINFILE,OBJFILE
#line 40 "regression-compile-tmp/imp22g-77.imp"
_imp_string /*%string(127)*/ MAINFILE;
#line 40 "regression-compile-tmp/imp22g-77.imp"
_imp_string /*%string(127)*/ OBJFILE;
                                                                //     41  
                                                                //     42  ! Editor-compatible file-mapping record:
                                                                //     43  %recordformat EDFILE(%integer start1,lim1, {part 1}
#line 43 "regression-compile-tmp/imp22g-77.imp"
typedef struct EDFILE EDFILE;
struct EDFILE {
  int START1;
  int LIM1;
  int START2;
  int LIM2;
  int LIM;
  int LBEG;
  int FP;
  int CHANGE;
  int FLAG;
  int LINE;
  int DIFF;
  unsigned char TOP;
  unsigned char WIN;
  unsigned char BOT;
  unsigned char MIN;
  unsigned char ROW;
  unsigned char COL;
  _imp_string /*%string(127)*/ NAME;
};
                                                                //     44                                start2,lim2, {part 2}
                                                                //     45                                lim, {VMLIM}
                                                                //     46                                lbeg,fp,change,flag,
                                                                //     47                                line  {line number of current pos},
                                                                //     48                                diff  {diff between LINE and ROW},
                                                                //     49                         %byte  top  {top row of sub_window},
                                                                //     50                                win  {floating top},
                                                                //     51                                bot  {bottom row of sub_window},
                                                                //     52                                min  {minimum window size},
                                                                //     53                                row  {last row position},
                                                                //     54                                col  {last col position},
                                                                //     55               %string(maxname) name)
                                                                //     56  !
                                                                //     57  !!%external%routine%spec EDI(%record(edfile)%name main,sec,
                                                                //     58  !!                         %string(255) message)
                                                                //     59  {PAM: parameter acquisition module}
                                                                //     60  %constinteger NEWGROUP=1, NODEFAULT=2
                                                                //     61  !!%external%routine%spec DEFINE PARAM %alias "PAM_DEFSTRING" %c
                                                                //     62  !!          (%string(255) name, %name variable, %integer flags)
                                                                //     63  !!%external%routine%spec DEFINE INT PARAM %alias "PAM_DEFINT" %c
                                                                //     64  !!          (%string(255) name, %name variable, %integer flags)
                                                                //     65  !!%external%routine%spec DEFINE BOOLEAN PARAMS %alias "PAM_DEFBOOL" %c
                                                                //     66  !!    (%string(255) name, %name variable, %integer flags)
                                                                //     67  !!%external%routine%spec PROCESS PARAMETERS %alias "PAM_PROCESS"(%string(255)!! parm)
                                                                //     68  !!%external%routine%spec CONNECT EDFILE(%record(edfile)%name f)
                                                                //     69  !!%external%routine%spec DISCONNECT EDFILE(%record(edfile)%name f)
                                                                //     70  !!%external%string(8)%fnspec DATE
                                                                //     71  !!%external%string(5)%fnspec TIME
                                                                //     72  
                                                                //     73  %string(8) DATE; DATE = "02/02/02"
#line 73 "regression-compile-tmp/imp22g-77.imp"
_imp_string /*%string(8)*/ DATE;
#line 73 "regression-compile-tmp/imp22g-77.imp"
DATE = _imp_str_literal("02/02/02");
                                                                //     74  %string(5) TIME; TIME = "02:02"
#line 74 "regression-compile-tmp/imp22g-77.imp"
_imp_string /*%string(5)*/ TIME;
#line 74 "regression-compile-tmp/imp22g-77.imp"
TIME = _imp_str_literal("02:02");
                                                                //     75  %integer CPUTIME; CPUTIME = 123
#line 75 "regression-compile-tmp/imp22g-77.imp"
int CPUTIME;
#line 75 "regression-compile-tmp/imp22g-77.imp"
CPUTIME = 123;
                                                                //     76  !
                                                                //     77  %owninteger ITEM=0;                ![high-frequency]
#line 77 "regression-compile-tmp/imp22g-77.imp"
static int ITEM = 0;
                                                                //     78  %owninteger LISTOUT=0 {set to 2 if listing to file}
#line 78 "regression-compile-tmp/imp22g-77.imp"
static int LISTOUT = 0;
                                                                //     79  !!  Compiler control
                                                                //     80  
                                                                //     81  %constinteger ARRBIT=   16_80000000 {array bound check}
                                                                //     82  %constinteger LOOPBIT=  16_40000000 {%for loop check}
                                                                //     83  %constinteger CAPBIT=   16_20000000 {capacity check}
                                                                //     84  %constinteger OVERBIT=  16_10000000 {overflow check}
                                                                //     85  %constinteger ASSBIT=   16_08000000 {integer-unassigned check}
                                                                //     86  %constinteger STRASSBIT=16_04000000 {string-unassigned check}
                                                                //     87  %constinteger SASSBIT=  16_02000000 {short-unassigned check}
                                                                //     88  %constinteger BASSBIT=  16_01000000 {byte-unassigned check}
                                                                //     89  %constinteger ASSMASK=assbit!strassbit!sassbit!bassbit
                                                                //     90  %constinteger LINEBIT=  16_00800000 {set line number}
                                                                //     91  %constinteger DIAGBIT=  16_00400000
                                                                //     92  %constinteger TRACEBIT= 16_00200000 {plant TRAP 15}
                                                                //     93  %constinteger STACKBIT= 16_00100000 {stack over-run check}
                                                                //     94  %constinteger CHECKBIT= 16_00080000 {for NOCHECK}
                                                                //     95  %constinteger SYSBIT=   16_00040000 {special treatment of SIGNAL}
                                                                //     96  %constinteger STRICTBIT=16_00020000
                                                                //     97  %constinteger VOLBIT   =16_00010000
                                                                //     98  %constinteger HALFBIT=  16_00008000 {halfword MULT/DIV}
                                                                //     99  %constinteger LOWBIT  = 16_00004000 {low-level features permitted}
                                                                //    100  %constinteger EDITBIT=  16_00002000
                                                                //    101  %constinteger RUNBIT=   16_00001000
                                                                //    102  %constinteger FORCEBIT= 16_00000800
                                                                //    103  %constinteger LOGBIT=   16_00000400 {print log}
                                                                //    104  %constinteger WARNBIT=  16_00000200 {print warnings}
                                                                //    105  %constinteger NONSBIT=  16_00000100 {nonstandard features permitted}
                                                                //    106  %constinteger PERMBIT=  16_00000080 {for PRIM compilation}
                                                                //    107  %constinteger NEWBIT=   16_00000040 {Pascal: new treatment of pointers}
                                                                //    108  %constinteger CODELIST= 16_00000020 {list code}
                                                                //    109  %constinteger DICTLIST= 16_00000010 {list dict entries}
                                                                //    110  %constinteger EXPLIST=  16_00000008 {list EXP entries}
                                                                //    111  %constinteger MAPLIST=  16_00000004 {print space map}
                                                                //    112  %constinteger TTLIST=   16_00000002 {list to terminal}
                                                                //    113  %constinteger LIST=     16_00000001 {do list}
                                                                //    114  
                                                                //    115  	      
                                                                //    116  %constinteger LISTBITS=codelist+dictlist+explist+maplist+ttlist+list
                                                                //    117  %owninteger CONTROL=warnbit+checkbit+linebit+diagbit+editbit+volbit %c
#line 117 "regression-compile-tmp/imp22g-77.imp"
static int CONTROL = (-321314304);
                                                                //    118                     +strassbit+assbit+arrbit+loopbit+capbit+stackbit
                                                                //    119  %integer INITCON,TIME1,TIME2
#line 119 "regression-compile-tmp/imp22g-77.imp"
int INITCON;
#line 119 "regression-compile-tmp/imp22g-77.imp"
int TIME1;
#line 119 "regression-compile-tmp/imp22g-77.imp"
int TIME2;
                                                                //    120  !Events:-
                                                                //    121  %constinteger OFLOW=1, FAIL=11, DONE=12, REDO=13, ABANDON=14
                                                                //    122  !
                                                                //    123  !
                                                                //    124  %constinteger MAXINT=16_7FFFFFFF, MININT=\MAXINT
                                                                //    125  %constinteger SIGN16=\16_7FFF, SIGN=\16_7FFFFFFF
                                                                //    126  !
                                                                //    127  !!!!!!!!!!!!!!!!   Operand Representation  !!!!!!!!!!!!!!!!!!!
                                                                //    128  ! Operands (largely, Expressions) are denoted by integers in a
                                                                //    129  ! contiguous range as follows:
                                                                //    130  ! 
                                                                //    131  ! <= 0  Literals (including 'addresses' within FINAL)
                                                                //    132  !       [see LITREF and LITVAL for interpretation]
                                                                //    133  !                                    Dictionary
                                                                //    134  !                   __16___16____16____8____8____32____16___16__
                                                                //    135  ! [dummy @ 0] ->    |flags|type| link| reg|mode|value|text|hlink|
                                                                //    136  ! D0 [@1]  ->  R    |     |    | size|    |    |     |    |    |
                                                                //    137  !                   |     |    |xtype|    |    |     |    |    |
                                                                //    138  ! D7       ->       |     |    |     |    |    |     |    |    |
                                                                //    139  ! A0       ->  E    |     |    |     |    |    |     |    |    |
                                                                //    140  !                   |     |    |     |    |    |     |    |    |
                                                                //    141  ! A7       ->  G    |     |    |     |    |    |     |    |    |
                                                                //    142  ! INDA0    ->       |     |    |     |    |    |     |    |    |
                                                                //    143  !              S    |     |    |     |    |    |     |    |    |
                                                                //    144  ! PREA7    ->       |     |    |     |    |    |     |    |    |
                                                                //    145  !              I    |     |    |     |    |    |     |    |    |
                                                                //    146  !              D    |     |    |     |    |    |     |    |    |
                                                                //    147  !              E    |     |    |     |    |    |     |    |    |
                                                                //    148  !              N    |     |    |     |    |    |     |    |    |
                                                                //    149  !              T    |     |    |     |    |    |     |    |    |
                                                                //    150  !              S    |     |    |     |    |    |     |    |    |
                                                                //    151  !                   |_____|____|_____|____|____|_____|____|____|
                                                                //    152  ! DICTLIM  ->       | --  |--  |  -- | -- |mode|value| -- | -- |
                                                                //    153  !              C L  |     |    |     |    |    |     |    |    |
                                                                //    154  !              O A  |     |    |     |    |    |     |    |    |
                                                                //    155  !              M B  |     |    |     |    |    |     |    |    |
                                                                //    156  !              P S  |     |    |     |    |    |     |    |    |
                                                                //    157  !                   |_____|____|_____|____|____|_____|____|____|
                                                                //    158  ! LABLIM   ->       |flags|type| act |----|mode|value|arg1|arg2|
                                                                //    159  !              C    |     |    |     |    |    |     |    |    |
                                                                //    160  !              O    |     |    |     |    |    |     |    |    |
                                                                //    161  !              M E  |     |    |     |    |    |     |    |    |
                                                                //    162  !              P X  |     |    |     |    |    |     |    |    |
                                                                //    163  !              L P  |     |    |     |    |    |     |    |    |
                                                                //    164  !              E S  |     |    |     |    |    |     |    |    |
                                                                //    165  !              X    |_____|____|_____|____|____|_____|____|____|
                                                                //    166  ! EXPLIM   ->
                                                                //    167  
                                                                //    168  %constinteger SMALLMIN=-1024, SMALLMAX=1023,
                                                                //    169                LITMAX=smallmin-(smallmax+1), LITMIN=litmax-199,
                                                                //    170                LITMITE=-255, LITQUICK=-16, ONE=-(1<<1)
                                                                //    171  %constinteger D0=1, D1=d0+1, D2=d0+2, D7=d0+7,
                                                                //    172                A0=d0+8, A1=a0+1, A6=a0+6, A7=a0+7,
                                                                //    173                INDA0=a0+8, INDA7=inda0+7,
                                                                //    174                POSTA0=inda0+8, POSTA7=posta0+7,
                                                                //    175                PREA0=posta0+8, PREA7=prea0+7,
                                                                //    176                UNDEF=a7
                                                                //    177  %owninteger   DICTLIM=1000, FINALBOUND=64  {see Init for adjustment}
#line 177 "regression-compile-tmp/imp22g-77.imp"
static int DICTLIM = 1000;
#line 177 "regression-compile-tmp/imp22g-77.imp"
static int FINALBOUND = 64;
                                                                //    178  %integer      LABLIM,NP0,EXPLIM {continuing from DICTLIM}
#line 178 "regression-compile-tmp/imp22g-77.imp"
int LABLIM;
#line 178 "regression-compile-tmp/imp22g-77.imp"
int NP0;
#line 178 "regression-compile-tmp/imp22g-77.imp"
int EXPLIM;
                                                                //    179  %integer      CHARBOUND         {derived from DICTLIM}
#line 179 "regression-compile-tmp/imp22g-77.imp"
int CHARBOUND;
                                                                //    180  %constinteger LABELS=42 {enough for Pascal reserveds},
                                                                //    181                TRIPLES=200
                                                                //    182  %constinteger AD=16384  {any item + AD >= EXPLIM}
                                                                //    183  
                                                                //    184  %constinteger BREG=D0+4, LINELOC=d0+5
                                                                //    185  %constinteger F1=a0+6, GB=a0+5, MB=a0+4;  !level 1, global base, main base
                                                                //    186  %constinteger MAXDREG=d0+3, MAXAREG=a0+3
                                                                //    187  %constinteger D0B=1, D1B=2, D2B=4, BREGB=16,
                                                                //    188                A0B=16_100, A1B=16_200, A2B=16_400
                                                                //    189  %constinteger ANYDREG=16_00FF-bregb, ANYAREG=16_FF00,
                                                                //    190                ANYREG=16_FFFF
                                                                //    191  %constinteger DEFAULTFREE=2<<(maxdreg-d0)-1+(2<<(maxareg-a0)-1)<<8+bregb
                                                                //    192  %integer MAXCALLDREG, MAXCALLAREG
#line 192 "regression-compile-tmp/imp22g-77.imp"
int MAXCALLDREG;
#line 192 "regression-compile-tmp/imp22g-77.imp"
int MAXCALLAREG;
                                                                //    193  %integer FREE
#line 193 "regression-compile-tmp/imp22g-77.imp"
int FREE;
                                                                //    194  
                                                                //    195  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    196  !!!!!!!!!!!!!!!!!!!!!!!   Big Literals  !!!!!!!!!!!!!!!!!!!!!!!
                                                                //    197  %integer LITPOS
#line 197 "regression-compile-tmp/imp22g-77.imp"
int LITPOS;
                                                                //    198  %integerarray LITSTORE(litmin:litmax)
#line 198 "regression-compile-tmp/imp22g-77.imp"
int LITSTORE[200];
                                                                //    199  !
                                                                //    200  !!!!!!!!!  Registers, Identifiers, Labels, Expressions  !!!!!!!!!
                                                                //    201  !
                                                                //    202  !   Operand attributes:
                                                                //    203  %recordformat OBJINFO %C
#line 203 "regression-compile-tmp/imp22g-77.imp"
typedef struct OBJINFO OBJINFO;
struct OBJINFO {
  short FLAGS;
  short TYPE;
  short LINK;
  short XTYPE;
  short SIZE;
  short ACT;
  unsigned char REG;
  unsigned char MODE;
  int VAL;
};
                                                                //    204    (%short FLAGS,TYPE,
                                                                //    205     (%short LINK %or %short XTYPE %or %short SIZE %or %short ACT),
                                                                //    206     %byte REG,MODE,
                                                                //    207     %integer VAL)
                                                                //    208  %recordformat IDENTINFO %C
#line 208 "regression-compile-tmp/imp22g-77.imp"
typedef struct IDENTINFO IDENTINFO;
struct IDENTINFO {
  short FLAGS;
  short TYPE;
  short LINK;
  short XTYPE;
  short SIZE;
  short ACT;
  unsigned char REG;
  unsigned char MODE;
  int VAL;
   OBJINFO DETAILS;
  short TEXT;
  short HLINK;
  short X;
  short Y;
};
                                                                //    209    ((%short FLAGS,TYPE,
                                                                //    210     (%short LINK %or %short XTYPE %or %short SIZE %or %short ACT),
                                                                //    211      %byte REG,MODE,
                                                                //    212      %integer VAL %or %record(objinfo) DETAILS),
                                                                //    213     (%short   TEXT,HLINK %or %short X,Y))
                                                                //    214  !
                                                                //    215  !Machine addressing modes:
                                                                //    216  %constinteger AREGMODE=2_001000,
                                                                //    217                DISPMODE=2_101000, INDEXMODE=2_110000, ABSMODE=2_111000,
                                                                //    218                PCMODE=2_111010, LITMODE=2_111100
                                                                //    219  !Conversion factors for address register modes (from AREGMODE)
                                                                //    220  %constinteger INDIR=8, POST=16, PRE=24
                                                                //    221  !Additional source-related modes:
                                                                //    222  %constinteger LABMODE=2_10000000+pcmode,
                                                                //    223                PROCMODE=2_11000000+pcmode,
                                                                //    224                GLOBALMODE=dispmode+(gb-a0),
                                                                //    225                OWNMODE=2_01000000+dispmode+(mb-a0),
                                                                //    226                CONSTMODE=2_01000000+pcmode,
                                                                //    227                FRAMEMODE=2_10000000+dispmode
                                                                //    228  !                      +  01000000 for dynamic array
                                                                //    229  !
                                                                //    230  ! MODE,VAL:
                                                                //    231  !  %const simple       : LITMODE     the actual value
                                                                //    232  !  %const structure    : CONSTMODE   address in code area
                                                                //    233  !  variable etc        : mode        byte address/displacement
                                                                //    234  !  undefined label     : LABMODE     reference chain
                                                                //    235  !  undefined procedure : PROCMODE    reference chain
                                                                //    236  !  record format       : 0           size of record in bytes
                                                                //    237  !
                                                                //    238  ! Significance of FLAGS:
                                                                //    239  %constinteger CAT     =16_000F, {category: typeid only}
                                                                //    240                WRITABLE=16_0001,
                                                                //    241                READABLE=16_0002, {not write only}
                                                                //    242                VOLATILE=16_0004,
                                                                //    243                ARRFLAG =16_0008, {bound check needed}
                                                                //    244                  ALT   =16_0008, {alternative proc}
                                                                //    245                WFLAG   =16_0010, {has been written to}
                                                                //    246                RFLAG   =16_0020, {has been read from}
                                                                //    247                OKFLAG  =16_0040, {no unassigned check needed, CC OK for fun}
                                                                //    248                  NORET =16_0040, {routine does not return}
                                                                //    249                MFLAG   =16_0080, {has had mem access}
                                                                //    250                SPEC    =16_0100, {unbodied spec or forward label}
                                                                //    251                TYPEID  =16_0200, {type identifier}
                                                                //    252                PACKED  =16_0400,
                                                                //    253                INDIRECT=16_0800,
                                                                //    254                PROC    =16_3000, {procedure not data}
                                                                //    255                  PROC1 =16_1000,
                                                                //    256                  PROC2 =16_2000,
                                                                //    257                EXT     =16_4000, {external}
                                                                //    258                NAME    =sign16
                                                                //    259  %constinteger HERITABLE=writable+readable+volatile %c
                                                                //    260                         +wflag+rflag+okflag+arrflag
                                                                //    261  !
                                                                //    262  !CATegories (type identifiers only):
                                                                //    263  %constinteger INTY=0, CHARY=1, BOOLY=2, ENUMY=3,
                                                                //    264                POINTY=4, REALY=5,
                                                                //    265                STRINGY=8, ARRY=9, SETY=10,
                                                                //    266                RECY=12, FILEY=13,
                                                                //    267                NONORD=12
                                                                //    268  
                                                                //    269  %ownrecord(objinfo) DEFINEDLABEL=0,
#line 269 "regression-compile-tmp/imp22g-77.imp"
static  OBJINFO DEFINEDLABEL = { 0 } /* Initialise all fields of a record to 0. */;
#line 269 "regression-compile-tmp/imp22g-77.imp"
static  OBJINFO FORWARDLABEL = { 0 } /* Initialise all fields of a record to 0. */;
#line 269 "regression-compile-tmp/imp22g-77.imp"
static  OBJINFO BEGINBLOCK = { 0 } /* Initialise all fields of a record to 0. */;
#line 269 "regression-compile-tmp/imp22g-77.imp"
static  OBJINFO TYPEIDENT = { 0 } /* Initialise all fields of a record to 0. */;
                                                                //    270                      FORWARDLABEL=0,
                                                                //    271                      BEGINBLOCK=0,
                                                                //    272                      TYPEIDENT=0
                                                                //    273  !!!!!!!!!!!!!!!!!  File and control initialisation  !!!!!!!!!!!!!!!
                                                                //    274  !
                                                                //    275  %constinteger MAIN=1
                                                                //    276  %record(edfile)%array FILE(1:3)
#line 276 "regression-compile-tmp/imp22g-77.imp"
 EDFILE FILE[3];
                                                                //    277  %record(edfile)%name CUR
#line 277 "regression-compile-tmp/imp22g-77.imp"
 EDFILE /*name*/*CUR;
                                                                //    278  %integerarray FCONTROL(1:3)
#line 278 "regression-compile-tmp/imp22g-77.imp"
int FCONTROL[3];
                                                                //    279  %integer CURFILE,LASTFILE;      !current source file no (0:3)
#line 279 "regression-compile-tmp/imp22g-77.imp"
int CURFILE;
#line 279 "regression-compile-tmp/imp22g-77.imp"
int LASTFILE;
                                                                //    280  %integer CURSTART,CURLIM;        !current source file bounds
#line 280 "regression-compile-tmp/imp22g-77.imp"
int CURSTART;
#line 280 "regression-compile-tmp/imp22g-77.imp"
int CURLIM;
                                                                //    281  
                                                                //    282  %routine SET OPTIONS(%string(255) parm)
#line 282 "regression-compile-tmp/imp22g-77.imp"
void SETOPTIONS( _imp_string /*%string(255)*/ PARM )
#line 282 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    283  %owninteger remove warning
#line 283 "regression-compile-tmp/imp22g-77.imp"
static int REMOVEWARNING;
                                                                //    284  %constinteger CHECKS=assmask+arrbit+loopbit+capbit+overbit
                                                                //    285  !!  define boolean params( %c
                                                                //    286  !!  "ARR,LOOP,CAP,OVER,ASS,STRASS,SASS,BASS,LINE,DIAG,TRACE,STACK,".%C
                                                                //    287  !!  "CHECK,SYS,STRICT,VOL,HALF,LOW,EDIT,RUN,FORCE,LOG,WARN,NONS,PERM,NEW,".%C
                                                                //    288  !!  "CODE,DICT,EXP,MAP,TT,LIST",control,0)
                                                                //    289  !!  process parameters(parm)
                                                                //    290    remove warning = ADDR(parm)
#line 290 "regression-compile-tmp/imp22g-77.imp"
REMOVEWARNING = _imp_ADDR(&PARM);
                                                                //    291   !NOCHECK => removal of checkbits
                                                                //    292    control = control&(\checks) %if control&checkbit = 0
#line 292 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (524288))) != (0))) goto L_0002;
#line 292 "regression-compile-tmp/imp22g-77.imp"
CONTROL = ((CONTROL) & ((~((-16777216)))));
#line 292 "regression-compile-tmp/imp22g-77.imp"
L_0002:;
                                                                //    293    control = control&(\editbit) %if control&listbits # 0
#line 293 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (63))) == (0))) goto L_0003;
#line 293 "regression-compile-tmp/imp22g-77.imp"
CONTROL = ((CONTROL) & ((~(8192))));
#line 293 "regression-compile-tmp/imp22g-77.imp"
L_0003:;
                                                                //    294  %end
#line 294 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETOPTIONS at level 2
                                                                //    295  
                                                                //    296  %routine SET EXTENSION(%string(maxname)%name f,%string(4) ext)
#line 296 "regression-compile-tmp/imp22g-77.imp"
void SETEXTENSION( _imp_string /*%string(127)*/ /*name*/*F, _imp_string /*%string(4)*/ EXT )
#line 296 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    297  %integer strip
#line 297 "regression-compile-tmp/imp22g-77.imp"
int STRIP;
                                                                //    298  %integer%fn last4(%string(*)%name s)
#line 298 "regression-compile-tmp/imp22g-77.imp"
int LAST4( _imp_string /*%string(255)*/ /*name*/*S )
#line 298 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    299  %integer i,e
#line 299 "regression-compile-tmp/imp22g-77.imp"
int I;
#line 299 "regression-compile-tmp/imp22g-77.imp"
int E;
                                                                //    300    i = 0;  e = 0
#line 300 "regression-compile-tmp/imp22g-77.imp"
I = 0;
#line 300 "regression-compile-tmp/imp22g-77.imp"
E = 0;
                                                                //    301    %while i < length(s) %cycle
#line 301 "regression-compile-tmp/imp22g-77.imp"
L_0004:;
#line 301 "regression-compile-tmp/imp22g-77.imp"
if (((I) >= (*_imp_LENGTH(S)))) goto L_0005;
                                                                //    302      i = i+1;  e = e<<8+charno(s,i)
#line 302 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
#line 302 "regression-compile-tmp/imp22g-77.imp"
E = (((unsigned char)(((E) << (8)))) + (*_imp_CHARNO(S, I)));
                                                                //    303    %repeat
#line 303 "regression-compile-tmp/imp22g-77.imp"
goto L_0004;
#line 303 "regression-compile-tmp/imp22g-77.imp"
L_0005:;
                                                                //    304    %result = e
#line 304 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return E;
                                                                //    305  %end
#line 305 "regression-compile-tmp/imp22g-77.imp"
} // End of block LAST4 at level 3
                                                                //    306    strip = last4(ext)
#line 306 "regression-compile-tmp/imp22g-77.imp"
STRIP = LAST4(&EXT);
                                                                //    307    f = mainfile %and strip = which %if f = ""
#line 307 "regression-compile-tmp/imp22g-77.imp"
if ((_imp_strcmp(*F, _imp_str_literal("")) != 0)) goto L_0007;
#line 307 "regression-compile-tmp/imp22g-77.imp"
*F = MAINFILE;
#line 307 "regression-compile-tmp/imp22g-77.imp"
STRIP = 778661232;
#line 307 "regression-compile-tmp/imp22g-77.imp"
L_0007:;
                                                                //    308    length(f) = length(f)-4 %if last4(f)!16_202020 = strip
#line 308 "regression-compile-tmp/imp22g-77.imp"
if (((((LAST4(F)) | (2105376))) != (STRIP))) goto L_0008;
#line 308 "regression-compile-tmp/imp22g-77.imp"
*_imp_LENGTH(F) = ((*(int *)(_imp_LENGTH(F))) - (4));
#line 308 "regression-compile-tmp/imp22g-77.imp"
L_0008:;
                                                                //    309    f = f.ext
#line 309 "regression-compile-tmp/imp22g-77.imp"
*F = _imp_join((_imp_string)*F,(_imp_string)EXT);
                                                                //    310  %end
#line 310 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETEXTENSION at level 2
                                                                //    311  
                                                                //    312  
                                                                //    313  %routine OPEN FILES
#line 313 "regression-compile-tmp/imp22g-77.imp"
void OPENFILES( void )
#line 313 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    314  %string(maxname) LISTFILE; LISTFILE=""
#line 314 "regression-compile-tmp/imp22g-77.imp"
_imp_string /*%string(127)*/ LISTFILE;
#line 314 "regression-compile-tmp/imp22g-77.imp"
LISTFILE = _imp_str_literal("");
                                                                //    315    objfile = ""
#line 315 "regression-compile-tmp/imp22g-77.imp"
OBJFILE = _imp_str_literal("");
                                                                //    316  !!  define param("SOURCE",mainfile,nodefault)
                                                                //    317  !!  define param("OFILE",objfile,newgroup)
                                                                //    318  !!  define param("LFILE",listfile,0)
                                                                //    319  !!  define int param("IDents",dictlim,newgroup)
                                                                //    320  !!  define int param("KBytes",finalbound,0)
                                                                //    321    file(main) = 0
#line 321 "regression-compile-tmp/imp22g-77.imp"
FILE[0] = (EDFILE){ 0 } /* Assign 0's to all fields of record */;
                                                                //    322    set options(cliparam)
#line 322 "regression-compile-tmp/imp22g-77.imp"
SETOPTIONS(CLIPARAM);
                                                                //    323    control = control&(\linebit) %if control&diagbit = 0;  !*temp*
#line 323 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (4194304))) != (0))) goto L_0009;
#line 323 "regression-compile-tmp/imp22g-77.imp"
CONTROL = ((CONTROL) & ((~(8388608))));
#line 323 "regression-compile-tmp/imp22g-77.imp"
L_0009:;
                                                                //    324  !Main file
                                                                //    325    file(main)_name = mainfile;  file(main)_flag = 32768
#line 325 "regression-compile-tmp/imp22g-77.imp"
FILE[0].NAME = MAINFILE;
#line 325 "regression-compile-tmp/imp22g-77.imp"
FILE[0].FLAG = 32768;
                                                                //    326    time1 = time1-cputime
#line 326 "regression-compile-tmp/imp22g-77.imp"
TIME1 = (((int)(TIME1)) - (CPUTIME));
                                                                //    327  !!  connect edfile(file(main))
                                                                //    328    time1 = time1+cputime
#line 328 "regression-compile-tmp/imp22g-77.imp"
TIME1 = (((int)(TIME1)) + (CPUTIME));
                                                                //    329    %stop %if file(main)_flag # 0
#line 329 "regression-compile-tmp/imp22g-77.imp"
if (((FILE[0].FLAG) == (0))) goto L_000a;
#line 329 "regression-compile-tmp/imp22g-77.imp"
exit(0);
#line 329 "regression-compile-tmp/imp22g-77.imp"
L_000a:;
                                                                //    330  
                                                                //    331  !Listing file
                                                                //    332    %if listfile # "" %or control&(list+ttlist) # 0 %start
#line 332 "regression-compile-tmp/imp22g-77.imp"
if ((_imp_strcmp(LISTFILE, _imp_str_literal("")) != 0)) goto L_0006;
#line 332 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (3))) == (0))) goto L_000b;
#line 332 "regression-compile-tmp/imp22g-77.imp"
L_0006:;
                                                                //    333      %if control&ttlist = 0 %start
#line 333 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (2))) != (0))) goto L_000c;
                                                                //    334        set extension(listfile,".lis")
#line 334 "regression-compile-tmp/imp22g-77.imp"
SETEXTENSION(&LISTFILE, _imp_str_literal(".lis"));
                                                                //    335        listout = 2
#line 335 "regression-compile-tmp/imp22g-77.imp"
LISTOUT = 2;
                                                                //    336        open output(listout,listfile)
#line 336 "regression-compile-tmp/imp22g-77.imp"
_imp_OPENOUTPUT(LISTOUT, LISTFILE);
                                                                //    337      %finish
#line 337 "regression-compile-tmp/imp22g-77.imp"
L_000c:;
                                                                //    338      control = control&(\(editbit+ttlist))
#line 338 "regression-compile-tmp/imp22g-77.imp"
CONTROL = ((CONTROL) & ((~(8194))));
                                                                //    339      control = control!list %if control&listbits = 0
#line 339 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (63))) != (0))) goto L_000d;
#line 339 "regression-compile-tmp/imp22g-77.imp"
CONTROL = ((CONTROL) | (1));
#line 339 "regression-compile-tmp/imp22g-77.imp"
L_000d:;
                                                                //    340    %finish
#line 340 "regression-compile-tmp/imp22g-77.imp"
L_000b:;
                                                                //    341    select output(listout)
#line 341 "regression-compile-tmp/imp22g-77.imp"
_imp_SELECTOUTPUT(LISTOUT);
                                                                //    342    %if control&listbits # 0 %start
#line 342 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (63))) == (0))) goto L_000e;
                                                                //    343      control = control!list %if control&listbits # maplist
#line 343 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (63))) == (4))) goto L_000f;
#line 343 "regression-compile-tmp/imp22g-77.imp"
CONTROL = ((CONTROL) | (1));
#line 343 "regression-compile-tmp/imp22g-77.imp"
L_000f:;
                                                                //    344      newlines(2)
#line 344 "regression-compile-tmp/imp22g-77.imp"
_imp_NEWLINES(2);
                                                                //    345      printstring(title)
#line 345 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(TITLE);
                                                                //    346      newlines(2)
#line 346 "regression-compile-tmp/imp22g-77.imp"
_imp_NEWLINES(2);
                                                                //    347      printstring("   ");  printstring(file(main)_name)
#line 347 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(_imp_str_literal("   "));
#line 347 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(FILE[0].NAME);
                                                                //    348      printstring("  compiled on ");  printstring(date)
#line 348 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(_imp_str_literal("  compiled on "));
#line 348 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(DATE);
                                                                //    349      printstring("  at  ");  printstring(time)
#line 349 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(_imp_str_literal("  at  "));
#line 349 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(TIME);
                                                                //    350      newlines(2)
#line 350 "regression-compile-tmp/imp22g-77.imp"
_imp_NEWLINES(2);
                                                                //    351    %finish
#line 351 "regression-compile-tmp/imp22g-77.imp"
L_000e:;
                                                                //    352    initcon = control
#line 352 "regression-compile-tmp/imp22g-77.imp"
INITCON = CONTROL;
                                                                //    353  %end
#line 353 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block OPENFILES at level 2
                                                                //    354  
                                                                //    355    time1 = 0
#line 355 "regression-compile-tmp/imp22g-77.imp"
TIME1 = 0;
                                                                //    356    open files
#line 356 "regression-compile-tmp/imp22g-77.imp"
OPENFILES();
                                                                //    357    dictlim = dictlim+300;  !allow for presets
#line 357 "regression-compile-tmp/imp22g-77.imp"
DICTLIM = (((int)(DICTLIM)) + (300));
                                                                //    358    charbound = dictlim*8
#line 358 "regression-compile-tmp/imp22g-77.imp"
CHARBOUND = (((int)(DICTLIM)) * (8));
                                                                //    359    finalbound = finalbound<<10+4095;  !kilobytes -> bytes + (min) owns
#line 359 "regression-compile-tmp/imp22g-77.imp"
FINALBOUND = (((int)(((FINALBOUND) << (10)))) + (4095));
                                                                //    360    lablim = dictlim+labels
#line 360 "regression-compile-tmp/imp22g-77.imp"
LABLIM = (((int)(DICTLIM)) + (42));
                                                                //    361    explim = lablim+triples
#line 361 "regression-compile-tmp/imp22g-77.imp"
EXPLIM = (((int)(LABLIM)) + (200));
                                                                //    362    np0 = lablim+4
#line 362 "regression-compile-tmp/imp22g-77.imp"
NP0 = (((int)(LABLIM)) + (4));
                                                                //    363    file(main)_change = 16_7FFFFFFF
#line 363 "regression-compile-tmp/imp22g-77.imp"
FILE[0].CHANGE = 2147483647;
                                                                //    364    forwardlabel_flags = spec;  forwardlabel_mode = labmode
#line 364 "regression-compile-tmp/imp22g-77.imp"
FORWARDLABEL.FLAGS = 256;
#line 364 "regression-compile-tmp/imp22g-77.imp"
FORWARDLABEL.MODE = 186;
                                                                //    365    definedlabel_mode = labmode
#line 365 "regression-compile-tmp/imp22g-77.imp"
DEFINEDLABEL.MODE = 186;
                                                                //    366    beginblock_mode = procmode
#line 366 "regression-compile-tmp/imp22g-77.imp"
BEGINBLOCK.MODE = 250;
                                                                //    367    typeident_flags = typeid+recy
#line 367 "regression-compile-tmp/imp22g-77.imp"
TYPEIDENT.FLAGS = 524;
                                                                //    368  !
                                                                //    369  !!!!!!!!!!!!!!!!  end of file and control initialisation  !!!!!!!!
                                                                //    370  !
                                                                //    371  %record(identinfo)%array DICT(0:explim-1)
#line 371 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO DICT[(((unsigned char)((((int)(EXPLIM)) - (1)))) + (1))];
                                                                //    372  !  indexing DICT:
                                                                //    373  %integer DLIM;         !dict limit (up)
#line 373 "regression-compile-tmp/imp22g-77.imp"
int DLIM;
                                                                //    374  %integer DLIM0
#line 374 "regression-compile-tmp/imp22g-77.imp"
int DLIM0;
                                                                //    375  %integer DMIN;       !dict upper limit (down)
#line 375 "regression-compile-tmp/imp22g-77.imp"
int DMIN;
                                                                //    376  %integer DMIN0
#line 376 "regression-compile-tmp/imp22g-77.imp"
int DMIN0;
                                                                //    377  %integer DICTSHOWN
#line 377 "regression-compile-tmp/imp22g-77.imp"
int DICTSHOWN;
                                                                //    378  %integer INCLIM
#line 378 "regression-compile-tmp/imp22g-77.imp"
int INCLIM;
                                                                //    379  %record(identinfo)%name DLINK,DFORMAT,DTEMP,DTEMP2,DTSPREL,DINT
#line 379 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DLINK;
#line 379 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DFORMAT;
#line 379 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DTEMP;
#line 379 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DTEMP2;
#line 379 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DTSPREL;
#line 379 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DINT;
                                                                //    380  %integer SUBBED
#line 380 "regression-compile-tmp/imp22g-77.imp"
int SUBBED;
                                                                //    381  %integer RANGES
#line 381 "regression-compile-tmp/imp22g-77.imp"
int RANGES;
                                                                //    382  
                                                                //    383  ! The identifier dictionary grows as declarations are
                                                                //    384  ! encountered, sequentially from 0 up, so that the
                                                                //    385  ! identifiers within a declaration group and within any block
                                                                //    386  ! are contiguous and may be processed thus (eg at block end).
                                                                //    387  ! However, searching is always through the hash links, with a
                                                                //    388  ! start-point given by the array HASHINDEX.  The final link
                                                                //    389  ! value is zero.
                                                                //    390  !  Identifiers are normally added at the start of the hash list
                                                                //    391  ! (hence pushing down any global instance of the same name),
                                                                //    392  ! but identifiers which have been reported as 'not declared'
                                                                //    393  ! are added at the end of the list, using a negative link value.
                                                                //    394  ! This tail section is used to avoid repeated reports for the
                                                                //    395  ! same name (and is ultra-global, ie never removed).
                                                                //    396  !
                                                                //    397  ! For record formats, the format name is stored in the usual way
                                                                //    398  ! and contains in LINK a pointer to the field-names which are linked
                                                                //    399  ! through what is normally the hash link.  Searching for field-names
                                                                //    400  ! proceeds along this chain, as if following hash links.
                                                                //    401  !
                                                                //    402  !  HLINK is the hash link (index to DICT)
                                                                //    403  !
                                                                //    404  !  TEXT is the pointer (index to CHAR) to the text of the identifier
                                                                //    405  !       stored as a standard string
                                                                //    406  
                                                                //    407  !  Text of identifiers (indexed by _TEXT):
                                                                //    408  %bytearray CHAR(0:charbound)
#line 408 "regression-compile-tmp/imp22g-77.imp"
unsigned char CHAR[((CHARBOUND) + ((int)(1)))];
                                                                //    409  %integer CHAR0,CHARLIM,CHARMIN;  !pointers
#line 409 "regression-compile-tmp/imp22g-77.imp"
int CHAR0;
#line 409 "regression-compile-tmp/imp22g-77.imp"
int CHARLIM;
#line 409 "regression-compile-tmp/imp22g-77.imp"
int CHARMIN;
                                                                //    410  %integer NEWLEN
#line 410 "regression-compile-tmp/imp22g-77.imp"
int NEWLEN;
                                                                //    411  
                                                                //    412  !  Hash index to DICT:
                                                                //    413  %shortarray HASHINDEX(0:255)
#line 413 "regression-compile-tmp/imp22g-77.imp"
short HASHINDEX[256];
                                                                //    414  %shortname HEAD;                  !head of ident search list
#line 414 "regression-compile-tmp/imp22g-77.imp"
short /*name*/*HEAD;
                                                                //    415  !
                                                                //    416  !
                                                                //    417  !<<IMP
                                                                //    418  
                                                                //    419  !* PRIMGEN marker 1
                                                                //    420  %constinteger NULL=41
                                                                //    421  %constinteger PROCSTAR=42
                                                                //    422  %constinteger INTTYPE=43
                                                                //    423  %constinteger SHORTTYPE=46
                                                                //    424  %constinteger HALFTYPE=49
                                                                //    425  %constinteger BYTETYPE=52
                                                                //    426  %constinteger MITETYPE=55
                                                                //    427  %constinteger BOOLTYPE=58
                                                                //    428  %constinteger CHARTYPE=61
                                                                //    429  %constinteger STRINGSTAR=62
                                                                //    430  %constinteger STRING1=63
                                                                //    431  %constinteger STRINGTYPE=64
                                                                //    432  %constinteger ARRSTAR=65
                                                                //    433  %constinteger NULLSETTYPE=66
                                                                //    434  %constinteger RECSTAR=67
                                                                //    435  %constinteger REALTYPE=69
                                                                //    436  %constinteger SIGNAL=73
                                                                //    437  %constinteger DADDR=74
                                                                //    438  %constinteger DSIZEOF=77
                                                                //    439  %constinteger INDEX=78
                                                                //    440  %constinteger LENREF=79
                                                                //    441  %constinteger SINDEX=82
                                                                //    442  %constinteger IMUL=86
                                                                //    443  %constinteger IDIV=87
                                                                //    444  %constinteger IPOW=88
                                                                //    445  %constinteger FNEG=89
                                                                //    446  %constinteger FADD=90
                                                                //    447  %constinteger FSUB=91
                                                                //    448  %constinteger FMUL=92
                                                                //    449  %constinteger FDIV=93
                                                                //    450  %constinteger FPOW=94
                                                                //    451  %constinteger FLOAT=95
                                                                //    452  %constinteger DREM=98
                                                                //    453  %constinteger UNASS=102
                                                                //    454  %constinteger ADOK=103
                                                                //    455  %constinteger STACKOK=104
                                                                //    456  %constinteger ASIZE=105
                                                                //    457  %constinteger CONCAT=106
                                                                //    458  %constinteger DTOSTRING=107
                                                                //    459  %constinteger AGET=109
                                                                //    460  %constinteger FOROK=110
                                                                //    461  %constinteger CHECK=111
                                                                //    462  %constinteger SCOMP=112
                                                                //    463  %constinteger STRCOPY=113
                                                                //    464  %constinteger STRTOSTK=114
                                                                //    465  %constinteger DNEW=115
                                                                //    466  %constinteger RESOLVES=117
                                                                //    467  %constinteger DEVENTF=128
                                                                //    468  %constinteger DEVENT=134
                                                                //    469  %constinteger DNIL=137
                                                                //    470  %constinteger DPRINTSTR=155
                                                                //    471  %constinteger DWRITE=183
                                                                //    472  
                                                                //    473  %constinteger OPMAX=resolves
                                                                //    474  
                                                                //    475  %routine SET HASHHEAD(%string(*)%name s)
#line 475 "regression-compile-tmp/imp22g-77.imp"
void SETHASHHEAD( _imp_string /*%string(255)*/ /*name*/*S )
#line 475 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    476  %integer h,i
#line 476 "regression-compile-tmp/imp22g-77.imp"
int H;
#line 476 "regression-compile-tmp/imp22g-77.imp"
int I;
                                                                //    477    h = 0
#line 477 "regression-compile-tmp/imp22g-77.imp"
H = 0;
                                                                //    478    h = h<<1!!charno(s,i) %for i = 1,1,length(s)
#line 478 "regression-compile-tmp/imp22g-77.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = *_imp_LENGTH(S); I = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, *_imp_LENGTH(S)");
I -= _increment; _control -= _increment;
L_0010:;
if (I == _final) goto L_0011;
I += _increment; _control += _increment;
if (I != _control) _imp_signal(4,2,0,"Corrupt control variable I"); /* FOR loop control variable corrupted */
}
#line 478 "regression-compile-tmp/imp22g-77.imp"
H = ((((H) << (1))) ^ (*_imp_CHARNO(S, I)));
#line 478 "regression-compile-tmp/imp22g-77.imp"
goto L_0010;
#line 478 "regression-compile-tmp/imp22g-77.imp"
L_0011:;
                                                                //    479    head == hashindex(h&255)
#line 479 "regression-compile-tmp/imp22g-77.imp"
HEAD = &HASHINDEX[((H) & (255))];
                                                                //    480  %end
#line 480 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETHASHHEAD at level 2
                                                                //    481  
                                                                //    482  %routine PRESET
#line 482 "regression-compile-tmp/imp22g-77.imp"
void PRESET( void )
#line 482 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    483  !* PRIMGEN marker 2
                                                                //    484  %const%integer CMAX=775
                                                                //    485  %OWN%byte%array CHARINIT(0:CMAX) = 
#line 485 "regression-compile-tmp/imp22g-77.imp"
static unsigned char CHARINIT[776] = { 0, 2, 100, 48, 2, 100, 49, 2, 100, 50, 2, 100, 51, 2, 100, 52, 2, 100, 53, 2, 100, 54, 2, 100, 55, 2, 97, 48, 2, 97, 49, 2, 97, 50, 2, 97, 51, 2, 97, 52, 2, 97, 53, 2, 97, 54, 2, 97, 55, 7, 105, 110, 116, 101, 103, 101, 114, 6, 77, 65, 88, 73, 78, 84, 12, 115, 104, 111, 114, 116, 105, 110, 116, 101, 103, 101, 114, 11, 104, 97, 108, 102, 105, 110, 116, 101, 103, 101, 114, 11, 98, 121, 116, 101, 105, 110, 116, 101, 103, 101, 114, 11, 109, 105, 116, 101, 105, 110, 116, 101, 103, 101, 114, 7, 66, 79, 79, 76, 69, 65, 78, 5, 70, 65, 76, 83, 69, 4, 84, 82, 85, 69, 4, 99, 104, 97, 114, 6, 115, 116, 114, 105, 110, 103, 5, 97, 114, 114, 97, 121, 6, 114, 101, 99, 111, 114, 100, 4, 84, 69, 88, 84, 4, 114, 101, 97, 108, 8, 108, 111, 110, 103, 114, 101, 97, 108, 6, 83, 73, 71, 78, 65, 76, 4, 97, 100, 100, 114, 6, 115, 105, 122, 101, 111, 102, 5, 73, 78, 68, 69, 88, 6, 108, 101, 110, 103, 116, 104, 6, 99, 104, 97, 114, 110, 111, 4, 73, 77, 85, 76, 4, 73, 68, 73, 86, 4, 73, 80, 79, 87, 4, 70, 78, 69, 71, 4, 70, 65, 68, 68, 4, 70, 83, 85, 66, 4, 70, 77, 85, 76, 4, 70, 68, 73, 86, 4, 70, 80, 79, 87, 5, 102, 108, 111, 97, 116, 3, 114, 101, 109, 5, 85, 78, 65, 83, 83, 4, 65, 68, 79, 75, 7, 83, 84, 65, 67, 75, 79, 75, 5, 65, 83, 73, 90, 69, 6, 67, 79, 78, 67, 65, 84, 8, 116, 111, 115, 116, 114, 105, 110, 103, 4, 65, 71, 69, 84, 5, 70, 79, 82, 79, 75, 5, 67, 72, 69, 67, 75, 5, 83, 67, 79, 77, 80, 7, 83, 84, 82, 67, 79, 80, 89, 8, 83, 84, 82, 84, 79, 83, 84, 75, 3, 110, 101, 119, 8, 114, 101, 115, 111, 108, 118, 101, 115, 9, 115, 117, 98, 115, 116, 114, 105, 110, 103, 7, 101, 118, 101, 110, 116, 102, 109, 5, 101, 118, 101, 110, 116, 3, 115, 117, 98, 4, 108, 105, 110, 101, 5, 101, 120, 116, 114, 97, 7, 109, 101, 115, 115, 97, 103, 101, 5, 101, 118, 101, 110, 116, 2, 110, 108, 3, 115, 110, 108, 3, 110, 105, 108, 7, 100, 105, 115, 112, 111, 115, 101, 5, 114, 111, 117, 110, 100, 5, 116, 114, 117, 110, 99, 8, 102, 114, 97, 99, 116, 105, 111, 110, 3, 105, 110, 116, 5, 105, 110, 116, 112, 116, 6, 102, 114, 97, 99, 112, 116, 4, 115, 113, 114, 116, 10, 110, 101, 120, 116, 115, 121, 109, 98, 111, 108, 10, 114, 101, 97, 100, 115, 121, 109, 98, 111, 108, 10, 115, 107, 105, 112, 115, 121, 109, 98, 111, 108, 11, 112, 114, 105, 110, 116, 115, 121, 109, 98, 111, 108, 11, 112, 114, 105, 110, 116, 115, 116, 114, 105, 110, 103, 9, 111, 112, 101, 110, 105, 110, 112, 117, 116, 10, 111, 112, 101, 110, 111, 117, 116, 112, 117, 116, 11, 115, 101, 108, 101, 99, 116, 105, 110, 112, 117, 116, 12, 115, 101, 108, 101, 99, 116, 111, 117, 116, 112, 117, 116, 8, 115, 101, 116, 105, 110, 112, 117, 116, 9, 115, 101, 116, 111, 117, 116, 112, 117, 116, 10, 114, 101, 115, 101, 116, 105, 110, 112, 117, 116, 11, 114, 101, 115, 101, 116, 111, 117, 116, 112, 117, 116, 10, 99, 108, 111, 115, 101, 105, 110, 112, 117, 116, 11, 99, 108, 111, 115, 101, 111, 117, 116, 112, 117, 116, 6, 112, 114, 111, 109, 112, 116, 7, 110, 101, 119, 108, 105, 110, 101, 5, 115, 112, 97, 99, 101, 6, 115, 112, 97, 99, 101, 115, 8, 110, 101, 119, 108, 105, 110, 101, 115, 4, 114, 101, 97, 100, 138, 114, 101, 97, 100, 115, 116, 114, 105, 110, 103, 4, 114, 101, 97, 100, 136, 114, 101, 97, 100, 114, 101, 97, 108, 4, 114, 101, 97, 100, 5, 119, 114, 105, 116, 101, 7, 99, 112, 117, 116, 105, 109, 101, 5, 112, 114, 105, 110, 116, 7, 112, 114, 105, 110, 116, 102, 108, 8, 105, 110, 115, 116, 114, 101, 97, 109, 9, 111, 117, 116, 115, 116, 114, 101, 97, 109, 8, 99, 108, 105, 112, 97, 114, 97, 109, 0,  };
                                                                //    486    0,
                                                                //    487    2,'d','0',
                                                                //    488    2,'d','1',
                                                                //    489    2,'d','2',
                                                                //    490    2,'d','3',
                                                                //    491    2,'d','4',
                                                                //    492    2,'d','5',
                                                                //    493    2,'d','6',
                                                                //    494    2,'d','7',
                                                                //    495    2,'a','0',
                                                                //    496    2,'a','1',
                                                                //    497    2,'a','2',
                                                                //    498    2,'a','3',
                                                                //    499    2,'a','4',
                                                                //    500    2,'a','5',
                                                                //    501    2,'a','6',
                                                                //    502    2,'a','7',
                                                                //    503    7,'i','n','t','e','g','e','r',
                                                                //    504    6,'M','A','X','I','N','T',
                                                                //    505    12,'s','h','o','r','t','i','n','t','e','g','e','r',
                                                                //    506    11,'h','a','l','f','i','n','t','e','g','e','r',
                                                                //    507    11,'b','y','t','e','i','n','t','e','g','e','r',
                                                                //    508    11,'m','i','t','e','i','n','t','e','g','e','r',
                                                                //    509    7,'B','O','O','L','E','A','N',
                                                                //    510    5,'F','A','L','S','E',
                                                                //    511    4,'T','R','U','E',
                                                                //    512    4,'c','h','a','r',
                                                                //    513    6,'s','t','r','i','n','g',
                                                                //    514    5,'a','r','r','a','y',
                                                                //    515    6,'r','e','c','o','r','d',
                                                                //    516    4,'T','E','X','T',
                                                                //    517    4,'r','e','a','l',
                                                                //    518    8,'l','o','n','g','r','e','a','l',
                                                                //    519    6,'S','I','G','N','A','L',
                                                                //    520    4,'a','d','d','r',
                                                                //    521    6,'s','i','z','e','o','f',
                                                                //    522    5,'I','N','D','E','X',
                                                                //    523    6,'l','e','n','g','t','h',
                                                                //    524    6,'c','h','a','r','n','o',
                                                                //    525    4,'I','M','U','L',
                                                                //    526    4,'I','D','I','V',
                                                                //    527    4,'I','P','O','W',
                                                                //    528    4,'F','N','E','G',
                                                                //    529    4,'F','A','D','D',
                                                                //    530    4,'F','S','U','B',
                                                                //    531    4,'F','M','U','L',
                                                                //    532    4,'F','D','I','V',
                                                                //    533    4,'F','P','O','W',
                                                                //    534    5,'f','l','o','a','t',
                                                                //    535    3,'r','e','m',
                                                                //    536    5,'U','N','A','S','S',
                                                                //    537    4,'A','D','O','K',
                                                                //    538    7,'S','T','A','C','K','O','K',
                                                                //    539    5,'A','S','I','Z','E',
                                                                //    540    6,'C','O','N','C','A','T',
                                                                //    541    8,'t','o','s','t','r','i','n','g',
                                                                //    542    4,'A','G','E','T',
                                                                //    543    5,'F','O','R','O','K',
                                                                //    544    5,'C','H','E','C','K',
                                                                //    545    5,'S','C','O','M','P',
                                                                //    546    7,'S','T','R','C','O','P','Y',
                                                                //    547    8,'S','T','R','T','O','S','T','K',
                                                                //    548    3,'n','e','w',
                                                                //    549    8,'r','e','s','o','l','v','e','s',
                                                                //    550    9,'s','u','b','s','t','r','i','n','g',
                                                                //    551    7,'e','v','e','n','t','f','m',
                                                                //    552    5,'e','v','e','n','t',
                                                                //    553    3,'s','u','b',
                                                                //    554    4,'l','i','n','e',
                                                                //    555    5,'e','x','t','r','a',
                                                                //    556    7,'m','e','s','s','a','g','e',
                                                                //    557    5,'e','v','e','n','t',
                                                                //    558    2,'n','l',
                                                                //    559    3,'s','n','l',
                                                                //    560    3,'n','i','l',
                                                                //    561    7,'d','i','s','p','o','s','e',
                                                                //    562    5,'r','o','u','n','d',
                                                                //    563    5,'t','r','u','n','c',
                                                                //    564    8,'f','r','a','c','t','i','o','n',
                                                                //    565    3,'i','n','t',
                                                                //    566    5,'i','n','t','p','t',
                                                                //    567    6,'f','r','a','c','p','t',
                                                                //    568    4,'s','q','r','t',
                                                                //    569    10,'n','e','x','t','s','y','m','b','o','l',
                                                                //    570    10,'r','e','a','d','s','y','m','b','o','l',
                                                                //    571    10,'s','k','i','p','s','y','m','b','o','l',
                                                                //    572    11,'p','r','i','n','t','s','y','m','b','o','l',
                                                                //    573    11,'p','r','i','n','t','s','t','r','i','n','g',
                                                                //    574    9,'o','p','e','n','i','n','p','u','t',
                                                                //    575    10,'o','p','e','n','o','u','t','p','u','t',
                                                                //    576    11,'s','e','l','e','c','t','i','n','p','u','t',
                                                                //    577    12,'s','e','l','e','c','t','o','u','t','p','u','t',
                                                                //    578    8,'s','e','t','i','n','p','u','t',
                                                                //    579    9,'s','e','t','o','u','t','p','u','t',
                                                                //    580    10,'r','e','s','e','t','i','n','p','u','t',
                                                                //    581    11,'r','e','s','e','t','o','u','t','p','u','t',
                                                                //    582    10,'c','l','o','s','e','i','n','p','u','t',
                                                                //    583    11,'c','l','o','s','e','o','u','t','p','u','t',
                                                                //    584    6,'p','r','o','m','p','t',
                                                                //    585    7,'n','e','w','l','i','n','e',
                                                                //    586    5,'s','p','a','c','e',
                                                                //    587    6,'s','p','a','c','e','s',
                                                                //    588    8,'n','e','w','l','i','n','e','s',
                                                                //    589    4,'r','e','a','d', 138,'r','e','a','d','s','t','r','i','n','g',
                                                                //    590    4,'r','e','a','d', 136,'r','e','a','d','r','e','a','l',
                                                                //    591    4,'r','e','a','d',
                                                                //    592    5,'w','r','i','t','e',
                                                                //    593    7,'c','p','u','t','i','m','e',
                                                                //    594    5,'p','r','i','n','t',
                                                                //    595    7,'p','r','i','n','t','f','l',
                                                                //    596    8,'i','n','s','t','r','e','a','m',
                                                                //    597    9,'o','u','t','s','t','r','e','a','m',
                                                                //    598    8,'c','l','i','p','a','r','a','m',
                                                                //    599  0
                                                                //    600  %constinteger PREMAX=196
                                                                //    601  %own%short%array DICTINIT(41*6:PREMAX*6+5) = 
#line 601 "regression-compile-tmp/imp22g-77.imp"
static short DICTINIT[936] = { 516, (-1), 0, 0, 0, 0, 527, (-1), 0, 0, 0, 4, 512, 43, 4, 56, (-32768), 0, 0, (-44), 4, 60, (-32768), 0, 0, 43, 4, 60, 32767, (-1), 512, 43, 2, 56, (-32768), 0, 0, (-44), 2, 60, (-1), (-32768), 0, (-44), 2, 60, 0, 32767, 512, 43, 2, 56, (-32768), 0, 0, (-44), 2, 60, 0, 0, 0, (-44), 2, 60, 0, (-1), 512, 43, 1, 56, (-32768), 0, 0, (-44), 1, 60, 0, 0, 0, (-44), 1, 60, 0, 255, 512, 43, 1, 56, (-32768), 0, 0, (-44), 1, 60, (-1), (-128), 0, (-44), 1, 60, 0, 127, 514, 58, 1, 0, 0, 0, 0, 58, 1, 60, 0, 0, 0, 58, 1, 60, 0, 1, 513, 61, 255, 0, 0, 0, 520, 61, 0, 0, 0, 0, 520, (-62), (-2), 0, 0, 0, 520, (-62), (-256), 0, 0, 0, 521, 0, 0, 0, 0, 0, 522, (-1), 0, 0, 0, 0, 524, 0, 0, 0, 0, 0, 525, 61, 4, 0, 0, 0, 517, 0, 4, 0, 0, 0, 517, 0, 4, 0, 0, 0, 0, (-1), 0, 0, 0, 0, 0, (-1), 0, 0, 0, 0, 4256, 42, 0, 56, 0, 16122, 4098, 75, 0, 56, 0, 0, 0, (-44), 76, 0, 0, 4, (-32701), (-1), 0, 6313, (-1), (-4), 4098, 75, 0, 56, 0, 0, 4096, 42, 0, 56, (-32767), 2861, 4099, 80, 0, 56, 0, 0, 0, (-53), 81, 6144, 0, 4, (-32701), (-63), 0, 6313, (-1), (-4), 4099, 83, 0, 56, 0, 0, 0, (-53), 84, 6144, 0, 4, (-32701), (-63), 85, 6313, (-1), (-4), 67, (-44), 0, 169, (-1), (-8), 4256, 42, 0, 56, 0, 16116, 4256, 42, 0, 56, 0, 16110, 4096, 42, 0, 56, 0, 16098, 4096, 42, 0, 56, 0, 16092, 4096, 42, 0, 56, 0, 16086, 4096, 42, 0, 56, 0, 16080, 4096, 42, 0, 56, 0, 16074, 4096, 42, 0, 56, 0, 16068, 4096, 42, 0, 56, 0, 16062, 4098, 96, 0, 56, 0, 16056, 0, (-70), 97, 0, 0, 4, 67, (-44), 0, 169, (-1), (-4), 4098, 99, 0, 56, 0, 0, 0, (-44), 100, 0, 0, 4, 67, (-44), 101, 169, (-1), (-4), 67, (-44), 0, 425, (-1), (-8), 4096, 42, 0, 56, (-32722), 2578, 4096, 42, 0, 56, (-32704), 2064, 4096, 42, 0, 56, (-32688), 2839, 4096, 42, 0, 56, (-32665), 3097, 4096, 42, 0, 56, (-32640), 2077, 4098, 108, 0, 56, (-32611), 6, 0, (-64), 97, 6144, 0, 4, 4096, 42, 0, 56, (-32605), 2597, 4096, 42, 0, 56, (-32568), 2334, 4096, 42, 0, 56, (-32538), 1806, 4096, 42, 0, 56, (-32524), 2626, 4096, 42, 0, 56, (-32458), 2070, 4096, 42, 0, 56, (-32436), 2090, 4103, 116, 0, 56, 0, 16008, 0, (-68), 76, 6144, 0, 4, 22786, 118, 0, 108, 0, 0, 0, (-59), 119, 0, 0, 0, (-32701), (-63), 120, 6313, (-1), (-4), 67, (-65), 121, 6569, (-1), (-260), (-32701), (-63), 122, 6825, (-1), (-264), (-32701), (-63), 0, 7081, (-1), (-268), 4098, 124, 0, 56, (-32394), 15, 0, (-65), 125, 6144, 0, 4, (-32701), (-63), 126, 6313, (-1), (-4), 67, (-44), 127, 169, (-1), (-8), 67, (-44), 0, 425, (-1), (-12), 524, 0, 129, 0, (-1), (-264), 3, 52, 0, 0, 0, 0, 3, 52, 0, 0, 0, 1, 3, 46, 0, 0, 0, 2, 3, 43, 0, 0, 0, 4, 3, 64, 0, 0, 0, 8, 67, 128, 0, 45, 0, 32, 66, 43, 0, 60, 0, 10, 66, 61, 0, 60, 0, 10, 67, 67, 0, 56, 0, 0, 4096, 139, 0, 56, 0, 16002, 0, (-1), 76, 0, 0, 4, 4098, 141, 0, 56, 0, 16050, 0, (-44), 142, 0, 0, 4, 67, (-70), 0, 169, (-1), (-4), 4098, 141, 0, 56, 0, 16044, 4098, 145, 0, 56, 0, 16038, 0, (-70), 142, 0, 0, 4, 4098, 141, 0, 56, 0, 16032, 4098, 141, 0, 56, 0, 16026, 4098, 145, 0, 56, 0, 16020, 4098, 145, 0, 56, 0, 16014, 4098, 132, 0, 56, 0, 15996, 4098, 132, 0, 56, 0, 15990, 4096, 42, 0, 56, 0, 15990, 4256, 154, 0, 56, 0, 15984, 0, (-1), 97, 0, 0, 4, 4096, 156, 0, 56, 0, 15978, 0, (-1), 157, 0, 0, 4, 67, (-65), 0, 6313, (-1), (-256), 26880, 159, 0, 108, 0, 0, 0, (-1), 160, 0, 0, 0, 67, (-44), 161, 169, (-1), (-4), 67, (-65), 0, 6313, (-1), (-260), 26880, 159, 0, 108, 0, 0, 4096, 154, 0, 56, 0, 15960, 4096, 154, 0, 56, 0, 15954, 26880, 166, 0, 108, 0, 0, 0, (-1), 97, 0, 0, 0, 26880, 166, 0, 108, 0, 0, 26880, 0, 0, 108, 0, 0, 26880, 0, 0, 108, 0, 0, 4096, 42, 0, 56, 0, 15936, 4096, 42, 0, 56, 0, 15930, 26880, 173, 0, 108, 0, 0, 0, (-1), 157, 0, 0, 0, 4096, 42, 0, 56, (-32379), 4, 4096, 42, 0, 56, (-32375), 4, 22784, 166, 0, 108, 0, 0, 22784, 166, 0, 108, 0, 0, 22790, 179, 0, 108, 0, 0, 0, (-65), 0, 6144, 0, 0, 22798, 181, 0, 108, 0, 0, 0, (-70), 0, 0, 0, 0, 22798, 1, 0, 108, 0, 0, 22784, 184, 0, 108, 0, 0, 0, (-1), 100, 0, 0, 0, 26886, 1, 0, 108, 0, 0, 22784, 187, 0, 108, 0, 0, 0, (-1), 188, 0, 0, 0, 67, (-70), 189, 169, (-1), (-4), 67, (-44), 190, 425, (-1), (-8), 67, (-44), 0, 681, (-1), (-12), 22784, 192, 0, 108, 0, 0, 0, (-1), 193, 0, 0, 0, 67, (-70), 101, 169, (-1), (-4), 67, 43, 0, 45, 0, 392, 67, 43, 0, 45, 0, 396, 67, 64, 0, 45, 0, 464,  };
                                                                //    602   516,-1,0,0,0,0,
                                                                //    603   527,-1,0,0,0,4,
                                                                //    604   512,43,4,56,-32768,0,
                                                                //    605   0,-44,4,60,-32768,0,
                                                                //    606   0,43,4,60,32767,-1,
                                                                //    607   512,43,2,56,-32768,0,
                                                                //    608   0,-44,2,60,-1,-32768,
                                                                //    609   0,-44,2,60,0,32767,
                                                                //    610   512,43,2,56,-32768,0,
                                                                //    611   0,-44,2,60,0,0,
                                                                //    612   0,-44,2,60,0,-1,
                                                                //    613   512,43,1,56,-32768,0,
                                                                //    614   0,-44,1,60,0,0,
                                                                //    615   0,-44,1,60,0,255,
                                                                //    616   512,43,1,56,-32768,0,
                                                                //    617   0,-44,1,60,-1,-128,
                                                                //    618   0,-44,1,60,0,127,
                                                                //    619   514,58,1,0,0,0,
                                                                //    620   0,58,1,60,0,0,
                                                                //    621   0,58,1,60,0,1,
                                                                //    622   513,61,255,0,0,0,
                                                                //    623   520,61,0,0,0,0,
                                                                //    624   520,-62,-2,0,0,0,
                                                                //    625   520,-62,-256,0,0,0,
                                                                //    626   521,0,0,0,0,0,
                                                                //    627   522,-1,0,0,0,0,
                                                                //    628   524,0,0,0,0,0,
                                                                //    629   525,61,4,0,0,0,
                                                                //    630   517,0,4,0,0,0,
                                                                //    631   517,0,4,0,0,0,
                                                                //    632   0,-1,0,0,0,0,
                                                                //    633   0,-1,0,0,0,0,
                                                                //    634   4256,42,0,56,0,16122,
                                                                //    635   4098,75,0,56,0,0,
                                                                //    636   0,-44,76,0,0,4,
                                                                //    637   -32701,-1,0,6313,-1,-4,
                                                                //    638   4098,75,0,56,0,0,
                                                                //    639   4096,42,0,56,-32767,2861,
                                                                //    640   4099,80,0,56,0,0,
                                                                //    641   0,-53,81,6144,0,4,
                                                                //    642   -32701,-63,0,6313,-1,-4,
                                                                //    643   4099,83,0,56,0,0,
                                                                //    644   0,-53,84,6144,0,4,
                                                                //    645   -32701,-63,85,6313,-1,-4,
                                                                //    646   67,-44,0,169,-1,-8,
                                                                //    647   4256,42,0,56,0,16116,
                                                                //    648   4256,42,0,56,0,16110,
                                                                //    649   4096,42,0,56,0,16098,
                                                                //    650   4096,42,0,56,0,16092,
                                                                //    651   4096,42,0,56,0,16086,
                                                                //    652   4096,42,0,56,0,16080,
                                                                //    653   4096,42,0,56,0,16074,
                                                                //    654   4096,42,0,56,0,16068,
                                                                //    655   4096,42,0,56,0,16062,
                                                                //    656   4098,96,0,56,0,16056,
                                                                //    657   0,-70,97,0,0,4,
                                                                //    658   67,-44,0,169,-1,-4,
                                                                //    659   4098,99,0,56,0,0,
                                                                //    660   0,-44,100,0,0,4,
                                                                //    661   67,-44,101,169,-1,-4,
                                                                //    662   67,-44,0,425,-1,-8,
                                                                //    663   4096,42,0,56,-32722,2578,
                                                                //    664   4096,42,0,56,-32704,2064,
                                                                //    665   4096,42,0,56,-32688,2839,
                                                                //    666   4096,42,0,56,-32665,3097,
                                                                //    667   4096,42,0,56,-32640,2077,
                                                                //    668   4098,108,0,56,-32611,6,
                                                                //    669   0,-64,97,6144,0,4,
                                                                //    670   4096,42,0,56,-32605,2597,
                                                                //    671   4096,42,0,56,-32568,2334,
                                                                //    672   4096,42,0,56,-32538,1806,
                                                                //    673   4096,42,0,56,-32524,2626,
                                                                //    674   4096,42,0,56,-32458,2070,
                                                                //    675   4096,42,0,56,-32436,2090,
                                                                //    676   4103,116,0,56,0,16008,
                                                                //    677   0,-68,76,6144,0,4,
                                                                //    678   22786,118,0,108,0,0,
                                                                //    679   0,-59,119,0,0,0,
                                                                //    680   -32701,-63,120,6313,-1,-4,
                                                                //    681   67,-65,121,6569,-1,-260,
                                                                //    682   -32701,-63,122,6825,-1,-264,
                                                                //    683   -32701,-63,0,7081,-1,-268,
                                                                //    684   4098,124,0,56,-32394,15,
                                                                //    685   0,-65,125,6144,0,4,
                                                                //    686   -32701,-63,126,6313,-1,-4,
                                                                //    687   67,-44,127,169,-1,-8,
                                                                //    688   67,-44,0,425,-1,-12,
                                                                //    689   524,0,129,0,-1,-264,
                                                                //    690   3,52,0,0,0,0,
                                                                //    691   3,52,0,0,0,1,
                                                                //    692   3,46,0,0,0,2,
                                                                //    693   3,43,0,0,0,4,
                                                                //    694   3,64,0,0,0,8,
                                                                //    695   67,128,0,45,0,32,
                                                                //    696   66,43,0,60,0,10,
                                                                //    697   66,61,0,60,0,10,
                                                                //    698   67,67,0,56,0,0,
                                                                //    699   4096,139,0,56,0,16002,
                                                                //    700   0,-1,76,0,0,4,
                                                                //    701   4098,141,0,56,0,16050,
                                                                //    702   0,-44,142,0,0,4,
                                                                //    703   67,-70,0,169,-1,-4,
                                                                //    704   4098,141,0,56,0,16044,
                                                                //    705   4098,145,0,56,0,16038,
                                                                //    706   0,-70,142,0,0,4,
                                                                //    707   4098,141,0,56,0,16032,
                                                                //    708   4098,141,0,56,0,16026,
                                                                //    709   4098,145,0,56,0,16020,
                                                                //    710   4098,145,0,56,0,16014,
                                                                //    711   4098,132,0,56,0,15996,
                                                                //    712   4098,132,0,56,0,15990,
                                                                //    713   4096,42,0,56,0,15990,
                                                                //    714   4256,154,0,56,0,15984,
                                                                //    715   0,-1,97,0,0,4,
                                                                //    716   4096,156,0,56,0,15978,
                                                                //    717   0,-1,157,0,0,4,
                                                                //    718   67,-65,0,6313,-1,-256,
                                                                //    719   26880,159,0,108,0,0,
                                                                //    720   0,-1,160,0,0,0,
                                                                //    721   67,-44,161,169,-1,-4,
                                                                //    722   67,-65,0,6313,-1,-260,
                                                                //    723   26880,159,0,108,0,0,
                                                                //    724   4096,154,0,56,0,15960,
                                                                //    725   4096,154,0,56,0,15954,
                                                                //    726   26880,166,0,108,0,0,
                                                                //    727   0,-1,97,0,0,0,
                                                                //    728   26880,166,0,108,0,0,
                                                                //    729   26880,0,0,108,0,0,
                                                                //    730   26880,0,0,108,0,0,
                                                                //    731   4096,42,0,56,0,15936,
                                                                //    732   4096,42,0,56,0,15930,
                                                                //    733   26880,173,0,108,0,0,
                                                                //    734   0,-1,157,0,0,0,
                                                                //    735   4096,42,0,56,-32379,4,
                                                                //    736   4096,42,0,56,-32375,4,
                                                                //    737   22784,166,0,108,0,0,
                                                                //    738   22784,166,0,108,0,0,
                                                                //    739   22790,179,0,108,0,0,
                                                                //    740   0,-65,0,6144,0,0,
                                                                //    741   22798,181,0,108,0,0,
                                                                //    742   0,-70,0,0,0,0,
                                                                //    743   22798,1,0,108,0,0,
                                                                //    744   22784,184,0,108,0,0,
                                                                //    745   0,-1,100,0,0,0,
                                                                //    746   26886,1,0,108,0,0,
                                                                //    747   22784,187,0,108,0,0,
                                                                //    748   0,-1,188,0,0,0,
                                                                //    749   67,-70,189,169,-1,-4,
                                                                //    750   67,-44,190,425,-1,-8,
                                                                //    751   67,-44,0,681,-1,-12,
                                                                //    752   22784,192,0,108,0,0,
                                                                //    753   0,-1,193,0,0,0,
                                                                //    754   67,-70,101,169,-1,-4,
                                                                //    755   67,43,0,45,0,392,
                                                                //    756   67,43,0,45,0,396,
                                                                //    757   67,64,0,45,0,464
                                                                //    758  
                                                                //    759  %integer i,ci,anons
#line 759 "regression-compile-tmp/imp22g-77.imp"
int I;
#line 759 "regression-compile-tmp/imp22g-77.imp"
int CI;
#line 759 "regression-compile-tmp/imp22g-77.imp"
int ANONS;
                                                                //    760  %record(identinfo)%name dp
#line 760 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DP;
                                                                //    761  
                                                                //    762  %routine PUT CHAR
#line 762 "regression-compile-tmp/imp22g-77.imp"
void PUTCHAR( void )
#line 762 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    763    byteinteger(charlim) = charinit(ci)
#line 763 "regression-compile-tmp/imp22g-77.imp"
*_imp_BYTEINTEGER(CHARLIM) = CHARINIT[CI];
                                                                //    764    charlim = charlim+1;  ci = ci+1
#line 764 "regression-compile-tmp/imp22g-77.imp"
CHARLIM = (((int)(CHARLIM)) + (1));
#line 764 "regression-compile-tmp/imp22g-77.imp"
CI = (((int)(CI)) + (1));
                                                                //    765  %end
#line 765 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTCHAR at level 3
                                                                //    766  
                                                                //    767  %routine TEXTSET(%record(identinfo)%name dp)
#line 767 "regression-compile-tmp/imp22g-77.imp"
void TEXTSET(  IDENTINFO /*name*/*DP )
#line 767 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    768  %integer len
#line 768 "regression-compile-tmp/imp22g-77.imp"
int LEN;
                                                                //    769    dp_hlink = 0
#line 769 "regression-compile-tmp/imp22g-77.imp"
DP->HLINK = 0;
                                                                //    770    %if dp_type < 0 %start;     !convention for *anon*
#line 770 "regression-compile-tmp/imp22g-77.imp"
if (((DP->TYPE) >= (0))) goto L_0013;
                                                                //    771      dp_type = \dp_type
#line 771 "regression-compile-tmp/imp22g-77.imp"
DP->TYPE = (~(DP->TYPE));
                                                                //    772      dp_text = 0
#line 772 "regression-compile-tmp/imp22g-77.imp"
DP->TEXT = 0;
                                                                //    773      anons = anons-1
#line 773 "regression-compile-tmp/imp22g-77.imp"
ANONS = (((int)(ANONS)) - (1));
                                                                //    774      dp_hlink = ranges %and ranges = dlim %if anons = 0 %and dlim <= mitetype+2
#line 774 "regression-compile-tmp/imp22g-77.imp"
if (((ANONS) != (0))) goto L_0014;
#line 774 "regression-compile-tmp/imp22g-77.imp"
if (((DLIM) > (57))) goto L_0014;
#line 774 "regression-compile-tmp/imp22g-77.imp"
DP->HLINK = RANGES;
#line 774 "regression-compile-tmp/imp22g-77.imp"
RANGES = DLIM;
#line 774 "regression-compile-tmp/imp22g-77.imp"
L_0014:;
                                                                //    775    %else
#line 775 "regression-compile-tmp/imp22g-77.imp"
goto L_0015;
#line 775 "regression-compile-tmp/imp22g-77.imp"
L_0013:;
                                                                //    776      dp_text = ci
#line 776 "regression-compile-tmp/imp22g-77.imp"
DP->TEXT = CI;
                                                                //    777      %if charinit(ci+1)&32 # 0 %start;  !not upper-case
#line 777 "regression-compile-tmp/imp22g-77.imp"
if (((((CHARINIT[(((int)(CI)) + (1))]) & (32))) == (0))) goto L_0016;
                                                                //    778        %if deventf < dlim < devent %start
#line 778 "regression-compile-tmp/imp22g-77.imp"
if ((((128) >= (DLIM))) || (((DLIM) >= (134)))) goto L_0017;
                                                                //    779          head = dlim;  head == dp_hlink
#line 779 "regression-compile-tmp/imp22g-77.imp"
*HEAD = DLIM;
#line 779 "regression-compile-tmp/imp22g-77.imp"
HEAD = &DP->HLINK;
                                                                //    780        %else
#line 780 "regression-compile-tmp/imp22g-77.imp"
goto L_0018;
#line 780 "regression-compile-tmp/imp22g-77.imp"
L_0017:;
                                                                //    781          set hashhead(string(addr(charinit(ci))))
#line 781 "regression-compile-tmp/imp22g-77.imp"
SETHASHHEAD(_imp_STRING(_imp_ADDR(&CHARINIT[CI])));
                                                                //    782          dp_hlink = head;  head = dlim
#line 782 "regression-compile-tmp/imp22g-77.imp"
DP->HLINK = *HEAD;
#line 782 "regression-compile-tmp/imp22g-77.imp"
*HEAD = DLIM;
                                                                //    783          head == dp_link %if dlim = deventf
#line 783 "regression-compile-tmp/imp22g-77.imp"
if (((DLIM) != (128))) goto L_0019;
#line 783 "regression-compile-tmp/imp22g-77.imp"
HEAD = &DP->LINK;
#line 783 "regression-compile-tmp/imp22g-77.imp"
L_0019:;
                                                                //    784        %finish
#line 784 "regression-compile-tmp/imp22g-77.imp"
L_0018:;
                                                                //    785      %finish
#line 785 "regression-compile-tmp/imp22g-77.imp"
L_0016:;
                                                                //    786      len = charinit(ci)
#line 786 "regression-compile-tmp/imp22g-77.imp"
LEN = CHARINIT[CI];
                                                                //    787      put char %and len = len-1 %until len < 0
#line 787 "regression-compile-tmp/imp22g-77.imp"
L_001a:;
#line 787 "regression-compile-tmp/imp22g-77.imp"
PUTCHAR();
#line 787 "regression-compile-tmp/imp22g-77.imp"
LEN = (((int)(LEN)) - (1));
#line 787 "regression-compile-tmp/imp22g-77.imp"
if (((LEN) < (0))) goto L_001b;
#line 787 "regression-compile-tmp/imp22g-77.imp"
goto L_001a;
#line 787 "regression-compile-tmp/imp22g-77.imp"
L_001b:;
                                                                //    788      len = charinit(ci)-128
#line 788 "regression-compile-tmp/imp22g-77.imp"
LEN = (((int)(CHARINIT[CI])) - (128));
                                                                //    789      put char %and len = len-1 %while len >= 0
#line 789 "regression-compile-tmp/imp22g-77.imp"
L_001d:;
#line 789 "regression-compile-tmp/imp22g-77.imp"
if (((LEN) < (0))) goto L_001e;
#line 789 "regression-compile-tmp/imp22g-77.imp"
PUTCHAR();
#line 789 "regression-compile-tmp/imp22g-77.imp"
LEN = (((int)(LEN)) - (1));
#line 789 "regression-compile-tmp/imp22g-77.imp"
goto L_001d;
#line 789 "regression-compile-tmp/imp22g-77.imp"
L_001e:;
                                                                //    790      anons = 2
#line 790 "regression-compile-tmp/imp22g-77.imp"
ANONS = 2;
                                                                //    791    %finish
#line 791 "regression-compile-tmp/imp22g-77.imp"
L_0015:;
                                                                //    792  %end
#line 792 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block TEXTSET at level 3
                                                                //    793  
                                                                //    794    hashindex(i) = 0 %for i = 0,1,255;  !hash table empty
#line 794 "regression-compile-tmp/imp22g-77.imp"
I = (-1);
if ((((255)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, 255");
L_0020:;
if (I == 255) goto L_0021;
I += 1;
#line 794 "regression-compile-tmp/imp22g-77.imp"
HASHINDEX[I] = 0;
#line 794 "regression-compile-tmp/imp22g-77.imp"
goto L_0020;
#line 794 "regression-compile-tmp/imp22g-77.imp"
L_0021:;
                                                                //    795    byteinteger(char0) = 0;  !for anon ident
#line 795 "regression-compile-tmp/imp22g-77.imp"
*_imp_BYTEINTEGER(CHAR0) = 0;
                                                                //    796    charlim = char0+1
#line 796 "regression-compile-tmp/imp22g-77.imp"
CHARLIM = (((int)(CHAR0)) + (1));
                                                                //    797    charmin = charlim+charbound;  !(1 over top)
#line 797 "regression-compile-tmp/imp22g-77.imp"
CHARMIN = (((int)(CHARLIM)) + (CHARBOUND));
                                                                //    798    ranges = 0
#line 798 "regression-compile-tmp/imp22g-77.imp"
RANGES = 0;
                                                                //    799  
                                                                //    800    ci = 1
#line 800 "regression-compile-tmp/imp22g-77.imp"
CI = 1;
                                                                //    801    anons = 100
#line 801 "regression-compile-tmp/imp22g-77.imp"
ANONS = 100;
                                                                //    802    dict(0) = 0
#line 802 "regression-compile-tmp/imp22g-77.imp"
DICT[0] = (IDENTINFO){ 0 } /* Assign 0's to all fields of record */;
                                                                //    803    dlim = d0
#line 803 "regression-compile-tmp/imp22g-77.imp"
DLIM = 1;
                                                                //    804    %cycle
#line 804 "regression-compile-tmp/imp22g-77.imp"
L_0023:;
                                                                //    805      dp == dict(dlim)
#line 805 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[DLIM];
                                                                //    806      %if dlim <= prea7 %start
#line 806 "regression-compile-tmp/imp22g-77.imp"
if (((DLIM) > (40))) goto L_0026;
                                                                //    807        dp = 0
#line 807 "regression-compile-tmp/imp22g-77.imp"
*DP = (IDENTINFO){ 0 } /* Assign 0's to all fields of record */;
                                                                //    808        dp_flags = okflag+writable+readable;  dp_mode = dlim-d0
#line 808 "regression-compile-tmp/imp22g-77.imp"
DP->FLAGS = 67;
#line 808 "regression-compile-tmp/imp22g-77.imp"
DP->MODE = (((int)(DLIM)) - (1));
                                                                //    809        dp_type = inttype
#line 809 "regression-compile-tmp/imp22g-77.imp"
DP->TYPE = 43;
                                                                //    810        textset(dp) %if dlim <= a7
#line 810 "regression-compile-tmp/imp22g-77.imp"
if (((DLIM) > (16))) goto L_0027;
#line 810 "regression-compile-tmp/imp22g-77.imp"
TEXTSET(DP);
#line 810 "regression-compile-tmp/imp22g-77.imp"
L_0027:;
                                                                //    811      %else
#line 811 "regression-compile-tmp/imp22g-77.imp"
goto L_0028;
#line 811 "regression-compile-tmp/imp22g-77.imp"
L_0026:;
                                                                //    812        dp_details = record(addr(dictinit(dlim*6)))
#line 812 "regression-compile-tmp/imp22g-77.imp"
DP->DETAILS =  *(OBJINFO *) _imp_RECORD(_imp_ADDR(&(DICTINIT-246)[(((int)(DLIM)) * (6))]));
                                                                //    813        textset(dp)
#line 813 "regression-compile-tmp/imp22g-77.imp"
TEXTSET(DP);
                                                                //    814      %finish
#line 814 "regression-compile-tmp/imp22g-77.imp"
L_0028:;
                                                                //    815      dlim = dlim+1
#line 815 "regression-compile-tmp/imp22g-77.imp"
DLIM = (((int)(DLIM)) + (1));
                                                                //    816      %exit %if control&permbit # 0 %and dlim >= signal
#line 816 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (128))) == (0))) goto L_0029;
#line 816 "regression-compile-tmp/imp22g-77.imp"
if (((DLIM) < (73))) goto L_0029;
#line 816 "regression-compile-tmp/imp22g-77.imp"
goto L_0024;
#line 816 "regression-compile-tmp/imp22g-77.imp"
L_0029:;
                                                                //    817    %repeat %until dlim > premax
#line 817 "regression-compile-tmp/imp22g-77.imp"
if (((DLIM) > (196))) goto L_0024;
#line 817 "regression-compile-tmp/imp22g-77.imp"
goto L_0023;
#line 817 "regression-compile-tmp/imp22g-77.imp"
L_0024:;
                                                                //    818    dictshown = dlim
#line 818 "regression-compile-tmp/imp22g-77.imp"
DICTSHOWN = DLIM;
                                                                //    819    i = dictlim
#line 819 "regression-compile-tmp/imp22g-77.imp"
I = DICTLIM;
                                                                //    820    %cycle
#line 820 "regression-compile-tmp/imp22g-77.imp"
L_002a:;
                                                                //    821      dp == dict(i)
#line 821 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[I];
                                                                //    822      dp = 0
#line 822 "regression-compile-tmp/imp22g-77.imp"
*DP = (IDENTINFO){ 0 } /* Assign 0's to all fields of record */;
                                                                //    823      dp_mode = labmode
#line 823 "regression-compile-tmp/imp22g-77.imp"
DP->MODE = 186;
                                                                //    824      i = i+1
#line 824 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
                                                                //    825    %repeat %until i = np0
#line 825 "regression-compile-tmp/imp22g-77.imp"
if (((I) == (NP0))) goto L_002b;
#line 825 "regression-compile-tmp/imp22g-77.imp"
goto L_002a;
#line 825 "regression-compile-tmp/imp22g-77.imp"
L_002b:;
                                                                //    826  %end;  !preset
#line 826 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRESET at level 2
                                                                //    827  
                                                                //    828  !<<BOTH
                                                                //    829  
                                                                //    830  !  The last part of DICT (from LABLIM to EXPLIM) is used for
                                                                //    831  ! the intermediate representation of the components of source
                                                                //    832  ! statements between the recognition stage and the code generation
                                                                //    833  ! stage.
                                                                //    834  !  The part from LABLIM+4 (NP0) up is used as a temporary pipeline
                                                                //    835  ! for non-expression cells (instructions, conditions, etc)
                                                                //    836  ! and the part down from EXPLIM for the canonical and
                                                                //    837  ! persistent representation of expressions (including name
                                                                //    838  ! expressions).
                                                                //    839  ! In this part of the array the ident components PLIST (etc), TEXT
                                                                //    840  !  and HLINK are replaced by ACT, X and Y representing an operation
                                                                //    841  !  and (up to) two operands.
                                                                //    842  %integer EXPLO,OLDEXPLO
#line 842 "regression-compile-tmp/imp22g-77.imp"
int EXPLO;
#line 842 "regression-compile-tmp/imp22g-77.imp"
int OLDEXPLO;
                                                                //    843  %integer NP,STARTNP
#line 843 "regression-compile-tmp/imp22g-77.imp"
int NP;
#line 843 "regression-compile-tmp/imp22g-77.imp"
int STARTNP;
                                                                //    844  
                                                                //    845  !Operator codes:
                                                                //    846  ! Machine operator index values 1-31:
                                                                //    847  %constinteger MOVE=1, ADD=2, SUB=3
                                                                //    848  %constinteger CMP=4, AND=5, OR=6, EOR=7
                                                                //    849  %constinteger NOT=8, NEG=9, LSL=10, LSR=11
                                                                //    850  %constinteger MULS=12, DIVS=13, MULU=14, DIVU=15
                                                                //    851  %constinteger BRA=16, BSR=17
                                                                //    852  %constinteger BCC=20, BCS=21, BNE=22, BEQ=23
                                                                //    853  %constinteger BVC=24, BVS=25
                                                                //    854  %constinteger BGE=28, BLT=29, BGT=30, BLE=31
                                                                //    855  %constinteger COMPARE=cmp, GOTO=bra
                                                                //    856  ! Other built-in operators
                                                                //    857  %constinteger JAMASS=32, OKASS=33, ASSIGN=34, INCASS=35
                                                                //    858  %constinteger FORASS=36, STOP=37, RETURN=38, REPEAT=39
                                                                //    859  %constinteger ELSE=40, JUMPOUT=41, SETTRAP=42, SWGOTO=43
                                                                //    860  %constinteger LABEL=44, RECREF=45, PREL=46, STOREMAP=47
                                                                //    861  %constinteger IABS=48, FABS=49, END=50
                                                                //    862  ! PLUS OPERATORS DEFINED IN DICTIONARY > BOPMAX <= OPMAX
                                                                //    863  !
                                                                //    864  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    865  
                                                                //    866  %integer STARTS, CYCLES
#line 866 "regression-compile-tmp/imp22g-77.imp"
int STARTS;
#line 866 "regression-compile-tmp/imp22g-77.imp"
int CYCLES;
                                                                //    867  %integer CURLAB
#line 867 "regression-compile-tmp/imp22g-77.imp"
int CURLAB;
                                                                //    868  %integer PENDOUT, PENDCOND, PENDIN, POLARITY, CONDOP
#line 868 "regression-compile-tmp/imp22g-77.imp"
int PENDOUT;
#line 868 "regression-compile-tmp/imp22g-77.imp"
int PENDCOND;
#line 868 "regression-compile-tmp/imp22g-77.imp"
int PENDIN;
#line 868 "regression-compile-tmp/imp22g-77.imp"
int POLARITY;
#line 868 "regression-compile-tmp/imp22g-77.imp"
int CONDOP;
                                                                //    869  %ownshortinteger EXTSPECS=0, EXTERNS=0
#line 869 "regression-compile-tmp/imp22g-77.imp"
static short EXTSPECS = 0;
#line 869 "regression-compile-tmp/imp22g-77.imp"
static short EXTERNS = 0;
                                                                //    870  !
                                                                //    871  %recordformat CONTENTINFO(%short ccx,ccy,line,
#line 871 "regression-compile-tmp/imp22g-77.imp"
typedef struct CONTENTINFO CONTENTINFO;
struct CONTENTINFO {
  short CCX;
  short CCY;
  short LINE;
  short CONTENT[16];
};
                                                                //    872                            %shortarray content(d0:a7))
                                                                //    873  %recordformat BLOCKINF(%integer sp, stack, extra, totstack, free, status,
#line 873 "regression-compile-tmp/imp22g-77.imp"
typedef struct BLOCKINF BLOCKINF;
struct BLOCKINF {
  int SP;
  int STACK;
  int EXTRA;
  int TOTSTACK;
  int FREE;
  int STATUS;
  int TYPE;
  int LOCALDPOS;
  int PARLIM;
  int LOCALTEXT;
  int LOCALAD;
  int VINTAGE;
  int LOCALPC;
  int LOCALSWPC;
  int PID;
  int ACCESS;
  int FORWARD;
  int LAB1;
  int LOOPLAB;
  int EVENTSP;
  int FAULTS;
  int RETURN;
  int SHORTS;
  int TEMPS;
  int DYNARRAY;
  int OLDCONTROL;
  int MODE;
  int VAL;
   IDENTINFO /*name*/*DPID;
   CONTENTINFO REG;
};
                                                                //    874                  type, localdpos, parlim, localtext, localad, vintage,
                                                                //    875                  localpc, localswpc, pid, access, forward, lab1, looplab,
                                                                //    876                  eventsp, faults, return, shorts, temps,
                                                                //    877                  dynarray, oldcontrol, mode,val,
                                                                //    878                  %record(identinfo)%name dpid,
                                                                //    879                  %record(contentinfo) reg)
                                                                //    880  !STATUS flag bits
                                                                //    881  %constinteger UNKNOWN    =16_0002,
                                                                //    882                WRONGCC    =16_0004,
                                                                //    883                ONSTACK    =16_0008,
                                                                //    884                GLOBBED    =16_0010,
                                                                //    885                LABGLOBBED =16_0020, {Pascal}
                                                                //    886                HADSPEC    =16_0040,
                                                                //    887                HADSWITCH  =16_0080,
                                                                //    888                HADON      =16_1000,
                                                                //    889                HADORDERERR=16_2000,
                                                                //    890                HADINST    =16_4000  {max flag}
                                                                //    891  
                                                                //    892  %constinteger OUTERLEVEL=0, MAXLEVEL=7
                                                                //    893  %integer LEVEL;           !current block level
#line 893 "regression-compile-tmp/imp22g-77.imp"
int LEVEL;
                                                                //    894  %integer VINTAGE;         !current block number
#line 894 "regression-compile-tmp/imp22g-77.imp"
int VINTAGE;
                                                                //    895  %record(blockinf) C;      !info for current block
#line 895 "regression-compile-tmp/imp22g-77.imp"
 BLOCKINF C;
                                                                //    896  %record(blockinf)%array HOLD(0:maxlevel-1); !info for global blocks
#line 896 "regression-compile-tmp/imp22g-77.imp"
 BLOCKINF HOLD[7];
                                                                //    897  %record(contentinfo)%array LREG(0:labels)
#line 897 "regression-compile-tmp/imp22g-77.imp"
 CONTENTINFO LREG[43];
                                                                //    898  
                                                                //    899  ! Code storage for currently open blocks
                                                                //    900  %constinteger PROGBOUND=16383
                                                                //    901  %shortarray PROG(0:progbound)
#line 901 "regression-compile-tmp/imp22g-77.imp"
short PROG[16384];
                                                                //    902  %bytearray PFLAG(0:progbound)
#line 902 "regression-compile-tmp/imp22g-77.imp"
unsigned char PFLAG[16384];
                                                                //    903  %constinteger SHORTJUMP=1, JUMP=2, LONGJUMP=3,
                                                                //    904                GLOBAL=4, {NEGGLOBAL=5, BIGGLOBAL=6,} INDGLOBAL=7,
                                                                //    905                ZEROSHORTS=8
                                                                //    906  %integer PC,SWPC
#line 906 "regression-compile-tmp/imp22g-77.imp"
int PC;
#line 906 "regression-compile-tmp/imp22g-77.imp"
int SWPC;
                                                                //    907  ! Final core image
                                                                //    908  %bytearray FINAL(0:finalbound)
#line 908 "regression-compile-tmp/imp22g-77.imp"
unsigned char FINAL[((FINALBOUND) + ((int)(1)))];
                                                                //    909  ! Declaration records (to select relevant context)
                                                                //    910  %integer CAD,OWNAD,JOKERAD,OWNBASE
#line 910 "regression-compile-tmp/imp22g-77.imp"
int CAD;
#line 910 "regression-compile-tmp/imp22g-77.imp"
int OWNAD;
#line 910 "regression-compile-tmp/imp22g-77.imp"
int JOKERAD;
#line 910 "regression-compile-tmp/imp22g-77.imp"
int OWNBASE;
                                                                //    911  %integer FINAL0,ACCOUNTED
#line 911 "regression-compile-tmp/imp22g-77.imp"
int FINAL0;
#line 911 "regression-compile-tmp/imp22g-77.imp"
int ACCOUNTED;
                                                                //    912  !
                                                                //    913  %integer FIRSTENTRY, FIRSTPOS
#line 913 "regression-compile-tmp/imp22g-77.imp"
int FIRSTENTRY;
#line 913 "regression-compile-tmp/imp22g-77.imp"
int FIRSTPOS;
                                                                //    914  
                                                                //    915  !Memo variables for current statement:-
                                                                //    916  %own%integer {ITEM,}TYPE=0,VALUE=0;      !current operand
#line 916 "regression-compile-tmp/imp22g-77.imp"
static int TYPE = 0;
#line 916 "regression-compile-tmp/imp22g-77.imp"
static int VALUE = 0;
                                                                //    917  %record(identinfo)%name DITEM
#line 917 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DITEM;
                                                                //    918  %integer SPECCING
#line 918 "regression-compile-tmp/imp22g-77.imp"
int SPECCING;
                                                                //    919  %integer DUMP
#line 919 "regression-compile-tmp/imp22g-77.imp"
int DUMP;
                                                                //    920  
                                                                //    921  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    922  
                                                                //    923  !!  Source file input and listing
                                                                //    924  %owninteger ATOM=0;       !current lexical atom
#line 924 "regression-compile-tmp/imp22g-77.imp"
static int ATOM = 0;
                                                                //    925  %integer MATCHED;         !indic that atom has been matched
#line 925 "regression-compile-tmp/imp22g-77.imp"
int MATCHED;
                                                                //    926  %integer SYM;             !current input symbol
#line 926 "regression-compile-tmp/imp22g-77.imp"
int SYM;
                                                                //    927  %integer LINE;            !current line number
#line 927 "regression-compile-tmp/imp22g-77.imp"
int LINE;
                                                                //    928  %owninteger CODEFLAG=' '; !or ^
#line 928 "regression-compile-tmp/imp22g-77.imp"
static int CODEFLAG = 32;
                                                                //    929  %integer LISTFLAG;        !' ' or '&' or '+' or '"'
#line 929 "regression-compile-tmp/imp22g-77.imp"
int LISTFLAG;
                                                                //    930  !   Pointers to source file:
                                                                //    931  %integer LINESTART
#line 931 "regression-compile-tmp/imp22g-77.imp"
int LINESTART;
                                                                //    932  %integer FP;              !(file pointer) current position
#line 932 "regression-compile-tmp/imp22g-77.imp"
int FP;
                                                                //    933  %integer ATOMP;           !start of current atom
#line 933 "regression-compile-tmp/imp22g-77.imp"
int ATOMP;
                                                                //    934  %integer EXPP
#line 934 "regression-compile-tmp/imp22g-77.imp"
int EXPP;
                                                                //    935  !
                                                                //    936  !! Utility routines
                                                                //    937  
                                                                //    938  %integerfn IS SHORT(%integer v)
#line 938 "regression-compile-tmp/imp22g-77.imp"
int ISSHORT( int V )
#line 938 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    939    %result = TRUE %if -32768 <= v <= 32767
#line 939 "regression-compile-tmp/imp22g-77.imp"
if (((((-32768)) > (V))) || (((V) > (32767)))) goto L_002d;
#line 939 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 939 "regression-compile-tmp/imp22g-77.imp"
L_002d:;
                                                                //    940    %result = FALSE
#line 940 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //    941  %end
#line 941 "regression-compile-tmp/imp22g-77.imp"
} // End of block ISSHORT at level 2
                                                                //    942  
                                                                //    943  %integerfn IS MITE(%integer v)
#line 943 "regression-compile-tmp/imp22g-77.imp"
int ISMITE( int V )
#line 943 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    944    %result = TRUE %if -128 <= v <= 127
#line 944 "regression-compile-tmp/imp22g-77.imp"
if (((((-128)) > (V))) || (((V) > (127)))) goto L_002e;
#line 944 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 944 "regression-compile-tmp/imp22g-77.imp"
L_002e:;
                                                                //    945    %result = FALSE
#line 945 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //    946  %end
#line 946 "regression-compile-tmp/imp22g-77.imp"
} // End of block ISMITE at level 2
                                                                //    947  
                                                                //    948  %integer%fn MITE(%integer v)
#line 948 "regression-compile-tmp/imp22g-77.imp"
int MITE( int V )
#line 948 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    949    v = v&255;  v = v-256 %if v&128 # 0
#line 949 "regression-compile-tmp/imp22g-77.imp"
V = ((V) & (255));
#line 949 "regression-compile-tmp/imp22g-77.imp"
if (((((V) & (128))) == (0))) goto L_002f;
#line 949 "regression-compile-tmp/imp22g-77.imp"
V = (((int)(V)) - (256));
#line 949 "regression-compile-tmp/imp22g-77.imp"
L_002f:;
                                                                //    950    %result = v
#line 950 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return V;
                                                                //    951  %end
#line 951 "regression-compile-tmp/imp22g-77.imp"
} // End of block MITE at level 2
                                                                //    952  
                                                                //    953  %record(identinfo)%map TYPECELL(%integer t)
#line 953 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*map*/*TYPECELL( int T )
#line 953 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    954    %result == dict(t)
#line 954 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return &DICT[T];
                                                                //    955  %end
#line 955 "regression-compile-tmp/imp22g-77.imp"
} // End of block TYPECELL at level 2
                                                                //    956  
                                                                //    957  %integer%fn CATEGORY(%integer t)
#line 957 "regression-compile-tmp/imp22g-77.imp"
int CATEGORY( int T )
#line 957 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    958    %result = dict(t)_flags&(packed+cat)
#line 958 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return ((DICT[T].FLAGS) & (1039));
                                                                //    959  %end
#line 959 "regression-compile-tmp/imp22g-77.imp"
} // End of block CATEGORY at level 2
                                                                //    960  
                                                                //    961  %integer%fn LITVAL(%integer v)
#line 961 "regression-compile-tmp/imp22g-77.imp"
int LITVAL( int V )
#line 961 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    962    %result = v %if v = 0
#line 962 "regression-compile-tmp/imp22g-77.imp"
if (((V) != (0))) goto L_0030;
#line 962 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return V;
#line 962 "regression-compile-tmp/imp22g-77.imp"
L_0030:;
                                                                //    963    %if v > litmax %start;  !not stored literal
#line 963 "regression-compile-tmp/imp22g-77.imp"
if (((V) <= ((-2048)))) goto L_0031;
                                                                //    964      %result = (-v)>>1 %if v&1 = 0
#line 964 "regression-compile-tmp/imp22g-77.imp"
if (((((V) & (1))) != (0))) goto L_0032;
#line 964 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return (((((-(V)))) >> (1)));
#line 964 "regression-compile-tmp/imp22g-77.imp"
L_0032:;
                                                                //    965      %result = \((-v)>>1)
#line 965 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return (~((((((-(V)))) >> (1)))));
                                                                //    966    %finish
#line 966 "regression-compile-tmp/imp22g-77.imp"
L_0031:;
                                                                //    967    %result = litstore(v)
#line 967 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return LITSTORE[((V) + ((int)(2247)))];
                                                                //    968  %end
#line 968 "regression-compile-tmp/imp22g-77.imp"
} // End of block LITVAL at level 2
                                                                //    969  !
                                                                //    970  !!!!!!!!!!!!!! Listing, diagnostic and report routines  !!!!!!!!!!!!!!
                                                                //    971  !
                                                                //    972  %integer FAULTS, OTHERS, FAULTNUM, FAULTP
#line 972 "regression-compile-tmp/imp22g-77.imp"
int FAULTS;
#line 972 "regression-compile-tmp/imp22g-77.imp"
int OTHERS;
#line 972 "regression-compile-tmp/imp22g-77.imp"
int FAULTNUM;
#line 972 "regression-compile-tmp/imp22g-77.imp"
int FAULTP;
                                                                //    973  !
                                                                //    974  !!  Program statistics
                                                                //    975  %integer STATEMENTS;           !statement count
#line 975 "regression-compile-tmp/imp22g-77.imp"
int STATEMENTS;
                                                                //    976  %integer COMMENTS;             !comment count
#line 976 "regression-compile-tmp/imp22g-77.imp"
int COMMENTS;
                                                                //    977  %integer ATOMS;                !atom count
#line 977 "regression-compile-tmp/imp22g-77.imp"
int ATOMS;
                                                                //    978  %integer IDENTATOMS;           !identifier count
#line 978 "regression-compile-tmp/imp22g-77.imp"
int IDENTATOMS;
                                                                //    979  %integer LITATOMS;             !numeric atom count
#line 979 "regression-compile-tmp/imp22g-77.imp"
int LITATOMS;
                                                                //    980  %integer ZAPS;                 !enforced cleardown of lits/exps
#line 980 "regression-compile-tmp/imp22g-77.imp"
int ZAPS;
                                                                //    981  %integer STEPS;                !stepping stones inserted
#line 981 "regression-compile-tmp/imp22g-77.imp"
int STEPS;
                                                                //    982  !%integer MAXIDENTS, MAXCHARS, MAXLITS
                                                                //    983  %integer JUMPS,SHORTS
#line 983 "regression-compile-tmp/imp22g-77.imp"
int JUMPS;
#line 983 "regression-compile-tmp/imp22g-77.imp"
int SHORTS;
                                                                //    984  !
                                                                //    985  %string(255) REP
#line 985 "regression-compile-tmp/imp22g-77.imp"
_imp_string /*%string(255)*/ REP;
                                                                //    986  !
                                                                //    987  %routine PRINT LINE
#line 987 "regression-compile-tmp/imp22g-77.imp"
void PRINTLINE( void )
#line 987 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    988    print string(rep);  print symbol(nl)
#line 988 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(REP);
#line 988 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSYMBOL(10);
                                                                //    989    rep = ""
#line 989 "regression-compile-tmp/imp22g-77.imp"
REP = _imp_str_literal("");
                                                                //    990  %end
#line 990 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRINTLINE at level 2
                                                                //    991  !
                                                                //    992  %routine PUT SYM(%integer k)
#line 992 "regression-compile-tmp/imp22g-77.imp"
void PUTSYM( int K )
#line 992 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    993    rep = rep.tostring(k)
#line 993 "regression-compile-tmp/imp22g-77.imp"
REP = _imp_join((_imp_string)REP,(_imp_string)_imp_TOSTRING(K));
                                                                //    994  %end
#line 994 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTSYM at level 2
                                                                //    995  !
                                                                //    996  %routine PUT STRING(%string(255) s)
#line 996 "regression-compile-tmp/imp22g-77.imp"
void PUTSTRING( _imp_string /*%string(255)*/ S )
#line 996 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //    997    rep = rep.s
#line 997 "regression-compile-tmp/imp22g-77.imp"
REP = _imp_join((_imp_string)REP,(_imp_string)S);
                                                                //    998  %end
#line 998 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTSTRING at level 2
                                                                //    999  !
                                                                //   1000  !
                                                                //   1001  %routine PUT NUM(%integer val)
#line 1001 "regression-compile-tmp/imp22g-77.imp"
void PUTNUM( int VAL )
#line 1001 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1002  %routine PD(%integer v)
#line 1002 "regression-compile-tmp/imp22g-77.imp"
void PD( int V )
#line 1002 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1003    pd(v//10) %and v = v-v//10*10 %if v <= -10
#line 1003 "regression-compile-tmp/imp22g-77.imp"
if (((V) > ((-10)))) goto L_0033;
#line 1003 "regression-compile-tmp/imp22g-77.imp"
PD(((long)((long)((int)(V)) / (long)((int)(10)))));
#line 1003 "regression-compile-tmp/imp22g-77.imp"
V = ((V) - (((((long)((long)((int)(V)) / (long)((int)(10))))) * (10))));
#line 1003 "regression-compile-tmp/imp22g-77.imp"
L_0033:;
                                                                //   1004    put sym('0'-v)
#line 1004 "regression-compile-tmp/imp22g-77.imp"
PUTSYM((((int)(48)) - (V)));
                                                                //   1005  %end
#line 1005 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PD at level 3
                                                                //   1006    %if val < 0 %then put sym('-') %and pd(val) %c
#line 1006 "regression-compile-tmp/imp22g-77.imp"
if (((VAL) >= (0))) goto L_0034;
#line 1006 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(45);
#line 1006 "regression-compile-tmp/imp22g-77.imp"
PD(VAL);
#line 1006 "regression-compile-tmp/imp22g-77.imp"
goto L_0035;
#line 1006 "regression-compile-tmp/imp22g-77.imp"
L_0034:;
#line 1006 "regression-compile-tmp/imp22g-77.imp"
PD((-(VAL)));
#line 1006 "regression-compile-tmp/imp22g-77.imp"
L_0035:;
                                                                //   1007    %else pd(-val)
                                                                //   1008  %end
#line 1008 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTNUM at level 2
                                                                //   1009  !
                                                                //   1010  %routine PUT IDENT(%integer p,mode)
#line 1010 "regression-compile-tmp/imp22g-77.imp"
void PUTIDENT( int P, int MODE )
#line 1010 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1011  %record(identinfo)%name dp
#line 1011 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DP;
                                                                //   1012    %cycle
#line 1012 "regression-compile-tmp/imp22g-77.imp"
L_0036:;
                                                                //   1013      print line %if length(rep) > 50
#line 1013 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_LENGTH(&REP)) <= (50))) goto L_0039;
#line 1013 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
#line 1013 "regression-compile-tmp/imp22g-77.imp"
L_0039:;
                                                                //   1014      spaces(6) %if rep = ""
#line 1014 "regression-compile-tmp/imp22g-77.imp"
if ((_imp_strcmp(REP, _imp_str_literal("")) != 0)) goto L_003a;
#line 1014 "regression-compile-tmp/imp22g-77.imp"
_imp_SPACES(6);
#line 1014 "regression-compile-tmp/imp22g-77.imp"
L_003a:;
                                                                //   1015      dp == dict(p)
#line 1015 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[P];
                                                                //   1016      put sym(' ') %and put sym('"') %if mode # 0
#line 1016 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) == (0))) goto L_003b;
#line 1016 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(32);
#line 1016 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(34);
#line 1016 "regression-compile-tmp/imp22g-77.imp"
L_003b:;
                                                                //   1017      %if dp_text > 0 %start
#line 1017 "regression-compile-tmp/imp22g-77.imp"
if (((DP->TEXT) <= (0))) goto L_003c;
                                                                //   1018          put string(string(char0+dp_text))
#line 1018 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(*_imp_STRING(((CHAR0) + ((int)(DP->TEXT)))));
                                                                //   1019      %finish %else %if dp_text < 0 %start
#line 1019 "regression-compile-tmp/imp22g-77.imp"
goto L_003d;
#line 1019 "regression-compile-tmp/imp22g-77.imp"
L_003c:;
#line 1019 "regression-compile-tmp/imp22g-77.imp"
if (((DP->TEXT) >= (0))) goto L_003e;
                                                                //   1020          put num(\dp_text)
#line 1020 "regression-compile-tmp/imp22g-77.imp"
PUTNUM((~(DP->TEXT)));
                                                                //   1021      %else
#line 1021 "regression-compile-tmp/imp22g-77.imp"
goto L_003d;
#line 1021 "regression-compile-tmp/imp22g-77.imp"
L_003e:;
                                                                //   1022          put num(p)
#line 1022 "regression-compile-tmp/imp22g-77.imp"
PUTNUM(P);
                                                                //   1023      %finish
#line 1023 "regression-compile-tmp/imp22g-77.imp"
L_003d:;
                                                                //   1024      put sym('"') %if mode # 0
#line 1024 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) == (0))) goto L_003f;
#line 1024 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(34);
#line 1024 "regression-compile-tmp/imp22g-77.imp"
L_003f:;
                                                                //   1025      %return %if mode <= 0
#line 1025 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) > (0))) goto L_0040;
#line 1025 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1025 "regression-compile-tmp/imp22g-77.imp"
L_0040:;
                                                                //   1026      p = dp_hlink
#line 1026 "regression-compile-tmp/imp22g-77.imp"
P = DP->HLINK;
                                                                //   1027    %repeat %until p = 0
#line 1027 "regression-compile-tmp/imp22g-77.imp"
if (((P) == (0))) goto L_0037;
#line 1027 "regression-compile-tmp/imp22g-77.imp"
goto L_0036;
#line 1027 "regression-compile-tmp/imp22g-77.imp"
L_0037:;
                                                                //   1028  %end
#line 1028 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTIDENT at level 2
                                                                //   1029  !
                                                                //   1030  {?}%routine SPACES(%integer n)
#line 1030 "regression-compile-tmp/imp22g-77.imp"
void SPACES( int N )
#line 1030 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1031  {?}  %while n > 0 %cycle
#line 1031 "regression-compile-tmp/imp22g-77.imp"
L_0041:;
#line 1031 "regression-compile-tmp/imp22g-77.imp"
if (((N) <= (0))) goto L_0042;
                                                                //   1032  {?}    put sym(' ');  n = n-1
#line 1032 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(32);
#line 1032 "regression-compile-tmp/imp22g-77.imp"
N = (((int)(N)) - (1));
                                                                //   1033  {?}  %repeat
#line 1033 "regression-compile-tmp/imp22g-77.imp"
goto L_0041;
#line 1033 "regression-compile-tmp/imp22g-77.imp"
L_0042:;
                                                                //   1034  {?}%end
#line 1034 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SPACES at level 2
                                                                //   1035  {?}!
                                                                //   1036  {?}%routine PUT SPNUM(%integer val)
#line 1036 "regression-compile-tmp/imp22g-77.imp"
void PUTSPNUM( int VAL )
#line 1036 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1037  {?}  put sym(' ') %if val >= 0
#line 1037 "regression-compile-tmp/imp22g-77.imp"
if (((VAL) < (0))) goto L_0044;
#line 1037 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(32);
#line 1037 "regression-compile-tmp/imp22g-77.imp"
L_0044:;
                                                                //   1038  {?}  put num(val)
#line 1038 "regression-compile-tmp/imp22g-77.imp"
PUTNUM(VAL);
                                                                //   1039  {?}%end
#line 1039 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTSPNUM at level 2
                                                                //   1040  {?}
                                                                //   1041  {?}%constbytearray hexsym(0:15) =
#line 1041 "regression-compile-tmp/imp22g-77.imp"
const unsigned char HEXSYM[16] = { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70,  };
                                                                //   1042  {?}'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
                                                                //   1043  {?}
                                                                //   1044  {?}%routine PUT HEX(%integer val)
#line 1044 "regression-compile-tmp/imp22g-77.imp"
void PUTHEX( int VAL )
#line 1044 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1045  {?}%integer i
#line 1045 "regression-compile-tmp/imp22g-77.imp"
int I;
                                                                //   1046  {?}  put sym(hexsym(val>>i&15)) %for i = 12,-4,0
#line 1046 "regression-compile-tmp/imp22g-77.imp"
I = 16;
if ((((0)-(12)) % ((-4))) != 0) _imp_signal(5,1,0,"Illegal cycle I = 12, (-4), 0");
L_0045:;
if (I == 0) goto L_0046;
I += (-4);
#line 1046 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(HEXSYM[(((int)((((unsigned int)(VAL)) >> (I)))) & (15))]);
#line 1046 "regression-compile-tmp/imp22g-77.imp"
goto L_0045;
#line 1046 "regression-compile-tmp/imp22g-77.imp"
L_0046:;
                                                                //   1047  {?}%end
#line 1047 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTHEX at level 2
                                                                //   1048  {?}!
                                                                //   1049  {?}%routine PUT OPERAND(%integer v)
#line 1049 "regression-compile-tmp/imp22g-77.imp"
void PUTOPERAND( int V )
#line 1049 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1050  {?}%integer i
#line 1050 "regression-compile-tmp/imp22g-77.imp"
int I;
                                                                //   1051  {?}%routine INTERPRET(%integer mode)
#line 1051 "regression-compile-tmp/imp22g-77.imp"
void INTERPRET( int MODE )
#line 1051 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1052  {?}%switch s(0:7)
#line 1052 "regression-compile-tmp/imp22g-77.imp"
static int sw1_S_idx;
static const void * /*SWITCH*/ sw1_S[8] = { &&sw1_S_0, &&sw1_S_1, &&sw1_S_2, &&sw1_S_3, &&sw1_S_4, &&sw1_S_5, &&sw1_S_6, &&sw1_S_7,  };
                                                                //   1053  {?}  ->s(mode>>3&7)
#line 1053 "regression-compile-tmp/imp22g-77.imp"
sw1_S_idx = (((int)((((unsigned int)(MODE)) >> (3)))) & (7)); if ((0 <= sw1_S_idx) && (sw1_S_idx <= 7)) goto *sw1_S[sw1_S_idx]; else {
   /*_imp_signal(8, 2, sw1_S_idx);*/
   fprintf(stderr, "%%SWITCH index S(%d) not in range 0:7 at %s:%d\n",
           sw1_S_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   1054  {?}s(0):                 !DREG
#line 1054 "regression-compile-tmp/imp22g-77.imp"
sw1_S_0:;
                                                                //   1055  {?}  put sym('D')
#line 1055 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(68);
                                                                //   1056  {?}putrno:
#line 1056 "regression-compile-tmp/imp22g-77.imp"
U_1000:;
                                                                //   1057  {?}  put sym(mode&7+'0')
#line 1057 "regression-compile-tmp/imp22g-77.imp"
PUTSYM((((int)(((MODE) & (7)))) + (48)));
                                                                //   1058  {?}  %return
#line 1058 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1059  {?}s(1):                 !AREG
#line 1059 "regression-compile-tmp/imp22g-77.imp"
sw1_S_1:;
                                                                //   1060  {?}  %if mode >= framemode-dispmode %then put sym('F') %else put sym('A')
#line 1060 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) < (128))) goto L_0048;
#line 1060 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(70);
#line 1060 "regression-compile-tmp/imp22g-77.imp"
goto L_0049;
#line 1060 "regression-compile-tmp/imp22g-77.imp"
L_0048:;
#line 1060 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(65);
#line 1060 "regression-compile-tmp/imp22g-77.imp"
L_0049:;
                                                                //   1061  {?}  -> putrno
#line 1061 "regression-compile-tmp/imp22g-77.imp"
goto U_1000;
                                                                //   1062  {?}s(4):                 !PRE
#line 1062 "regression-compile-tmp/imp22g-77.imp"
sw1_S_4:;
                                                                //   1063  {?}  put sym('-')
#line 1063 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(45);
                                                                //   1064  {?}s(2):                 !INDIRECT
#line 1064 "regression-compile-tmp/imp22g-77.imp"
sw1_S_2:;
                                                                //   1065  {?}ind:
#line 1065 "regression-compile-tmp/imp22g-77.imp"
U_1001:;
                                                                //   1066  {?}  put sym('(')
#line 1066 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(40);
                                                                //   1067  {?}  interpret(mode&2_11000111+aregmode)
#line 1067 "regression-compile-tmp/imp22g-77.imp"
INTERPRET((((int)(((MODE) & (199)))) + (8)));
                                                                //   1068  {?}  put sym(')')
#line 1068 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(41);
                                                                //   1069  {?}  %return
#line 1069 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1070  {?}s(3):                 !POST
#line 1070 "regression-compile-tmp/imp22g-77.imp"
sw1_S_3:;
                                                                //   1071  {?}  interpret(mode-8);  !ind
#line 1071 "regression-compile-tmp/imp22g-77.imp"
INTERPRET((((int)(MODE)) - (8)));
                                                                //   1072  {?}  put sym('+')
#line 1072 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(43);
                                                                //   1073  {?}  %return
#line 1073 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1074  {?}s(5):                 !DISP
#line 1074 "regression-compile-tmp/imp22g-77.imp"
sw1_S_5:;
                                                                //   1075  {?}  put num(i)
#line 1075 "regression-compile-tmp/imp22g-77.imp"
PUTNUM(I);
                                                                //   1076  {?}  ->ind
#line 1076 "regression-compile-tmp/imp22g-77.imp"
goto U_1001;
                                                                //   1077  {?}s(6):                 !INDEX
#line 1077 "regression-compile-tmp/imp22g-77.imp"
sw1_S_6:;
                                                                //   1078  {?}  put num(mite(i))
#line 1078 "regression-compile-tmp/imp22g-77.imp"
PUTNUM(MITE(I));
                                                                //   1079  {?}  put sym('(')
#line 1079 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(40);
                                                                //   1080  {?}  interpret(mode+(aregmode-indexmode))
#line 1080 "regression-compile-tmp/imp22g-77.imp"
INTERPRET(((MODE) + ((int)((-40)))));
                                                                //   1081  {?}  put sym(',')
#line 1081 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(44);
                                                                //   1082  {?}  interpret(i>>12&15)
#line 1082 "regression-compile-tmp/imp22g-77.imp"
INTERPRET((((int)((((unsigned int)(I)) >> (12)))) & (15)));
                                                                //   1083  {?}  put sym('.')
#line 1083 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(46);
                                                                //   1084  {?}  %if i&16_800 = 0 %then put sym('W') %else put sym('L')
#line 1084 "regression-compile-tmp/imp22g-77.imp"
if (((((I) & (2048))) != (0))) goto L_004a;
#line 1084 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(87);
#line 1084 "regression-compile-tmp/imp22g-77.imp"
goto L_004b;
#line 1084 "regression-compile-tmp/imp22g-77.imp"
L_004a:;
#line 1084 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(76);
#line 1084 "regression-compile-tmp/imp22g-77.imp"
L_004b:;
                                                                //   1085  {?}  put sym(')')
#line 1085 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(41);
                                                                //   1086  {?}  %return
#line 1086 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1087  {?}s(7):                 !MISC
#line 1087 "regression-compile-tmp/imp22g-77.imp"
sw1_S_7:;
                                                                //   1088  {?}  %if mode&63 = pcmode %start
#line 1088 "regression-compile-tmp/imp22g-77.imp"
if (((((MODE) & (63))) != (58))) goto L_004c;
                                                                //   1089  {?}    put num(i) %if mode = pcmode;  !suppress if not explicit
#line 1089 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) != (58))) goto L_004d;
#line 1089 "regression-compile-tmp/imp22g-77.imp"
PUTNUM(I);
#line 1089 "regression-compile-tmp/imp22g-77.imp"
L_004d:;
                                                                //   1090  {?}    put string("(PC)")
#line 1090 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal("(PC)"));
                                                                //   1091  {?}    %return
#line 1091 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1092  {?}  %finish
#line 1092 "regression-compile-tmp/imp22g-77.imp"
L_004c:;
                                                                //   1093  {?}  %if mode <= absmode+1 %start
#line 1093 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) > (57))) goto L_004e;
                                                                //   1094  {?}    put sym('$')
#line 1094 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(36);
                                                                //   1095  {?}    put hex(i>>16) %if mode = absmode+1 %or %not is short(i)=TRUE
#line 1095 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) == (57))) goto L_001f;
#line 1095 "regression-compile-tmp/imp22g-77.imp"
if (((ISSHORT(I)) == (1))) goto L_004f;
#line 1095 "regression-compile-tmp/imp22g-77.imp"
L_001f:;
#line 1095 "regression-compile-tmp/imp22g-77.imp"
PUTHEX((int)((((unsigned int)(I)) >> (16))));
#line 1095 "regression-compile-tmp/imp22g-77.imp"
L_004f:;
                                                                //   1096  {?}  %else
#line 1096 "regression-compile-tmp/imp22g-77.imp"
goto L_0050;
#line 1096 "regression-compile-tmp/imp22g-77.imp"
L_004e:;
                                                                //   1097  {?}    put sym(hexsym(mode>>4&3))
#line 1097 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(HEXSYM[(((int)((((unsigned int)(MODE)) >> (4)))) & (3))]);
                                                                //   1098  {?}    put sym(hexsym(mode&15))
#line 1098 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(HEXSYM[((MODE) & (15))]);
                                                                //   1099  {?}    put sym('_')
#line 1099 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(95);
                                                                //   1100  {?}  %finish
#line 1100 "regression-compile-tmp/imp22g-77.imp"
L_0050:;
                                                                //   1101  {?}  put hex(i)
#line 1101 "regression-compile-tmp/imp22g-77.imp"
PUTHEX(I);
                                                                //   1102  {?}%end
#line 1102 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block INTERPRET at level 3
                                                                //   1103  {?}
                                                                //   1104  {?}  %if v <= 0 %start;               !literal
#line 1104 "regression-compile-tmp/imp22g-77.imp"
if (((V) > (0))) goto L_0051;
                                                                //   1105  {?}    v = litval(v)
#line 1105 "regression-compile-tmp/imp22g-77.imp"
V = LITVAL(V);
                                                                //   1106  {?}    put sym('#')
#line 1106 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(35);
                                                                //   1107  {?}    %if is mite(v)=TRUE %then put num(v) %else %start
#line 1107 "regression-compile-tmp/imp22g-77.imp"
if (((ISMITE(V)) != (1))) goto L_0052;
#line 1107 "regression-compile-tmp/imp22g-77.imp"
PUTNUM(V);
#line 1107 "regression-compile-tmp/imp22g-77.imp"
goto L_0053;
#line 1107 "regression-compile-tmp/imp22g-77.imp"
L_0052:;
                                                                //   1108  {?}      put sym('$')
#line 1108 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(36);
                                                                //   1109  {?}      put hex(v>>16) %if v>>16 # 0
#line 1109 "regression-compile-tmp/imp22g-77.imp"
if ((((int)((((unsigned int)(V)) >> (16)))) == (0))) goto L_0054;
#line 1109 "regression-compile-tmp/imp22g-77.imp"
PUTHEX((int)((((unsigned int)(V)) >> (16))));
#line 1109 "regression-compile-tmp/imp22g-77.imp"
L_0054:;
                                                                //   1110  {?}      put hex(v&16_FFFF)
#line 1110 "regression-compile-tmp/imp22g-77.imp"
PUTHEX(((V) & (65535)));
                                                                //   1111  {?}    %finish
#line 1111 "regression-compile-tmp/imp22g-77.imp"
L_0053:;
                                                                //   1112  {?}  %finish %else %if v <= prea7 %start;    !register
#line 1112 "regression-compile-tmp/imp22g-77.imp"
goto L_0055;
#line 1112 "regression-compile-tmp/imp22g-77.imp"
L_0051:;
#line 1112 "regression-compile-tmp/imp22g-77.imp"
if (((V) > (40))) goto L_0056;
                                                                //   1113  {?}    interpret(v-d0)
#line 1113 "regression-compile-tmp/imp22g-77.imp"
INTERPRET((((int)(V)) - (1)));
                                                                //   1114  {?}  %finish %else %if v < dictlim %start;  !identifier
#line 1114 "regression-compile-tmp/imp22g-77.imp"
goto L_0055;
#line 1114 "regression-compile-tmp/imp22g-77.imp"
L_0056:;
#line 1114 "regression-compile-tmp/imp22g-77.imp"
if (((V) >= (DICTLIM))) goto L_0057;
                                                                //   1115  {?}    put ident(v,0)
#line 1115 "regression-compile-tmp/imp22g-77.imp"
PUTIDENT(V, 0);
                                                                //   1116  {?}  %finish %else %if v < lablim %start;  !internal label
#line 1116 "regression-compile-tmp/imp22g-77.imp"
goto L_0055;
#line 1116 "regression-compile-tmp/imp22g-77.imp"
L_0057:;
#line 1116 "regression-compile-tmp/imp22g-77.imp"
if (((V) >= (LABLIM))) goto L_0058;
                                                                //   1117  {?}    put sym('L')
#line 1117 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(76);
                                                                //   1118  {?}    put num(v-dictlim)
#line 1118 "regression-compile-tmp/imp22g-77.imp"
PUTNUM((((int)(V)) - (DICTLIM)));
                                                                //   1119  {?}  %else;                 !complex
#line 1119 "regression-compile-tmp/imp22g-77.imp"
goto L_0055;
#line 1119 "regression-compile-tmp/imp22g-77.imp"
L_0058:;
                                                                //   1120  {?}    i = dict(v)_val
#line 1120 "regression-compile-tmp/imp22g-77.imp"
I = DICT[V].VAL;
                                                                //   1121  {?}    interpret(dict(v)_mode)
#line 1121 "regression-compile-tmp/imp22g-77.imp"
INTERPRET(DICT[V].MODE);
                                                                //   1122  {?}  %finish
#line 1122 "regression-compile-tmp/imp22g-77.imp"
L_0055:;
                                                                //   1123  {?}%end;  !put operand
#line 1123 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTOPERAND at level 2
                                                                //   1124  {?}
                                                                //   1125  {?}%routine MARK AT(%integer col)
#line 1125 "regression-compile-tmp/imp22g-77.imp"
void MARKAT( int COL )
#line 1125 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1126  {?}  put sym(' ') %while length(rep) < col;  put sym('|')
#line 1126 "regression-compile-tmp/imp22g-77.imp"
L_0059:;
#line 1126 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_LENGTH(&REP)) >= (COL))) goto L_005a;
#line 1126 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(32);
#line 1126 "regression-compile-tmp/imp22g-77.imp"
goto L_0059;
#line 1126 "regression-compile-tmp/imp22g-77.imp"
L_005a:;
#line 1126 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(124);
                                                                //   1127  {?}%end
#line 1127 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MARKAT at level 2
                                                                //   1128  {?}!
                                                                //   1129  {?}%routine SHOW DICT(%integer from)
#line 1129 "regression-compile-tmp/imp22g-77.imp"
void SHOWDICT( int FROM )
#line 1129 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1130  {?}%integer i
#line 1130 "regression-compile-tmp/imp22g-77.imp"
int I;
                                                                //   1131  {?}%record(identinfo) d
#line 1131 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO D;
                                                                //   1132  {?}%constbytearray flagsym(0:15) =
#line 1132 "regression-compile-tmp/imp22g-77.imp"
const unsigned char FLAGSYM[16] = { 87, 82, 86, 65, 119, 114, 111, 109, 83, 84, 75, 63, 80, 112, 69, 42,  };
                                                                //   1133  {?}  'W','R','V','A','w','r','o','m','S','T','K','?','P','p','E','*'
                                                                //   1134  {?}%constbytearray catsym(0:15) =
#line 1134 "regression-compile-tmp/imp22g-77.imp"
const unsigned char CATSYM[16] = { 73, 67, 66, 69, 64, 88, 63, 63, 83, 65, 90, 63, 82, 70, 63, 63,  };
                                                                //   1135  {?}  'I', 'C', 'B', 'E', '@', 'X', '?', '?',
                                                                //   1136  {?}  'S', 'A', 'Z', '?', 'R', 'F', '?', '?'
                                                                //   1137  {?}
                                                                //   1138  {?}  %return %if from >= dlim
#line 1138 "regression-compile-tmp/imp22g-77.imp"
if (((FROM) < (DLIM))) goto L_005c;
#line 1138 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1138 "regression-compile-tmp/imp22g-77.imp"
L_005c:;
                                                                //   1139  !<<IMP
                                                                //   1140  {?}  print line %if rep # ""
#line 1140 "regression-compile-tmp/imp22g-77.imp"
if ((_imp_strcmp(REP, _imp_str_literal("")) == 0)) goto L_005d;
#line 1140 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
#line 1140 "regression-compile-tmp/imp22g-77.imp"
L_005d:;
                                                                //   1141  {?}  byteinteger(charlim) = 0
#line 1141 "regression-compile-tmp/imp22g-77.imp"
*_imp_BYTEINTEGER(CHARLIM) = 0;
                                                                //   1142  {?}  spaces(6)
#line 1142 "regression-compile-tmp/imp22g-77.imp"
SPACES(6);
                                                                //   1143  {?}  put string("___identifier____flags___type__link__par_mode___value____")
#line 1143 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal("___identifier____flags___type__link__par_mode___value____"));
                                                                //   1144  {?}  print line
#line 1144 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
                                                                //   1145  {?}  %cycle
#line 1145 "regression-compile-tmp/imp22g-77.imp"
L_005e:;
                                                                //   1146  {?}    put spnum(from);  mark at(6)
#line 1146 "regression-compile-tmp/imp22g-77.imp"
PUTSPNUM(FROM);
#line 1146 "regression-compile-tmp/imp22g-77.imp"
MARKAT(6);
                                                                //   1147  {?}    d = dict(from)
#line 1147 "regression-compile-tmp/imp22g-77.imp"
D = DICT[FROM];
                                                                //   1148  {?}    put sym(' ');  put ident(from,0)
#line 1148 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(32);
#line 1148 "regression-compile-tmp/imp22g-77.imp"
PUTIDENT(FROM, 0);
                                                                //   1149  {?}    %if d_text > 0 %start
#line 1149 "regression-compile-tmp/imp22g-77.imp"
if (((D.TEXT) <= (0))) goto L_0061;
                                                                //   1150  {?}      i = char0+d_text;  i = i+byteinteger(i)+1
#line 1150 "regression-compile-tmp/imp22g-77.imp"
I = ((CHAR0) + ((int)(D.TEXT)));
#line 1150 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(((I) + (*(int *)(_imp_BYTEINTEGER(I)))))) + (1));
                                                                //   1151  {?}      %if byteinteger(i)&128 # 0 %start
#line 1151 "regression-compile-tmp/imp22g-77.imp"
if (((((*_imp_BYTEINTEGER(I)) & (128))) == (0))) goto L_0062;
                                                                //   1152  {?}        byteinteger(i) = byteinteger(i)-128
#line 1152 "regression-compile-tmp/imp22g-77.imp"
*_imp_BYTEINTEGER(I) = ((*(int *)(_imp_BYTEINTEGER(I))) - (128));
                                                                //   1153  {?}        put sym(':');  put string(string(i))
#line 1153 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(58);
#line 1153 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(*_imp_STRING(I));
                                                                //   1154  {?}        byteinteger(i) = byteinteger(i)+128
#line 1154 "regression-compile-tmp/imp22g-77.imp"
*_imp_BYTEINTEGER(I) = ((*(int *)(_imp_BYTEINTEGER(I))) + (128));
                                                                //   1155  {?}      %finish
#line 1155 "regression-compile-tmp/imp22g-77.imp"
L_0062:;
                                                                //   1156  {?}    %finish
#line 1156 "regression-compile-tmp/imp22g-77.imp"
L_0061:;
                                                                //   1157  {?}    mark at(22)
#line 1157 "regression-compile-tmp/imp22g-77.imp"
MARKAT(22);
                                                                //   1158  {?}    %if d_flags&typeid # 0 %then put sym(catsym(d_flags&cat)) %and i = 4 %c
#line 1158 "regression-compile-tmp/imp22g-77.imp"
if (((((D.FLAGS) & (512))) == (0))) goto L_0063;
#line 1158 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(CATSYM[((D.FLAGS) & (15))]);
#line 1158 "regression-compile-tmp/imp22g-77.imp"
I = 4;
#line 1158 "regression-compile-tmp/imp22g-77.imp"
goto L_0064;
#line 1158 "regression-compile-tmp/imp22g-77.imp"
L_0063:;
#line 1158 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(32);
#line 1158 "regression-compile-tmp/imp22g-77.imp"
I = 0;
#line 1158 "regression-compile-tmp/imp22g-77.imp"
L_0064:;
                                                                //   1159  {?}    %else put sym(' ') %and i = 0
                                                                //   1160  {?}    %cycle
#line 1160 "regression-compile-tmp/imp22g-77.imp"
L_0065:;
                                                                //   1161  {?}      put sym(flagsym(i)) %if d_flags>>i&1 # 0
#line 1161 "regression-compile-tmp/imp22g-77.imp"
if ((((((short)((((unsigned short)(D.FLAGS)) >> (I)))) & (1))) == (0))) goto L_0068;
#line 1161 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(FLAGSYM[I]);
#line 1161 "regression-compile-tmp/imp22g-77.imp"
L_0068:;
                                                                //   1162  {?}      i = i+1
#line 1162 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
                                                                //   1163  {?}    %repeat %until i > 15
#line 1163 "regression-compile-tmp/imp22g-77.imp"
if (((I) > (15))) goto L_0066;
#line 1163 "regression-compile-tmp/imp22g-77.imp"
goto L_0065;
#line 1163 "regression-compile-tmp/imp22g-77.imp"
L_0066:;
                                                                //   1164  {?}    mark at(30)
#line 1164 "regression-compile-tmp/imp22g-77.imp"
MARKAT(30);
                                                                //   1165  {?}    put spnum(d_type);  mark at(35)
#line 1165 "regression-compile-tmp/imp22g-77.imp"
PUTSPNUM(D.TYPE);
#line 1165 "regression-compile-tmp/imp22g-77.imp"
MARKAT(35);
                                                                //   1166  {?}    put spnum(d_link);  mark at(42)
#line 1166 "regression-compile-tmp/imp22g-77.imp"
PUTSPNUM(D.LINK);
#line 1166 "regression-compile-tmp/imp22g-77.imp"
MARKAT(42);
                                                                //   1167  {?}    put spnum(d_reg);  mark at(46)
#line 1167 "regression-compile-tmp/imp22g-77.imp"
PUTSPNUM(D.REG);
#line 1167 "regression-compile-tmp/imp22g-77.imp"
MARKAT(46);
                                                                //   1168  {?}    put spnum(d_mode);  mark at(51)
#line 1168 "regression-compile-tmp/imp22g-77.imp"
PUTSPNUM(D.MODE);
#line 1168 "regression-compile-tmp/imp22g-77.imp"
MARKAT(51);
                                                                //   1169  {?}    put spnum(d_val);  mark at(63)
#line 1169 "regression-compile-tmp/imp22g-77.imp"
PUTSPNUM(D.VAL);
#line 1169 "regression-compile-tmp/imp22g-77.imp"
MARKAT(63);
                                                                //   1170  {?}    print line
#line 1170 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
                                                                //   1171  {?}    from = from+1
#line 1171 "regression-compile-tmp/imp22g-77.imp"
FROM = (((int)(FROM)) + (1));
                                                                //   1172  {?}  %repeat %until from = dlim
#line 1172 "regression-compile-tmp/imp22g-77.imp"
if (((FROM) == (DLIM))) goto L_005f;
#line 1172 "regression-compile-tmp/imp22g-77.imp"
goto L_005e;
#line 1172 "regression-compile-tmp/imp22g-77.imp"
L_005f:;
                                                                //   1173  {?}  spaces(6)
#line 1173 "regression-compile-tmp/imp22g-77.imp"
SPACES(6);
                                                                //   1174  {?}  put string("+-------------------------------------------------------+")
#line 1174 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal("+-------------------------------------------------------+"));
                                                                //   1175  {?}  print line
#line 1175 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
                                                                //   1176  !<<BOTH
                                                                //   1177  {?}%end
#line 1177 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SHOWDICT at level 2
                                                                //   1178  {?}%routine PUT MNEMONIC(%integer m)
#line 1178 "regression-compile-tmp/imp22g-77.imp"
void PUTMNEMONIC( int M )
#line 1178 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1179  {?}  m = m<<2
#line 1179 "regression-compile-tmp/imp22g-77.imp"
M = ((M) << (2));
                                                                //   1180  {?}  %cycle
#line 1180 "regression-compile-tmp/imp22g-77.imp"
L_0069:;
                                                                //   1181  {?}    put sym(m>>27+'A'-1)
#line 1181 "regression-compile-tmp/imp22g-77.imp"
PUTSYM((((int)((((int)((int)((((unsigned int)(M)) >> (27))))) + (65)))) - (1)));
                                                                //   1182  {?}    m = m<<5
#line 1182 "regression-compile-tmp/imp22g-77.imp"
M = ((M) << (5));
                                                                //   1183  {?}  %repeat %until m = 0
#line 1183 "regression-compile-tmp/imp22g-77.imp"
if (((M) == (0))) goto L_006a;
#line 1183 "regression-compile-tmp/imp22g-77.imp"
goto L_0069;
#line 1183 "regression-compile-tmp/imp22g-77.imp"
L_006a:;
                                                                //   1184  {?}%end
#line 1184 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTMNEMONIC at level 2
                                                                //   1185  {?}%routine%spec PUT OPCODE(%integer op)
#line 1185 "regression-compile-tmp/imp22g-77.imp"
auto void PUTOPCODE( int OP );
                                                                //   1186  {?}%routine SHOW EXP(%integer startp)
#line 1186 "regression-compile-tmp/imp22g-77.imp"
void SHOWEXP( int STARTP )
#line 1186 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1187  {?}%integer p,q
#line 1187 "regression-compile-tmp/imp22g-77.imp"
int P;
#line 1187 "regression-compile-tmp/imp22g-77.imp"
int Q;
                                                                //   1188  {?}%record(identinfo)%name dp
#line 1188 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DP;
                                                                //   1189  {?}
                                                                //   1190  %constinteger bopmax=51
                                                                //   1191  %constintegerarray EXTRA(32:bopmax) =
#line 1191 "regression-compile-tmp/imp22g-77.imp"
const int EXTRA[20] = { (-736721293), (-558838176), (-1019632402), (-756971917), (-856095117), (-414728192), (-463841714), (-463989708), (-892759040), (-880488448), (-383729664), (-411844977), (-669969024), (-464402266), (-517820416), (-414632912), (-770618368), (-871281664), (-891158528), (-655110494),  };
                                                                //   1192  'j'<<25+('a'&31)<<20+('m'&31)<<15+('a'&31)<<10+('s'&31)<<5+('s'&31),
                                                                //   1193  'o'<<25+('k'&31)<<20+('a'&31)<<15+('s'&31)<<10+('s'&31)<<5,
                                                                //   1194  'a'<<25+('s'&31)<<20+('s'&31)<<15+('i'&31)<<10+('g'&31)<<5+('n'&31),
                                                                //   1195  'i'<<25+('n'&31)<<20+('c'&31)<<15+('a'&31)<<10+('s'&31)<<5+('s'&31),
                                                                //   1196  'f'<<25+('o'&31)<<20+('r'&31)<<15+('a'&31)<<10+('s'&31)<<5+('s'&31),
                                                                //   1197  's'<<25+('t'&31)<<20+('o'&31)<<15+('p'&31)<<10,
                                                                //   1198  'r'<<25+('e'&31)<<20+('t'&31)<<15+('u'&31)<<10+('r'&31)<<5+('n'&31),
                                                                //   1199  'r'<<25+('e'&31)<<20+('p'&31)<<15+('e'&31)<<10+('a'&31)<<5+('t'&31),
                                                                //   1200  'e'<<25+('l'&31)<<20+('s'&31)<<15+('e'&31)<<10,
                                                                //   1201  'e'<<25+('x'&31)<<20+('i'&31)<<15+('t'&31)<<10,
                                                                //   1202  't'<<25+('r'&31)<<20+('a'&31)<<15+('p'&31)<<10,
                                                                //   1203  's'<<25+('w'&31)<<20+('g'&31)<<15+('o'&31)<<10+('t'&31)<<5+('o'&31),
                                                                //   1204  'l'<<25+('a'&31)<<20+('b'&31)<<15+('e'&31)<<10+('l'&31)<<5,
                                                                //   1205  'r'<<25+('e'&31)<<20+('c'&31)<<15+('r'&31)<<10+('e'&31)<<5+('f'&31),
                                                                //   1206  'p'<<25+('r'&31)<<20+('e'&31)<<15+('l'&31)<<10,
                                                                //   1207  's'<<25+('t'&31)<<20+('r'&31)<<15+('m'&31)<<10+('a'&31)<<5+('p'&31),
                                                                //   1208  'i'<<25+('a'&31)<<20+('b'&31)<<15+('s'&31)<<10,
                                                                //   1209  'f'<<25+('a'&31)<<20+('b'&31)<<15+('s'&31)<<10,
                                                                //   1210  'e'<<25+('n'&31)<<20+('d'&31)<<15,
                                                                //   1211  'l'<<25+('o'&31)<<20+('g'&31)<<15+('s'&31)<<10+('u'&31)<<5+('b'&31)
                                                                //   1212  
                                                                //   1213  {?}%routine PUT OPRAND(%integer v)
#line 1213 "regression-compile-tmp/imp22g-77.imp"
void PUTOPRAND( int V )
#line 1213 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1214  {?}  put sym('#') %and v = v-ad %if v >= explim
#line 1214 "regression-compile-tmp/imp22g-77.imp"
if (((V) < (EXPLIM))) goto L_006c;
#line 1214 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(35);
#line 1214 "regression-compile-tmp/imp22g-77.imp"
V = (((int)(V)) - (16384));
#line 1214 "regression-compile-tmp/imp22g-77.imp"
L_006c:;
                                                                //   1215  {?}  %if v < np0 %then put operand(v) %else put num(v)
#line 1215 "regression-compile-tmp/imp22g-77.imp"
if (((V) >= (NP0))) goto L_006d;
#line 1215 "regression-compile-tmp/imp22g-77.imp"
PUTOPERAND(V);
#line 1215 "regression-compile-tmp/imp22g-77.imp"
goto L_006e;
#line 1215 "regression-compile-tmp/imp22g-77.imp"
L_006d:;
#line 1215 "regression-compile-tmp/imp22g-77.imp"
PUTNUM(V);
#line 1215 "regression-compile-tmp/imp22g-77.imp"
L_006e:;
                                                                //   1216  {?}%end
#line 1216 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTOPRAND at level 3
                                                                //   1217  {?}  print line %if rep # ""
#line 1217 "regression-compile-tmp/imp22g-77.imp"
if ((_imp_strcmp(REP, _imp_str_literal("")) == 0)) goto L_006f;
#line 1217 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
#line 1217 "regression-compile-tmp/imp22g-77.imp"
L_006f:;
                                                                //   1218  {?}  %return %unless np > np0
#line 1218 "regression-compile-tmp/imp22g-77.imp"
if (((NP) > (NP0))) goto L_0070;
#line 1218 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1218 "regression-compile-tmp/imp22g-77.imp"
L_0070:;
                                                                //   1219  {?}  put string("      ______action_______first_______second____")
#line 1219 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal("      ______action_______first_______second____"));
                                                                //   1220  {?}  print line
#line 1220 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
                                                                //   1221  {?}  p = np0
#line 1221 "regression-compile-tmp/imp22g-77.imp"
P = NP0;
                                                                //   1222  {?}  %cycle
#line 1222 "regression-compile-tmp/imp22g-77.imp"
L_0071:;
                                                                //   1223  {?}    %if p = np %start
#line 1223 "regression-compile-tmp/imp22g-77.imp"
if (((P) != (NP))) goto L_0074;
                                                                //   1224  {?}      p = explo
#line 1224 "regression-compile-tmp/imp22g-77.imp"
P = EXPLO;
                                                                //   1225  {?}      %exit %if p >= oldexplo
#line 1225 "regression-compile-tmp/imp22g-77.imp"
if (((P) < (OLDEXPLO))) goto L_0075;
#line 1225 "regression-compile-tmp/imp22g-77.imp"
goto L_0072;
#line 1225 "regression-compile-tmp/imp22g-77.imp"
L_0075:;
                                                                //   1226  {?}      put string("      |---------------------------------------|")
#line 1226 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal("      |---------------------------------------|"));
                                                                //   1227  {?}      print line
#line 1227 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
                                                                //   1228  {?}    %finish
#line 1228 "regression-compile-tmp/imp22g-77.imp"
L_0074:;
                                                                //   1229  {?}    %if p = startp %then put sym('>') %else put sym(' ')
#line 1229 "regression-compile-tmp/imp22g-77.imp"
if (((P) != (STARTP))) goto L_0076;
#line 1229 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(62);
#line 1229 "regression-compile-tmp/imp22g-77.imp"
goto L_0077;
#line 1229 "regression-compile-tmp/imp22g-77.imp"
L_0076:;
#line 1229 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(32);
#line 1229 "regression-compile-tmp/imp22g-77.imp"
L_0077:;
                                                                //   1230  {?}    put num(p);  mark at(6)
#line 1230 "regression-compile-tmp/imp22g-77.imp"
PUTNUM(P);
#line 1230 "regression-compile-tmp/imp22g-77.imp"
MARKAT(6);
                                                                //   1231  {?}    dp == dict(p)
#line 1231 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[P];
                                                                //   1232  {?}    put sym(' ')
#line 1232 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(32);
                                                                //   1233  {?}    q = dp_act
#line 1233 "regression-compile-tmp/imp22g-77.imp"
Q = DP->ACT;
                                                                //   1234  {?}    %if q <= 31 %start
#line 1234 "regression-compile-tmp/imp22g-77.imp"
if (((Q) > (31))) goto L_0078;
                                                                //   1235  {?}         put opcode(q)
#line 1235 "regression-compile-tmp/imp22g-77.imp"
PUTOPCODE(Q);
                                                                //   1236  {?}    %finish %else %if q <= bopmax %start
#line 1236 "regression-compile-tmp/imp22g-77.imp"
goto L_0079;
#line 1236 "regression-compile-tmp/imp22g-77.imp"
L_0078:;
#line 1236 "regression-compile-tmp/imp22g-77.imp"
if (((Q) > (51))) goto L_007a;
                                                                //   1237  {?}       put mnemonic(extra(q))
#line 1237 "regression-compile-tmp/imp22g-77.imp"
PUTMNEMONIC((EXTRA-32)[Q]);
                                                                //   1238  {?}    %else
#line 1238 "regression-compile-tmp/imp22g-77.imp"
goto L_0079;
#line 1238 "regression-compile-tmp/imp22g-77.imp"
L_007a:;
                                                                //   1239  {?}        put ident(q,0)
#line 1239 "regression-compile-tmp/imp22g-77.imp"
PUTIDENT(Q, 0);
                                                                //   1240  {?}    %finish
#line 1240 "regression-compile-tmp/imp22g-77.imp"
L_0079:;
                                                                //   1241  {?}    mark at(22)
#line 1241 "regression-compile-tmp/imp22g-77.imp"
MARKAT(22);
                                                                //   1242  {?}    put sym(' ');  put oprand(dp_x);  mark at(34)
#line 1242 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(32);
#line 1242 "regression-compile-tmp/imp22g-77.imp"
PUTOPRAND(DP->X);
#line 1242 "regression-compile-tmp/imp22g-77.imp"
MARKAT(34);
                                                                //   1243  {?}    put sym(' ');  put oprand(dp_y);  mark at(46)
#line 1243 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(32);
#line 1243 "regression-compile-tmp/imp22g-77.imp"
PUTOPRAND(DP->Y);
#line 1243 "regression-compile-tmp/imp22g-77.imp"
MARKAT(46);
                                                                //   1244  {?}    %if p >= explo %start
#line 1244 "regression-compile-tmp/imp22g-77.imp"
if (((P) < (EXPLO))) goto L_007b;
                                                                //   1245  {?}      put spnum(dp_type)
#line 1245 "regression-compile-tmp/imp22g-77.imp"
PUTSPNUM(DP->TYPE);
                                                                //   1246  {?}      put sym('*') %if dp_flags < 0
#line 1246 "regression-compile-tmp/imp22g-77.imp"
if (((DP->FLAGS) >= (0))) goto L_007c;
#line 1246 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(42);
#line 1246 "regression-compile-tmp/imp22g-77.imp"
L_007c:;
                                                                //   1247  {?}    %finish
#line 1247 "regression-compile-tmp/imp22g-77.imp"
L_007b:;
                                                                //   1248  {?}    print line
#line 1248 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
                                                                //   1249  {?}    p = p+1
#line 1249 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(P)) + (1));
                                                                //   1250  {?}  %repeat %until p >= oldexplo
#line 1250 "regression-compile-tmp/imp22g-77.imp"
if (((P) >= (OLDEXPLO))) goto L_0072;
#line 1250 "regression-compile-tmp/imp22g-77.imp"
goto L_0071;
#line 1250 "regression-compile-tmp/imp22g-77.imp"
L_0072:;
                                                                //   1251  {?}  oldexplo = explo
#line 1251 "regression-compile-tmp/imp22g-77.imp"
OLDEXPLO = EXPLO;
                                                                //   1252  {?}  put string("      +---------------------------------------+")
#line 1252 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal("      +---------------------------------------+"));
                                                                //   1253  {?}  print line
#line 1253 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
                                                                //   1254  {?}%end
#line 1254 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SHOWEXP at level 2
                                                                //   1255  {?}!
                                                                //   1256  !
                                                                //   1257  !!!!!!!!!!!!!!!!!!!!!!!!!!!! Fault reporting  !!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   1258  !
                                                                //   1259  %routine CROAK(%string(255) s)
#line 1259 "regression-compile-tmp/imp22g-77.imp"
void CROAK( _imp_string /*%string(255)*/ S )
#line 1259 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1260    select output(0)
#line 1260 "regression-compile-tmp/imp22g-77.imp"
_imp_SELECTOUTPUT(0);
                                                                //   1261    put string("** ");  put string(s)
#line 1261 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal("** "));
#line 1261 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(S);
                                                                //   1262    put string(".  Compilation abandoned at line ");  put num(line)
#line 1262 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal(".  Compilation abandoned at line "));
#line 1262 "regression-compile-tmp/imp22g-77.imp"
PUTNUM(LINE);
                                                                //   1263    print line
#line 1263 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
                                                                //   1264    %signal abandon
#line 1264 "regression-compile-tmp/imp22g-77.imp"
_imp_signal(14, 0, 0, "");
                                                                //   1265  %end
#line 1265 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CROAK at level 2
                                                                //   1266  
                                                                //   1267  !<<IMP
                                                                //   1268  
                                                                //   1269  !!  Fault numbers
                                                                //   1270  %constinteger INTERNERR=1, PLEXERR=2, CREACHERR=3, REACHERR=4
                                                                //   1271  %constinteger NORESULT=5, DREACHERR=6
                                                                //   1272  %constinteger FORMERR=7, ATOMERR=8, NAMERR=9, CLASSERR=10
                                                                //   1273  %constinteger SIZERR=11, TYPERR=12, BOUNDSERR=13, UNENDING=14
                                                                //   1274  %constinteger LOWLEVEL=15, ACCESSERR=16, NOTINLOOP=17, NOTINROUT=18
                                                                //   1275  %constinteger NOTINFUN=19, NOTINPRED=20, DUPERR=21
                                                                //   1276  %constinteger ORDERERR=22, MATCHERR=23, RANGERR=24, NONLITERAL=25
                                                                //   1277  %constinteger MOPERR=26, NOCYCLE=27
                                                                //   1278  %constinteger NOSTART=28, NOIF=29, ILLSTARRED=30, NONSTARTER=31
                                                                //   1279  %constinteger NONVAR=32, NONREF=33, TOOFEW=34, TOOMANY=35
                                                                //   1280  %constinteger NOBEGIN=36, DUBIOUS=37, NOTINBLOCK=38
                                                                //   1281  %constinteger NONSTAND=39, NOTIN=40, ASSERR=41
                                                                //   1282  %constinteger NOEND=42, NOFINISH=43, NOREPEAT=44
                                                                //   1283  %constinteger COUNTERR=45, SLABMISSING=46, IDMISSING=47
                                                                //   1284  %constinteger POINT=64, WARN=-128, NOW=128
                                                                //   1285  !
                                                                //   1286  %routine REPORT(%integer n,id,num)
#line 1286 "regression-compile-tmp/imp22g-77.imp"
void REPORT( int N, int ID, int NUM )
#line 1286 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1287  %owninteger lastchange=0
#line 1287 "regression-compile-tmp/imp22g-77.imp"
static int LASTCHANGE = 0;
                                                                //   1288  %integer mark,start,errline
#line 1288 "regression-compile-tmp/imp22g-77.imp"
int MARK;
#line 1288 "regression-compile-tmp/imp22g-77.imp"
int START;
#line 1288 "regression-compile-tmp/imp22g-77.imp"
int ERRLINE;
                                                                //   1289  
                                                                //   1290  %routine PRINT TEXT(%integer stream)
#line 1290 "regression-compile-tmp/imp22g-77.imp"
void PRINTTEXT( int STREAM )
#line 1290 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1291  %constinteger esc=27
                                                                //   1292  %integer k,p
#line 1292 "regression-compile-tmp/imp22g-77.imp"
int K;
#line 1292 "regression-compile-tmp/imp22g-77.imp"
int P;
                                                                //   1293  
                                                                //   1294  %conststring(15)%array MESSAGE(1:44) =
#line 1294 "regression-compile-tmp/imp22g-77.imp"
const _imp_string /*%string(15)*/ MESSAGE[44] = { _imp_str_literal("Internal error "), _imp_str_literal("Reg not free"), _imp_str_literal("Out of reach "), _imp_str_literal(" out of reach!"), _imp_str_literal("RESULT missing"), _imp_str_literal("Out of reach"), _imp_str_literal("Faulty form"), _imp_str_literal("Unknown atom"), _imp_str_literal("Unknown name"), _imp_str_literal("Wrong class"), _imp_str_literal("Wrong size"), _imp_str_literal("Wrong type"), _imp_str_literal("Inside out"), _imp_str_literal("Endless loop"), _imp_str_literal("Low level"), _imp_str_literal("Not accessible"), _imp_str_literal("Not in loop"), _imp_str_literal("Not in routine"), _imp_str_literal("Not in fn/map"), _imp_str_literal("Not in pred"), _imp_str_literal("Duplicate"), _imp_str_literal("Out of order"), _imp_str_literal("Mismatch"), _imp_str_literal("Out of range"), _imp_str_literal("Not literal"), _imp_str_literal("Faulty operand"), _imp_str_literal("%CYCLE missing"), _imp_str_literal("%START missing"), _imp_str_literal("Extra %ELSE"), _imp_str_literal("Ill-starred"), _imp_str_literal("Non-starter"), _imp_str_literal("Not variable"), _imp_str_literal("Not reference"), _imp_str_literal("Too few args"), _imp_str_literal("Too many args"), _imp_str_literal("%BEGIN missing"), _imp_str_literal("Dubious usage"), _imp_str_literal("Not in block"), _imp_str_literal("Nonstandard "), _imp_str_literal("Not supported"), _imp_str_literal(" void"), _imp_str_literal("%END missing"), _imp_str_literal("%FINISH missing"), _imp_str_literal("%REPEAT missing"),  };
                                                                //   1295    "Internal error ", "Reg not free",
                                                                //   1296    "Out of reach ",  " out of reach!",
                                                                //   1297    "RESULT missing", "Out of reach",
                                                                //   1298    "Faulty form", "Unknown atom",
                                                                //   1299    "Unknown name", "Wrong class",
                                                                //   1300    "Wrong size", "Wrong type",
                                                                //   1301    "Inside out", "Endless loop",
                                                                //   1302    "Low level", "Not accessible",
                                                                //   1303    "Not in loop", "Not in routine",
                                                                //   1304    "Not in fn/map", "Not in pred",
                                                                //   1305    "Duplicate",
                                                                //   1306    "Out of order", "Mismatch",
                                                                //   1307    "Out of range", "Not literal",
                                                                //   1308    "Faulty operand", "%CYCLE missing",
                                                                //   1309    "%START missing", "Extra %ELSE",
                                                                //   1310    "Ill-starred", "Non-starter",
                                                                //   1311    "Not variable", "Not reference",
                                                                //   1312    "Too few args", "Too many args",
                                                                //   1313    "%BEGIN missing",
                                                                //   1314    "Dubious usage", "Not in block",
                                                                //   1315    "Nonstandard ", "Not supported",
                                                                //   1316    " void",
                                                                //   1317    "%END missing",
                                                                //   1318    "%FINISH missing", "%REPEAT missing"
                                                                //   1319  
                                                                //   1320  !<<BOTH
                                                                //   1321  
                                                                //   1322    put sym(mark)
#line 1322 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(MARK);
                                                                //   1323    put sym(' ') %if errline < 1000
#line 1323 "regression-compile-tmp/imp22g-77.imp"
if (((ERRLINE) >= (1000))) goto L_007d;
#line 1323 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(32);
#line 1323 "regression-compile-tmp/imp22g-77.imp"
L_007d:;
                                                                //   1324    put sym(' ') %if errline < 100
#line 1324 "regression-compile-tmp/imp22g-77.imp"
if (((ERRLINE) >= (100))) goto L_007e;
#line 1324 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(32);
#line 1324 "regression-compile-tmp/imp22g-77.imp"
L_007e:;
                                                                //   1325    put sym(' ') %if errline < 10
#line 1325 "regression-compile-tmp/imp22g-77.imp"
if (((ERRLINE) >= (10))) goto L_007f;
#line 1325 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(32);
#line 1325 "regression-compile-tmp/imp22g-77.imp"
L_007f:;
                                                                //   1326    put num(errline)
#line 1326 "regression-compile-tmp/imp22g-77.imp"
PUTNUM(ERRLINE);
                                                                //   1327    put sym(listflag);  put sym(' ')
#line 1327 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(LISTFLAG);
#line 1327 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(32);
                                                                //   1328    k = n&63
#line 1328 "regression-compile-tmp/imp22g-77.imp"
K = ((N) & (63));
                                                                //   1329    %if k >= counterr %start
#line 1329 "regression-compile-tmp/imp22g-77.imp"
if (((K) < (45))) goto L_0080;
                                                                //   1330      %if k = counterr %start
#line 1330 "regression-compile-tmp/imp22g-77.imp"
if (((K) != (45))) goto L_0081;
                                                                //   1331        %if num < 0 %start
#line 1331 "regression-compile-tmp/imp22g-77.imp"
if (((NUM) >= (0))) goto L_0082;
                                                                //   1332          put num(-num);  put string(" extra")
#line 1332 "regression-compile-tmp/imp22g-77.imp"
PUTNUM((-(NUM)));
#line 1332 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal(" extra"));
                                                                //   1333        %else
#line 1333 "regression-compile-tmp/imp22g-77.imp"
goto L_0083;
#line 1333 "regression-compile-tmp/imp22g-77.imp"
L_0082:;
                                                                //   1334          put num(num) %if num # 0;  put string(" missing")
#line 1334 "regression-compile-tmp/imp22g-77.imp"
if (((NUM) == (0))) goto L_0084;
#line 1334 "regression-compile-tmp/imp22g-77.imp"
PUTNUM(NUM);
#line 1334 "regression-compile-tmp/imp22g-77.imp"
L_0084:;
#line 1334 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal(" missing"));
                                                                //   1335        %finish
#line 1335 "regression-compile-tmp/imp22g-77.imp"
L_0083:;
                                                                //   1336        put string(" value(s) for ")
#line 1336 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal(" value(s) for "));
                                                                //   1337        put ident(id,0)
#line 1337 "regression-compile-tmp/imp22g-77.imp"
PUTIDENT(ID, 0);
                                                                //   1338        %return
#line 1338 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1339      %finish
#line 1339 "regression-compile-tmp/imp22g-77.imp"
L_0081:;
                                                                //   1340      %if k # slabmissing %start
#line 1340 "regression-compile-tmp/imp22g-77.imp"
if (((K) == (46))) goto L_0085;
                                                                //   1341        put ident(id,1)
#line 1341 "regression-compile-tmp/imp22g-77.imp"
PUTIDENT(ID, 1);
                                                                //   1342      %else
#line 1342 "regression-compile-tmp/imp22g-77.imp"
goto L_0086;
#line 1342 "regression-compile-tmp/imp22g-77.imp"
L_0085:;
                                                                //   1343        put ident(id,0)
#line 1343 "regression-compile-tmp/imp22g-77.imp"
PUTIDENT(ID, 0);
                                                                //   1344        put sym('(');  put num(num);  put sym(')')
#line 1344 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(40);
#line 1344 "regression-compile-tmp/imp22g-77.imp"
PUTNUM(NUM);
#line 1344 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(41);
                                                                //   1345      %finish
#line 1345 "regression-compile-tmp/imp22g-77.imp"
L_0086:;
                                                                //   1346      put string(" missing")
#line 1346 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal(" missing"));
                                                                //   1347  mend:
#line 1347 "regression-compile-tmp/imp22g-77.imp"
U_1002:;
                                                                //   1348      %if c_dpid_text # 0 %start
#line 1348 "regression-compile-tmp/imp22g-77.imp"
if (((C.DPID->TEXT) == (0))) goto L_0087;
                                                                //   1349        put string(" in ")
#line 1349 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal(" in "));
                                                                //   1350        put ident(c_pid,-1)
#line 1350 "regression-compile-tmp/imp22g-77.imp"
PUTIDENT(C.PID, (-1));
                                                                //   1351      %finish
#line 1351 "regression-compile-tmp/imp22g-77.imp"
L_0087:;
                                                                //   1352      %return
#line 1352 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1353    %finish
#line 1353 "regression-compile-tmp/imp22g-77.imp"
L_0080:;
                                                                //   1354    put ident(id,0) %if id > 0
#line 1354 "regression-compile-tmp/imp22g-77.imp"
if (((ID) <= (0))) goto L_0088;
#line 1354 "regression-compile-tmp/imp22g-77.imp"
PUTIDENT(ID, 0);
#line 1354 "regression-compile-tmp/imp22g-77.imp"
L_0088:;
                                                                //   1355    put string(message(k))
#line 1355 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING((MESSAGE-1)[K]);
                                                                //   1356    put num(num) %if num > 0
#line 1356 "regression-compile-tmp/imp22g-77.imp"
if (((NUM) <= (0))) goto L_0089;
#line 1356 "regression-compile-tmp/imp22g-77.imp"
PUTNUM(NUM);
#line 1356 "regression-compile-tmp/imp22g-77.imp"
L_0089:;
                                                                //   1357    -> mend %if creacherr <= k <= noresult
#line 1357 "regression-compile-tmp/imp22g-77.imp"
if ((((3) > (K))) || (((K) > (5)))) goto L_008a;
#line 1357 "regression-compile-tmp/imp22g-77.imp"
goto U_1002;
#line 1357 "regression-compile-tmp/imp22g-77.imp"
L_008a:;
                                                                //   1358    spaces(22-length(rep))
#line 1358 "regression-compile-tmp/imp22g-77.imp"
SPACES(((22) - (*(int *)(_imp_LENGTH(&REP)))));
                                                                //   1359    p = start
#line 1359 "regression-compile-tmp/imp22g-77.imp"
P = START;
                                                                //   1360    p = p+1 %while byteinteger(p) = ' '
#line 1360 "regression-compile-tmp/imp22g-77.imp"
L_008b:;
#line 1360 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(P)) != (32))) goto L_008c;
#line 1360 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(P)) + (1));
#line 1360 "regression-compile-tmp/imp22g-77.imp"
goto L_008b;
#line 1360 "regression-compile-tmp/imp22g-77.imp"
L_008c:;
                                                                //   1361    %if p < faultp-50 %then p = faultp-47 %and put string("...") %c
#line 1361 "regression-compile-tmp/imp22g-77.imp"
if (((P) >= ((((int)(FAULTP)) - (50))))) goto L_008e;
#line 1361 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(FAULTP)) - (47));
#line 1361 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal("..."));
#line 1361 "regression-compile-tmp/imp22g-77.imp"
goto L_008f;
#line 1361 "regression-compile-tmp/imp22g-77.imp"
L_008e:;
#line 1361 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(32);
#line 1361 "regression-compile-tmp/imp22g-77.imp"
L_008f:;
                                                                //   1362    %else put sym(' ')
                                                                //   1363    %cycle
#line 1363 "regression-compile-tmp/imp22g-77.imp"
L_0090:;
                                                                //   1364      k = byteintegeR(p);  p = p+1
#line 1364 "regression-compile-tmp/imp22g-77.imp"
K = *_imp_BYTEINTEGER(P);
#line 1364 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(P)) + (1));
                                                                //   1365      %if p = faultp %start
#line 1365 "regression-compile-tmp/imp22g-77.imp"
if (((P) != (FAULTP))) goto L_0093;
                                                                //   1366  !      %if stream # 0 %then put sym('|') %else %start
                                                                //   1367  !       !**V200**
                                                                //   1368  !        put sym(esc);  put sym('F');  !graphics
                                                                //   1369  !        put sym('~')
                                                                //   1370  !        put sym(esc);  put sym('G');  !normal
                                                                //   1371  !      %finish
                                                                //   1372        put sym('|')
#line 1372 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(124);
                                                                //   1373      %finish
#line 1373 "regression-compile-tmp/imp22g-77.imp"
L_0093:;
                                                                //   1374      %exit %if k = nl
#line 1374 "regression-compile-tmp/imp22g-77.imp"
if (((K) != (10))) goto L_0094;
#line 1374 "regression-compile-tmp/imp22g-77.imp"
goto L_0091;
#line 1374 "regression-compile-tmp/imp22g-77.imp"
L_0094:;
                                                                //   1375      put sym(k)
#line 1375 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(K);
                                                                //   1376  !    %if ' ' <= k <= '~' %then put sym(k) %c
                                                                //   1377  !    %else put sym('[') %and put num(k) %and put sym(']')
                                                                //   1378    %repeat
#line 1378 "regression-compile-tmp/imp22g-77.imp"
goto L_0090;
#line 1378 "regression-compile-tmp/imp22g-77.imp"
L_0091:;
                                                                //   1379    %return
#line 1379 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1380  %end
#line 1380 "regression-compile-tmp/imp22g-77.imp"
return;
} // End of block PRINTTEXT at level 3
                                                                //   1381  
                                                                //   1382  !Warning or error
                                                                //   1383    mark = '?'
#line 1383 "regression-compile-tmp/imp22g-77.imp"
MARK = 63;
                                                                //   1384    %if n > 0 %start
#line 1384 "regression-compile-tmp/imp22g-77.imp"
if (((N) <= (0))) goto L_0095;
                                                                //   1385      mark = '*'
#line 1385 "regression-compile-tmp/imp22g-77.imp"
MARK = 42;
                                                                //   1386      c_faults = c_faults+1;  faults = faults+1
#line 1386 "regression-compile-tmp/imp22g-77.imp"
C.FAULTS = (((int)(C.FAULTS)) + (1));
#line 1386 "regression-compile-tmp/imp22g-77.imp"
FAULTS = (((int)(FAULTS)) + (1));
                                                                //   1387    %finish
#line 1387 "regression-compile-tmp/imp22g-77.imp"
L_0095:;
                                                                //   1388    faultnum = 0;  c_access = -1
#line 1388 "regression-compile-tmp/imp22g-77.imp"
FAULTNUM = 0;
#line 1388 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = (-1);
                                                                //   1389  !Ignore uncorrected earlier error
                                                                //   1390    %return %if file(main)_start1 <= fp < lastchange
#line 1390 "regression-compile-tmp/imp22g-77.imp"
if ((((FILE[0].START1) > (FP))) || (((FP) >= (LASTCHANGE)))) goto L_0096;
#line 1390 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1390 "regression-compile-tmp/imp22g-77.imp"
L_0096:;
                                                                //   1391  !Establish what to print
                                                                //   1392    start = linestart;  errline = line
#line 1392 "regression-compile-tmp/imp22g-77.imp"
START = LINESTART;
#line 1392 "regression-compile-tmp/imp22g-77.imp"
ERRLINE = LINE;
                                                                //   1393    %if n&point = 0 %start
#line 1393 "regression-compile-tmp/imp22g-77.imp"
if (((((N) & (64))) != (0))) goto L_0097;
                                                                //   1394      faultp = 0;  !no pointing
#line 1394 "regression-compile-tmp/imp22g-77.imp"
FAULTP = 0;
                                                                //   1395    %else
#line 1395 "regression-compile-tmp/imp22g-77.imp"
goto L_0098;
#line 1395 "regression-compile-tmp/imp22g-77.imp"
L_0097:;
                                                                //   1396      %while start >= faultp %cycle;  !before current line
#line 1396 "regression-compile-tmp/imp22g-77.imp"
L_0099:;
#line 1396 "regression-compile-tmp/imp22g-77.imp"
if (((START) < (FAULTP))) goto L_009a;
                                                                //   1397        start = start-1
#line 1397 "regression-compile-tmp/imp22g-77.imp"
START = (((int)(START)) - (1));
                                                                //   1398        errline = errline-1 %if byteintegeR(start) = nl
#line 1398 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(START)) != (10))) goto L_009c;
#line 1398 "regression-compile-tmp/imp22g-77.imp"
ERRLINE = (((int)(ERRLINE)) - (1));
#line 1398 "regression-compile-tmp/imp22g-77.imp"
L_009c:;
                                                                //   1399      %repeat
#line 1399 "regression-compile-tmp/imp22g-77.imp"
goto L_0099;
#line 1399 "regression-compile-tmp/imp22g-77.imp"
L_009a:;
                                                                //   1400      start = start-1 %while start # curstart %and byteintegeR(start-1) # nl
#line 1400 "regression-compile-tmp/imp22g-77.imp"
L_009d:;
#line 1400 "regression-compile-tmp/imp22g-77.imp"
if (((START) == (CURSTART))) goto L_009e;
#line 1400 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER((((int)(START)) - (1)))) == (10))) goto L_009e;
#line 1400 "regression-compile-tmp/imp22g-77.imp"
START = (((int)(START)) - (1));
#line 1400 "regression-compile-tmp/imp22g-77.imp"
goto L_009d;
#line 1400 "regression-compile-tmp/imp22g-77.imp"
L_009e:;
                                                                //   1401    %finish
#line 1401 "regression-compile-tmp/imp22g-77.imp"
L_0098:;
                                                                //   1402    time1 = time1-cputime
#line 1402 "regression-compile-tmp/imp22g-77.imp"
TIME1 = (((int)(TIME1)) - (CPUTIME));
                                                                //   1403    %if listout # 0 %start;  !listing file
#line 1403 "regression-compile-tmp/imp22g-77.imp"
if (((LISTOUT) == (0))) goto L_00a0;
                                                                //   1404      print text(listout);  print line
#line 1404 "regression-compile-tmp/imp22g-77.imp"
PRINTTEXT(LISTOUT);
#line 1404 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
                                                                //   1405    %finish
#line 1405 "regression-compile-tmp/imp22g-77.imp"
L_00a0:;
                                                                //   1406    select output(0)
#line 1406 "regression-compile-tmp/imp22g-77.imp"
_imp_SELECTOUTPUT(0);
                                                                //   1407    %if curfile # lastfile %start
#line 1407 "regression-compile-tmp/imp22g-77.imp"
if (((CURFILE) == (LASTFILE))) goto L_00a1;
                                                                //   1408      lastfile = curfile;  put string(cur_name);  print line
#line 1408 "regression-compile-tmp/imp22g-77.imp"
LASTFILE = CURFILE;
#line 1408 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(CUR->NAME);
#line 1408 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
                                                                //   1409    %finish
#line 1409 "regression-compile-tmp/imp22g-77.imp"
L_00a1:;
                                                                //   1410    print text(0)
#line 1410 "regression-compile-tmp/imp22g-77.imp"
PRINTTEXT(0);
                                                                //   1411    %if n > reacherr %and curfile = main %and control&editbit # 0 %start
#line 1411 "regression-compile-tmp/imp22g-77.imp"
if (((N) <= (4))) goto L_00a2;
#line 1411 "regression-compile-tmp/imp22g-77.imp"
if (((CURFILE) != (1))) goto L_00a2;
#line 1411 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (8192))) == (0))) goto L_00a2;
                                                                //   1412      start = faultp-1 %if faultp > start
#line 1412 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTP) <= (START))) goto L_00a3;
#line 1412 "regression-compile-tmp/imp22g-77.imp"
START = (((int)(FAULTP)) - (1));
#line 1412 "regression-compile-tmp/imp22g-77.imp"
L_00a3:;
                                                                //   1413      cur_fp = start;  cur_line = line
#line 1413 "regression-compile-tmp/imp22g-77.imp"
CUR->FP = START;
#line 1413 "regression-compile-tmp/imp22g-77.imp"
CUR->LINE = LINE;
                                                                //   1414      cur_change = 16_7FFFFFFE %if lastchange # 0
#line 1414 "regression-compile-tmp/imp22g-77.imp"
if (((LASTCHANGE) == (0))) goto L_00a4;
#line 1414 "regression-compile-tmp/imp22g-77.imp"
CUR->CHANGE = 2147483646;
#line 1414 "regression-compile-tmp/imp22g-77.imp"
L_00a4:;
                                                                //   1415      select input(0)
#line 1415 "regression-compile-tmp/imp22g-77.imp"
_imp_SELECTINPUT(0);
                                                                //   1416      file(main+1) = 0
#line 1416 "regression-compile-tmp/imp22g-77.imp"
FILE[1] = (EDFILE){ 0 } /* Assign 0's to all fields of record */;
                                                                //   1417  !!    edi(file(main),file(main+1),rep);  !main+1 to keep editor happy
                                                                //   1418      rep = ""
#line 1418 "regression-compile-tmp/imp22g-77.imp"
REP = _imp_str_literal("");
                                                                //   1419      select output(listout)
#line 1419 "regression-compile-tmp/imp22g-77.imp"
_imp_SELECTOUTPUT(LISTOUT);
                                                                //   1420      time1 = time1+cputime
#line 1420 "regression-compile-tmp/imp22g-77.imp"
TIME1 = (((int)(TIME1)) + (CPUTIME));
                                                                //   1421      %signal abandon %if cur_flag < 0 {abandoned}
#line 1421 "regression-compile-tmp/imp22g-77.imp"
if (((CUR->FLAG) >= (0))) goto L_00a5;
#line 1421 "regression-compile-tmp/imp22g-77.imp"
_imp_signal(14, 0, 0, "");
#line 1421 "regression-compile-tmp/imp22g-77.imp"
L_00a5:;
                                                                //   1422      control = control&(\editbit) %if cur_flag = 'I'
#line 1422 "regression-compile-tmp/imp22g-77.imp"
if (((CUR->FLAG) != (73))) goto L_00a6;
#line 1422 "regression-compile-tmp/imp22g-77.imp"
CONTROL = ((CONTROL) & ((~(8192))));
#line 1422 "regression-compile-tmp/imp22g-77.imp"
L_00a6:;
                                                                //   1423      lastchange = cur_change %and %signal redo %if cur_change < 16_7FFFFFFE
#line 1423 "regression-compile-tmp/imp22g-77.imp"
if (((CUR->CHANGE) >= (2147483646))) goto L_00a7;
#line 1423 "regression-compile-tmp/imp22g-77.imp"
LASTCHANGE = CUR->CHANGE;
#line 1423 "regression-compile-tmp/imp22g-77.imp"
_imp_signal(13, 0, 0, "");
#line 1423 "regression-compile-tmp/imp22g-77.imp"
L_00a7:;
                                                                //   1424    %else
#line 1424 "regression-compile-tmp/imp22g-77.imp"
goto L_00a8;
#line 1424 "regression-compile-tmp/imp22g-77.imp"
L_00a2:;
                                                                //   1425      print line
#line 1425 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
                                                                //   1426      select output(listout)
#line 1426 "regression-compile-tmp/imp22g-77.imp"
_imp_SELECTOUTPUT(LISTOUT);
                                                                //   1427      time1 = time1+cputime
#line 1427 "regression-compile-tmp/imp22g-77.imp"
TIME1 = (((int)(TIME1)) + (CPUTIME));
                                                                //   1428    %finish
#line 1428 "regression-compile-tmp/imp22g-77.imp"
L_00a8:;
                                                                //   1429  %end;  !report
#line 1429 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block REPORT at level 2
                                                                //   1430  
                                                                //   1431  %routine FAULT(%integer n)
#line 1431 "regression-compile-tmp/imp22g-77.imp"
void FAULT( int N )
#line 1431 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1432  !Note fault number and position of (earliest) fault
                                                                //   1433  ! for subsequent reporting (warnings and weak errors)
                                                                //   1434    %if faultnum = 0 %or (n > 0 %and faultnum < 0) %start
#line 1434 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTNUM) == (0))) goto L_0092;
#line 1434 "regression-compile-tmp/imp22g-77.imp"
if (((N) <= (0))) goto L_00a9;
#line 1434 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTNUM) >= (0))) goto L_00a9;
#line 1434 "regression-compile-tmp/imp22g-77.imp"
L_0092:;
                                                                //   1435      faultnum = n;  faultp = atomp
#line 1435 "regression-compile-tmp/imp22g-77.imp"
FAULTNUM = N;
#line 1435 "regression-compile-tmp/imp22g-77.imp"
FAULTP = ATOMP;
                                                                //   1436      report(faultnum&127,0,0) %if faultnum >= now
#line 1436 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTNUM) < (128))) goto L_00aa;
#line 1436 "regression-compile-tmp/imp22g-77.imp"
REPORT(((FAULTNUM) & (127)), 0, 0);
#line 1436 "regression-compile-tmp/imp22g-77.imp"
L_00aa:;
                                                                //   1437    %finish
#line 1437 "regression-compile-tmp/imp22g-77.imp"
L_00a9:;
                                                                //   1438  %end
#line 1438 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FAULT at level 2
                                                                //   1439  
                                                                //   1440  %routine INTERN(%integer n)
#line 1440 "regression-compile-tmp/imp22g-77.imp"
void INTERN( int N )
#line 1440 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1441    report(internerr,0,n)
#line 1441 "regression-compile-tmp/imp22g-77.imp"
REPORT(1, 0, N);
                                                                //   1442  %end
#line 1442 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block INTERN at level 2
                                                                //   1443  
                                                                //   1444  !!!!!!!!!!!!!!!!!!!!   CELL  CONSTRUCTORS  !!!!!!!!!!!!!!!!!!!
                                                                //   1445  !
                                                                //   1446  %integer%fn LITREF(%integer v)
#line 1446 "regression-compile-tmp/imp22g-77.imp"
int LITREF( int V )
#line 1446 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1447  %integer i
#line 1447 "regression-compile-tmp/imp22g-77.imp"
int I;
                                                                //   1448    %result = v %if v = 0
#line 1448 "regression-compile-tmp/imp22g-77.imp"
if (((V) != (0))) goto L_00ab;
#line 1448 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return V;
#line 1448 "regression-compile-tmp/imp22g-77.imp"
L_00ab:;
                                                                //   1449    %if v > 0 %start
#line 1449 "regression-compile-tmp/imp22g-77.imp"
if (((V) <= (0))) goto L_00ac;
                                                                //   1450      %result = -(v<<1) %if v <= smallmax
#line 1450 "regression-compile-tmp/imp22g-77.imp"
if (((V) > (1023))) goto L_00ad;
#line 1450 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return (-(((V) << (1))));
#line 1450 "regression-compile-tmp/imp22g-77.imp"
L_00ad:;
                                                                //   1451    %else
#line 1451 "regression-compile-tmp/imp22g-77.imp"
goto L_00ae;
#line 1451 "regression-compile-tmp/imp22g-77.imp"
L_00ac:;
                                                                //   1452      %result = v<<1+1 %if v >= smallmin
#line 1452 "regression-compile-tmp/imp22g-77.imp"
if (((V) < ((-1024)))) goto L_00af;
#line 1452 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(((V) << (1)))) + (1));
#line 1452 "regression-compile-tmp/imp22g-77.imp"
L_00af:;
                                                                //   1453    %finish
#line 1453 "regression-compile-tmp/imp22g-77.imp"
L_00ae:;
                                                                //   1454    litstore(litpos) = v
#line 1454 "regression-compile-tmp/imp22g-77.imp"
LITSTORE[((LITPOS) + ((int)(2247)))] = V;
                                                                //   1455    i = litmin-1
#line 1455 "regression-compile-tmp/imp22g-77.imp"
I = (-2248);
                                                                //   1456    i = i+1 %until litstore(i) = v
#line 1456 "regression-compile-tmp/imp22g-77.imp"
L_00b0:;
#line 1456 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
#line 1456 "regression-compile-tmp/imp22g-77.imp"
if (((LITSTORE[((I) + ((int)(2247)))]) == (V))) goto L_00b1;
#line 1456 "regression-compile-tmp/imp22g-77.imp"
goto L_00b0;
#line 1456 "regression-compile-tmp/imp22g-77.imp"
L_00b1:;
                                                                //   1457    %if i = litpos %start
#line 1457 "regression-compile-tmp/imp22g-77.imp"
if (((I) != (LITPOS))) goto L_00b3;
                                                                //   1458      litpos = litpos+1
#line 1458 "regression-compile-tmp/imp22g-77.imp"
LITPOS = (((int)(LITPOS)) + (1));
                                                                //   1459      croak("Too many literals") %if litpos >= litmax
#line 1459 "regression-compile-tmp/imp22g-77.imp"
if (((LITPOS) < ((-2048)))) goto L_00b4;
#line 1459 "regression-compile-tmp/imp22g-77.imp"
CROAK(_imp_str_literal("Too many literals"));
#line 1459 "regression-compile-tmp/imp22g-77.imp"
L_00b4:;
                                                                //   1460    %finish
#line 1460 "regression-compile-tmp/imp22g-77.imp"
L_00b3:;
                                                                //   1461    %result = i
#line 1461 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return I;
                                                                //   1462  %end
#line 1462 "regression-compile-tmp/imp22g-77.imp"
} // End of block LITREF at level 2
                                                                //   1463  !
                                                                //   1464  %routine PUTEXP(%integer act,x,y,t)
#line 1464 "regression-compile-tmp/imp22g-77.imp"
void PUTEXP( int ACT, int X, int Y, int T )
#line 1464 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1465    type = t
#line 1465 "regression-compile-tmp/imp22g-77.imp"
TYPE = T;
                                                                //   1466    item = explim
#line 1466 "regression-compile-tmp/imp22g-77.imp"
ITEM = EXPLIM;
                                                                //   1467    item = x %if explo <= x < item
#line 1467 "regression-compile-tmp/imp22g-77.imp"
if ((((EXPLO) > (X))) || (((X) >= (ITEM)))) goto L_00b5;
#line 1467 "regression-compile-tmp/imp22g-77.imp"
ITEM = X;
#line 1467 "regression-compile-tmp/imp22g-77.imp"
L_00b5:;
                                                                //   1468    item = y %if explo <= y < item
#line 1468 "regression-compile-tmp/imp22g-77.imp"
if ((((EXPLO) > (Y))) || (((Y) >= (ITEM)))) goto L_00b6;
#line 1468 "regression-compile-tmp/imp22g-77.imp"
ITEM = Y;
#line 1468 "regression-compile-tmp/imp22g-77.imp"
L_00b6:;
                                                                //   1469    %cycle
#line 1469 "regression-compile-tmp/imp22g-77.imp"
L_00b7:;
                                                                //   1470      item = item-1
#line 1470 "regression-compile-tmp/imp22g-77.imp"
ITEM = (((int)(ITEM)) - (1));
                                                                //   1471      ditem == dict(item)
#line 1471 "regression-compile-tmp/imp22g-77.imp"
DITEM = &DICT[ITEM];
                                                                //   1472      %if item < explo %start
#line 1472 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) >= (EXPLO))) goto L_00ba;
                                                                //   1473        explo = item
#line 1473 "regression-compile-tmp/imp22g-77.imp"
EXPLO = ITEM;
                                                                //   1474        ditem_act = act;  ditem_x = x;  ditem_y = y
#line 1474 "regression-compile-tmp/imp22g-77.imp"
DITEM->ACT = ACT;
#line 1474 "regression-compile-tmp/imp22g-77.imp"
DITEM->X = X;
#line 1474 "regression-compile-tmp/imp22g-77.imp"
DITEM->Y = Y;
                                                                //   1475        ditem_flags = 0;  ditem_type = t;  ditem_mode = 0
#line 1475 "regression-compile-tmp/imp22g-77.imp"
DITEM->FLAGS = 0;
#line 1475 "regression-compile-tmp/imp22g-77.imp"
DITEM->TYPE = T;
#line 1475 "regression-compile-tmp/imp22g-77.imp"
DITEM->MODE = 0;
                                                                //   1476        %exit
#line 1476 "regression-compile-tmp/imp22g-77.imp"
goto L_00b8;
                                                                //   1477      %finish
#line 1477 "regression-compile-tmp/imp22g-77.imp"
L_00ba:;
                                                                //   1478    %repeat %until ditem_act = act %and ditem_x = x %and ditem_y = y
#line 1478 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->ACT) != (ACT))) goto L_00b9;
#line 1478 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->X) != (X))) goto L_00b9;
#line 1478 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->Y) == (Y))) goto L_00b8;
#line 1478 "regression-compile-tmp/imp22g-77.imp"
L_00b9:;
#line 1478 "regression-compile-tmp/imp22g-77.imp"
goto L_00b7;
#line 1478 "regression-compile-tmp/imp22g-77.imp"
L_00b8:;
                                                                //   1479  %end
#line 1479 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTEXP at level 2
                                                                //   1480  
                                                                //   1481  !$IF VAX
                                                                //   1482  {%integer%fn IEEE(%integer v)
                                                                //   1483  {  %result = 0 %if v = 0
                                                                //   1484  {  %result = v<<16+v>>16-16_01000000
                                                                //   1485  {%end
                                                                //   1486  !$FINISH
                                                                //   1487  
                                                                //   1488  %routine PUTEXP2(%integer op,first,t)
#line 1488 "regression-compile-tmp/imp22g-77.imp"
void PUTEXP2( int OP, int FIRST, int T )
#line 1488 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1489    %if item = 0 %start
#line 1489 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_00bb;
                                                                //   1490  !$IF VAX
                                                                //   1491  {  value = ieee(value) %if type = realtype;  !vax->ieee
                                                                //   1492  !$FINISH
                                                                //   1493      item = litref(value)
#line 1493 "regression-compile-tmp/imp22g-77.imp"
ITEM = LITREF(VALUE);
                                                                //   1494    %finish
#line 1494 "regression-compile-tmp/imp22g-77.imp"
L_00bb:;
                                                                //   1495    putexp(op,first,item,t)
#line 1495 "regression-compile-tmp/imp22g-77.imp"
PUTEXP(OP, FIRST, ITEM, T);
                                                                //   1496  %end
#line 1496 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTEXP2 at level 2
                                                                //   1497  
                                                                //   1498  %integer%fn NORMITEM
#line 1498 "regression-compile-tmp/imp22g-77.imp"
int NORMITEM( void )
#line 1498 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1499    %result = item %if item # 0
#line 1499 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) == (0))) goto L_00bc;
#line 1499 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return ITEM;
#line 1499 "regression-compile-tmp/imp22g-77.imp"
L_00bc:;
                                                                //   1500  !$IF VAX
                                                                //   1501  {  value = ieee(value) %if type = realtype;  !vax->ieee
                                                                //   1502  !$FINISH
                                                                //   1503    %result = litref(value)
#line 1503 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return LITREF(VALUE);
                                                                //   1504  %end
#line 1504 "regression-compile-tmp/imp22g-77.imp"
} // End of block NORMITEM at level 2
                                                                //   1505  
                                                                //   1506  %routine TOREAL
#line 1506 "regression-compile-tmp/imp22g-77.imp"
void TOREAL( void )
#line 1506 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1507    %if item # 0 %then putexp(float,item,0,realtype) %c
#line 1507 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) == (0))) goto L_00bd;
#line 1507 "regression-compile-tmp/imp22g-77.imp"
PUTEXP(95, ITEM, 0, 69);
#line 1507 "regression-compile-tmp/imp22g-77.imp"
goto L_00be;
#line 1507 "regression-compile-tmp/imp22g-77.imp"
L_00bd:;
#line 1507 "regression-compile-tmp/imp22g-77.imp"
*_imp_REAL(_imp_ADDR(&VALUE)) = VALUE;
#line 1507 "regression-compile-tmp/imp22g-77.imp"
TYPE = 69;
#line 1507 "regression-compile-tmp/imp22g-77.imp"
L_00be:;
                                                                //   1508    %else real(addr(value)) = value %and type = realtype
                                                                //   1509  %end
#line 1509 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block TOREAL at level 2
                                                                //   1510  
                                                                //   1511  %integer%fn TEMP(%integer m,v)
#line 1511 "regression-compile-tmp/imp22g-77.imp"
int TEMP( int M, int V )
#line 1511 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1512    dtemp_mode = m;  dtemp_val = v
#line 1512 "regression-compile-tmp/imp22g-77.imp"
DTEMP->MODE = M;
#line 1512 "regression-compile-tmp/imp22g-77.imp"
DTEMP->VAL = V;
                                                                //   1513    %result = lablim
#line 1513 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return LABLIM;
                                                                //   1514  %end
#line 1514 "regression-compile-tmp/imp22g-77.imp"
} // End of block TEMP at level 2
                                                                //   1515  %integer%fn TEMPX(%integer r1,r2)
#line 1515 "regression-compile-tmp/imp22g-77.imp"
int TEMPX( int R1, int R2 )
#line 1515 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1516    dtemp_mode = r1+(indexmode-a0);  dtemp_val = (r2-d0)<<12+16_0800
#line 1516 "regression-compile-tmp/imp22g-77.imp"
DTEMP->MODE = ((R1) + ((int)(39)));
#line 1516 "regression-compile-tmp/imp22g-77.imp"
DTEMP->VAL = (((int)((((((int)(R2)) - (1))) << (12)))) + (2048));
                                                                //   1517    %result = lablim
#line 1517 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return LABLIM;
                                                                //   1518  %end
#line 1518 "regression-compile-tmp/imp22g-77.imp"
} // End of block TEMPX at level 2
                                                                //   1519  %integer%fn TEMPD(%integer a,disp)
#line 1519 "regression-compile-tmp/imp22g-77.imp"
int TEMPD( int A, int DISP )
#line 1519 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1520    dtemp_mode = a+(dispmode-a0);  dtemp_val = disp
#line 1520 "regression-compile-tmp/imp22g-77.imp"
DTEMP->MODE = ((A) + ((int)(31)));
#line 1520 "regression-compile-tmp/imp22g-77.imp"
DTEMP->VAL = DISP;
                                                                //   1521    %result = lablim
#line 1521 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return LABLIM;
                                                                //   1522  %end
#line 1522 "regression-compile-tmp/imp22g-77.imp"
} // End of block TEMPD at level 2
                                                                //   1523  %integer%fn TEMPX2(%integer r1,r2)
#line 1523 "regression-compile-tmp/imp22g-77.imp"
int TEMPX2( int R1, int R2 )
#line 1523 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1524    dtemp2_mode = r1+(indexmode-a0);  dtemp2_val = (r2-d0)<<12+16_0800
#line 1524 "regression-compile-tmp/imp22g-77.imp"
DTEMP2->MODE = ((R1) + ((int)(39)));
#line 1524 "regression-compile-tmp/imp22g-77.imp"
DTEMP2->VAL = (((int)((((((int)(R2)) - (1))) << (12)))) + (2048));
                                                                //   1525    %result = lablim+1
#line 1525 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(LABLIM)) + (1));
                                                                //   1526  %end
#line 1526 "regression-compile-tmp/imp22g-77.imp"
} // End of block TEMPX2 at level 2
                                                                //   1527  
                                                                //   1528  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   1529  !!!!!!!!!!!!!!!!!    CODE  GENERATION   !!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   1530  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   1531  !
                                                                //   1532  !  The array DEF contains packed mnemonics for M68000 machine
                                                                //   1533  ! instructions and, for each mnemonic, the basic opcode and
                                                                //   1534  ! a type indicator.
                                                                //   1535  !  The type indicator contains flag bits for various special cases
                                                                //   1536  ! and two 6-bit fields defining the operand types
                                                                //   1537  ! [should be const record array]
                                                                //   1538  !  The mnemonics and variant distinctions broadly follow the
                                                                //   1539  !  manufacturer's Assembly Language conventions
                                                                //   1540  !
                                                                //   1541  ! Opcode index values needed globally:-
                                                                //   1542  %constinteger LEA=78, PEA=55, CLR=52, DBRA=81, JSR=56,
                                                                //   1543                LINK=72, UNLK=73, RTS=68,
                                                                //   1544                MOVEM=100, TRAPI=101, DC=102
                                                                //   1545  
                                                                //   1546  !Machine-code operand types
                                                                //   1547  ![EA needs to be further distinguished]
                                                                //   1548  %constinteger SHIFT=32
                                                                //   1549  %constinteger REG=1, AREG=2, IREG=3, QUICK=4, MQUICK=5
                                                                //   1550  %constinteger EA=6, RWEA=7, WEA=8
                                                                //   1551  %constinteger IMM=9, TQUICK=10, REL=11, LONGREL=12
                                                                //   1552  %constinteger QREG=13, POSTAREG=14, QEA=15
                                                                //   1553  %constinteger REVEA=16, XIMM=17, DATA=18, PREAREG=19, QPRE=20
                                                                //   1554  %constinteger EXREG=21+shift
                                                                //   1555  %constinteger REG9=reg+shift, QREG9=qreg+shift, IREG9=ireg+shift,
                                                                //   1556                POSTAREG9=postareg+shift,
                                                                //   1557                QUICK9=quick+shift, AREG9=areg+shift
                                                                //   1558  %constinteger SIZED=1<<15, ASIZED=1<<14;  !2 spare bits
                                                                //   1559  %constinteger REVERSIBLE=revea<<6+reg9+sized, MULTIPLE=ximm<<6+ea+asized
                                                                //   1560  %constinteger DEFMAX=129
                                                                //   1561  %constintegerarray DEF(0:defmax+defmax) =
#line 1561 "regression-compile-tmp/imp22g-77.imp"
const int DEF[259] = { 0, 33192, (-621079552), (-805272543), (-1035862016), (-1879014367), (-414121984), (-1342144095), (-958922752), (-1073707999), (-1025376256), (-2147449823), (-551550976), (-1325365177), (-889651200), 1174437895, (-587595776), 1140883463, (-598507520), (-519533759), (-650772480), (-536310975), (-650575872), (-1044381279), (-615101440), (-2118123103), (-929346560), (-1061158495), (-615099392), (-2134900319), (-929344512), 1610612747, (-987725824), 1627389963, (-986120192), 1644167179, (-997949440), 1660944395, (-993427456), 1677721611, (-1003388928), 1694498827, (-1002864640), 1711276043, (-991789056), 1728053259, (-1000833024), 1744830475, (-983465984), 1761607691, (-982941696), 1778384907, (-989462528), 1795162123, (-992706560), 1811939339, (-999129088), 1828716555, (-993394688), 1845493771, (-998637568), 1862270987, (-993886208), (-520058047), (-1019871232), (-536835263), (-1019674624), (-518485183), (-453640192), (-535262399), (-453443584), 1879048545, (-621079008), 1342212359, (-1035844608), 1358989575, (-414104576), 809517474, (-621079520), (-792706654), (-1035860992), (-1866448478), (-414120960), (-1329577566), (-958921728), (-1324874834), (-958909440), 100696647, (-1035852800), 67142215, (-414112768), 201359942, (-958913536), 33587783, (-1025367040), 33351, (-551256064), 167805511, (-889641984), (-519009471), (-453234688), (-535786687), (-453228544), 1107329032, (-959905792), 1073774599, (-598482944), 1207959559, (-601780224), 1212153862, (-531595264), 1317011462, (-717684736), 1321205766, (-724041728), 1254096903, (-400982016), 1241546758, (-382074880), (-1056963295), (-1037987840), (-2130705119), (-434008064), (-788495071), (-1035837440), (-1862236895), (-414097408), 1316028416, (-587726848), 1315962880, (-463890816), 1316159488, (-448626688), 1316421632, (-448200704), 1316290560, (-448167936), 1316093961, (-414728192), 1316356096, (-383728960), 1312817162, (-383729664), 1313866306, (-661181440), 1314390018, (-354014208), 1212153857, (-412041216), 1216348161, (-880124928), 1220542465, (-880136192), (-1052766911), (-880574464), 1103102946, (-665812992), 1098908065, (-964329472), 1355284556, (-936615936), 1372061772, (-936836096), 1388838988, (-937155584), 1405616204, (-937014272), 1422393420, (-937325568), 1439170636, (-937309184), 1455947852, (-936963072), 1472725068, (-937245696), 1489502284, (-936702976), 1506279500, (-936686592), 1523056716, (-936890368), 1539833932, (-936991744), 1556611148, (-937192448), 1573388364, (-937013248), 1590165580, (-937177088), 1606942796, (-937028608), 20973767, (-1003217920), 25168072, (-1003075584), 29362376, (-986525696), 16779462, (-985018368), 1216365638, (-621079136), 1312817738, (-383729376), 18, (-936378368), 1354760200, (-415236096), 1371537416, (-429916160), 1388314632, (-427524096), 1405091848, (-423002112), 1421869064, (-432963584), 1438646280, (-432439296), 1455423496, (-421363712), 1472200712, (-430407680), 1488977928, (-413040640), 1505755144, (-412516352), 1522532360, (-419037184), 1539309576, (-422281216), 1556086792, (-428703744), 1572864008, (-422969344), 1589641224, (-428212224), 1606418440, (-423460864), 1153433984, (-616460736), 1186988416, (-615921664), 1086324744, (-630601728), 1314914306, (-615854592), 1315438594, (-630534656), 37486601, (-1019113920), 41680905, (-1018574848), 171704329, (-884896192), 175898633, (-884357120), 3932169, (-549351872), 8126473, (-548812800),  };
                                                                //   1562    0,
                                                                //   1563   {MOVE} 16_0000<<16+ ea<<6+wea+shift +sized,
                                                                //   1564    'm'<<25+('o'&31)<<20+('v'&31)<<15+('e'&31)<<10,
                                                                //   1565   {ADD} 16_D000<<16+ reversible,
                                                                //   1566    'a'<<25+('d'&31)<<20+('d'&31)<<15,
                                                                //   1567   {SUB} 16_9000<<16+ reversible,
                                                                //   1568    's'<<25+('u'&31)<<20+('b'&31)<<15,
                                                                //   1569   {CMP} 16_B000<<16+ ea<<6+reg9 +sized,
                                                                //   1570    'c'<<25+('m'&31)<<20+('p'&31)<<15,
                                                                //   1571   {AND} 16_C000<<16+ reversible,
                                                                //   1572    'a'<<25+('n'&31)<<20+('d'&31)<<15,
                                                                //   1573   {OR} 16_8000<<16+ reversible,
                                                                //   1574    'o'<<25+('r'&31)<<20,
                                                                //   1575   {EOR} 16_B100<<16+ reg9<<6+rwea +sized,
                                                                //   1576    'e'<<25+('o'&31)<<20+('r'&31)<<15,
                                                                //   1577   {NOT} 16_4600<<16+ rwea +sized,
                                                                //   1578    'n'<<25+('o'&31)<<20+('t'&31)<<15,
                                                                //   1579   {NEG} 16_4400<<16+ rwea +sized,
                                                                //   1580    'n'<<25+('e'&31)<<20+('g'&31)<<15,
                                                                //   1581   {LSL} 16_E108<<16+ qreg9<<6+reg +sized,
                                                                //   1582    'l'<<25+('s'&31)<<20+('l'&31)<<15,
                                                                //   1583   {LSR} 16_E008<<16+ qreg9<<6+reg +sized,
                                                                //   1584    'l'<<25+('s'&31)<<20+('r'&31)<<15,
                                                                //   1585   {MULS} 16_C1C0<<16+ ea<<6+reg9,
                                                                //   1586    'm'<<25+('u'&31)<<20+('l'&31)<<15+('s'&31)<<10,
                                                                //   1587   {DIVS} 16_81C0<<16+ ea<<6+reg9,
                                                                //   1588    'd'<<25+('i'&31)<<20+('v'&31)<<15+('s'&31)<<10,
                                                                //   1589   {MULU} 16_C0C0<<16+ ea<<6+reg9,
                                                                //   1590    'm'<<25+('u'&31)<<20+('l'&31)<<15+('u'&31)<<10,
                                                                //   1591   {DIVU} 16_80C0<<16+ ea<<6+reg9,
                                                                //   1592    'd'<<25+('i'&31)<<20+('v'&31)<<15+('u'&31)<<10,
                                                                //   1593   {BRA} 16_6000<<16+ rel,
                                                                //   1594    'b'<<25+('r'&31)<<20+('a'&31)<<15,
                                                                //   1595   {BSR} 16_6100<<16+ rel,
                                                                //   1596    'b'<<25+('s'&31)<<20+('r'&31)<<15,
                                                                //   1597   {BHI} 16_6200<<16+ rel,
                                                                //   1598    'b'<<25+('h'&31)<<20+('i'&31)<<15,
                                                                //   1599   {BLS} 16_6300<<16+ rel,
                                                                //   1600    'b'<<25+('l'&31)<<20+('s'&31)<<15,
                                                                //   1601   {BCC} 16_6400<<16+ rel,
                                                                //   1602    'b'<<25+('c'&31)<<20+('c'&31)<<15,
                                                                //   1603   {BCS} 16_6500<<16+ rel,
                                                                //   1604    'b'<<25+('c'&31)<<20+('s'&31)<<15,
                                                                //   1605   {BNE} 16_6600<<16+ rel,
                                                                //   1606    'b'<<25+('n'&31)<<20+('e'&31)<<15,
                                                                //   1607   {BEQ} 16_6700<<16+ rel,
                                                                //   1608    'b'<<25+('e'&31)<<20+('q'&31)<<15,
                                                                //   1609   {BVC} 16_6800<<16+ rel,
                                                                //   1610    'b'<<25+('v'&31)<<20+('c'&31)<<15,
                                                                //   1611   {BVS} 16_6900<<16+ rel,
                                                                //   1612    'b'<<25+('v'&31)<<20+('s'&31)<<15,
                                                                //   1613   {BPL} 16_6A00<<16+ rel,
                                                                //   1614    'b'<<25+('p'&31)<<20+('l'&31)<<15,
                                                                //   1615   {BMI} 16_6B00<<16+ rel,
                                                                //   1616    'b'<<25+('m'&31)<<20+('i'&31)<<15,
                                                                //   1617   {BGE} 16_6C00<<16+ rel,
                                                                //   1618    'b'<<25+('g'&31)<<20+('e'&31)<<15,
                                                                //   1619   {BLT} 16_6D00<<16+ rel,
                                                                //   1620    'b'<<25+('l'&31)<<20+('t'&31)<<15,
                                                                //   1621   {BGT} 16_6E00<<16+ rel,
                                                                //   1622    'b'<<25+('g'&31)<<20+('t'&31)<<15,
                                                                //   1623   {BLE} 16_6F00<<16+ rel,
                                                                //   1624    'b'<<25+('l'&31)<<20+('e'&31)<<15,
                                                                //   1625   {ASL} 16_E100<<16+ qreg9<<6+reg +sized,
                                                                //   1626    'a'<<25+('s'&31)<<20+('l'&31)<<15,
                                                                //   1627   {ASR} 16_E000<<16+ qreg9<<6+reg +sized,
                                                                //   1628    'a'<<25+('s'&31)<<20+('r'&31)<<15,
                                                                //   1629   {ROL} 16_E118<<16+ qreg9<<6+reg +sized,
                                                                //   1630    'r'<<25+('o'&31)<<20+('l'&31)<<15,
                                                                //   1631   {ROR} 16_E018<<16+ qreg9<<6+reg +sized,
                                                                //   1632    'r'<<25+('o'&31)<<20+('r'&31)<<15,
                                                                //   1633   {MOVEQ} 16_7000<<16+ mquick<<6+reg9,
                                                                //   1634    'm'<<25+('o'&31)<<20+('v'&31)<<15+('e'&31)<<10+('q'&31)<<5,
                                                                //   1635   {ADDQ} 16_5000<<16+ quick9<<6+rwea +sized,
                                                                //   1636    'a'<<25+('d'&31)<<20+('d'&31)<<15+('q'&31)<<10,
                                                                //   1637   {SUBQ} 16_5100<<16+ quick9<<6+rwea +sized,
                                                                //   1638    's'<<25+('u'&31)<<20+('b'&31)<<15+('q'&31)<<10,
                                                                //   1639   {MOVEA} 16_3040<<16+ ea<<6+areg9 +asized,
                                                                //   1640    'm'<<25+('o'&31)<<20+('v'&31)<<15+('e'&31)<<10+('a'&31)<<5,
                                                                //   1641   {ADDA} 16_D0C0<<16+ ea<<6+areg9 +asized,
                                                                //   1642    'a'<<25+('d'&31)<<20+('d'&31)<<15+('a'&31)<<10,
                                                                //   1643   {SUBA} 16_90C0<<16+ ea<<6+areg9 +asized,
                                                                //   1644    's'<<25+('u'&31)<<20+('b'&31)<<15+('a'&31)<<10,
                                                                //   1645   {CMPA} 16_B0C0<<16+ ea<<6+areg9 +asized,
                                                                //   1646    'c'<<25+('m'&31)<<20+('p'&31)<<15+('a'&31)<<10,
                                                                //   1647   {CMPM} 16_B108<<16+ postareg<<6+postareg9,
                                                                //   1648    'c'<<25+('m'&31)<<20+('p'&31)<<15+('m'&31)<<10,
                                                                //   1649   {ADDI} 16_0600<<16+ imm<<6+rwea +sized,
                                                                //   1650    'a'<<25+('d'&31)<<20+('d'&31)<<15+('i'&31)<<10,
                                                                //   1651   {SUBI} 16_0400<<16+ imm<<6+rwea +sized,
                                                                //   1652    's'<<25+('u'&31)<<20+('b'&31)<<15+('i'&31)<<10,
                                                                //   1653   {CMPI} 16_0C00<<16+ imm<<6+ea +sized,
                                                                //   1654    'c'<<25+('m'&31)<<20+('p'&31)<<15+('i'&31)<<10,
                                                                //   1655   {ANDI} 16_0200<<16+ imm<<6+rwea +sized,
                                                                //   1656    'a'<<25+('n'&31)<<20+('d'&31)<<15+('i'&31)<<10,
                                                                //   1657   {ORI} 16_0000<<16+ imm<<6+rwea +sized,
                                                                //   1658    'o'<<25+('r'&31)<<20+('i'&31)<<15,
                                                                //   1659   {EORI} 16_0A00<<16+ imm<<6+rwea +sized,
                                                                //   1660    'e'<<25+('o'&31)<<20+('r'&31)<<15+('i'&31)<<10,
                                                                //   1661   {ROXL} 16_E110<<16+ qreg9<<6+reg +sized,
                                                                //   1662    'r'<<25+('o'&31)<<20+('x'&31)<<15+('l'&31)<<10,
                                                                //   1663   {ROXR} 16_E010<<16+ qreg9<<6+reg +sized,
                                                                //   1664    'r'<<25+('o'&31)<<20+('x'&31)<<15+('r'&31)<<10,
                                                                //   1665   {CLR} 16_4200<<16+ wea +sized,
                                                                //   1666    'c'<<25+('l'&31)<<20+('r'&31)<<15,
                                                                //   1667   {NEGX} 16_4000<<16+ rwea +sized,
                                                                //   1668    'n'<<25+('e'&31)<<20+('g'&31)<<15+('x'&31)<<10,
                                                                //   1669   {NBCD} 16_4800<<16+ rwea,
                                                                //   1670    'n'<<25+('b'&31)<<20+('c'&31)<<15+('d'&31)<<10,
                                                                //   1671   {PEA} 16_4840<<16+ ea,
                                                                //   1672    'p'<<25+('e'&31)<<20+('a'&31)<<15,
                                                                //   1673   {JSR} 16_4E80<<16+ ea,
                                                                //   1674    'j'<<25+('s'&31)<<20+('r'&31)<<15,
                                                                //   1675   {JMP} 16_4EC0<<16+ ea,
                                                                //   1676    'j'<<25+('m'&31)<<20+('p'&31)<<15,
                                                                //   1677   {TAS} 16_4AC0<<16+ rwea,
                                                                //   1678    't'<<25+('a'&31)<<20+('s'&31)<<15,
                                                                //   1679   {TST} 16_4A00<<16+ ea +sized,
                                                                //   1680    't'<<25+('s'&31)<<20+('t'&31)<<15,
                                                                //   1681   {ABCD} 16_C100<<16+ qpre<<6+reg9,
                                                                //   1682    'a'<<25+('b'&31)<<20+('c'&31)<<15+('d'&31)<<10,
                                                                //   1683   {SBCD} 16_8100<<16+ qpre<<6+reg9,
                                                                //   1684    's'<<25+('b'&31)<<20+('c'&31)<<15+('d'&31)<<10,
                                                                //   1685   {ADDX} 16_D100<<16+ qpre<<6+reg9 +sized,
                                                                //   1686    'a'<<25+('d'&31)<<20+('d'&31)<<15+('x'&31)<<10,
                                                                //   1687   {SUBX} 16_9100<<16+ qpre<<6+reg9 +sized,
                                                                //   1688    's'<<25+('u'&31)<<20+('b'&31)<<15+('x'&31)<<10,
                                                                //   1689   {NOP} 16_4E71<<16,
                                                                //   1690    'n'<<25+('o'&31)<<20+('p'&31)<<15,
                                                                //   1691   {RESET} 16_4E70<<16,
                                                                //   1692    'r'<<25+('e'&31)<<20+('s'&31)<<15+('e'&31)<<10+('t'&31)<<5,
                                                                //   1693   {RTE} 16_4E73<<16,
                                                                //   1694    'r'<<25+('t'&31)<<20+('e'&31)<<15,
                                                                //   1695   {RTR} 16_4E77<<16,
                                                                //   1696    'r'<<25+('t'&31)<<20+('r'&31)<<15,
                                                                //   1697   {RTS} 16_4E75<<16,
                                                                //   1698    'r'<<25+('t'&31)<<20+('s'&31)<<15,
                                                                //   1699   {STOP} 16_4E72<<16 +imm,
                                                                //   1700    's'<<25+('t'&31)<<20+('o'&31)<<15+('p'&31)<<10,
                                                                //   1701   {TRAPV} 16_4E76<<16,
                                                                //   1702    't'<<25+('r'&31)<<20+('a'&31)<<15+('p'&31)<<10+('v'&31)<<5,
                                                                //   1703   {TRAP} 16_4E40<<16+ tquick,
                                                                //   1704    't'<<25+('r'&31)<<20+('a'&31)<<15+('p'&31)<<10,
                                                                //   1705   {LINK} 16_4E50<<16+ imm<<6+areg,
                                                                //   1706    'l'<<25+('i'&31)<<20+('n'&31)<<15+('k'&31)<<10,
                                                                //   1707   {UNLK} 16_4E58<<16+ areg,
                                                                //   1708    'u'<<25+('n'&31)<<20+('l'&31)<<15+('k'&31)<<10,
                                                                //   1709   {SWAP} 16_4840<<16+ reg,
                                                                //   1710    's'<<25+('w'&31)<<20+('a'&31)<<15+('p'&31)<<10,
                                                                //   1711   {EXTW} 16_4880<<16+ reg,
                                                                //   1712    'e'<<25+('x'&31)<<20+('t'&31)<<15+('w'&31)<<10,
                                                                //   1713   {EXTL} 16_48C0<<16+ reg,
                                                                //   1714    'e'<<25+('x'&31)<<20+('t'&31)<<15+('l'&31)<<10,
                                                                //   1715   {EXG} 16_C140<<16+ exreg<<6+reg,
                                                                //   1716    'e'<<25+('x'&31)<<20+('g'&31)<<15,
                                                                //   1717   {LEA} 16_41C0<<16+ qea<<6+areg9,
                                                                //   1718    'l'<<25+('e'&31)<<20+('a'&31)<<15,
                                                                //   1719   {CHK} 16_4180<<16+ ea<<6+reg9,
                                                                //   1720    'c'<<25+('h'&31)<<20+('k'&31)<<15,
                                                                //   1721   {DBXX} 16_50C8<<16+ reg<<6+longrel,
                                                                //   1722    'd'<<25+('b'&31)<<20+('x'&31)<<15+('x'&31)<<10,
                                                                //   1723   {DBRA} 16_51C8<<16+ reg<<6+longrel,
                                                                //   1724    'd'<<25+('b'&31)<<20+('r'&31)<<15+('a'&31)<<10,
                                                                //   1725   {DBHI} 16_52C8<<16+ reg<<6+longrel,
                                                                //   1726    'd'<<25+('b'&31)<<20+('h'&31)<<15+('i'&31)<<10,
                                                                //   1727   {DBLS} 16_53C8<<16+ reg<<6+longrel,
                                                                //   1728    'd'<<25+('b'&31)<<20+('l'&31)<<15+('s'&31)<<10,
                                                                //   1729   {DBCC} 16_54C8<<16+ reg<<6+longrel,
                                                                //   1730    'd'<<25+('b'&31)<<20+('c'&31)<<15+('c'&31)<<10,
                                                                //   1731   {DBCS} 16_55C8<<16+ reg<<6+longrel,
                                                                //   1732    'd'<<25+('b'&31)<<20+('c'&31)<<15+('s'&31)<<10,
                                                                //   1733   {DBNE} 16_56C8<<16+ reg<<6+longrel,
                                                                //   1734    'd'<<25+('b'&31)<<20+('n'&31)<<15+('e'&31)<<10,
                                                                //   1735   {DBEQ} 16_57C8<<16+ reg<<6+longrel,
                                                                //   1736    'd'<<25+('b'&31)<<20+('e'&31)<<15+('q'&31)<<10,
                                                                //   1737   {DBVC} 16_58C8<<16+ reg<<6+longrel,
                                                                //   1738    'd'<<25+('b'&31)<<20+('v'&31)<<15+('c'&31)<<10,
                                                                //   1739   {DBVS} 16_59C8<<16+ reg<<6+longrel,
                                                                //   1740    'd'<<25+('b'&31)<<20+('v'&31)<<15+('s'&31)<<10,
                                                                //   1741   {DBPL} 16_5AC8<<16+ reg<<6+longrel,
                                                                //   1742    'd'<<25+('b'&31)<<20+('p'&31)<<15+('l'&31)<<10,
                                                                //   1743   {DBMI} 16_5BC8<<16+ reg<<6+longrel,
                                                                //   1744    'd'<<25+('b'&31)<<20+('m'&31)<<15+('i'&31)<<10,
                                                                //   1745   {DBGE} 16_5CC8<<16+ reg<<6+longrel,
                                                                //   1746    'd'<<25+('b'&31)<<20+('g'&31)<<15+('e'&31)<<10,
                                                                //   1747   {DBLT} 16_5DC8<<16+ reg<<6+longrel,
                                                                //   1748    'd'<<25+('b'&31)<<20+('l'&31)<<15+('t'&31)<<10,
                                                                //   1749   {DBGT} 16_5EC8<<16+ reg<<6+longrel,
                                                                //   1750    'd'<<25+('b'&31)<<20+('g'&31)<<15+('t'&31)<<10,
                                                                //   1751   {DBLE} 16_5FC8<<16+ reg<<6+longrel,
                                                                //   1752    'd'<<25+('b'&31)<<20+('l'&31)<<15+('e'&31)<<10,
                                                                //   1753   {BCHG} 16_0140<<16+ ireg9<<6+rwea,
                                                                //   1754    'b'<<25+('c'&31)<<20+('h'&31)<<15+('g'&31)<<10,
                                                                //   1755   {BCLR} 16_0180<<16+ ireg9<<6+wea,
                                                                //   1756    'b'<<25+('c'&31)<<20+('l'&31)<<15+('r'&31)<<10,
                                                                //   1757   {BSET} 16_01C0<<16+ ireg9<<6+wea,
                                                                //   1758    'b'<<25+('s'&31)<<20+('e'&31)<<15+('t'&31)<<10,
                                                                //   1759   {BTST} 16_0100<<16+ ireg9<<6+ea,
                                                                //   1760    'b'<<25+('t'&31)<<20+('s'&31)<<15+('t'&31)<<10,
                                                                //   1761   {MOVEM} 16_4880<<16+ multiple,
                                                                //   1762    'm'<<25+('o'&31)<<20+('v'&31)<<15+('e'&31)<<10+('m'&31)<<5,
                                                                //   1763   {TRAPI} 16_4E40<<16+ imm<<6+tquick,
                                                                //   1764    't'<<25+('r'&31)<<20+('a'&31)<<15+('p'&31)<<10+('i'&31)<<5,
                                                                //   1765   {DC}         data,
                                                                //   1766       'd'<<25+('c'&31)<<20,
                                                                //   1767   {ST} 16_50C0<<16+ wea,
                                                                //   1768    's'<<25+('t'&31)<<20,
                                                                //   1769   {SF} 16_51C0<<16+ wea,
                                                                //   1770    's'<<25+('f'&31)<<20,
                                                                //   1771   {SHI} 16_52C0<<16+ wea,
                                                                //   1772    's'<<25+('h'&31)<<20+('i'&31)<<15,
                                                                //   1773   {SLS} 16_53C0<<16+ wea,
                                                                //   1774    's'<<25+('l'&31)<<20+('s'&31)<<15,
                                                                //   1775   {SCC} 16_54C0<<16+ wea,
                                                                //   1776    's'<<25+('c'&31)<<20+('c'&31)<<15,
                                                                //   1777   {SCS} 16_55C0<<16+ wea,
                                                                //   1778    's'<<25+('c'&31)<<20+('s'&31)<<15,
                                                                //   1779   {SNE} 16_56C0<<16+ wea,
                                                                //   1780    's'<<25+('n'&31)<<20+('e'&31)<<15,
                                                                //   1781   {SEQ} 16_57C0<<16+ wea,
                                                                //   1782    's'<<25+('e'&31)<<20+('q'&31)<<15,
                                                                //   1783   {SVC} 16_58C0<<16+ wea,
                                                                //   1784    's'<<25+('v'&31)<<20+('c'&31)<<15,
                                                                //   1785   {SVS} 16_59C0<<16+ wea,
                                                                //   1786    's'<<25+('v'&31)<<20+('s'&31)<<15,
                                                                //   1787   {SPL} 16_5AC0<<16+ wea,
                                                                //   1788    's'<<25+('p'&31)<<20+('l'&31)<<15,
                                                                //   1789   {SMI} 16_5BC0<<16+ wea,
                                                                //   1790    's'<<25+('m'&31)<<20+('i'&31)<<15,
                                                                //   1791   {SGE} 16_5CC0<<16+ wea,
                                                                //   1792    's'<<25+('g'&31)<<20+('e'&31)<<15,
                                                                //   1793   {SLT} 16_5DC0<<16+ wea,
                                                                //   1794    's'<<25+('l'&31)<<20+('t'&31)<<15,
                                                                //   1795   {SGT} 16_5EC0<<16+ wea,
                                                                //   1796    's'<<25+('g'&31)<<20+('t'&31)<<15,
                                                                //   1797   {SLE} 16_5FC0<<16+ wea,
                                                                //   1798    's'<<25+('l'&31)<<20+('e'&31)<<15,
                                                                //   1799   {MTCCR} 16_44C0<<16+ ea<<6,
                                                                //   1800    'm'<<25+('t'&31)<<20+('c'&31)<<15+('c'&31)<<10+('r'&31)<<5,
                                                                //   1801   {MTSR} 16_46C0<<16+ ea<<6,
                                                                //   1802    'm'<<25+('t'&31)<<20+('s'&31)<<15+('r'&31)<<10,
                                                                //   1803   {MFSR} 16_40C0<<16+ wea,
                                                                //   1804    'm'<<25+('f'&31)<<20+('s'&31)<<15+('r'&31)<<10,
                                                                //   1805   {MTUSP} 16_4E60<<16+ areg,
                                                                //   1806    'm'<<25+('t'&31)<<20+('u'&31)<<15+('s'&31)<<10+('p'&31)<<5,
                                                                //   1807   {MFUSP} 16_4E68<<16+ areg,
                                                                //   1808    'm'<<25+('f'&31)<<20+('u'&31)<<15+('s'&31)<<10+('p'&31)<<5,
                                                                //   1809   {ATCCR} 16_023C<<16+ imm,
                                                                //   1810    'a'<<25+('t'&31)<<20+('c'&31)<<15+('c'&31)<<10+('r'&31)<<5,
                                                                //   1811   {ATSR} 16_027C<<16+ imm,
                                                                //   1812    'a'<<25+('t'&31)<<20+('s'&31)<<15+('r'&31)<<10,
                                                                //   1813   {ETCCR} 16_0A3C<<16+ imm,
                                                                //   1814    'e'<<25+('t'&31)<<20+('c'&31)<<15+('c'&31)<<10+('r'&31)<<5,
                                                                //   1815   {ETSR} 16_0A7C<<16+ imm,
                                                                //   1816    'e'<<25+('t'&31)<<20+('s'&31)<<15+('r'&31)<<10,
                                                                //   1817   {OTCCR} 16_003C<<16+ imm,
                                                                //   1818    'o'<<25+('t'&31)<<20+('c'&31)<<15+('c'&31)<<10+('r'&31)<<5,
                                                                //   1819   {OTSR} 16_007C<<16+ imm,
                                                                //   1820    'o'<<25+('t'&31)<<20+('s'&31)<<15+('r'&31)<<10
                                                                //   1821  
                                                                //   1822  {?}%routine PUT OPCODE(%integer op)
#line 1822 "regression-compile-tmp/imp22g-77.imp"
void PUTOPCODE( int OP )
#line 1822 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1823  {?}  put mnemonic(def(op+op))
#line 1823 "regression-compile-tmp/imp22g-77.imp"
PUTMNEMONIC(DEF[(((int)(OP)) + (OP))]);
                                                                //   1824  {?}%end
#line 1824 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTOPCODE at level 2
                                                                //   1825  
                                                                //   1826  %routine STORE(%integer v,f)
#line 1826 "regression-compile-tmp/imp22g-77.imp"
void STORE( int V, int F )
#line 1826 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1827  !$IF VAX
                                                                //   1828  {  v = v&16_FFFF;  v = v!sign16 %if v&sign16 # 0
                                                                //   1829  !$FINISH
                                                                //   1830    prog(pc) <- v;  pflag(pc) = f;  pc = pc+1
#line 1830 "regression-compile-tmp/imp22g-77.imp"
PROG[PC] = V;
#line 1830 "regression-compile-tmp/imp22g-77.imp"
PFLAG[PC] = F;
#line 1830 "regression-compile-tmp/imp22g-77.imp"
PC = (((int)(PC)) + (1));
                                                                //   1831  %end
#line 1831 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block STORE at level 2
                                                                //   1832  
                                                                //   1833  %routine MAKE ROOM(%integer size)
#line 1833 "regression-compile-tmp/imp22g-77.imp"
void MAKEROOM( int SIZE )
#line 1833 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1834  %integer newbase,newlim
#line 1834 "regression-compile-tmp/imp22g-77.imp"
int NEWBASE;
#line 1834 "regression-compile-tmp/imp22g-77.imp"
int NEWLIM;
                                                                //   1835    size = (size+127)&(\127)
#line 1835 "regression-compile-tmp/imp22g-77.imp"
SIZE = (((((int)(SIZE)) + (127))) & ((~(127))));
                                                                //   1836    ownbase = ownbase-size
#line 1836 "regression-compile-tmp/imp22g-77.imp"
OWNBASE = (((int)(OWNBASE)) - (SIZE));
                                                                //   1837    croak("Program too big") %if ownbase <= cad
#line 1837 "regression-compile-tmp/imp22g-77.imp"
if (((OWNBASE) > (CAD))) goto L_00bf;
#line 1837 "regression-compile-tmp/imp22g-77.imp"
CROAK(_imp_str_literal("Program too big"));
#line 1837 "regression-compile-tmp/imp22g-77.imp"
L_00bf:;
                                                                //   1838    newbase = ownbase;  newlim = newbase+ownad
#line 1838 "regression-compile-tmp/imp22g-77.imp"
NEWBASE = OWNBASE;
#line 1838 "regression-compile-tmp/imp22g-77.imp"
NEWLIM = (((int)(NEWBASE)) + (OWNAD));
                                                                //   1839    %cycle
#line 1839 "regression-compile-tmp/imp22g-77.imp"
L_00c0:;
                                                                //   1840      final(newbase) = final(newbase+size)
#line 1840 "regression-compile-tmp/imp22g-77.imp"
FINAL[NEWBASE] = FINAL[(((int)(NEWBASE)) + (SIZE))];
                                                                //   1841      newbase = newbase+1
#line 1841 "regression-compile-tmp/imp22g-77.imp"
NEWBASE = (((int)(NEWBASE)) + (1));
                                                                //   1842    %repeat %until newbase >= newlim
#line 1842 "regression-compile-tmp/imp22g-77.imp"
if (((NEWBASE) >= (NEWLIM))) goto L_00c1;
#line 1842 "regression-compile-tmp/imp22g-77.imp"
goto L_00c0;
#line 1842 "regression-compile-tmp/imp22g-77.imp"
L_00c1:;
                                                                //   1843  %end
#line 1843 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MAKEROOM at level 2
                                                                //   1844  
                                                                //   1845  %routine FILL CODE(%integer n)
#line 1845 "regression-compile-tmp/imp22g-77.imp"
void FILLCODE( int N )
#line 1845 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1846  %integer i
#line 1846 "regression-compile-tmp/imp22g-77.imp"
int I;
                                                                //   1847    i = cad;  cad = cad+n
#line 1847 "regression-compile-tmp/imp22g-77.imp"
I = CAD;
#line 1847 "regression-compile-tmp/imp22g-77.imp"
CAD = (((int)(CAD)) + (N));
                                                                //   1848    %while n > 0 %cycle
#line 1848 "regression-compile-tmp/imp22g-77.imp"
L_00c3:;
#line 1848 "regression-compile-tmp/imp22g-77.imp"
if (((N) <= (0))) goto L_00c4;
                                                                //   1849      final(i) = 16_80;  i = i+1;  n = n-1
#line 1849 "regression-compile-tmp/imp22g-77.imp"
FINAL[I] = 128;
#line 1849 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
#line 1849 "regression-compile-tmp/imp22g-77.imp"
N = (((int)(N)) - (1));
                                                                //   1850    %repeat
#line 1850 "regression-compile-tmp/imp22g-77.imp"
goto L_00c3;
#line 1850 "regression-compile-tmp/imp22g-77.imp"
L_00c4:;
                                                                //   1851  %end
#line 1851 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FILLCODE at level 2
                                                                //   1852  %routine FILL OWN(%integer n)
#line 1852 "regression-compile-tmp/imp22g-77.imp"
void FILLOWN( int N )
#line 1852 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1853  %integer i
#line 1853 "regression-compile-tmp/imp22g-77.imp"
int I;
                                                                //   1854    make room(n)
#line 1854 "regression-compile-tmp/imp22g-77.imp"
MAKEROOM(N);
                                                                //   1855    i = ownbase+ownad;  ownad = ownad+n
#line 1855 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(OWNBASE)) + (OWNAD));
#line 1855 "regression-compile-tmp/imp22g-77.imp"
OWNAD = (((int)(OWNAD)) + (N));
                                                                //   1856    %while n > 0 %cycle
#line 1856 "regression-compile-tmp/imp22g-77.imp"
L_00c6:;
#line 1856 "regression-compile-tmp/imp22g-77.imp"
if (((N) <= (0))) goto L_00c7;
                                                                //   1857      final(i) = 16_80;  i = i+1;  n = n-1
#line 1857 "regression-compile-tmp/imp22g-77.imp"
FINAL[I] = 128;
#line 1857 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
#line 1857 "regression-compile-tmp/imp22g-77.imp"
N = (((int)(N)) - (1));
                                                                //   1858    %repeat
#line 1858 "regression-compile-tmp/imp22g-77.imp"
goto L_00c6;
#line 1858 "regression-compile-tmp/imp22g-77.imp"
L_00c7:;
                                                                //   1859  %end
#line 1859 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FILLOWN at level 2
                                                                //   1860  
                                                                //   1861  %routine SET CODE WORD(%integer v)
#line 1861 "regression-compile-tmp/imp22g-77.imp"
void SETCODEWORD( int V )
#line 1861 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1862  !$IF VAX (works irrespective of host byte sex)
                                                                //   1863  {  final(cad) <- v>>8;  final(cad+1) <- v
                                                                //   1864  !$IF APM (for efficiency)
                                                                //   1865    shortinteger(final0+cad) <- v
#line 1865 "regression-compile-tmp/imp22g-77.imp"
*_imp_SHORTINTEGER((((int)(FINAL0)) + (CAD))) = V;
                                                                //   1866  !$FINISH
                                                                //   1867    cad = cad+2
#line 1867 "regression-compile-tmp/imp22g-77.imp"
CAD = (((int)(CAD)) + (2));
                                                                //   1868  %end
#line 1868 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETCODEWORD at level 2
                                                                //   1869  
                                                                //   1870  %integer%fn CODE WORD(%integer cad)
#line 1870 "regression-compile-tmp/imp22g-77.imp"
int CODEWORD( int CAD )
#line 1870 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1871  !$IF VAX (works irrespective of host byte sex)
                                                                //   1872  {  %result = final(cad)<<8+final(cad+1)
                                                                //   1873  !$IF APM (for efficiency)
                                                                //   1874    %result = shortinteger(final0+cad)
#line 1874 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return *_imp_SHORTINTEGER((((int)(FINAL0)) + (CAD)));
                                                                //   1875  !$FINISH
                                                                //   1876  %end
#line 1876 "regression-compile-tmp/imp22g-77.imp"
} // End of block CODEWORD at level 2
                                                                //   1877  
                                                                //   1878  %routine SET CODE LONGWORD(%integer v)
#line 1878 "regression-compile-tmp/imp22g-77.imp"
void SETCODELONGWORD( int V )
#line 1878 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1879    set code word(v>>16);  set code word(v)
#line 1879 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD((int)((((unsigned int)(V)) >> (16))));
#line 1879 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD(V);
                                                                //   1880  %end
#line 1880 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETCODELONGWORD at level 2
                                                                //   1881  
                                                                //   1882  %routine SET OWN WORD(%integer v)
#line 1882 "regression-compile-tmp/imp22g-77.imp"
void SETOWNWORD( int V )
#line 1882 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1883    make room(2) %if ownbase+ownad > finalbound
#line 1883 "regression-compile-tmp/imp22g-77.imp"
if ((((((int)(OWNBASE)) + (OWNAD))) <= (FINALBOUND))) goto L_00c9;
#line 1883 "regression-compile-tmp/imp22g-77.imp"
MAKEROOM(2);
#line 1883 "regression-compile-tmp/imp22g-77.imp"
L_00c9:;
                                                                //   1884  !$IF VAX
                                                                //   1885  {  final(ownbase+ownad) <- v>>8;  final(ownbase+ownad+1) <- v
                                                                //   1886  !$IF APM
                                                                //   1887    shortinteger(final0+ownbase+ownad) <- v
#line 1887 "regression-compile-tmp/imp22g-77.imp"
*_imp_SHORTINTEGER((((int)((((int)(FINAL0)) + (OWNBASE)))) + (OWNAD))) = V;
                                                                //   1888  !$FINISH
                                                                //   1889    ownad = ownad+2
#line 1889 "regression-compile-tmp/imp22g-77.imp"
OWNAD = (((int)(OWNAD)) + (2));
                                                                //   1890  %end
#line 1890 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETOWNWORD at level 2
                                                                //   1891  
                                                                //   1892  %routine EXTEND STACK(%integer delta)
#line 1892 "regression-compile-tmp/imp22g-77.imp"
void EXTENDSTACK( int DELTA )
#line 1892 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1893    c_sp = c_sp-delta
#line 1893 "regression-compile-tmp/imp22g-77.imp"
C.SP = (((int)(C.SP)) - (DELTA));
                                                                //   1894    %if c_sp < c_stack %start
#line 1894 "regression-compile-tmp/imp22g-77.imp"
if (((C.SP) >= (C.STACK))) goto L_00ca;
                                                                //   1895      c_stack = c_sp
#line 1895 "regression-compile-tmp/imp22g-77.imp"
C.STACK = C.SP;
                                                                //   1896      c_totstack = c_stack %if c_stack < c_totstack
#line 1896 "regression-compile-tmp/imp22g-77.imp"
if (((C.STACK) >= (C.TOTSTACK))) goto L_00cb;
#line 1896 "regression-compile-tmp/imp22g-77.imp"
C.TOTSTACK = C.STACK;
#line 1896 "regression-compile-tmp/imp22g-77.imp"
L_00cb:;
                                                                //   1897    %finish
#line 1897 "regression-compile-tmp/imp22g-77.imp"
L_00ca:;
                                                                //   1898  %end
#line 1898 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block EXTENDSTACK at level 2
                                                                //   1899  
                                                                //   1900  %routine PLANT(%integer op,y,x)
#line 1900 "regression-compile-tmp/imp22g-77.imp"
void PLANT( int OP, int Y, int X )
#line 1900 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1901  !Basic code planting procedure
                                                                //   1902  ! OP is an index to the array defining op-codes
                                                                //   1903  !  (it can be flagged to force SIZE)
                                                                //   1904  ! For unary operations the operand is given by X (Y zero)
                                                                //   1905  ! For binary operations the operands are Y (source) and X (dest)
                                                                //   1906  %integer OPCODE,PC1,I,F,EXTWORD,INFO,KIND,MODE,MODEX,SIZE
#line 1906 "regression-compile-tmp/imp22g-77.imp"
int OPCODE;
#line 1906 "regression-compile-tmp/imp22g-77.imp"
int PC1;
#line 1906 "regression-compile-tmp/imp22g-77.imp"
int I;
#line 1906 "regression-compile-tmp/imp22g-77.imp"
int F;
#line 1906 "regression-compile-tmp/imp22g-77.imp"
int EXTWORD;
#line 1906 "regression-compile-tmp/imp22g-77.imp"
int INFO;
#line 1906 "regression-compile-tmp/imp22g-77.imp"
int KIND;
#line 1906 "regression-compile-tmp/imp22g-77.imp"
int MODE;
#line 1906 "regression-compile-tmp/imp22g-77.imp"
int MODEX;
#line 1906 "regression-compile-tmp/imp22g-77.imp"
int SIZE;
                                                                //   1907  %record(identinfo)%name DX,DY
#line 1907 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DX;
#line 1907 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DY;
                                                                //   1908  %switch S(0:21)
#line 1908 "regression-compile-tmp/imp22g-77.imp"
static int sw2_S_idx;
static const void * /*SWITCH*/ sw2_S[22] = { &&sw2_S_0, &&sw2_S_1, &&sw2_S_2, &&sw2_S_3, &&sw2_S_4, &&sw2_S_5, &&sw2_S_6, &&sw2_S_7, &&sw2_S_8, &&sw2_S_9, &&sw2_S_10, &&sw2_S_11, &&sw2_S_12, &&sw2_S_13, &&sw2_S_14, &&sw2_S_15, &&sw2_S_16, &&sw2_S_17, &&sw2_S_18, &&sw2_S_19, &&sw2_S_20, &&sw2_S_21,  };
                                                                //   1909  %constbytearray SIZESYM(0:3) = 'L','B','W','?'
#line 1909 "regression-compile-tmp/imp22g-77.imp"
const unsigned char SIZESYM[4] = { 76, 66, 87, 63,  };
                                                                //   1910  
                                                                //   1911  %integer%fn NONLOCAL(%integer l)
#line 1911 "regression-compile-tmp/imp22g-77.imp"
int NONLOCAL( int L )
#line 1911 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   1912  %integer r
#line 1912 "regression-compile-tmp/imp22g-77.imp"
int R;
                                                                //   1913    %result = mb %if l = outerlevel
#line 1913 "regression-compile-tmp/imp22g-77.imp"
if (((L) != (0))) goto L_00cc;
#line 1913 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 13;
#line 1913 "regression-compile-tmp/imp22g-77.imp"
L_00cc:;
                                                                //   1914    hold(l)_status = hold(l)_status!globbed %if l # level
#line 1914 "regression-compile-tmp/imp22g-77.imp"
if (((L) == (LEVEL))) goto L_00cd;
#line 1914 "regression-compile-tmp/imp22g-77.imp"
HOLD[L].STATUS = ((HOLD[L].STATUS) | (16));
#line 1914 "regression-compile-tmp/imp22g-77.imp"
L_00cd:;
                                                                //   1915    %result = f1 %if l = outerlevel+1
#line 1915 "regression-compile-tmp/imp22g-77.imp"
if (((L) != (1))) goto L_00ce;
#line 1915 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 15;
#line 1915 "regression-compile-tmp/imp22g-77.imp"
L_00ce:;
                                                                //   1916    r = maxareg
#line 1916 "regression-compile-tmp/imp22g-77.imp"
R = 12;
                                                                //   1917    %cycle
#line 1917 "regression-compile-tmp/imp22g-77.imp"
L_00cf:;
                                                                //   1918      %result = r %if c_reg_content(r) = d7+l;  ![unique]
#line 1918 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CONTENT[(((int)(R)) - (1))]) != ((((int)(8)) + (L))))) goto L_00d2;
#line 1918 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return R;
#line 1918 "regression-compile-tmp/imp22g-77.imp"
L_00d2:;
                                                                //   1919      r = r-1
#line 1919 "regression-compile-tmp/imp22g-77.imp"
R = (((int)(R)) - (1));
                                                                //   1920    %repeat %until r < a0
#line 1920 "regression-compile-tmp/imp22g-77.imp"
if (((R) < (9))) goto L_00d0;
#line 1920 "regression-compile-tmp/imp22g-77.imp"
goto L_00cf;
#line 1920 "regression-compile-tmp/imp22g-77.imp"
L_00d0:;
                                                                //   1921  ![not good enough: 1. may need two
                                                                //   1922  !                  2. FREE updated elsewhere without regard to this]
                                                                //   1923    r = maxareg
#line 1923 "regression-compile-tmp/imp22g-77.imp"
R = 12;
                                                                //   1924    %while a0b<<(r-a0)&free = 0 %cycle
#line 1924 "regression-compile-tmp/imp22g-77.imp"
L_00d3:;
#line 1924 "regression-compile-tmp/imp22g-77.imp"
if (((((((256) << ((((int)(R)) - (9))))) & (FREE))) != (0))) goto L_00d4;
                                                                //   1925      fault(plexerr) %and %exit %if r = a0
#line 1925 "regression-compile-tmp/imp22g-77.imp"
if (((R) != (9))) goto L_00d6;
#line 1925 "regression-compile-tmp/imp22g-77.imp"
FAULT(2);
#line 1925 "regression-compile-tmp/imp22g-77.imp"
goto L_00d4;
#line 1925 "regression-compile-tmp/imp22g-77.imp"
L_00d6:;
                                                                //   1926      r = r-1
#line 1926 "regression-compile-tmp/imp22g-77.imp"
R = (((int)(R)) - (1));
                                                                //   1927    %repeat
#line 1927 "regression-compile-tmp/imp22g-77.imp"
goto L_00d3;
#line 1927 "regression-compile-tmp/imp22g-77.imp"
L_00d4:;
                                                                //   1928    c_reg_content(r) = d7+l
#line 1928 "regression-compile-tmp/imp22g-77.imp"
C.REG.CONTENT[(((int)(R)) - (1))] = (((int)(8)) + (L));
                                                                //   1929    dtsprel_mode = globalmode;  dtsprel_val = l<<2
#line 1929 "regression-compile-tmp/imp22g-77.imp"
DTSPREL->MODE = 45;
#line 1929 "regression-compile-tmp/imp22g-77.imp"
DTSPREL->VAL = ((L) << (2));
                                                                //   1930    plant(move,lablim+2,r)
#line 1930 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, (((int)(LABLIM)) + (2)), R);
                                                                //   1931    %result = r
#line 1931 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return R;
                                                                //   1932  %end
#line 1932 "regression-compile-tmp/imp22g-77.imp"
} // End of block NONLOCAL at level 3
                                                                //   1933  
                                                                //   1934  %constinteger MOVEQ=36, ADDQ=37, MOVEA=39,
                                                                //   1935                ADDA=40, ADDI=44
                                                                //   1936  
                                                                //   1937    %if x > 0 %start
#line 1937 "regression-compile-tmp/imp22g-77.imp"
if (((X) <= (0))) goto L_00d7;
                                                                //   1938      intern(1) %and %return %if x >= explim
#line 1938 "regression-compile-tmp/imp22g-77.imp"
if (((X) < (EXPLIM))) goto L_00d8;
#line 1938 "regression-compile-tmp/imp22g-77.imp"
INTERN(1);
#line 1938 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1938 "regression-compile-tmp/imp22g-77.imp"
L_00d8:;
                                                                //   1939      dx == dict(x)
#line 1939 "regression-compile-tmp/imp22g-77.imp"
DX = &DICT[X];
                                                                //   1940      modex = dx_mode
#line 1940 "regression-compile-tmp/imp22g-77.imp"
MODEX = DX->MODE;
                                                                //   1941      %if modex >= framemode %and modex # c_mode %c
#line 1941 "regression-compile-tmp/imp22g-77.imp"
if (((MODEX) < (168))) goto L_00d9;
#line 1941 "regression-compile-tmp/imp22g-77.imp"
if (((MODEX) == (C.MODE))) goto L_00d9;
#line 1941 "regression-compile-tmp/imp22g-77.imp"
if (((((MODEX) & (56))) == (56))) goto L_00d9;
                                                                //   1942      %and modex&2_111000 # 2_111000 %start
                                                                //   1943        modex = nonlocal(modex&7)-a0+(modex&(7<<3))
#line 1943 "regression-compile-tmp/imp22g-77.imp"
MODEX = ((((((int)(NONLOCAL(((MODEX) & (7))))) - (9)))) + (((MODEX) & (((7) << (3))))));
                                                                //   1944      %finish
#line 1944 "regression-compile-tmp/imp22g-77.imp"
L_00d9:;
                                                                //   1945    %finish %else modex = litmode %and dx == dint
#line 1945 "regression-compile-tmp/imp22g-77.imp"
goto L_00da;
#line 1945 "regression-compile-tmp/imp22g-77.imp"
L_00d7:;
#line 1945 "regression-compile-tmp/imp22g-77.imp"
MODEX = 60;
#line 1945 "regression-compile-tmp/imp22g-77.imp"
DX = DINT;
#line 1945 "regression-compile-tmp/imp22g-77.imp"
L_00da:;
                                                                //   1946    %if y > 0 %start
#line 1946 "regression-compile-tmp/imp22g-77.imp"
if (((Y) <= (0))) goto L_00db;
                                                                //   1947      intern(1) %and %return %if y >= explim
#line 1947 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < (EXPLIM))) goto L_00dc;
#line 1947 "regression-compile-tmp/imp22g-77.imp"
INTERN(1);
#line 1947 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1947 "regression-compile-tmp/imp22g-77.imp"
L_00dc:;
                                                                //   1948      dy == dict(y)
#line 1948 "regression-compile-tmp/imp22g-77.imp"
DY = &DICT[Y];
                                                                //   1949      mode = dy_mode
#line 1949 "regression-compile-tmp/imp22g-77.imp"
MODE = DY->MODE;
                                                                //   1950      %if mode >= framemode %and mode # c_mode %c
#line 1950 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) < (168))) goto L_00dd;
#line 1950 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) == (C.MODE))) goto L_00dd;
#line 1950 "regression-compile-tmp/imp22g-77.imp"
if (((((MODE) & (56))) == (56))) goto L_00dd;
                                                                //   1951      %and mode&2_111000 # 2_111000 %start
                                                                //   1952        mode = nonlocal(mode&7)-a0+(mode&(7<<3))
#line 1952 "regression-compile-tmp/imp22g-77.imp"
MODE = ((((((int)(NONLOCAL(((MODE) & (7))))) - (9)))) + (((MODE) & (((7) << (3))))));
                                                                //   1953      %finish
#line 1953 "regression-compile-tmp/imp22g-77.imp"
L_00dd:;
                                                                //   1954    %finish %else mode = litmode %and dy == dint
#line 1954 "regression-compile-tmp/imp22g-77.imp"
goto L_00de;
#line 1954 "regression-compile-tmp/imp22g-77.imp"
L_00db:;
#line 1954 "regression-compile-tmp/imp22g-77.imp"
MODE = 60;
#line 1954 "regression-compile-tmp/imp22g-77.imp"
DY = DINT;
#line 1954 "regression-compile-tmp/imp22g-77.imp"
L_00de:;
                                                                //   1955    size = op>>8;  op = op&255
#line 1955 "regression-compile-tmp/imp22g-77.imp"
SIZE = (int)((((unsigned int)(OP)) >> (8)));
#line 1955 "regression-compile-tmp/imp22g-77.imp"
OP = ((OP) & (255));
                                                                //   1956    %if op = move %start
#line 1956 "regression-compile-tmp/imp22g-77.imp"
if (((OP) != (1))) goto L_00df;
                                                                //   1957      %if modex&2_111000 = 0 %start;  !D
#line 1957 "regression-compile-tmp/imp22g-77.imp"
if (((((MODEX) & (56))) != (0))) goto L_00e0;
                                                                //   1958        op = moveq %if y <= 0 %and y >= litmite %and size&3 = 0
#line 1958 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_00e1;
#line 1958 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < ((-255)))) goto L_00e1;
#line 1958 "regression-compile-tmp/imp22g-77.imp"
if (((((SIZE) & (3))) != (0))) goto L_00e1;
#line 1958 "regression-compile-tmp/imp22g-77.imp"
OP = 36;
#line 1958 "regression-compile-tmp/imp22g-77.imp"
L_00e1:;
                                                                //   1959      %finish %else %if modex&2_110000 = 0 %start;   !A
#line 1959 "regression-compile-tmp/imp22g-77.imp"
goto L_00e2;
#line 1959 "regression-compile-tmp/imp22g-77.imp"
L_00e0:;
#line 1959 "regression-compile-tmp/imp22g-77.imp"
if (((((MODEX) & (48))) != (0))) goto L_00e3;
                                                                //   1960        op = movea
#line 1960 "regression-compile-tmp/imp22g-77.imp"
OP = 39;
                                                                //   1961      %finish
#line 1961 "regression-compile-tmp/imp22g-77.imp"
L_00e3:;
#line 1961 "regression-compile-tmp/imp22g-77.imp"
L_00e2:;
                                                                //   1962    %finish %else %if op <= cmp %start
#line 1962 "regression-compile-tmp/imp22g-77.imp"
goto L_00e4;
#line 1962 "regression-compile-tmp/imp22g-77.imp"
L_00df:;
#line 1962 "regression-compile-tmp/imp22g-77.imp"
if (((OP) > (4))) goto L_00e5;
                                                                //   1963      %if op < cmp %and y < 0 %and y >= litquick %and y&1 = 0 %c
#line 1963 "regression-compile-tmp/imp22g-77.imp"
if (((OP) >= (4))) goto L_00e6;
#line 1963 "regression-compile-tmp/imp22g-77.imp"
if (((Y) >= (0))) goto L_00e6;
#line 1963 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < ((-16)))) goto L_00e6;
#line 1963 "regression-compile-tmp/imp22g-77.imp"
if (((((Y) & (1))) != (0))) goto L_00e6;
#line 1963 "regression-compile-tmp/imp22g-77.imp"
OP = ((OP) + ((int)(35)));
#line 1963 "regression-compile-tmp/imp22g-77.imp"
goto L_00e7;
#line 1963 "regression-compile-tmp/imp22g-77.imp"
L_00e6:;
#line 1963 "regression-compile-tmp/imp22g-77.imp"
if (((((MODEX) & (56))) != (8))) goto L_00e8;
#line 1963 "regression-compile-tmp/imp22g-77.imp"
OP = ((OP) + ((int)(38)));
#line 1963 "regression-compile-tmp/imp22g-77.imp"
goto L_00e7;
#line 1963 "regression-compile-tmp/imp22g-77.imp"
L_00e8:;
#line 1963 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_00e9;
#line 1963 "regression-compile-tmp/imp22g-77.imp"
OP = ((OP) + ((int)(42)));
#line 1963 "regression-compile-tmp/imp22g-77.imp"
L_00e9:;
#line 1963 "regression-compile-tmp/imp22g-77.imp"
L_00e7:;
                                                                //   1964      %then op=op+(addq-add) {ADDQ,SUBQ} %c
                                                                //   1965      %else %if modex&2_111000 = aregmode %c
                                                                //   1966      %then op=op+(adda-add) {ADDA,SUBA,CMPA} %c
                                                                //   1967      %else %if y <= 0 %c
                                                                //   1968      %then op=op+(addi-add) {ADDI,SUBI,CMPI}
                                                                //   1969    %finish %else %if op <= eor %start
#line 1969 "regression-compile-tmp/imp22g-77.imp"
goto L_00e4;
#line 1969 "regression-compile-tmp/imp22g-77.imp"
L_00e5:;
#line 1969 "regression-compile-tmp/imp22g-77.imp"
if (((OP) > (7))) goto L_00ea;
                                                                //   1970      op = op+(addi-add) %if y <= 0 {ANDI,ORI,EORI}
#line 1970 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_00eb;
#line 1970 "regression-compile-tmp/imp22g-77.imp"
OP = ((OP) + ((int)(42)));
#line 1970 "regression-compile-tmp/imp22g-77.imp"
L_00eb:;
                                                                //   1971    %finish
#line 1971 "regression-compile-tmp/imp22g-77.imp"
L_00ea:;
#line 1971 "regression-compile-tmp/imp22g-77.imp"
L_00e4:;
                                                                //   1972    info = def(op+op-1)
#line 1972 "regression-compile-tmp/imp22g-77.imp"
INFO = DEF[(((int)((((int)(OP)) + (OP)))) - (1))];
                                                                //   1973    opcode = info>>16
#line 1973 "regression-compile-tmp/imp22g-77.imp"
OPCODE = (int)((((unsigned int)(INFO)) >> (16)));
                                                                //   1974    %if info&sized # 0 %start;  !data size required
#line 1974 "regression-compile-tmp/imp22g-77.imp"
if (((((INFO) & (32768))) == (0))) goto L_00ec;
                                                                //   1975      size = 4 %if size = 0
#line 1975 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) != (0))) goto L_00ed;
#line 1975 "regression-compile-tmp/imp22g-77.imp"
SIZE = 4;
#line 1975 "regression-compile-tmp/imp22g-77.imp"
L_00ed:;
                                                                //   1976      %if op = move %start
#line 1976 "regression-compile-tmp/imp22g-77.imp"
if (((OP) != (1))) goto L_00ee;
                                                                //   1977        %if size = 4 %start
#line 1977 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) != (4))) goto L_00ef;
                                                                //   1978          opcode = opcode+16_2000
#line 1978 "regression-compile-tmp/imp22g-77.imp"
OPCODE = (((int)(OPCODE)) + (8192));
                                                                //   1979        %finish %else %if size = 2 %start
#line 1979 "regression-compile-tmp/imp22g-77.imp"
goto L_00f0;
#line 1979 "regression-compile-tmp/imp22g-77.imp"
L_00ef:;
#line 1979 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) != (2))) goto L_00f1;
                                                                //   1980          opcode = opcode+16_3000
#line 1980 "regression-compile-tmp/imp22g-77.imp"
OPCODE = (((int)(OPCODE)) + (12288));
                                                                //   1981        %else
#line 1981 "regression-compile-tmp/imp22g-77.imp"
goto L_00f0;
#line 1981 "regression-compile-tmp/imp22g-77.imp"
L_00f1:;
                                                                //   1982          opcode = opcode+16_1000
#line 1982 "regression-compile-tmp/imp22g-77.imp"
OPCODE = (((int)(OPCODE)) + (4096));
                                                                //   1983        %finish
#line 1983 "regression-compile-tmp/imp22g-77.imp"
L_00f0:;
                                                                //   1984      %else
#line 1984 "regression-compile-tmp/imp22g-77.imp"
goto L_00f2;
#line 1984 "regression-compile-tmp/imp22g-77.imp"
L_00ee:;
                                                                //   1985        %if size = 4 %start
#line 1985 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) != (4))) goto L_00f3;
                                                                //   1986          opcode = opcode+16_80
#line 1986 "regression-compile-tmp/imp22g-77.imp"
OPCODE = (((int)(OPCODE)) + (128));
                                                                //   1987        %finish %else %if size = 2 %start
#line 1987 "regression-compile-tmp/imp22g-77.imp"
goto L_00f4;
#line 1987 "regression-compile-tmp/imp22g-77.imp"
L_00f3:;
#line 1987 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) != (2))) goto L_00f5;
                                                                //   1988          opcode = opcode+16_40
#line 1988 "regression-compile-tmp/imp22g-77.imp"
OPCODE = (((int)(OPCODE)) + (64));
                                                                //   1989        %finish
#line 1989 "regression-compile-tmp/imp22g-77.imp"
L_00f5:;
#line 1989 "regression-compile-tmp/imp22g-77.imp"
L_00f4:;
                                                                //   1990      %finish
#line 1990 "regression-compile-tmp/imp22g-77.imp"
L_00f2:;
                                                                //   1991    %finish %else %if info&asized # 0 %start;  !areg size required
#line 1991 "regression-compile-tmp/imp22g-77.imp"
goto L_00f6;
#line 1991 "regression-compile-tmp/imp22g-77.imp"
L_00ec:;
#line 1991 "regression-compile-tmp/imp22g-77.imp"
if (((((INFO) & (16384))) == (0))) goto L_00f7;
                                                                //   1992      fault(sizerr) %if size = 1
#line 1992 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) != (1))) goto L_00f8;
#line 1992 "regression-compile-tmp/imp22g-77.imp"
FAULT(11);
#line 1992 "regression-compile-tmp/imp22g-77.imp"
L_00f8:;
                                                                //   1993      %if op # movem %start
#line 1993 "regression-compile-tmp/imp22g-77.imp"
if (((OP) == (100))) goto L_00f9;
                                                                //   1994        %if size = 0 %start
#line 1994 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) != (0))) goto L_00fa;
                                                                //   1995          size = 4 %unless y <= 0 %and is short(litval(y))=TRUE
#line 1995 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_00fb;
#line 1995 "regression-compile-tmp/imp22g-77.imp"
if (((ISSHORT(LITVAL(Y))) == (1))) goto L_00fc;
#line 1995 "regression-compile-tmp/imp22g-77.imp"
L_00fb:;
#line 1995 "regression-compile-tmp/imp22g-77.imp"
SIZE = 4;
#line 1995 "regression-compile-tmp/imp22g-77.imp"
L_00fc:;
                                                                //   1996        %finish
#line 1996 "regression-compile-tmp/imp22g-77.imp"
L_00fa:;
                                                                //   1997        %if size = 4 %start
#line 1997 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) != (4))) goto L_00fd;
                                                                //   1998          %if op = movea %then opcode = opcode!!16_1000 %c
#line 1998 "regression-compile-tmp/imp22g-77.imp"
if (((OP) != (39))) goto L_00fe;
#line 1998 "regression-compile-tmp/imp22g-77.imp"
OPCODE = ((OPCODE) ^ (4096));
#line 1998 "regression-compile-tmp/imp22g-77.imp"
goto L_00ff;
#line 1998 "regression-compile-tmp/imp22g-77.imp"
L_00fe:;
#line 1998 "regression-compile-tmp/imp22g-77.imp"
OPCODE = (((int)(OPCODE)) + (256));
#line 1998 "regression-compile-tmp/imp22g-77.imp"
L_00ff:;
                                                                //   1999          %else opcode = opcode+16_0100
                                                                //   2000        %finish
#line 2000 "regression-compile-tmp/imp22g-77.imp"
L_00fd:;
                                                                //   2001      %else;  !MOVEM
#line 2001 "regression-compile-tmp/imp22g-77.imp"
goto L_0100;
#line 2001 "regression-compile-tmp/imp22g-77.imp"
L_00f9:;
                                                                //   2002        size = 4 %if size = 0
#line 2002 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) != (0))) goto L_0101;
#line 2002 "regression-compile-tmp/imp22g-77.imp"
SIZE = 4;
#line 2002 "regression-compile-tmp/imp22g-77.imp"
L_0101:;
                                                                //   2003        opcode = opcode+16_0040 %if size = 4
#line 2003 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) != (4))) goto L_0102;
#line 2003 "regression-compile-tmp/imp22g-77.imp"
OPCODE = (((int)(OPCODE)) + (64));
#line 2003 "regression-compile-tmp/imp22g-77.imp"
L_0102:;
                                                                //   2004      %finish
#line 2004 "regression-compile-tmp/imp22g-77.imp"
L_0100:;
                                                                //   2005    %finish
#line 2005 "regression-compile-tmp/imp22g-77.imp"
L_00f7:;
#line 2005 "regression-compile-tmp/imp22g-77.imp"
L_00f6:;
                                                                //   2006  {?}  %if control&codelist # 0 %and control&list # 0 %start
#line 2006 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (32))) == (0))) goto L_0103;
#line 2006 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (1))) == (0))) goto L_0103;
                                                                //   2007  {?}    print line %if length(rep) >= 4
#line 2007 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_LENGTH(&REP)) < (4))) goto L_0104;
#line 2007 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
#line 2007 "regression-compile-tmp/imp22g-77.imp"
L_0104:;
                                                                //   2008  {?}    put sym(codeflag);  spaces(4-length(rep))
#line 2008 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(CODEFLAG);
#line 2008 "regression-compile-tmp/imp22g-77.imp"
SPACES(((4) - (*(int *)(_imp_LENGTH(&REP)))));
                                                                //   2009  {?}    put opcode(op)
#line 2009 "regression-compile-tmp/imp22g-77.imp"
PUTOPCODE(OP);
                                                                //   2010  {?}    %if size # 0 %start
#line 2010 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) == (0))) goto L_0105;
                                                                //   2011  {?}      put sym('.')
#line 2011 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(46);
                                                                //   2012  {?}      put sym(sizesym(size&3))
#line 2012 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(SIZESYM[((SIZE) & (3))]);
                                                                //   2013  {?}    %finish
#line 2013 "regression-compile-tmp/imp22g-77.imp"
L_0105:;
                                                                //   2014  {?}    spaces(12-length(rep))
#line 2014 "regression-compile-tmp/imp22g-77.imp"
SPACES(((12) - (*(int *)(_imp_LENGTH(&REP)))));
                                                                //   2015  {?}    %if info&(63<<6) # 0 %start
#line 2015 "regression-compile-tmp/imp22g-77.imp"
if (((((INFO) & (((63) << (6))))) == (0))) goto L_0106;
                                                                //   2016  {?}      put operand(y)
#line 2016 "regression-compile-tmp/imp22g-77.imp"
PUTOPERAND(Y);
                                                                //   2017  {?}      put sym(',') %if info&63 # 0
#line 2017 "regression-compile-tmp/imp22g-77.imp"
if (((((INFO) & (63))) == (0))) goto L_0107;
#line 2017 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(44);
#line 2017 "regression-compile-tmp/imp22g-77.imp"
L_0107:;
                                                                //   2018  {?}    %finish
#line 2018 "regression-compile-tmp/imp22g-77.imp"
L_0106:;
                                                                //   2019  {?}    put operand(x) %if info&63 # 0
#line 2019 "regression-compile-tmp/imp22g-77.imp"
if (((((INFO) & (63))) == (0))) goto L_0108;
#line 2019 "regression-compile-tmp/imp22g-77.imp"
PUTOPERAND(X);
#line 2019 "regression-compile-tmp/imp22g-77.imp"
L_0108:;
                                                                //   2020  {?}    spaces(33-length(rep));  put sym(':')
#line 2020 "regression-compile-tmp/imp22g-77.imp"
SPACES(((33) - (*(int *)(_imp_LENGTH(&REP)))));
#line 2020 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(58);
                                                                //   2021  {?}  %finish
#line 2021 "regression-compile-tmp/imp22g-77.imp"
L_0103:;
                                                                //   2022  
                                                                //   2023    pc1 = pc;  pflag(pc1) = c_shorts;  !op-code word
#line 2023 "regression-compile-tmp/imp22g-77.imp"
PC1 = PC;
#line 2023 "regression-compile-tmp/imp22g-77.imp"
PFLAG[PC1] = C.SHORTS;
                                                                //   2024    pc = pc+1
#line 2024 "regression-compile-tmp/imp22g-77.imp"
PC = (((int)(PC)) + (1));
                                                                //   2025    croak("Code space exhausted") %if pc >= swpc-8
#line 2025 "regression-compile-tmp/imp22g-77.imp"
if (((PC) < ((((int)(SWPC)) - (8))))) goto L_0109;
#line 2025 "regression-compile-tmp/imp22g-77.imp"
CROAK(_imp_str_literal("Code space exhausted"));
#line 2025 "regression-compile-tmp/imp22g-77.imp"
L_0109:;
                                                                //   2026    kind = info>>6
#line 2026 "regression-compile-tmp/imp22g-77.imp"
KIND = (int)((((unsigned int)(INFO)) >> (6)));
                                                                //   2027  again:
#line 2027 "regression-compile-tmp/imp22g-77.imp"
U_1003:;
                                                                //   2028    ->s(kind&31)
#line 2028 "regression-compile-tmp/imp22g-77.imp"
sw2_S_idx = ((KIND) & (31)); if ((0 <= sw2_S_idx) && (sw2_S_idx <= 21)) goto *sw2_S[sw2_S_idx]; else {
   /*_imp_signal(8, 2, sw2_S_idx);*/
   fprintf(stderr, "%%SWITCH index S(%d) not in range 0:21 at %s:%d\n",
           sw2_S_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   2029  s(0):
#line 2029 "regression-compile-tmp/imp22g-77.imp"
sw2_S_0:;
                                                                //   2030  next:
#line 2030 "regression-compile-tmp/imp22g-77.imp"
U_1004:;
                                                                //   2031    kind = info
#line 2031 "regression-compile-tmp/imp22g-77.imp"
KIND = INFO;
                                                                //   2032    %if kind # 0 %start
#line 2032 "regression-compile-tmp/imp22g-77.imp"
if (((KIND) == (0))) goto L_010a;
                                                                //   2033      dy == dx;  y = x;  mode = modex
#line 2033 "regression-compile-tmp/imp22g-77.imp"
DY = DX;
#line 2033 "regression-compile-tmp/imp22g-77.imp"
Y = X;
#line 2033 "regression-compile-tmp/imp22g-77.imp"
MODE = MODEX;
                                                                //   2034      info = 0
#line 2034 "regression-compile-tmp/imp22g-77.imp"
INFO = 0;
                                                                //   2035      ->again
#line 2035 "regression-compile-tmp/imp22g-77.imp"
goto U_1003;
                                                                //   2036    %finish
#line 2036 "regression-compile-tmp/imp22g-77.imp"
L_010a:;
                                                                //   2037  !
                                                                //   2038  !$IF VAX
                                                                //   2039  {  opcode = opcode!sign16 %if opcode&sign16 # 0
                                                                //   2040  !$FINISH
                                                                //   2041    prog(pc1) <- opcode
#line 2041 "regression-compile-tmp/imp22g-77.imp"
PROG[PC1] = OPCODE;
                                                                //   2042  {?}  %if control&codelist # 0 %and control&list # 0 %start
#line 2042 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (32))) == (0))) goto L_010b;
#line 2042 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (1))) == (0))) goto L_010b;
                                                                //   2043  {?}    %cycle
#line 2043 "regression-compile-tmp/imp22g-77.imp"
L_010c:;
                                                                //   2044  {?}      put sym(' ')
#line 2044 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(32);
                                                                //   2045  {?}      put hex(prog(pc1))
#line 2045 "regression-compile-tmp/imp22g-77.imp"
PUTHEX(PROG[PC1]);
                                                                //   2046  {?}      pc1 = pc1+1
#line 2046 "regression-compile-tmp/imp22g-77.imp"
PC1 = (((int)(PC1)) + (1));
                                                                //   2047  {?}    %repeat %until pc1 >= pc
#line 2047 "regression-compile-tmp/imp22g-77.imp"
if (((PC1) >= (PC))) goto L_010d;
#line 2047 "regression-compile-tmp/imp22g-77.imp"
goto L_010c;
#line 2047 "regression-compile-tmp/imp22g-77.imp"
L_010d:;
                                                                //   2048  {?}    print line
#line 2048 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
                                                                //   2049  {?}  %finish
#line 2049 "regression-compile-tmp/imp22g-77.imp"
L_010b:;
                                                                //   2050    %return
#line 2050 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2051  
                                                                //   2052  !Set flag value for PC-relative reference
                                                                //   2053  ! distinguishing GLOBAL (const access), INDIRECT GLOBAL (procedure),
                                                                //   2054  ! and LOCAL (label) -- the last further distinguished according to
                                                                //   2055  ! whether the instruction permits shortening
                                                                //   2056  %routine PCREL(%integer shorten)
#line 2056 "regression-compile-tmp/imp22g-77.imp"
void PCREL( int SHORTEN )
#line 2056 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2057    %if dy_mode = labmode %start
#line 2057 "regression-compile-tmp/imp22g-77.imp"
if (((DY->MODE) != (186))) goto L_010f;
                                                                //   2058      f = jump;  f = longjump %if shorten = 0
#line 2058 "regression-compile-tmp/imp22g-77.imp"
F = 2;
#line 2058 "regression-compile-tmp/imp22g-77.imp"
if (((SHORTEN) != (0))) goto L_0110;
#line 2058 "regression-compile-tmp/imp22g-77.imp"
F = 3;
#line 2058 "regression-compile-tmp/imp22g-77.imp"
L_0110:;
                                                                //   2059      %if extword > 0 %start;  !label defined
#line 2059 "regression-compile-tmp/imp22g-77.imp"
if (((EXTWORD) <= (0))) goto L_0111;
                                                                //   2060        %if shorten # 0 %and (extword-pflag(extword)-pc+c_shorts)<<1 >= -128 %start
#line 2060 "regression-compile-tmp/imp22g-77.imp"
if (((SHORTEN) == (0))) goto L_0112;
#line 2060 "regression-compile-tmp/imp22g-77.imp"
if ((((((((int)((((int)(((EXTWORD) - ((int)(PFLAG[EXTWORD]))))) - (PC)))) + (C.SHORTS))) << (1))) < ((-128)))) goto L_0112;
                                                                //   2061          %if c_shorts = 255 %start
#line 2061 "regression-compile-tmp/imp22g-77.imp"
if (((C.SHORTS) != (255))) goto L_0113;
                                                                //   2062            zaps = zaps+100
#line 2062 "regression-compile-tmp/imp22g-77.imp"
ZAPS = (((int)(ZAPS)) + (100));
                                                                //   2063          %else
#line 2063 "regression-compile-tmp/imp22g-77.imp"
goto L_0114;
#line 2063 "regression-compile-tmp/imp22g-77.imp"
L_0113:;
                                                                //   2064            shorts = shorts+1;  c_shorts = c_shorts+1
#line 2064 "regression-compile-tmp/imp22g-77.imp"
SHORTS = (((int)(SHORTS)) + (1));
#line 2064 "regression-compile-tmp/imp22g-77.imp"
C.SHORTS = (((int)(C.SHORTS)) + (1));
                                                                //   2065            f = shortjump
#line 2065 "regression-compile-tmp/imp22g-77.imp"
F = 1;
                                                                //   2066          %finish
#line 2066 "regression-compile-tmp/imp22g-77.imp"
L_0114:;
                                                                //   2067        %finish
#line 2067 "regression-compile-tmp/imp22g-77.imp"
L_0112:;
                                                                //   2068      %else
#line 2068 "regression-compile-tmp/imp22g-77.imp"
goto L_0115;
#line 2068 "regression-compile-tmp/imp22g-77.imp"
L_0111:;
                                                                //   2069        extword = -extword
#line 2069 "regression-compile-tmp/imp22g-77.imp"
EXTWORD = (-(EXTWORD));
                                                                //   2070        dy_val = -pc
#line 2070 "regression-compile-tmp/imp22g-77.imp"
DY->VAL = (-(PC));
                                                                //   2071      %finish
#line 2071 "regression-compile-tmp/imp22g-77.imp"
L_0115:;
                                                                //   2072    %finish %else %if dy_mode = procmode %start;  !procedure
#line 2072 "regression-compile-tmp/imp22g-77.imp"
goto L_0116;
#line 2072 "regression-compile-tmp/imp22g-77.imp"
L_010f:;
#line 2072 "regression-compile-tmp/imp22g-77.imp"
if (((DY->MODE) != (250))) goto L_0117;
                                                                //   2073      f = indglobal;  extword = y;  !rather than DY_VAL
#line 2073 "regression-compile-tmp/imp22g-77.imp"
F = 7;
#line 2073 "regression-compile-tmp/imp22g-77.imp"
EXTWORD = Y;
                                                                //   2074    %finish %else %if dy_mode = constmode %start;  !constant data ref
#line 2074 "regression-compile-tmp/imp22g-77.imp"
goto L_0116;
#line 2074 "regression-compile-tmp/imp22g-77.imp"
L_0117:;
#line 2074 "regression-compile-tmp/imp22g-77.imp"
if (((DY->MODE) != (122))) goto L_0118;
                                                                //   2075      f = global
#line 2075 "regression-compile-tmp/imp22g-77.imp"
F = 4;
                                                                //   2076      f = f+1 %if extword < 0
#line 2076 "regression-compile-tmp/imp22g-77.imp"
if (((EXTWORD) >= (0))) goto L_0119;
#line 2076 "regression-compile-tmp/imp22g-77.imp"
F = (((int)(F)) + (1));
#line 2076 "regression-compile-tmp/imp22g-77.imp"
L_0119:;
                                                                //   2077      f = f+2 %if extword > 65535
#line 2077 "regression-compile-tmp/imp22g-77.imp"
if (((EXTWORD) <= (65535))) goto L_011a;
#line 2077 "regression-compile-tmp/imp22g-77.imp"
F = (((int)(F)) + (2));
#line 2077 "regression-compile-tmp/imp22g-77.imp"
L_011a:;
                                                                //   2078    %finish %else %if dy_mode # pcmode %start
#line 2078 "regression-compile-tmp/imp22g-77.imp"
goto L_0116;
#line 2078 "regression-compile-tmp/imp22g-77.imp"
L_0118:;
#line 2078 "regression-compile-tmp/imp22g-77.imp"
if (((DY->MODE) == (58))) goto L_011b;
                                                                //   2079      fault(moperr)
#line 2079 "regression-compile-tmp/imp22g-77.imp"
FAULT(26);
                                                                //   2080    %finish
#line 2080 "regression-compile-tmp/imp22g-77.imp"
L_011b:;
#line 2080 "regression-compile-tmp/imp22g-77.imp"
L_0116:;
                                                                //   2081  %end
#line 2081 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PCREL at level 3
                                                                //   2082  
                                                                //   2083  s(qea):  !LEA
#line 2083 "regression-compile-tmp/imp22g-77.imp"
sw2_S_15:;
                                                                //   2084    -> ea0 %unless mode&63 = x-(a0-indexmode) %and dy_val&255 = 0
#line 2084 "regression-compile-tmp/imp22g-77.imp"
if (((((MODE) & (63))) != (((X) + ((int)(39)))))) goto L_00d5;
#line 2084 "regression-compile-tmp/imp22g-77.imp"
if (((((DY->VAL) & (255))) == (0))) goto L_011c;
#line 2084 "regression-compile-tmp/imp22g-77.imp"
L_00d5:;
#line 2084 "regression-compile-tmp/imp22g-77.imp"
goto U_1005;
#line 2084 "regression-compile-tmp/imp22g-77.imp"
L_011c:;
                                                                //   2085    !  LEA 0(Ax,Dy)  =>  ADDA Dy,Ax
                                                                //   2086    opcode = 16_D1C0+dy_val>>12&15
#line 2086 "regression-compile-tmp/imp22g-77.imp"
OPCODE = ((53696) + ((int)((((int)((((unsigned int)(DY->VAL)) >> (12)))) & (15)))));
                                                                //   2087    -> next
#line 2087 "regression-compile-tmp/imp22g-77.imp"
goto U_1004;
                                                                //   2088  
                                                                //   2089  s(wea):
#line 2089 "regression-compile-tmp/imp22g-77.imp"
sw2_S_8:;
                                                                //   2090    dy_flags = dy_flags!(mflag!wflag)
#line 2090 "regression-compile-tmp/imp22g-77.imp"
DY->FLAGS = ((DY->FLAGS) | (((128) | (16))));
                                                                //   2091    -> wea1
#line 2091 "regression-compile-tmp/imp22g-77.imp"
goto U_1006;
                                                                //   2092  s(rwea):  ![for our purposes, read&write counts as neither]
#line 2092 "regression-compile-tmp/imp22g-77.imp"
sw2_S_7:;
                                                                //   2093    dy_flags = dy_flags!mflag
#line 2093 "regression-compile-tmp/imp22g-77.imp"
DY->FLAGS = ((DY->FLAGS) | (128));
                                                                //   2094  wea1:
#line 2094 "regression-compile-tmp/imp22g-77.imp"
U_1006:;
                                                                //   2095    -> err %if y <= 0 %or mode&63 >= pcmode
#line 2095 "regression-compile-tmp/imp22g-77.imp"
if (((Y) <= (0))) goto L_011d;
#line 2095 "regression-compile-tmp/imp22g-77.imp"
if (((((MODE) & (63))) < (58))) goto L_011e;
#line 2095 "regression-compile-tmp/imp22g-77.imp"
L_011d:;
#line 2095 "regression-compile-tmp/imp22g-77.imp"
goto U_1007;
#line 2095 "regression-compile-tmp/imp22g-77.imp"
L_011e:;
                                                                //   2096    -> ea1
#line 2096 "regression-compile-tmp/imp22g-77.imp"
goto U_1008;
                                                                //   2097  s(revea):  !reversible cases (EA,REG or REG,EA)
#line 2097 "regression-compile-tmp/imp22g-77.imp"
sw2_S_16:;
                                                                //   2098    %if modex&2_111000 # 0 %start;  !dest not D
#line 2098 "regression-compile-tmp/imp22g-77.imp"
if (((((MODEX) & (56))) == (0))) goto L_011f;
                                                                //   2099      kind = shift;  info = rwea
#line 2099 "regression-compile-tmp/imp22g-77.imp"
KIND = 32;
#line 2099 "regression-compile-tmp/imp22g-77.imp"
INFO = 7;
                                                                //   2100      opcode = opcode!!16_0100
#line 2100 "regression-compile-tmp/imp22g-77.imp"
OPCODE = ((OPCODE) ^ (256));
                                                                //   2101      ->sreg
#line 2101 "regression-compile-tmp/imp22g-77.imp"
goto U_1009;
                                                                //   2102    %finish
#line 2102 "regression-compile-tmp/imp22g-77.imp"
L_011f:;
                                                                //   2103  s(ea): ea0:
#line 2103 "regression-compile-tmp/imp22g-77.imp"
sw2_S_6:;
#line 2103 "regression-compile-tmp/imp22g-77.imp"
U_1005:;
                                                                //   2104    %if y <= 0 %start
#line 2104 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_0120;
                                                                //   2105      opcode = opcode+litmode;  !immediate
#line 2105 "regression-compile-tmp/imp22g-77.imp"
OPCODE = (((int)(OPCODE)) + (60));
                                                                //   2106      ->simm
#line 2106 "regression-compile-tmp/imp22g-77.imp"
goto U_100a;
                                                                //   2107    %finish
#line 2107 "regression-compile-tmp/imp22g-77.imp"
L_0120:;
                                                                //   2108    %if dy_flags&(ext+spec+rflag+wflag) = ext+spec %c
#line 2108 "regression-compile-tmp/imp22g-77.imp"
if (((((DY->FLAGS) & (16688))) != (16640))) goto L_0121;
#line 2108 "regression-compile-tmp/imp22g-77.imp"
if (((((DY->FLAGS) & (12288))) == (0))) goto L_0121;
                                                                //   2109    %and dy_flags&proc # 0 %start
                                                                //   2110      ! Create transfer vector for external procedure
                                                                //   2111      fill own(1) %if ownad&1 # 0
#line 2111 "regression-compile-tmp/imp22g-77.imp"
if (((((OWNAD) & (1))) == (0))) goto L_0122;
#line 2111 "regression-compile-tmp/imp22g-77.imp"
FILLOWN(1);
#line 2111 "regression-compile-tmp/imp22g-77.imp"
L_0122:;
                                                                //   2112      dy_val = ownad
#line 2112 "regression-compile-tmp/imp22g-77.imp"
DY->VAL = OWNAD;
                                                                //   2113      set own word(16_207C+(mb-a0)<<9);  !MOVE.L #xxxxxxxx,MB
#line 2113 "regression-compile-tmp/imp22g-77.imp"
SETOWNWORD(((8316) + ((int)(((4) << (9))))));
                                                                //   2114      set own word(0);  set own word(0)
#line 2114 "regression-compile-tmp/imp22g-77.imp"
SETOWNWORD(0);
#line 2114 "regression-compile-tmp/imp22g-77.imp"
SETOWNWORD(0);
                                                                //   2115      set own word(16_4EF9);  !JMP xxxxxxxx
#line 2115 "regression-compile-tmp/imp22g-77.imp"
SETOWNWORD(20217);
                                                                //   2116      set own word(0);  set own word(0)
#line 2116 "regression-compile-tmp/imp22g-77.imp"
SETOWNWORD(0);
#line 2116 "regression-compile-tmp/imp22g-77.imp"
SETOWNWORD(0);
                                                                //   2117    %finish
#line 2117 "regression-compile-tmp/imp22g-77.imp"
L_0121:;
                                                                //   2118    %if (op = lea %or op = pea) %and mode&63 # pcmode %start
#line 2118 "regression-compile-tmp/imp22g-77.imp"
if (((OP) == (78))) goto L_0123;
#line 2118 "regression-compile-tmp/imp22g-77.imp"
if (((OP) != (55))) goto L_0124;
#line 2118 "regression-compile-tmp/imp22g-77.imp"
L_0123:;
#line 2118 "regression-compile-tmp/imp22g-77.imp"
if (((((MODE) & (63))) == (58))) goto L_0124;
                                                                //   2119      !taking address: might read or write
                                                                //   2120      dy_flags = dy_flags!(mflag+rflag+wflag)
#line 2120 "regression-compile-tmp/imp22g-77.imp"
DY->FLAGS = ((DY->FLAGS) | (176));
                                                                //   2121      ->err %if mode&2_111000 < aregmode+indir
#line 2121 "regression-compile-tmp/imp22g-77.imp"
if (((((MODE) & (56))) >= (16))) goto L_0125;
#line 2121 "regression-compile-tmp/imp22g-77.imp"
goto U_1007;
#line 2121 "regression-compile-tmp/imp22g-77.imp"
L_0125:;
                                                                //   2122    %else
#line 2122 "regression-compile-tmp/imp22g-77.imp"
goto L_0126;
#line 2122 "regression-compile-tmp/imp22g-77.imp"
L_0124:;
                                                                //   2123      dy_flags = dy_flags!(mflag+rflag)
#line 2123 "regression-compile-tmp/imp22g-77.imp"
DY->FLAGS = ((DY->FLAGS) | (160));
                                                                //   2124    %finish
#line 2124 "regression-compile-tmp/imp22g-77.imp"
L_0126:;
                                                                //   2125  ea1:
#line 2125 "regression-compile-tmp/imp22g-77.imp"
U_1008:;
                                                                //   2126    extword = dy_val
#line 2126 "regression-compile-tmp/imp22g-77.imp"
EXTWORD = DY->VAL;
                                                                //   2127    %if mode = c_mode %start;  !local
#line 2127 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) != (C.MODE))) goto L_0127;
                                                                //   2128      mode = dispmode+7;  extword = extword-c_sp;  !convert to use SP
#line 2128 "regression-compile-tmp/imp22g-77.imp"
MODE = 47;
#line 2128 "regression-compile-tmp/imp22g-77.imp"
EXTWORD = (((int)(EXTWORD)) - (C.SP));
                                                                //   2129      %if extword < 0 %start
#line 2129 "regression-compile-tmp/imp22g-77.imp"
if (((EXTWORD) >= (0))) goto L_0128;
                                                                //   2130        intern(4) %if extword < -4
#line 2130 "regression-compile-tmp/imp22g-77.imp"
if (((EXTWORD) >= ((-4)))) goto L_0129;
#line 2130 "regression-compile-tmp/imp22g-77.imp"
INTERN(4);
#line 2130 "regression-compile-tmp/imp22g-77.imp"
L_0129:;
                                                                //   2131        mode = aregmode+pre+7
#line 2131 "regression-compile-tmp/imp22g-77.imp"
MODE = 39;
                                                                //   2132        extend stack(-extword)
#line 2132 "regression-compile-tmp/imp22g-77.imp"
EXTENDSTACK((-(EXTWORD)));
                                                                //   2133        extword = 0
#line 2133 "regression-compile-tmp/imp22g-77.imp"
EXTWORD = 0;
                                                                //   2134      %finish
#line 2134 "regression-compile-tmp/imp22g-77.imp"
L_0128:;
                                                                //   2135    %finish
#line 2135 "regression-compile-tmp/imp22g-77.imp"
L_0127:;
                                                                //   2136    mode = mode&63;   !strip extra flags
#line 2136 "regression-compile-tmp/imp22g-77.imp"
MODE = ((MODE) & (63));
                                                                //   2137    %if mode >= dispmode %start;  !+extra
#line 2137 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) < (40))) goto L_012a;
                                                                //   2138      f = 0
#line 2138 "regression-compile-tmp/imp22g-77.imp"
F = 0;
                                                                //   2139      %if mode = pcmode %start
#line 2139 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) != (58))) goto L_012b;
                                                                //   2140        pcrel(0)
#line 2140 "regression-compile-tmp/imp22g-77.imp"
PCREL(0);
                                                                //   2141      %finish
#line 2141 "regression-compile-tmp/imp22g-77.imp"
L_012b:;
                                                                //   2142      %if mode <= dispmode+7 %start
#line 2142 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) > (47))) goto L_012c;
                                                                //   2143        %if extword = 0 %start
#line 2143 "regression-compile-tmp/imp22g-77.imp"
if (((EXTWORD) != (0))) goto L_012d;
                                                                //   2144          ! Premode (just created) or Dispmode (=>Indmode)
                                                                //   2145          mode = mode+(aregmode+indir-dispmode) %if mode >= dispmode
#line 2145 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) < (40))) goto L_012e;
#line 2145 "regression-compile-tmp/imp22g-77.imp"
MODE = ((MODE) + ((int)((-24))));
#line 2145 "regression-compile-tmp/imp22g-77.imp"
L_012e:;
                                                                //   2146        %else
#line 2146 "regression-compile-tmp/imp22g-77.imp"
goto L_012f;
#line 2146 "regression-compile-tmp/imp22g-77.imp"
L_012d:;
                                                                //   2147          fault(dreacherr) %unless -32768 <= extword <= 32767
#line 2147 "regression-compile-tmp/imp22g-77.imp"
if (((((-32768)) > (EXTWORD))) || (((EXTWORD) <= (32767)))) goto L_0131;
#line 2147 "regression-compile-tmp/imp22g-77.imp"
L_0130:;
#line 2147 "regression-compile-tmp/imp22g-77.imp"
FAULT(6);
#line 2147 "regression-compile-tmp/imp22g-77.imp"
L_0131:;
                                                                //   2148          store(extword,f)
#line 2148 "regression-compile-tmp/imp22g-77.imp"
STORE(EXTWORD, F);
                                                                //   2149        %finish
#line 2149 "regression-compile-tmp/imp22g-77.imp"
L_012f:;
                                                                //   2150      %else
#line 2150 "regression-compile-tmp/imp22g-77.imp"
goto L_0132;
#line 2150 "regression-compile-tmp/imp22g-77.imp"
L_012c:;
                                                                //   2151        mode = absmode+1 %if mode = absmode %and %not is short(extword)=TRUE
#line 2151 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) != (56))) goto L_0133;
#line 2151 "regression-compile-tmp/imp22g-77.imp"
if (((ISSHORT(EXTWORD)) == (1))) goto L_0133;
#line 2151 "regression-compile-tmp/imp22g-77.imp"
MODE = 57;
#line 2151 "regression-compile-tmp/imp22g-77.imp"
L_0133:;
                                                                //   2152        store(extword>>16,0) %if mode = absmode+1
#line 2152 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) != (57))) goto L_0134;
#line 2152 "regression-compile-tmp/imp22g-77.imp"
STORE((int)((((unsigned int)(EXTWORD)) >> (16))), 0);
#line 2152 "regression-compile-tmp/imp22g-77.imp"
L_0134:;
                                                                //   2153        store(extword,f)
#line 2153 "regression-compile-tmp/imp22g-77.imp"
STORE(EXTWORD, F);
                                                                //   2154      %finish
#line 2154 "regression-compile-tmp/imp22g-77.imp"
L_0132:;
                                                                //   2155    %finish
#line 2155 "regression-compile-tmp/imp22g-77.imp"
L_012a:;
                                                                //   2156    mode = ((mode&7)<<3 + mode>>3)<<6 %if kind&shift # 0
#line 2156 "regression-compile-tmp/imp22g-77.imp"
if (((((KIND) & (32))) == (0))) goto L_0135;
#line 2156 "regression-compile-tmp/imp22g-77.imp"
MODE = (((((((((MODE) & (7))) << (3)))) + ((int)((((unsigned int)(MODE)) >> (3)))))) << (6));
#line 2156 "regression-compile-tmp/imp22g-77.imp"
L_0135:;
                                                                //   2157    opcode = opcode+mode
#line 2157 "regression-compile-tmp/imp22g-77.imp"
OPCODE = (((int)(OPCODE)) + (MODE));
                                                                //   2158    ->next
#line 2158 "regression-compile-tmp/imp22g-77.imp"
goto U_1004;
                                                                //   2159  
                                                                //   2160  s(exreg&31):  !EXG (D,D / A,A / D,A)
#line 2160 "regression-compile-tmp/imp22g-77.imp"
sw2_S_21:;
                                                                //   2161    %if mode&2_111000 = 0 %start;  !D
#line 2161 "regression-compile-tmp/imp22g-77.imp"
if (((((MODE) & (56))) != (0))) goto L_0136;
                                                                //   2162      %if modex&2_111000 # 0 %start;  !not D
#line 2162 "regression-compile-tmp/imp22g-77.imp"
if (((((MODEX) & (56))) == (0))) goto L_0137;
                                                                //   2163        opcode = opcode!!16_C8;  info = areg
#line 2163 "regression-compile-tmp/imp22g-77.imp"
OPCODE = ((OPCODE) ^ (200));
#line 2163 "regression-compile-tmp/imp22g-77.imp"
INFO = 2;
                                                                //   2164      %finish
#line 2164 "regression-compile-tmp/imp22g-77.imp"
L_0137:;
                                                                //   2165      -> sreg
#line 2165 "regression-compile-tmp/imp22g-77.imp"
goto U_1009;
                                                                //   2166    %finish
#line 2166 "regression-compile-tmp/imp22g-77.imp"
L_0136:;
                                                                //   2167    opcode = opcode+8;  info = areg
#line 2167 "regression-compile-tmp/imp22g-77.imp"
OPCODE = (((int)(OPCODE)) + (8));
#line 2167 "regression-compile-tmp/imp22g-77.imp"
INFO = 2;
                                                                //   2168    -> sareg
#line 2168 "regression-compile-tmp/imp22g-77.imp"
goto U_100b;
                                                                //   2169  s(qpre):
#line 2169 "regression-compile-tmp/imp22g-77.imp"
sw2_S_20:;
                                                                //   2170    -> sreg %if mode&2_111000 = 0;  !D
#line 2170 "regression-compile-tmp/imp22g-77.imp"
if (((((MODE) & (56))) != (0))) goto L_0138;
#line 2170 "regression-compile-tmp/imp22g-77.imp"
goto U_1009;
#line 2170 "regression-compile-tmp/imp22g-77.imp"
L_0138:;
                                                                //   2171    opcode = opcode+8;  info = preareg+shift
#line 2171 "regression-compile-tmp/imp22g-77.imp"
OPCODE = (((int)(OPCODE)) + (8));
#line 2171 "regression-compile-tmp/imp22g-77.imp"
INFO = 51;
                                                                //   2172  s(preareg):
#line 2172 "regression-compile-tmp/imp22g-77.imp"
sw2_S_19:;
                                                                //   2173    mode = mode+(post-pre)
#line 2173 "regression-compile-tmp/imp22g-77.imp"
MODE = ((MODE) + ((int)((-8))));
                                                                //   2174  s(postareg):
#line 2174 "regression-compile-tmp/imp22g-77.imp"
sw2_S_14:;
                                                                //   2175    mode = mode-post
#line 2175 "regression-compile-tmp/imp22g-77.imp"
MODE = (((int)(MODE)) - (16));
                                                                //   2176  s(areg): sareg:
#line 2176 "regression-compile-tmp/imp22g-77.imp"
sw2_S_2:;
#line 2176 "regression-compile-tmp/imp22g-77.imp"
U_100b:;
                                                                //   2177    mode = mode-8
#line 2177 "regression-compile-tmp/imp22g-77.imp"
MODE = (((int)(MODE)) - (8));
                                                                //   2178  s(reg): sreg:
#line 2178 "regression-compile-tmp/imp22g-77.imp"
sw2_S_1:;
#line 2178 "regression-compile-tmp/imp22g-77.imp"
U_1009:;
                                                                //   2179    -> err %unless mode&2_111000 = 0
#line 2179 "regression-compile-tmp/imp22g-77.imp"
if (((((MODE) & (56))) == (0))) goto L_0139;
#line 2179 "regression-compile-tmp/imp22g-77.imp"
goto U_1007;
#line 2179 "regression-compile-tmp/imp22g-77.imp"
L_0139:;
                                                                //   2180    mode = mode&7
#line 2180 "regression-compile-tmp/imp22g-77.imp"
MODE = ((MODE) & (7));
                                                                //   2181    mode = mode<<9 %if kind&shift # 0
#line 2181 "regression-compile-tmp/imp22g-77.imp"
if (((((KIND) & (32))) == (0))) goto L_013a;
#line 2181 "regression-compile-tmp/imp22g-77.imp"
MODE = ((MODE) << (9));
#line 2181 "regression-compile-tmp/imp22g-77.imp"
L_013a:;
                                                                //   2182    opcode = opcode+mode
#line 2182 "regression-compile-tmp/imp22g-77.imp"
OPCODE = (((int)(OPCODE)) + (MODE));
                                                                //   2183    ->next
#line 2183 "regression-compile-tmp/imp22g-77.imp"
goto U_1004;
                                                                //   2184  
                                                                //   2185  s(qreg):  !Shift formats -- quick,Dx / Dy,Dx / 1,<ea> (W)
#line 2185 "regression-compile-tmp/imp22g-77.imp"
sw2_S_13:;
                                                                //   2186    opcode = opcode+16_20 %and ->sreg %if y > 0
#line 2186 "regression-compile-tmp/imp22g-77.imp"
if (((Y) <= (0))) goto L_013b;
#line 2186 "regression-compile-tmp/imp22g-77.imp"
OPCODE = (((int)(OPCODE)) + (32));
#line 2186 "regression-compile-tmp/imp22g-77.imp"
goto U_1009;
#line 2186 "regression-compile-tmp/imp22g-77.imp"
L_013b:;
                                                                //   2187    %if y = one %and size = 2 %and modex&2_111000 # 0 %start
#line 2187 "regression-compile-tmp/imp22g-77.imp"
if (((Y) != ((-2)))) goto L_013c;
#line 2187 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) != (2))) goto L_013c;
#line 2187 "regression-compile-tmp/imp22g-77.imp"
if (((((MODEX) & (56))) == (0))) goto L_013c;
                                                                //   2188      opcode = opcode!!16_290
#line 2188 "regression-compile-tmp/imp22g-77.imp"
OPCODE = ((OPCODE) ^ (656));
                                                                //   2189      ->next
#line 2189 "regression-compile-tmp/imp22g-77.imp"
goto U_1004;
                                                                //   2190       %finish
#line 2190 "regression-compile-tmp/imp22g-77.imp"
L_013c:;
                                                                //   2191  s(quick):
#line 2191 "regression-compile-tmp/imp22g-77.imp"
sw2_S_4:;
                                                                //   2192    -> err %if y >= 0
#line 2192 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < (0))) goto L_013d;
#line 2192 "regression-compile-tmp/imp22g-77.imp"
goto U_1007;
#line 2192 "regression-compile-tmp/imp22g-77.imp"
L_013d:;
                                                                //   2193    y = litval(y)
#line 2193 "regression-compile-tmp/imp22g-77.imp"
Y = LITVAL(Y);
                                                                //   2194    ->err %unless y <= 8
#line 2194 "regression-compile-tmp/imp22g-77.imp"
if (((Y) <= (8))) goto L_013e;
#line 2194 "regression-compile-tmp/imp22g-77.imp"
goto U_1007;
#line 2194 "regression-compile-tmp/imp22g-77.imp"
L_013e:;
                                                                //   2195    opcode = opcode+(y&7)<<9;  !(always aligned to bit9)
#line 2195 "regression-compile-tmp/imp22g-77.imp"
OPCODE = ((OPCODE) + ((int)(((((Y) & (7))) << (9)))));
                                                                //   2196    ->next
#line 2196 "regression-compile-tmp/imp22g-77.imp"
goto U_1004;
                                                                //   2197  
                                                                //   2198  s(tquick):  !(TRAP)
#line 2198 "regression-compile-tmp/imp22g-77.imp"
sw2_S_10:;
                                                                //   2199    -> err %unless -30 <= y %and y&1 = 0;  !{0<=}litval(y)<=15
#line 2199 "regression-compile-tmp/imp22g-77.imp"
if ((((-30)) > (Y))) goto L_013f;
#line 2199 "regression-compile-tmp/imp22g-77.imp"
if (((((Y) & (1))) == (0))) goto L_0140;
#line 2199 "regression-compile-tmp/imp22g-77.imp"
L_013f:;
#line 2199 "regression-compile-tmp/imp22g-77.imp"
goto U_1007;
#line 2199 "regression-compile-tmp/imp22g-77.imp"
L_0140:;
                                                                //   2200  s(mquick):
#line 2200 "regression-compile-tmp/imp22g-77.imp"
sw2_S_5:;
                                                                //   2201    ->err %unless y <= 0 %and y >= litmite
#line 2201 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_0141;
#line 2201 "regression-compile-tmp/imp22g-77.imp"
if (((Y) >= ((-255)))) goto L_0142;
#line 2201 "regression-compile-tmp/imp22g-77.imp"
L_0141:;
#line 2201 "regression-compile-tmp/imp22g-77.imp"
goto U_1007;
#line 2201 "regression-compile-tmp/imp22g-77.imp"
L_0142:;
                                                                //   2202    y = litval(y)
#line 2202 "regression-compile-tmp/imp22g-77.imp"
Y = LITVAL(Y);
                                                                //   2203    opcode = opcode+y&255
#line 2203 "regression-compile-tmp/imp22g-77.imp"
OPCODE = ((OPCODE) + ((int)(((Y) & (255)))));
                                                                //   2204    ->next
#line 2204 "regression-compile-tmp/imp22g-77.imp"
goto U_1004;
                                                                //   2205  s(rel):
#line 2205 "regression-compile-tmp/imp22g-77.imp"
sw2_S_11:;
                                                                //   2206    ->s(mquick) %if y <= 0 %and y >= litmite
#line 2206 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_0143;
#line 2206 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < ((-255)))) goto L_0143;
#line 2206 "regression-compile-tmp/imp22g-77.imp"
sw2_S_idx = 5; goto *sw2_S[sw2_S_idx]; 
#line 2206 "regression-compile-tmp/imp22g-77.imp"
L_0143:;
                                                                //   2207  s(longrel):
#line 2207 "regression-compile-tmp/imp22g-77.imp"
sw2_S_12:;
                                                                //   2208    ->simm %if y <= 0
#line 2208 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_0144;
#line 2208 "regression-compile-tmp/imp22g-77.imp"
goto U_100a;
#line 2208 "regression-compile-tmp/imp22g-77.imp"
L_0144:;
                                                                //   2209    dy_flags = dy_flags!rflag
#line 2209 "regression-compile-tmp/imp22g-77.imp"
DY->FLAGS = ((DY->FLAGS) | (32));
                                                                //   2210    extword = dy_val
#line 2210 "regression-compile-tmp/imp22g-77.imp"
EXTWORD = DY->VAL;
                                                                //   2211    f = 0
#line 2211 "regression-compile-tmp/imp22g-77.imp"
F = 0;
                                                                //   2212    pcrel(longrel-kind&31)
#line 2212 "regression-compile-tmp/imp22g-77.imp"
PCREL(((12) - ((int)(((KIND) & (31))))));
                                                                //   2213    store(extword,f)
#line 2213 "regression-compile-tmp/imp22g-77.imp"
STORE(EXTWORD, F);
                                                                //   2214    ->next
#line 2214 "regression-compile-tmp/imp22g-77.imp"
goto U_1004;
                                                                //   2215  
                                                                //   2216  s(ireg):  !immediate or reg
#line 2216 "regression-compile-tmp/imp22g-77.imp"
sw2_S_3:;
                                                                //   2217    ->sreg %if y > 0
#line 2217 "regression-compile-tmp/imp22g-77.imp"
if (((Y) <= (0))) goto L_0145;
#line 2217 "regression-compile-tmp/imp22g-77.imp"
goto U_1009;
#line 2217 "regression-compile-tmp/imp22g-77.imp"
L_0145:;
                                                                //   2218    opcode = opcode!!16_900
#line 2218 "regression-compile-tmp/imp22g-77.imp"
OPCODE = ((OPCODE) ^ (2304));
                                                                //   2219  s(imm):
#line 2219 "regression-compile-tmp/imp22g-77.imp"
sw2_S_9:;
                                                                //   2220    ->err %if y > 0
#line 2220 "regression-compile-tmp/imp22g-77.imp"
if (((Y) <= (0))) goto L_0146;
#line 2220 "regression-compile-tmp/imp22g-77.imp"
goto U_1007;
#line 2220 "regression-compile-tmp/imp22g-77.imp"
L_0146:;
                                                                //   2221  simm:
#line 2221 "regression-compile-tmp/imp22g-77.imp"
U_100a:;
                                                                //   2222    y = litval(y)
#line 2222 "regression-compile-tmp/imp22g-77.imp"
Y = LITVAL(Y);
                                                                //   2223    store(y>>16,0) %if size = 4
#line 2223 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) != (4))) goto L_0147;
#line 2223 "regression-compile-tmp/imp22g-77.imp"
STORE((int)((((unsigned int)(Y)) >> (16))), 0);
#line 2223 "regression-compile-tmp/imp22g-77.imp"
L_0147:;
                                                                //   2224  put:
#line 2224 "regression-compile-tmp/imp22g-77.imp"
U_100c:;
                                                                //   2225    store(y,0)
#line 2225 "regression-compile-tmp/imp22g-77.imp"
STORE(Y, 0);
                                                                //   2226    ->next
#line 2226 "regression-compile-tmp/imp22g-77.imp"
goto U_1004;
                                                                //   2227  s(ximm):  !MOVEM (IMM,EA or EA,IMM)
#line 2227 "regression-compile-tmp/imp22g-77.imp"
sw2_S_17:;
                                                                //   2228    %if y > 0 %start;  !EA,IMM
#line 2228 "regression-compile-tmp/imp22g-77.imp"
if (((Y) <= (0))) goto L_0148;
                                                                //   2229      opcode = opcode!!16_0400
#line 2229 "regression-compile-tmp/imp22g-77.imp"
OPCODE = ((OPCODE) ^ (1024));
                                                                //   2230      i = x;  x = y;  y = i
#line 2230 "regression-compile-tmp/imp22g-77.imp"
I = X;
#line 2230 "regression-compile-tmp/imp22g-77.imp"
X = Y;
#line 2230 "regression-compile-tmp/imp22g-77.imp"
Y = I;
                                                                //   2231      dx == dy;  modex = mode
#line 2231 "regression-compile-tmp/imp22g-77.imp"
DX = DY;
#line 2231 "regression-compile-tmp/imp22g-77.imp"
MODEX = MODE;
                                                                //   2232    %finish
#line 2232 "regression-compile-tmp/imp22g-77.imp"
L_0148:;
                                                                //   2233    y = litval(y)
#line 2233 "regression-compile-tmp/imp22g-77.imp"
Y = LITVAL(Y);
                                                                //   2234    %if prea0 <= x <= prea7 %start;  !-(SP)
#line 2234 "regression-compile-tmp/imp22g-77.imp"
if ((((33) > (X))) || (((X) > (40)))) goto L_0149;
                                                                //   2235      i = 0;  !Reverse bits
#line 2235 "regression-compile-tmp/imp22g-77.imp"
I = 0;
                                                                //   2236      i = i<<1+y&1 %and y = y>>1 %for extword = 1,1,16
#line 2236 "regression-compile-tmp/imp22g-77.imp"
EXTWORD = 0;
if ((((16)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle EXTWORD = 1, 1, 16");
L_014a:;
if (EXTWORD == 16) goto L_014b;
EXTWORD += 1;
#line 2236 "regression-compile-tmp/imp22g-77.imp"
I = (((((I) << (1)))) + (((Y) & (1))));
#line 2236 "regression-compile-tmp/imp22g-77.imp"
Y = (int)((((unsigned int)(Y)) >> (1)));
#line 2236 "regression-compile-tmp/imp22g-77.imp"
goto L_014a;
#line 2236 "regression-compile-tmp/imp22g-77.imp"
L_014b:;
                                                                //   2237      y = i
#line 2237 "regression-compile-tmp/imp22g-77.imp"
Y = I;
                                                                //   2238    %finish
#line 2238 "regression-compile-tmp/imp22g-77.imp"
L_0149:;
                                                                //   2239    ->put
#line 2239 "regression-compile-tmp/imp22g-77.imp"
goto U_100c;
                                                                //   2240  s(data):
#line 2240 "regression-compile-tmp/imp22g-77.imp"
sw2_S_18:;
                                                                //   2241    -> err %if y <= 0
#line 2241 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_014d;
#line 2241 "regression-compile-tmp/imp22g-77.imp"
goto U_1007;
#line 2241 "regression-compile-tmp/imp22g-77.imp"
L_014d:;
                                                                //   2242    -> err %if mode # absmode
#line 2242 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) == (56))) goto L_014e;
#line 2242 "regression-compile-tmp/imp22g-77.imp"
goto U_1007;
#line 2242 "regression-compile-tmp/imp22g-77.imp"
L_014e:;
                                                                //   2243    opcode = dy_val
#line 2243 "regression-compile-tmp/imp22g-77.imp"
OPCODE = DY->VAL;
                                                                //   2244    ->next
#line 2244 "regression-compile-tmp/imp22g-77.imp"
goto U_1004;
                                                                //   2245  err:
#line 2245 "regression-compile-tmp/imp22g-77.imp"
U_1007:;
                                                                //   2246    fault(moperr)
#line 2246 "regression-compile-tmp/imp22g-77.imp"
FAULT(26);
                                                                //   2247    ->next
#line 2247 "regression-compile-tmp/imp22g-77.imp"
goto U_1004;
                                                                //   2248  %end;  !plant
#line 2248 "regression-compile-tmp/imp22g-77.imp"
return;
} // End of block PLANT at level 2
                                                                //   2249  
                                                                //   2250  %routine PLANTLIT(%integer op,v,x)
#line 2250 "regression-compile-tmp/imp22g-77.imp"
void PLANTLIT( int OP, int V, int X )
#line 2250 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2251    %if v >= 0 %start
#line 2251 "regression-compile-tmp/imp22g-77.imp"
if (((V) < (0))) goto L_014f;
                                                                //   2252      %if v > smallmax %then litstore(litmax) = v %and v = litmax %c
#line 2252 "regression-compile-tmp/imp22g-77.imp"
if (((V) <= (1023))) goto L_0150;
#line 2252 "regression-compile-tmp/imp22g-77.imp"
LITSTORE[199] = V;
#line 2252 "regression-compile-tmp/imp22g-77.imp"
V = (-2048);
#line 2252 "regression-compile-tmp/imp22g-77.imp"
goto L_0151;
#line 2252 "regression-compile-tmp/imp22g-77.imp"
L_0150:;
#line 2252 "regression-compile-tmp/imp22g-77.imp"
V = (-(((V) << (1))));
#line 2252 "regression-compile-tmp/imp22g-77.imp"
L_0151:;
                                                                //   2253      %else v = -(v<<1)
                                                                //   2254    %else
#line 2254 "regression-compile-tmp/imp22g-77.imp"
goto L_0152;
#line 2254 "regression-compile-tmp/imp22g-77.imp"
L_014f:;
                                                                //   2255      %if v < smallmin %then litstore(litmax) = v %and v = litmax %c
#line 2255 "regression-compile-tmp/imp22g-77.imp"
if (((V) >= ((-1024)))) goto L_0153;
#line 2255 "regression-compile-tmp/imp22g-77.imp"
LITSTORE[199] = V;
#line 2255 "regression-compile-tmp/imp22g-77.imp"
V = (-2048);
#line 2255 "regression-compile-tmp/imp22g-77.imp"
goto L_0154;
#line 2255 "regression-compile-tmp/imp22g-77.imp"
L_0153:;
#line 2255 "regression-compile-tmp/imp22g-77.imp"
V = (((int)(((V) << (1)))) + (1));
#line 2255 "regression-compile-tmp/imp22g-77.imp"
L_0154:;
                                                                //   2256      %else v = v<<1+1
                                                                //   2257    %finish
#line 2257 "regression-compile-tmp/imp22g-77.imp"
L_0152:;
                                                                //   2258    plant(op,v,x)
#line 2258 "regression-compile-tmp/imp22g-77.imp"
PLANT(OP, V, X);
                                                                //   2259  %end
#line 2259 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PLANTLIT at level 2
                                                                //   2260  
                                                                //   2261  %routine PLANTLIT2(%integer op,y,v)
#line 2261 "regression-compile-tmp/imp22g-77.imp"
void PLANTLIT2( int OP, int Y, int V )
#line 2261 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2262    %if v >= 0 %start
#line 2262 "regression-compile-tmp/imp22g-77.imp"
if (((V) < (0))) goto L_0155;
                                                                //   2263      %if v > smallmax %then litstore(litmax) = v %and v = litmax %c
#line 2263 "regression-compile-tmp/imp22g-77.imp"
if (((V) <= (1023))) goto L_0156;
#line 2263 "regression-compile-tmp/imp22g-77.imp"
LITSTORE[199] = V;
#line 2263 "regression-compile-tmp/imp22g-77.imp"
V = (-2048);
#line 2263 "regression-compile-tmp/imp22g-77.imp"
goto L_0157;
#line 2263 "regression-compile-tmp/imp22g-77.imp"
L_0156:;
#line 2263 "regression-compile-tmp/imp22g-77.imp"
V = (-(((V) << (1))));
#line 2263 "regression-compile-tmp/imp22g-77.imp"
L_0157:;
                                                                //   2264      %else v = -(v<<1)
                                                                //   2265    %else
#line 2265 "regression-compile-tmp/imp22g-77.imp"
goto L_0158;
#line 2265 "regression-compile-tmp/imp22g-77.imp"
L_0155:;
                                                                //   2266      %if v < smallmin %then litstore(litmax) = v %and v = litmax %c
#line 2266 "regression-compile-tmp/imp22g-77.imp"
if (((V) >= ((-1024)))) goto L_0159;
#line 2266 "regression-compile-tmp/imp22g-77.imp"
LITSTORE[199] = V;
#line 2266 "regression-compile-tmp/imp22g-77.imp"
V = (-2048);
#line 2266 "regression-compile-tmp/imp22g-77.imp"
goto L_015a;
#line 2266 "regression-compile-tmp/imp22g-77.imp"
L_0159:;
#line 2266 "regression-compile-tmp/imp22g-77.imp"
V = (((int)(((V) << (1)))) + (1));
#line 2266 "regression-compile-tmp/imp22g-77.imp"
L_015a:;
                                                                //   2267      %else v = v<<1+1
                                                                //   2268    %finish
#line 2268 "regression-compile-tmp/imp22g-77.imp"
L_0158:;
                                                                //   2269    plant(op,y,v)
#line 2269 "regression-compile-tmp/imp22g-77.imp"
PLANT(OP, Y, V);
                                                                //   2270  %end
#line 2270 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PLANTLIT2 at level 2
                                                                //   2271  
                                                                //   2272  %routine ALIGN(%integername AD, %integer size)
#line 2272 "regression-compile-tmp/imp22g-77.imp"
void ALIGN( int /*name*/*AD, int SIZE )
#line 2272 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2273  !Impose alignment requirements on address AD for
                                                                //   2274  ! operand of length SIZE
                                                                //   2275  !provisional basis for bit addressing
                                                                //   2276  ! -- multiples of 16 on Word boundary
                                                                //   2277  ! -- multiples of 8 on Byte boundary
                                                                //   2278  ! -- other < 32 within one Longword
                                                                //   2279  !%constinteger BITMASK=16_E0000000
                                                                //   2280  !  %if size&7 = 0 %start
                                                                //   2281  !    ad = (ad&(\bitmask))+1 %if ad&bitmask # 0;  !ensure on byte boundary
                                                                //   2282  !    %return %if size&8 # 0
                                                                //   2283  !  %else
                                                                //   2284  !    %return %if size < 16
                                                                //   2285  !    %return %if ad>>29+(ad&1)<<3+size <= 32
                                                                //   2286  !    ad = (ad&(\bitmask))+1 %if ad&bitmask # 0
                                                                //   2287  !  %finish
                                                                //   2288    ad = ad+1 %if size # 1 %and ad&1 # 0
#line 2288 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) == (1))) goto L_015b;
#line 2288 "regression-compile-tmp/imp22g-77.imp"
if (((((*AD) & (1))) == (0))) goto L_015b;
#line 2288 "regression-compile-tmp/imp22g-77.imp"
*AD = ((*(int *)(AD)) + (1));
#line 2288 "regression-compile-tmp/imp22g-77.imp"
L_015b:;
                                                                //   2289  %end
#line 2289 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ALIGN at level 2
                                                                //   2290  
                                                                //   2291  %routine ADDIMM(%integer bytes,dest)
#line 2291 "regression-compile-tmp/imp22g-77.imp"
void ADDIMM( int BYTES, int DEST )
#line 2291 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2292    %if bytes <= 0 %start
#line 2292 "regression-compile-tmp/imp22g-77.imp"
if (((BYTES) > (0))) goto L_015c;
                                                                //   2293      %return %if bytes = 0
#line 2293 "regression-compile-tmp/imp22g-77.imp"
if (((BYTES) != (0))) goto L_015d;
#line 2293 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2293 "regression-compile-tmp/imp22g-77.imp"
L_015d:;
                                                                //   2294      %if bytes >= -8 %start
#line 2294 "regression-compile-tmp/imp22g-77.imp"
if (((BYTES) < ((-8)))) goto L_015e;
                                                                //   2295        plantlit(sub,-bytes,dest)
#line 2295 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(3, (-(BYTES)), DEST);
                                                                //   2296        %return
#line 2296 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2297      %finish
#line 2297 "regression-compile-tmp/imp22g-77.imp"
L_015e:;
                                                                //   2298    %finish %else %if bytes <= 8 %start
#line 2298 "regression-compile-tmp/imp22g-77.imp"
goto L_015f;
#line 2298 "regression-compile-tmp/imp22g-77.imp"
L_015c:;
#line 2298 "regression-compile-tmp/imp22g-77.imp"
if (((BYTES) > (8))) goto L_0160;
                                                                //   2299      plantlit(add,bytes,dest)
#line 2299 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(2, BYTES, DEST);
                                                                //   2300      %return
#line 2300 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2301    %finish
#line 2301 "regression-compile-tmp/imp22g-77.imp"
L_0160:;
#line 2301 "regression-compile-tmp/imp22g-77.imp"
L_015f:;
                                                                //   2302    %if a0 <= dest <= a7 %and is short(bytes)=TRUE %start
#line 2302 "regression-compile-tmp/imp22g-77.imp"
if ((((9) > (DEST))) || (((DEST) > (16)))) goto L_0161;
#line 2302 "regression-compile-tmp/imp22g-77.imp"
if (((ISSHORT(BYTES)) != (1))) goto L_0161;
                                                                //   2303      plant(lea,tempd(dest,bytes),dest)
#line 2303 "regression-compile-tmp/imp22g-77.imp"
PLANT(78, TEMPD(DEST, BYTES), DEST);
                                                                //   2304      %return
#line 2304 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2305    %finish
#line 2305 "regression-compile-tmp/imp22g-77.imp"
L_0161:;
                                                                //   2306    plantlit(add,bytes,dest)
#line 2306 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(2, BYTES, DEST);
                                                                //   2307  %end
#line 2307 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ADDIMM at level 2
                                                                //   2308  
                                                                //   2309  %integer%fn FREE REG(%integer rset)
#line 2309 "regression-compile-tmp/imp22g-77.imp"
int FREEREG( int RSET )
#line 2309 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2310  %integer r,r1
#line 2310 "regression-compile-tmp/imp22g-77.imp"
int R;
#line 2310 "regression-compile-tmp/imp22g-77.imp"
int R1;
                                                                //   2311    r = d0;  rset = rset&free
#line 2311 "regression-compile-tmp/imp22g-77.imp"
R = 1;
#line 2311 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & (FREE));
                                                                //   2312    %if rset = 0 %then fault(plexerr) %else %start
#line 2312 "regression-compile-tmp/imp22g-77.imp"
if (((RSET) != (0))) goto L_0162;
#line 2312 "regression-compile-tmp/imp22g-77.imp"
FAULT(2);
#line 2312 "regression-compile-tmp/imp22g-77.imp"
goto L_0163;
#line 2312 "regression-compile-tmp/imp22g-77.imp"
L_0162:;
                                                                //   2313      r = r+1 %and rset = rset>>1 %while rset&1 = 0
#line 2313 "regression-compile-tmp/imp22g-77.imp"
L_0164:;
#line 2313 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & (1))) != (0))) goto L_0165;
#line 2313 "regression-compile-tmp/imp22g-77.imp"
R = (((int)(R)) + (1));
#line 2313 "regression-compile-tmp/imp22g-77.imp"
RSET = (int)((((unsigned int)(RSET)) >> (1)));
#line 2313 "regression-compile-tmp/imp22g-77.imp"
goto L_0164;
#line 2313 "regression-compile-tmp/imp22g-77.imp"
L_0165:;
                                                                //   2314      r1 = r
#line 2314 "regression-compile-tmp/imp22g-77.imp"
R1 = R;
                                                                //   2315      %while c_reg_content(r) # undef %cycle
#line 2315 "regression-compile-tmp/imp22g-77.imp"
L_0167:;
#line 2315 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CONTENT[(((int)(R)) - (1))]) == (16))) goto L_0168;
                                                                //   2316        r = r+1;  rset = rset>>1
#line 2316 "regression-compile-tmp/imp22g-77.imp"
R = (((int)(R)) + (1));
#line 2316 "regression-compile-tmp/imp22g-77.imp"
RSET = (int)((((unsigned int)(RSET)) >> (1)));
                                                                //   2317        r = r1 %and %exit %if rset = 0
#line 2317 "regression-compile-tmp/imp22g-77.imp"
if (((RSET) != (0))) goto L_016a;
#line 2317 "regression-compile-tmp/imp22g-77.imp"
R = R1;
#line 2317 "regression-compile-tmp/imp22g-77.imp"
goto L_0168;
#line 2317 "regression-compile-tmp/imp22g-77.imp"
L_016a:;
                                                                //   2318        r = r+1 %and rset = rset>>1 %while rset&1 = 0
#line 2318 "regression-compile-tmp/imp22g-77.imp"
L_016b:;
#line 2318 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & (1))) != (0))) goto L_016c;
#line 2318 "regression-compile-tmp/imp22g-77.imp"
R = (((int)(R)) + (1));
#line 2318 "regression-compile-tmp/imp22g-77.imp"
RSET = (int)((((unsigned int)(RSET)) >> (1)));
#line 2318 "regression-compile-tmp/imp22g-77.imp"
goto L_016b;
#line 2318 "regression-compile-tmp/imp22g-77.imp"
L_016c:;
                                                                //   2319      %repeat
#line 2319 "regression-compile-tmp/imp22g-77.imp"
goto L_0167;
#line 2319 "regression-compile-tmp/imp22g-77.imp"
L_0168:;
                                                                //   2320      free = free-d0b<<(r-d0)
#line 2320 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) - ((int)(((1) << ((((int)(R)) - (1)))))));
                                                                //   2321    %finish
#line 2321 "regression-compile-tmp/imp22g-77.imp"
L_0163:;
                                                                //   2322    %result = r
#line 2322 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return R;
                                                                //   2323  %end
#line 2323 "regression-compile-tmp/imp22g-77.imp"
} // End of block FREEREG at level 2
                                                                //   2324  
                                                                //   2325  %routine MOVE BLOCK(%integer source,dest,bytes)
#line 2325 "regression-compile-tmp/imp22g-77.imp"
void MOVEBLOCK( int SOURCE, int DEST, int BYTES )
#line 2325 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2326  !Generate code to move a fixed number of bytes
                                                                //   2327  ! from SOURCE (0,reg,pre,post) to DEST (pre,post)
                                                                //   2328  ! -- source & dest addresses both even if BYTES even
                                                                //   2329  %integer op,f,r,pc1
#line 2329 "regression-compile-tmp/imp22g-77.imp"
int OP;
#line 2329 "regression-compile-tmp/imp22g-77.imp"
int F;
#line 2329 "regression-compile-tmp/imp22g-77.imp"
int R;
#line 2329 "regression-compile-tmp/imp22g-77.imp"
int PC1;
                                                                //   2330    op = move;  op = clr %if source = 0
#line 2330 "regression-compile-tmp/imp22g-77.imp"
OP = 1;
#line 2330 "regression-compile-tmp/imp22g-77.imp"
if (((SOURCE) != (0))) goto L_016e;
#line 2330 "regression-compile-tmp/imp22g-77.imp"
OP = 52;
#line 2330 "regression-compile-tmp/imp22g-77.imp"
L_016e:;
                                                                //   2331    %if bytes <= 16 %and bytes&1 = 0 %start
#line 2331 "regression-compile-tmp/imp22g-77.imp"
if (((BYTES) > (16))) goto L_016f;
#line 2331 "regression-compile-tmp/imp22g-77.imp"
if (((((BYTES) & (1))) != (0))) goto L_016f;
                                                                //   2332      plant(op,source,dest) %and bytes = bytes-4 %while bytes >= 4
#line 2332 "regression-compile-tmp/imp22g-77.imp"
L_0170:;
#line 2332 "regression-compile-tmp/imp22g-77.imp"
if (((BYTES) < (4))) goto L_0171;
#line 2332 "regression-compile-tmp/imp22g-77.imp"
PLANT(OP, SOURCE, DEST);
#line 2332 "regression-compile-tmp/imp22g-77.imp"
BYTES = (((int)(BYTES)) - (4));
#line 2332 "regression-compile-tmp/imp22g-77.imp"
goto L_0170;
#line 2332 "regression-compile-tmp/imp22g-77.imp"
L_0171:;
                                                                //   2333      plant(op+2<<8,source,dest) %if bytes >= 2
#line 2333 "regression-compile-tmp/imp22g-77.imp"
if (((BYTES) < (2))) goto L_0173;
#line 2333 "regression-compile-tmp/imp22g-77.imp"
PLANT(((OP) + ((int)(((2) << (8))))), SOURCE, DEST);
#line 2333 "regression-compile-tmp/imp22g-77.imp"
L_0173:;
                                                                //   2334    %else;  !use loop
#line 2334 "regression-compile-tmp/imp22g-77.imp"
goto L_0174;
#line 2334 "regression-compile-tmp/imp22g-77.imp"
L_016f:;
                                                                //   2335      op = op+1<<8
#line 2335 "regression-compile-tmp/imp22g-77.imp"
OP = ((OP) + ((int)(((1) << (8)))));
                                                                //   2336      %if bytes&1 = 0 %start
#line 2336 "regression-compile-tmp/imp22g-77.imp"
if (((((BYTES) & (1))) != (0))) goto L_0175;
                                                                //   2337        bytes = bytes>>1;  op = op+1<<8;  !.B -> .W
#line 2337 "regression-compile-tmp/imp22g-77.imp"
BYTES = (int)((((unsigned int)(BYTES)) >> (1)));
#line 2337 "regression-compile-tmp/imp22g-77.imp"
OP = ((OP) + ((int)(((1) << (8)))));
                                                                //   2338        %if bytes&1 = 0 %start
#line 2338 "regression-compile-tmp/imp22g-77.imp"
if (((((BYTES) & (1))) != (0))) goto L_0176;
                                                                //   2339          bytes = bytes>>1;  op = op+2<<8;  !.W -> .L
#line 2339 "regression-compile-tmp/imp22g-77.imp"
BYTES = (int)((((unsigned int)(BYTES)) >> (1)));
#line 2339 "regression-compile-tmp/imp22g-77.imp"
OP = ((OP) + ((int)(((2) << (8)))));
                                                                //   2340        %finish
#line 2340 "regression-compile-tmp/imp22g-77.imp"
L_0176:;
                                                                //   2341      %finish
#line 2341 "regression-compile-tmp/imp22g-77.imp"
L_0175:;
                                                                //   2342      f = free
#line 2342 "regression-compile-tmp/imp22g-77.imp"
F = FREE;
                                                                //   2343      %if bytes <= 32768 %and free&anydreg # 0 %start
#line 2343 "regression-compile-tmp/imp22g-77.imp"
if (((BYTES) > (32768))) goto L_0177;
#line 2343 "regression-compile-tmp/imp22g-77.imp"
if (((((FREE) & (239))) == (0))) goto L_0177;
                                                                //   2344        r = free reg(anydreg)
#line 2344 "regression-compile-tmp/imp22g-77.imp"
R = FREEREG(239);
                                                                //   2345        plantlit(move,bytes-1,r)
#line 2345 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(1, (((int)(BYTES)) - (1)), R);
                                                                //   2346        pc1 = pc
#line 2346 "regression-compile-tmp/imp22g-77.imp"
PC1 = PC;
                                                                //   2347        plant(op,source,dest)
#line 2347 "regression-compile-tmp/imp22g-77.imp"
PLANT(OP, SOURCE, DEST);
                                                                //   2348        plantlit2(dbra,r,(pc1-pc-1)<<1)
#line 2348 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT2(81, R, (((((int)((((int)(PC1)) - (PC)))) - (1))) << (1)));
                                                                //   2349        bytes = undef
#line 2349 "regression-compile-tmp/imp22g-77.imp"
BYTES = 16;
                                                                //   2350      %else
#line 2350 "regression-compile-tmp/imp22g-77.imp"
goto L_0178;
#line 2350 "regression-compile-tmp/imp22g-77.imp"
L_0177:;
                                                                //   2351        r = free reg(anydreg!bregb)
#line 2351 "regression-compile-tmp/imp22g-77.imp"
R = FREEREG(((239) | (16)));
                                                                //   2352        plantlit(move,bytes,r)
#line 2352 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(1, BYTES, R);
                                                                //   2353        pc1 = pc
#line 2353 "regression-compile-tmp/imp22g-77.imp"
PC1 = PC;
                                                                //   2354        plant(op,source,dest)
#line 2354 "regression-compile-tmp/imp22g-77.imp"
PLANT(OP, SOURCE, DEST);
                                                                //   2355        plant(sub,one,r)
#line 2355 "regression-compile-tmp/imp22g-77.imp"
PLANT(3, (-2), R);
                                                                //   2356        plantlit2(bne,0,(pc1-pc-1)<<1)
#line 2356 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT2(22, 0, (((((int)((((int)(PC1)) - (PC)))) - (1))) << (1)));
                                                                //   2357        bytes = 0
#line 2357 "regression-compile-tmp/imp22g-77.imp"
BYTES = 0;
                                                                //   2358      %finish
#line 2358 "regression-compile-tmp/imp22g-77.imp"
L_0178:;
                                                                //   2359      c_reg_content(r) = bytes;  free = f
#line 2359 "regression-compile-tmp/imp22g-77.imp"
C.REG.CONTENT[(((int)(R)) - (1))] = BYTES;
#line 2359 "regression-compile-tmp/imp22g-77.imp"
FREE = F;
                                                                //   2360    %finish
#line 2360 "regression-compile-tmp/imp22g-77.imp"
L_0174:;
                                                                //   2361  %end
#line 2361 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MOVEBLOCK at level 2
                                                                //   2362  
                                                                //   2363  %routine UPDATE SP
#line 2363 "regression-compile-tmp/imp22g-77.imp"
void UPDATESP( void )
#line 2363 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2364    %return %if c_val = 0
#line 2364 "regression-compile-tmp/imp22g-77.imp"
if (((C.VAL) != (0))) goto L_0179;
#line 2364 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2364 "regression-compile-tmp/imp22g-77.imp"
L_0179:;
                                                                //   2365    %if c_val < 0 %start
#line 2365 "regression-compile-tmp/imp22g-77.imp"
if (((C.VAL) >= (0))) goto L_017a;
                                                                //   2366      addimm(-c_val,a7);  c_sp = c_sp-c_val
#line 2366 "regression-compile-tmp/imp22g-77.imp"
ADDIMM((-(C.VAL)), 16);
#line 2366 "regression-compile-tmp/imp22g-77.imp"
C.SP = (((int)(C.SP)) - (C.VAL));
                                                                //   2367    %else
#line 2367 "regression-compile-tmp/imp22g-77.imp"
goto L_017b;
#line 2367 "regression-compile-tmp/imp22g-77.imp"
L_017a:;
                                                                //   2368      %if control&assmask = 0 %then addimm(-c_val,a7) {no unass check} %c
#line 2368 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (251658240))) != (0))) goto L_017c;
#line 2368 "regression-compile-tmp/imp22g-77.imp"
ADDIMM((-(C.VAL)), 16);
#line 2368 "regression-compile-tmp/imp22g-77.imp"
goto L_017d;
#line 2368 "regression-compile-tmp/imp22g-77.imp"
L_017c:;
#line 2368 "regression-compile-tmp/imp22g-77.imp"
MOVEBLOCK(8, 40, C.VAL);
#line 2368 "regression-compile-tmp/imp22g-77.imp"
L_017d:;
                                                                //   2369      %else move block(d7,prea7,c_val)
                                                                //   2370      extend stack(c_val)
#line 2370 "regression-compile-tmp/imp22g-77.imp"
EXTENDSTACK(C.VAL);
                                                                //   2371    %finish
#line 2371 "regression-compile-tmp/imp22g-77.imp"
L_017b:;
                                                                //   2372    c_val = 0
#line 2372 "regression-compile-tmp/imp22g-77.imp"
C.VAL = 0;
                                                                //   2373  %end
#line 2373 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block UPDATESP at level 2
                                                                //   2374  
                                                                //   2375  %routine GET BOUNDS(%integer t,%integername lo,hi)
#line 2375 "regression-compile-tmp/imp22g-77.imp"
void GETBOUNDS( int T, int /*name*/*LO, int /*name*/*HI )
#line 2375 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2376  ![Note: sets HI after LO -- see dummy params in VALOK] 
                                                                //   2377    %if dict(t)_type = t # inttype %start;  !basetype
#line 2377 "regression-compile-tmp/imp22g-77.imp"
if ((((DICT[T].TYPE) != (T))) || (((T) == (43)))) goto L_017e;
                                                                //   2378      lo = 0;  hi = dict(t)_size
#line 2378 "regression-compile-tmp/imp22g-77.imp"
*LO = 0;
#line 2378 "regression-compile-tmp/imp22g-77.imp"
*HI = DICT[T].SIZE;
                                                                //   2379    %else
#line 2379 "regression-compile-tmp/imp22g-77.imp"
goto L_017f;
#line 2379 "regression-compile-tmp/imp22g-77.imp"
L_017e:;
                                                                //   2380      %if dict(t+1)_mode # litmode %then lo = minint %c
#line 2380 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(T)) + (1))].MODE) == (60))) goto L_0180;
#line 2380 "regression-compile-tmp/imp22g-77.imp"
*LO = (-2147483648);
#line 2380 "regression-compile-tmp/imp22g-77.imp"
goto L_0181;
#line 2380 "regression-compile-tmp/imp22g-77.imp"
L_0180:;
#line 2380 "regression-compile-tmp/imp22g-77.imp"
*LO = DICT[(((int)(T)) + (1))].VAL;
#line 2380 "regression-compile-tmp/imp22g-77.imp"
L_0181:;
                                                                //   2381      %else lo = dict(t+1)_val
                                                                //   2382      %if dict(t+2)_mode # litmode %then hi = maxint %c
#line 2382 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(T)) + (2))].MODE) == (60))) goto L_0182;
#line 2382 "regression-compile-tmp/imp22g-77.imp"
*HI = 2147483647;
#line 2382 "regression-compile-tmp/imp22g-77.imp"
goto L_0183;
#line 2382 "regression-compile-tmp/imp22g-77.imp"
L_0182:;
#line 2382 "regression-compile-tmp/imp22g-77.imp"
*HI = DICT[(((int)(T)) + (2))].VAL;
#line 2382 "regression-compile-tmp/imp22g-77.imp"
L_0183:;
                                                                //   2383      %else hi = dict(t+2)_val
                                                                //   2384    %finish
#line 2384 "regression-compile-tmp/imp22g-77.imp"
L_017f:;
                                                                //   2385  %end
#line 2385 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETBOUNDS at level 2
                                                                //   2386  
                                                                //   2387  %integer%fn SIZE(%integer t)
#line 2387 "regression-compile-tmp/imp22g-77.imp"
int SIZE( int T )
#line 2387 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2388  !Storage size for given object type in bytes
                                                                //   2389  ! > 0 for operand passable in register
                                                                //   2390  ! < 0 otherwise
                                                                //   2391  %integer s,ss,lo,hi
#line 2391 "regression-compile-tmp/imp22g-77.imp"
int S;
#line 2391 "regression-compile-tmp/imp22g-77.imp"
int SS;
#line 2391 "regression-compile-tmp/imp22g-77.imp"
int LO;
#line 2391 "regression-compile-tmp/imp22g-77.imp"
int HI;
                                                                //   2392  %record(identinfo)%name tp
#line 2392 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*TP;
                                                                //   2393    tp == dict(t)
#line 2393 "regression-compile-tmp/imp22g-77.imp"
TP = &DICT[T];
                                                                //   2394    %if tp_flags&nonord = 0 %start
#line 2394 "regression-compile-tmp/imp22g-77.imp"
if (((((TP->FLAGS) & (12))) != (0))) goto L_0184;
                                                                //   2395      %result = tp_size %if tp_type # t;  !subrange
#line 2395 "regression-compile-tmp/imp22g-77.imp"
if (((TP->TYPE) == (T))) goto L_0185;
#line 2395 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return TP->SIZE;
#line 2395 "regression-compile-tmp/imp22g-77.imp"
L_0185:;
                                                                //   2396      %result = 4 %if tp_type = inttype
#line 2396 "regression-compile-tmp/imp22g-77.imp"
if (((TP->TYPE) != (43))) goto L_0186;
#line 2396 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 4;
#line 2396 "regression-compile-tmp/imp22g-77.imp"
L_0186:;
                                                                //   2397      %result = 1 %if tp_size <= 255
#line 2397 "regression-compile-tmp/imp22g-77.imp"
if (((TP->SIZE) > (255))) goto L_0187;
#line 2397 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 2397 "regression-compile-tmp/imp22g-77.imp"
L_0187:;
                                                                //   2398      %result = 2
#line 2398 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 2;
                                                                //   2399    %finish
#line 2399 "regression-compile-tmp/imp22g-77.imp"
L_0184:;
                                                                //   2400    %result = tp_val %if tp_flags&cat = recy
#line 2400 "regression-compile-tmp/imp22g-77.imp"
if (((((TP->FLAGS) & (15))) != (12))) goto L_0188;
#line 2400 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return TP->VAL;
#line 2400 "regression-compile-tmp/imp22g-77.imp"
L_0188:;
                                                                //   2401    %result = tp_size %if tp_flags&cat # arry
#line 2401 "regression-compile-tmp/imp22g-77.imp"
if (((((TP->FLAGS) & (15))) == (9))) goto L_0189;
#line 2401 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return TP->SIZE;
#line 2401 "regression-compile-tmp/imp22g-77.imp"
L_0189:;
                                                                //   2402    %result = 0 %if tp_mode >= framemode;  !dynamic bounds
#line 2402 "regression-compile-tmp/imp22g-77.imp"
if (((TP->MODE) < (168))) goto L_018a;
#line 2402 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2402 "regression-compile-tmp/imp22g-77.imp"
L_018a:;
                                                                //   2403    s = 4;  s = size(tp_type) %if tp_flags >= 0
#line 2403 "regression-compile-tmp/imp22g-77.imp"
S = 4;
#line 2403 "regression-compile-tmp/imp22g-77.imp"
if (((TP->FLAGS) < (0))) goto L_018b;
#line 2403 "regression-compile-tmp/imp22g-77.imp"
S = SIZE(TP->TYPE);
#line 2403 "regression-compile-tmp/imp22g-77.imp"
L_018b:;
                                                                //   2404    get bounds(tp_xtype,lo,hi)
#line 2404 "regression-compile-tmp/imp22g-77.imp"
GETBOUNDS(TP->XTYPE, &LO, &HI);
                                                                //   2405    %result = 0 %if lo = minint %or hi = maxint
#line 2405 "regression-compile-tmp/imp22g-77.imp"
if (((LO) == ((-2147483648)))) goto L_018c;
#line 2405 "regression-compile-tmp/imp22g-77.imp"
if (((HI) != (2147483647))) goto L_018d;
#line 2405 "regression-compile-tmp/imp22g-77.imp"
L_018c:;
#line 2405 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2405 "regression-compile-tmp/imp22g-77.imp"
L_018d:;
                                                                //   2406    ss = (hi-lo+1)*s
#line 2406 "regression-compile-tmp/imp22g-77.imp"
SS = (((int)((((int)((((int)(HI)) - (LO)))) + (1)))) * (S));
                                                                //   2407    %result = ss %if ss <= 0
#line 2407 "regression-compile-tmp/imp22g-77.imp"
if (((SS) > (0))) goto L_018e;
#line 2407 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return SS;
#line 2407 "regression-compile-tmp/imp22g-77.imp"
L_018e:;
                                                                //   2408    %if s = 1 %start;  !byte element size (not nec aligned)
#line 2408 "regression-compile-tmp/imp22g-77.imp"
if (((S) != (1))) goto L_018f;
                                                                //   2409      %result = ss %if ss = 1
#line 2409 "regression-compile-tmp/imp22g-77.imp"
if (((SS) != (1))) goto L_0190;
#line 2409 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return SS;
#line 2409 "regression-compile-tmp/imp22g-77.imp"
L_0190:;
                                                                //   2410    %else;  !word,long element size (aligned)
#line 2410 "regression-compile-tmp/imp22g-77.imp"
goto L_0191;
#line 2410 "regression-compile-tmp/imp22g-77.imp"
L_018f:;
                                                                //   2411      %result = ss %if ss <= 4
#line 2411 "regression-compile-tmp/imp22g-77.imp"
if (((SS) > (4))) goto L_0192;
#line 2411 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return SS;
#line 2411 "regression-compile-tmp/imp22g-77.imp"
L_0192:;
                                                                //   2412    %finish
#line 2412 "regression-compile-tmp/imp22g-77.imp"
L_0191:;
                                                                //   2413    %result = -ss
#line 2413 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return (-(SS));
                                                                //   2414  %end
#line 2414 "regression-compile-tmp/imp22g-77.imp"
} // End of block SIZE at level 2
                                                                //   2415  
                                                                //   2416  %integer%fn NSIZE(%record(identinfo)%name dp)
#line 2416 "regression-compile-tmp/imp22g-77.imp"
int NSIZE(  IDENTINFO /*name*/*DP )
#line 2416 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2417    %result = 4 %if dp_flags&(name+indirect) # 0
#line 2417 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->FLAGS) & ((-30720)))) == (0))) goto L_0193;
#line 2417 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 4;
#line 2417 "regression-compile-tmp/imp22g-77.imp"
L_0193:;
                                                                //   2418    %result = 0 %if dp_flags&proc # 0;       ![??]
#line 2418 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->FLAGS) & (12288))) == (0))) goto L_0194;
#line 2418 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2418 "regression-compile-tmp/imp22g-77.imp"
L_0194:;
                                                                //   2419    %result = size(dp_type)
#line 2419 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return SIZE(DP->TYPE);
                                                                //   2420  %end
#line 2420 "regression-compile-tmp/imp22g-77.imp"
} // End of block NSIZE at level 2
                                                                //   2421  
                                                                //   2422  %integer%fn TSIZE(%integer t)
#line 2422 "regression-compile-tmp/imp22g-77.imp"
int TSIZE( int T )
#line 2422 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2423    %result = size(dict(t)_type)
#line 2423 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return SIZE(DICT[T].TYPE);
                                                                //   2424  %end
#line 2424 "regression-compile-tmp/imp22g-77.imp"
} // End of block TSIZE at level 2
                                                                //   2425  
                                                                //   2426  %routine FORGET(%integer r)
#line 2426 "regression-compile-tmp/imp22g-77.imp"
void FORGET( int R )
#line 2426 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2427    c_reg_content(r) = undef
#line 2427 "regression-compile-tmp/imp22g-77.imp"
C.REG.CONTENT[(((int)(R)) - (1))] = 16;
                                                                //   2428  %end
#line 2428 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FORGET at level 2
                                                                //   2429  %routine FORGET CC
#line 2429 "regression-compile-tmp/imp22g-77.imp"
void FORGETCC( void )
#line 2429 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2430    c_reg_ccy = undef
#line 2430 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCY = 16;
                                                                //   2431  %end
#line 2431 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FORGETCC at level 2
                                                                //   2432  %routine FORGET REGS
#line 2432 "regression-compile-tmp/imp22g-77.imp"
void FORGETREGS( void )
#line 2432 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2433  %shortname cc
#line 2433 "regression-compile-tmp/imp22g-77.imp"
short /*name*/*CC;
                                                                //   2434    %integer i
#line 2434 "regression-compile-tmp/imp22g-77.imp"
int I;
                                                                //   2435    i = maxareg
#line 2435 "regression-compile-tmp/imp22g-77.imp"
I = 12;
                                                                //   2436    cc==c_reg_content(i)
#line 2436 "regression-compile-tmp/imp22g-77.imp"
CC = &C.REG.CONTENT[(((int)(I)) - (1))];
                                                                //   2437    %cycle
#line 2437 "regression-compile-tmp/imp22g-77.imp"
L_0195:;
                                                                //   2438      cc = undef
#line 2438 "regression-compile-tmp/imp22g-77.imp"
*CC = 16;
                                                                //   2439      %exit %if cc == c_reg_content(d0)
#line 2439 "regression-compile-tmp/imp22g-77.imp"
if (((CC) != (&C.REG.CONTENT[0]))) goto L_0198;
#line 2439 "regression-compile-tmp/imp22g-77.imp"
goto L_0196;
#line 2439 "regression-compile-tmp/imp22g-77.imp"
L_0198:;
                                                                //   2440      i = i-1; cc==c_reg_content(i)
#line 2440 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) - (1));
#line 2440 "regression-compile-tmp/imp22g-77.imp"
CC = &C.REG.CONTENT[(((int)(I)) - (1))];
                                                                //   2441    %repeat
#line 2441 "regression-compile-tmp/imp22g-77.imp"
goto L_0195;
#line 2441 "regression-compile-tmp/imp22g-77.imp"
L_0196:;
                                                                //   2442    c_reg_ccy = undef;  c_reg_line = -9
#line 2442 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCY = 16;
#line 2442 "regression-compile-tmp/imp22g-77.imp"
C.REG.LINE = (-9);
                                                                //   2443  %end
#line 2443 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FORGETREGS at level 2
                                                                //   2444  %routine FORGET TRIPLES
#line 2444 "regression-compile-tmp/imp22g-77.imp"
void FORGETTRIPLES( void )
#line 2444 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2445    litpos = litmin;  explo = explim;  oldexplo = explim
#line 2445 "regression-compile-tmp/imp22g-77.imp"
LITPOS = (-2247);
#line 2445 "regression-compile-tmp/imp22g-77.imp"
EXPLO = EXPLIM;
#line 2445 "regression-compile-tmp/imp22g-77.imp"
OLDEXPLO = EXPLIM;
                                                                //   2446  %end
#line 2446 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FORGETTRIPLES at level 2
                                                                //   2447  %routine FORGET ALL
#line 2447 "regression-compile-tmp/imp22g-77.imp"
void FORGETALL( void )
#line 2447 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2448  %integer i,j
#line 2448 "regression-compile-tmp/imp22g-77.imp"
int I;
#line 2448 "regression-compile-tmp/imp22g-77.imp"
int J;
                                                                //   2449  %record(contentinfo)%name lr
#line 2449 "regression-compile-tmp/imp22g-77.imp"
 CONTENTINFO /*name*/*LR;
                                                                //   2450    forget regs
#line 2450 "regression-compile-tmp/imp22g-77.imp"
FORGETREGS();
                                                                //   2451    j = dictlim
#line 2451 "regression-compile-tmp/imp22g-77.imp"
J = DICTLIM;
                                                                //   2452    %cycle
#line 2452 "regression-compile-tmp/imp22g-77.imp"
L_0199:;
                                                                //   2453      j = j+1
#line 2453 "regression-compile-tmp/imp22g-77.imp"
J = (((int)(J)) + (1));
                                                                //   2454      %exit %if j >= curlab
#line 2454 "regression-compile-tmp/imp22g-77.imp"
if (((J) < (CURLAB))) goto L_019c;
#line 2454 "regression-compile-tmp/imp22g-77.imp"
goto L_019a;
#line 2454 "regression-compile-tmp/imp22g-77.imp"
L_019c:;
                                                                //   2455      lr == lreg(j-dictlim)
#line 2455 "regression-compile-tmp/imp22g-77.imp"
LR = &LREG[(((int)(J)) - (DICTLIM))];
                                                                //   2456      lr_content(i) = undef %for i = d0,1,maxareg
#line 2456 "regression-compile-tmp/imp22g-77.imp"
I = 0;
if ((((12)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, 12");
L_019d:;
if (I == 12) goto L_019e;
I += 1;
#line 2456 "regression-compile-tmp/imp22g-77.imp"
LR->CONTENT[(((int)(I)) - (1))] = 16;
#line 2456 "regression-compile-tmp/imp22g-77.imp"
goto L_019d;
#line 2456 "regression-compile-tmp/imp22g-77.imp"
L_019e:;
                                                                //   2457      lr_ccx = undef
#line 2457 "regression-compile-tmp/imp22g-77.imp"
LR->CCX = 16;
                                                                //   2458    %repeat
#line 2458 "regression-compile-tmp/imp22g-77.imp"
goto L_0199;
#line 2458 "regression-compile-tmp/imp22g-77.imp"
L_019a:;
                                                                //   2459    forget triples
#line 2459 "regression-compile-tmp/imp22g-77.imp"
FORGETTRIPLES();
                                                                //   2460  %end
#line 2460 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FORGETALL at level 2
                                                                //   2461  
                                                                //   2462  %routine DEFINE JUMPS(%integer chain)
#line 2462 "regression-compile-tmp/imp22g-77.imp"
void DEFINEJUMPS( int CHAIN )
#line 2462 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2463  %integer i,j,k
#line 2463 "regression-compile-tmp/imp22g-77.imp"
int I;
#line 2463 "regression-compile-tmp/imp22g-77.imp"
int J;
#line 2463 "regression-compile-tmp/imp22g-77.imp"
int K;
                                                                //   2464    chain = -chain
#line 2464 "regression-compile-tmp/imp22g-77.imp"
CHAIN = (-(CHAIN));
                                                                //   2465    %return %if chain <= 0;  !no jumps to this label
#line 2465 "regression-compile-tmp/imp22g-77.imp"
if (((CHAIN) > (0))) goto L_01a0;
#line 2465 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2465 "regression-compile-tmp/imp22g-77.imp"
L_01a0:;
                                                                //   2466    c_forward = c_forward-1;  c_access = 1
#line 2466 "regression-compile-tmp/imp22g-77.imp"
C.FORWARD = (((int)(C.FORWARD)) - (1));
#line 2466 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = 1;
                                                                //   2467    %cycle
#line 2467 "regression-compile-tmp/imp22g-77.imp"
L_01a1:;
                                                                //   2468      i = prog(chain)
#line 2468 "regression-compile-tmp/imp22g-77.imp"
I = PROG[CHAIN];
                                                                //   2469      %if pflag(chain) = jump %start;  !shortenable
#line 2469 "regression-compile-tmp/imp22g-77.imp"
if (((PFLAG[CHAIN]) != (2))) goto L_01a4;
                                                                //   2470        j = chain-pflag(chain-1);  !adjusted jump position
#line 2470 "regression-compile-tmp/imp22g-77.imp"
J = ((CHAIN) - ((int)(PFLAG[(((int)(CHAIN)) - (1))])));
                                                                //   2471        k = (pc-c_shorts-j)<<1;  !displacement
#line 2471 "regression-compile-tmp/imp22g-77.imp"
K = (((((int)((((int)(PC)) - (C.SHORTS)))) - (J))) << (1));
                                                                //   2472        %if k > 2 %and k <= 127 %start
#line 2472 "regression-compile-tmp/imp22g-77.imp"
if (((K) <= (2))) goto L_01a5;
#line 2472 "regression-compile-tmp/imp22g-77.imp"
if (((K) > (127))) goto L_01a5;
                                                                //   2473          %if c_shorts = 255 %start
#line 2473 "regression-compile-tmp/imp22g-77.imp"
if (((C.SHORTS) != (255))) goto L_01a6;
                                                                //   2474            zaps = zaps+100
#line 2474 "regression-compile-tmp/imp22g-77.imp"
ZAPS = (((int)(ZAPS)) + (100));
                                                                //   2475          %else
#line 2475 "regression-compile-tmp/imp22g-77.imp"
goto L_01a7;
#line 2475 "regression-compile-tmp/imp22g-77.imp"
L_01a6:;
                                                                //   2476            c_shorts = c_shorts+1;  shorts = shorts+1
#line 2476 "regression-compile-tmp/imp22g-77.imp"
C.SHORTS = (((int)(C.SHORTS)) + (1));
#line 2476 "regression-compile-tmp/imp22g-77.imp"
SHORTS = (((int)(SHORTS)) + (1));
                                                                //   2477            pflag(chain) = shortjump
#line 2477 "regression-compile-tmp/imp22g-77.imp"
PFLAG[CHAIN] = 1;
                                                                //   2478            j = chain
#line 2478 "regression-compile-tmp/imp22g-77.imp"
J = CHAIN;
                                                                //   2479            %cycle
#line 2479 "regression-compile-tmp/imp22g-77.imp"
L_01a8:;
                                                                //   2480              pflag(j) = pflag(j)+1 %if pflag(j) >= zeroshorts
#line 2480 "regression-compile-tmp/imp22g-77.imp"
if (((PFLAG[J]) < (8))) goto L_01ab;
#line 2480 "regression-compile-tmp/imp22g-77.imp"
PFLAG[J] = (((int)(PFLAG[J])) + (1));
#line 2480 "regression-compile-tmp/imp22g-77.imp"
L_01ab:;
                                                                //   2481              j = j+1
#line 2481 "regression-compile-tmp/imp22g-77.imp"
J = (((int)(J)) + (1));
                                                                //   2482            %repeat %until j = pc
#line 2482 "regression-compile-tmp/imp22g-77.imp"
if (((J) == (PC))) goto L_01a9;
#line 2482 "regression-compile-tmp/imp22g-77.imp"
goto L_01a8;
#line 2482 "regression-compile-tmp/imp22g-77.imp"
L_01a9:;
                                                                //   2483          %finish
#line 2483 "regression-compile-tmp/imp22g-77.imp"
L_01a7:;
                                                                //   2484        %finish
#line 2484 "regression-compile-tmp/imp22g-77.imp"
L_01a5:;
                                                                //   2485      %finish
#line 2485 "regression-compile-tmp/imp22g-77.imp"
L_01a4:;
                                                                //   2486      prog(chain) = pc
#line 2486 "regression-compile-tmp/imp22g-77.imp"
PROG[CHAIN] = PC;
                                                                //   2487      chain = i
#line 2487 "regression-compile-tmp/imp22g-77.imp"
CHAIN = I;
                                                                //   2488    %repeat %until chain <= 0
#line 2488 "regression-compile-tmp/imp22g-77.imp"
if (((CHAIN) <= (0))) goto L_01a2;
#line 2488 "regression-compile-tmp/imp22g-77.imp"
goto L_01a1;
#line 2488 "regression-compile-tmp/imp22g-77.imp"
L_01a2:;
                                                                //   2489  %end
#line 2489 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DEFINEJUMPS at level 2
                                                                //   2490  
                                                                //   2491  %routine SAVE CONTEXT(%integer l)
#line 2491 "regression-compile-tmp/imp22g-77.imp"
void SAVECONTEXT( int L )
#line 2491 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2492  !Store register content associated with label L
                                                                //   2493  ! (prior to generating forward branch)
                                                                //   2494  %integer r
#line 2494 "regression-compile-tmp/imp22g-77.imp"
int R;
                                                                //   2495  %record(contentinfo)%name lr
#line 2495 "regression-compile-tmp/imp22g-77.imp"
 CONTENTINFO /*name*/*LR;
                                                                //   2496    %return %if l-dictlim < 0    {user label}
#line 2496 "regression-compile-tmp/imp22g-77.imp"
if ((((((int)(L)) - (DICTLIM))) >= (0))) goto L_01ac;
#line 2496 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2496 "regression-compile-tmp/imp22g-77.imp"
L_01ac:;
                                                                //   2497    lr == lreg(l-dictlim)
#line 2497 "regression-compile-tmp/imp22g-77.imp"
LR = &LREG[(((int)(L)) - (DICTLIM))];
                                                                //   2498    %if dict(l)_val >= 0 %start;  !first jump to this label
#line 2498 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[L].VAL) < (0))) goto L_01ad;
                                                                //   2499      dict(l)_val = 0
#line 2499 "regression-compile-tmp/imp22g-77.imp"
DICT[L].VAL = 0;
                                                                //   2500      lr = c_reg
#line 2500 "regression-compile-tmp/imp22g-77.imp"
*LR = C.REG;
                                                                //   2501      c_forward = c_forward+1
#line 2501 "regression-compile-tmp/imp22g-77.imp"
C.FORWARD = (((int)(C.FORWARD)) + (1));
                                                                //   2502    %else
#line 2502 "regression-compile-tmp/imp22g-77.imp"
goto L_01ae;
#line 2502 "regression-compile-tmp/imp22g-77.imp"
L_01ad:;
                                                                //   2503      %for r = d0,1,maxareg %cycle
#line 2503 "regression-compile-tmp/imp22g-77.imp"
R = 0;
if ((((12)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle R = 1, 1, 12");
L_01af:;
if (R == 12) goto L_01b0;
R += 1;
                                                                //   2504        lr_content(r) = undef %if lr_content(r) # c_reg_content(r)
#line 2504 "regression-compile-tmp/imp22g-77.imp"
if (((LR->CONTENT[(((int)(R)) - (1))]) == (C.REG.CONTENT[(((int)(R)) - (1))]))) goto L_01b2;
#line 2504 "regression-compile-tmp/imp22g-77.imp"
LR->CONTENT[(((int)(R)) - (1))] = 16;
#line 2504 "regression-compile-tmp/imp22g-77.imp"
L_01b2:;
                                                                //   2505      %repeat
#line 2505 "regression-compile-tmp/imp22g-77.imp"
goto L_01af;
#line 2505 "regression-compile-tmp/imp22g-77.imp"
L_01b0:;
                                                                //   2506      lr_ccy = undef %if lr_ccx # c_reg_ccx %or lr_ccy # c_reg_ccy
#line 2506 "regression-compile-tmp/imp22g-77.imp"
if (((LR->CCX) != (C.REG.CCX))) goto L_01b1;
#line 2506 "regression-compile-tmp/imp22g-77.imp"
if (((LR->CCY) == (C.REG.CCY))) goto L_01b3;
#line 2506 "regression-compile-tmp/imp22g-77.imp"
L_01b1:;
#line 2506 "regression-compile-tmp/imp22g-77.imp"
LR->CCY = 16;
#line 2506 "regression-compile-tmp/imp22g-77.imp"
L_01b3:;
                                                                //   2507      lr_line = -9 %if lr_line # c_reg_line
#line 2507 "regression-compile-tmp/imp22g-77.imp"
if (((LR->LINE) == (C.REG.LINE))) goto L_01b4;
#line 2507 "regression-compile-tmp/imp22g-77.imp"
LR->LINE = (-9);
#line 2507 "regression-compile-tmp/imp22g-77.imp"
L_01b4:;
                                                                //   2508    %finish
#line 2508 "regression-compile-tmp/imp22g-77.imp"
L_01ae:;
                                                                //   2509  %end
#line 2509 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SAVECONTEXT at level 2
                                                                //   2510  
                                                                //   2511  %routine SRCALL(%integer x)
#line 2511 "regression-compile-tmp/imp22g-77.imp"
void SRCALL( int X )
#line 2511 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2512  %routine PUT PRIM(%record(identinfo)%name DX)
#line 2512 "regression-compile-tmp/imp22g-77.imp"
void PUTPRIM(  IDENTINFO /*name*/*DX )
#line 2512 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2513  !<<IMP
                                                                //   2514  !* PRIMGEN marker 3
                                                                //   2515  %own%short%array PRIMCODE(1:396) = 
#line 2515 "regression-compile-tmp/imp22g-77.imp"
static short PRIMCODE[396] = { 5441, 29298, 24953, 8290, 28533, 28260, 29472, 25976, 25445, 25956, 25956, 45208, 28166, 37016, 27664, 53408, 16890, 65502, 9216, 29186, 28790, 20216, 16122, 19032, 26124, 18496, 19008, 26128, 18496, 49368, 20085, 12033, 8704, 49896, 65534, 24584, 12033, 8704, 18496, 49872, 18497, 49368, 53377, 8735, 20085, 4949, 28257, 29555, 26983, 28261, 25632, 30305, 29289, 24930, 27749, 26124, 16890, 65512, 29185, 28760, 20216, 16122, 20085, 3913, 28278, 24940, 26980, 8289, 25700, 29285, 29555, 28172, 16890, 65516, 29185, 28760, 20216, 16122, 20085, 5459, 29793, 25451, 8307, 28769, 25445, 8293, 30824, 24949, 29556, 25956, 55439, 47238, 27662, 17028, 16890, 65504, 29187, 28757, 20216, 16122, 17028, 20085, 5953, 29298, 24953, 8290, 28533, 28260, 29472, 26990, 29545, 25701, 8303, 30068, 37506, 28428, 16890, 65506, 29187, 28757, 20216, 16122, 17537, 21121, 20216, 16116, 20085, 3667, 29810, 26990, 26400, 29807, 28448, 25193, 26496, 6161, 36868, 25860, 36880, 25612, 16890, 65508, 29187, 28753, 20216, 16122, 4120, 26380, 53521, 5016, 18433, 20996, 21248, 26358, 8265, 20085, 16128, 28673, 7808, 8271, 21647, 20085, 4686, 28448, 29552, 24931, 25888, 26223, 29216, 24946, 29281, 31104, 22144, 58496, 58760, 27912, 8271, 37312, 45510, 27662, 9216, 16890, 65496, 29185, 28786, 20216, 16122, 8287, 58504, 24580, 18496, 12039, 20936, 65532, 18496, 20936, 65524, 20176, 20085, 4425, 28278, 24940, 26980, 8229, 26223, 29216, 27759, 28528, 12032, 36994, 26400, 12033, 26376, 20152, 16110, 19072, 27918, 20623, 16890, 65496, 29185, 28757, 20216, 16122, 19073, 26350, 8735, 8223, 20085, 3151, 30068, 8303, 26144, 29281, 28263, 25984, 16890, 65520, 29185, 28758, 20216, 16122, 20085, 4949, 28257, 29555, 26983, 28261, 25632, 30305, 29289, 24930, 27749, 45308, 0, 28442, 45820, 0, 28436, 48656, 26118, 48680, 1, 26378, 48657, 26130, 48681, 1, 26124, 16890, 65482, 29186, 28756, 20216, 16122, 18663, 49344, 16960, 4120, 26416, 16961, 4633, 26402, 21376, 21377, 45121, 28178, 37440, 45321, 22216, 65532, 26114, 17473, 19679, 771, 20085, 45321, 22217, 65532, 26354, 29185, 19679, 771, 20085, 4113, 17472, 19679, 771, 20085, 3667, 29810, 26990, 26400, 29807, 28448, 25193, 26496, 45072, 25612, 16890, 65514, 29187, 28753, 20216, 16122, 17024, 4112, 4824, 20936, 65532, 20085, 3667, 29810, 26990, 26400, 29807, 28448, 25193, 26496, 45072, 25612, 16890, 65514, 29185, 28758, 20216, 16122, 576, 254, 9311, 40640, 21903, 8783, 49096, 28174, 4112, 4824, 20936, 65532, 8271, 8783, 20178, 4120, 21129, 53440, 53952, 4896, 20936, 65532, 8271, 8783, 20178, 20085, 17391, 65280, 9288, 54720, 8265, 37504, 27652, 16913, 20085, 4737, 21017, 4826, 20937, 65532, 20085, 28682, 20216, 15984, 20085, 28704, 20216, 15984, 20085,  };
                                                                //   2516  16_1541,16_7272,16_6179,16_2062,16_6F75,16_6E64,16_7320,16_6578,
                                                                //   2517  16_6365,16_6564,16_6564,16_B098,16_6E06,16_9098,16_6C10,16_D0A0,
                                                                //   2518  16_41FA,16_FFDE,16_2400,16_7202,16_7076,16_4EF8,16_3EFA,16_4A58,
                                                                //   2519  16_660C,16_4840,16_4A40,16_6610,16_4840,16_C0D8,16_4E75,
                                                                //   2520  16_2F01,16_2200,16_C2E8,16_FFFE,16_6008,16_2F01,16_2200,16_4840,
                                                                //   2521  16_C2D0,16_4841,16_C0D8,16_D081,16_221F,16_4E75,
                                                                //   2522  16_1355,16_6E61,16_7373,16_6967,16_6E65,16_6420,16_7661,16_7269,
                                                                //   2523  16_6162,16_6C65,16_660C,16_41FA,16_FFE8,16_7201,16_7058,16_4EF8,
                                                                //   2524  16_3EFA,16_4E75,
                                                                //   2525  16_0F49,16_6E76,16_616C,16_6964,16_2061,16_6464,16_7265,16_7373,
                                                                //   2526  16_6E0C,16_41FA,16_FFEC,16_7201,16_7058,16_4EF8,16_3EFA,16_4E75,
                                                                //   2527  16_1553,16_7461,16_636B,16_2073,16_7061,16_6365,16_2065,16_7868,
                                                                //   2528  16_6175,16_7374,16_6564,16_D88F,16_B886,16_6C0E,16_4284,16_41FA,
                                                                //   2529  16_FFE0,16_7203,16_7055,16_4EF8,16_3EFA,16_4284,16_4E75,
                                                                //   2530  16_1741,16_7272,16_6179,16_2062,16_6F75,16_6E64,16_7320,16_696E,
                                                                //   2531  16_7369,16_6465,16_206F,16_7574,16_9282,16_6F0C,16_41FA,16_FFE2,
                                                                //   2532  16_7203,16_7055,16_4EF8,16_3EFA,16_4481,16_5281,16_4EF8,16_3EF4,
                                                                //   2533  16_4E75,
                                                                //   2534  16_0E53,16_7472,16_696E,16_6720,16_746F,16_6F20,16_6269,16_6780,
                                                                //   2535  16_1811,16_9004,16_6504,16_9010,16_640C,16_41FA,16_FFE4,16_7203,
                                                                //   2536  16_7051,16_4EF8,16_3EFA,16_1018,16_670C,16_D111,16_1398,16_4801,
                                                                //   2537  16_5204,16_5300,16_66F6,16_2049,16_4E75,
                                                                //   2538  16_3F00,16_7001,16_1E80,16_204F,16_548F,16_4E75,
                                                                //   2539  16_124E,16_6F20,16_7370,16_6163,16_6520,16_666F,16_7220,16_6172,
                                                                //   2540  16_7261,16_7980,16_5680,16_E480,16_E588,16_6D08,16_204F,16_91C0,
                                                                //   2541  16_B1C6,16_6C0E,16_2400,16_41FA,16_FFD8,16_7201,16_7072,16_4EF8,
                                                                //   2542  16_3EFA,16_205F,16_E488,16_6004,16_4840,16_2F07,16_51C8,16_FFFC,
                                                                //   2543  16_4840,16_51C8,16_FFF4,16_4ED0,16_4E75,
                                                                //   2544  16_1149,16_6E76,16_616C,16_6964,16_2025,16_666F,16_7220,16_6C6F,
                                                                //   2545  16_6F70,16_2F00,16_9082,16_6720,16_2F01,16_6708,16_4EB8,16_3EEE,
                                                                //   2546  16_4A80,16_6D0E,16_508F,16_41FA,16_FFD8,16_7201,16_7055,16_4EF8,
                                                                //   2547  16_3EFA,16_4A81,16_66EE,16_221F,16_201F,16_4E75,
                                                                //   2548  16_0C4F,16_7574,16_206F,16_6620,16_7261,16_6E67,16_6580,16_41FA,
                                                                //   2549  16_FFF0,16_7201,16_7056,16_4EF8,16_3EFA,16_4E75,
                                                                //   2550  16_1355,16_6E61,16_7373,16_6967,16_6E65,16_6420,16_7661,16_7269,
                                                                //   2551  16_6162,16_6C65,16_B0FC,16_0000,16_6F1A,16_B2FC,16_0000,16_6F14,
                                                                //   2552  16_BE10,16_6606,16_BE28,16_0001,16_670A,16_BE11,16_6612,16_BE29,
                                                                //   2553  16_0001,16_660C,16_41FA,16_FFCA,16_7202,16_7054,16_4EF8,16_3EFA,
                                                                //   2554  16_48E7,16_C0C0,16_4240,16_1018,16_6730,16_4241,16_1219,16_6722,
                                                                //   2555  16_5380,16_5381,16_B041,16_6E12,16_9240,16_B109,16_56C8,16_FFFC,
                                                                //   2556  16_6602,16_4441,16_4CDF,16_0303,16_4E75,
                                                                //   2557  16_B109,16_56C9,16_FFFC,16_66F2,16_7201,16_4CDF,16_0303,16_4E75,
                                                                //   2558  16_1011,16_4440,16_4CDF,16_0303,16_4E75,
                                                                //   2559  16_0E53,16_7472,16_696E,16_6720,16_746F,16_6F20,16_6269,16_6780,
                                                                //   2560  16_B010,16_640C,16_41FA,16_FFEA,16_7203,16_7051,16_4EF8,16_3EFA,
                                                                //   2561  16_4280,16_1010,16_12D8,16_51C8,16_FFFC,16_4E75,
                                                                //   2562  16_0E53,16_7472,16_696E,16_6720,16_746F,16_6F20,16_6269,16_6780,
                                                                //   2563  16_B010,16_640C,16_41FA,16_FFEA,16_7201,16_7056,16_4EF8,16_3EFA,
                                                                //   2564  16_0240,16_00FE,16_245F,16_9EC0,16_558F,16_224F,16_BFC8,16_6E0E,
                                                                //   2565  16_1010,16_12D8,16_51C8,16_FFFC,16_204F,16_224F,16_4ED2,16_1018,
                                                                //   2566  16_5289,16_D0C0,16_D2C0,16_1320,16_51C8,16_FFFC,16_204F,16_224F,
                                                                //   2567  16_4ED2,16_4E75,
                                                                //   2568  16_43EF,16_FF00,16_2448,16_D5C0,16_2049,16_9280,16_6C04,16_4211,
                                                                //   2569  16_4E75,
                                                                //   2570  16_1281,16_5219,16_12DA,16_51C9,16_FFFC,16_4E75,
                                                                //   2571  16_700A,16_4EF8,16_3E70,16_4E75,
                                                                //   2572  16_7020,16_4EF8,16_3E70,16_4E75
                                                                //   2573  
                                                                //   2574  !<<BOTH
                                                                //   2575  %integer start,limit
#line 2575 "regression-compile-tmp/imp22g-77.imp"
int START;
#line 2575 "regression-compile-tmp/imp22g-77.imp"
int LIMIT;
                                                                //   2576  %record(identinfo)%name DDX
#line 2576 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DDX;
                                                                //   2577    fill code(1) %if cad&1 # 0
#line 2577 "regression-compile-tmp/imp22g-77.imp"
if (((((CAD) & (1))) == (0))) goto L_01b5;
#line 2577 "regression-compile-tmp/imp22g-77.imp"
FILLCODE(1);
#line 2577 "regression-compile-tmp/imp22g-77.imp"
L_01b5:;
                                                                //   2578    start = dx_val>>16&511;  limit = start+dx_val&255
#line 2578 "regression-compile-tmp/imp22g-77.imp"
START = (((int)((((unsigned int)(DX->VAL)) >> (16)))) & (511));
#line 2578 "regression-compile-tmp/imp22g-77.imp"
LIMIT = ((START) + ((int)(((DX->VAL) & (255)))));
                                                                //   2579    dx_val = cad+dx_val>>7&(255<<1);  !entry
#line 2579 "regression-compile-tmp/imp22g-77.imp"
DX->VAL = ((CAD) + ((int)((((int)((((unsigned int)(DX->VAL)) >> (7)))) & (((255) << (1)))))));
                                                                //   2580    dx_mode = procmode
#line 2580 "regression-compile-tmp/imp22g-77.imp"
DX->MODE = 250;
                                                                //   2581    %if start = limit %start;  !range check
#line 2581 "regression-compile-tmp/imp22g-77.imp"
if (((START) != (LIMIT))) goto L_01b6;
                                                                //   2582      ddx == dict(check)
#line 2582 "regression-compile-tmp/imp22g-77.imp"
DDX = &DICT[111];
                                                                //   2583      put prim(ddx) %and dx_val = cad %if ddx_mode = absmode
#line 2583 "regression-compile-tmp/imp22g-77.imp"
if (((DDX->MODE) != (56))) goto L_01b7;
#line 2583 "regression-compile-tmp/imp22g-77.imp"
PUTPRIM(DDX);
#line 2583 "regression-compile-tmp/imp22g-77.imp"
DX->VAL = CAD;
#line 2583 "regression-compile-tmp/imp22g-77.imp"
L_01b7:;
                                                                //   2584      set code word(16_0C80);  !CMPI.L #?,D0
#line 2584 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD(3200);
                                                                //   2585      set code longword(dict(x+1)_val);  !lower
#line 2585 "regression-compile-tmp/imp22g-77.imp"
SETCODELONGWORD(DICT[(((int)(X)) + (1))].VAL);
                                                                //   2586      set code word(16_6D00);  !BLT
#line 2586 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD(27904);
                                                                //   2587      set code word(ddx_val-cad)
#line 2587 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD((((int)(DDX->VAL)) - (CAD)));
                                                                //   2588      set code word(16_0C80);  !CMPI.L #?,D0
#line 2588 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD(3200);
                                                                //   2589      set code longword(dict(x+2)_val);  !upper
#line 2589 "regression-compile-tmp/imp22g-77.imp"
SETCODELONGWORD(DICT[(((int)(X)) + (2))].VAL);
                                                                //   2590      set code word(16_6E00);  !BGT
#line 2590 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD(28160);
                                                                //   2591      set code word(ddx_val-cad)
#line 2591 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD((((int)(DDX->VAL)) - (CAD)));
                                                                //   2592      set code word(16_4E75);  !RTS
#line 2592 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD(20085);
                                                                //   2593    %else
#line 2593 "regression-compile-tmp/imp22g-77.imp"
goto L_01b8;
#line 2593 "regression-compile-tmp/imp22g-77.imp"
L_01b6:;
                                                                //   2594      set code word(primcode(start)) %and start=start+1 %until start >= limit
#line 2594 "regression-compile-tmp/imp22g-77.imp"
L_01b9:;
#line 2594 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD((PRIMCODE-1)[START]);
#line 2594 "regression-compile-tmp/imp22g-77.imp"
START = (((int)(START)) + (1));
#line 2594 "regression-compile-tmp/imp22g-77.imp"
if (((START) >= (LIMIT))) goto L_01ba;
#line 2594 "regression-compile-tmp/imp22g-77.imp"
goto L_01b9;
#line 2594 "regression-compile-tmp/imp22g-77.imp"
L_01ba:;
                                                                //   2595    %finish
#line 2595 "regression-compile-tmp/imp22g-77.imp"
L_01b8:;
                                                                //   2596  %end
#line 2596 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTPRIM at level 3
                                                                //   2597  
                                                                //   2598  %record(identinfo)%name dx,tp
#line 2598 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DX;
#line 2598 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*TP;
                                                                //   2599    dx==dict(x); tp==typecell(dx_type)
#line 2599 "regression-compile-tmp/imp22g-77.imp"
DX = &DICT[X];
#line 2599 "regression-compile-tmp/imp22g-77.imp"
TP = TYPECELL(DX->TYPE);
                                                                //   2600    %if dx_mode = absmode %and dx_val < 0 %start;  !prim routine
#line 2600 "regression-compile-tmp/imp22g-77.imp"
if (((DX->MODE) != (56))) goto L_01bc;
#line 2600 "regression-compile-tmp/imp22g-77.imp"
if (((DX->VAL) >= (0))) goto L_01bc;
                                                                //   2601     ![**for now**: the convention is inadequate because excludes abs neg]
                                                                //   2602      put prim(dx)
#line 2602 "regression-compile-tmp/imp22g-77.imp"
PUTPRIM(DX);
                                                                //   2603    %else
#line 2603 "regression-compile-tmp/imp22g-77.imp"
goto L_01bd;
#line 2603 "regression-compile-tmp/imp22g-77.imp"
L_01bc:;
                                                                //   2604      c_status = c_status!unknown %if tp_val <= 0
#line 2604 "regression-compile-tmp/imp22g-77.imp"
if (((TP->VAL) > (0))) goto L_01be;
#line 2604 "regression-compile-tmp/imp22g-77.imp"
C.STATUS = ((C.STATUS) | (2));
#line 2604 "regression-compile-tmp/imp22g-77.imp"
L_01be:;
                                                                //   2605      c_totstack = c_sp-imod(tp_val) %if c_sp-imod(tp_val) < c_totstack
#line 2605 "regression-compile-tmp/imp22g-77.imp"
if ((((((int)(C.SP)) - (_imp_IMOD(TP->VAL)))) >= (C.TOTSTACK))) goto L_01bf;
#line 2605 "regression-compile-tmp/imp22g-77.imp"
C.TOTSTACK = (((int)(C.SP)) - (_imp_IMOD(TP->VAL)));
#line 2605 "regression-compile-tmp/imp22g-77.imp"
L_01bf:;
                                                                //   2606    %finish
#line 2606 "regression-compile-tmp/imp22g-77.imp"
L_01bd:;
                                                                //   2607    %if dx_mode&63 = pcmode %start;  !internal
#line 2607 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->MODE) & (63))) != (58))) goto L_01c0;
                                                                //   2608      c_forward = c_forward+1 %if dx_flags&spec # 0 %and dx_flags&rflag = 0
#line 2608 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & (256))) == (0))) goto L_01c1;
#line 2608 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & (32))) != (0))) goto L_01c1;
#line 2608 "regression-compile-tmp/imp22g-77.imp"
C.FORWARD = (((int)(C.FORWARD)) + (1));
#line 2608 "regression-compile-tmp/imp22g-77.imp"
L_01c1:;
                                                                //   2609      plant(bsr,0,x)
#line 2609 "regression-compile-tmp/imp22g-77.imp"
PLANT(17, 0, X);
                                                                //   2610    %finish %else %if dx_flags&(name+indirect) = 0 %or dx_flags&ext # 0 {temp} %start
#line 2610 "regression-compile-tmp/imp22g-77.imp"
goto L_01c2;
#line 2610 "regression-compile-tmp/imp22g-77.imp"
L_01c0:;
#line 2610 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & ((-30720)))) == (0))) goto L_01a3;
#line 2610 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & (16384))) == (0))) goto L_01c3;
#line 2610 "regression-compile-tmp/imp22g-77.imp"
L_01a3:;
                                                                //   2611      plant(jsr,0,x)
#line 2611 "regression-compile-tmp/imp22g-77.imp"
PLANT(56, 0, X);
                                                                //   2612    %finish %else %if free&a0b<<3 # 0 %start
#line 2612 "regression-compile-tmp/imp22g-77.imp"
goto L_01c2;
#line 2612 "regression-compile-tmp/imp22g-77.imp"
L_01c3:;
#line 2612 "regression-compile-tmp/imp22g-77.imp"
if (((((FREE) & (((256) << (3))))) == (0))) goto L_01c4;
                                                                //   2613      plant(move,x,a0+3)
#line 2613 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, X, 12);
                                                                //   2614      plant(jsr,0,a0+3+indir)
#line 2614 "regression-compile-tmp/imp22g-77.imp"
PLANT(56, 0, 20);
                                                                //   2615      forget(a0+3)
#line 2615 "regression-compile-tmp/imp22g-77.imp"
FORGET(12);
                                                                //   2616    %else
#line 2616 "regression-compile-tmp/imp22g-77.imp"
goto L_01c2;
#line 2616 "regression-compile-tmp/imp22g-77.imp"
L_01c4:;
                                                                //   2617      plant(move,x,tempd(a7,-4))
#line 2617 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, X, TEMPD(16, (-4)));
                                                                //   2618      plantlit(move,16_4EF9,tempd(a7,-6))
#line 2618 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(1, 20217, TEMPD(16, (-6)));
                                                                //   2619      plant(jsr,0,lablim)
#line 2619 "regression-compile-tmp/imp22g-77.imp"
PLANT(56, 0, LABLIM);
                                                                //   2620    %finish
#line 2620 "regression-compile-tmp/imp22g-77.imp"
L_01c2:;
                                                                //   2621  %end;  !srcall
#line 2621 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SRCALL at level 2
                                                                //   2622  !
                                                                //   2623  %routine DEFINE LABEL(%integer lab)
#line 2623 "regression-compile-tmp/imp22g-77.imp"
void DEFINELABEL( int LAB )
#line 2623 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2624  %integer r,chain
#line 2624 "regression-compile-tmp/imp22g-77.imp"
int R;
#line 2624 "regression-compile-tmp/imp22g-77.imp"
int CHAIN;
                                                                //   2625  %record(contentinfo)%name lr
#line 2625 "regression-compile-tmp/imp22g-77.imp"
 CONTENTINFO /*name*/*LR;
                                                                //   2626    chain = dict(lab)_val
#line 2626 "regression-compile-tmp/imp22g-77.imp"
CHAIN = DICT[LAB].VAL;
                                                                //   2627    %if chain >= 0 %start;  !label before jumps
#line 2627 "regression-compile-tmp/imp22g-77.imp"
if (((CHAIN) < (0))) goto L_01c5;
                                                                //   2628      update sp
#line 2628 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   2629      forget regs
#line 2629 "regression-compile-tmp/imp22g-77.imp"
FORGETREGS();
                                                                //   2630    %else
#line 2630 "regression-compile-tmp/imp22g-77.imp"
goto L_01c6;
#line 2630 "regression-compile-tmp/imp22g-77.imp"
L_01c5:;
                                                                //   2631      lr == lreg(lab-dictlim)
#line 2631 "regression-compile-tmp/imp22g-77.imp"
LR = &LREG[(((int)(LAB)) - (DICTLIM))];
                                                                //   2632      %if c_access = 0 %start;  !no fall-through
#line 2632 "regression-compile-tmp/imp22g-77.imp"
if (((C.ACCESS) != (0))) goto L_01c7;
                                                                //   2633        c_reg = lr;  !so just incoming context
#line 2633 "regression-compile-tmp/imp22g-77.imp"
C.REG = *LR;
                                                                //   2634      %else;  !join
#line 2634 "regression-compile-tmp/imp22g-77.imp"
goto L_01c8;
#line 2634 "regression-compile-tmp/imp22g-77.imp"
L_01c7:;
                                                                //   2635        %for r = d0,1,maxareg %cycle
#line 2635 "regression-compile-tmp/imp22g-77.imp"
R = 0;
if ((((12)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle R = 1, 1, 12");
L_01c9:;
if (R == 12) goto L_01ca;
R += 1;
                                                                //   2636          forget(r) %if c_reg_content(r) # lr_content(r)
#line 2636 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CONTENT[(((int)(R)) - (1))]) == (LR->CONTENT[(((int)(R)) - (1))]))) goto L_01cc;
#line 2636 "regression-compile-tmp/imp22g-77.imp"
FORGET(R);
#line 2636 "regression-compile-tmp/imp22g-77.imp"
L_01cc:;
                                                                //   2637        %repeat
#line 2637 "regression-compile-tmp/imp22g-77.imp"
goto L_01c9;
#line 2637 "regression-compile-tmp/imp22g-77.imp"
L_01ca:;
                                                                //   2638        forget cc %if c_reg_ccx # lr_ccx %or c_reg_ccy # lr_ccy
#line 2638 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CCX) != (LR->CCX))) goto L_01cb;
#line 2638 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CCY) == (LR->CCY))) goto L_01cd;
#line 2638 "regression-compile-tmp/imp22g-77.imp"
L_01cb:;
#line 2638 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
#line 2638 "regression-compile-tmp/imp22g-77.imp"
L_01cd:;
                                                                //   2639        c_reg_line = -9 %if lr_line # c_reg_line
#line 2639 "regression-compile-tmp/imp22g-77.imp"
if (((LR->LINE) == (C.REG.LINE))) goto L_01ce;
#line 2639 "regression-compile-tmp/imp22g-77.imp"
C.REG.LINE = (-9);
#line 2639 "regression-compile-tmp/imp22g-77.imp"
L_01ce:;
                                                                //   2640      %finish
#line 2640 "regression-compile-tmp/imp22g-77.imp"
L_01c8:;
                                                                //   2641    %finish
#line 2641 "regression-compile-tmp/imp22g-77.imp"
L_01c6:;
                                                                //   2642    define jumps(chain)
#line 2642 "regression-compile-tmp/imp22g-77.imp"
DEFINEJUMPS(CHAIN);
                                                                //   2643    dict(lab)_val = pc
#line 2643 "regression-compile-tmp/imp22g-77.imp"
DICT[LAB].VAL = PC;
                                                                //   2644  {?}  put operand(lab) %if control&codelist # 0 %and control&list # 0
#line 2644 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (32))) == (0))) goto L_01cf;
#line 2644 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (1))) == (0))) goto L_01cf;
#line 2644 "regression-compile-tmp/imp22g-77.imp"
PUTOPERAND(LAB);
#line 2644 "regression-compile-tmp/imp22g-77.imp"
L_01cf:;
                                                                //   2645  %end;  !define label
#line 2645 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DEFINELABEL at level 2
                                                                //   2646  
                                                                //   2647  %routine SET USER LABEL(%integername chain)
#line 2647 "regression-compile-tmp/imp22g-77.imp"
void SETUSERLABEL( int /*name*/*CHAIN )
#line 2647 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2648    update sp
#line 2648 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   2649    addimm(c_temps,a7) %if c_temps # 0 %and c_access # 0  {remove temps}
#line 2649 "regression-compile-tmp/imp22g-77.imp"
if (((C.TEMPS) == (0))) goto L_01d0;
#line 2649 "regression-compile-tmp/imp22g-77.imp"
if (((C.ACCESS) == (0))) goto L_01d0;
#line 2649 "regression-compile-tmp/imp22g-77.imp"
ADDIMM(C.TEMPS, 16);
#line 2649 "regression-compile-tmp/imp22g-77.imp"
L_01d0:;
                                                                //   2650    define jumps(chain)
#line 2650 "regression-compile-tmp/imp22g-77.imp"
DEFINEJUMPS(*CHAIN);
                                                                //   2651    chain = pc
#line 2651 "regression-compile-tmp/imp22g-77.imp"
*CHAIN = PC;
                                                                //   2652    c_access = 1;  !anyway
#line 2652 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = 1;
                                                                //   2653    addimm(-c_temps,a7) %if c_temps # 0  {restore temps}
#line 2653 "regression-compile-tmp/imp22g-77.imp"
if (((C.TEMPS) == (0))) goto L_01d1;
#line 2653 "regression-compile-tmp/imp22g-77.imp"
ADDIMM((-(C.TEMPS)), 16);
#line 2653 "regression-compile-tmp/imp22g-77.imp"
L_01d1:;
                                                                //   2654    forget regs
#line 2654 "regression-compile-tmp/imp22g-77.imp"
FORGETREGS();
                                                                //   2655    forget triples %if curlab = c_lab1
#line 2655 "regression-compile-tmp/imp22g-77.imp"
if (((CURLAB) != (C.LAB1))) goto L_01d2;
#line 2655 "regression-compile-tmp/imp22g-77.imp"
FORGETTRIPLES();
#line 2655 "regression-compile-tmp/imp22g-77.imp"
L_01d2:;
                                                                //   2656  %end
#line 2656 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETUSERLABEL at level 2
                                                                //   2657  
                                                                //   2658  %routine FLUSH
#line 2658 "regression-compile-tmp/imp22g-77.imp"
void FLUSH( void )
#line 2658 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2659    %if pendcond < 0 %start;  !indicator for line num update
#line 2659 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) >= (0))) goto L_01d3;
                                                                //   2660      litstore(litpos) = line
#line 2660 "regression-compile-tmp/imp22g-77.imp"
LITSTORE[((LITPOS) + ((int)(2247)))] = LINE;
                                                                //   2661      %if control&tracebit # 0 %then plantlit2(trapi,litpos,15) %c
#line 2661 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (2097152))) == (0))) goto L_01d4;
#line 2661 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT2(101, LITPOS, 15);
#line 2661 "regression-compile-tmp/imp22g-77.imp"
goto L_01d5;
#line 2661 "regression-compile-tmp/imp22g-77.imp"
L_01d4:;
#line 2661 "regression-compile-tmp/imp22g-77.imp"
if (((((LINE) - ((int)(C.REG.LINE)))) <= (8))) goto L_01d6;
#line 2661 "regression-compile-tmp/imp22g-77.imp"
PLANT(((1) + ((int)(((2) << (8))))), LITPOS, 6);
#line 2661 "regression-compile-tmp/imp22g-77.imp"
goto L_01d5;
#line 2661 "regression-compile-tmp/imp22g-77.imp"
L_01d6:;
#line 2661 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(((2) + ((int)(((2) << (8))))), ((LINE) - ((int)(C.REG.LINE))), 6);
#line 2661 "regression-compile-tmp/imp22g-77.imp"
L_01d5:;
                                                                //   2662      %else %if line-c_reg_line > 8 %then plant(move+2<<8,litpos,lineloc) %c
                                                                //   2663      %else plantlit(add+2<<8,line-c_reg_line,lineloc)
                                                                //   2664      forget cc;  c_reg_line = line
#line 2664 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
#line 2664 "regression-compile-tmp/imp22g-77.imp"
C.REG.LINE = LINE;
                                                                //   2665    %else
#line 2665 "regression-compile-tmp/imp22g-77.imp"
goto L_01d7;
#line 2665 "regression-compile-tmp/imp22g-77.imp"
L_01d3:;
                                                                //   2666      %if pendout # 0 %start
#line 2666 "regression-compile-tmp/imp22g-77.imp"
if (((PENDOUT) == (0))) goto L_01d8;
                                                                //   2667        pendcond = pendcond&15
#line 2667 "regression-compile-tmp/imp22g-77.imp"
PENDCOND = ((PENDCOND) & (15));
                                                                //   2668        c_access = 0 %if pendcond = 0
#line 2668 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) != (0))) goto L_01d9;
#line 2668 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = 0;
#line 2668 "regression-compile-tmp/imp22g-77.imp"
L_01d9:;
                                                                //   2669        %if pendcond # 1 %start
#line 2669 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) == (1))) goto L_01da;
                                                                //   2670          save context(pendout)
#line 2670 "regression-compile-tmp/imp22g-77.imp"
SAVECONTEXT(PENDOUT);
                                                                //   2671          plant(bra+pendcond,0,pendout)
#line 2671 "regression-compile-tmp/imp22g-77.imp"
PLANT((((int)(16)) + (PENDCOND)), 0, PENDOUT);
                                                                //   2672        %finish
#line 2672 "regression-compile-tmp/imp22g-77.imp"
L_01da:;
                                                                //   2673      %finish
#line 2673 "regression-compile-tmp/imp22g-77.imp"
L_01d8:;
                                                                //   2674      define label(pendin) %if pendin # 0
#line 2674 "regression-compile-tmp/imp22g-77.imp"
if (((PENDIN) == (0))) goto L_01db;
#line 2674 "regression-compile-tmp/imp22g-77.imp"
DEFINELABEL(PENDIN);
#line 2674 "regression-compile-tmp/imp22g-77.imp"
L_01db:;
                                                                //   2675    %finish
#line 2675 "regression-compile-tmp/imp22g-77.imp"
L_01d7:;
                                                                //   2676    pendcond = 0
#line 2676 "regression-compile-tmp/imp22g-77.imp"
PENDCOND = 0;
                                                                //   2677  %end
#line 2677 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FLUSH at level 2
                                                                //   2678  
                                                                //   2679  !!!!!!!!!!!!!!!!   Main code generation procedure  !!!!!!!!!!!!!!!!!!!!!
                                                                //   2680  
                                                                //   2681  %constinteger INST=1<<30
                                                                //   2682  
                                                                //   2683  %routine EVAL(%integername pp, %integer rset)
#line 2683 "regression-compile-tmp/imp22g-77.imp"
void EVAL( int /*name*/*PP, int RSET )
#line 2683 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2684  !Evaluate the operand identified by PP as defined by RSET:
                                                                //   2685  !  RSET = boolean vector of acceptable registers
                                                                //   2686  !  + SIGN to indicate that stopping at EA is acceptable
                                                                //   2687  !  + 1<<16 to indicate byte value ok
                                                                //   2688  !  + 2<<16 to indicate short value ok
                                                                //   2689  !  + STACK if stack ok [not yet: too complex]
                                                                //   2690  %constinteger ASL=32,
                                                                //   2691                CMPM=43,
                                                                //   2692                TRAPV=70,
                                                                //   2693                SWAP=74, EXTL=76,
                                                                //   2694                JMP=57, TST=59, DBNE=86
                                                                //   2695                
                                                                //   2696  %constinteger MOVEW=move+2<<8, ADDW=add+2<<8,
                                                                //   2697                MOVEB=move+1<<8, ADDB=add+1<<8,
                                                                //   2698                SUBB=sub+1<<8, CMPB=cmp+1<<8,
                                                                //   2699                CMPMB=cmpm+1<<8
                                                                //   2700  
                                                                //   2701  %constinteger VAL=sign+anyreg, REF=sign,
                                                                //   2702                SIZESHIFT=16,
                                                                //   2703                TOBYTE=1<<16, TOSHORT=1<<17, {1<<18 not sig}
                                                                //   2704                TOSTACK=1<<19, ASAD=1<<20
                                                                //   2705  
                                                                //   2706  %switch DO(0:opmax)
#line 2706 "regression-compile-tmp/imp22g-77.imp"
static int sw3_DO_idx;
static const void * /*SWITCH*/ sw3_DO[118] = { &&sw3_DO_0, &&sw3_DO_1, &&sw3_DO_2, &&sw3_DO_3, &&sw3_DO_4, &&sw3_DO_5, &&sw3_DO_6, &&sw3_DO_7, &&sw3_DO_8, &&sw3_DO_9, &&sw3_DO_10, &&sw3_DO_11, &&sw3_DO_12, &&sw3_DO_13, &&sw3_DO_14, &&sw3_DO_15, &&sw3_DO_16, &&sw3_DO_17, &&sw3_DO_18, &&sw3_DO_19, &&sw3_DO_20, &&sw3_DO_21, &&sw3_DO_22, &&sw3_DO_23, &&sw3_DO_24, &&sw3_DO_25, &&sw3_DO_26, &&sw3_DO_27, &&sw3_DO_28, &&sw3_DO_29, &&sw3_DO_30, &&sw3_DO_31, &&sw3_DO_32, &&sw3_DO_33, &&sw3_DO_34, &&sw3_DO_35, &&sw3_DO_36, &&sw3_DO_37, &&sw3_DO_38, &&sw3_DO_39, &&sw3_DO_40, &&sw3_DO_41, &&sw3_DO_42, &&sw3_DO_43, &&sw3_DO_44, &&sw3_DO_45, &&sw3_DO_46, &&sw3_DO_47, &&sw3_DO_48, &&sw3_DO_49, &&sw3_DO_50, &&sw3_DO_51, &&sw3_DO_52, &&sw3_DO_53, &&sw3_DO_54, &&sw3_DO_55, &&sw3_DO_56, &&sw3_DO_57, &&sw3_DO_58, &&sw3_DO_59, &&sw3_DO_60, &&sw3_DO_61, &&sw3_DO_62, &&sw3_DO_63, &&sw3_DO_64, &&sw3_DO_65, &&sw3_DO_66, &&sw3_DO_67, &&sw3_DO_68, &&sw3_DO_69, &&sw3_DO_70, &&sw3_DO_71, &&sw3_DO_72, &&sw3_DO_73, &&sw3_DO_74, &&sw3_DO_75, &&sw3_DO_76, &&sw3_DO_77, &&sw3_DO_78, &&sw3_DO_79, &&sw3_DO_80, &&sw3_DO_81, &&sw3_DO_82, &&sw3_DO_83, &&sw3_DO_84, &&sw3_DO_85, &&sw3_DO_86, &&sw3_DO_87, &&sw3_DO_88, &&sw3_DO_89, &&sw3_DO_90, &&sw3_DO_91, &&sw3_DO_92, &&sw3_DO_93, &&sw3_DO_94, &&sw3_DO_95, &&sw3_DO_96, &&sw3_DO_97, &&sw3_DO_98, &&sw3_DO_99, &&sw3_DO_100, &&sw3_DO_101, &&sw3_DO_102, &&sw3_DO_103, &&sw3_DO_104, &&sw3_DO_105, &&sw3_DO_106, &&sw3_DO_107, &&sw3_DO_108, &&sw3_DO_109, &&sw3_DO_110, &&sw3_DO_111, &&sw3_DO_112, &&sw3_DO_113, &&sw3_DO_114, &&sw3_DO_115, &&sw3_DO_116, &&sw3_DO_117,  };
                                                                //   2707  %owninteger STSIZ=0;  !this variable is used to convey a
#line 2707 "regression-compile-tmp/imp22g-77.imp"
static int STSIZ = 0;
                                                                //   2708      !rarely required 3rd parameter to EVAL
                                                                //   2709      !Its value is captured into STSIZE on entry
                                                                //   2710      !A negative value indicates a string;
                                                                //   2711      ! a positive value a fixed length structure
                                                                //   2712      ! * CF normal use of negative/positive size *
                                                                //   2713  %integer I,J,P,ACT,X,Y,XX,YY,WX,WY,SX,SY,R,OLDFREE,FREED
#line 2713 "regression-compile-tmp/imp22g-77.imp"
int I;
#line 2713 "regression-compile-tmp/imp22g-77.imp"
int J;
#line 2713 "regression-compile-tmp/imp22g-77.imp"
int P;
#line 2713 "regression-compile-tmp/imp22g-77.imp"
int ACT;
#line 2713 "regression-compile-tmp/imp22g-77.imp"
int X;
#line 2713 "regression-compile-tmp/imp22g-77.imp"
int Y;
#line 2713 "regression-compile-tmp/imp22g-77.imp"
int XX;
#line 2713 "regression-compile-tmp/imp22g-77.imp"
int YY;
#line 2713 "regression-compile-tmp/imp22g-77.imp"
int WX;
#line 2713 "regression-compile-tmp/imp22g-77.imp"
int WY;
#line 2713 "regression-compile-tmp/imp22g-77.imp"
int SX;
#line 2713 "regression-compile-tmp/imp22g-77.imp"
int SY;
#line 2713 "regression-compile-tmp/imp22g-77.imp"
int R;
#line 2713 "regression-compile-tmp/imp22g-77.imp"
int OLDFREE;
#line 2713 "regression-compile-tmp/imp22g-77.imp"
int FREED;
                                                                //   2714  %integer M,V,SP,STSIZE,OP,CASE
#line 2714 "regression-compile-tmp/imp22g-77.imp"
int M;
#line 2714 "regression-compile-tmp/imp22g-77.imp"
int V;
#line 2714 "regression-compile-tmp/imp22g-77.imp"
int SP;
#line 2714 "regression-compile-tmp/imp22g-77.imp"
int STSIZE;
#line 2714 "regression-compile-tmp/imp22g-77.imp"
int OP;
#line 2714 "regression-compile-tmp/imp22g-77.imp"
int CASE;
                                                                //   2715  %record(identinfo)%name DP,DX,DY,TX
#line 2715 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DP;
#line 2715 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DX;
#line 2715 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DY;
#line 2715 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*TX;
                                                                //   2716  
                                                                //   2717  %integer%fn FREE DREG
#line 2717 "regression-compile-tmp/imp22g-77.imp"
int FREEDREG( void )
#line 2717 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2718    %result = free reg(anydreg)
#line 2718 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return FREEREG(239);
                                                                //   2719  %end
#line 2719 "regression-compile-tmp/imp22g-77.imp"
} // End of block FREEDREG at level 3
                                                                //   2720  
                                                                //   2721  %integer%fn FREE AREG(%integer content)
#line 2721 "regression-compile-tmp/imp22g-77.imp"
int FREEAREG( int CONTENT )
#line 2721 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2722  %integer r
#line 2722 "regression-compile-tmp/imp22g-77.imp"
int R;
                                                                //   2723    r = free reg(anyareg)
#line 2723 "regression-compile-tmp/imp22g-77.imp"
R = FREEREG(65280);
                                                                //   2724    c_reg_content(r) = content
#line 2724 "regression-compile-tmp/imp22g-77.imp"
C.REG.CONTENT[(((int)(R)) - (1))] = CONTENT;
                                                                //   2725    %result = r
#line 2725 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return R;
                                                                //   2726  %end
#line 2726 "regression-compile-tmp/imp22g-77.imp"
} // End of block FREEAREG at level 3
                                                                //   2727  
                                                                //   2728  %routine PUSH(%integer x)
#line 2728 "regression-compile-tmp/imp22g-77.imp"
void PUSH( int X )
#line 2728 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2729    plant(move,x,prea7);  extend stack(4)
#line 2729 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, X, 40);
#line 2729 "regression-compile-tmp/imp22g-77.imp"
EXTENDSTACK(4);
                                                                //   2730  %end
#line 2730 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUSH at level 3
                                                                //   2731  %routine POP(%integer x)
#line 2731 "regression-compile-tmp/imp22g-77.imp"
void POP( int X )
#line 2731 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2732    plant(move,posta7,x);  c_sp = c_sp+4
#line 2732 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, 32, X);
#line 2732 "regression-compile-tmp/imp22g-77.imp"
C.SP = (((int)(C.SP)) + (4));
                                                                //   2733  %end
#line 2733 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block POP at level 3
                                                                //   2734  %routine PUSHS(%integer x,s)
#line 2734 "regression-compile-tmp/imp22g-77.imp"
void PUSHS( int X, int S )
#line 2734 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2735    plant(move+s<<8,x,prea7)
#line 2735 "regression-compile-tmp/imp22g-77.imp"
PLANT(((1) + ((int)(((S) << (8))))), X, 40);
                                                                //   2736    %if s < 4 %then extend stack(2) %else extend stack(4)
#line 2736 "regression-compile-tmp/imp22g-77.imp"
if (((S) >= (4))) goto L_01dc;
#line 2736 "regression-compile-tmp/imp22g-77.imp"
EXTENDSTACK(2);
#line 2736 "regression-compile-tmp/imp22g-77.imp"
goto L_01dd;
#line 2736 "regression-compile-tmp/imp22g-77.imp"
L_01dc:;
#line 2736 "regression-compile-tmp/imp22g-77.imp"
EXTENDSTACK(4);
#line 2736 "regression-compile-tmp/imp22g-77.imp"
L_01dd:;
                                                                //   2737  %end
#line 2737 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUSHS at level 3
                                                                //   2738  
                                                                //   2739  %routine PUSH BLOCK(%integer areg,bytes)
#line 2739 "regression-compile-tmp/imp22g-77.imp"
void PUSHBLOCK( int AREG, int BYTES )
#line 2739 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2740    %if bytes <= 4 %then move block(areg+indir,prea7,bytes) %c
#line 2740 "regression-compile-tmp/imp22g-77.imp"
if (((BYTES) > (4))) goto L_01de;
#line 2740 "regression-compile-tmp/imp22g-77.imp"
MOVEBLOCK((((int)(AREG)) + (8)), 40, BYTES);
#line 2740 "regression-compile-tmp/imp22g-77.imp"
goto L_01df;
#line 2740 "regression-compile-tmp/imp22g-77.imp"
L_01de:;
#line 2740 "regression-compile-tmp/imp22g-77.imp"
ADDIMM(BYTES, AREG);
#line 2740 "regression-compile-tmp/imp22g-77.imp"
MOVEBLOCK((((int)(AREG)) + (24)), 40, BYTES);
#line 2740 "regression-compile-tmp/imp22g-77.imp"
L_01df:;
                                                                //   2741    %else addimm(bytes,areg) %and move block(areg+pre,prea7,bytes)
                                                                //   2742    extend stack(bytes)
#line 2742 "regression-compile-tmp/imp22g-77.imp"
EXTENDSTACK(BYTES);
                                                                //   2743  %end
#line 2743 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUSHBLOCK at level 3
                                                                //   2744  
                                                                //   2745  %routine COMPILE UNCOND BRANCH(%integer l)
#line 2745 "regression-compile-tmp/imp22g-77.imp"
void COMPILEUNCONDBRANCH( int L )
#line 2745 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2746    %if pendcond # 0 %start
#line 2746 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) == (0))) goto L_01e0;
                                                                //   2747      %if pendcond < 0 %start
#line 2747 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) >= (0))) goto L_01e1;
                                                                //   2748        pendcond = 0;  !ok?
#line 2748 "regression-compile-tmp/imp22g-77.imp"
PENDCOND = 0;
                                                                //   2749      %finish %else %if pendin # 0 %start
#line 2749 "regression-compile-tmp/imp22g-77.imp"
goto L_01e2;
#line 2749 "regression-compile-tmp/imp22g-77.imp"
L_01e1:;
#line 2749 "regression-compile-tmp/imp22g-77.imp"
if (((PENDIN) == (0))) goto L_01e3;
                                                                //   2750        flush;                ![safe - improvable?]
#line 2750 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
                                                                //   2751      %else
#line 2751 "regression-compile-tmp/imp22g-77.imp"
goto L_01e2;
#line 2751 "regression-compile-tmp/imp22g-77.imp"
L_01e3:;
                                                                //   2752        pendcond = pendcond!!1
#line 2752 "regression-compile-tmp/imp22g-77.imp"
PENDCOND = ((PENDCOND) ^ (1));
                                                                //   2753        c_access = -2 %if pp+1 < np %and dict(pp+1)_act = else
#line 2753 "regression-compile-tmp/imp22g-77.imp"
if (((((*(int *)(PP)) + (1))) >= (NP))) goto L_01e4;
#line 2753 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[((*(int *)(PP)) + (1))].ACT) != (40))) goto L_01e4;
#line 2753 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = (-2);
#line 2753 "regression-compile-tmp/imp22g-77.imp"
L_01e4:;
                                                                //   2754      %finish
#line 2754 "regression-compile-tmp/imp22g-77.imp"
L_01e2:;
                                                                //   2755    %finish
#line 2755 "regression-compile-tmp/imp22g-77.imp"
L_01e0:;
                                                                //   2756    pendcond = pendcond&15
#line 2756 "regression-compile-tmp/imp22g-77.imp"
PENDCOND = ((PENDCOND) & (15));
                                                                //   2757    c_access = 0 %if pendcond = 0
#line 2757 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) != (0))) goto L_01e5;
#line 2757 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = 0;
#line 2757 "regression-compile-tmp/imp22g-77.imp"
L_01e5:;
                                                                //   2758    plant(bra+pendcond,0,l) %if pendcond # 1
#line 2758 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) == (1))) goto L_01e6;
#line 2758 "regression-compile-tmp/imp22g-77.imp"
PLANT((((int)(16)) + (PENDCOND)), 0, L);
#line 2758 "regression-compile-tmp/imp22g-77.imp"
L_01e6:;
                                                                //   2759    pendcond = 0
#line 2759 "regression-compile-tmp/imp22g-77.imp"
PENDCOND = 0;
                                                                //   2760  %end
#line 2760 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COMPILEUNCONDBRANCH at level 3
                                                                //   2761  
                                                                //   2762  %integer%fn CLEAN REG
#line 2762 "regression-compile-tmp/imp22g-77.imp"
int CLEANREG( void )
#line 2762 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2763  %integer r
#line 2763 "regression-compile-tmp/imp22g-77.imp"
int R;
                                                                //   2764    free = free-bregb %and %result = breg %if free&bregb # 0
#line 2764 "regression-compile-tmp/imp22g-77.imp"
if (((((FREE) & (16))) == (0))) goto L_01e7;
#line 2764 "regression-compile-tmp/imp22g-77.imp"
FREE = (((int)(FREE)) - (16));
#line 2764 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 5;
#line 2764 "regression-compile-tmp/imp22g-77.imp"
L_01e7:;
                                                                //   2765    r = free dreg
#line 2765 "regression-compile-tmp/imp22g-77.imp"
R = FREEDREG();
                                                                //   2766    plant(clr,0,r)
#line 2766 "regression-compile-tmp/imp22g-77.imp"
PLANT(52, 0, R);
                                                                //   2767    %result = r
#line 2767 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return R;
                                                                //   2768  %end
#line 2768 "regression-compile-tmp/imp22g-77.imp"
} // End of block CLEANREG at level 3
                                                                //   2769  
                                                                //   2770  %integer%fn WEIGHT(%integer p)
#line 2770 "regression-compile-tmp/imp22g-77.imp"
int WEIGHT( int P )
#line 2770 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2771  !(Heuristic: can't anticipate all generation decisions)
                                                                //   2772  %integer a,wy
#line 2772 "regression-compile-tmp/imp22g-77.imp"
int A;
#line 2772 "regression-compile-tmp/imp22g-77.imp"
int WY;
                                                                //   2773  %record(identinfo)%name dp
#line 2773 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DP;
                                                                //   2774    p = p-ad %if p >= explim
#line 2774 "regression-compile-tmp/imp22g-77.imp"
if (((P) < (EXPLIM))) goto L_01e8;
#line 2774 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(P)) - (16384));
#line 2774 "regression-compile-tmp/imp22g-77.imp"
L_01e8:;
                                                                //   2775    %result = 1 %if p < np0
#line 2775 "regression-compile-tmp/imp22g-77.imp"
if (((P) >= (NP0))) goto L_01e9;
#line 2775 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 2775 "regression-compile-tmp/imp22g-77.imp"
L_01e9:;
                                                                //   2776    dp == dict(p)
#line 2776 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[P];
                                                                //   2777    a = dp_act
#line 2777 "regression-compile-tmp/imp22g-77.imp"
A = DP->ACT;
                                                                //   2778    %result = 999 %if a >= imul;  !funcall,mapcall
#line 2778 "regression-compile-tmp/imp22g-77.imp"
if (((A) < (86))) goto L_01ea;
#line 2778 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 999;
#line 2778 "regression-compile-tmp/imp22g-77.imp"
L_01ea:;
                                                                //   2779    wy = weight(dp_y)
#line 2779 "regression-compile-tmp/imp22g-77.imp"
WY = WEIGHT(DP->Y);
                                                                //   2780    %result = wy %if wy >= 999
#line 2780 "regression-compile-tmp/imp22g-77.imp"
if (((WY) < (999))) goto L_01eb;
#line 2780 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return WY;
#line 2780 "regression-compile-tmp/imp22g-77.imp"
L_01eb:;
                                                                //   2781    wy = wy-1 %if a = recref %and dict(dp_x)_flags >= 0
#line 2781 "regression-compile-tmp/imp22g-77.imp"
if (((A) != (45))) goto L_01ec;
#line 2781 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[DP->X].FLAGS) < (0))) goto L_01ec;
#line 2781 "regression-compile-tmp/imp22g-77.imp"
WY = (((int)(WY)) - (1));
#line 2781 "regression-compile-tmp/imp22g-77.imp"
L_01ec:;
                                                                //   2782    %result = wy+weight(dp_x)
#line 2782 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(WY)) + (WEIGHT(DP->X)));
                                                                //   2783  %end
#line 2783 "regression-compile-tmp/imp22g-77.imp"
} // End of block WEIGHT at level 3
                                                                //   2784  
                                                                //   2785  %routine CHECK ADDRESS(%integer v)
#line 2785 "regression-compile-tmp/imp22g-77.imp"
void CHECKADDRESS( int V )
#line 2785 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2786    %if a0 <= v <= a7 %then plant(cmp+2<<8,0,v) %else plant(tst,0,v)
#line 2786 "regression-compile-tmp/imp22g-77.imp"
if ((((9) > (V))) || (((V) > (16)))) goto L_01ed;
#line 2786 "regression-compile-tmp/imp22g-77.imp"
PLANT(((4) + ((int)(((2) << (8))))), 0, V);
#line 2786 "regression-compile-tmp/imp22g-77.imp"
goto L_01ee;
#line 2786 "regression-compile-tmp/imp22g-77.imp"
L_01ed:;
#line 2786 "regression-compile-tmp/imp22g-77.imp"
PLANT(59, 0, V);
#line 2786 "regression-compile-tmp/imp22g-77.imp"
L_01ee:;
                                                                //   2787    srcall(adok)
#line 2787 "regression-compile-tmp/imp22g-77.imp"
SRCALL(103);
                                                                //   2788    forget cc
#line 2788 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
                                                                //   2789  %end
#line 2789 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CHECKADDRESS at level 3
                                                                //   2790  
                                                                //   2791  !!!!!!!!!!!!!!!!!!!  Procedure call  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   2792  !
                                                                //   2793  !      _____ACT_________X__________Y____
                                                                //   2794  ! P -> | procident | param 1 | param 2 |
                                                                //   2795  !      |     0     | param 3 | param 4 |
                                                                //   2796  !      .           .         .         .
                                                                //   2797  !
                                                                //   2798  %routine CALL
#line 2798 "regression-compile-tmp/imp22g-77.imp"
void CALL( void )
#line 2798 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2799  !Load parameters following P and call procedure ACT (DX)
                                                                //   2800  ! Update PP for RCALL
                                                                //   2801  %integer sp,stage,maxq,awkward
#line 2801 "regression-compile-tmp/imp22g-77.imp"
int SP;
#line 2801 "regression-compile-tmp/imp22g-77.imp"
int STAGE;
#line 2801 "regression-compile-tmp/imp22g-77.imp"
int MAXQ;
#line 2801 "regression-compile-tmp/imp22g-77.imp"
int AWKWARD;
                                                                //   2802  
                                                                //   2803  %routine EVAL PARLIST(%integer arg,q)
#line 2803 "regression-compile-tmp/imp22g-77.imp"
void EVALPARLIST( int ARG, int Q )
#line 2803 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2804  %record(identinfo)%name darg,dv
#line 2804 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DARG;
#line 2804 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DV;
                                                                //   2805  %integer v,w,f,r,s
#line 2805 "regression-compile-tmp/imp22g-77.imp"
int V;
#line 2805 "regression-compile-tmp/imp22g-77.imp"
int W;
#line 2805 "regression-compile-tmp/imp22g-77.imp"
int F;
#line 2805 "regression-compile-tmp/imp22g-77.imp"
int R;
#line 2805 "regression-compile-tmp/imp22g-77.imp"
int S;
                                                                //   2806  !Stage 0 (forward):
                                                                //   2807  !Stage 0 (returning):
                                                                //   2808  !Stage 1 (forward):
                                                                //   2809  !Stage 1 (returning):
                                                                //   2810    %return %if arg = 0
#line 2810 "regression-compile-tmp/imp22g-77.imp"
if (((ARG) != (0))) goto L_01ef;
#line 2810 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2810 "regression-compile-tmp/imp22g-77.imp"
L_01ef:;
                                                                //   2811    darg == dict(arg)
#line 2811 "regression-compile-tmp/imp22g-77.imp"
DARG = &DICT[ARG];
                                                                //   2812    q = q+1;  maxq = q %if q > maxq
#line 2812 "regression-compile-tmp/imp22g-77.imp"
Q = (((int)(Q)) + (1));
#line 2812 "regression-compile-tmp/imp22g-77.imp"
if (((Q) <= (MAXQ))) goto L_01f0;
#line 2812 "regression-compile-tmp/imp22g-77.imp"
MAXQ = Q;
#line 2812 "regression-compile-tmp/imp22g-77.imp"
L_01f0:;
                                                                //   2813    %if q&1 = 0 %then v = dict(p+q>>1)_x %else v = dict(p+q>>1)_y
#line 2813 "regression-compile-tmp/imp22g-77.imp"
if (((((Q) & (1))) != (0))) goto L_01f1;
#line 2813 "regression-compile-tmp/imp22g-77.imp"
V = DICT[((P) + ((int)((int)((((unsigned int)(Q)) >> (1))))))].X;
#line 2813 "regression-compile-tmp/imp22g-77.imp"
goto L_01f2;
#line 2813 "regression-compile-tmp/imp22g-77.imp"
L_01f1:;
#line 2813 "regression-compile-tmp/imp22g-77.imp"
V = DICT[((P) + ((int)((int)((((unsigned int)(Q)) >> (1))))))].Y;
#line 2813 "regression-compile-tmp/imp22g-77.imp"
L_01f2:;
                                                                //   2814    r = darg_reg&15
#line 2814 "regression-compile-tmp/imp22g-77.imp"
R = ((DARG->REG) & (15));
                                                                //   2815    s = size(darg_type)
#line 2815 "regression-compile-tmp/imp22g-77.imp"
S = SIZE(DARG->TYPE);
                                                                //   2816    %if darg_flags&proc # 0 %start
#line 2816 "regression-compile-tmp/imp22g-77.imp"
if (((((DARG->FLAGS) & (12288))) == (0))) goto L_01f3;
                                                                //   2817      s = 0
#line 2817 "regression-compile-tmp/imp22g-77.imp"
S = 0;
                                                                //   2818      %if awkward # 0 %start
#line 2818 "regression-compile-tmp/imp22g-77.imp"
if (((AWKWARD) == (0))) goto L_01f4;
                                                                //   2819        f = v;  f = f-ad %if f >= explim
#line 2819 "regression-compile-tmp/imp22g-77.imp"
F = V;
#line 2819 "regression-compile-tmp/imp22g-77.imp"
if (((F) < (EXPLIM))) goto L_01f5;
#line 2819 "regression-compile-tmp/imp22g-77.imp"
F = (((int)(F)) - (16384));
#line 2819 "regression-compile-tmp/imp22g-77.imp"
L_01f5:;
                                                                //   2820        dv == dict(f)
#line 2820 "regression-compile-tmp/imp22g-77.imp"
DV = &DICT[F];
                                                                //   2821        %if dv_flags&(ext+spec) # ext+spec %start
#line 2821 "regression-compile-tmp/imp22g-77.imp"
if (((((DV->FLAGS) & (16640))) == (16640))) goto L_01f6;
                                                                //   2822        !non-external to (maybe) external
                                                                //   2823          eval parlist(darg_link,q) %and %return %if stage # 0
#line 2823 "regression-compile-tmp/imp22g-77.imp"
if (((STAGE) == (0))) goto L_01f7;
#line 2823 "regression-compile-tmp/imp22g-77.imp"
EVALPARLIST(DARG->LINK, Q);
#line 2823 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2823 "regression-compile-tmp/imp22g-77.imp"
L_01f7:;
                                                                //   2824          %if dv_flags&(name+indirect) # 0 %then plant(move,f,prea7) %C
#line 2824 "regression-compile-tmp/imp22g-77.imp"
if (((((DV->FLAGS) & ((-30720)))) == (0))) goto L_01f8;
#line 2824 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, F, 40);
#line 2824 "regression-compile-tmp/imp22g-77.imp"
goto L_01f9;
#line 2824 "regression-compile-tmp/imp22g-77.imp"
L_01f8:;
#line 2824 "regression-compile-tmp/imp22g-77.imp"
PLANT(55, 0, F);
#line 2824 "regression-compile-tmp/imp22g-77.imp"
L_01f9:;
                                                                //   2825          %else plant(pea,0,f)
                                                                //   2826          plantlit(move+2<<8,16_4EF9,prea7)  {JMP entry}
#line 2826 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(((1) + ((int)(((2) << (8))))), 20217, 40);
                                                                //   2827          plant(move,mb,prea7)
#line 2827 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, 13, 40);
                                                                //   2828          plantlit(move+2<<8,16_287C,prea7)  {MOVE #xxxx,mb}
#line 2828 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(((1) + ((int)(((2) << (8))))), 10364, 40);
                                                                //   2829          extend stack(12)
#line 2829 "regression-compile-tmp/imp22g-77.imp"
EXTENDSTACK(12);
                                                                //   2830          s = c_sp
#line 2830 "regression-compile-tmp/imp22g-77.imp"
S = C.SP;
                                                                //   2831          eval parlist(darg_link,q)
#line 2831 "regression-compile-tmp/imp22g-77.imp"
EVALPARLIST(DARG->LINK, Q);
                                                                //   2832          %if darg_val > 0 %start
#line 2832 "regression-compile-tmp/imp22g-77.imp"
if (((DARG->VAL) <= (0))) goto L_01fa;
                                                                //   2833            plant(pea,0,temp(c_mode,s))
#line 2833 "regression-compile-tmp/imp22g-77.imp"
PLANT(55, 0, TEMP(C.MODE, S));
                                                                //   2834          %else
#line 2834 "regression-compile-tmp/imp22g-77.imp"
goto L_01fb;
#line 2834 "regression-compile-tmp/imp22g-77.imp"
L_01fa:;
                                                                //   2835            plant(lea,temp(c_mode,s),r+d0)
#line 2835 "regression-compile-tmp/imp22g-77.imp"
PLANT(78, TEMP(C.MODE, S), (((int)(R)) + (1)));
                                                                //   2836            free = free&(\(d0b<<r))
#line 2836 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) & ((~(((1) << (R))))));
                                                                //   2837          %finish
#line 2837 "regression-compile-tmp/imp22g-77.imp"
L_01fb:;
                                                                //   2838          %return
#line 2838 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2839        %finish
#line 2839 "regression-compile-tmp/imp22g-77.imp"
L_01f6:;
                                                                //   2840      %finish
#line 2840 "regression-compile-tmp/imp22g-77.imp"
L_01f4:;
                                                                //   2841    %finish
#line 2841 "regression-compile-tmp/imp22g-77.imp"
L_01f3:;
                                                                //   2842    %if darg_val > 0 %start;  !passed on stack
#line 2842 "regression-compile-tmp/imp22g-77.imp"
if (((DARG->VAL) <= (0))) goto L_01fc;
                                                                //   2843      eval parlist(darg_link,q)
#line 2843 "regression-compile-tmp/imp22g-77.imp"
EVALPARLIST(DARG->LINK, Q);
                                                                //   2844      %return %if stage # 0
#line 2844 "regression-compile-tmp/imp22g-77.imp"
if (((STAGE) == (0))) goto L_01fd;
#line 2844 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2844 "regression-compile-tmp/imp22g-77.imp"
L_01fd:;
                                                                //   2845      %if darg_flags < 0 %start;     !name
#line 2845 "regression-compile-tmp/imp22g-77.imp"
if (((DARG->FLAGS) >= (0))) goto L_01fe;
                                                                //   2846        f = free
#line 2846 "regression-compile-tmp/imp22g-77.imp"
F = FREE;
                                                                //   2847  !      eval(v,ref)
                                                                //   2848  !      plant(pea,0,v);  extend stack(4)
                                                                //   2849        eval(v,anyareg)
#line 2849 "regression-compile-tmp/imp22g-77.imp"
EVAL(&V, 65280);
                                                                //   2850        push(v)
#line 2850 "regression-compile-tmp/imp22g-77.imp"
PUSH(V);
                                                                //   2851        free = f
#line 2851 "regression-compile-tmp/imp22g-77.imp"
FREE = F;
                                                                //   2852        %return
#line 2852 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2853      %finish
#line 2853 "regression-compile-tmp/imp22g-77.imp"
L_01fe:;
                                                                //   2854      %if s > 0 %start;              !simple value
#line 2854 "regression-compile-tmp/imp22g-77.imp"
if (((S) <= (0))) goto L_01ff;
                                                                //   2855        f = free;  eval(v,val)
#line 2855 "regression-compile-tmp/imp22g-77.imp"
F = FREE;
#line 2855 "regression-compile-tmp/imp22g-77.imp"
EVAL(&V, (-2147418113));
                                                                //   2856        pushs(v,s)
#line 2856 "regression-compile-tmp/imp22g-77.imp"
PUSHS(V, S);
                                                                //   2857        free = f
#line 2857 "regression-compile-tmp/imp22g-77.imp"
FREE = F;
                                                                //   2858      %else;                        !structure by value
#line 2858 "regression-compile-tmp/imp22g-77.imp"
goto L_0200;
#line 2858 "regression-compile-tmp/imp22g-77.imp"
L_01ff:;
                                                                //   2859        stsiz = s
#line 2859 "regression-compile-tmp/imp22g-77.imp"
STSIZ = S;
                                                                //   2860        stsiz = -stsiz %if category(darg_type) # stringy
#line 2860 "regression-compile-tmp/imp22g-77.imp"
if (((CATEGORY(DARG->TYPE)) == (8))) goto L_0201;
#line 2860 "regression-compile-tmp/imp22g-77.imp"
STSIZ = (-(STSIZ));
#line 2860 "regression-compile-tmp/imp22g-77.imp"
L_0201:;
                                                                //   2861        eval(v,tostack)
#line 2861 "regression-compile-tmp/imp22g-77.imp"
EVAL(&V, 524288);
                                                                //   2862      %finish
#line 2862 "regression-compile-tmp/imp22g-77.imp"
L_0200:;
                                                                //   2863      %return
#line 2863 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2864    %finish
#line 2864 "regression-compile-tmp/imp22g-77.imp"
L_01fc:;
                                                                //   2865    %if s <= 0 %and darg_flags >= 0 %start
#line 2865 "regression-compile-tmp/imp22g-77.imp"
if (((S) > (0))) goto L_0202;
#line 2865 "regression-compile-tmp/imp22g-77.imp"
if (((DARG->FLAGS) < (0))) goto L_0202;
                                                                //   2866      !structure by value -- ad in reg
                                                                //   2867      v = v-ad %if v >= explim
#line 2867 "regression-compile-tmp/imp22g-77.imp"
if (((V) < (EXPLIM))) goto L_0203;
#line 2867 "regression-compile-tmp/imp22g-77.imp"
V = (((int)(V)) - (16384));
#line 2867 "regression-compile-tmp/imp22g-77.imp"
L_0203:;
                                                                //   2868      %if v >= np0 %start
#line 2868 "regression-compile-tmp/imp22g-77.imp"
if (((V) < (NP0))) goto L_0204;
                                                                //   2869        dv == dict(v)
#line 2869 "regression-compile-tmp/imp22g-77.imp"
DV = &DICT[V];
                                                                //   2870        %if dv_act >= concat %and dv_mode = 0 %start
#line 2870 "regression-compile-tmp/imp22g-77.imp"
if (((DV->ACT) < (106))) goto L_0205;
#line 2870 "regression-compile-tmp/imp22g-77.imp"
if (((DV->MODE) != (0))) goto L_0205;
                                                                //   2871          !string/record function
                                                                //   2872          %if stage = 0 %start
#line 2872 "regression-compile-tmp/imp22g-77.imp"
if (((STAGE) != (0))) goto L_0206;
                                                                //   2873            stsiz = s
#line 2873 "regression-compile-tmp/imp22g-77.imp"
STSIZ = S;
                                                                //   2874            stsiz = -stsiz %if category(darg_type) # stringy
#line 2874 "regression-compile-tmp/imp22g-77.imp"
if (((CATEGORY(DARG->TYPE)) == (8))) goto L_0207;
#line 2874 "regression-compile-tmp/imp22g-77.imp"
STSIZ = (-(STSIZ));
#line 2874 "regression-compile-tmp/imp22g-77.imp"
L_0207:;
                                                                //   2875            r = v;  eval(r,tostack);  free = free!a0b;  ![?here?]
#line 2875 "regression-compile-tmp/imp22g-77.imp"
R = V;
#line 2875 "regression-compile-tmp/imp22g-77.imp"
EVAL(&R, 524288);
#line 2875 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) | (256));
                                                                //   2876            c_reg_content(a0) = v+ad
#line 2876 "regression-compile-tmp/imp22g-77.imp"
C.REG.CONTENT[8] = (((int)(V)) + (16384));
                                                                //   2877            dv_val = c_sp
#line 2877 "regression-compile-tmp/imp22g-77.imp"
DV->VAL = C.SP;
                                                                //   2878            eval parlist(darg_link,q)
#line 2878 "regression-compile-tmp/imp22g-77.imp"
EVALPARLIST(DARG->LINK, Q);
                                                                //   2879          %else
#line 2879 "regression-compile-tmp/imp22g-77.imp"
goto L_0208;
#line 2879 "regression-compile-tmp/imp22g-77.imp"
L_0206:;
                                                                //   2880            eval parlist(darg_link,q)
#line 2880 "regression-compile-tmp/imp22g-77.imp"
EVALPARLIST(DARG->LINK, Q);
                                                                //   2881            %if c_reg_content(r+d0) # v+ad %start
#line 2881 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CONTENT[(((int)((((int)(R)) + (1)))) - (1))]) == ((((int)(V)) + (16384))))) goto L_0209;
                                                                //   2882              dv_mode = c_mode
#line 2882 "regression-compile-tmp/imp22g-77.imp"
DV->MODE = C.MODE;
                                                                //   2883              plant(lea,v,r+d0)
#line 2883 "regression-compile-tmp/imp22g-77.imp"
PLANT(78, V, (((int)(R)) + (1)));
                                                                //   2884              dv_mode = 0
#line 2884 "regression-compile-tmp/imp22g-77.imp"
DV->MODE = 0;
                                                                //   2885            %finish
#line 2885 "regression-compile-tmp/imp22g-77.imp"
L_0209:;
                                                                //   2886            free = free&(\(d0b<<r))
#line 2886 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) & ((~(((1) << (R))))));
                                                                //   2887          %finish
#line 2887 "regression-compile-tmp/imp22g-77.imp"
L_0208:;
                                                                //   2888          %return
#line 2888 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2889        %finish
#line 2889 "regression-compile-tmp/imp22g-77.imp"
L_0205:;
                                                                //   2890      %finish
#line 2890 "regression-compile-tmp/imp22g-77.imp"
L_0204:;
                                                                //   2891      v = v+ad
#line 2891 "regression-compile-tmp/imp22g-77.imp"
V = (((int)(V)) + (16384));
                                                                //   2892    %finish
#line 2892 "regression-compile-tmp/imp22g-77.imp"
L_0202:;
                                                                //   2893    w = weight(v)
#line 2893 "regression-compile-tmp/imp22g-77.imp"
W = WEIGHT(V);
                                                                //   2894    %if w >= 999 %start
#line 2894 "regression-compile-tmp/imp22g-77.imp"
if (((W) < (999))) goto L_020a;
                                                                //   2895      eval parlist(darg_link,q)
#line 2895 "regression-compile-tmp/imp22g-77.imp"
EVALPARLIST(DARG->LINK, Q);
                                                                //   2896      %return %if stage # 0
#line 2896 "regression-compile-tmp/imp22g-77.imp"
if (((STAGE) == (0))) goto L_020b;
#line 2896 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2896 "regression-compile-tmp/imp22g-77.imp"
L_020b:;
                                                                //   2897    %else
#line 2897 "regression-compile-tmp/imp22g-77.imp"
goto L_020c;
#line 2897 "regression-compile-tmp/imp22g-77.imp"
L_020a:;
                                                                //   2898      %if w >= 2 %and stage # 0 %start
#line 2898 "regression-compile-tmp/imp22g-77.imp"
if (((W) < (2))) goto L_020d;
#line 2898 "regression-compile-tmp/imp22g-77.imp"
if (((STAGE) == (0))) goto L_020d;
                                                                //   2899        eval(v,d0b<<r)
#line 2899 "regression-compile-tmp/imp22g-77.imp"
EVAL(&V, ((1) << (R)));
                                                                //   2900        eval parlist(darg_link,q)
#line 2900 "regression-compile-tmp/imp22g-77.imp"
EVALPARLIST(DARG->LINK, Q);
                                                                //   2901        %return
#line 2901 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2902      %finish
#line 2902 "regression-compile-tmp/imp22g-77.imp"
L_020d:;
                                                                //   2903      eval parlist(darg_link,q)
#line 2903 "regression-compile-tmp/imp22g-77.imp"
EVALPARLIST(DARG->LINK, Q);
                                                                //   2904      %return %if stage = 0
#line 2904 "regression-compile-tmp/imp22g-77.imp"
if (((STAGE) != (0))) goto L_020e;
#line 2904 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2904 "regression-compile-tmp/imp22g-77.imp"
L_020e:;
                                                                //   2905    %finish
#line 2905 "regression-compile-tmp/imp22g-77.imp"
L_020c:;
                                                                //   2906    eval(v,d0b<<r)
#line 2906 "regression-compile-tmp/imp22g-77.imp"
EVAL(&V, ((1) << (R)));
                                                                //   2907  %end
#line 2907 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block EVALPARLIST at level 4
                                                                //   2908  
                                                                //   2909    awkward = 0
#line 2909 "regression-compile-tmp/imp22g-77.imp"
AWKWARD = 0;
                                                                //   2910    awkward = 1 %and push(mb) %if dx_flags&proc2 # 0 %c
#line 2910 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & (8192))) == (0))) goto L_020f;
#line 2910 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & (16384))) == (0))) goto L_0210;
#line 2910 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & (256))) == (0))) goto L_020f;
#line 2910 "regression-compile-tmp/imp22g-77.imp"
L_0210:;
#line 2910 "regression-compile-tmp/imp22g-77.imp"
AWKWARD = 1;
#line 2910 "regression-compile-tmp/imp22g-77.imp"
PUSH(13);
#line 2910 "regression-compile-tmp/imp22g-77.imp"
L_020f:;
                                                                //   2911             %and (dx_flags&ext = 0 %or dx_flags&spec # 0);  !param or external
                                                                //   2912    sp = c_sp
#line 2912 "regression-compile-tmp/imp22g-77.imp"
SP = C.SP;
                                                                //   2913    maxq = 0
#line 2913 "regression-compile-tmp/imp22g-77.imp"
MAXQ = 0;
                                                                //   2914    stage = 0
#line 2914 "regression-compile-tmp/imp22g-77.imp"
STAGE = 0;
                                                                //   2915    eval parlist(dict(dx_type)_link,-1)
#line 2915 "regression-compile-tmp/imp22g-77.imp"
EVALPARLIST(DICT[DX->TYPE].LINK, (-1));
                                                                //   2916    stage = 1
#line 2916 "regression-compile-tmp/imp22g-77.imp"
STAGE = 1;
                                                                //   2917    eval parlist(dict(dx_type)_link,-1)
#line 2917 "regression-compile-tmp/imp22g-77.imp"
EVALPARLIST(DICT[DX->TYPE].LINK, (-1));
                                                                //   2918    srcall(act)
#line 2918 "regression-compile-tmp/imp22g-77.imp"
SRCALL(ACT);
                                                                //   2919    %if c_sp # sp %start
#line 2919 "regression-compile-tmp/imp22g-77.imp"
if (((C.SP) == (SP))) goto L_0211;
                                                                //   2920      addimm(sp-c_sp,a7);  c_sp = sp
#line 2920 "regression-compile-tmp/imp22g-77.imp"
ADDIMM((((int)(SP)) - (C.SP)), 16);
#line 2920 "regression-compile-tmp/imp22g-77.imp"
C.SP = SP;
                                                                //   2921    %finish
#line 2921 "regression-compile-tmp/imp22g-77.imp"
L_0211:;
                                                                //   2922    pop(mb) %if awkward # 0
#line 2922 "regression-compile-tmp/imp22g-77.imp"
if (((AWKWARD) == (0))) goto L_0212;
#line 2922 "regression-compile-tmp/imp22g-77.imp"
POP(13);
#line 2922 "regression-compile-tmp/imp22g-77.imp"
L_0212:;
                                                                //   2923    pp = p+maxq>>1 %if p < np;  !update for RCALL + RESOL
#line 2923 "regression-compile-tmp/imp22g-77.imp"
if (((P) >= (NP))) goto L_0213;
#line 2923 "regression-compile-tmp/imp22g-77.imp"
*PP = ((P) + ((int)((int)((((unsigned int)(MAXQ)) >> (1))))));
#line 2923 "regression-compile-tmp/imp22g-77.imp"
L_0213:;
                                                                //   2924    forget regs
#line 2924 "regression-compile-tmp/imp22g-77.imp"
FORGETREGS();
                                                                //   2925    c_reg_line = line %if dx_flags&(ext+proc) = ext+proc1;  !%system
#line 2925 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & (28672))) != (20480))) goto L_0214;
#line 2925 "regression-compile-tmp/imp22g-77.imp"
C.REG.LINE = LINE;
#line 2925 "regression-compile-tmp/imp22g-77.imp"
L_0214:;
                                                                //   2926  %end;  !call
#line 2926 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CALL at level 3
                                                                //   2927  !
                                                                //   2928  %routine STRUCTCALL(%integer entry,size)
#line 2928 "regression-compile-tmp/imp22g-77.imp"
void STRUCTCALL( int ENTRY, int SIZE )
#line 2928 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2929    size = mite(-size-1) %and forget(breg) %if size <= 0;  !string
#line 2929 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) > (0))) goto L_0215;
#line 2929 "regression-compile-tmp/imp22g-77.imp"
SIZE = MITE((((-(SIZE))) - (1)));
#line 2929 "regression-compile-tmp/imp22g-77.imp"
FORGET(5);
#line 2929 "regression-compile-tmp/imp22g-77.imp"
L_0215:;
                                                                //   2930    plantlit(move,size,d0)
#line 2930 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(1, SIZE, 1);
                                                                //   2931    srcall(entry)
#line 2931 "regression-compile-tmp/imp22g-77.imp"
SRCALL(ENTRY);
                                                                //   2932    forget(d0)
#line 2932 "regression-compile-tmp/imp22g-77.imp"
FORGET(1);
                                                                //   2933  %end
#line 2933 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block STRUCTCALL at level 3
                                                                //   2934  
                                                                //   2935  %routine PUSH STRUCTURE
#line 2935 "regression-compile-tmp/imp22g-77.imp"
void PUSHSTRUCTURE( void )
#line 2935 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2936    %if stsize <= 0 %start;               !string
#line 2936 "regression-compile-tmp/imp22g-77.imp"
if (((STSIZE) > (0))) goto L_0216;
                                                                //   2937      structcall(strtostk,stsize)
#line 2937 "regression-compile-tmp/imp22g-77.imp"
STRUCTCALL(114, STSIZE);
                                                                //   2938      forget(a0);  forget(a1);  forget(a0+2)
#line 2938 "regression-compile-tmp/imp22g-77.imp"
FORGET(9);
#line 2938 "regression-compile-tmp/imp22g-77.imp"
FORGET(10);
#line 2938 "regression-compile-tmp/imp22g-77.imp"
FORGET(11);
                                                                //   2939      extend stack(256-(stsize&254))
#line 2939 "regression-compile-tmp/imp22g-77.imp"
EXTENDSTACK(((256) - ((int)(((STSIZE) & (254))))));
                                                                //   2940    %else;                               !fixed size structure
#line 2940 "regression-compile-tmp/imp22g-77.imp"
goto L_0217;
#line 2940 "regression-compile-tmp/imp22g-77.imp"
L_0216:;
                                                                //   2941      push block(a0,(stsize+1)&(\1))
#line 2941 "regression-compile-tmp/imp22g-77.imp"
PUSHBLOCK(9, (((((int)(STSIZE)) + (1))) & ((~(1)))));
                                                                //   2942    %finish
#line 2942 "regression-compile-tmp/imp22g-77.imp"
L_0217:;
                                                                //   2943  %end
#line 2943 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUSHSTRUCTURE at level 3
                                                                //   2944  
                                                                //   2945  %routine OK REG(%integer got)
#line 2945 "regression-compile-tmp/imp22g-77.imp"
void OKREG( int GOT )
#line 2945 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2946    r = got
#line 2946 "regression-compile-tmp/imp22g-77.imp"
R = GOT;
                                                                //   2947    %if d0b<<(got-d0)&rset = 0 %start
#line 2947 "regression-compile-tmp/imp22g-77.imp"
if (((((((1) << ((((int)(GOT)) - (1))))) & (RSET))) != (0))) goto L_0218;
                                                                //   2948      c_reg_content(got) = pp
#line 2948 "regression-compile-tmp/imp22g-77.imp"
C.REG.CONTENT[(((int)(GOT)) - (1))] = *PP;
                                                                //   2949      %if rset&free = 0 %and rset&tostack # 0 %start
#line 2949 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & (FREE))) != (0))) goto L_0219;
#line 2949 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & (524288))) == (0))) goto L_0219;
                                                                //   2950        push structure;  r = a7
#line 2950 "regression-compile-tmp/imp22g-77.imp"
PUSHSTRUCTURE();
#line 2950 "regression-compile-tmp/imp22g-77.imp"
R = 16;
                                                                //   2951  !      push(got);  r = a7
                                                                //   2952  !      c_reg_ccx = pp;  c_reg_ccy = 0
                                                                //   2953      %else
#line 2953 "regression-compile-tmp/imp22g-77.imp"
goto L_021a;
#line 2953 "regression-compile-tmp/imp22g-77.imp"
L_0219:;
                                                                //   2954        r = free reg(rset&(\bregb));  plant(move,got,r)
#line 2954 "regression-compile-tmp/imp22g-77.imp"
R = FREEREG(((RSET) & ((~(16)))));
#line 2954 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, GOT, R);
                                                                //   2955        c_reg_ccx = pp %and c_reg_ccy = 0 %if r < a0
#line 2955 "regression-compile-tmp/imp22g-77.imp"
if (((R) >= (9))) goto L_021b;
#line 2955 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCX = *PP;
#line 2955 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCY = 0;
#line 2955 "regression-compile-tmp/imp22g-77.imp"
L_021b:;
                                                                //   2956      %finish
#line 2956 "regression-compile-tmp/imp22g-77.imp"
L_021a:;
                                                                //   2957    %finish
#line 2957 "regression-compile-tmp/imp22g-77.imp"
L_0218:;
                                                                //   2958  %end
#line 2958 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block OKREG at level 3
                                                                //   2959  
                                                                //   2960  %routine OK AREG(%integer got,ok)
#line 2960 "regression-compile-tmp/imp22g-77.imp"
void OKAREG( int GOT, int OK )
#line 2960 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2961    r = got
#line 2961 "regression-compile-tmp/imp22g-77.imp"
R = GOT;
                                                                //   2962    %if a0b<<(got-a0)&ok = 0 %start
#line 2962 "regression-compile-tmp/imp22g-77.imp"
if (((((((256) << ((((int)(GOT)) - (9))))) & (OK))) != (0))) goto L_021c;
                                                                //   2963      r = free reg(ok);  plant(move,got,r)
#line 2963 "regression-compile-tmp/imp22g-77.imp"
R = FREEREG(OK);
#line 2963 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, GOT, R);
                                                                //   2964    %finish
#line 2964 "regression-compile-tmp/imp22g-77.imp"
L_021c:;
                                                                //   2965  %end
#line 2965 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block OKAREG at level 3
                                                                //   2966  
                                                                //   2967  %routine LOAD ADDRESS(%integer p)
#line 2967 "regression-compile-tmp/imp22g-77.imp"
void LOADADDRESS( int P )
#line 2967 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2968  %integer i,f
#line 2968 "regression-compile-tmp/imp22g-77.imp"
int I;
#line 2968 "regression-compile-tmp/imp22g-77.imp"
int F;
                                                                //   2969    %if rset&anyareg&free # 0 %start
#line 2969 "regression-compile-tmp/imp22g-77.imp"
if (((((((RSET) & (65280))) & (FREE))) == (0))) goto L_021d;
                                                                //   2970      %if dp_mode&2_111000 = indexmode %and dp_val&255 = 0 %start
#line 2970 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->MODE) & (56))) != (48))) goto L_021e;
#line 2970 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->VAL) & (255))) != (0))) goto L_021e;
                                                                //   2971        i = a0b<<(dp_mode&7)
#line 2971 "regression-compile-tmp/imp22g-77.imp"
I = ((256) << (((DP->MODE) & (7))));
                                                                //   2972        rset = i %if rset&free&i # 0
#line 2972 "regression-compile-tmp/imp22g-77.imp"
if (((((((RSET) & (FREE))) & (I))) == (0))) goto L_021f;
#line 2972 "regression-compile-tmp/imp22g-77.imp"
RSET = I;
#line 2972 "regression-compile-tmp/imp22g-77.imp"
L_021f:;
                                                                //   2973      %finish
#line 2973 "regression-compile-tmp/imp22g-77.imp"
L_021e:;
                                                                //   2974      r = free reg(rset&anyareg)
#line 2974 "regression-compile-tmp/imp22g-77.imp"
R = FREEREG(((RSET) & (65280)));
                                                                //   2975      plant(lea,p,r)
#line 2975 "regression-compile-tmp/imp22g-77.imp"
PLANT(78, P, R);
                                                                //   2976    %else
#line 2976 "regression-compile-tmp/imp22g-77.imp"
goto L_0220;
#line 2976 "regression-compile-tmp/imp22g-77.imp"
L_021d:;
                                                                //   2977      f = free
#line 2977 "regression-compile-tmp/imp22g-77.imp"
F = FREE;
                                                                //   2978      i = free areg(p+ad);  plant(lea,p,i)
#line 2978 "regression-compile-tmp/imp22g-77.imp"
I = FREEAREG((((int)(P)) + (16384)));
#line 2978 "regression-compile-tmp/imp22g-77.imp"
PLANT(78, P, I);
                                                                //   2979      free = f
#line 2979 "regression-compile-tmp/imp22g-77.imp"
FREE = F;
                                                                //   2980      r = free reg(rset&(\bregb));  plant(move,i,r)
#line 2980 "regression-compile-tmp/imp22g-77.imp"
R = FREEREG(((RSET) & ((~(16)))));
#line 2980 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, I, R);
                                                                //   2981    %finish
#line 2981 "regression-compile-tmp/imp22g-77.imp"
L_0220:;
                                                                //   2982  %end
#line 2982 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block LOADADDRESS at level 3
                                                                //   2983  
                                                                //   2984  %routine COMMANDEER(%integer regs)
#line 2984 "regression-compile-tmp/imp22g-77.imp"
void COMMANDEER( int REGS )
#line 2984 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2985  %integer r
#line 2985 "regression-compile-tmp/imp22g-77.imp"
int R;
                                                                //   2986    freed = \free&regs
#line 2986 "regression-compile-tmp/imp22g-77.imp"
FREED = (((~(FREE))) & (REGS));
                                                                //   2987    %if freed # 0 %start
#line 2987 "regression-compile-tmp/imp22g-77.imp"
if (((FREED) == (0))) goto L_0221;
                                                                //   2988      regs = freed;  r = d0
#line 2988 "regression-compile-tmp/imp22g-77.imp"
REGS = FREED;
#line 2988 "regression-compile-tmp/imp22g-77.imp"
R = 1;
                                                                //   2989      %while regs # 0 %cycle
#line 2989 "regression-compile-tmp/imp22g-77.imp"
L_0222:;
#line 2989 "regression-compile-tmp/imp22g-77.imp"
if (((REGS) == (0))) goto L_0223;
                                                                //   2990        push(r) %and forget cc %if regs&1 # 0
#line 2990 "regression-compile-tmp/imp22g-77.imp"
if (((((REGS) & (1))) == (0))) goto L_0225;
#line 2990 "regression-compile-tmp/imp22g-77.imp"
PUSH(R);
#line 2990 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
#line 2990 "regression-compile-tmp/imp22g-77.imp"
L_0225:;
                                                                //   2991        regs = regs>>1;  r = r+1
#line 2991 "regression-compile-tmp/imp22g-77.imp"
REGS = (int)((((unsigned int)(REGS)) >> (1)));
#line 2991 "regression-compile-tmp/imp22g-77.imp"
R = (((int)(R)) + (1));
                                                                //   2992      %repeat
#line 2992 "regression-compile-tmp/imp22g-77.imp"
goto L_0222;
#line 2992 "regression-compile-tmp/imp22g-77.imp"
L_0223:;
                                                                //   2993      free = free!freed;  rset = rset&(\freed)
#line 2993 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) | (FREED));
#line 2993 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(FREED))));
                                                                //   2994    %finish
#line 2994 "regression-compile-tmp/imp22g-77.imp"
L_0221:;
                                                                //   2995  %end
#line 2995 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COMMANDEER at level 3
                                                                //   2996  %routine RESTORE(%integer regs)
#line 2996 "regression-compile-tmp/imp22g-77.imp"
void RESTORE( int REGS )
#line 2996 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   2997  %integer r
#line 2997 "regression-compile-tmp/imp22g-77.imp"
int R;
                                                                //   2998    r = a7
#line 2998 "regression-compile-tmp/imp22g-77.imp"
R = 16;
                                                                //   2999    %while regs # 0 %cycle
#line 2999 "regression-compile-tmp/imp22g-77.imp"
L_0226:;
#line 2999 "regression-compile-tmp/imp22g-77.imp"
if (((REGS) == (0))) goto L_0227;
                                                                //   3000      %if regs&16_8000 # 0 %start
#line 3000 "regression-compile-tmp/imp22g-77.imp"
if (((((REGS) & (32768))) == (0))) goto L_0229;
                                                                //   3001        pop(r);  forget(r);  !*should have remembered it*
#line 3001 "regression-compile-tmp/imp22g-77.imp"
POP(R);
#line 3001 "regression-compile-tmp/imp22g-77.imp"
FORGET(R);
                                                                //   3002        forget cc
#line 3002 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
                                                                //   3003      %finish
#line 3003 "regression-compile-tmp/imp22g-77.imp"
L_0229:;
                                                                //   3004      regs = regs<<1&16_FFFF;  r = r-1
#line 3004 "regression-compile-tmp/imp22g-77.imp"
REGS = ((((REGS) << (1))) & (65535));
#line 3004 "regression-compile-tmp/imp22g-77.imp"
R = (((int)(R)) - (1));
                                                                //   3005    %repeat
#line 3005 "regression-compile-tmp/imp22g-77.imp"
goto L_0226;
#line 3005 "regression-compile-tmp/imp22g-77.imp"
L_0227:;
                                                                //   3006  %end
#line 3006 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block RESTORE at level 3
                                                                //   3007  
                                                                //   3008  %routine PARTREG
#line 3008 "regression-compile-tmp/imp22g-77.imp"
void PARTREG( void )
#line 3008 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   3009  ! Something smaller than integer has been loaded to R
                                                                //   3010  ! Determine what else to do (using SX,SY)
                                                                //   3011    sy = 4 %if r = breg %or r >= a0
#line 3011 "regression-compile-tmp/imp22g-77.imp"
if (((R) == (5))) goto L_0228;
#line 3011 "regression-compile-tmp/imp22g-77.imp"
if (((R) < (9))) goto L_022a;
#line 3011 "regression-compile-tmp/imp22g-77.imp"
L_0228:;
#line 3011 "regression-compile-tmp/imp22g-77.imp"
SY = 4;
#line 3011 "regression-compile-tmp/imp22g-77.imp"
L_022a:;
                                                                //   3012    %while imod(sy) < sx %cycle
#line 3012 "regression-compile-tmp/imp22g-77.imp"
L_022b:;
#line 3012 "regression-compile-tmp/imp22g-77.imp"
if (((_imp_IMOD(SY)) >= (SX))) goto L_022c;
                                                                //   3013      %if sy > 0 %start;  !signed
#line 3013 "regression-compile-tmp/imp22g-77.imp"
if (((SY) <= (0))) goto L_022e;
                                                                //   3014        plant(extl-2+sy,0,r);  !ext.w,ext.l
#line 3014 "regression-compile-tmp/imp22g-77.imp"
PLANT((((int)(74)) + (SY)), 0, R);
                                                                //   3015        sy = sy+sy
#line 3015 "regression-compile-tmp/imp22g-77.imp"
SY = (((int)(SY)) + (SY));
                                                                //   3016      %else
#line 3016 "regression-compile-tmp/imp22g-77.imp"
goto L_022f;
#line 3016 "regression-compile-tmp/imp22g-77.imp"
L_022e:;
                                                                //   3017        %if sy = -1 %start;  !unsigned byte
#line 3017 "regression-compile-tmp/imp22g-77.imp"
if (((SY) != ((-1)))) goto L_0230;
                                                                //   3018          plantlit(and,255,r)
#line 3018 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(5, 255, R);
                                                                //   3019        %else;            !unsigned word (half)
#line 3019 "regression-compile-tmp/imp22g-77.imp"
goto L_0231;
#line 3019 "regression-compile-tmp/imp22g-77.imp"
L_0230:;
                                                                //   3020          plantlit(and,16_FFFF,r)
#line 3020 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(5, 65535, R);
                                                                //   3021        %finish
#line 3021 "regression-compile-tmp/imp22g-77.imp"
L_0231:;
                                                                //   3022        sy = 4
#line 3022 "regression-compile-tmp/imp22g-77.imp"
SY = 4;
                                                                //   3023      %finish
#line 3023 "regression-compile-tmp/imp22g-77.imp"
L_022f:;
                                                                //   3024    %repeat
#line 3024 "regression-compile-tmp/imp22g-77.imp"
goto L_022b;
#line 3024 "regression-compile-tmp/imp22g-77.imp"
L_022c:;
                                                                //   3025  %end
#line 3025 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PARTREG at level 3
                                                                //   3026  
                                                                //   3027  !!Start of EVAL
                                                                //   3028  
                                                                //   3029    stsize = stsiz;  !additional parameter (for TOSTACK cases)
#line 3029 "regression-compile-tmp/imp22g-77.imp"
STSIZE = STSIZ;
                                                                //   3030    rset = rset&(\anyareg) %if rset&tobyte # 0;  ![1 bit]
#line 3030 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & (65536))) == (0))) goto L_0232;
#line 3030 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(65280))));
#line 3030 "regression-compile-tmp/imp22g-77.imp"
L_0232:;
                                                                //   3031    p = pp;  p = p-ad %if p >= explim
#line 3031 "regression-compile-tmp/imp22g-77.imp"
P = *PP;
#line 3031 "regression-compile-tmp/imp22g-77.imp"
if (((P) < (EXPLIM))) goto L_0233;
#line 3031 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(P)) - (16384));
#line 3031 "regression-compile-tmp/imp22g-77.imp"
L_0233:;
                                                                //   3032    rset = rset-asad %and pp = p+ad %if rset&asad # 0
#line 3032 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & (1048576))) == (0))) goto L_0234;
#line 3032 "regression-compile-tmp/imp22g-77.imp"
RSET = (((int)(RSET)) - (1048576));
#line 3032 "regression-compile-tmp/imp22g-77.imp"
*PP = (((int)(P)) + (16384));
#line 3032 "regression-compile-tmp/imp22g-77.imp"
L_0234:;
                                                                //   3033    %if p <= 0 %then dp == dint %else dp == dict(p)
#line 3033 "regression-compile-tmp/imp22g-77.imp"
if (((P) > (0))) goto L_0235;
#line 3033 "regression-compile-tmp/imp22g-77.imp"
DP = DINT;
#line 3033 "regression-compile-tmp/imp22g-77.imp"
goto L_0236;
#line 3033 "regression-compile-tmp/imp22g-77.imp"
L_0235:;
#line 3033 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[P];
#line 3033 "regression-compile-tmp/imp22g-77.imp"
L_0236:;
                                                                //   3034    oldfree = free;  freed = 0
#line 3034 "regression-compile-tmp/imp22g-77.imp"
OLDFREE = FREE;
#line 3034 "regression-compile-tmp/imp22g-77.imp"
FREED = 0;
                                                                //   3035  
                                                                //   3036  %if rset # inst %start
#line 3036 "regression-compile-tmp/imp22g-77.imp"
if (((RSET) == (1073741824))) goto L_0237;
                                                                //   3037    %unless dp_mode&2_110000 = 0 %and pp < np0 %start;  !not already reg
#line 3037 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->MODE) & (48))) != (0))) goto L_0224;
#line 3037 "regression-compile-tmp/imp22g-77.imp"
if (((*PP) < (NP0))) goto L_0238;
#line 3037 "regression-compile-tmp/imp22g-77.imp"
L_0224:;
                                                                //   3038      j = pp
#line 3038 "regression-compile-tmp/imp22g-77.imp"
J = *PP;
                                                                //   3039      %if rset&(anydreg!bregb{+tostack}) # 0 %start;  !data reg acceptable
#line 3039 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & (((239) | (16))))) == (0))) goto L_0239;
                                                                //   3040        i = d0
#line 3040 "regression-compile-tmp/imp22g-77.imp"
I = 1;
                                                                //   3041        %cycle;  !See if available
#line 3041 "regression-compile-tmp/imp22g-77.imp"
L_023a:;
                                                                //   3042          j = i %and %exit %if c_reg_content(i) = j
#line 3042 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CONTENT[(((int)(I)) - (1))]) != (J))) goto L_023d;
#line 3042 "regression-compile-tmp/imp22g-77.imp"
J = I;
#line 3042 "regression-compile-tmp/imp22g-77.imp"
goto L_023b;
#line 3042 "regression-compile-tmp/imp22g-77.imp"
L_023d:;
                                                                //   3043          i = i+1;  i = a0 %if i = maxdreg+1
#line 3043 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
#line 3043 "regression-compile-tmp/imp22g-77.imp"
if (((I) != (5))) goto L_023e;
#line 3043 "regression-compile-tmp/imp22g-77.imp"
I = 9;
#line 3043 "regression-compile-tmp/imp22g-77.imp"
L_023e:;
                                                                //   3044        %repeat %until i > maxareg
#line 3044 "regression-compile-tmp/imp22g-77.imp"
if (((I) > (12))) goto L_023b;
#line 3044 "regression-compile-tmp/imp22g-77.imp"
goto L_023a;
#line 3044 "regression-compile-tmp/imp22g-77.imp"
L_023b:;
                                                                //   3045      %finish %else %if rset&anyareg # 0 %start;  !try address regs first
#line 3045 "regression-compile-tmp/imp22g-77.imp"
goto L_023f;
#line 3045 "regression-compile-tmp/imp22g-77.imp"
L_0239:;
#line 3045 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & (65280))) == (0))) goto L_0240;
                                                                //   3046        i = maxareg
#line 3046 "regression-compile-tmp/imp22g-77.imp"
I = 12;
                                                                //   3047        %cycle
#line 3047 "regression-compile-tmp/imp22g-77.imp"
L_0241:;
                                                                //   3048          j = i %and %exit %if c_reg_content(i) = j
#line 3048 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CONTENT[(((int)(I)) - (1))]) != (J))) goto L_0244;
#line 3048 "regression-compile-tmp/imp22g-77.imp"
J = I;
#line 3048 "regression-compile-tmp/imp22g-77.imp"
goto L_0242;
#line 3048 "regression-compile-tmp/imp22g-77.imp"
L_0244:;
                                                                //   3049          i = i-1;  i = maxdreg %if i = a0-1
#line 3049 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) - (1));
#line 3049 "regression-compile-tmp/imp22g-77.imp"
if (((I) != (8))) goto L_0245;
#line 3049 "regression-compile-tmp/imp22g-77.imp"
I = 4;
#line 3049 "regression-compile-tmp/imp22g-77.imp"
L_0245:;
                                                                //   3050        %repeat %until i < d0
#line 3050 "regression-compile-tmp/imp22g-77.imp"
if (((I) < (1))) goto L_0242;
#line 3050 "regression-compile-tmp/imp22g-77.imp"
goto L_0241;
#line 3050 "regression-compile-tmp/imp22g-77.imp"
L_0242:;
                                                                //   3051      %finish %else %if j < explim %and rset # tostack %start;  !REF: try for address
#line 3051 "regression-compile-tmp/imp22g-77.imp"
goto L_023f;
#line 3051 "regression-compile-tmp/imp22g-77.imp"
L_0240:;
#line 3051 "regression-compile-tmp/imp22g-77.imp"
if (((J) >= (EXPLIM))) goto L_0246;
#line 3051 "regression-compile-tmp/imp22g-77.imp"
if (((RSET) == (524288))) goto L_0246;
                                                                //   3052        i = a0
#line 3052 "regression-compile-tmp/imp22g-77.imp"
I = 9;
                                                                //   3053        %cycle
#line 3053 "regression-compile-tmp/imp22g-77.imp"
L_0247:;
                                                                //   3054          %if c_reg_content(i) = j+ad %start
#line 3054 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CONTENT[(((int)(I)) - (1))]) != ((((int)(J)) + (16384))))) goto L_024a;
                                                                //   3055            free = free&(\(a0b<<(i-a0)))
#line 3055 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) & ((~(((256) << ((((int)(I)) - (9))))))));
                                                                //   3056            dp_flags = dp_flags!(rflag+wflag)
#line 3056 "regression-compile-tmp/imp22g-77.imp"
DP->FLAGS = ((DP->FLAGS) | (48));
                                                                //   3057            pp = i+indir
#line 3057 "regression-compile-tmp/imp22g-77.imp"
*PP = (((int)(I)) + (8));
                                                                //   3058            %return
#line 3058 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3059          %finish
#line 3059 "regression-compile-tmp/imp22g-77.imp"
L_024a:;
                                                                //   3060          i = i+1
#line 3060 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
                                                                //   3061        %repeat %until i > maxareg
#line 3061 "regression-compile-tmp/imp22g-77.imp"
if (((I) > (12))) goto L_0248;
#line 3061 "regression-compile-tmp/imp22g-77.imp"
goto L_0247;
#line 3061 "regression-compile-tmp/imp22g-77.imp"
L_0248:;
                                                                //   3062      %finish
#line 3062 "regression-compile-tmp/imp22g-77.imp"
L_0246:;
#line 3062 "regression-compile-tmp/imp22g-77.imp"
L_023f:;
                                                                //   3063    %else;  !already reg
#line 3063 "regression-compile-tmp/imp22g-77.imp"
goto L_024b;
#line 3063 "regression-compile-tmp/imp22g-77.imp"
L_0238:;
                                                                //   3064      j = dp_mode+d0;       !in case reg alias
#line 3064 "regression-compile-tmp/imp22g-77.imp"
J = (((int)(DP->MODE)) + (1));
                                                                //   3065      %if rset < 0 %start;  !EA ok means any reg ok
#line 3065 "regression-compile-tmp/imp22g-77.imp"
if (((RSET) >= (0))) goto L_024c;
                                                                //   3066        pp = j
#line 3066 "regression-compile-tmp/imp22g-77.imp"
*PP = J;
                                                                //   3067        %return
#line 3067 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3068      %finish
#line 3068 "regression-compile-tmp/imp22g-77.imp"
L_024c:;
                                                                //   3069      pp = c_reg_content(j); !fiddle for update
#line 3069 "regression-compile-tmp/imp22g-77.imp"
*PP = C.REG.CONTENT[(((int)(J)) - (1))];
                                                                //   3070    %finish
#line 3070 "regression-compile-tmp/imp22g-77.imp"
L_024b:;
                                                                //   3071  
                                                                //   3072    %if 0 < j <= a7 %start;  !operand (now) in reg
#line 3072 "regression-compile-tmp/imp22g-77.imp"
if ((((0) >= (J))) || (((J) > (16)))) goto L_024d;
                                                                //   3073      ok reg(j)
#line 3073 "regression-compile-tmp/imp22g-77.imp"
OKREG(J);
                                                                //   3074      dp_flags = dp_flags!rflag
#line 3074 "regression-compile-tmp/imp22g-77.imp"
DP->FLAGS = ((DP->FLAGS) | (32));
                                                                //   3075      -> endload
#line 3075 "regression-compile-tmp/imp22g-77.imp"
goto U_100d;
                                                                //   3076    %finish
#line 3076 "regression-compile-tmp/imp22g-77.imp"
L_024d:;
                                                                //   3077  
                                                                //   3078    %if p <= 0 %start;  !literal
#line 3078 "regression-compile-tmp/imp22g-77.imp"
if (((P) > (0))) goto L_024e;
                                                                //   3079      %return %if rset < 0
#line 3079 "regression-compile-tmp/imp22g-77.imp"
if (((RSET) >= (0))) goto L_024f;
#line 3079 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3079 "regression-compile-tmp/imp22g-77.imp"
L_024f:;
                                                                //   3080      %if rset = tostack %start
#line 3080 "regression-compile-tmp/imp22g-77.imp"
if (((RSET) != (524288))) goto L_0250;
                                                                //   3081        i = constmode;  i = pcmode %if p = 0;  !null string [sneaky]
#line 3081 "regression-compile-tmp/imp22g-77.imp"
I = 122;
#line 3081 "regression-compile-tmp/imp22g-77.imp"
if (((P) != (0))) goto L_0251;
#line 3081 "regression-compile-tmp/imp22g-77.imp"
I = 58;
#line 3081 "regression-compile-tmp/imp22g-77.imp"
L_0251:;
                                                                //   3082        plant(lea,temp(i,litval(p)),a0);           !A0 must be free
#line 3082 "regression-compile-tmp/imp22g-77.imp"
PLANT(78, TEMP(I, LITVAL(P)), 9);
                                                                //   3083        forget(a0)
#line 3083 "regression-compile-tmp/imp22g-77.imp"
FORGET(9);
                                                                //   3084        push structure
#line 3084 "regression-compile-tmp/imp22g-77.imp"
PUSHSTRUCTURE();
                                                                //   3085        %return
#line 3085 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3086      %finish
#line 3086 "regression-compile-tmp/imp22g-77.imp"
L_0250:;
                                                                //   3087      %if pp < explim %start;  !normal value
#line 3087 "regression-compile-tmp/imp22g-77.imp"
if (((*PP) >= (EXPLIM))) goto L_0252;
                                                                //   3088        rset = rset&(\bregb) %if p < -(255<<1) %or p&1 # 0;  !0:255 ok
#line 3088 "regression-compile-tmp/imp22g-77.imp"
if (((P) < ((-(((255) << (1))))))) goto L_0249;
#line 3088 "regression-compile-tmp/imp22g-77.imp"
if (((((P) & (1))) == (0))) goto L_0253;
#line 3088 "regression-compile-tmp/imp22g-77.imp"
L_0249:;
#line 3088 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(16))));
#line 3088 "regression-compile-tmp/imp22g-77.imp"
L_0253:;
                                                                //   3089        r = free reg(rset)
#line 3089 "regression-compile-tmp/imp22g-77.imp"
R = FREEREG(RSET);
                                                                //   3090        %if r < a0 %or p # 0 %then plant(move,p,r) %c
#line 3090 "regression-compile-tmp/imp22g-77.imp"
if (((R) < (9))) goto L_0254;
#line 3090 "regression-compile-tmp/imp22g-77.imp"
if (((P) == (0))) goto L_0255;
#line 3090 "regression-compile-tmp/imp22g-77.imp"
L_0254:;
#line 3090 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, P, R);
#line 3090 "regression-compile-tmp/imp22g-77.imp"
goto L_0256;
#line 3090 "regression-compile-tmp/imp22g-77.imp"
L_0255:;
#line 3090 "regression-compile-tmp/imp22g-77.imp"
PLANT(3, R, R);
#line 3090 "regression-compile-tmp/imp22g-77.imp"
L_0256:;
                                                                //   3091        %else plant(sub,r,r)
                                                                //   3092      %else;                    !address within FINAL
#line 3092 "regression-compile-tmp/imp22g-77.imp"
goto L_0257;
#line 3092 "regression-compile-tmp/imp22g-77.imp"
L_0252:;
                                                                //   3093        i = constmode;  i = pcmode %if p = 0;  !null string [sneaky]
#line 3093 "regression-compile-tmp/imp22g-77.imp"
I = 122;
#line 3093 "regression-compile-tmp/imp22g-77.imp"
if (((P) != (0))) goto L_0258;
#line 3093 "regression-compile-tmp/imp22g-77.imp"
I = 58;
#line 3093 "regression-compile-tmp/imp22g-77.imp"
L_0258:;
                                                                //   3094        load address(temp(i,litval(p)))
#line 3094 "regression-compile-tmp/imp22g-77.imp"
LOADADDRESS(TEMP(I, LITVAL(P)));
                                                                //   3095      %finish
#line 3095 "regression-compile-tmp/imp22g-77.imp"
L_0257:;
                                                                //   3096      c_reg_ccx = pp %and c_reg_ccy = 0 %if r < a0
#line 3096 "regression-compile-tmp/imp22g-77.imp"
if (((R) >= (9))) goto L_0259;
#line 3096 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCX = *PP;
#line 3096 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCY = 0;
#line 3096 "regression-compile-tmp/imp22g-77.imp"
L_0259:;
                                                                //   3097      ->endload
#line 3097 "regression-compile-tmp/imp22g-77.imp"
goto U_100d;
                                                                //   3098    %finish
#line 3098 "regression-compile-tmp/imp22g-77.imp"
L_024e:;
                                                                //   3099  %finish
#line 3099 "regression-compile-tmp/imp22g-77.imp"
L_0237:;
                                                                //   3100    %if p >= np0 %start;  !complex
#line 3100 "regression-compile-tmp/imp22g-77.imp"
if (((P) < (NP0))) goto L_025a;
                                                                //   3101  more:
#line 3101 "regression-compile-tmp/imp22g-77.imp"
U_100e:;
                                                                //   3102      act = dp_act;  x = dp_x;  y = dp_y
#line 3102 "regression-compile-tmp/imp22g-77.imp"
ACT = DP->ACT;
#line 3102 "regression-compile-tmp/imp22g-77.imp"
X = DP->X;
#line 3102 "regression-compile-tmp/imp22g-77.imp"
Y = DP->Y;
                                                                //   3103      xx = x;  yy = y
#line 3103 "regression-compile-tmp/imp22g-77.imp"
XX = X;
#line 3103 "regression-compile-tmp/imp22g-77.imp"
YY = Y;
                                                                //   3104      -> proccall %if act > opmax
#line 3104 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) <= (117))) goto L_025b;
#line 3104 "regression-compile-tmp/imp22g-77.imp"
goto U_100f;
#line 3104 "regression-compile-tmp/imp22g-77.imp"
L_025b:;
                                                                //   3105      -> do(act)
#line 3105 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_idx = ACT; if ((0 <= sw3_DO_idx) && (sw3_DO_idx <= 117)) goto *sw3_DO[sw3_DO_idx]; else {
   /*_imp_signal(8, 2, sw3_DO_idx);*/
   fprintf(stderr, "%%SWITCH index DO(%d) not in range 0:117 at %s:%d\n",
           sw3_DO_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   3106    %finish
#line 3106 "regression-compile-tmp/imp22g-77.imp"
L_025a:;
                                                                //   3107  
                                                                //   3108  do(move):
#line 3108 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_1:;
                                                                //   3109  load:
#line 3109 "regression-compile-tmp/imp22g-77.imp"
U_1010:;
                                                                //   3110    i = 0
#line 3110 "regression-compile-tmp/imp22g-77.imp"
I = 0;
                                                                //   3111    i = i+1 %if dp_flags&indirect # 0
#line 3111 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->FLAGS) & (2048))) == (0))) goto L_025c;
#line 3111 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
#line 3111 "regression-compile-tmp/imp22g-77.imp"
L_025c:;
                                                                //   3112    i = i+2 %if dp_flags < 0
#line 3112 "regression-compile-tmp/imp22g-77.imp"
if (((DP->FLAGS) >= (0))) goto L_025d;
#line 3112 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (2));
#line 3112 "regression-compile-tmp/imp22g-77.imp"
L_025d:;
                                                                //   3113    %if pp >= explim %start {address wanted}
#line 3113 "regression-compile-tmp/imp22g-77.imp"
if (((*PP) < (EXPLIM))) goto L_025e;
                                                                //   3114      %if i = 0 %start
#line 3114 "regression-compile-tmp/imp22g-77.imp"
if (((I) != (0))) goto L_025f;
                                                                //   3115        free = oldfree
#line 3115 "regression-compile-tmp/imp22g-77.imp"
FREE = OLDFREE;
                                                                //   3116        load address(p)
#line 3116 "regression-compile-tmp/imp22g-77.imp"
LOADADDRESS(P);
                                                                //   3117      %else
#line 3117 "regression-compile-tmp/imp22g-77.imp"
goto L_0260;
#line 3117 "regression-compile-tmp/imp22g-77.imp"
L_025f:;
                                                                //   3118        %if i = 3 %start;  !indirect name
#line 3118 "regression-compile-tmp/imp22g-77.imp"
if (((I) != (3))) goto L_0261;
                                                                //   3119          free = oldfree
#line 3119 "regression-compile-tmp/imp22g-77.imp"
FREE = OLDFREE;
                                                                //   3120          r = free areg(undef);  plant(move,p,r)
#line 3120 "regression-compile-tmp/imp22g-77.imp"
R = FREEAREG(16);
#line 3120 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, P, R);
                                                                //   3121          p = r+indir
#line 3121 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(R)) + (8));
                                                                //   3122        %finish
#line 3122 "regression-compile-tmp/imp22g-77.imp"
L_0261:;
                                                                //   3123        pp = p %and %return %if rset < 0
#line 3123 "regression-compile-tmp/imp22g-77.imp"
if (((RSET) >= (0))) goto L_0262;
#line 3123 "regression-compile-tmp/imp22g-77.imp"
*PP = P;
#line 3123 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3123 "regression-compile-tmp/imp22g-77.imp"
L_0262:;
                                                                //   3124        free = oldfree
#line 3124 "regression-compile-tmp/imp22g-77.imp"
FREE = OLDFREE;
                                                                //   3125        r = free reg(rset);  plant(move,p,r)
#line 3125 "regression-compile-tmp/imp22g-77.imp"
R = FREEREG(RSET);
#line 3125 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, P, R);
                                                                //   3126      %finish
#line 3126 "regression-compile-tmp/imp22g-77.imp"
L_0260:;
                                                                //   3127      c_reg_ccx = pp %and c_reg_ccy = 0 %if r < a0
#line 3127 "regression-compile-tmp/imp22g-77.imp"
if (((R) >= (9))) goto L_0263;
#line 3127 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCX = *PP;
#line 3127 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCY = 0;
#line 3127 "regression-compile-tmp/imp22g-77.imp"
L_0263:;
                                                                //   3128    %else
#line 3128 "regression-compile-tmp/imp22g-77.imp"
goto L_0264;
#line 3128 "regression-compile-tmp/imp22g-77.imp"
L_025e:;
                                                                //   3129      %if i > 0 %start
#line 3129 "regression-compile-tmp/imp22g-77.imp"
if (((I) <= (0))) goto L_0265;
                                                                //   3130        free = oldfree
#line 3130 "regression-compile-tmp/imp22g-77.imp"
FREE = OLDFREE;
                                                                //   3131        r = maxareg+1
#line 3131 "regression-compile-tmp/imp22g-77.imp"
R = 13;
                                                                //   3132        %cycle
#line 3132 "regression-compile-tmp/imp22g-77.imp"
L_0266:;
                                                                //   3133          r = r-1
#line 3133 "regression-compile-tmp/imp22g-77.imp"
R = (((int)(R)) - (1));
                                                                //   3134          %if r < a0 %start
#line 3134 "regression-compile-tmp/imp22g-77.imp"
if (((R) >= (9))) goto L_0269;
                                                                //   3135            r = free areg(p+ad);  plant(move,p,r)
#line 3135 "regression-compile-tmp/imp22g-77.imp"
R = FREEAREG((((int)(P)) + (16384)));
#line 3135 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, P, R);
                                                                //   3136            plant(move,r+indir,r) %if i = 3
#line 3136 "regression-compile-tmp/imp22g-77.imp"
if (((I) != (3))) goto L_026a;
#line 3136 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, (((int)(R)) + (8)), R);
#line 3136 "regression-compile-tmp/imp22g-77.imp"
L_026a:;
                                                                //   3137            check address(r) %if i > 1 %and control&assbit # 0
#line 3137 "regression-compile-tmp/imp22g-77.imp"
if (((I) <= (1))) goto L_026b;
#line 3137 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (134217728))) == (0))) goto L_026b;
#line 3137 "regression-compile-tmp/imp22g-77.imp"
CHECKADDRESS(R);
#line 3137 "regression-compile-tmp/imp22g-77.imp"
L_026b:;
                                                                //   3138          %finish
#line 3138 "regression-compile-tmp/imp22g-77.imp"
L_0269:;
                                                                //   3139        %repeat %until c_reg_content(r) = p+ad
#line 3139 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CONTENT[(((int)(R)) - (1))]) == ((((int)(P)) + (16384))))) goto L_0267;
#line 3139 "regression-compile-tmp/imp22g-77.imp"
goto L_0266;
#line 3139 "regression-compile-tmp/imp22g-77.imp"
L_0267:;
                                                                //   3140        free = free&(\(a0b<<(r-a0)))
#line 3140 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) & ((~(((256) << ((((int)(R)) - (9))))))));
                                                                //   3141        p = r+indir
#line 3141 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(R)) + (8));
                                                                //   3142      %finish
#line 3142 "regression-compile-tmp/imp22g-77.imp"
L_0265:;
                                                                //   3143      pp = p %and %return %if rset = ref
#line 3143 "regression-compile-tmp/imp22g-77.imp"
if (((RSET) != ((-2147483648)))) goto L_026c;
#line 3143 "regression-compile-tmp/imp22g-77.imp"
*PP = P;
#line 3143 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3143 "regression-compile-tmp/imp22g-77.imp"
L_026c:;
                                                                //   3144      sx = rset>>sizeshift&3;  sx = 4 %if sx = 0
#line 3144 "regression-compile-tmp/imp22g-77.imp"
SX = (((int)((((unsigned int)(RSET)) >> (16)))) & (3));
#line 3144 "regression-compile-tmp/imp22g-77.imp"
if (((SX) != (0))) goto L_026d;
#line 3144 "regression-compile-tmp/imp22g-77.imp"
SX = 4;
#line 3144 "regression-compile-tmp/imp22g-77.imp"
L_026d:;
                                                                //   3145      i = dp_flags
#line 3145 "regression-compile-tmp/imp22g-77.imp"
I = DP->FLAGS;
                                                                //   3146      sy = size(dp_type)
#line 3146 "regression-compile-tmp/imp22g-77.imp"
SY = SIZE(DP->TYPE);
                                                                //   3147      %if c_localdpos <= p < dictlim %and i&okflag = 0 %and c_forward = 0 %start
#line 3147 "regression-compile-tmp/imp22g-77.imp"
if ((((C.LOCALDPOS) > (P))) || (((P) >= (DICTLIM)))) goto L_026e;
#line 3147 "regression-compile-tmp/imp22g-77.imp"
if (((((I) & (64))) != (0))) goto L_026e;
#line 3147 "regression-compile-tmp/imp22g-77.imp"
if (((C.FORWARD) != (0))) goto L_026e;
                                                                //   3148        !local, simple, always accessed
                                                                //   3149        %if i&wflag = 0 %start;  !unassigned
#line 3149 "regression-compile-tmp/imp22g-77.imp"
if (((((I) & (16))) != (0))) goto L_026f;
                                                                //   3150          report(asserr+warn,p,0) %if c_faults = 0
#line 3150 "regression-compile-tmp/imp22g-77.imp"
if (((C.FAULTS) != (0))) goto L_0270;
#line 3150 "regression-compile-tmp/imp22g-77.imp"
REPORT((-87), P, 0);
#line 3150 "regression-compile-tmp/imp22g-77.imp"
L_0270:;
                                                                //   3151        %finish
#line 3151 "regression-compile-tmp/imp22g-77.imp"
L_026f:;
                                                                //   3152        dp_flags = dp_flags+okflag %if dp_flags >= 0 %and sy > 0
#line 3152 "regression-compile-tmp/imp22g-77.imp"
if (((DP->FLAGS) < (0))) goto L_0271;
#line 3152 "regression-compile-tmp/imp22g-77.imp"
if (((SY) <= (0))) goto L_0271;
#line 3152 "regression-compile-tmp/imp22g-77.imp"
DP->FLAGS = (((int)(DP->FLAGS)) + (64));
#line 3152 "regression-compile-tmp/imp22g-77.imp"
L_0271:;
                                                                //   3153      %finish
#line 3153 "regression-compile-tmp/imp22g-77.imp"
L_026e:;
                                                                //   3154      %if rset = tostack %start
#line 3154 "regression-compile-tmp/imp22g-77.imp"
if (((RSET) != (524288))) goto L_0272;
                                                                //   3155        free = oldfree
#line 3155 "regression-compile-tmp/imp22g-77.imp"
FREE = OLDFREE;
                                                                //   3156        plant(lea,p,a0);           !A0 must be free
#line 3156 "regression-compile-tmp/imp22g-77.imp"
PLANT(78, P, 9);
                                                                //   3157        forget(a0)
#line 3157 "regression-compile-tmp/imp22g-77.imp"
FORGET(9);
                                                                //   3158        push structure
#line 3158 "regression-compile-tmp/imp22g-77.imp"
PUSHSTRUCTURE();
                                                                //   3159        %return
#line 3159 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3160      %finish
#line 3160 "regression-compile-tmp/imp22g-77.imp"
L_0272:;
                                                                //   3161      intern(5) %and %return %if sy <= 0
#line 3161 "regression-compile-tmp/imp22g-77.imp"
if (((SY) > (0))) goto L_0273;
#line 3161 "regression-compile-tmp/imp22g-77.imp"
INTERN(5);
#line 3161 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3161 "regression-compile-tmp/imp22g-77.imp"
L_0273:;
                                                                //   3162      i = i!okflag %if control&bassbit>>1<<sy = 0
#line 3162 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & ((((int)((((unsigned int)(16777216)) >> (1)))) << (SY))))) != (0))) goto L_0274;
#line 3162 "regression-compile-tmp/imp22g-77.imp"
I = ((I) | (64));
#line 3162 "regression-compile-tmp/imp22g-77.imp"
L_0274:;
                                                                //   3163      %if i&okflag # 0 %and rset < 0 %start;  !not necessary to load?
#line 3163 "regression-compile-tmp/imp22g-77.imp"
if (((((I) & (64))) == (0))) goto L_0275;
#line 3163 "regression-compile-tmp/imp22g-77.imp"
if (((RSET) >= (0))) goto L_0275;
                                                                //   3164        %if sy = sx %start;  !same size
#line 3164 "regression-compile-tmp/imp22g-77.imp"
if (((SY) != (SX))) goto L_0276;
                                                                //   3165           pp = p
#line 3165 "regression-compile-tmp/imp22g-77.imp"
*PP = P;
                                                                //   3166          %return
#line 3166 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3167        %finish
#line 3167 "regression-compile-tmp/imp22g-77.imp"
L_0276:;
                                                                //   3168      %finish
#line 3168 "regression-compile-tmp/imp22g-77.imp"
L_0275:;
                                                                //   3169      free = oldfree
#line 3169 "regression-compile-tmp/imp22g-77.imp"
FREE = OLDFREE;
                                                                //   3170      %if i&okflag # 0 %then i = -1 %else i = sy
#line 3170 "regression-compile-tmp/imp22g-77.imp"
if (((((I) & (64))) == (0))) goto L_0277;
#line 3170 "regression-compile-tmp/imp22g-77.imp"
I = (-1);
#line 3170 "regression-compile-tmp/imp22g-77.imp"
goto L_0278;
#line 3170 "regression-compile-tmp/imp22g-77.imp"
L_0277:;
#line 3170 "regression-compile-tmp/imp22g-77.imp"
I = SY;
#line 3170 "regression-compile-tmp/imp22g-77.imp"
L_0278:;
                                                                //   3171      sy = -sy %if sy # 4 %and (dict(dp_type)_flags&nonord # 0 %c
#line 3171 "regression-compile-tmp/imp22g-77.imp"
if (((SY) == (4))) goto L_0279;
#line 3171 "regression-compile-tmp/imp22g-77.imp"
if (((((DICT[DP->TYPE].FLAGS) & (12))) != (0))) goto L_027a;
#line 3171 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(DP->TYPE)) + (1))].VAL) != (0))) goto L_0279;
#line 3171 "regression-compile-tmp/imp22g-77.imp"
L_027a:;
#line 3171 "regression-compile-tmp/imp22g-77.imp"
SY = (-(SY));
#line 3171 "regression-compile-tmp/imp22g-77.imp"
L_0279:;
                                                                //   3172                          %or dict(dp_type+1)_val = 0);  !unsigned
                                                                //   3173      %if sy = -1 %start;  !unsigned byte
#line 3173 "regression-compile-tmp/imp22g-77.imp"
if (((SY) != ((-1)))) goto L_027b;
                                                                //   3174        %if free&bregb # 0 %start
#line 3174 "regression-compile-tmp/imp22g-77.imp"
if (((((FREE) & (16))) == (0))) goto L_027c;
                                                                //   3175          %if rset&bregb # 0 %start
#line 3175 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & (16))) == (0))) goto L_027d;
                                                                //   3176            rset = bregb
#line 3176 "regression-compile-tmp/imp22g-77.imp"
RSET = 16;
                                                                //   3177          %else
#line 3177 "regression-compile-tmp/imp22g-77.imp"
goto L_027e;
#line 3177 "regression-compile-tmp/imp22g-77.imp"
L_027d:;
                                                                //   3178            plant(moveb,p,breg)
#line 3178 "regression-compile-tmp/imp22g-77.imp"
PLANT(257, P, 5);
                                                                //   3179            forget(breg)
#line 3179 "regression-compile-tmp/imp22g-77.imp"
FORGET(5);
                                                                //   3180            p = breg;  sy = 4
#line 3180 "regression-compile-tmp/imp22g-77.imp"
P = 5;
#line 3180 "regression-compile-tmp/imp22g-77.imp"
SY = 4;
                                                                //   3181          %finish
#line 3181 "regression-compile-tmp/imp22g-77.imp"
L_027e:;
                                                                //   3182        %finish
#line 3182 "regression-compile-tmp/imp22g-77.imp"
L_027c:;
                                                                //   3183      %finish %else rset = rset&(\bregb)
#line 3183 "regression-compile-tmp/imp22g-77.imp"
goto L_027f;
#line 3183 "regression-compile-tmp/imp22g-77.imp"
L_027b:;
#line 3183 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(16))));
#line 3183 "regression-compile-tmp/imp22g-77.imp"
L_027f:;
                                                                //   3184      %if sy < 2 %or sx = 1 %start
#line 3184 "regression-compile-tmp/imp22g-77.imp"
if (((SY) < (2))) goto L_0280;
#line 3184 "regression-compile-tmp/imp22g-77.imp"
if (((SX) != (1))) goto L_0281;
#line 3184 "regression-compile-tmp/imp22g-77.imp"
L_0280:;
                                                                //   3185        %if rset&(anydreg!bregb) = 0 %start
#line 3185 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & (((239) | (16))))) != (0))) goto L_0282;
                                                                //   3186        !Can't load bytes,halfs to address regs
                                                                //   3187        ! or store bytes from them
                                                                //   3188          r = free dreg
#line 3188 "regression-compile-tmp/imp22g-77.imp"
R = FREEDREG();
                                                                //   3189          plant(move+imod(sy)<<8,p,r)
#line 3189 "regression-compile-tmp/imp22g-77.imp"
PLANT(((1) + ((int)(((_imp_IMOD(SY)) << (8))))), P, R);
                                                                //   3190          partreg
#line 3190 "regression-compile-tmp/imp22g-77.imp"
PARTREG();
                                                                //   3191          p = r;  free = oldfree
#line 3191 "regression-compile-tmp/imp22g-77.imp"
P = R;
#line 3191 "regression-compile-tmp/imp22g-77.imp"
FREE = OLDFREE;
                                                                //   3192        %finish %else rset = rset&(\anyareg)
#line 3192 "regression-compile-tmp/imp22g-77.imp"
goto L_0283;
#line 3192 "regression-compile-tmp/imp22g-77.imp"
L_0282:;
#line 3192 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(65280))));
#line 3192 "regression-compile-tmp/imp22g-77.imp"
L_0283:;
                                                                //   3193      %finish
#line 3193 "regression-compile-tmp/imp22g-77.imp"
L_0281:;
                                                                //   3194      %if sy = 2 %and rset&anyareg&free # 0 %start
#line 3194 "regression-compile-tmp/imp22g-77.imp"
if (((SY) != (2))) goto L_0284;
#line 3194 "regression-compile-tmp/imp22g-77.imp"
if (((((((RSET) & (65280))) & (FREE))) == (0))) goto L_0284;
                                                                //   3195        rset = rset&(\anydreg);  !prefer areg for word (auto-extend)
#line 3195 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(239))));
                                                                //   3196      %finish
#line 3196 "regression-compile-tmp/imp22g-77.imp"
L_0284:;
                                                                //   3197      r = free reg(rset)
#line 3197 "regression-compile-tmp/imp22g-77.imp"
R = FREEREG(RSET);
                                                                //   3198      plant(move+imod(sy)<<8,p,r)
#line 3198 "regression-compile-tmp/imp22g-77.imp"
PLANT(((1) + ((int)(((_imp_IMOD(SY)) << (8))))), P, R);
                                                                //   3199      c_reg_ccx = pp %and c_reg_ccy = 0 %if r < a0
#line 3199 "regression-compile-tmp/imp22g-77.imp"
if (((R) >= (9))) goto L_0285;
#line 3199 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCX = *PP;
#line 3199 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCY = 0;
#line 3199 "regression-compile-tmp/imp22g-77.imp"
L_0285:;
                                                                //   3200      %if sy # 4 %start
#line 3200 "regression-compile-tmp/imp22g-77.imp"
if (((SY) == (4))) goto L_0286;
                                                                //   3201        partreg
#line 3201 "regression-compile-tmp/imp22g-77.imp"
PARTREG();
                                                                //   3202      %finish
#line 3202 "regression-compile-tmp/imp22g-77.imp"
L_0286:;
                                                                //   3203      %if i >= 0 %start
#line 3203 "regression-compile-tmp/imp22g-77.imp"
if (((I) < (0))) goto L_0287;
                                                                //   3204        plant(cmp+i<<8,r,d7);  !check unassigned
#line 3204 "regression-compile-tmp/imp22g-77.imp"
PLANT(((4) + ((int)(((I) << (8))))), R, 8);
                                                                //   3205        srcall(unass)
#line 3205 "regression-compile-tmp/imp22g-77.imp"
SRCALL(102);
                                                                //   3206        forget cc
#line 3206 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
                                                                //   3207      %finish
#line 3207 "regression-compile-tmp/imp22g-77.imp"
L_0287:;
                                                                //   3208      %if sy # 4 %and r # breg %start;  !not full reg
#line 3208 "regression-compile-tmp/imp22g-77.imp"
if (((SY) == (4))) goto L_0288;
#line 3208 "regression-compile-tmp/imp22g-77.imp"
if (((R) == (5))) goto L_0288;
                                                                //   3209        forget(r)
#line 3209 "regression-compile-tmp/imp22g-77.imp"
FORGET(R);
                                                                //   3210        -> endload1
#line 3210 "regression-compile-tmp/imp22g-77.imp"
goto U_1011;
                                                                //   3211      %finish
#line 3211 "regression-compile-tmp/imp22g-77.imp"
L_0288:;
                                                                //   3212    %finish
#line 3212 "regression-compile-tmp/imp22g-77.imp"
L_0264:;
                                                                //   3213  endload:
#line 3213 "regression-compile-tmp/imp22g-77.imp"
U_100d:;
                                                                //   3214    c_reg_content(r) = pp
#line 3214 "regression-compile-tmp/imp22g-77.imp"
C.REG.CONTENT[(((int)(R)) - (1))] = *PP;
                                                                //   3215  endload1:
#line 3215 "regression-compile-tmp/imp22g-77.imp"
U_1011:;
                                                                //   3216    free = free&(\(d0b<<(r-d0)))
#line 3216 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) & ((~(((1) << ((((int)(R)) - (1))))))));
                                                                //   3217    r = r+indir %if rset = ref
#line 3217 "regression-compile-tmp/imp22g-77.imp"
if (((RSET) != ((-2147483648)))) goto L_0289;
#line 3217 "regression-compile-tmp/imp22g-77.imp"
R = (((int)(R)) + (8));
#line 3217 "regression-compile-tmp/imp22g-77.imp"
L_0289:;
                                                                //   3218    pp = r
#line 3218 "regression-compile-tmp/imp22g-77.imp"
*PP = R;
                                                                //   3219    %return
#line 3219 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3220  
                                                                //   3221  dataload:
#line 3221 "regression-compile-tmp/imp22g-77.imp"
U_1012:;
                                                                //   3222    eval(p,anydreg)
#line 3222 "regression-compile-tmp/imp22g-77.imp"
EVAL(&P, 239);
                                                                //   3223    ok reg(p)
#line 3223 "regression-compile-tmp/imp22g-77.imp"
OKREG(P);
                                                                //   3224    -> endload
#line 3224 "regression-compile-tmp/imp22g-77.imp"
goto U_100d;
                                                                //   3225  
                                                                //   3226  !!!!!!!!!!!!!!!!   Array   /   Record    /   Map   !!!!!!!!!!!!!!!!!!
                                                                //   3227  
                                                                //   3228  %integer%fn FREEISH AREG(%integer for)
#line 3228 "regression-compile-tmp/imp22g-77.imp"
int FREEISHAREG( int FOR )
#line 3228 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   3229  !Use the register component of M if alterable
                                                                //   3230  ! to avoid excessive dissipation of address registers
                                                                //   3231  %integer i
#line 3231 "regression-compile-tmp/imp22g-77.imp"
int I;
                                                                //   3232    i = m&7
#line 3232 "regression-compile-tmp/imp22g-77.imp"
I = ((M) & (7));
                                                                //   3233    %result = free areg(for) %if a0b<<i&oldfree = 0 %or m >= framemode
#line 3233 "regression-compile-tmp/imp22g-77.imp"
if (((((((256) << (I))) & (OLDFREE))) == (0))) goto L_022d;
#line 3233 "regression-compile-tmp/imp22g-77.imp"
if (((M) < (168))) goto L_028a;
#line 3233 "regression-compile-tmp/imp22g-77.imp"
L_022d:;
#line 3233 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return FREEAREG(FOR);
#line 3233 "regression-compile-tmp/imp22g-77.imp"
L_028a:;
                                                                //   3234    free = free&(\(a0b<<i))
#line 3234 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) & ((~(((256) << (I))))));
                                                                //   3235    i = i+a0;  c_reg_content(i) = for
#line 3235 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (9));
#line 3235 "regression-compile-tmp/imp22g-77.imp"
C.REG.CONTENT[(((int)(I)) - (1))] = FOR;
                                                                //   3236    %result = i
#line 3236 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return I;
                                                                //   3237  %end
#line 3237 "regression-compile-tmp/imp22g-77.imp"
} // End of block FREEISHAREG at level 3
                                                                //   3238  %routine ADEVAL(%integer x,y,q)
#line 3238 "regression-compile-tmp/imp22g-77.imp"
void ADEVAL( int X, int Y, int Q )
#line 3238 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   3239  !Base X, scaled index Y, displacement Q
                                                                //   3240  %integer i,j
#line 3240 "regression-compile-tmp/imp22g-77.imp"
int I;
#line 3240 "regression-compile-tmp/imp22g-77.imp"
int J;
                                                                //   3241    %if x <= 0 %start;  !%const
#line 3241 "regression-compile-tmp/imp22g-77.imp"
if (((X) > (0))) goto L_028b;
                                                                //   3242      m = constmode;  v = litval(x)
#line 3242 "regression-compile-tmp/imp22g-77.imp"
M = 122;
#line 3242 "regression-compile-tmp/imp22g-77.imp"
V = LITVAL(X);
                                                                //   3243    %else
#line 3243 "regression-compile-tmp/imp22g-77.imp"
goto L_028c;
#line 3243 "regression-compile-tmp/imp22g-77.imp"
L_028b:;
                                                                //   3244      eval(x,ref)
#line 3244 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (-2147483648));
                                                                //   3245      m = dict(x)_mode;  v = dict(x)_val
#line 3245 "regression-compile-tmp/imp22g-77.imp"
M = DICT[X].MODE;
#line 3245 "regression-compile-tmp/imp22g-77.imp"
V = DICT[X].VAL;
                                                                //   3246      %if m = c_mode %and v < 0 %start
#line 3246 "regression-compile-tmp/imp22g-77.imp"
if (((M) != (C.MODE))) goto L_028d;
#line 3246 "regression-compile-tmp/imp22g-77.imp"
if (((V) >= (0))) goto L_028d;
                                                                //   3247       !*Assertion: SP will have same value when address used
                                                                //   3248        m = dispmode+7;  v = v-c_sp
#line 3248 "regression-compile-tmp/imp22g-77.imp"
M = 47;
#line 3248 "regression-compile-tmp/imp22g-77.imp"
V = (((int)(V)) - (C.SP));
                                                                //   3249      %finish %else %if m&2_111000 = aregmode+indir %start
#line 3249 "regression-compile-tmp/imp22g-77.imp"
goto L_028e;
#line 3249 "regression-compile-tmp/imp22g-77.imp"
L_028d:;
#line 3249 "regression-compile-tmp/imp22g-77.imp"
if (((((M) & (56))) != (16))) goto L_028f;
                                                                //   3250        m = m+(dispmode-(aregmode+indir))
#line 3250 "regression-compile-tmp/imp22g-77.imp"
M = ((M) + ((int)(24)));
                                                                //   3251      %finish
#line 3251 "regression-compile-tmp/imp22g-77.imp"
L_028f:;
#line 3251 "regression-compile-tmp/imp22g-77.imp"
L_028e:;
                                                                //   3252    %finish
#line 3252 "regression-compile-tmp/imp22g-77.imp"
L_028c:;
                                                                //   3253    eval(y,anyreg) %if y # 0;  !subscript
#line 3253 "regression-compile-tmp/imp22g-77.imp"
if (((Y) == (0))) goto L_0290;
#line 3253 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 65535);
#line 3253 "regression-compile-tmp/imp22g-77.imp"
L_0290:;
                                                                //   3254    %if m&2_111000 = indexmode %start;  !X already involves index
#line 3254 "regression-compile-tmp/imp22g-77.imp"
if (((((M) & (56))) != (48))) goto L_0291;
                                                                //   3255      %if y = 0 %start
#line 3255 "regression-compile-tmp/imp22g-77.imp"
if (((Y) != (0))) goto L_0292;
                                                                //   3256       !See if Q can be combined with existing disp
                                                                //   3257        j = mite(v)
#line 3257 "regression-compile-tmp/imp22g-77.imp"
J = MITE(V);
                                                                //   3258        i = j+q
#line 3258 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(J)) + (Q));
                                                                //   3259        %if is mite(i)=TRUE %start
#line 3259 "regression-compile-tmp/imp22g-77.imp"
if (((ISMITE(I)) != (1))) goto L_0293;
                                                                //   3260          v = v-j+i&255
#line 3260 "regression-compile-tmp/imp22g-77.imp"
V = ((((((int)(V)) - (J)))) + (((I) & (255))));
                                                                //   3261          %return
#line 3261 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3262        %finish
#line 3262 "regression-compile-tmp/imp22g-77.imp"
L_0293:;
                                                                //   3263      %finish
#line 3263 "regression-compile-tmp/imp22g-77.imp"
L_0292:;
                                                                //   3264      i = freeish areg(x+ad)
#line 3264 "regression-compile-tmp/imp22g-77.imp"
I = FREEISHAREG((((int)(X)) + (16384)));
                                                                //   3265      plant(lea,x,i)
#line 3265 "regression-compile-tmp/imp22g-77.imp"
PLANT(78, X, I);
                                                                //   3266      m = i+(dispmode-a0);  v = 0
#line 3266 "regression-compile-tmp/imp22g-77.imp"
M = ((I) + ((int)(31)));
#line 3266 "regression-compile-tmp/imp22g-77.imp"
V = 0;
                                                                //   3267    %finish
#line 3267 "regression-compile-tmp/imp22g-77.imp"
L_0291:;
                                                                //   3268    %if y # 0 %start
#line 3268 "regression-compile-tmp/imp22g-77.imp"
if (((Y) == (0))) goto L_0294;
                                                                //   3269      %if m&63 = pcmode %start
#line 3269 "regression-compile-tmp/imp22g-77.imp"
if (((((M) & (63))) != (58))) goto L_0295;
                                                                //   3270        i = free areg(undef);  plant(lea,temp(m,v+q),i)
#line 3270 "regression-compile-tmp/imp22g-77.imp"
I = FREEAREG(16);
#line 3270 "regression-compile-tmp/imp22g-77.imp"
PLANT(78, TEMP(M, (((int)(V)) + (Q))), I);
                                                                //   3271        m = i+(dispmode-a0);  v = 0;  q = 0
#line 3271 "regression-compile-tmp/imp22g-77.imp"
M = ((I) + ((int)(31)));
#line 3271 "regression-compile-tmp/imp22g-77.imp"
V = 0;
#line 3271 "regression-compile-tmp/imp22g-77.imp"
Q = 0;
                                                                //   3272      %finish %else %unless is mite(v+q)=TRUE %start;  !indexmode out
#line 3272 "regression-compile-tmp/imp22g-77.imp"
goto L_0296;
#line 3272 "regression-compile-tmp/imp22g-77.imp"
L_0295:;
#line 3272 "regression-compile-tmp/imp22g-77.imp"
if (((ISMITE((((int)(V)) + (Q)))) == (1))) goto L_0297;
                                                                //   3273        %unless is mite(q)=TRUE %start; !& out even if V absorbed
#line 3273 "regression-compile-tmp/imp22g-77.imp"
if (((ISMITE(Q)) == (1))) goto L_0298;
                                                                //   3274          i = freeish areg(undef)
#line 3274 "regression-compile-tmp/imp22g-77.imp"
I = FREEISHAREG(16);
                                                                //   3275          %if is short(v+q)=TRUE %start
#line 3275 "regression-compile-tmp/imp22g-77.imp"
if (((ISSHORT((((int)(V)) + (Q)))) != (1))) goto L_0299;
                                                                //   3276            plant(lea,temp(m,v+q),i)
#line 3276 "regression-compile-tmp/imp22g-77.imp"
PLANT(78, TEMP(M, (((int)(V)) + (Q))), I);
                                                                //   3277          %else
#line 3277 "regression-compile-tmp/imp22g-77.imp"
goto L_029a;
#line 3277 "regression-compile-tmp/imp22g-77.imp"
L_0299:;
                                                                //   3278            plant(lea,x,i);  addimm(q,i)
#line 3278 "regression-compile-tmp/imp22g-77.imp"
PLANT(78, X, I);
#line 3278 "regression-compile-tmp/imp22g-77.imp"
ADDIMM(Q, I);
                                                                //   3279          %finish
#line 3279 "regression-compile-tmp/imp22g-77.imp"
L_029a:;
                                                                //   3280          q = 0
#line 3280 "regression-compile-tmp/imp22g-77.imp"
Q = 0;
                                                                //   3281        %else
#line 3281 "regression-compile-tmp/imp22g-77.imp"
goto L_029b;
#line 3281 "regression-compile-tmp/imp22g-77.imp"
L_0298:;
                                                                //   3282          i = freeish areg(x+ad)
#line 3282 "regression-compile-tmp/imp22g-77.imp"
I = FREEISHAREG((((int)(X)) + (16384)));
                                                                //   3283          plant(lea,x,i)
#line 3283 "regression-compile-tmp/imp22g-77.imp"
PLANT(78, X, I);
                                                                //   3284        %finish
#line 3284 "regression-compile-tmp/imp22g-77.imp"
L_029b:;
                                                                //   3285        m = i+(dispmode-a0);  v = 0
#line 3285 "regression-compile-tmp/imp22g-77.imp"
M = ((I) + ((int)(31)));
#line 3285 "regression-compile-tmp/imp22g-77.imp"
V = 0;
                                                                //   3286      %finish
#line 3286 "regression-compile-tmp/imp22g-77.imp"
L_0297:;
#line 3286 "regression-compile-tmp/imp22g-77.imp"
L_0296:;
                                                                //   3287    %finish
#line 3287 "regression-compile-tmp/imp22g-77.imp"
L_0294:;
                                                                //   3288    v = v+q
#line 3288 "regression-compile-tmp/imp22g-77.imp"
V = (((int)(V)) + (Q));
                                                                //   3289    %if y # 0 %start
#line 3289 "regression-compile-tmp/imp22g-77.imp"
if (((Y) == (0))) goto L_029c;
                                                                //   3290      m = m+(indexmode-dispmode)
#line 3290 "regression-compile-tmp/imp22g-77.imp"
M = ((M) + ((int)(8)));
                                                                //   3291      v = (y-d0)<<12+16_0800+v&255
#line 3291 "regression-compile-tmp/imp22g-77.imp"
V = ((((((int)((((((int)(Y)) - (1))) << (12)))) + (2048)))) + (((V) & (255))));
                                                                //   3292    %finish
#line 3292 "regression-compile-tmp/imp22g-77.imp"
L_029c:;
                                                                //   3293  %end
#line 3293 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ADEVAL at level 3
                                                                //   3294  
                                                                //   3295  do(index):
#line 3295 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_78:;
                                                                //   3296  !  P      => {index,ARRAY,SUBSCRIPT}
                                                                //   3297  !  ARRAY  => ARRID
                                                                //   3298  !         or {index,ARRAY,SUBSCRIPT}
                                                                //   3299  !         or {recref,RECORD,ARRAY}
                                                                //   3300  !  TYPE INFO : TYPE = ELTYPE, XTYPE = INDEX-TYPE
                                                                //   3301  !              MODE,VAL = DOPE ADDRESS
                                                                //   3302    dx == dict(x)
#line 3302 "regression-compile-tmp/imp22g-77.imp"
DX = &DICT[X];
                                                                //   3303    i = dx_type;                   !array type cell
#line 3303 "regression-compile-tmp/imp22g-77.imp"
I = DX->TYPE;
                                                                //   3304    tx == dict(i)
#line 3304 "regression-compile-tmp/imp22g-77.imp"
TX = &DICT[I];
                                                                //   3305    get bounds(tx_xtype,sx,sy)
#line 3305 "regression-compile-tmp/imp22g-77.imp"
GETBOUNDS(TX->XTYPE, &SX, &SY);
                                                                //   3306   !establish multiplier (element size)
                                                                //   3307    m = imod(nsize(tx))
#line 3307 "regression-compile-tmp/imp22g-77.imp"
M = _imp_IMOD(NSIZE(TX));
                                                                //   3308   !ARRFLAG is set for either ABC requested or dynamic
                                                                //   3309    %if dx_flags&arrflag # 0 %and (y > 0 %or sx = minint %or m = 0) %start
#line 3309 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & (8))) == (0))) goto L_029d;
#line 3309 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_029e;
#line 3309 "regression-compile-tmp/imp22g-77.imp"
if (((SX) == ((-2147483648)))) goto L_029e;
#line 3309 "regression-compile-tmp/imp22g-77.imp"
if (((M) != (0))) goto L_029d;
#line 3309 "regression-compile-tmp/imp22g-77.imp"
L_029e:;
                                                                //   3310      commandeer(d0b+d1b+a0b);  ![D1 ??]
#line 3310 "regression-compile-tmp/imp22g-77.imp"
COMMANDEER(259);
                                                                //   3311     ! subscript
                                                                //   3312      eval(y,d0b)
#line 3312 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 1);
                                                                //   3313     ! dope vector
                                                                //   3314      j = 0
#line 3314 "regression-compile-tmp/imp22g-77.imp"
J = 0;
                                                                //   3315      j = j+12 %and i = i+1 %and tx == dict(i) %while tx_mode = 0
#line 3315 "regression-compile-tmp/imp22g-77.imp"
L_029f:;
#line 3315 "regression-compile-tmp/imp22g-77.imp"
if (((TX->MODE) != (0))) goto L_02a0;
#line 3315 "regression-compile-tmp/imp22g-77.imp"
J = (((int)(J)) + (12));
#line 3315 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
#line 3315 "regression-compile-tmp/imp22g-77.imp"
TX = &DICT[I];
#line 3315 "regression-compile-tmp/imp22g-77.imp"
goto L_029f;
#line 3315 "regression-compile-tmp/imp22g-77.imp"
L_02a0:;
                                                                //   3316      %if tx_flags&indirect # 0 %start
#line 3316 "regression-compile-tmp/imp22g-77.imp"
if (((((TX->FLAGS) & (2048))) == (0))) goto L_02a2;
                                                                //   3317        plant(move,i,a0)
#line 3317 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, I, 9);
                                                                //   3318        addimm(j,a0) %if j # 0
#line 3318 "regression-compile-tmp/imp22g-77.imp"
if (((J) == (0))) goto L_02a3;
#line 3318 "regression-compile-tmp/imp22g-77.imp"
ADDIMM(J, 9);
#line 3318 "regression-compile-tmp/imp22g-77.imp"
L_02a3:;
                                                                //   3319      %else
#line 3319 "regression-compile-tmp/imp22g-77.imp"
goto L_02a4;
#line 3319 "regression-compile-tmp/imp22g-77.imp"
L_02a2:;
                                                                //   3320        %if tx_val = 0 %and tx_mode = constmode %start
#line 3320 "regression-compile-tmp/imp22g-77.imp"
if (((TX->VAL) != (0))) goto L_02a5;
#line 3320 "regression-compile-tmp/imp22g-77.imp"
if (((TX->MODE) != (122))) goto L_02a5;
                                                                //   3321        ! dope info not yet created
                                                                //   3322          fill code(1) %if cad&1 # 0
#line 3322 "regression-compile-tmp/imp22g-77.imp"
if (((((CAD) & (1))) == (0))) goto L_02a6;
#line 3322 "regression-compile-tmp/imp22g-77.imp"
FILLCODE(1);
#line 3322 "regression-compile-tmp/imp22g-77.imp"
L_02a6:;
                                                                //   3323          tx_val = cad
#line 3323 "regression-compile-tmp/imp22g-77.imp"
TX->VAL = CAD;
                                                                //   3324          set code longword(sy)
#line 3324 "regression-compile-tmp/imp22g-77.imp"
SETCODELONGWORD(SY);
                                                                //   3325          set code longword(sx)
#line 3325 "regression-compile-tmp/imp22g-77.imp"
SETCODELONGWORD(SX);
                                                                //   3326          set code longword(m)
#line 3326 "regression-compile-tmp/imp22g-77.imp"
SETCODELONGWORD(M);
                                                                //   3327        %finish
#line 3327 "regression-compile-tmp/imp22g-77.imp"
L_02a5:;
                                                                //   3328        plant(lea,i,a0)
#line 3328 "regression-compile-tmp/imp22g-77.imp"
PLANT(78, I, 9);
                                                                //   3329      %finish
#line 3329 "regression-compile-tmp/imp22g-77.imp"
L_02a4:;
                                                                //   3330      srcall(index)
#line 3330 "regression-compile-tmp/imp22g-77.imp"
SRCALL(78);
                                                                //   3331      forget(d0);  forget(a0)
#line 3331 "regression-compile-tmp/imp22g-77.imp"
FORGET(1);
#line 3331 "regression-compile-tmp/imp22g-77.imp"
FORGET(9);
                                                                //   3332      restore(freed&(\d0b))
#line 3332 "regression-compile-tmp/imp22g-77.imp"
RESTORE(((FREED) & ((~(1)))));
                                                                //   3333      free = oldfree&(\d0b)
#line 3333 "regression-compile-tmp/imp22g-77.imp"
FREE = ((OLDFREE) & ((~(1))));
                                                                //   3334      freed = freed&d0b
#line 3334 "regression-compile-tmp/imp22g-77.imp"
FREED = ((FREED) & (1));
                                                                //   3335      i = x;  eval(i,anyareg&free+asad)
#line 3335 "regression-compile-tmp/imp22g-77.imp"
I = X;
#line 3335 "regression-compile-tmp/imp22g-77.imp"
EVAL(&I, (((int)(((65280) & (FREE)))) + (1048576)));
                                                                //   3336      plant(add,d0,i)
#line 3336 "regression-compile-tmp/imp22g-77.imp"
PLANT(2, 1, I);
                                                                //   3337      %if dp_flags < 0 %then forget(i) {ad of ad of P} %c
#line 3337 "regression-compile-tmp/imp22g-77.imp"
if (((DP->FLAGS) >= (0))) goto L_02a7;
#line 3337 "regression-compile-tmp/imp22g-77.imp"
FORGET(I);
#line 3337 "regression-compile-tmp/imp22g-77.imp"
goto L_02a8;
#line 3337 "regression-compile-tmp/imp22g-77.imp"
L_02a7:;
#line 3337 "regression-compile-tmp/imp22g-77.imp"
C.REG.CONTENT[(((int)(I)) - (1))] = (((int)(P)) + (16384));
#line 3337 "regression-compile-tmp/imp22g-77.imp"
L_02a8:;
                                                                //   3338      %else c_reg_content(i) = p+ad
                                                                //   3339      free = free!d0b %if freed = 0
#line 3339 "regression-compile-tmp/imp22g-77.imp"
if (((FREED) != (0))) goto L_02a9;
#line 3339 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) | (1));
#line 3339 "regression-compile-tmp/imp22g-77.imp"
L_02a9:;
                                                                //   3340      restore(freed)
#line 3340 "regression-compile-tmp/imp22g-77.imp"
RESTORE(FREED);
                                                                //   3341      m = i+(dispmode-a0);  v = 0
#line 3341 "regression-compile-tmp/imp22g-77.imp"
M = ((I) + ((int)(31)));
#line 3341 "regression-compile-tmp/imp22g-77.imp"
V = 0;
                                                                //   3342      -> setflags
#line 3342 "regression-compile-tmp/imp22g-77.imp"
goto U_1013;
                                                                //   3343    %finish
#line 3343 "regression-compile-tmp/imp22g-77.imp"
L_029d:;
                                                                //   3344  index1:
#line 3344 "regression-compile-tmp/imp22g-77.imp"
U_1014:;
                                                                //   3345    !deal with subscript
                                                                //   3346    j = 0
#line 3346 "regression-compile-tmp/imp22g-77.imp"
J = 0;
                                                                //   3347    %if y <= 0 %start;  !literal subscript
#line 3347 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_02aa;
                                                                //   3348      j = litval(y);  y = 0
#line 3348 "regression-compile-tmp/imp22g-77.imp"
J = LITVAL(Y);
#line 3348 "regression-compile-tmp/imp22g-77.imp"
Y = 0;
                                                                //   3349    %finish
#line 3349 "regression-compile-tmp/imp22g-77.imp"
L_02aa:;
                                                                //   3350    %if y >= np0 %and dict(y)_act = add %c
#line 3350 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < (NP0))) goto L_02ab;
#line 3350 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[Y].ACT) != (2))) goto L_02ab;
#line 3350 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[Y].Y) > (0))) goto L_02ab;
                                                                //   3351     %and dict(y)_y <= 0 %start;  !Y => {add,exp,lit}
                                                                //   3352      j = litval(dict(y)_y);  y = dict(y)_x
#line 3352 "regression-compile-tmp/imp22g-77.imp"
J = LITVAL(DICT[Y].Y);
#line 3352 "regression-compile-tmp/imp22g-77.imp"
Y = DICT[Y].X;
                                                                //   3353    %finish
#line 3353 "regression-compile-tmp/imp22g-77.imp"
L_02ab:;
                                                                //   3354    %if m > 1 %start
#line 3354 "regression-compile-tmp/imp22g-77.imp"
if (((M) <= (1))) goto L_02ac;
                                                                //   3355      %if y # 0 %start
#line 3355 "regression-compile-tmp/imp22g-77.imp"
if (((Y) == (0))) goto L_02ad;
                                                                //   3356        %if m&(m-1) # 0 %and m <= 32767 %and sy <= 32767 %and sx >= -32768 %start
#line 3356 "regression-compile-tmp/imp22g-77.imp"
if (((((M) & ((((int)(M)) - (1))))) == (0))) goto L_02ae;
#line 3356 "regression-compile-tmp/imp22g-77.imp"
if (((M) > (32767))) goto L_02ae;
#line 3356 "regression-compile-tmp/imp22g-77.imp"
if (((SY) > (32767))) goto L_02ae;
#line 3356 "regression-compile-tmp/imp22g-77.imp"
if (((SX) < ((-32768)))) goto L_02ae;
                                                                //   3357          putexp(muls,y,litref(m),inttype)
#line 3357 "regression-compile-tmp/imp22g-77.imp"
PUTEXP(12, Y, LITREF(M), 43);
                                                                //   3358        %else
#line 3358 "regression-compile-tmp/imp22g-77.imp"
goto L_02af;
#line 3358 "regression-compile-tmp/imp22g-77.imp"
L_02ae:;
                                                                //   3359          putexp(imul,y,litref(m),inttype)
#line 3359 "regression-compile-tmp/imp22g-77.imp"
PUTEXP(86, Y, LITREF(M), 43);
                                                                //   3360        %finish
#line 3360 "regression-compile-tmp/imp22g-77.imp"
L_02af:;
                                                                //   3361        y = item
#line 3361 "regression-compile-tmp/imp22g-77.imp"
Y = ITEM;
                                                                //   3362      %finish
#line 3362 "regression-compile-tmp/imp22g-77.imp"
L_02ad:;
                                                                //   3363    %finish
#line 3363 "regression-compile-tmp/imp22g-77.imp"
L_02ac:;
                                                                //   3364    %if dx_flags&(name+ext+arrflag+indirect) = indirect %and sx # 0 %start
#line 3364 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & ((-14328)))) != (2048))) goto L_02b0;
#line 3364 "regression-compile-tmp/imp22g-77.imp"
if (((SX) == (0))) goto L_02b0;
                                                                //   3365      dx_val = dx_val+4;  !0-based
#line 3365 "regression-compile-tmp/imp22g-77.imp"
DX->VAL = (((int)(DX->VAL)) + (4));
                                                                //   3366      adeval(x,y,j*m)
#line 3366 "regression-compile-tmp/imp22g-77.imp"
ADEVAL(X, Y, (((int)(J)) * (M)));
                                                                //   3367      dx_val = dx_val-4
#line 3367 "regression-compile-tmp/imp22g-77.imp"
DX->VAL = (((int)(DX->VAL)) - (4));
                                                                //   3368    %else
#line 3368 "regression-compile-tmp/imp22g-77.imp"
goto L_02b1;
#line 3368 "regression-compile-tmp/imp22g-77.imp"
L_02b0:;
                                                                //   3369      j = j-sx;  j = j*m %if m > 1
#line 3369 "regression-compile-tmp/imp22g-77.imp"
J = (((int)(J)) - (SX));
#line 3369 "regression-compile-tmp/imp22g-77.imp"
if (((M) <= (1))) goto L_02b2;
#line 3369 "regression-compile-tmp/imp22g-77.imp"
J = (((int)(J)) * (M));
#line 3369 "regression-compile-tmp/imp22g-77.imp"
L_02b2:;
                                                                //   3370      adeval(x,y,j);  !array,index,displacement
#line 3370 "regression-compile-tmp/imp22g-77.imp"
ADEVAL(X, Y, J);
                                                                //   3371    %finish
#line 3371 "regression-compile-tmp/imp22g-77.imp"
L_02b1:;
                                                                //   3372  setflags:
#line 3372 "regression-compile-tmp/imp22g-77.imp"
U_1013:;
                                                                //   3373    dx_flags = dx_flags!(mflag+wflag+rflag);  !don't know
#line 3373 "regression-compile-tmp/imp22g-77.imp"
DX->FLAGS = ((DX->FLAGS) | (176));
                                                                //   3374  setmode:
#line 3374 "regression-compile-tmp/imp22g-77.imp"
U_1015:;
                                                                //   3375  ![what about FRAMEMODE?]
                                                                //   3376    %if dispmode <= m < indexmode %start
#line 3376 "regression-compile-tmp/imp22g-77.imp"
if ((((40) > (M))) || (((M) >= (48)))) goto L_02b3;
                                                                //   3377      %unless is short(v)=TRUE %start
#line 3377 "regression-compile-tmp/imp22g-77.imp"
if (((ISSHORT(V)) == (1))) goto L_02b4;
                                                                //   3378        ok areg(m+(a0-dispmode),oldfree&anyareg)
#line 3378 "regression-compile-tmp/imp22g-77.imp"
OKAREG(((M) + ((int)((-31)))), ((OLDFREE) & (65280)));
                                                                //   3379        addimm(v,r);  forget(r)
#line 3379 "regression-compile-tmp/imp22g-77.imp"
ADDIMM(V, R);
#line 3379 "regression-compile-tmp/imp22g-77.imp"
FORGET(R);
                                                                //   3380        m = r-(a0-dispmode);  v = 0
#line 3380 "regression-compile-tmp/imp22g-77.imp"
M = ((R) + ((int)(31)));
#line 3380 "regression-compile-tmp/imp22g-77.imp"
V = 0;
                                                                //   3381      %finish
#line 3381 "regression-compile-tmp/imp22g-77.imp"
L_02b4:;
                                                                //   3382      %if pp >= explim %and v = 0 %and rset # ref %and dp_flags >= 0 %start
#line 3382 "regression-compile-tmp/imp22g-77.imp"
if (((*PP) < (EXPLIM))) goto L_02b5;
#line 3382 "regression-compile-tmp/imp22g-77.imp"
if (((V) != (0))) goto L_02b5;
#line 3382 "regression-compile-tmp/imp22g-77.imp"
if (((RSET) == ((-2147483648)))) goto L_02b5;
#line 3382 "regression-compile-tmp/imp22g-77.imp"
if (((DP->FLAGS) < (0))) goto L_02b5;
                                                                //   3383      !address wanted, disp zero, as value, not name
                                                                //   3384      ! so the address is simply in the register
                                                                //   3385        ok reg(m+(a0-dispmode))
#line 3385 "regression-compile-tmp/imp22g-77.imp"
OKREG(((M) + ((int)((-31)))));
                                                                //   3386        free = oldfree
#line 3386 "regression-compile-tmp/imp22g-77.imp"
FREE = OLDFREE;
                                                                //   3387        -> endload
#line 3387 "regression-compile-tmp/imp22g-77.imp"
goto U_100d;
                                                                //   3388      %finish
#line 3388 "regression-compile-tmp/imp22g-77.imp"
L_02b5:;
                                                                //   3389    %finish
#line 3389 "regression-compile-tmp/imp22g-77.imp"
L_02b3:;
                                                                //   3390    dp_mode = m;  dp_val = v
#line 3390 "regression-compile-tmp/imp22g-77.imp"
DP->MODE = M;
#line 3390 "regression-compile-tmp/imp22g-77.imp"
DP->VAL = V;
                                                                //   3391    ->load
#line 3391 "regression-compile-tmp/imp22g-77.imp"
goto U_1010;
                                                                //   3392  
                                                                //   3393  do(recref):
#line 3393 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_45:;
                                                                //   3394  !  P => {recref,RECORD,SUBEL}
                                                                //   3395    dx == dict(x)
#line 3395 "regression-compile-tmp/imp22g-77.imp"
DX = &DICT[X];
                                                                //   3396    adeval(x,0,dict(y)_val);  !record,subscript,displacement
#line 3396 "regression-compile-tmp/imp22g-77.imp"
ADEVAL(X, 0, DICT[Y].VAL);
                                                                //   3397    ->setflags
#line 3397 "regression-compile-tmp/imp22g-77.imp"
goto U_1013;
                                                                //   3398  
                                                                //   3399  do(storemap):
#line 3399 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_47:;
                                                                //   3400    v = 0
#line 3400 "regression-compile-tmp/imp22g-77.imp"
V = 0;
                                                                //   3401    %if y >= explim %start
#line 3401 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < (EXPLIM))) goto L_02b6;
                                                                //   3402      y = y-ad;  eval(y,ref)
#line 3402 "regression-compile-tmp/imp22g-77.imp"
Y = (((int)(Y)) - (16384));
#line 3402 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, (-2147483648));
                                                                //   3403      m = dict(y)_mode;  v = dict(y)_val
#line 3403 "regression-compile-tmp/imp22g-77.imp"
M = DICT[Y].MODE;
#line 3403 "regression-compile-tmp/imp22g-77.imp"
V = DICT[Y].VAL;
                                                                //   3404    %else
#line 3404 "regression-compile-tmp/imp22g-77.imp"
goto L_02b7;
#line 3404 "regression-compile-tmp/imp22g-77.imp"
L_02b6:;
                                                                //   3405      %if y >= np0 %start
#line 3405 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < (NP0))) goto L_02b8;
                                                                //   3406        %if dict(y)_act = add %start
#line 3406 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[Y].ACT) != (2))) goto L_02b9;
                                                                //   3407          m = dict(y)_y
#line 3407 "regression-compile-tmp/imp22g-77.imp"
M = DICT[Y].Y;
                                                                //   3408          y = dict(y)_x %and v = litval(m) %if m <= 0
#line 3408 "regression-compile-tmp/imp22g-77.imp"
if (((M) > (0))) goto L_02ba;
#line 3408 "regression-compile-tmp/imp22g-77.imp"
Y = DICT[Y].X;
#line 3408 "regression-compile-tmp/imp22g-77.imp"
V = LITVAL(M);
#line 3408 "regression-compile-tmp/imp22g-77.imp"
L_02ba:;
                                                                //   3409  !       eval(y,val) %if y >= dictlim
                                                                //   3410        %finish;! %else eval(y,val)
#line 3410 "regression-compile-tmp/imp22g-77.imp"
L_02b9:;
                                                                //   3411      %finish
#line 3411 "regression-compile-tmp/imp22g-77.imp"
L_02b8:;
                                                                //   3412      eval(y,anyareg)
#line 3412 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 65280);
                                                                //   3413      check address(y) %if control&assbit # 0  %and pp < explim
#line 3413 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (134217728))) == (0))) goto L_02bb;
#line 3413 "regression-compile-tmp/imp22g-77.imp"
if (((*PP) >= (EXPLIM))) goto L_02bb;
#line 3413 "regression-compile-tmp/imp22g-77.imp"
CHECKADDRESS(Y);
#line 3413 "regression-compile-tmp/imp22g-77.imp"
L_02bb:;
                                                                //   3414      m = y+(dispmode-a0)
#line 3414 "regression-compile-tmp/imp22g-77.imp"
M = ((Y) + ((int)(31)));
                                                                //   3415    %finish
#line 3415 "regression-compile-tmp/imp22g-77.imp"
L_02b7:;
                                                                //   3416    -> setmode
#line 3416 "regression-compile-tmp/imp22g-77.imp"
goto U_1015;
                                                                //   3417  
                                                                //   3418  do(lenref):
#line 3418 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_79:;
                                                                //   3419  do(sindex):
#line 3419 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_82:;
                                                                //   3420    x = x-ad %if x >= explim
#line 3420 "regression-compile-tmp/imp22g-77.imp"
if (((X) < (EXPLIM))) goto L_02bc;
#line 3420 "regression-compile-tmp/imp22g-77.imp"
X = (((int)(X)) - (16384));
#line 3420 "regression-compile-tmp/imp22g-77.imp"
L_02bc:;
                                                                //   3421    dx == dict(x)
#line 3421 "regression-compile-tmp/imp22g-77.imp"
DX = &DICT[X];
                                                                //   3422    %if y <= 0 %then adeval(x,0,litval(y)) %c
#line 3422 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_02bd;
#line 3422 "regression-compile-tmp/imp22g-77.imp"
ADEVAL(X, 0, LITVAL(Y));
#line 3422 "regression-compile-tmp/imp22g-77.imp"
goto L_02be;
#line 3422 "regression-compile-tmp/imp22g-77.imp"
L_02bd:;
#line 3422 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 239);
#line 3422 "regression-compile-tmp/imp22g-77.imp"
ADEVAL(X, Y, 0);
#line 3422 "regression-compile-tmp/imp22g-77.imp"
L_02be:;
                                                                //   3423    %else eval(y,anydreg) %and adeval(x,y,0)
                                                                //   3424    -> setflags
#line 3424 "regression-compile-tmp/imp22g-77.imp"
goto U_1013;
                                                                //   3425  
                                                                //   3426  do(dnew):
#line 3426 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_115:;
                                                                //   3427    commandeer(c_free)
#line 3427 "regression-compile-tmp/imp22g-77.imp"
COMMANDEER(C.FREE);
                                                                //   3428    plant(move,y,d0)
#line 3428 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, Y, 1);
                                                                //   3429    srcall(act)
#line 3429 "regression-compile-tmp/imp22g-77.imp"
SRCALL(ACT);
                                                                //   3430    forget regs
#line 3430 "regression-compile-tmp/imp22g-77.imp"
FORGETREGS();
                                                                //   3431    c_reg_line = line
#line 3431 "regression-compile-tmp/imp22g-77.imp"
C.REG.LINE = LINE;
                                                                //   3432    -> endmap
#line 3432 "regression-compile-tmp/imp22g-77.imp"
goto U_1016;
                                                                //   3433  
                                                                //   3434  do(dtostring):
#line 3434 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_107:;
                                                                //   3435  proccall:
#line 3435 "regression-compile-tmp/imp22g-77.imp"
U_100f:;
                                                                //   3436    dx == dict(act)
#line 3436 "regression-compile-tmp/imp22g-77.imp"
DX = &DICT[ACT];
                                                                //   3437    -> rcall %if p < np
#line 3437 "regression-compile-tmp/imp22g-77.imp"
if (((P) >= (NP))) goto L_02bf;
#line 3437 "regression-compile-tmp/imp22g-77.imp"
goto U_1017;
#line 3437 "regression-compile-tmp/imp22g-77.imp"
L_02bf:;
                                                                //   3438    -> funcall %if dx_flags&writable = 0
#line 3438 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & (1))) != (0))) goto L_02c0;
#line 3438 "regression-compile-tmp/imp22g-77.imp"
goto U_1018;
#line 3438 "regression-compile-tmp/imp22g-77.imp"
L_02c0:;
                                                                //   3439  !mapcall
                                                                //   3440    commandeer(c_free)
#line 3440 "regression-compile-tmp/imp22g-77.imp"
COMMANDEER(C.FREE);
                                                                //   3441    call
#line 3441 "regression-compile-tmp/imp22g-77.imp"
CALL();
                                                                //   3442  endmap:
#line 3442 "regression-compile-tmp/imp22g-77.imp"
U_1016:;
                                                                //   3443    free = oldfree
#line 3443 "regression-compile-tmp/imp22g-77.imp"
FREE = OLDFREE;
                                                                //   3444    r = a0
#line 3444 "regression-compile-tmp/imp22g-77.imp"
R = 9;
                                                                //   3445    ok areg(a0,\freed&anyareg) %if rset # ref
#line 3445 "regression-compile-tmp/imp22g-77.imp"
if (((RSET) == ((-2147483648)))) goto L_02c1;
#line 3445 "regression-compile-tmp/imp22g-77.imp"
OKAREG(9, (((~(FREED))) & (65280)));
#line 3445 "regression-compile-tmp/imp22g-77.imp"
L_02c1:;
                                                                //   3446    restore(freed)
#line 3446 "regression-compile-tmp/imp22g-77.imp"
RESTORE(FREED);
                                                                //   3447    free = free&(\(a0b<<(r-a0)))
#line 3447 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) & ((~(((256) << ((((int)(R)) - (9))))))));
                                                                //   3448    c_reg_content(r) = p+ad
#line 3448 "regression-compile-tmp/imp22g-77.imp"
C.REG.CONTENT[(((int)(R)) - (1))] = (((int)(P)) + (16384));
                                                                //   3449    m = r+(dispmode-a0);  v = 0;  !0(A?)
#line 3449 "regression-compile-tmp/imp22g-77.imp"
M = ((R) + ((int)(31)));
#line 3449 "regression-compile-tmp/imp22g-77.imp"
V = 0;
                                                                //   3450    ->setmode
#line 3450 "regression-compile-tmp/imp22g-77.imp"
goto U_1015;
                                                                //   3451  
                                                                //   3452  funcall:
#line 3452 "regression-compile-tmp/imp22g-77.imp"
U_1018:;
                                                                //   3453    commandeer(c_free)
#line 3453 "regression-compile-tmp/imp22g-77.imp"
COMMANDEER(C.FREE);
                                                                //   3454    call
#line 3454 "regression-compile-tmp/imp22g-77.imp"
CALL();
                                                                //   3455    r = typecell(dx_type)_reg&15+d0
#line 3455 "regression-compile-tmp/imp22g-77.imp"
R = (((int)(((TYPECELL(DX->TYPE)->REG) & (15)))) + (1));
                                                                //   3456    c_reg_ccx = pp %and c_reg_ccy = 0 %if dx_flags&okflag # 0
#line 3456 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & (64))) == (0))) goto L_02c2;
#line 3456 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCX = *PP;
#line 3456 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCY = 0;
#line 3456 "regression-compile-tmp/imp22g-77.imp"
L_02c2:;
                                                                //   3457  endloadr:
#line 3457 "regression-compile-tmp/imp22g-77.imp"
U_1019:;
                                                                //   3458    free = oldfree
#line 3458 "regression-compile-tmp/imp22g-77.imp"
FREE = OLDFREE;
                                                                //   3459    %if rset # ref %then ok reg(r)
#line 3459 "regression-compile-tmp/imp22g-77.imp"
if (((RSET) == ((-2147483648)))) goto L_02c3;
#line 3459 "regression-compile-tmp/imp22g-77.imp"
OKREG(R);
#line 3459 "regression-compile-tmp/imp22g-77.imp"
L_02c3:;
                                                                //   3460    restore(freed)
#line 3460 "regression-compile-tmp/imp22g-77.imp"
RESTORE(FREED);
                                                                //   3461    ->endload
#line 3461 "regression-compile-tmp/imp22g-77.imp"
goto U_100d;
                                                                //   3462  
                                                                //   3463  rcall:
#line 3463 "regression-compile-tmp/imp22g-77.imp"
U_1017:;
                                                                //   3464    flush %if pendcond # 0
#line 3464 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) == (0))) goto L_02c4;
#line 3464 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
#line 3464 "regression-compile-tmp/imp22g-77.imp"
L_02c4:;
                                                                //   3465    update sp
#line 3465 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   3466  !<<IMP
                                                                //   3467    %while act = dprintstr %and x >= np0 %and dict(x)_act = concat %cycle
#line 3467 "regression-compile-tmp/imp22g-77.imp"
L_02c5:;
#line 3467 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) != (155))) goto L_02c6;
#line 3467 "regression-compile-tmp/imp22g-77.imp"
if (((X) < (NP0))) goto L_02c6;
#line 3467 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[X].ACT) != (106))) goto L_02c6;
                                                                //   3468      dp_x = dict(x)_x;  !first of pair
#line 3468 "regression-compile-tmp/imp22g-77.imp"
DP->X = DICT[X].X;
                                                                //   3469      call;  free = c_free
#line 3469 "regression-compile-tmp/imp22g-77.imp"
CALL();
#line 3469 "regression-compile-tmp/imp22g-77.imp"
FREE = C.FREE;
                                                                //   3470      x = dict(x)_y;  dp_x = x
#line 3470 "regression-compile-tmp/imp22g-77.imp"
X = DICT[X].Y;
#line 3470 "regression-compile-tmp/imp22g-77.imp"
DP->X = X;
                                                                //   3471    %repeat
#line 3471 "regression-compile-tmp/imp22g-77.imp"
goto L_02c5;
#line 3471 "regression-compile-tmp/imp22g-77.imp"
L_02c6:;
                                                                //   3472  !<<BOTH
                                                                //   3473    call
#line 3473 "regression-compile-tmp/imp22g-77.imp"
CALL();
                                                                //   3474    c_access = 0 %if dx_flags&noret # 0
#line 3474 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & (64))) == (0))) goto L_02c8;
#line 3474 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = 0;
#line 3474 "regression-compile-tmp/imp22g-77.imp"
L_02c8:;
                                                                //   3475    forget triples %if pp+1 = np %and curlab = c_lab1 %c
#line 3475 "regression-compile-tmp/imp22g-77.imp"
if (((((*(int *)(PP)) + (1))) != (NP))) goto L_02c9;
#line 3475 "regression-compile-tmp/imp22g-77.imp"
if (((CURLAB) != (C.LAB1))) goto L_02c9;
#line 3475 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[CURLAB].VAL) < (0))) goto L_02c9;
#line 3475 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(CURLAB)) + (1))].VAL) < (0))) goto L_02c9;
#line 3475 "regression-compile-tmp/imp22g-77.imp"
FORGETTRIPLES();
#line 3475 "regression-compile-tmp/imp22g-77.imp"
L_02c9:;
                                                                //   3476                   %and dict(curlab)_val >= 0 %and dict(curlab+1)_val >= 0
                                                                //   3477    %return
#line 3477 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3478  
                                                                //   3479  !!!!!!!!!!!!!!!!!!!!!!!!!   Operators   !!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   3480  
                                                                //   3481  %routine EVALXY
#line 3481 "regression-compile-tmp/imp22g-77.imp"
void EVALXY( void )
#line 3481 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   3482    rset = rset&(\bregb)
#line 3482 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(16))));
                                                                //   3483    commandeer(d0b+d1b)
#line 3483 "regression-compile-tmp/imp22g-77.imp"
COMMANDEER(3);
                                                                //   3484    %if 999 > weight(x) < weight(y) %start
#line 3484 "regression-compile-tmp/imp22g-77.imp"
if (({int tmp1 = 999, tmp2 = WEIGHT(X), tmp3 = WEIGHT(Y); (tmp1 <= tmp2) || (tmp2 >= tmp3);})) goto L_02ca;
                                                                //   3485      eval(y,d1b);  eval(x,d0b)
#line 3485 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 2);
#line 3485 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 1);
                                                                //   3486    %else
#line 3486 "regression-compile-tmp/imp22g-77.imp"
goto L_02cb;
#line 3486 "regression-compile-tmp/imp22g-77.imp"
L_02ca:;
                                                                //   3487      eval(x,d0b);  eval(y,d1b)
#line 3487 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 1);
#line 3487 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 2);
                                                                //   3488    %finish
#line 3488 "regression-compile-tmp/imp22g-77.imp"
L_02cb:;
                                                                //   3489  %end
#line 3489 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block EVALXY at level 3
                                                                //   3490  
                                                                //   3491  %routine STACKOP(%integer s)
#line 3491 "regression-compile-tmp/imp22g-77.imp"
void STACKOP( int S )
#line 3491 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   3492    stsiz = s
#line 3492 "regression-compile-tmp/imp22g-77.imp"
STSIZ = S;
                                                                //   3493    sp = c_sp
#line 3493 "regression-compile-tmp/imp22g-77.imp"
SP = C.SP;
                                                                //   3494    eval(x,tostack);  free = free!a0b
#line 3494 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 524288);
#line 3494 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) | (256));
                                                                //   3495    eval(y,a0b+asad)
#line 3495 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 1048832);
                                                                //   3496    plant(move,a7,a1);      !dest (stack)
#line 3496 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, 16, 10);
                                                                //   3497    structcall(act,s)
#line 3497 "regression-compile-tmp/imp22g-77.imp"
STRUCTCALL(ACT, S);
                                                                //   3498    forget(a0);  forget(a1);  forget(a0+2)
#line 3498 "regression-compile-tmp/imp22g-77.imp"
FORGET(9);
#line 3498 "regression-compile-tmp/imp22g-77.imp"
FORGET(10);
#line 3498 "regression-compile-tmp/imp22g-77.imp"
FORGET(11);
                                                                //   3499  %end
#line 3499 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block STACKOP at level 3
                                                                //   3500  
                                                                //   3501  !<<IMP
                                                                //   3502  do(prel):
#line 3502 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_46:;
                                                                //   3503  !  P => {prel,BASENAME,INDEX}
                                                                //   3504    dx == dict(x)
#line 3504 "regression-compile-tmp/imp22g-77.imp"
DX = &DICT[X];
                                                                //   3505    m = imod(size(dx_type))
#line 3505 "regression-compile-tmp/imp22g-77.imp"
M = _imp_IMOD(SIZE(DX->TYPE));
                                                                //   3506    sx = 0;  sy = 999999
#line 3506 "regression-compile-tmp/imp22g-77.imp"
SX = 0;
#line 3506 "regression-compile-tmp/imp22g-77.imp"
SY = 999999;
                                                                //   3507    -> index1
#line 3507 "regression-compile-tmp/imp22g-77.imp"
goto U_1014;
                                                                //   3508  
                                                                //   3509  !<<BOTH
                                                                //   3510  
                                                                //   3511  do(check):        !CHECK rangetype,value
#line 3511 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_111:;
                                                                //   3512    commandeer(d0b)
#line 3512 "regression-compile-tmp/imp22g-77.imp"
COMMANDEER(1);
                                                                //   3513    eval(y,d0b)
#line 3513 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 1);
                                                                //   3514    srcall(x)
#line 3514 "regression-compile-tmp/imp22g-77.imp"
SRCALL(X);
                                                                //   3515    r = d0
#line 3515 "regression-compile-tmp/imp22g-77.imp"
R = 1;
                                                                //   3516    -> endloadr
#line 3516 "regression-compile-tmp/imp22g-77.imp"
goto U_1019;
                                                                //   3517  
                                                                //   3518  ![Note that all literal subtraction comes through as ADD]
                                                                //   3519  do(add):
#line 3519 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_2:;
                                                                //   3520    %if control&overbit # 0 %start
#line 3520 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (268435456))) == (0))) goto L_02cc;
                                                                //   3521      -> dataload %if rset&(\anyareg) = 0
#line 3521 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & ((~(65280))))) != (0))) goto L_02cd;
#line 3521 "regression-compile-tmp/imp22g-77.imp"
goto U_1012;
#line 3521 "regression-compile-tmp/imp22g-77.imp"
L_02cd:;
                                                                //   3522      rset = rset&(\anyareg)
#line 3522 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(65280))));
                                                                //   3523    %finish
#line 3523 "regression-compile-tmp/imp22g-77.imp"
L_02cc:;
                                                                //   3524    -> dataload %if rset&(\bregb) = 0
#line 3524 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & ((~(16))))) != (0))) goto L_02ce;
#line 3524 "regression-compile-tmp/imp22g-77.imp"
goto U_1012;
#line 3524 "regression-compile-tmp/imp22g-77.imp"
L_02ce:;
                                                                //   3525    rset = rset&(\bregb)
#line 3525 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(16))));
                                                                //   3526    %if y < 0 %start
#line 3526 "regression-compile-tmp/imp22g-77.imp"
if (((Y) >= (0))) goto L_02cf;
                                                                //   3527      %if y >= litquick %start;  !(ADDQ,SUBQ)
#line 3527 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < ((-16)))) goto L_02d0;
                                                                //   3528        y = y-1 %and act = sub %if y&1 # 0;  !'negate' if 'negative'
#line 3528 "regression-compile-tmp/imp22g-77.imp"
if (((((Y) & (1))) == (0))) goto L_02d1;
#line 3528 "regression-compile-tmp/imp22g-77.imp"
Y = (((int)(Y)) - (1));
#line 3528 "regression-compile-tmp/imp22g-77.imp"
ACT = 3;
#line 3528 "regression-compile-tmp/imp22g-77.imp"
L_02d1:;
                                                                //   3529        eval(x,rset&free)
#line 3529 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, ((RSET) & (FREE)));
                                                                //   3530        ->fin1
#line 3530 "regression-compile-tmp/imp22g-77.imp"
goto U_101a;
                                                                //   3531      %finish
#line 3531 "regression-compile-tmp/imp22g-77.imp"
L_02d0:;
                                                                //   3532      %if y = -(128<<1) %start;  !+128
#line 3532 "regression-compile-tmp/imp22g-77.imp"
if (((Y) != ((-(((128) << (1))))))) goto L_02d2;
                                                                //   3533        act = sub;  y = y+1;  !- -128 (MOVEQ)
#line 3533 "regression-compile-tmp/imp22g-77.imp"
ACT = 3;
#line 3533 "regression-compile-tmp/imp22g-77.imp"
Y = (((int)(Y)) + (1));
                                                                //   3534        -> op2
#line 3534 "regression-compile-tmp/imp22g-77.imp"
goto U_101b;
                                                                //   3535      %finish
#line 3535 "regression-compile-tmp/imp22g-77.imp"
L_02d2:;
                                                                //   3536    %finish
#line 3536 "regression-compile-tmp/imp22g-77.imp"
L_02cf:;
                                                                //   3537    -> op1
#line 3537 "regression-compile-tmp/imp22g-77.imp"
goto U_101c;
                                                                //   3538  do(eor):
#line 3538 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_7:;
                                                                //   3539    -> dataload %if rset&(\bregb) = 0
#line 3539 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & ((~(16))))) != (0))) goto L_02d3;
#line 3539 "regression-compile-tmp/imp22g-77.imp"
goto U_1012;
#line 3539 "regression-compile-tmp/imp22g-77.imp"
L_02d3:;
                                                                //   3540    rset = rset&(\bregb)
#line 3540 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(16))));
                                                                //   3541  do(or):
#line 3541 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_6:;
                                                                //   3542  do(and):
#line 3542 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_5:;
                                                                //   3543    -> dataload %if rset&(\anyareg) = 0
#line 3543 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & ((~(65280))))) != (0))) goto L_02d4;
#line 3543 "regression-compile-tmp/imp22g-77.imp"
goto U_1012;
#line 3543 "regression-compile-tmp/imp22g-77.imp"
L_02d4:;
                                                                //   3544    rset = rset&(\anyareg)
#line 3544 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(65280))));
                                                                //   3545  op1:
#line 3545 "regression-compile-tmp/imp22g-77.imp"
U_101c:;
                                                                //   3546    wx = weight(x)
#line 3546 "regression-compile-tmp/imp22g-77.imp"
WX = WEIGHT(X);
                                                                //   3547    %if wx <= 1 %and y <= 0 %and y >= litmite %and rset&(\anyareg) # 0 %start
#line 3547 "regression-compile-tmp/imp22g-77.imp"
if (((WX) > (1))) goto L_02d5;
#line 3547 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_02d5;
#line 3547 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < ((-255)))) goto L_02d5;
#line 3547 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & ((~(65280))))) == (0))) goto L_02d5;
                                                                //   3548      rset = rset&(\anyareg)
#line 3548 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(65280))));
                                                                //   3549      i = x;  x = y;  y = i
#line 3549 "regression-compile-tmp/imp22g-77.imp"
I = X;
#line 3549 "regression-compile-tmp/imp22g-77.imp"
X = Y;
#line 3549 "regression-compile-tmp/imp22g-77.imp"
Y = I;
                                                                //   3550    %finish %else %if 999 > wx < weight(y) %start
#line 3550 "regression-compile-tmp/imp22g-77.imp"
goto L_02d6;
#line 3550 "regression-compile-tmp/imp22g-77.imp"
L_02d5:;
#line 3550 "regression-compile-tmp/imp22g-77.imp"
if (({int tmp1 = 999, tmp2 = WX, tmp3 = WEIGHT(Y); (tmp1 <= tmp2) || (tmp2 >= tmp3);})) goto L_02d7;
                                                                //   3551      i = x;  x = y;  y = i
#line 3551 "regression-compile-tmp/imp22g-77.imp"
I = X;
#line 3551 "regression-compile-tmp/imp22g-77.imp"
X = Y;
#line 3551 "regression-compile-tmp/imp22g-77.imp"
Y = I;
                                                                //   3552    %finish
#line 3552 "regression-compile-tmp/imp22g-77.imp"
L_02d7:;
#line 3552 "regression-compile-tmp/imp22g-77.imp"
L_02d6:;
                                                                //   3553    -> op2
#line 3553 "regression-compile-tmp/imp22g-77.imp"
goto U_101b;
                                                                //   3554  do(sub):
#line 3554 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_3:;
                                                                //   3555    %if control&overbit # 0 %start
#line 3555 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (268435456))) == (0))) goto L_02d8;
                                                                //   3556      -> dataload %if rset&(\anyareg) = 0
#line 3556 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & ((~(65280))))) != (0))) goto L_02d9;
#line 3556 "regression-compile-tmp/imp22g-77.imp"
goto U_1012;
#line 3556 "regression-compile-tmp/imp22g-77.imp"
L_02d9:;
                                                                //   3557      rset = rset&(\anyareg)
#line 3557 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(65280))));
                                                                //   3558    %finish
#line 3558 "regression-compile-tmp/imp22g-77.imp"
L_02d8:;
                                                                //   3559    rset = rset&(\bregb)
#line 3559 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(16))));
                                                                //   3560  op2:
#line 3560 "regression-compile-tmp/imp22g-77.imp"
U_101b:;
                                                                //   3561    eval(x,rset&free)
#line 3561 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, ((RSET) & (FREE)));
                                                                //   3562  op3:
#line 3562 "regression-compile-tmp/imp22g-77.imp"
U_101d:;
                                                                //   3563    oldfree = free
#line 3563 "regression-compile-tmp/imp22g-77.imp"
OLDFREE = FREE;
                                                                //   3564    %if y <= 0 %and y >= litmite %and free&(anydreg!bregb) # 0 %start
#line 3564 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_02da;
#line 3564 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < ((-255)))) goto L_02da;
#line 3564 "regression-compile-tmp/imp22g-77.imp"
if (((((FREE) & (((239) | (16))))) == (0))) goto L_02da;
                                                                //   3565      eval(y,anydreg!bregb);           !bring Y to reg
#line 3565 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, ((239) | (16)));
                                                                //   3566    %finish %else %if act = eor %and y > 0 %start
#line 3566 "regression-compile-tmp/imp22g-77.imp"
goto L_02db;
#line 3566 "regression-compile-tmp/imp22g-77.imp"
L_02da:;
#line 3566 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) != (7))) goto L_02dc;
#line 3566 "regression-compile-tmp/imp22g-77.imp"
if (((Y) <= (0))) goto L_02dc;
                                                                //   3567      eval(y,anydreg)
#line 3567 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 239);
                                                                //   3568    %finish %else %if act > sub %start
#line 3568 "regression-compile-tmp/imp22g-77.imp"
goto L_02db;
#line 3568 "regression-compile-tmp/imp22g-77.imp"
L_02dc:;
#line 3568 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) <= (3))) goto L_02dd;
                                                                //   3569      %if x = breg %and y > 0 %start
#line 3569 "regression-compile-tmp/imp22g-77.imp"
if (((X) != (5))) goto L_02de;
#line 3569 "regression-compile-tmp/imp22g-77.imp"
if (((Y) <= (0))) goto L_02de;
                                                                //   3570        sy = tsize(y)
#line 3570 "regression-compile-tmp/imp22g-77.imp"
SY = TSIZE(Y);
                                                                //   3571        %if sy = 1 %or (sy = 2 %and act = and) %start
#line 3571 "regression-compile-tmp/imp22g-77.imp"
if (((SY) == (1))) goto L_0268;
#line 3571 "regression-compile-tmp/imp22g-77.imp"
if (((SY) != (2))) goto L_02df;
#line 3571 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) != (5))) goto L_02df;
#line 3571 "regression-compile-tmp/imp22g-77.imp"
L_0268:;
                                                                //   3572          eval(y,val&(\anyareg)+sy<<sizeshift)
#line 3572 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, ((((((-2147418113)) & ((~(65280)))))) + (((SY) << (16)))));
                                                                //   3573          act = act+sy<<8 %if y > d7
#line 3573 "regression-compile-tmp/imp22g-77.imp"
if (((Y) <= (8))) goto L_02e0;
#line 3573 "regression-compile-tmp/imp22g-77.imp"
ACT = ((ACT) + ((int)(((SY) << (8)))));
#line 3573 "regression-compile-tmp/imp22g-77.imp"
L_02e0:;
                                                                //   3574        %finish %else eval(y,val&(\anyareg))
#line 3574 "regression-compile-tmp/imp22g-77.imp"
goto L_02e1;
#line 3574 "regression-compile-tmp/imp22g-77.imp"
L_02df:;
#line 3574 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, (((-2147418113)) & ((~(65280)))));
#line 3574 "regression-compile-tmp/imp22g-77.imp"
L_02e1:;
                                                                //   3575      %finish %else eval(y,val&(\anyareg))
#line 3575 "regression-compile-tmp/imp22g-77.imp"
goto L_02e2;
#line 3575 "regression-compile-tmp/imp22g-77.imp"
L_02de:;
#line 3575 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, (((-2147418113)) & ((~(65280)))));
#line 3575 "regression-compile-tmp/imp22g-77.imp"
L_02e2:;
                                                                //   3576    %else
#line 3576 "regression-compile-tmp/imp22g-77.imp"
goto L_02db;
#line 3576 "regression-compile-tmp/imp22g-77.imp"
L_02dd:;
                                                                //   3577      eval(y,val)
#line 3577 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, (-2147418113));
                                                                //   3578    %finish
#line 3578 "regression-compile-tmp/imp22g-77.imp"
L_02db:;
                                                                //   3579    free = oldfree
#line 3579 "regression-compile-tmp/imp22g-77.imp"
FREE = OLDFREE;
                                                                //   3580  fin1:
#line 3580 "regression-compile-tmp/imp22g-77.imp"
U_101a:;
                                                                //   3581    plant(act,y,x)
#line 3581 "regression-compile-tmp/imp22g-77.imp"
PLANT(ACT, Y, X);
                                                                //   3582    -> fin3 %if act > sub
#line 3582 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) <= (3))) goto L_02e3;
#line 3582 "regression-compile-tmp/imp22g-77.imp"
goto U_101e;
#line 3582 "regression-compile-tmp/imp22g-77.imp"
L_02e3:;
                                                                //   3583  fin2:
#line 3583 "regression-compile-tmp/imp22g-77.imp"
U_101f:;
                                                                //   3584    plant(trapv,0,0) %if control&overbit # 0
#line 3584 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (268435456))) == (0))) goto L_02e4;
#line 3584 "regression-compile-tmp/imp22g-77.imp"
PLANT(70, 0, 0);
#line 3584 "regression-compile-tmp/imp22g-77.imp"
L_02e4:;
                                                                //   3585  fin3:
#line 3585 "regression-compile-tmp/imp22g-77.imp"
U_101e:;
                                                                //   3586    pp = x;  c_reg_content(x) = p
#line 3586 "regression-compile-tmp/imp22g-77.imp"
*PP = X;
#line 3586 "regression-compile-tmp/imp22g-77.imp"
C.REG.CONTENT[(((int)(X)) - (1))] = P;
                                                                //   3587    %if act <= opmax %then c_reg_ccx = p %and c_reg_ccy = 0 %c
#line 3587 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) > (117))) goto L_02e5;
#line 3587 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCX = P;
#line 3587 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCY = 0;
#line 3587 "regression-compile-tmp/imp22g-77.imp"
goto L_02e6;
#line 3587 "regression-compile-tmp/imp22g-77.imp"
L_02e5:;
#line 3587 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
#line 3587 "regression-compile-tmp/imp22g-77.imp"
L_02e6:;
                                                                //   3588    %else forget cc
                                                                //   3589    %return
#line 3589 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3590  
                                                                //   3591  do(muls): do(mulu):
#line 3591 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_12:;
#line 3591 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_14:;
                                                                //   3592    -> dataload %if rset&(\(anyareg!bregb)) = 0
#line 3592 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & ((~(((65280) | (16))))))) != (0))) goto L_02e7;
#line 3592 "regression-compile-tmp/imp22g-77.imp"
goto U_1012;
#line 3592 "regression-compile-tmp/imp22g-77.imp"
L_02e7:;
                                                                //   3593    rset = rset&(\(anyareg!bregb))
#line 3593 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(((65280) | (16))))));
                                                                //   3594    eval(x,rset&free)
#line 3594 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, ((RSET) & (FREE)));
                                                                //   3595    oldfree = free
#line 3595 "regression-compile-tmp/imp22g-77.imp"
OLDFREE = FREE;
                                                                //   3596    eval(y,anydreg) %if y > 0;  ![could do better for short]
#line 3596 "regression-compile-tmp/imp22g-77.imp"
if (((Y) <= (0))) goto L_02e8;
#line 3596 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 239);
#line 3596 "regression-compile-tmp/imp22g-77.imp"
L_02e8:;
                                                                //   3597    free = oldfree
#line 3597 "regression-compile-tmp/imp22g-77.imp"
FREE = OLDFREE;
                                                                //   3598    plant(act,y,x)
#line 3598 "regression-compile-tmp/imp22g-77.imp"
PLANT(ACT, Y, X);
                                                                //   3599    -> fin2
#line 3599 "regression-compile-tmp/imp22g-77.imp"
goto U_101f;
                                                                //   3600  
                                                                //   3601  do(lsl): do(lsr):
#line 3601 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_10:;
#line 3601 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_11:;
                                                                //   3602    -> dataload %if rset&(\(anyareg!bregb)) = 0
#line 3602 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & ((~(((65280) | (16))))))) != (0))) goto L_02e9;
#line 3602 "regression-compile-tmp/imp22g-77.imp"
goto U_1012;
#line 3602 "regression-compile-tmp/imp22g-77.imp"
L_02e9:;
                                                                //   3603    rset = rset&(\(anyareg!bregb))
#line 3603 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(((65280) | (16))))));
                                                                //   3604    eval(x,rset&free)
#line 3604 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, ((RSET) & (FREE)));
                                                                //   3605    %if y < 0 %and y >= litquick %start
#line 3605 "regression-compile-tmp/imp22g-77.imp"
if (((Y) >= (0))) goto L_02ea;
#line 3605 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < ((-16)))) goto L_02ea;
                                                                //   3606      act = act!!(lsl!!lsr) %and y = y-1 %if y&1 # 0;  !negate if neg
#line 3606 "regression-compile-tmp/imp22g-77.imp"
if (((((Y) & (1))) == (0))) goto L_02eb;
#line 3606 "regression-compile-tmp/imp22g-77.imp"
ACT = ((ACT) ^ (((10) ^ (11))));
#line 3606 "regression-compile-tmp/imp22g-77.imp"
Y = (((int)(Y)) - (1));
#line 3606 "regression-compile-tmp/imp22g-77.imp"
L_02eb:;
                                                                //   3607    %else
#line 3607 "regression-compile-tmp/imp22g-77.imp"
goto L_02ec;
#line 3607 "regression-compile-tmp/imp22g-77.imp"
L_02ea:;
                                                                //   3608      oldfree = free;  eval(y,anydreg);  free = oldfree
#line 3608 "regression-compile-tmp/imp22g-77.imp"
OLDFREE = FREE;
#line 3608 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 239);
#line 3608 "regression-compile-tmp/imp22g-77.imp"
FREE = OLDFREE;
                                                                //   3609    %finish
#line 3609 "regression-compile-tmp/imp22g-77.imp"
L_02ec:;
                                                                //   3610    ->fin1
#line 3610 "regression-compile-tmp/imp22g-77.imp"
goto U_101a;
                                                                //   3611  do(neg):
#line 3611 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_9:;
                                                                //   3612    %if y # 0 %start
#line 3612 "regression-compile-tmp/imp22g-77.imp"
if (((Y) == (0))) goto L_02ed;
                                                                //   3613     r = y;  y = x;  x = r
#line 3613 "regression-compile-tmp/imp22g-77.imp"
R = Y;
#line 3613 "regression-compile-tmp/imp22g-77.imp"
Y = X;
#line 3613 "regression-compile-tmp/imp22g-77.imp"
X = R;
                                                                //   3614     act = sub
#line 3614 "regression-compile-tmp/imp22g-77.imp"
ACT = 3;
                                                                //   3615     -> do(sub)
#line 3615 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_idx = 3; goto *sw3_DO[sw3_DO_idx]; 
                                                                //   3616    %finish
#line 3616 "regression-compile-tmp/imp22g-77.imp"
L_02ed:;
                                                                //   3617  do(not):
#line 3617 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_8:;
                                                                //   3618    -> dataload %if rset&(\(anyareg!bregb)) = 0
#line 3618 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & ((~(((65280) | (16))))))) != (0))) goto L_02ee;
#line 3618 "regression-compile-tmp/imp22g-77.imp"
goto U_1012;
#line 3618 "regression-compile-tmp/imp22g-77.imp"
L_02ee:;
                                                                //   3619    rset = rset&(\(anyareg!bregb))
#line 3619 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(((65280) | (16))))));
                                                                //   3620    eval(x,rset&free)
#line 3620 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, ((RSET) & (FREE)));
                                                                //   3621    plant(act,0,x)
#line 3621 "regression-compile-tmp/imp22g-77.imp"
PLANT(ACT, 0, X);
                                                                //   3622    -> fin3
#line 3622 "regression-compile-tmp/imp22g-77.imp"
goto U_101e;
                                                                //   3623  do(iabs):
#line 3623 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_48:;
                                                                //   3624    -> dataload %if rset&(\(anyareg!bregb)) = 0
#line 3624 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & ((~(((65280) | (16))))))) != (0))) goto L_02ef;
#line 3624 "regression-compile-tmp/imp22g-77.imp"
goto U_1012;
#line 3624 "regression-compile-tmp/imp22g-77.imp"
L_02ef:;
                                                                //   3625    rset = rset&(\(anyareg!bregb))
#line 3625 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(((65280) | (16))))));
                                                                //   3626    x = y
#line 3626 "regression-compile-tmp/imp22g-77.imp"
X = Y;
                                                                //   3627    eval(x,rset&free)
#line 3627 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, ((RSET) & (FREE)));
                                                                //   3628    plant(move,x,x) %if c_reg_ccx # y %or c_reg_ccy # 0
#line 3628 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CCX) != (Y))) goto L_02c7;
#line 3628 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CCY) == (0))) goto L_02f0;
#line 3628 "regression-compile-tmp/imp22g-77.imp"
L_02c7:;
#line 3628 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, X, X);
#line 3628 "regression-compile-tmp/imp22g-77.imp"
L_02f0:;
                                                                //   3629    plantlit2(bge,0,2)
#line 3629 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT2(28, 0, 2);
                                                                //   3630    plant(neg,0,x)
#line 3630 "regression-compile-tmp/imp22g-77.imp"
PLANT(9, 0, X);
                                                                //   3631    ->fin2
#line 3631 "regression-compile-tmp/imp22g-77.imp"
goto U_101f;
                                                                //   3632  do(fabs):
#line 3632 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_49:;
                                                                //   3633    -> dataload %if rset&(\(anyareg!bregb)) = 0
#line 3633 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & ((~(((65280) | (16))))))) != (0))) goto L_02f1;
#line 3633 "regression-compile-tmp/imp22g-77.imp"
goto U_1012;
#line 3633 "regression-compile-tmp/imp22g-77.imp"
L_02f1:;
                                                                //   3634    rset = rset&(\(anyareg!bregb))
#line 3634 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(((65280) | (16))))));
                                                                //   3635    x = y
#line 3635 "regression-compile-tmp/imp22g-77.imp"
X = Y;
                                                                //   3636    eval(x,rset&free)
#line 3636 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, ((RSET) & (FREE)));
                                                                //   3637    plantlit(and,16_7FFFFFFF,x)
#line 3637 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(5, 2147483647, X);
                                                                //   3638    ->fin3
#line 3638 "regression-compile-tmp/imp22g-77.imp"
goto U_101e;
                                                                //   3639  
                                                                //   3640  %routine DO SHIFT
#line 3640 "regression-compile-tmp/imp22g-77.imp"
void DOSHIFT( void )
#line 3640 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   3641  %integer i;
#line 3641 "regression-compile-tmp/imp22g-77.imp"
int I;
                                                                //   3642    i=0
#line 3642 "regression-compile-tmp/imp22g-77.imp"
I = 0;
                                                                //   3643    i = i+1 %and j = j>>1 %until j&1 # 0
#line 3643 "regression-compile-tmp/imp22g-77.imp"
L_02f2:;
#line 3643 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
#line 3643 "regression-compile-tmp/imp22g-77.imp"
J = (int)((((unsigned int)(J)) >> (1)));
#line 3643 "regression-compile-tmp/imp22g-77.imp"
if (((((J) & (1))) != (0))) goto L_02f3;
#line 3643 "regression-compile-tmp/imp22g-77.imp"
goto L_02f2;
#line 3643 "regression-compile-tmp/imp22g-77.imp"
L_02f3:;
                                                                //   3644    %if i = 1 %then plant(add,x,x) %else %start
#line 3644 "regression-compile-tmp/imp22g-77.imp"
if (((I) != (1))) goto L_02f5;
#line 3644 "regression-compile-tmp/imp22g-77.imp"
PLANT(2, X, X);
#line 3644 "regression-compile-tmp/imp22g-77.imp"
goto L_02f6;
#line 3644 "regression-compile-tmp/imp22g-77.imp"
L_02f5:;
                                                                //   3645      i = litref(i)
#line 3645 "regression-compile-tmp/imp22g-77.imp"
I = LITREF(I);
                                                                //   3646      %if i < litquick %start
#line 3646 "regression-compile-tmp/imp22g-77.imp"
if (((I) >= ((-16)))) goto L_02f7;
                                                                //   3647        oldfree = free;  eval(i,anydreg);  free = oldfree
#line 3647 "regression-compile-tmp/imp22g-77.imp"
OLDFREE = FREE;
#line 3647 "regression-compile-tmp/imp22g-77.imp"
EVAL(&I, 239);
#line 3647 "regression-compile-tmp/imp22g-77.imp"
FREE = OLDFREE;
                                                                //   3648      %finish
#line 3648 "regression-compile-tmp/imp22g-77.imp"
L_02f7:;
                                                                //   3649      plant(asl,i,x)
#line 3649 "regression-compile-tmp/imp22g-77.imp"
PLANT(32, I, X);
                                                                //   3650    %finish
#line 3650 "regression-compile-tmp/imp22g-77.imp"
L_02f6:;
                                                                //   3651  %end
#line 3651 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DOSHIFT at level 3
                                                                //   3652  
                                                                //   3653  do(imul):
#line 3653 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_86:;
                                                                //   3654    -> dataload %if rset&(\(anyareg!bregb)) = 0
#line 3654 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & ((~(((65280) | (16))))))) != (0))) goto L_02f8;
#line 3654 "regression-compile-tmp/imp22g-77.imp"
goto U_1012;
#line 3654 "regression-compile-tmp/imp22g-77.imp"
L_02f8:;
                                                                //   3655    rset = rset&(\(anyareg!bregb))
#line 3655 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(((65280) | (16))))));
                                                                //   3656   !Test for power of 2 or pair of powers of 2
                                                                //   3657    %if y < 0 %start
#line 3657 "regression-compile-tmp/imp22g-77.imp"
if (((Y) >= (0))) goto L_02f9;
                                                                //   3658      j = litval(y)
#line 3658 "regression-compile-tmp/imp22g-77.imp"
J = LITVAL(Y);
                                                                //   3659      i = j&(j-1)
#line 3659 "regression-compile-tmp/imp22g-77.imp"
I = ((J) & ((((int)(J)) - (1))));
                                                                //   3660      %if i = 0 %or i&(i-1) = 0 %start
#line 3660 "regression-compile-tmp/imp22g-77.imp"
if (((I) == (0))) goto L_02a1;
#line 3660 "regression-compile-tmp/imp22g-77.imp"
if (((((I) & ((((int)(I)) - (1))))) != (0))) goto L_02fa;
#line 3660 "regression-compile-tmp/imp22g-77.imp"
L_02a1:;
                                                                //   3661        eval(x,rset&free)
#line 3661 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, ((RSET) & (FREE)));
                                                                //   3662        do shift %if j&1 = 0
#line 3662 "regression-compile-tmp/imp22g-77.imp"
if (((((J) & (1))) != (0))) goto L_02fb;
#line 3662 "regression-compile-tmp/imp22g-77.imp"
DOSHIFT();
#line 3662 "regression-compile-tmp/imp22g-77.imp"
L_02fb:;
                                                                //   3663        %if j # 1 %start
#line 3663 "regression-compile-tmp/imp22g-77.imp"
if (((J) == (1))) goto L_02fc;
                                                                //   3664          plant(move,x,prea7)
#line 3664 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, X, 40);
                                                                //   3665          do shift
#line 3665 "regression-compile-tmp/imp22g-77.imp"
DOSHIFT();
                                                                //   3666          plant(add,posta7,x)
#line 3666 "regression-compile-tmp/imp22g-77.imp"
PLANT(2, 32, X);
                                                                //   3667        %finish
#line 3667 "regression-compile-tmp/imp22g-77.imp"
L_02fc:;
                                                                //   3668        ->fin2
#line 3668 "regression-compile-tmp/imp22g-77.imp"
goto U_101f;
                                                                //   3669      %finish
#line 3669 "regression-compile-tmp/imp22g-77.imp"
L_02fa:;
                                                                //   3670    %finish
#line 3670 "regression-compile-tmp/imp22g-77.imp"
L_02f9:;
                                                                //   3671  do(fsub): do(fdiv):
#line 3671 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_91:;
#line 3671 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_93:;
                                                                //   3672  do(ipow): do(fpow):
#line 3672 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_88:;
#line 3672 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_94:;
                                                                //   3673  do(fadd): do(fmul):
#line 3673 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_90:;
#line 3673 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_92:;
                                                                //   3674    evalxy
#line 3674 "regression-compile-tmp/imp22g-77.imp"
EVALXY();
                                                                //   3675    srcall(act)
#line 3675 "regression-compile-tmp/imp22g-77.imp"
SRCALL(ACT);
                                                                //   3676    plant(trapv,0,0) %if act = imul %and control&overbit # 0
#line 3676 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) != (86))) goto L_02fd;
#line 3676 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (268435456))) == (0))) goto L_02fd;
#line 3676 "regression-compile-tmp/imp22g-77.imp"
PLANT(70, 0, 0);
#line 3676 "regression-compile-tmp/imp22g-77.imp"
L_02fd:;
                                                                //   3677    forget(d1);  r = d0
#line 3677 "regression-compile-tmp/imp22g-77.imp"
FORGET(2);
#line 3677 "regression-compile-tmp/imp22g-77.imp"
R = 1;
                                                                //   3678    forget cc
#line 3678 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
                                                                //   3679    -> endloadr
#line 3679 "regression-compile-tmp/imp22g-77.imp"
goto U_1019;
                                                                //   3680  
                                                                //   3681  do(idiv): do(drem):
#line 3681 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_87:;
#line 3681 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_98:;
                                                                //   3682    %if control&halfbit # 0 %start
#line 3682 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (32768))) == (0))) goto L_02fe;
                                                                //   3683      act = divs %if act = idiv
#line 3683 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) != (87))) goto L_02ff;
#line 3683 "regression-compile-tmp/imp22g-77.imp"
ACT = 13;
#line 3683 "regression-compile-tmp/imp22g-77.imp"
L_02ff:;
                                                                //   3684  do(divs): do(divu):
#line 3684 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_13:;
#line 3684 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_15:;
                                                                //   3685      -> dataload %if rset&(\(anyareg!bregb)) = 0
#line 3685 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & ((~(((65280) | (16))))))) != (0))) goto L_0300;
#line 3685 "regression-compile-tmp/imp22g-77.imp"
goto U_1012;
#line 3685 "regression-compile-tmp/imp22g-77.imp"
L_0300:;
                                                                //   3686      rset = rset&(\(anyareg!bregb))
#line 3686 "regression-compile-tmp/imp22g-77.imp"
RSET = ((RSET) & ((~(((65280) | (16))))));
                                                                //   3687      eval(x,rset&free)
#line 3687 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, ((RSET) & (FREE)));
                                                                //   3688      oldfree = free
#line 3688 "regression-compile-tmp/imp22g-77.imp"
OLDFREE = FREE;
                                                                //   3689      eval(y,anydreg)
#line 3689 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 239);
                                                                //   3690      free = oldfree
#line 3690 "regression-compile-tmp/imp22g-77.imp"
FREE = OLDFREE;
                                                                //   3691      %if act = drem %then plant(divs,y,x) %and plant(swap,0,x) %c
#line 3691 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) != (98))) goto L_0301;
#line 3691 "regression-compile-tmp/imp22g-77.imp"
PLANT(13, Y, X);
#line 3691 "regression-compile-tmp/imp22g-77.imp"
PLANT(74, 0, X);
#line 3691 "regression-compile-tmp/imp22g-77.imp"
goto L_0302;
#line 3691 "regression-compile-tmp/imp22g-77.imp"
L_0301:;
#line 3691 "regression-compile-tmp/imp22g-77.imp"
PLANT(ACT, Y, X);
#line 3691 "regression-compile-tmp/imp22g-77.imp"
L_0302:;
                                                                //   3692      %else plant(act,y,x)
                                                                //   3693      plant(extl,0,x)
#line 3693 "regression-compile-tmp/imp22g-77.imp"
PLANT(76, 0, X);
                                                                //   3694      -> fin3
#line 3694 "regression-compile-tmp/imp22g-77.imp"
goto U_101e;
                                                                //   3695    %finish
#line 3695 "regression-compile-tmp/imp22g-77.imp"
L_02fe:;
                                                                //   3696    evalxy
#line 3696 "regression-compile-tmp/imp22g-77.imp"
EVALXY();
                                                                //   3697    srcall(idiv)
#line 3697 "regression-compile-tmp/imp22g-77.imp"
SRCALL(87);
                                                                //   3698    putexp(act!!(idiv!!drem),xx,yy,inttype)
#line 3698 "regression-compile-tmp/imp22g-77.imp"
PUTEXP(((ACT) ^ (((87) ^ (98)))), XX, YY, 43);
                                                                //   3699    %if act = idiv %start
#line 3699 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) != (87))) goto L_0303;
                                                                //   3700      c_reg_content(d1) = item;  r = d0
#line 3700 "regression-compile-tmp/imp22g-77.imp"
C.REG.CONTENT[1] = ITEM;
#line 3700 "regression-compile-tmp/imp22g-77.imp"
R = 1;
                                                                //   3701    %else
#line 3701 "regression-compile-tmp/imp22g-77.imp"
goto L_0304;
#line 3701 "regression-compile-tmp/imp22g-77.imp"
L_0303:;
                                                                //   3702      c_reg_content(d0) = item;  r = d1
#line 3702 "regression-compile-tmp/imp22g-77.imp"
C.REG.CONTENT[0] = ITEM;
#line 3702 "regression-compile-tmp/imp22g-77.imp"
R = 2;
                                                                //   3703    %finish
#line 3703 "regression-compile-tmp/imp22g-77.imp"
L_0304:;
                                                                //   3704    forget cc
#line 3704 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
                                                                //   3705    ->endloadr
#line 3705 "regression-compile-tmp/imp22g-77.imp"
goto U_1019;
                                                                //   3706  
                                                                //   3707  do(float):
#line 3707 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_95:;
                                                                //   3708  do(fneg):
#line 3708 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_89:;
                                                                //   3709    commandeer(d0b)
#line 3709 "regression-compile-tmp/imp22g-77.imp"
COMMANDEER(1);
                                                                //   3710    eval(x,d0b)
#line 3710 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 1);
                                                                //   3711    srcall(act)
#line 3711 "regression-compile-tmp/imp22g-77.imp"
SRCALL(ACT);
                                                                //   3712    forget cc
#line 3712 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
                                                                //   3713    r = d0
#line 3713 "regression-compile-tmp/imp22g-77.imp"
R = 1;
                                                                //   3714    ->endloadr
#line 3714 "regression-compile-tmp/imp22g-77.imp"
goto U_1019;
                                                                //   3715  
                                                                //   3716  do(concat):      !not special case
#line 3716 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_106:;
                                                                //   3717  ![they have to be free]  commandeer(d0b+bregb+a0b+a1b+a2b)
                                                                //   3718    fault(plexerr) %if free&(a0b+a1b+a2b+d0b+bregb) # a0b+a1b+a2b+d0b+bregb
#line 3718 "regression-compile-tmp/imp22g-77.imp"
if (((((FREE) & (1809))) == (1809))) goto L_0305;
#line 3718 "regression-compile-tmp/imp22g-77.imp"
FAULT(2);
#line 3718 "regression-compile-tmp/imp22g-77.imp"
L_0305:;
                                                                //   3719    stackop(-256)
#line 3719 "regression-compile-tmp/imp22g-77.imp"
STACKOP((-256));
                                                                //   3720  endconc:
#line 3720 "regression-compile-tmp/imp22g-77.imp"
U_1020:;
                                                                //   3721    %if rset&tostack = 0 %start
#line 3721 "regression-compile-tmp/imp22g-77.imp"
if (((((RSET) & (524288))) != (0))) goto L_0306;
                                                                //   3722      %if c_sp # sp %start
#line 3722 "regression-compile-tmp/imp22g-77.imp"
if (((C.SP) == (SP))) goto L_0307;
                                                                //   3723        addimm(sp-c_sp,a7);  c_sp = sp
#line 3723 "regression-compile-tmp/imp22g-77.imp"
ADDIMM((((int)(SP)) - (C.SP)), 16);
#line 3723 "regression-compile-tmp/imp22g-77.imp"
C.SP = SP;
                                                                //   3724      %finish
#line 3724 "regression-compile-tmp/imp22g-77.imp"
L_0307:;
                                                                //   3725    %finish %else rset = a0b
#line 3725 "regression-compile-tmp/imp22g-77.imp"
goto L_0308;
#line 3725 "regression-compile-tmp/imp22g-77.imp"
L_0306:;
#line 3725 "regression-compile-tmp/imp22g-77.imp"
RSET = 256;
#line 3725 "regression-compile-tmp/imp22g-77.imp"
L_0308:;
                                                                //   3726    r = a0
#line 3726 "regression-compile-tmp/imp22g-77.imp"
R = 9;
                                                                //   3727    ->endloadr
#line 3727 "regression-compile-tmp/imp22g-77.imp"
goto U_1019;
                                                                //   3728  
                                                                //   3729  !!!!!!!!!!!!!!!!!!!!!   Conditions   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   3730  
                                                                //   3731  %routine CONDSWOP
#line 3731 "regression-compile-tmp/imp22g-77.imp"
void CONDSWOP( void )
#line 3731 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   3732  !Swop condition operands, adjusting operator accordingly
                                                                //   3733  %integer temp
#line 3733 "regression-compile-tmp/imp22g-77.imp"
int TEMP;
                                                                //   3734    temp = x;  x = y;  y = temp
#line 3734 "regression-compile-tmp/imp22g-77.imp"
TEMP = X;
#line 3734 "regression-compile-tmp/imp22g-77.imp"
X = Y;
#line 3734 "regression-compile-tmp/imp22g-77.imp"
Y = TEMP;
                                                                //   3735    temp = xx;  xx = yy;  yy = temp
#line 3735 "regression-compile-tmp/imp22g-77.imp"
TEMP = XX;
#line 3735 "regression-compile-tmp/imp22g-77.imp"
XX = YY;
#line 3735 "regression-compile-tmp/imp22g-77.imp"
YY = TEMP;
                                                                //   3736    temp = sx;  sx = sy;  sy = temp
#line 3736 "regression-compile-tmp/imp22g-77.imp"
TEMP = SX;
#line 3736 "regression-compile-tmp/imp22g-77.imp"
SX = SY;
#line 3736 "regression-compile-tmp/imp22g-77.imp"
SY = TEMP;
                                                                //   3737    temp = wx;  wx = wy;  wy = temp
#line 3737 "regression-compile-tmp/imp22g-77.imp"
TEMP = WX;
#line 3737 "regression-compile-tmp/imp22g-77.imp"
WX = WY;
#line 3737 "regression-compile-tmp/imp22g-77.imp"
WY = TEMP;
                                                                //   3738    case = case!!3 %if case&8 # 0;  !no change for '=','#'
#line 3738 "regression-compile-tmp/imp22g-77.imp"
if (((((CASE) & (8))) == (0))) goto L_0309;
#line 3738 "regression-compile-tmp/imp22g-77.imp"
CASE = ((CASE) ^ (3));
#line 3738 "regression-compile-tmp/imp22g-77.imp"
L_0309:;
                                                                //   3739  %end
#line 3739 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CONDSWOP at level 3
                                                                //   3740  
                                                                //   3741  %routine UNSIGNED
#line 3741 "regression-compile-tmp/imp22g-77.imp"
void UNSIGNED( void )
#line 3741 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   3742    %if case&8 # 0 %start;  !no change for '=','#'
#line 3742 "regression-compile-tmp/imp22g-77.imp"
if (((((CASE) & (8))) == (0))) goto L_030a;
                                                                //   3743      case = case!!8
#line 3743 "regression-compile-tmp/imp22g-77.imp"
CASE = ((CASE) ^ (8));
                                                                //   3744      case = case!!4 %if case&2 # 0
#line 3744 "regression-compile-tmp/imp22g-77.imp"
if (((((CASE) & (2))) == (0))) goto L_030b;
#line 3744 "regression-compile-tmp/imp22g-77.imp"
CASE = ((CASE) ^ (4));
#line 3744 "regression-compile-tmp/imp22g-77.imp"
L_030b:;
                                                                //   3745    %finish
#line 3745 "regression-compile-tmp/imp22g-77.imp"
L_030a:;
                                                                //   3746  %end
#line 3746 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block UNSIGNED at level 3
                                                                //   3747  
                                                                //   3748  ![Some confusion here of which operand (weightier) to evaluate first
                                                                //   3749  ![                   and which to bring to register
                                                                //   3750  ![EVAL improvements make possible greater finesse:
                                                                //   3751  ![               1. Decide which to evaluate first (weightier)
                                                                //   3752  ![               2. EVAL both 'val'
                                                                //   3753  ![               3. If either in register, OK
                                                                //   3754  ![               4. Load one
                                                                //   3755  ![*for IMP, conditions cannot be embedded in other expressions;
                                                                //   3756  ![*for Pascal, they can.  This needs improvement to cover that.
                                                                //   3757  do(compare):
#line 3757 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_4:;
                                                                //   3758    flush %if pendcond # 0
#line 3758 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) == (0))) goto L_030c;
#line 3758 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
#line 3758 "regression-compile-tmp/imp22g-77.imp"
L_030c:;
                                                                //   3759    update sp
#line 3759 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   3760    sp = c_sp
#line 3760 "regression-compile-tmp/imp22g-77.imp"
SP = C.SP;
                                                                //   3761    pp = pp+1;  dp == dict(pp)
#line 3761 "regression-compile-tmp/imp22g-77.imp"
*PP = ((*(int *)(PP)) + (1));
#line 3761 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[*PP];
                                                                //   3762    case = dp_act
#line 3762 "regression-compile-tmp/imp22g-77.imp"
CASE = DP->ACT;
                                                                //   3763    %if x <= 0 %start;  ![1st literal: only for true,false]
#line 3763 "regression-compile-tmp/imp22g-77.imp"
if (((X) > (0))) goto L_030d;
                                                                //   3764      case = case!!1 %if x = 0;  !invert for false
#line 3764 "regression-compile-tmp/imp22g-77.imp"
if (((X) != (0))) goto L_030e;
#line 3764 "regression-compile-tmp/imp22g-77.imp"
CASE = ((CASE) ^ (1));
#line 3764 "regression-compile-tmp/imp22g-77.imp"
L_030e:;
                                                                //   3765      pendcond = case&1+bra
#line 3765 "regression-compile-tmp/imp22g-77.imp"
PENDCOND = (((int)(((CASE) & (1)))) + (16));
                                                                //   3766      -> endcomp
#line 3766 "regression-compile-tmp/imp22g-77.imp"
goto U_1021;
                                                                //   3767    %finish
#line 3767 "regression-compile-tmp/imp22g-77.imp"
L_030d:;
                                                                //   3768    %if x >= explim %start;        !address
#line 3768 "regression-compile-tmp/imp22g-77.imp"
if (((X) < (EXPLIM))) goto L_030f;
                                                                //   3769      dx == dict(x-ad);  sx = 4
#line 3769 "regression-compile-tmp/imp22g-77.imp"
DX = &DICT[(((int)(X)) - (16384))];
#line 3769 "regression-compile-tmp/imp22g-77.imp"
SX = 4;
                                                                //   3770    %else
#line 3770 "regression-compile-tmp/imp22g-77.imp"
goto L_0310;
#line 3770 "regression-compile-tmp/imp22g-77.imp"
L_030f:;
                                                                //   3771      dx == dict(x)
#line 3771 "regression-compile-tmp/imp22g-77.imp"
DX = &DICT[X];
                                                                //   3772      tx == dict(dx_type);  sx = size(dx_type)
#line 3772 "regression-compile-tmp/imp22g-77.imp"
TX = &DICT[DX->TYPE];
#line 3772 "regression-compile-tmp/imp22g-77.imp"
SX = SIZE(DX->TYPE);
                                                                //   3773    %finish
#line 3773 "regression-compile-tmp/imp22g-77.imp"
L_0310:;
                                                                //   3774    dx_flags = dx_flags!rflag
#line 3774 "regression-compile-tmp/imp22g-77.imp"
DX->FLAGS = ((DX->FLAGS) | (32));
                                                                //   3775    %if y >= explim %or y <= 0 %then sy = 4 %else sy = tsize(y)
#line 3775 "regression-compile-tmp/imp22g-77.imp"
if (((Y) >= (EXPLIM))) goto L_02f4;
#line 3775 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_0311;
#line 3775 "regression-compile-tmp/imp22g-77.imp"
L_02f4:;
#line 3775 "regression-compile-tmp/imp22g-77.imp"
SY = 4;
#line 3775 "regression-compile-tmp/imp22g-77.imp"
goto L_0312;
#line 3775 "regression-compile-tmp/imp22g-77.imp"
L_0311:;
#line 3775 "regression-compile-tmp/imp22g-77.imp"
SY = TSIZE(Y);
#line 3775 "regression-compile-tmp/imp22g-77.imp"
L_0312:;
                                                                //   3776    wx = 0 %and wy = 0 %and condswop %if c_reg_ccx = y %and c_reg_ccy = x
#line 3776 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CCX) != (Y))) goto L_0313;
#line 3776 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CCY) != (X))) goto L_0313;
#line 3776 "regression-compile-tmp/imp22g-77.imp"
WX = 0;
#line 3776 "regression-compile-tmp/imp22g-77.imp"
WY = 0;
#line 3776 "regression-compile-tmp/imp22g-77.imp"
CONDSWOP();
#line 3776 "regression-compile-tmp/imp22g-77.imp"
L_0313:;
                                                                //   3777    %if c_reg_ccx # x %or c_reg_ccy # y %start;  ![???unsigned???]
#line 3777 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CCX) != (X))) goto L_0314;
#line 3777 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CCY) == (Y))) goto L_0315;
#line 3777 "regression-compile-tmp/imp22g-77.imp"
L_0314:;
                                                                //   3778      %if y # 0 %start;  !not comparison with zero
#line 3778 "regression-compile-tmp/imp22g-77.imp"
if (((Y) == (0))) goto L_0316;
                                                                //   3779        wx = weight(x);  wy = weight(y)
#line 3779 "regression-compile-tmp/imp22g-77.imp"
WX = WEIGHT(X);
#line 3779 "regression-compile-tmp/imp22g-77.imp"
WY = WEIGHT(Y);
                                                                //   3780        condswop %if wx < 999 %and wy > wx+1
#line 3780 "regression-compile-tmp/imp22g-77.imp"
if (((WX) >= (999))) goto L_0317;
#line 3780 "regression-compile-tmp/imp22g-77.imp"
if (((WY) <= ((((int)(WX)) + (1))))) goto L_0317;
#line 3780 "regression-compile-tmp/imp22g-77.imp"
CONDSWOP();
#line 3780 "regression-compile-tmp/imp22g-77.imp"
L_0317:;
                                                                //   3781        %if x >= explim %or y >= explim %start;  !one or other is address
#line 3781 "regression-compile-tmp/imp22g-77.imp"
if (((X) >= (EXPLIM))) goto L_0318;
#line 3781 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < (EXPLIM))) goto L_0319;
#line 3781 "regression-compile-tmp/imp22g-77.imp"
L_0318:;
                                                                //   3782          !swop if Y is not name (to use LEA)
                                                                //   3783          condswop %if 0 <= y-ad < dictlim %and dict(y-ad)_flags >= 0
#line 3783 "regression-compile-tmp/imp22g-77.imp"
if ((((0) > ((((int)(Y)) - (16384))))) || ((((((int)(Y)) - (16384))) >= (DICTLIM)))) goto L_031a;
#line 3783 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(Y)) - (16384))].FLAGS) < (0))) goto L_031a;
#line 3783 "regression-compile-tmp/imp22g-77.imp"
CONDSWOP();
#line 3783 "regression-compile-tmp/imp22g-77.imp"
L_031a:;
                                                                //   3784          eval(x,anyareg)
#line 3784 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 65280);
                                                                //   3785          eval(y,sign+anyareg)
#line 3785 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, (-2147418368));
                                                                //   3786          plant(cmp,y,x)
#line 3786 "regression-compile-tmp/imp22g-77.imp"
PLANT(4, Y, X);
                                                                //   3787          c_reg_ccx = xx;  c_reg_ccy = yy
#line 3787 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCX = XX;
#line 3787 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCY = YY;
                                                                //   3788        %finish %else %if sx > 0 %start;  !simple operand
#line 3788 "regression-compile-tmp/imp22g-77.imp"
goto L_031b;
#line 3788 "regression-compile-tmp/imp22g-77.imp"
L_0319:;
#line 3788 "regression-compile-tmp/imp22g-77.imp"
if (((SX) <= (0))) goto L_031c;
                                                                //   3789          %if tx_flags&cat = realy %start
#line 3789 "regression-compile-tmp/imp22g-77.imp"
if (((((TX->FLAGS) & (15))) != (5))) goto L_031d;
                                                                //   3790            eval(x,d0b);  eval(y,d1b)
#line 3790 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 1);
#line 3790 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 2);
                                                                //   3791            srcall(fsub)
#line 3791 "regression-compile-tmp/imp22g-77.imp"
SRCALL(91);
                                                                //   3792            forget(x)
#line 3792 "regression-compile-tmp/imp22g-77.imp"
FORGET(X);
                                                                //   3793            c_reg_ccx = xx;  c_reg_ccy = yy
#line 3793 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCX = XX;
#line 3793 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCY = YY;
                                                                //   3794          %finish %else %if y < 0 %start;         !comparison with literal
#line 3794 "regression-compile-tmp/imp22g-77.imp"
goto L_031e;
#line 3794 "regression-compile-tmp/imp22g-77.imp"
L_031d:;
#line 3794 "regression-compile-tmp/imp22g-77.imp"
if (((Y) >= (0))) goto L_031f;
                                                                //   3795            %if y >= litmite %start
#line 3795 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < ((-255)))) goto L_0320;
                                                                //   3796              eval(x,val+sx<<sizeshift)
#line 3796 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (((-2147418113)) + ((int)(((SX) << (16))))));
                                                                //   3797              %if (sx = 4 %and free&anydreg # 0) %c
#line 3797 "regression-compile-tmp/imp22g-77.imp"
if (((SX) != (4))) goto L_0321;
#line 3797 "regression-compile-tmp/imp22g-77.imp"
if (((((FREE) & (239))) != (0))) goto L_0322;
#line 3797 "regression-compile-tmp/imp22g-77.imp"
L_0321:;
#line 3797 "regression-compile-tmp/imp22g-77.imp"
if (((X) <= (16))) goto L_0323;
#line 3797 "regression-compile-tmp/imp22g-77.imp"
if (((((DICT[X].MODE) & (63))) != (58))) goto L_0323;
#line 3797 "regression-compile-tmp/imp22g-77.imp"
L_0322:;
                                                                //   3798              %or (x > a7 %and dict(x)_mode&63 = pcmode) %start
                                                                //   3799                eval(y,anydreg)
#line 3799 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 239);
                                                                //   3800                condswop %and sx = sy %unless x <= d7
#line 3800 "regression-compile-tmp/imp22g-77.imp"
if (((X) <= (8))) goto L_0324;
#line 3800 "regression-compile-tmp/imp22g-77.imp"
CONDSWOP();
#line 3800 "regression-compile-tmp/imp22g-77.imp"
SX = SY;
#line 3800 "regression-compile-tmp/imp22g-77.imp"
L_0324:;
                                                                //   3801              %finish
#line 3801 "regression-compile-tmp/imp22g-77.imp"
L_0323:;
                                                                //   3802            %else
#line 3802 "regression-compile-tmp/imp22g-77.imp"
goto L_0325;
#line 3802 "regression-compile-tmp/imp22g-77.imp"
L_0320:;
                                                                //   3803              sx = 0 %if sx = 1;   ![to ensure comparison fails?]
#line 3803 "regression-compile-tmp/imp22g-77.imp"
if (((SX) != (1))) goto L_0326;
#line 3803 "regression-compile-tmp/imp22g-77.imp"
SX = 0;
#line 3803 "regression-compile-tmp/imp22g-77.imp"
L_0326:;
                                                                //   3804              eval(x,val+sx<<sizeshift)
#line 3804 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (((-2147418113)) + ((int)(((SX) << (16))))));
                                                                //   3805              sx = 2 %if a0 <= x <= a7 %and is short(litval(y))=TRUE
#line 3805 "regression-compile-tmp/imp22g-77.imp"
if ((((9) > (X))) || (((X) > (16)))) goto L_0327;
#line 3805 "regression-compile-tmp/imp22g-77.imp"
if (((ISSHORT(LITVAL(Y))) != (1))) goto L_0327;
#line 3805 "regression-compile-tmp/imp22g-77.imp"
SX = 2;
#line 3805 "regression-compile-tmp/imp22g-77.imp"
L_0327:;
                                                                //   3806            %finish
#line 3806 "regression-compile-tmp/imp22g-77.imp"
L_0325:;
                                                                //   3807            plant(cmp+sx<<8,y,x)
#line 3807 "regression-compile-tmp/imp22g-77.imp"
PLANT(((4) + ((int)(((SX) << (8))))), Y, X);
                                                                //   3808            unsigned %if sx = 1
#line 3808 "regression-compile-tmp/imp22g-77.imp"
if (((SX) != (1))) goto L_0328;
#line 3808 "regression-compile-tmp/imp22g-77.imp"
UNSIGNED();
#line 3808 "regression-compile-tmp/imp22g-77.imp"
L_0328:;
                                                                //   3809            c_reg_ccx = xx;  c_reg_ccy = yy
#line 3809 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCX = XX;
#line 3809 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCY = YY;
                                                                //   3810          %else;  !Y not literal
#line 3810 "regression-compile-tmp/imp22g-77.imp"
goto L_031e;
#line 3810 "regression-compile-tmp/imp22g-77.imp"
L_031f:;
                                                                //   3811            condswop %if sy < sx
#line 3811 "regression-compile-tmp/imp22g-77.imp"
if (((SY) >= (SX))) goto L_0329;
#line 3811 "regression-compile-tmp/imp22g-77.imp"
CONDSWOP();
#line 3811 "regression-compile-tmp/imp22g-77.imp"
L_0329:;
                                                                //   3812            eval(x,anyreg)
#line 3812 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 65535);
                                                                //   3813            %if sy <= 2 %and sy = sx %and (sy=1 %or x < a0) %start
#line 3813 "regression-compile-tmp/imp22g-77.imp"
if (((SY) > (2))) goto L_032a;
#line 3813 "regression-compile-tmp/imp22g-77.imp"
if (((SY) != (SX))) goto L_032a;
#line 3813 "regression-compile-tmp/imp22g-77.imp"
if (((SY) == (1))) goto L_01aa;
#line 3813 "regression-compile-tmp/imp22g-77.imp"
if (((X) >= (9))) goto L_032a;
#line 3813 "regression-compile-tmp/imp22g-77.imp"
L_01aa:;
                                                                //   3814              eval(y,val+sy<<sizeshift)
#line 3814 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, (((-2147418113)) + ((int)(((SY) << (16))))));
                                                                //   3815              plant(cmp+sy<<8,y,x)
#line 3815 "regression-compile-tmp/imp22g-77.imp"
PLANT(((4) + ((int)(((SY) << (8))))), Y, X);
                                                                //   3816              unsigned %if sy = 1
#line 3816 "regression-compile-tmp/imp22g-77.imp"
if (((SY) != (1))) goto L_032b;
#line 3816 "regression-compile-tmp/imp22g-77.imp"
UNSIGNED();
#line 3816 "regression-compile-tmp/imp22g-77.imp"
L_032b:;
                                                                //   3817              forget cc
#line 3817 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
                                                                //   3818            %else
#line 3818 "regression-compile-tmp/imp22g-77.imp"
goto L_032c;
#line 3818 "regression-compile-tmp/imp22g-77.imp"
L_032a:;
                                                                //   3819              eval(y,val)
#line 3819 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, (-2147418113));
                                                                //   3820              plant(cmp,y,x)
#line 3820 "regression-compile-tmp/imp22g-77.imp"
PLANT(4, Y, X);
                                                                //   3821              c_reg_ccx = xx;  c_reg_ccy = yy
#line 3821 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCX = XX;
#line 3821 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCY = YY;
                                                                //   3822            %finish
#line 3822 "regression-compile-tmp/imp22g-77.imp"
L_032c:;
                                                                //   3823          %finish
#line 3823 "regression-compile-tmp/imp22g-77.imp"
L_031e:;
                                                                //   3824        %else;            !structure
#line 3824 "regression-compile-tmp/imp22g-77.imp"
goto L_031b;
#line 3824 "regression-compile-tmp/imp22g-77.imp"
L_031c:;
                                                                //   3825          stsiz = sx;  stsiz = -stsiz %if tx_flags&cat # stringy
#line 3825 "regression-compile-tmp/imp22g-77.imp"
STSIZ = SX;
#line 3825 "regression-compile-tmp/imp22g-77.imp"
if (((((TX->FLAGS) & (15))) == (8))) goto L_032d;
#line 3825 "regression-compile-tmp/imp22g-77.imp"
STSIZ = (-(STSIZ));
#line 3825 "regression-compile-tmp/imp22g-77.imp"
L_032d:;
                                                                //   3826          %if (case&8 = 0 %and control&strassbit = 0) %C
#line 3826 "regression-compile-tmp/imp22g-77.imp"
if (((((CASE) & (8))) != (0))) goto L_032e;
#line 3826 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (67108864))) == (0))) goto L_032f;
#line 3826 "regression-compile-tmp/imp22g-77.imp"
L_032e:;
#line 3826 "regression-compile-tmp/imp22g-77.imp"
if ((((8) == (((TX->FLAGS) & (15))))) || (((((TX->FLAGS) & (15))) == (10)))) goto L_0330;
#line 3826 "regression-compile-tmp/imp22g-77.imp"
L_032f:;
                                                                //   3827          %or stringy # tx_flags&cat # sety %start
                                                                //   3828            !equals,notequals or rec,array
                                                                //   3829            ! [No routine call required to implement]
                                                                //   3830            %if wy >= 999 %start;  !both complex
#line 3830 "regression-compile-tmp/imp22g-77.imp"
if (((WY) < (999))) goto L_0331;
                                                                //   3831              eval(x,tostack);  free = free!a0b
#line 3831 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 524288);
#line 3831 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) | (256));
                                                                //   3832              eval(y,anyareg&free+asad)
#line 3832 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, (((int)(((65280) & (FREE)))) + (1048576)));
                                                                //   3833              x = freeareg(undef)
#line 3833 "regression-compile-tmp/imp22g-77.imp"
X = FREEAREG(16);
                                                                //   3834              plant(move,a7,x)
#line 3834 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, 16, X);
                                                                //   3835            %else
#line 3835 "regression-compile-tmp/imp22g-77.imp"
goto L_0332;
#line 3835 "regression-compile-tmp/imp22g-77.imp"
L_0331:;
                                                                //   3836              eval(x,anyareg&free+asad)
#line 3836 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (((int)(((65280) & (FREE)))) + (1048576)));
                                                                //   3837              forget(x)
#line 3837 "regression-compile-tmp/imp22g-77.imp"
FORGET(X);
                                                                //   3838              eval(y,anyareg&free+asad)
#line 3838 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, (((int)(((65280) & (FREE)))) + (1048576)));
                                                                //   3839            %finish
#line 3839 "regression-compile-tmp/imp22g-77.imp"
L_0332:;
                                                                //   3840            i = free dreg
#line 3840 "regression-compile-tmp/imp22g-77.imp"
I = FREEDREG();
                                                                //   3841            %if tx_flags&cat = stringy %start;  !string comparison
#line 3841 "regression-compile-tmp/imp22g-77.imp"
if (((((TX->FLAGS) & (15))) != (8))) goto L_0333;
                                                                //   3842              plant(clr,0,i)
#line 3842 "regression-compile-tmp/imp22g-77.imp"
PLANT(52, 0, I);
                                                                //   3843              plant(moveb,x+indir,i)
#line 3843 "regression-compile-tmp/imp22g-77.imp"
PLANT(257, (((int)(X)) + (8)), I);
                                                                //   3844            %else
#line 3844 "regression-compile-tmp/imp22g-77.imp"
goto L_0334;
#line 3844 "regression-compile-tmp/imp22g-77.imp"
L_0333:;
                                                                //   3845              plantlit(move,-sx-1,i)
#line 3845 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(1, (((-(SX))) - (1)), I);
                                                                //   3846            %finish
#line 3846 "regression-compile-tmp/imp22g-77.imp"
L_0334:;
                                                                //   3847            plant(cmpmb,x+post,y+post)
#line 3847 "regression-compile-tmp/imp22g-77.imp"
PLANT(299, (((int)(X)) + (16)), (((int)(Y)) + (16)));
                                                                //   3848            plantlit2(dbne,i,-4)
#line 3848 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT2(86, I, (-4));
                                                                //   3849            forget(i);  forget(y)
#line 3849 "regression-compile-tmp/imp22g-77.imp"
FORGET(I);
#line 3849 "regression-compile-tmp/imp22g-77.imp"
FORGET(Y);
                                                                //   3850          %else
#line 3850 "regression-compile-tmp/imp22g-77.imp"
goto L_0335;
#line 3850 "regression-compile-tmp/imp22g-77.imp"
L_0330:;
                                                                //   3851           ! [Routine call required: must bring complex to stack]
                                                                //   3852            %if wx >= 999 %start
#line 3852 "regression-compile-tmp/imp22g-77.imp"
if (((WX) < (999))) goto L_0336;
                                                                //   3853              eval(x,tostack);  free = free!a0b
#line 3853 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 524288);
#line 3853 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) | (256));
                                                                //   3854              %if wy >= 999 %start
#line 3854 "regression-compile-tmp/imp22g-77.imp"
if (((WY) < (999))) goto L_0337;
                                                                //   3855                stsiz = sy;  stsiz = -stsiz %if tx_flags&cat # stringy
#line 3855 "regression-compile-tmp/imp22g-77.imp"
STSIZ = SY;
#line 3855 "regression-compile-tmp/imp22g-77.imp"
if (((((TX->FLAGS) & (15))) == (8))) goto L_0338;
#line 3855 "regression-compile-tmp/imp22g-77.imp"
STSIZ = (-(STSIZ));
#line 3855 "regression-compile-tmp/imp22g-77.imp"
L_0338:;
                                                                //   3856                eval(y,tostack)
#line 3856 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 524288);
                                                                //   3857                y = a1;  plant(move,a7,y)
#line 3857 "regression-compile-tmp/imp22g-77.imp"
Y = 10;
#line 3857 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, 16, Y);
                                                                //   3858                sy = (imod(sy)+1)&(\1);  sy = 256 %if sy = 0
#line 3858 "regression-compile-tmp/imp22g-77.imp"
SY = (((((int)(_imp_IMOD(SY))) + (1))) & ((~(1))));
#line 3858 "regression-compile-tmp/imp22g-77.imp"
if (((SY) != (0))) goto L_0339;
#line 3858 "regression-compile-tmp/imp22g-77.imp"
SY = 256;
#line 3858 "regression-compile-tmp/imp22g-77.imp"
L_0339:;
                                                                //   3859                x = a0;  plant(lea,tempd(a7,sy),x)
#line 3859 "regression-compile-tmp/imp22g-77.imp"
X = 9;
#line 3859 "regression-compile-tmp/imp22g-77.imp"
PLANT(78, TEMPD(16, SY), X);
                                                                //   3860              %else
#line 3860 "regression-compile-tmp/imp22g-77.imp"
goto L_033a;
#line 3860 "regression-compile-tmp/imp22g-77.imp"
L_0337:;
                                                                //   3861                eval(y,a1b+asad)
#line 3861 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 1049088);
                                                                //   3862                x = a0;  plant(move,a7,x)
#line 3862 "regression-compile-tmp/imp22g-77.imp"
X = 9;
#line 3862 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, 16, X);
                                                                //   3863              %finish
#line 3863 "regression-compile-tmp/imp22g-77.imp"
L_033a:;
                                                                //   3864            %else
#line 3864 "regression-compile-tmp/imp22g-77.imp"
goto L_033b;
#line 3864 "regression-compile-tmp/imp22g-77.imp"
L_0336:;
                                                                //   3865              eval(x,a0b+asad);  eval(y,a1b+asad)
#line 3865 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 1048832);
#line 3865 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 1049088);
                                                                //   3866            %finish
#line 3866 "regression-compile-tmp/imp22g-77.imp"
L_033b:;
                                                                //   3867  !<<IMP
                                                                //   3868            srcall(scomp)
#line 3868 "regression-compile-tmp/imp22g-77.imp"
SRCALL(112);
                                                                //   3869            unsigned
#line 3869 "regression-compile-tmp/imp22g-77.imp"
UNSIGNED();
                                                                //   3870  !<<BOTH
                                                                //   3871          %finish
#line 3871 "regression-compile-tmp/imp22g-77.imp"
L_0335:;
                                                                //   3872          forget cc
#line 3872 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
                                                                //   3873        %finish
#line 3873 "regression-compile-tmp/imp22g-77.imp"
L_031b:;
                                                                //   3874      %else;  !comparison with zero
#line 3874 "regression-compile-tmp/imp22g-77.imp"
goto L_033c;
#line 3874 "regression-compile-tmp/imp22g-77.imp"
L_0316:;
                                                                //   3875        %if sx <= 0 %or (sx = 1 %and dx_mode >= dispmode) %start
#line 3875 "regression-compile-tmp/imp22g-77.imp"
if (((SX) <= (0))) goto L_033d;
#line 3875 "regression-compile-tmp/imp22g-77.imp"
if (((SX) != (1))) goto L_033e;
#line 3875 "regression-compile-tmp/imp22g-77.imp"
if (((DX->MODE) < (40))) goto L_033e;
#line 3875 "regression-compile-tmp/imp22g-77.imp"
L_033d:;
                                                                //   3876          %if tx_flags&cat = stringy %or sx = 1 %start
#line 3876 "regression-compile-tmp/imp22g-77.imp"
if (((((TX->FLAGS) & (15))) == (8))) goto L_033f;
#line 3876 "regression-compile-tmp/imp22g-77.imp"
if (((SX) != (1))) goto L_0340;
#line 3876 "regression-compile-tmp/imp22g-77.imp"
L_033f:;
                                                                //   3877            eval(x,ref)
#line 3877 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (-2147483648));
                                                                //   3878            plant(tst+1<<8,0,x)
#line 3878 "regression-compile-tmp/imp22g-77.imp"
PLANT(((59) + ((int)(((1) << (8))))), 0, X);
                                                                //   3879            forget cc;  !*for now*
#line 3879 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
                                                                //   3880            unsigned
#line 3880 "regression-compile-tmp/imp22g-77.imp"
UNSIGNED();
                                                                //   3881          %else
#line 3881 "regression-compile-tmp/imp22g-77.imp"
goto L_0341;
#line 3881 "regression-compile-tmp/imp22g-77.imp"
L_0340:;
                                                                //   3882            eval(x,anyareg&free+asad)
#line 3882 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (((int)(((65280) & (FREE)))) + (1048576)));
                                                                //   3883            i = free dreg
#line 3883 "regression-compile-tmp/imp22g-77.imp"
I = FREEDREG();
                                                                //   3884            plantlit(move,-sx-1,i)
#line 3884 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(1, (((-(SX))) - (1)), I);
                                                                //   3885            plant(tst+1<<8,0,x+post)
#line 3885 "regression-compile-tmp/imp22g-77.imp"
PLANT(((59) + ((int)(((1) << (8))))), 0, (((int)(X)) + (16)));
                                                                //   3886            plantlit2(dbne,i,-4)
#line 3886 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT2(86, I, (-4));
                                                                //   3887            forget(i);  forget(x)
#line 3887 "regression-compile-tmp/imp22g-77.imp"
FORGET(I);
#line 3887 "regression-compile-tmp/imp22g-77.imp"
FORGET(X);
                                                                //   3888          %finish
#line 3888 "regression-compile-tmp/imp22g-77.imp"
L_0341:;
                                                                //   3889        %else
#line 3889 "regression-compile-tmp/imp22g-77.imp"
goto L_0342;
#line 3889 "regression-compile-tmp/imp22g-77.imp"
L_033e:;
                                                                //   3890          eval(x,anydreg)
#line 3890 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 239);
                                                                //   3891          %if c_reg_ccx # xx %or c_reg_ccy # 0 %start
#line 3891 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CCX) != (XX))) goto L_0343;
#line 3891 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CCY) == (0))) goto L_0344;
#line 3891 "regression-compile-tmp/imp22g-77.imp"
L_0343:;
                                                                //   3892            plant(move,x,x);  c_reg_ccx = xx;  c_reg_ccy = 0
#line 3892 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, X, X);
#line 3892 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCX = XX;
#line 3892 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCY = 0;
                                                                //   3893          %finish
#line 3893 "regression-compile-tmp/imp22g-77.imp"
L_0344:;
                                                                //   3894        %finish
#line 3894 "regression-compile-tmp/imp22g-77.imp"
L_0342:;
                                                                //   3895      %finish
#line 3895 "regression-compile-tmp/imp22g-77.imp"
L_033c:;
                                                                //   3896    %finish
#line 3896 "regression-compile-tmp/imp22g-77.imp"
L_0315:;
                                                                //   3897    pendcond = case
#line 3897 "regression-compile-tmp/imp22g-77.imp"
PENDCOND = CASE;
                                                                //   3898  endcomp:
#line 3898 "regression-compile-tmp/imp22g-77.imp"
U_1021:;
                                                                //   3899    pendin = dp_x;  pendout = dp_y
#line 3899 "regression-compile-tmp/imp22g-77.imp"
PENDIN = DP->X;
#line 3899 "regression-compile-tmp/imp22g-77.imp"
PENDOUT = DP->Y;
                                                                //   3900  checksp:
#line 3900 "regression-compile-tmp/imp22g-77.imp"
U_1022:;
                                                                //   3901    %if c_sp # sp %start
#line 3901 "regression-compile-tmp/imp22g-77.imp"
if (((C.SP) == (SP))) goto L_0345;
                                                                //   3902      addimm(sp-c_sp,a7);  c_sp = sp
#line 3902 "regression-compile-tmp/imp22g-77.imp"
ADDIMM((((int)(SP)) - (C.SP)), 16);
#line 3902 "regression-compile-tmp/imp22g-77.imp"
C.SP = SP;
                                                                //   3903    %finish
#line 3903 "regression-compile-tmp/imp22g-77.imp"
L_0345:;
                                                                //   3904  !<<IMP
                                                                //   3905    %return
#line 3905 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3906  
                                                                //   3907  do(resolves):
#line 3907 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_117:;
                                                                //   3908    flush %if pendcond # 0
#line 3908 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) == (0))) goto L_0346;
#line 3908 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
#line 3908 "regression-compile-tmp/imp22g-77.imp"
L_0346:;
                                                                //   3909    update sp
#line 3909 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   3910    sp = c_sp
#line 3910 "regression-compile-tmp/imp22g-77.imp"
SP = C.SP;
                                                                //   3911  !  push(mb)
                                                                //   3912  !  eval(x,a0b+asad);  !string to be resolved
                                                                //   3913  !  act = dict(y)_act;  x = dict(y)_x;  y = dict(y)_y
                                                                //   3914  !  eval(x,a1b);  eval(act,a0b<<2);  eval(y,a0b<<3);  !match, fore, aft
                                                                //   3915  !  srcall(resolves)
                                                                //   3916  !  pop(mb)
                                                                //   3917  !  forget regs
                                                                //   3918    dx == dict(act)
#line 3918 "regression-compile-tmp/imp22g-77.imp"
DX = &DICT[ACT];
                                                                //   3919    call
#line 3919 "regression-compile-tmp/imp22g-77.imp"
CALL();
                                                                //   3920    pp = pp+2;  dp == dict(pp)
#line 3920 "regression-compile-tmp/imp22g-77.imp"
*PP = ((*(int *)(PP)) + (2));
#line 3920 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[*PP];
                                                                //   3921    pendcond = dp_act
#line 3921 "regression-compile-tmp/imp22g-77.imp"
PENDCOND = DP->ACT;
                                                                //   3922    -> endcomp
#line 3922 "regression-compile-tmp/imp22g-77.imp"
goto U_1021;
                                                                //   3923  
                                                                //   3924  !<<BOTH
                                                                //   3925  !!!!!!!!!!!!!!!!!!!!!!!!   Assignment   !!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   3926  !
                                                                //   3927  %integerfn EASY(%integer y)
#line 3927 "regression-compile-tmp/imp22g-77.imp"
int EASY( int Y )
#line 3927 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   3928  ! Determine if structure assignment (string, set)
                                                                //   3929  !  can be done by store-to-store op(s) and if so, do it.
                                                                //   3930  %integer r1,f
#line 3930 "regression-compile-tmp/imp22g-77.imp"
int R1;
#line 3930 "regression-compile-tmp/imp22g-77.imp"
int F;
                                                                //   3931  %record(identinfo)%name dy
#line 3931 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DY;
                                                                //   3932  %owninteger s=0
#line 3932 "regression-compile-tmp/imp22g-77.imp"
static int S = 0;
                                                                //   3933    %result = FALSE %if y < np0
#line 3933 "regression-compile-tmp/imp22g-77.imp"
if (((Y) >= (NP0))) goto L_0347;
#line 3933 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 3933 "regression-compile-tmp/imp22g-77.imp"
L_0347:;
                                                                //   3934    dy == dict(y)
#line 3934 "regression-compile-tmp/imp22g-77.imp"
DY = &DICT[Y];
                                                                //   3935    %result = FALSE %if dy_act > concat %or dy_act = prel
#line 3935 "regression-compile-tmp/imp22g-77.imp"
if (((DY->ACT) > (106))) goto L_0348;
#line 3935 "regression-compile-tmp/imp22g-77.imp"
if (((DY->ACT) != (46))) goto L_0349;
#line 3935 "regression-compile-tmp/imp22g-77.imp"
L_0348:;
#line 3935 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 3935 "regression-compile-tmp/imp22g-77.imp"
L_0349:;
                                                                //   3936    f = free
#line 3936 "regression-compile-tmp/imp22g-77.imp"
F = FREE;
                                                                //   3937    %if dy_x = x %start;  !recursion ends, successfully
#line 3937 "regression-compile-tmp/imp22g-77.imp"
if (((DY->X) != (X))) goto L_034a;
                                                                //   3938      s = tsize(x);  s = -s %if dy_act # concat;  !+ve unless string
#line 3938 "regression-compile-tmp/imp22g-77.imp"
S = TSIZE(X);
#line 3938 "regression-compile-tmp/imp22g-77.imp"
if (((DY->ACT) == (106))) goto L_034b;
#line 3938 "regression-compile-tmp/imp22g-77.imp"
S = (-(S));
#line 3938 "regression-compile-tmp/imp22g-77.imp"
L_034b:;
                                                                //   3939      eval(x,a1b+asad)
#line 3939 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 1049088);
                                                                //   3940    %else
#line 3940 "regression-compile-tmp/imp22g-77.imp"
goto L_034c;
#line 3940 "regression-compile-tmp/imp22g-77.imp"
L_034a:;
                                                                //   3941      %result = FALSE %if dy_y >= np0 %or dy_y = x %c
#line 3941 "regression-compile-tmp/imp22g-77.imp"
if (((DY->Y) >= (NP0))) goto L_034d;
#line 3941 "regression-compile-tmp/imp22g-77.imp"
if (((DY->Y) == (X))) goto L_034d;
#line 3941 "regression-compile-tmp/imp22g-77.imp"
if (((EASY(DY->X)) == (1))) goto L_034e;
#line 3941 "regression-compile-tmp/imp22g-77.imp"
L_034d:;
#line 3941 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 3941 "regression-compile-tmp/imp22g-77.imp"
L_034e:;
                                                                //   3942      %or %not easy(dy_x)=TRUE
                                                                //   3943    %finish
#line 3943 "regression-compile-tmp/imp22g-77.imp"
L_034c:;
                                                                //   3944    y = dy_y
#line 3944 "regression-compile-tmp/imp22g-77.imp"
Y = DY->Y;
                                                                //   3945    %if y >= np0 %and dict(y)_act = dtostring %start
#line 3945 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < (NP0))) goto L_034f;
#line 3945 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[Y].ACT) != (107))) goto L_034f;
                                                                //   3946      y = dict(y)_x;  eval(y,tobyte+val);  !character value
#line 3946 "regression-compile-tmp/imp22g-77.imp"
Y = DICT[Y].X;
#line 3946 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, (-2147352577));
                                                                //   3947      r1 = clean reg
#line 3947 "regression-compile-tmp/imp22g-77.imp"
R1 = CLEANREG();
                                                                //   3948      plant(addb,one,x+indir);              !inc length(dest)
#line 3948 "regression-compile-tmp/imp22g-77.imp"
PLANT(258, (-2), (((int)(X)) + (8)));
                                                                //   3949      plant(moveb,x+indir,r1)
#line 3949 "regression-compile-tmp/imp22g-77.imp"
PLANT(257, (((int)(X)) + (8)), R1);
                                                                //   3950      plant(moveb,y,tempx(x,r1));          !append char
#line 3950 "regression-compile-tmp/imp22g-77.imp"
PLANT(257, Y, TEMPX(X, R1));
                                                                //   3951      forget(r1)
#line 3951 "regression-compile-tmp/imp22g-77.imp"
FORGET(R1);
                                                                //   3952    %else
#line 3952 "regression-compile-tmp/imp22g-77.imp"
goto L_0350;
#line 3952 "regression-compile-tmp/imp22g-77.imp"
L_034f:;
                                                                //   3953      eval(y,a0b+asad)
#line 3953 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 1048832);
                                                                //   3954      structcall(dy_act,s)
#line 3954 "regression-compile-tmp/imp22g-77.imp"
STRUCTCALL(DY->ACT, S);
                                                                //   3955      forget(a0);  forget(a1)
#line 3955 "regression-compile-tmp/imp22g-77.imp"
FORGET(9);
#line 3955 "regression-compile-tmp/imp22g-77.imp"
FORGET(10);
                                                                //   3956      forget(d1);  forget(d2)
#line 3956 "regression-compile-tmp/imp22g-77.imp"
FORGET(2);
#line 3956 "regression-compile-tmp/imp22g-77.imp"
FORGET(3);
                                                                //   3957    %finish
#line 3957 "regression-compile-tmp/imp22g-77.imp"
L_0350:;
                                                                //   3958    free = f&(\a1b)
#line 3958 "regression-compile-tmp/imp22g-77.imp"
FREE = ((F) & ((~(512))));
                                                                //   3959    %result = TRUE
#line 3959 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   3960  %end
#line 3960 "regression-compile-tmp/imp22g-77.imp"
} // End of block EASY at level 3
                                                                //   3961  
                                                                //   3962  %routine BEWARE(%integer dest)
#line 3962 "regression-compile-tmp/imp22g-77.imp"
void BEWARE( int DEST )
#line 3962 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   3963  ![not foolproof: ?too expensive to do properly
                                                                //   3964  !                 too inefficient to fail safe]
                                                                //   3965  %integer r,d
#line 3965 "regression-compile-tmp/imp22g-77.imp"
int R;
#line 3965 "regression-compile-tmp/imp22g-77.imp"
int D;
                                                                //   3966  %integerfn UNSAFE(%integer p)
#line 3966 "regression-compile-tmp/imp22g-77.imp"
int UNSAFE( int P )
#line 3966 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   3967  ![a bit cavalier]
                                                                //   3968    %cycle
#line 3968 "regression-compile-tmp/imp22g-77.imp"
L_0351:;
                                                                //   3969      %result = FALSE %if p <= undef;        !literal, basereg or undef
#line 3969 "regression-compile-tmp/imp22g-77.imp"
if (((P) > (16))) goto L_0354;
#line 3969 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 3969 "regression-compile-tmp/imp22g-77.imp"
L_0354:;
                                                                //   3970      %result = TRUE %if p = dest %or p = d {%or d >= np0
#line 3970 "regression-compile-tmp/imp22g-77.imp"
if (((P) == (DEST))) goto L_0355;
#line 3970 "regression-compile-tmp/imp22g-77.imp"
if (((P) != (D))) goto L_0356;
#line 3970 "regression-compile-tmp/imp22g-77.imp"
L_0355:;
#line 3970 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 3970 "regression-compile-tmp/imp22g-77.imp"
L_0356:;
                                                                //   3971      p = p-ad %if p >= explim
#line 3971 "regression-compile-tmp/imp22g-77.imp"
if (((P) < (EXPLIM))) goto L_0357;
#line 3971 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(P)) - (16384));
#line 3971 "regression-compile-tmp/imp22g-77.imp"
L_0357:;
                                                                //   3972      %result = FALSE %if p < np0
#line 3972 "regression-compile-tmp/imp22g-77.imp"
if (((P) >= (NP0))) goto L_0358;
#line 3972 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 3972 "regression-compile-tmp/imp22g-77.imp"
L_0358:;
                                                                //   3973      %result = TRUE %if dict(p)_act > opmax;  !funcall,mapcall
#line 3973 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[P].ACT) <= (117))) goto L_0359;
#line 3973 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 3973 "regression-compile-tmp/imp22g-77.imp"
L_0359:;
                                                                //   3974      %result = TRUE %unless dest # dict(p)_y < np0
#line 3974 "regression-compile-tmp/imp22g-77.imp"
if ((((DEST) == (DICT[P].Y))) || (((DICT[P].Y) < (NP0)))) goto L_035b;
#line 3974 "regression-compile-tmp/imp22g-77.imp"
L_035a:;
#line 3974 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 3974 "regression-compile-tmp/imp22g-77.imp"
L_035b:;
                                                                //   3975      p = dict(p)_x
#line 3975 "regression-compile-tmp/imp22g-77.imp"
P = DICT[P].X;
                                                                //   3976    %repeat
#line 3976 "regression-compile-tmp/imp22g-77.imp"
goto L_0351;
                                                                //   3977  %end
#line 3977 "regression-compile-tmp/imp22g-77.imp"
} // End of block UNSAFE at level 4
                                                                //   3978    forget(dest) %and %return %if dest <= a7
#line 3978 "regression-compile-tmp/imp22g-77.imp"
if (((DEST) > (16))) goto L_0352;
#line 3978 "regression-compile-tmp/imp22g-77.imp"
FORGET(DEST);
#line 3978 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3978 "regression-compile-tmp/imp22g-77.imp"
L_0352:;
                                                                //   3979    d = dest;  d = d-ad %if d >= explim
#line 3979 "regression-compile-tmp/imp22g-77.imp"
D = DEST;
#line 3979 "regression-compile-tmp/imp22g-77.imp"
if (((D) < (EXPLIM))) goto L_035c;
#line 3979 "regression-compile-tmp/imp22g-77.imp"
D = (((int)(D)) - (16384));
#line 3979 "regression-compile-tmp/imp22g-77.imp"
L_035c:;
                                                                //   3980    %for r = d0,1,maxareg %cycle
#line 3980 "regression-compile-tmp/imp22g-77.imp"
R = 0;
if ((((12)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle R = 1, 1, 12");
L_035d:;
if (R == 12) goto L_035e;
R += 1;
                                                                //   3981      forget(r) %if unsafe(c_reg_content(r))=TRUE
#line 3981 "regression-compile-tmp/imp22g-77.imp"
if (((UNSAFE(C.REG.CONTENT[(((int)(R)) - (1))])) != (1))) goto L_0360;
#line 3981 "regression-compile-tmp/imp22g-77.imp"
FORGET(R);
#line 3981 "regression-compile-tmp/imp22g-77.imp"
L_0360:;
                                                                //   3982    %repeat
#line 3982 "regression-compile-tmp/imp22g-77.imp"
goto L_035d;
#line 3982 "regression-compile-tmp/imp22g-77.imp"
L_035e:;
                                                                //   3983    forget cc %if unsafe(c_reg_ccx)=TRUE %or unsafe(c_reg_ccy)=TRUE
#line 3983 "regression-compile-tmp/imp22g-77.imp"
if (((UNSAFE(C.REG.CCX)) == (1))) goto L_035f;
#line 3983 "regression-compile-tmp/imp22g-77.imp"
if (((UNSAFE(C.REG.CCY)) != (1))) goto L_0361;
#line 3983 "regression-compile-tmp/imp22g-77.imp"
L_035f:;
#line 3983 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
#line 3983 "regression-compile-tmp/imp22g-77.imp"
L_0361:;
                                                                //   3984  %end
#line 3984 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block BEWARE at level 3
                                                                //   3985  
                                                                //   3986  %integerfn XFREE(%integer v,strong)
#line 3986 "regression-compile-tmp/imp22g-77.imp"
int XFREE( int V, int STRONG )
#line 3986 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   3987  %record(identinfo)%name dp
#line 3987 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DP;
                                                                //   3988    %cycle
#line 3988 "regression-compile-tmp/imp22g-77.imp"
L_0362:;
                                                                //   3989      v = v-ad %if v >= explim
#line 3989 "regression-compile-tmp/imp22g-77.imp"
if (((V) < (EXPLIM))) goto L_0365;
#line 3989 "regression-compile-tmp/imp22g-77.imp"
V = (((int)(V)) - (16384));
#line 3989 "regression-compile-tmp/imp22g-77.imp"
L_0365:;
                                                                //   3990      %exit %if v < dictlim
#line 3990 "regression-compile-tmp/imp22g-77.imp"
if (((V) >= (DICTLIM))) goto L_0366;
#line 3990 "regression-compile-tmp/imp22g-77.imp"
goto L_0363;
#line 3990 "regression-compile-tmp/imp22g-77.imp"
L_0366:;
                                                                //   3991      dp == dict(v)
#line 3991 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[V];
                                                                //   3992      %result = FALSE %unless xfree(dp_y,1)=TRUE
#line 3992 "regression-compile-tmp/imp22g-77.imp"
if (((XFREE(DP->Y, 1)) == (1))) goto L_0367;
#line 3992 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 3992 "regression-compile-tmp/imp22g-77.imp"
L_0367:;
                                                                //   3993      strong = 1 %if dp_y >= dictlim
#line 3993 "regression-compile-tmp/imp22g-77.imp"
if (((DP->Y) < (DICTLIM))) goto L_0368;
#line 3993 "regression-compile-tmp/imp22g-77.imp"
STRONG = 1;
#line 3993 "regression-compile-tmp/imp22g-77.imp"
L_0368:;
                                                                //   3994      v = dp_x
#line 3994 "regression-compile-tmp/imp22g-77.imp"
V = DP->X;
                                                                //   3995    %repeat
#line 3995 "regression-compile-tmp/imp22g-77.imp"
goto L_0362;
#line 3995 "regression-compile-tmp/imp22g-77.imp"
L_0363:;
                                                                //   3996    %result = TRUE %if v # x %or strong = 0
#line 3996 "regression-compile-tmp/imp22g-77.imp"
if (((V) != (X))) goto L_0364;
#line 3996 "regression-compile-tmp/imp22g-77.imp"
if (((STRONG) != (0))) goto L_0369;
#line 3996 "regression-compile-tmp/imp22g-77.imp"
L_0364:;
#line 3996 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 3996 "regression-compile-tmp/imp22g-77.imp"
L_0369:;
                                                                //   3997    %result = FALSE
#line 3997 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   3998  %end
#line 3998 "regression-compile-tmp/imp22g-77.imp"
} // End of block XFREE at level 3
                                                                //   3999  
                                                                //   4000  !<<IMP
                                                                //   4001  do(forass):  !FORASS:loopvar:start'
#line 4001 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_36:;
                                                                //   4002               ! --   :inc    :end
                                                                //   4003    eval(y,d0b)
#line 4003 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 1);
                                                                //   4004    pp = pp+1;  dp == dict(pp)
#line 4004 "regression-compile-tmp/imp22g-77.imp"
*PP = ((*(int *)(PP)) + (1));
#line 4004 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[*PP];
                                                                //   4005    i = dp_x;  eval(i,d1b);  i = dp_y;  eval(i,d2b)
#line 4005 "regression-compile-tmp/imp22g-77.imp"
I = DP->X;
#line 4005 "regression-compile-tmp/imp22g-77.imp"
EVAL(&I, 2);
#line 4005 "regression-compile-tmp/imp22g-77.imp"
I = DP->Y;
#line 4005 "regression-compile-tmp/imp22g-77.imp"
EVAL(&I, 4);
                                                                //   4006    srcall(forok)
#line 4006 "regression-compile-tmp/imp22g-77.imp"
SRCALL(110);
                                                                //   4007  !<<BOTH
                                                                //   4008  do(jamass):
#line 4008 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_32:;
                                                                //   4009  do(assign):
#line 4009 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_34:;
                                                                //   4010  do(okass):
#line 4010 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_33:;
                                                                //   4011    flush %if pendcond # 0
#line 4011 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) == (0))) goto L_036a;
#line 4011 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
#line 4011 "regression-compile-tmp/imp22g-77.imp"
L_036a:;
                                                                //   4012    %if xx >= explim %start;  !ad of ...
#line 4012 "regression-compile-tmp/imp22g-77.imp"
if (((XX) < (EXPLIM))) goto L_036b;
                                                                //   4013      wx = weight(xx-ad)
#line 4013 "regression-compile-tmp/imp22g-77.imp"
WX = WEIGHT((((int)(XX)) - (16384)));
                                                                //   4014      dx == dict(xx-ad)
#line 4014 "regression-compile-tmp/imp22g-77.imp"
DX = &DICT[(((int)(XX)) - (16384))];
                                                                //   4015      sx = 4
#line 4015 "regression-compile-tmp/imp22g-77.imp"
SX = 4;
                                                                //   4016    %else
#line 4016 "regression-compile-tmp/imp22g-77.imp"
goto L_036c;
#line 4016 "regression-compile-tmp/imp22g-77.imp"
L_036b:;
                                                                //   4017      wx = weight(xx)
#line 4017 "regression-compile-tmp/imp22g-77.imp"
WX = WEIGHT(XX);
                                                                //   4018      dx == dict(xx)
#line 4018 "regression-compile-tmp/imp22g-77.imp"
DX = &DICT[XX];
                                                                //   4019      sx = size(dx_type)
#line 4019 "regression-compile-tmp/imp22g-77.imp"
SX = SIZE(DX->TYPE);
                                                                //   4020    %finish
#line 4020 "regression-compile-tmp/imp22g-77.imp"
L_036c:;
                                                                //   4021    tx == dict(dx_type)
#line 4021 "regression-compile-tmp/imp22g-77.imp"
TX = &DICT[DX->TYPE];
                                                                //   4022    sp = c_sp-c_val
#line 4022 "regression-compile-tmp/imp22g-77.imp"
SP = (((int)(C.SP)) - (C.VAL));
                                                                //   4023    %if sx <= 0 %start;  !structure assignment
#line 4023 "regression-compile-tmp/imp22g-77.imp"
if (((SX) > (0))) goto L_036d;
                                                                //   4024      !Structure
                                                                //   4025      ![for rec/string assignment beware corruption of stacked
                                                                //   4026      ! structure in computing DEST]
                                                                //   4027      update sp
#line 4027 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   4028      %if tx_flags&cat = stringy %start
#line 4028 "regression-compile-tmp/imp22g-77.imp"
if (((((TX->FLAGS) & (15))) != (8))) goto L_036e;
                                                                //   4029        sx = -256 %if sx = 0;   !string(*)
#line 4029 "regression-compile-tmp/imp22g-77.imp"
if (((SX) != (0))) goto L_036f;
#line 4029 "regression-compile-tmp/imp22g-77.imp"
SX = (-256);
#line 4029 "regression-compile-tmp/imp22g-77.imp"
L_036f:;
                                                                //   4030        op = -1;  op = dict(y)_act %if y >= np0
#line 4030 "regression-compile-tmp/imp22g-77.imp"
OP = (-1);
#line 4030 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < (NP0))) goto L_0370;
#line 4030 "regression-compile-tmp/imp22g-77.imp"
OP = DICT[Y].ACT;
#line 4030 "regression-compile-tmp/imp22g-77.imp"
L_0370:;
                                                                //   4031        %if y = 0 %start;  !""
#line 4031 "regression-compile-tmp/imp22g-77.imp"
if (((Y) != (0))) goto L_0371;
                                                                //   4032          eval(x,ref)
#line 4032 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (-2147483648));
                                                                //   4033          plant(clr+1<<8,0,x)
#line 4033 "regression-compile-tmp/imp22g-77.imp"
PLANT(((52) + ((int)(((1) << (8))))), 0, X);
                                                                //   4034        %finish %else %if op = dtostring %start
#line 4034 "regression-compile-tmp/imp22g-77.imp"
goto L_0372;
#line 4034 "regression-compile-tmp/imp22g-77.imp"
L_0371:;
#line 4034 "regression-compile-tmp/imp22g-77.imp"
if (((OP) != (107))) goto L_0373;
                                                                //   4035          y = dict(y)_x
#line 4035 "regression-compile-tmp/imp22g-77.imp"
Y = DICT[Y].X;
                                                                //   4036          eval(y,tobyte+val);  !character value
#line 4036 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, (-2147352577));
                                                                //   4037          eval(x,anyareg&free+asad)
#line 4037 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (((int)(((65280) & (FREE)))) + (1048576)));
                                                                //   4038          plant(moveb,one,x+post)
#line 4038 "regression-compile-tmp/imp22g-77.imp"
PLANT(257, (-2), (((int)(X)) + (16)));
                                                                //   4039          plant(moveb,y,x+indir)
#line 4039 "regression-compile-tmp/imp22g-77.imp"
PLANT(257, Y, (((int)(X)) + (8)));
                                                                //   4040          forget(x)
#line 4040 "regression-compile-tmp/imp22g-77.imp"
FORGET(X);
                                                                //   4041          forget cc
#line 4041 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
                                                                //   4042        %finish %else %if act = jamass %or %not easy(y)=TRUE %start
#line 4042 "regression-compile-tmp/imp22g-77.imp"
goto L_0372;
#line 4042 "regression-compile-tmp/imp22g-77.imp"
L_0373:;
#line 4042 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) == (32))) goto L_0374;
#line 4042 "regression-compile-tmp/imp22g-77.imp"
if (((EASY(Y)) == (1))) goto L_0375;
#line 4042 "regression-compile-tmp/imp22g-77.imp"
L_0374:;
                                                                //   4043          %if op >= concat %and wx > 1 %start
#line 4043 "regression-compile-tmp/imp22g-77.imp"
if (((OP) < (106))) goto L_0376;
#line 4043 "regression-compile-tmp/imp22g-77.imp"
if (((WX) <= (1))) goto L_0376;
                                                                //   4044          ! Danger of corruption of RHS
                                                                //   4045            stsiz = sx
#line 4045 "regression-compile-tmp/imp22g-77.imp"
STSIZ = SX;
                                                                //   4046            eval(y,tostack);  free = free!a0b
#line 4046 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 524288);
#line 4046 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) | (256));
                                                                //   4047            eval(x,a1b+asad)
#line 4047 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 1049088);
                                                                //   4048            plant(move,a7,a0);  y = a0
#line 4048 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, 16, 9);
#line 4048 "regression-compile-tmp/imp22g-77.imp"
Y = 9;
                                                                //   4049            structcall(strcopy,sx)
#line 4049 "regression-compile-tmp/imp22g-77.imp"
STRUCTCALL(113, SX);
                                                                //   4050          %finish %else %if act # assign %or sx = -256 %or control&capbit = 0 %start
#line 4050 "regression-compile-tmp/imp22g-77.imp"
goto L_0377;
#line 4050 "regression-compile-tmp/imp22g-77.imp"
L_0376:;
#line 4050 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) != (34))) goto L_0378;
#line 4050 "regression-compile-tmp/imp22g-77.imp"
if (((SX) == ((-256)))) goto L_0378;
#line 4050 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (536870912))) != (0))) goto L_0379;
#line 4050 "regression-compile-tmp/imp22g-77.imp"
L_0378:;
                                                                //   4051          ! No check needed
                                                                //   4052            %if wx > 1 %then eval(x,anyareg&free+asad) %and eval(y,anyareg&free+asad) %c
#line 4052 "regression-compile-tmp/imp22g-77.imp"
if (((WX) <= (1))) goto L_037a;
#line 4052 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (((int)(((65280) & (FREE)))) + (1048576)));
#line 4052 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, (((int)(((65280) & (FREE)))) + (1048576)));
#line 4052 "regression-compile-tmp/imp22g-77.imp"
goto L_037b;
#line 4052 "regression-compile-tmp/imp22g-77.imp"
L_037a:;
#line 4052 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, (((int)(((65280) & (FREE)))) + (1048576)));
#line 4052 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (((int)(((65280) & (FREE)))) + (1048576)));
#line 4052 "regression-compile-tmp/imp22g-77.imp"
L_037b:;
                                                                //   4053            %else eval(y,anyareg&free+asad) %and eval(x,anyareg&free+asad)
                                                                //   4054  !not worth %if act # jamass %and sx >= -4 %start
                                                                //   4055  !            %cycle
                                                                //   4056  !              plant(moveb,y+post,x+post)
                                                                //   4057  !              sx = sx+1
                                                                //   4058  !            %repeat %until sx >= 0
                                                                //   4059  !          %else
                                                                //   4060              i = free reg(anydreg!bregb)
#line 4060 "regression-compile-tmp/imp22g-77.imp"
I = FREEREG(((239) | (16)));
                                                                //   4061              %if act = jamass %start
#line 4061 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) != (32))) goto L_037c;
                                                                //   4062                plantlit(move,mite(-sx-1),i)
#line 4062 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(1, MITE((((-(SX))) - (1))), I);
                                                                //   4063                plant(moveb,i,x+post)
#line 4063 "regression-compile-tmp/imp22g-77.imp"
PLANT(257, I, (((int)(X)) + (16)));
                                                                //   4064                plant(cmpb,y+post,i)
#line 4064 "regression-compile-tmp/imp22g-77.imp"
PLANT(260, (((int)(Y)) + (16)), I);
                                                                //   4065                plantlit2(bcs,0,6);     ! 3 2-byte instructions **
#line 4065 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT2(21, 0, 6);
                                                                //   4066                plant(sub,one,x)
#line 4066 "regression-compile-tmp/imp22g-77.imp"
PLANT(3, (-2), X);
                                                                //   4067                plant(moveb,y+pre,i)
#line 4067 "regression-compile-tmp/imp22g-77.imp"
PLANT(257, (((int)(Y)) + (24)), I);
                                                                //   4068              %else
#line 4068 "regression-compile-tmp/imp22g-77.imp"
goto L_037d;
#line 4068 "regression-compile-tmp/imp22g-77.imp"
L_037c:;
                                                                //   4069                plant(moveb,y+indir,i);   !length (dirty OK)
#line 4069 "regression-compile-tmp/imp22g-77.imp"
PLANT(257, (((int)(Y)) + (8)), I);
                                                                //   4070              %finish
#line 4070 "regression-compile-tmp/imp22g-77.imp"
L_037d:;
                                                                //   4071              plant(moveb,y+post,x+post)
#line 4071 "regression-compile-tmp/imp22g-77.imp"
PLANT(257, (((int)(Y)) + (16)), (((int)(X)) + (16)));
                                                                //   4072              plant(subb,one,i)
#line 4072 "regression-compile-tmp/imp22g-77.imp"
PLANT(259, (-2), I);
                                                                //   4073              plantlit2(bcc,0,-6)
#line 4073 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT2(20, 0, (-6));
                                                                //   4074              forget(i)
#line 4074 "regression-compile-tmp/imp22g-77.imp"
FORGET(I);
                                                                //   4075  !          %finish
                                                                //   4076          %else
#line 4076 "regression-compile-tmp/imp22g-77.imp"
goto L_0377;
#line 4076 "regression-compile-tmp/imp22g-77.imp"
L_0379:;
                                                                //   4077            %if wx > 1 %then eval(x,a1b+asad) %and eval(y,a0b+asad) %c
#line 4077 "regression-compile-tmp/imp22g-77.imp"
if (((WX) <= (1))) goto L_037e;
#line 4077 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 1049088);
#line 4077 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 1048832);
#line 4077 "regression-compile-tmp/imp22g-77.imp"
goto L_037f;
#line 4077 "regression-compile-tmp/imp22g-77.imp"
L_037e:;
#line 4077 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 1048832);
#line 4077 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 1049088);
#line 4077 "regression-compile-tmp/imp22g-77.imp"
L_037f:;
                                                                //   4078            %else eval(y,a0b+asad) %and eval(x,a1b+asad)
                                                                //   4079            structcall(strcopy,sx)
#line 4079 "regression-compile-tmp/imp22g-77.imp"
STRUCTCALL(113, SX);
                                                                //   4080          %finish
#line 4080 "regression-compile-tmp/imp22g-77.imp"
L_0377:;
                                                                //   4081          forget(x);  forget(y)
#line 4081 "regression-compile-tmp/imp22g-77.imp"
FORGET(X);
#line 4081 "regression-compile-tmp/imp22g-77.imp"
FORGET(Y);
                                                                //   4082          forget cc
#line 4082 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
                                                                //   4083        %finish
#line 4083 "regression-compile-tmp/imp22g-77.imp"
L_0375:;
#line 4083 "regression-compile-tmp/imp22g-77.imp"
L_0372:;
                                                                //   4084      %finish %else %unless easy(y)=TRUE %start
#line 4084 "regression-compile-tmp/imp22g-77.imp"
goto L_0380;
#line 4084 "regression-compile-tmp/imp22g-77.imp"
L_036e:;
#line 4084 "regression-compile-tmp/imp22g-77.imp"
if (((EASY(Y)) == (1))) goto L_0381;
                                                                //   4085        eval(x,anyareg&free+asad) %if y = 0 %or wx > 1
#line 4085 "regression-compile-tmp/imp22g-77.imp"
if (((Y) == (0))) goto L_0382;
#line 4085 "regression-compile-tmp/imp22g-77.imp"
if (((WX) <= (1))) goto L_0383;
#line 4085 "regression-compile-tmp/imp22g-77.imp"
L_0382:;
#line 4085 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (((int)(((65280) & (FREE)))) + (1048576)));
#line 4085 "regression-compile-tmp/imp22g-77.imp"
L_0383:;
                                                                //   4086        %if y # 0 %start
#line 4086 "regression-compile-tmp/imp22g-77.imp"
if (((Y) == (0))) goto L_0384;
                                                                //   4087          sx = tsize(y) %if sx = 0
#line 4087 "regression-compile-tmp/imp22g-77.imp"
if (((SX) != (0))) goto L_0385;
#line 4087 "regression-compile-tmp/imp22g-77.imp"
SX = TSIZE(Y);
#line 4087 "regression-compile-tmp/imp22g-77.imp"
L_0385:;
                                                                //   4088          eval(y,anyareg&free+asad)
#line 4088 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, (((int)(((65280) & (FREE)))) + (1048576)));
                                                                //   4089          forget(y)
#line 4089 "regression-compile-tmp/imp22g-77.imp"
FORGET(Y);
                                                                //   4090          y = y+post
#line 4090 "regression-compile-tmp/imp22g-77.imp"
Y = (((int)(Y)) + (16));
                                                                //   4091          eval(x,anyareg&free+asad) %if wx <= 1
#line 4091 "regression-compile-tmp/imp22g-77.imp"
if (((WX) > (1))) goto L_0386;
#line 4091 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (((int)(((65280) & (FREE)))) + (1048576)));
#line 4091 "regression-compile-tmp/imp22g-77.imp"
L_0386:;
                                                                //   4092        %finish
#line 4092 "regression-compile-tmp/imp22g-77.imp"
L_0384:;
                                                                //   4093        forget(x)
#line 4093 "regression-compile-tmp/imp22g-77.imp"
FORGET(X);
                                                                //   4094        %if sx = 0 %then fault(sizerr) %else move block(y,x+post,-sx)
#line 4094 "regression-compile-tmp/imp22g-77.imp"
if (((SX) != (0))) goto L_0387;
#line 4094 "regression-compile-tmp/imp22g-77.imp"
FAULT(11);
#line 4094 "regression-compile-tmp/imp22g-77.imp"
goto L_0388;
#line 4094 "regression-compile-tmp/imp22g-77.imp"
L_0387:;
#line 4094 "regression-compile-tmp/imp22g-77.imp"
MOVEBLOCK(Y, (((int)(X)) + (16)), (-(SX)));
#line 4094 "regression-compile-tmp/imp22g-77.imp"
L_0388:;
                                                                //   4095      %finish
#line 4095 "regression-compile-tmp/imp22g-77.imp"
L_0381:;
#line 4095 "regression-compile-tmp/imp22g-77.imp"
L_0380:;
                                                                //   4096      beware(xx)
#line 4096 "regression-compile-tmp/imp22g-77.imp"
BEWARE(XX);
                                                                //   4097      -> checksp
#line 4097 "regression-compile-tmp/imp22g-77.imp"
goto U_1022;
                                                                //   4098    %finish
#line 4098 "regression-compile-tmp/imp22g-77.imp"
L_036d:;
                                                                //   4099  !Simple operand
                                                                //   4100    %if c_val # 0 %start
#line 4100 "regression-compile-tmp/imp22g-77.imp"
if (((C.VAL) == (0))) goto L_0389;
                                                                //   4101      %if dx_val = sp %and dx_mode = c_mode %start
#line 4101 "regression-compile-tmp/imp22g-77.imp"
if (((DX->VAL) != (SP))) goto L_038a;
#line 4101 "regression-compile-tmp/imp22g-77.imp"
if (((DX->MODE) != (C.MODE))) goto L_038a;
                                                                //   4102        %if sx = 4 %or x >= explim %then c_val = c_val-4 %c
#line 4102 "regression-compile-tmp/imp22g-77.imp"
if (((SX) == (4))) goto L_038b;
#line 4102 "regression-compile-tmp/imp22g-77.imp"
if (((X) < (EXPLIM))) goto L_038c;
#line 4102 "regression-compile-tmp/imp22g-77.imp"
L_038b:;
#line 4102 "regression-compile-tmp/imp22g-77.imp"
C.VAL = (((int)(C.VAL)) - (4));
#line 4102 "regression-compile-tmp/imp22g-77.imp"
goto L_038d;
#line 4102 "regression-compile-tmp/imp22g-77.imp"
L_038c:;
#line 4102 "regression-compile-tmp/imp22g-77.imp"
C.VAL = (((int)(C.VAL)) - (2));
#line 4102 "regression-compile-tmp/imp22g-77.imp"
L_038d:;
                                                                //   4103        %else c_val = c_val-2
                                                                //   4104      %finish
#line 4104 "regression-compile-tmp/imp22g-77.imp"
L_038a:;
                                                                //   4105      update sp
#line 4105 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   4106    %finish
#line 4106 "regression-compile-tmp/imp22g-77.imp"
L_0389:;
                                                                //   4107    op = move
#line 4107 "regression-compile-tmp/imp22g-77.imp"
OP = 1;
                                                                //   4108    case = val;  case = case+sx<<sizeshift %if sx # 4
#line 4108 "regression-compile-tmp/imp22g-77.imp"
CASE = (-2147418113);
#line 4108 "regression-compile-tmp/imp22g-77.imp"
if (((SX) == (4))) goto L_038e;
#line 4108 "regression-compile-tmp/imp22g-77.imp"
CASE = ((CASE) + ((int)(((SX) << (16)))));
#line 4108 "regression-compile-tmp/imp22g-77.imp"
L_038e:;
                                                                //   4109    %if x <= a7 %start;  !explicit assignment to reg
#line 4109 "regression-compile-tmp/imp22g-77.imp"
if (((X) > (16))) goto L_038f;
                                                                //   4110      %if xfree(y,0)=TRUE %start
#line 4110 "regression-compile-tmp/imp22g-77.imp"
if (((XFREE(Y, 0)) != (1))) goto L_0390;
                                                                //   4111        case = 1<<(x-d0);  free = free!case
#line 4111 "regression-compile-tmp/imp22g-77.imp"
CASE = ((1) << ((((int)(X)) - (1))));
#line 4111 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) | (CASE));
                                                                //   4112      %else
#line 4112 "regression-compile-tmp/imp22g-77.imp"
goto L_0391;
#line 4112 "regression-compile-tmp/imp22g-77.imp"
L_0390:;
                                                                //   4113        free = free&(\(1<<(x-d0)))
#line 4113 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) & ((~(((1) << ((((int)(X)) - (1))))))));
                                                                //   4114      %finish
#line 4114 "regression-compile-tmp/imp22g-77.imp"
L_0391:;
                                                                //   4115    %finish
#line 4115 "regression-compile-tmp/imp22g-77.imp"
L_038f:;
                                                                //   4116    %if sx # 4 %and act = assign %and control&capbit # 0 %start
#line 4116 "regression-compile-tmp/imp22g-77.imp"
if (((SX) == (4))) goto L_0392;
#line 4116 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) != (34))) goto L_0392;
#line 4116 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (536870912))) == (0))) goto L_0392;
                                                                //   4117      eval(y,d0b)
#line 4117 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 1);
                                                                //   4118      srcall(dx_type);  !range check
#line 4118 "regression-compile-tmp/imp22g-77.imp"
SRCALL(DX->TYPE);
                                                                //   4119    %finish
#line 4119 "regression-compile-tmp/imp22g-77.imp"
L_0392:;
                                                                //   4120    i = y;  i = i-ad %if i >= explim
#line 4120 "regression-compile-tmp/imp22g-77.imp"
I = Y;
#line 4120 "regression-compile-tmp/imp22g-77.imp"
if (((I) < (EXPLIM))) goto L_0393;
#line 4120 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) - (16384));
#line 4120 "regression-compile-tmp/imp22g-77.imp"
L_0393:;
                                                                //   4121    %if i >= np0 %start;                        !SOURCE complex
#line 4121 "regression-compile-tmp/imp22g-77.imp"
if (((I) < (NP0))) goto L_0394;
                                                                //   4122      %if dx_flags&okflag # 0 %or control&bassbit>>1<<sx = 0 %start
#line 4122 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & (64))) != (0))) goto L_0395;
#line 4122 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & ((((int)((((unsigned int)(16777216)) >> (1)))) << (SX))))) != (0))) goto L_0396;
#line 4122 "regression-compile-tmp/imp22g-77.imp"
L_0395:;
                                                                //   4123        dy == dict(i)
#line 4123 "regression-compile-tmp/imp22g-77.imp"
DY = &DICT[I];
                                                                //   4124        %if y >= explim %start
#line 4124 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < (EXPLIM))) goto L_0397;
                                                                //   4125          %if dy_act = prel %and dy_x = x-ad %c
#line 4125 "regression-compile-tmp/imp22g-77.imp"
if (((DY->ACT) != (46))) goto L_0398;
#line 4125 "regression-compile-tmp/imp22g-77.imp"
if (((DY->X) != ((((int)(X)) - (16384))))) goto L_0398;
#line 4125 "regression-compile-tmp/imp22g-77.imp"
if (((DY->Y) < (0))) goto L_0399;
#line 4125 "regression-compile-tmp/imp22g-77.imp"
if (((DY->TYPE) != (52))) goto L_0398;
#line 4125 "regression-compile-tmp/imp22g-77.imp"
L_0399:;
                                                                //   4126          %and (dy_y < 0 %or dy_type = bytetype) %start
                                                                //   4127            y = dy_y
#line 4127 "regression-compile-tmp/imp22g-77.imp"
Y = DY->Y;
                                                                //   4128            y = litref(litval(y)*imod(size(dy_type))) %if dy_type # bytetype
#line 4128 "regression-compile-tmp/imp22g-77.imp"
if (((DY->TYPE) == (52))) goto L_039a;
#line 4128 "regression-compile-tmp/imp22g-77.imp"
Y = LITREF((((int)(LITVAL(Y))) * (_imp_IMOD(SIZE(DY->TYPE)))));
#line 4128 "regression-compile-tmp/imp22g-77.imp"
L_039a:;
                                                                //   4129            act = add
#line 4129 "regression-compile-tmp/imp22g-77.imp"
ACT = 2;
                                                                //   4130            -> tostore
#line 4130 "regression-compile-tmp/imp22g-77.imp"
goto U_1023;
                                                                //   4131          %finish
#line 4131 "regression-compile-tmp/imp22g-77.imp"
L_0398:;
                                                                //   4132        %else
#line 4132 "regression-compile-tmp/imp22g-77.imp"
goto L_039b;
#line 4132 "regression-compile-tmp/imp22g-77.imp"
L_0397:;
                                                                //   4133          %if dy_x = x %c
#line 4133 "regression-compile-tmp/imp22g-77.imp"
if (((DY->X) != (X))) goto L_039c;
#line 4133 "regression-compile-tmp/imp22g-77.imp"
if (((DY->ACT) < (9))) goto L_039d;
#line 4133 "regression-compile-tmp/imp22g-77.imp"
if (((DY->ACT) != (9))) goto L_039c;
#line 4133 "regression-compile-tmp/imp22g-77.imp"
if (((DY->Y) != (0))) goto L_039c;
#line 4133 "regression-compile-tmp/imp22g-77.imp"
L_039d:;
                                                                //   4134          %and (dy_act < neg %or (dy_act = neg %and dy_y = 0)) %start
                                                                //   4135            act = dy_act;  y = dy_y
#line 4135 "regression-compile-tmp/imp22g-77.imp"
ACT = DY->ACT;
#line 4135 "regression-compile-tmp/imp22g-77.imp"
Y = DY->Y;
                                                                //   4136            -> tostore
#line 4136 "regression-compile-tmp/imp22g-77.imp"
goto U_1023;
                                                                //   4137          %finish
#line 4137 "regression-compile-tmp/imp22g-77.imp"
L_039c:;
                                                                //   4138        %finish
#line 4138 "regression-compile-tmp/imp22g-77.imp"
L_039b:;
                                                                //   4139      %finish
#line 4139 "regression-compile-tmp/imp22g-77.imp"
L_0396:;
                                                                //   4140      %if wx < 999 %then eval(y,case) %and eval(x,ref) %c
#line 4140 "regression-compile-tmp/imp22g-77.imp"
if (((WX) >= (999))) goto L_039e;
#line 4140 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, CASE);
#line 4140 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (-2147483648));
#line 4140 "regression-compile-tmp/imp22g-77.imp"
goto L_039f;
#line 4140 "regression-compile-tmp/imp22g-77.imp"
L_039e:;
#line 4140 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (-2147483648));
#line 4140 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, CASE);
#line 4140 "regression-compile-tmp/imp22g-77.imp"
L_039f:;
                                                                //   4141      %else eval(x,ref) %and eval(y,case)
                                                                //   4142    %else
#line 4142 "regression-compile-tmp/imp22g-77.imp"
goto L_03a0;
#line 4142 "regression-compile-tmp/imp22g-77.imp"
L_0394:;
                                                                //   4143      eval(x,ref)
#line 4143 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (-2147483648));
                                                                //   4144      %if y <= 0 %start
#line 4144 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_03a1;
                                                                //   4145        %if y = 0 %and dx_flags&readable # 0 %then op = clr %c
#line 4145 "regression-compile-tmp/imp22g-77.imp"
if (((Y) != (0))) goto L_03a2;
#line 4145 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & (2))) == (0))) goto L_03a2;
#line 4145 "regression-compile-tmp/imp22g-77.imp"
OP = 52;
#line 4145 "regression-compile-tmp/imp22g-77.imp"
goto L_03a3;
#line 4145 "regression-compile-tmp/imp22g-77.imp"
L_03a2:;
#line 4145 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < ((-255)))) goto L_03a4;
#line 4145 "regression-compile-tmp/imp22g-77.imp"
if (((SX) != (4))) goto L_03a4;
#line 4145 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 239);
#line 4145 "regression-compile-tmp/imp22g-77.imp"
L_03a4:;
#line 4145 "regression-compile-tmp/imp22g-77.imp"
L_03a3:;
                                                                //   4146        %else %if y >= litmite %and sx = 4 %then eval(y,anydreg)
                                                                //   4147      %else
#line 4147 "regression-compile-tmp/imp22g-77.imp"
goto L_03a5;
#line 4147 "regression-compile-tmp/imp22g-77.imp"
L_03a1:;
                                                                //   4148        eval(y,case) %unless y <= a7
#line 4148 "regression-compile-tmp/imp22g-77.imp"
if (((Y) <= (16))) goto L_03a6;
#line 4148 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, CASE);
#line 4148 "regression-compile-tmp/imp22g-77.imp"
L_03a6:;
                                                                //   4149      %finish
#line 4149 "regression-compile-tmp/imp22g-77.imp"
L_03a5:;
                                                                //   4150    %finish
#line 4150 "regression-compile-tmp/imp22g-77.imp"
L_03a0:;
                                                                //   4151    %if y # x %start
#line 4151 "regression-compile-tmp/imp22g-77.imp"
if (((Y) == (X))) goto L_03a7;
                                                                //   4152      %if 0 < y <= maxareg %and 0 < yy = c_reg_content(y) %start
#line 4152 "regression-compile-tmp/imp22g-77.imp"
if ((((0) >= (Y))) || (((Y) > (12)))) goto L_03a8;
#line 4152 "regression-compile-tmp/imp22g-77.imp"
if ((((0) >= (YY))) || (((YY) != (C.REG.CONTENT[(((int)(Y)) - (1))])))) goto L_03a8;
                                                                //   4153        beware(xx)
#line 4153 "regression-compile-tmp/imp22g-77.imp"
BEWARE(XX);
                                                                //   4154        c_reg_content(y) = xx
#line 4154 "regression-compile-tmp/imp22g-77.imp"
C.REG.CONTENT[(((int)(Y)) - (1))] = XX;
                                                                //   4155      %finish %else beware(xx)
#line 4155 "regression-compile-tmp/imp22g-77.imp"
goto L_03a9;
#line 4155 "regression-compile-tmp/imp22g-77.imp"
L_03a8:;
#line 4155 "regression-compile-tmp/imp22g-77.imp"
BEWARE(XX);
#line 4155 "regression-compile-tmp/imp22g-77.imp"
L_03a9:;
                                                                //   4156      plant(op+(sx&3)<<8,y,x)
#line 4156 "regression-compile-tmp/imp22g-77.imp"
PLANT(((OP) + ((int)(((((SX) & (3))) << (8))))), Y, X);
                                                                //   4157      c_reg_ccx = xx;  c_reg_ccy = 0
#line 4157 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCX = XX;
#line 4157 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCY = 0;
                                                                //   4158    %finish %else beware(xx)
#line 4158 "regression-compile-tmp/imp22g-77.imp"
goto L_03aa;
#line 4158 "regression-compile-tmp/imp22g-77.imp"
L_03a7:;
#line 4158 "regression-compile-tmp/imp22g-77.imp"
BEWARE(XX);
#line 4158 "regression-compile-tmp/imp22g-77.imp"
L_03aa:;
                                                                //   4159  endass:
#line 4159 "regression-compile-tmp/imp22g-77.imp"
U_1024:;
                                                                //   4160    dx_flags = dx_flags!okflag %if c_localdpos <= xx < dictlim %c
#line 4160 "regression-compile-tmp/imp22g-77.imp"
if ((((C.LOCALDPOS) > (XX))) || (((XX) >= (DICTLIM)))) goto L_03ab;
#line 4160 "regression-compile-tmp/imp22g-77.imp"
if (((C.FORWARD) != (0))) goto L_03ab;
#line 4160 "regression-compile-tmp/imp22g-77.imp"
DX->FLAGS = ((DX->FLAGS) | (64));
#line 4160 "regression-compile-tmp/imp22g-77.imp"
L_03ab:;
                                                                //   4161             %and c_forward = 0
                                                                //   4162    %return
#line 4162 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4163  
                                                                //   4164  do(incass):  !(for %for loop)
#line 4164 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_35:;
                                                                //   4165    flush %if pendcond # 0
#line 4165 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) == (0))) goto L_03ac;
#line 4165 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
#line 4165 "regression-compile-tmp/imp22g-77.imp"
L_03ac:;
                                                                //   4166    dx == dict(xx)
#line 4166 "regression-compile-tmp/imp22g-77.imp"
DX = &DICT[XX];
                                                                //   4167    sx = size(dx_type)
#line 4167 "regression-compile-tmp/imp22g-77.imp"
SX = SIZE(DX->TYPE);
                                                                //   4168    wx = weight(x)
#line 4168 "regression-compile-tmp/imp22g-77.imp"
WX = WEIGHT(X);
                                                                //   4169    act = add
#line 4169 "regression-compile-tmp/imp22g-77.imp"
ACT = 2;
                                                                //   4170  tostore:
#line 4170 "regression-compile-tmp/imp22g-77.imp"
U_1023:;
                                                                //   4171    %if y = 0 %start;  ![only for NOT,NEG]
#line 4171 "regression-compile-tmp/imp22g-77.imp"
if (((Y) != (0))) goto L_03ad;
                                                                //   4172      eval(x,ref)
#line 4172 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (-2147483648));
                                                                //   4173    %finish %else %if y < 0 %start
#line 4173 "regression-compile-tmp/imp22g-77.imp"
goto L_03ae;
#line 4173 "regression-compile-tmp/imp22g-77.imp"
L_03ad:;
#line 4173 "regression-compile-tmp/imp22g-77.imp"
if (((Y) >= (0))) goto L_03af;
                                                                //   4174      %if act = add %start;  ![+- literal]
#line 4174 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) != (2))) goto L_03b0;
                                                                //   4175        %if y >= litquick %start;  !-8:-1 or 1:8
#line 4175 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < ((-16)))) goto L_03b1;
                                                                //   4176          act = sub %and y = y-1 %if y&1 # 0;  !negate if neg
#line 4176 "regression-compile-tmp/imp22g-77.imp"
if (((((Y) & (1))) == (0))) goto L_03b2;
#line 4176 "regression-compile-tmp/imp22g-77.imp"
ACT = 3;
#line 4176 "regression-compile-tmp/imp22g-77.imp"
Y = (((int)(Y)) - (1));
#line 4176 "regression-compile-tmp/imp22g-77.imp"
L_03b2:;
                                                                //   4177          eval(x,ref)
#line 4177 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (-2147483648));
                                                                //   4178          -> past
#line 4178 "regression-compile-tmp/imp22g-77.imp"
goto U_1025;
                                                                //   4179        %finish
#line 4179 "regression-compile-tmp/imp22g-77.imp"
L_03b1:;
                                                                //   4180        act = sub %and y = y+1 %if y = -(128<<1);  !128=>-128
#line 4180 "regression-compile-tmp/imp22g-77.imp"
if (((Y) != ((-(((128) << (1))))))) goto L_03b3;
#line 4180 "regression-compile-tmp/imp22g-77.imp"
ACT = 3;
#line 4180 "regression-compile-tmp/imp22g-77.imp"
Y = (((int)(Y)) + (1));
#line 4180 "regression-compile-tmp/imp22g-77.imp"
L_03b3:;
                                                                //   4181      %finish
#line 4181 "regression-compile-tmp/imp22g-77.imp"
L_03b0:;
                                                                //   4182      eval(x,ref)
#line 4182 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (-2147483648));
                                                                //   4183      eval(y,anydreg) %if y >= litmite %and anydreg&free # 0
#line 4183 "regression-compile-tmp/imp22g-77.imp"
if (((Y) < ((-255)))) goto L_03b4;
#line 4183 "regression-compile-tmp/imp22g-77.imp"
if (((((239) & (FREE))) == (0))) goto L_03b4;
#line 4183 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 239);
#line 4183 "regression-compile-tmp/imp22g-77.imp"
L_03b4:;
                                                                //   4184    %finish %else %if x <= a7 %start
#line 4184 "regression-compile-tmp/imp22g-77.imp"
goto L_03ae;
#line 4184 "regression-compile-tmp/imp22g-77.imp"
L_03af:;
#line 4184 "regression-compile-tmp/imp22g-77.imp"
if (((X) > (16))) goto L_03b5;
                                                                //   4185      eval(y,val)
#line 4185 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, (-2147418113));
                                                                //   4186    %else
#line 4186 "regression-compile-tmp/imp22g-77.imp"
goto L_03ae;
#line 4186 "regression-compile-tmp/imp22g-77.imp"
L_03b5:;
                                                                //   4187      %if 999 > wx < weight(y) %then eval(y,anydreg) %and eval(x,ref) %c
#line 4187 "regression-compile-tmp/imp22g-77.imp"
if (({int tmp1 = 999, tmp2 = WX, tmp3 = WEIGHT(Y); (tmp1 <= tmp2) || (tmp2 >= tmp3);})) goto L_03b6;
#line 4187 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 239);
#line 4187 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (-2147483648));
#line 4187 "regression-compile-tmp/imp22g-77.imp"
goto L_03b7;
#line 4187 "regression-compile-tmp/imp22g-77.imp"
L_03b6:;
#line 4187 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, (-2147483648));
#line 4187 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 239);
#line 4187 "regression-compile-tmp/imp22g-77.imp"
L_03b7:;
                                                                //   4188      %else eval(x,ref) %and eval(y,anydreg)
                                                                //   4189    %finish
#line 4189 "regression-compile-tmp/imp22g-77.imp"
L_03ae:;
                                                                //   4190  past:
#line 4190 "regression-compile-tmp/imp22g-77.imp"
U_1025:;
                                                                //   4191    plant(act+sx<<8,y,x)
#line 4191 "regression-compile-tmp/imp22g-77.imp"
PLANT(((ACT) + ((int)(((SX) << (8))))), Y, X);
                                                                //   4192    plant(trapv,0,0) %if control&overbit # 0 %and act <= sub
#line 4192 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (268435456))) == (0))) goto L_03b8;
#line 4192 "regression-compile-tmp/imp22g-77.imp"
if (((ACT) > (3))) goto L_03b8;
#line 4192 "regression-compile-tmp/imp22g-77.imp"
PLANT(70, 0, 0);
#line 4192 "regression-compile-tmp/imp22g-77.imp"
L_03b8:;
                                                                //   4193    beware(xx)
#line 4193 "regression-compile-tmp/imp22g-77.imp"
BEWARE(XX);
                                                                //   4194    c_reg_ccx = xx;  c_reg_ccy = 0
#line 4194 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCX = XX;
#line 4194 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCY = 0;
                                                                //   4195    ->endass
#line 4195 "regression-compile-tmp/imp22g-77.imp"
goto U_1024;
                                                                //   4196  
                                                                //   4197  
                                                                //   4198  !!!!!!!!!!!!!!!!!!!!!!   Returns and jumps   !!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   4199  !
                                                                //   4200  do(return):                 !terminate procedure
#line 4200 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_38:;
                                                                //   4201    update sp
#line 4201 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   4202    %if c_type # 0 %start;       !function,map
#line 4202 "regression-compile-tmp/imp22g-77.imp"
if (((C.TYPE) == (0))) goto L_03b9;
                                                                //   4203      r = typecell(c_dpid_type)_reg&15
#line 4203 "regression-compile-tmp/imp22g-77.imp"
R = ((TYPECELL(C.DPID->TYPE)->REG) & (15));
                                                                //   4204      %if c_type > 0 %and size(c_type) > 0 %start;  !simple fn
#line 4204 "regression-compile-tmp/imp22g-77.imp"
if (((C.TYPE) <= (0))) goto L_03ba;
#line 4204 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE(C.TYPE)) <= (0))) goto L_03ba;
                                                                //   4205        flush %if pendcond # 0 %and pendin # 0
#line 4205 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) == (0))) goto L_03bb;
#line 4205 "regression-compile-tmp/imp22g-77.imp"
if (((PENDIN) == (0))) goto L_03bb;
#line 4205 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
#line 4205 "regression-compile-tmp/imp22g-77.imp"
L_03bb:;
                                                                //   4206        i = y
#line 4206 "regression-compile-tmp/imp22g-77.imp"
I = Y;
                                                                //   4207        %if c_reg_content(r+d0) # y %start
#line 4207 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CONTENT[(((int)((((int)(R)) + (1)))) - (1))]) == (Y))) goto L_03bc;
                                                                //   4208          flush %if pendcond # 0
#line 4208 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) == (0))) goto L_03bd;
#line 4208 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
#line 4208 "regression-compile-tmp/imp22g-77.imp"
L_03bd:;
                                                                //   4209          eval(y,d0b<<r)
#line 4209 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, ((1) << (R)));
                                                                //   4210        %finish
#line 4210 "regression-compile-tmp/imp22g-77.imp"
L_03bc:;
                                                                //   4211        c_status = c_status!wrongcc %unless c_reg_ccx = i %and c_reg_ccy = 0
#line 4211 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CCX) != (I))) goto L_03be;
#line 4211 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.CCY) == (0))) goto L_03bf;
#line 4211 "regression-compile-tmp/imp22g-77.imp"
L_03be:;
#line 4211 "regression-compile-tmp/imp22g-77.imp"
C.STATUS = ((C.STATUS) | (4));
#line 4211 "regression-compile-tmp/imp22g-77.imp"
L_03bf:;
                                                                //   4212      %else;   !struct fn or map
#line 4212 "regression-compile-tmp/imp22g-77.imp"
goto L_03c0;
#line 4212 "regression-compile-tmp/imp22g-77.imp"
L_03ba:;
                                                                //   4213        c_status = c_status!wrongcc
#line 4213 "regression-compile-tmp/imp22g-77.imp"
C.STATUS = ((C.STATUS) | (4));
                                                                //   4214        flush %if pendcond # 0
#line 4214 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) == (0))) goto L_03c1;
#line 4214 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
#line 4214 "regression-compile-tmp/imp22g-77.imp"
L_03c1:;
                                                                //   4215        y = y+ad %if c_type > 0;  !ie struct fn
#line 4215 "regression-compile-tmp/imp22g-77.imp"
if (((C.TYPE) <= (0))) goto L_03c2;
#line 4215 "regression-compile-tmp/imp22g-77.imp"
Y = (((int)(Y)) + (16384));
#line 4215 "regression-compile-tmp/imp22g-77.imp"
L_03c2:;
                                                                //   4216        sp = c_sp
#line 4216 "regression-compile-tmp/imp22g-77.imp"
SP = C.SP;
                                                                //   4217        eval(y,d0b<<r)
#line 4217 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, ((1) << (R)));
                                                                //   4218        %if c_sp # sp %start
#line 4218 "regression-compile-tmp/imp22g-77.imp"
if (((C.SP) == (SP))) goto L_03c3;
                                                                //   4219          addimm(sp-c_sp,a7);  c_sp = sp
#line 4219 "regression-compile-tmp/imp22g-77.imp"
ADDIMM((((int)(SP)) - (C.SP)), 16);
#line 4219 "regression-compile-tmp/imp22g-77.imp"
C.SP = SP;
                                                                //   4220        %finish
#line 4220 "regression-compile-tmp/imp22g-77.imp"
L_03c3:;
                                                                //   4221      %finish
#line 4221 "regression-compile-tmp/imp22g-77.imp"
L_03c0:;
                                                                //   4222    %finish
#line 4222 "regression-compile-tmp/imp22g-77.imp"
L_03b9:;
                                                                //   4223    %if c_temps # 0 %start
#line 4223 "regression-compile-tmp/imp22g-77.imp"
if (((C.TEMPS) == (0))) goto L_03c4;
                                                                //   4224      flush %if pendcond # 0
#line 4224 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) == (0))) goto L_03c5;
#line 4224 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
#line 4224 "regression-compile-tmp/imp22g-77.imp"
L_03c5:;
                                                                //   4225      addimm(c_temps,a7)
#line 4225 "regression-compile-tmp/imp22g-77.imp"
ADDIMM(C.TEMPS, 16);
                                                                //   4226    %finish
#line 4226 "regression-compile-tmp/imp22g-77.imp"
L_03c4:;
                                                                //   4227    dict(dictlim)_val = c_return
#line 4227 "regression-compile-tmp/imp22g-77.imp"
DICT[DICTLIM].VAL = C.RETURN;
                                                                //   4228    compile uncond branch(dictlim)
#line 4228 "regression-compile-tmp/imp22g-77.imp"
COMPILEUNCONDBRANCH(DICTLIM);
                                                                //   4229    c_return = -(pc-1)
#line 4229 "regression-compile-tmp/imp22g-77.imp"
C.RETURN = (-((((int)(PC)) - (1))));
                                                                //   4230    %return
#line 4230 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4231  
                                                                //   4232  do(jumpout):
#line 4232 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_41:;
                                                                //   4233    update sp
#line 4233 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   4234    flush %if pendcond > 0 %and pendin # 0
#line 4234 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) <= (0))) goto L_03c6;
#line 4234 "regression-compile-tmp/imp22g-77.imp"
if (((PENDIN) == (0))) goto L_03c6;
#line 4234 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
#line 4234 "regression-compile-tmp/imp22g-77.imp"
L_03c6:;
                                                                //   4235    save context(y) %if y # x;  !exit not continue
#line 4235 "regression-compile-tmp/imp22g-77.imp"
if (((Y) == (X))) goto L_03c7;
#line 4235 "regression-compile-tmp/imp22g-77.imp"
SAVECONTEXT(Y);
#line 4235 "regression-compile-tmp/imp22g-77.imp"
L_03c7:;
                                                                //   4236    compile uncond branch(y)
#line 4236 "regression-compile-tmp/imp22g-77.imp"
COMPILEUNCONDBRANCH(Y);
                                                                //   4237    %return
#line 4237 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4238  
                                                                //   4239  do(repeat):
#line 4239 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_39:;
                                                                //   4240    update sp
#line 4240 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   4241    compile uncond branch(x)
#line 4241 "regression-compile-tmp/imp22g-77.imp"
COMPILEUNCONDBRANCH(X);
                                                                //   4242    define label(x+1) %if dict(x+1)_val < 0
#line 4242 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(X)) + (1))].VAL) >= (0))) goto L_03c8;
#line 4242 "regression-compile-tmp/imp22g-77.imp"
DEFINELABEL((((int)(X)) + (1)));
#line 4242 "regression-compile-tmp/imp22g-77.imp"
L_03c8:;
                                                                //   4243    %if y < 0 %start;  !temp(s) declared
#line 4243 "regression-compile-tmp/imp22g-77.imp"
if (((Y) >= (0))) goto L_03c9;
                                                                //   4244      c_val = y;  c_temps = c_temps+y;  !decrement temps
#line 4244 "regression-compile-tmp/imp22g-77.imp"
C.VAL = Y;
#line 4244 "regression-compile-tmp/imp22g-77.imp"
C.TEMPS = (((int)(C.TEMPS)) + (Y));
                                                                //   4245      update sp
#line 4245 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   4246    %finish
#line 4246 "regression-compile-tmp/imp22g-77.imp"
L_03c9:;
                                                                //   4247    %return
#line 4247 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4248  
                                                                //   4249  do(else):
#line 4249 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_40:;
                                                                //   4250    %if c_access # 0 %and c_access # -2 %start
#line 4250 "regression-compile-tmp/imp22g-77.imp"
if (((C.ACCESS) == (0))) goto L_03ca;
#line 4250 "regression-compile-tmp/imp22g-77.imp"
if (((C.ACCESS) == ((-2)))) goto L_03ca;
                                                                //   4251      save context(y)
#line 4251 "regression-compile-tmp/imp22g-77.imp"
SAVECONTEXT(Y);
                                                                //   4252      compile uncond branch(y);  !outward branch for %else
#line 4252 "regression-compile-tmp/imp22g-77.imp"
COMPILEUNCONDBRANCH(Y);
                                                                //   4253    %finish
#line 4253 "regression-compile-tmp/imp22g-77.imp"
L_03ca:;
                                                                //   4254    define label(x) %if x # 0 %and dict(x)_val < 0;  !inward from false cond
#line 4254 "regression-compile-tmp/imp22g-77.imp"
if (((X) == (0))) goto L_03cb;
#line 4254 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[X].VAL) >= (0))) goto L_03cb;
#line 4254 "regression-compile-tmp/imp22g-77.imp"
DEFINELABEL(X);
#line 4254 "regression-compile-tmp/imp22g-77.imp"
L_03cb:;
                                                                //   4255    %return
#line 4255 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4256  
                                                                //   4257  do(goto):                        !user jump
#line 4257 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_16:;
                                                                //   4258    update sp
#line 4258 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   4259    c_forward = c_forward+1 %if dict(y)_val = 0
#line 4259 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[Y].VAL) != (0))) goto L_03cc;
#line 4259 "regression-compile-tmp/imp22g-77.imp"
C.FORWARD = (((int)(C.FORWARD)) + (1));
#line 4259 "regression-compile-tmp/imp22g-77.imp"
L_03cc:;
                                                                //   4260    addimm(c_temps,a7) %if c_temps # 0
#line 4260 "regression-compile-tmp/imp22g-77.imp"
if (((C.TEMPS) == (0))) goto L_03cd;
#line 4260 "regression-compile-tmp/imp22g-77.imp"
ADDIMM(C.TEMPS, 16);
#line 4260 "regression-compile-tmp/imp22g-77.imp"
L_03cd:;
                                                                //   4261    i = pendcond
#line 4261 "regression-compile-tmp/imp22g-77.imp"
I = PENDCOND;
                                                                //   4262    compile uncond branch(y)
#line 4262 "regression-compile-tmp/imp22g-77.imp"
COMPILEUNCONDBRANCH(Y);
                                                                //   4263    addimm(-c_temps,a7) %if i # 0 %and c_temps # 0
#line 4263 "regression-compile-tmp/imp22g-77.imp"
if (((I) == (0))) goto L_03ce;
#line 4263 "regression-compile-tmp/imp22g-77.imp"
if (((C.TEMPS) == (0))) goto L_03ce;
#line 4263 "regression-compile-tmp/imp22g-77.imp"
ADDIMM((-(C.TEMPS)), 16);
#line 4263 "regression-compile-tmp/imp22g-77.imp"
L_03ce:;
                                                                //   4264    %return
#line 4264 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4265  
                                                                //   4266  do(label):
#line 4266 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_44:;
                                                                //   4267    update sp
#line 4267 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   4268    define label(x)
#line 4268 "regression-compile-tmp/imp22g-77.imp"
DEFINELABEL(X);
                                                                //   4269    %return
#line 4269 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4270  
                                                                //   4271  do(stop):
#line 4271 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_37:;
                                                                //   4272    update sp
#line 4272 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   4273    flush %if pendcond # 0
#line 4273 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) == (0))) goto L_03cf;
#line 4273 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
#line 4273 "regression-compile-tmp/imp22g-77.imp"
L_03cf:;
                                                                //   4274    plant(clr,0,d0)
#line 4274 "regression-compile-tmp/imp22g-77.imp"
PLANT(52, 0, 1);
                                                                //   4275    srcall(signal)
#line 4275 "regression-compile-tmp/imp22g-77.imp"
SRCALL(73);
                                                                //   4276    c_access = 0
#line 4276 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = 0;
                                                                //   4277    %return
#line 4277 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4278  
                                                                //   4279  do(signal):
#line 4279 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_73:;
                                                                //   4280    update sp
#line 4280 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   4281    flush %if pendcond # 0
#line 4281 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) == (0))) goto L_03d0;
#line 4281 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
#line 4281 "regression-compile-tmp/imp22g-77.imp"
L_03d0:;
                                                                //   4282    sp = c_sp
#line 4282 "regression-compile-tmp/imp22g-77.imp"
SP = C.SP;
                                                                //   4283    pp = pp+1;  dp == dict(pp)
#line 4283 "regression-compile-tmp/imp22g-77.imp"
*PP = ((*(int *)(PP)) + (1));
#line 4283 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[*PP];
                                                                //   4284    xx = dp_x;  yy = dp_y
#line 4284 "regression-compile-tmp/imp22g-77.imp"
XX = DP->X;
#line 4284 "regression-compile-tmp/imp22g-77.imp"
YY = DP->Y;
                                                                //   4285    x = litval(x)
#line 4285 "regression-compile-tmp/imp22g-77.imp"
X = LITVAL(X);
                                                                //   4286    %if yy # undef %start
#line 4286 "regression-compile-tmp/imp22g-77.imp"
if (((YY) == (16))) goto L_03d1;
                                                                //   4287      eval(yy,a0b+asad);  x = x+64
#line 4287 "regression-compile-tmp/imp22g-77.imp"
EVAL(&YY, 1048832);
#line 4287 "regression-compile-tmp/imp22g-77.imp"
X = (((int)(X)) + (64));
                                                                //   4288    %finish
#line 4288 "regression-compile-tmp/imp22g-77.imp"
L_03d1:;
                                                                //   4289    %if xx # undef %start
#line 4289 "regression-compile-tmp/imp22g-77.imp"
if (((XX) == (16))) goto L_03d2;
                                                                //   4290      eval(xx,d2b);  x = x+32
#line 4290 "regression-compile-tmp/imp22g-77.imp"
EVAL(&XX, 4);
#line 4290 "regression-compile-tmp/imp22g-77.imp"
X = (((int)(X)) + (32));
                                                                //   4291    %finish
#line 4291 "regression-compile-tmp/imp22g-77.imp"
L_03d2:;
                                                                //   4292    %if y # undef %start
#line 4292 "regression-compile-tmp/imp22g-77.imp"
if (((Y) == (16))) goto L_03d3;
                                                                //   4293      eval(y,d1b);  x = x+16
#line 4293 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 2);
#line 4293 "regression-compile-tmp/imp22g-77.imp"
X = (((int)(X)) + (16));
                                                                //   4294    %finish
#line 4294 "regression-compile-tmp/imp22g-77.imp"
L_03d3:;
                                                                //   4295    x = litref(x)
#line 4295 "regression-compile-tmp/imp22g-77.imp"
X = LITREF(X);
                                                                //   4296    eval(x,d0b)
#line 4296 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 1);
                                                                //   4297    %if control&sysbit # 0 %then plant(jmp,0,signal) %else plant(jsr,0,signal)
#line 4297 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (262144))) == (0))) goto L_03d4;
#line 4297 "regression-compile-tmp/imp22g-77.imp"
PLANT(57, 0, 73);
#line 4297 "regression-compile-tmp/imp22g-77.imp"
goto L_03d5;
#line 4297 "regression-compile-tmp/imp22g-77.imp"
L_03d4:;
#line 4297 "regression-compile-tmp/imp22g-77.imp"
PLANT(56, 0, 73);
#line 4297 "regression-compile-tmp/imp22g-77.imp"
L_03d5:;
                                                                //   4298    %if c_sp # sp %start;  ![earlier?]
#line 4298 "regression-compile-tmp/imp22g-77.imp"
if (((C.SP) == (SP))) goto L_03d6;
                                                                //   4299      addimm(sp-c_sp,a7);  c_sp = sp
#line 4299 "regression-compile-tmp/imp22g-77.imp"
ADDIMM((((int)(SP)) - (C.SP)), 16);
#line 4299 "regression-compile-tmp/imp22g-77.imp"
C.SP = SP;
                                                                //   4300    %finish
#line 4300 "regression-compile-tmp/imp22g-77.imp"
L_03d6:;
                                                                //   4301    c_access = 0
#line 4301 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = 0;
                                                                //   4302    %return
#line 4302 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4303  
                                                                //   4304  do(settrap):
#line 4304 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_42:;
                                                                //   4305    update sp
#line 4305 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   4306    push(d0+6);                     ![historical]
#line 4306 "regression-compile-tmp/imp22g-77.imp"
PUSH(7);
                                                                //   4307    push(mb)
#line 4307 "regression-compile-tmp/imp22g-77.imp"
PUSH(13);
                                                                //   4308    plant(pea,0,temp(pcmode,10));  !address of mask [2+2+2+4]
#line 4308 "regression-compile-tmp/imp22g-77.imp"
PLANT(55, 0, TEMP(58, 10));
                                                                //   4309    c_sp = c_sp-4
#line 4309 "regression-compile-tmp/imp22g-77.imp"
C.SP = (((int)(C.SP)) - (4));
                                                                //   4310    push(gb+indir);                ![2 bytes]
#line 4310 "regression-compile-tmp/imp22g-77.imp"
PUSH(22);
                                                                //   4311    plant(move,a7,gb+indir);       ![2 bytes]
#line 4311 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, 16, 22);
                                                                //   4312    c_eventsp = c_sp
#line 4312 "regression-compile-tmp/imp22g-77.imp"
C.EVENTSP = C.SP;
                                                                //   4313    c_forward = c_forward+1
#line 4313 "regression-compile-tmp/imp22g-77.imp"
C.FORWARD = (((int)(C.FORWARD)) + (1));
                                                                //   4314    lreg(c_lab1-dictlim) = c_reg
#line 4314 "regression-compile-tmp/imp22g-77.imp"
LREG[(((int)(C.LAB1)) - (DICTLIM))] = C.REG;
                                                                //   4315    plant(bra,0,c_lab1);           ![4 bytes]
#line 4315 "regression-compile-tmp/imp22g-77.imp"
PLANT(16, 0, C.LAB1);
                                                                //   4316    pflag(pc-1) = longjump;  !**not to be shortened
#line 4316 "regression-compile-tmp/imp22g-77.imp"
PFLAG[(((int)(PC)) - (1))] = 3;
                                                                //   4317    forget regs
#line 4317 "regression-compile-tmp/imp22g-77.imp"
FORGETREGS();
                                                                //   4318    plant(dc,0,temp(absmode,litval(y)));  !event mask
#line 4318 "regression-compile-tmp/imp22g-77.imp"
PLANT(102, 0, TEMP(56, LITVAL(Y)));
                                                                //   4319  !  store(litval(y),0);  !event mask
                                                                //   4320    %return
#line 4320 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4321  
                                                                //   4322  do(swgoto):                     !switch jump
#line 4322 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_43:;
                                                                //   4323    flush %if pendcond # 0
#line 4323 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) == (0))) goto L_03d7;
#line 4323 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
#line 4323 "regression-compile-tmp/imp22g-77.imp"
L_03d7:;
                                                                //   4324    update sp
#line 4324 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   4325    dx == dict(x)
#line 4325 "regression-compile-tmp/imp22g-77.imp"
DX = &DICT[X];
                                                                //   4326    dx_flags = dx_flags!rflag
#line 4326 "regression-compile-tmp/imp22g-77.imp"
DX->FLAGS = ((DX->FLAGS) | (32));
                                                                //   4327    i = dx_val;  !start of table
#line 4327 "regression-compile-tmp/imp22g-77.imp"
I = DX->VAL;
                                                                //   4328    dy == typecell(dx_type)
#line 4328 "regression-compile-tmp/imp22g-77.imp"
DY = TYPECELL(DX->TYPE);
                                                                //   4329    get bounds(dy_xtype,sx,sy)
#line 4329 "regression-compile-tmp/imp22g-77.imp"
GETBOUNDS(DY->XTYPE, &SX, &SY);
                                                                //   4330    %if y <= 0 %start;  !literal subscript
#line 4330 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_03d8;
                                                                //   4331      y = litval(y)
#line 4331 "regression-compile-tmp/imp22g-77.imp"
Y = LITVAL(Y);
                                                                //   4332      i = i+y-sx
#line 4332 "regression-compile-tmp/imp22g-77.imp"
I = (((int)((((int)(I)) + (Y)))) - (SX));
                                                                //   4333      addimm(c_temps,a7) %if c_temps # 0
#line 4333 "regression-compile-tmp/imp22g-77.imp"
if (((C.TEMPS) == (0))) goto L_03d9;
#line 4333 "regression-compile-tmp/imp22g-77.imp"
ADDIMM(C.TEMPS, 16);
#line 4333 "regression-compile-tmp/imp22g-77.imp"
L_03d9:;
                                                                //   4334      plant(bra,0,temp(labmode,prog(i)))
#line 4334 "regression-compile-tmp/imp22g-77.imp"
PLANT(16, 0, TEMP(186, PROG[I]));
                                                                //   4335      prog(i) = dtemp_val;               !updated by PCREL
#line 4335 "regression-compile-tmp/imp22g-77.imp"
PROG[I] = DTEMP->VAL;
                                                                //   4336    %else
#line 4336 "regression-compile-tmp/imp22g-77.imp"
goto L_03da;
#line 4336 "regression-compile-tmp/imp22g-77.imp"
L_03d8:;
                                                                //   4337      eval(y,d0b)
#line 4337 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 1);
                                                                //   4338      %if i > pc %start;                  !first jump (I >= SWPC)
#line 4338 "regression-compile-tmp/imp22g-77.imp"
if (((I) <= (PC))) goto L_03db;
                                                                //   4339        c_forward = c_forward+(sy-sx+1)
#line 4339 "regression-compile-tmp/imp22g-77.imp"
C.FORWARD = ((C.FORWARD) + ((int)((((int)((((int)(SY)) - (SX)))) + (1)))));
                                                                //   4340        %if dx_flags&arrflag = 0 %start;  !no check
#line 4340 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & (8))) != (0))) goto L_03dc;
                                                                //   4341          addimm(c_temps,a7) %if c_temps # 0
#line 4341 "regression-compile-tmp/imp22g-77.imp"
if (((C.TEMPS) == (0))) goto L_03dd;
#line 4341 "regression-compile-tmp/imp22g-77.imp"
ADDIMM(C.TEMPS, 16);
#line 4341 "regression-compile-tmp/imp22g-77.imp"
L_03dd:;
                                                                //   4342          plant(lea,temp(pcmode,10-sx-sx),a0); !LEA ?(PC),A0
#line 4342 "regression-compile-tmp/imp22g-77.imp"
PLANT(78, TEMP(58, (((int)((((int)(10)) - (SX)))) - (SX))), 9);
                                                                //   4343          plant(add,d0,d0);                 !ADD D0,D0
#line 4343 "regression-compile-tmp/imp22g-77.imp"
PLANT(2, 1, 1);
                                                                //   4344        %else
#line 4344 "regression-compile-tmp/imp22g-77.imp"
goto L_03de;
#line 4344 "regression-compile-tmp/imp22g-77.imp"
L_03dc:;
                                                                //   4345          wx = 12
#line 4345 "regression-compile-tmp/imp22g-77.imp"
WX = 12;
                                                                //   4346          %if c_temps # 0 %start
#line 4346 "regression-compile-tmp/imp22g-77.imp"
if (((C.TEMPS) == (0))) goto L_03df;
                                                                //   4347            wx = wx+2;  wx = wx+2 %if c_temps > 8
#line 4347 "regression-compile-tmp/imp22g-77.imp"
WX = (((int)(WX)) + (2));
#line 4347 "regression-compile-tmp/imp22g-77.imp"
if (((C.TEMPS) <= (8))) goto L_03e0;
#line 4347 "regression-compile-tmp/imp22g-77.imp"
WX = (((int)(WX)) + (2));
#line 4347 "regression-compile-tmp/imp22g-77.imp"
L_03e0:;
                                                                //   4348          %finish
#line 4348 "regression-compile-tmp/imp22g-77.imp"
L_03df:;
                                                                //   4349          plant(lea,temp(pcmode,wx),a0)
#line 4349 "regression-compile-tmp/imp22g-77.imp"
PLANT(78, TEMP(58, WX), 9);
                                                                //   4350          srcall(index)
#line 4350 "regression-compile-tmp/imp22g-77.imp"
SRCALL(78);
                                                                //   4351          addimm(c_temps,a7) %if c_temps # 0
#line 4351 "regression-compile-tmp/imp22g-77.imp"
if (((C.TEMPS) == (0))) goto L_03e1;
#line 4351 "regression-compile-tmp/imp22g-77.imp"
ADDIMM(C.TEMPS, 16);
#line 4351 "regression-compile-tmp/imp22g-77.imp"
L_03e1:;
                                                                //   4352        %finish
#line 4352 "regression-compile-tmp/imp22g-77.imp"
L_03de:;
                                                                //   4353        plant(add+2<<8,tempx(a0,d0),a0); !ADD.W 0(A0,D0),A0
#line 4353 "regression-compile-tmp/imp22g-77.imp"
PLANT(((2) + ((int)(((2) << (8))))), TEMPX(9, 1), 9);
                                                                //   4354        plant(jmp,0,a0+indir);         !JUMP (A0)
#line 4354 "regression-compile-tmp/imp22g-77.imp"
PLANT(57, 0, 17);
                                                                //   4355        %if dx_flags&arrflag # 0 %start
#line 4355 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & (8))) == (0))) goto L_03e2;
                                                                //   4356          store(sy>>16,0);  store(sy,0)
#line 4356 "regression-compile-tmp/imp22g-77.imp"
STORE((int)((((unsigned int)(SY)) >> (16))), 0);
#line 4356 "regression-compile-tmp/imp22g-77.imp"
STORE(SY, 0);
                                                                //   4357          store(sx>>16,0);  store(sx,0)
#line 4357 "regression-compile-tmp/imp22g-77.imp"
STORE((int)((((unsigned int)(SX)) >> (16))), 0);
#line 4357 "regression-compile-tmp/imp22g-77.imp"
STORE(SX, 0);
                                                                //   4358          store(0,0);  store(2,0)
#line 4358 "regression-compile-tmp/imp22g-77.imp"
STORE(0, 0);
#line 4358 "regression-compile-tmp/imp22g-77.imp"
STORE(2, 0);
                                                                //   4359        %finish
#line 4359 "regression-compile-tmp/imp22g-77.imp"
L_03e2:;
                                                                //   4360        dx_val = pc
#line 4360 "regression-compile-tmp/imp22g-77.imp"
DX->VAL = PC;
                                                                //   4361        %cycle
#line 4361 "regression-compile-tmp/imp22g-77.imp"
L_03e3:;
                                                                //   4362          store(prog(i),0)
#line 4362 "regression-compile-tmp/imp22g-77.imp"
STORE(PROG[I], 0);
                                                                //   4363          swpc = swpc+1 %if i = swpc;  i = i+1
#line 4363 "regression-compile-tmp/imp22g-77.imp"
if (((I) != (SWPC))) goto L_03e6;
#line 4363 "regression-compile-tmp/imp22g-77.imp"
SWPC = (((int)(SWPC)) + (1));
#line 4363 "regression-compile-tmp/imp22g-77.imp"
L_03e6:;
#line 4363 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
                                                                //   4364          sx = sx+1
#line 4364 "regression-compile-tmp/imp22g-77.imp"
SX = (((int)(SX)) + (1));
                                                                //   4365        %repeat %until sx > sy
#line 4365 "regression-compile-tmp/imp22g-77.imp"
if (((SX) > (SY))) goto L_03e4;
#line 4365 "regression-compile-tmp/imp22g-77.imp"
goto L_03e3;
#line 4365 "regression-compile-tmp/imp22g-77.imp"
L_03e4:;
                                                                //   4366      %else;  !just branch to earlier sequence
#line 4366 "regression-compile-tmp/imp22g-77.imp"
goto L_03e7;
#line 4366 "regression-compile-tmp/imp22g-77.imp"
L_03db:;
                                                                //   4367              ![gives wrong line number for error]
                                                                //   4368              ![wrong if temps]
                                                                //   4369        i = i-7 %if dx_flags&arrflag # 0
#line 4369 "regression-compile-tmp/imp22g-77.imp"
if (((((DX->FLAGS) & (8))) == (0))) goto L_03e8;
#line 4369 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) - (7));
#line 4369 "regression-compile-tmp/imp22g-77.imp"
L_03e8:;
                                                                //   4370        plant(bra,0,temp(labmode,i-6))
#line 4370 "regression-compile-tmp/imp22g-77.imp"
PLANT(16, 0, TEMP(186, (((int)(I)) - (6))));
                                                                //   4371      %finish
#line 4371 "regression-compile-tmp/imp22g-77.imp"
L_03e7:;
                                                                //   4372    %finish
#line 4372 "regression-compile-tmp/imp22g-77.imp"
L_03da:;
                                                                //   4373    c_access = 0
#line 4373 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = 0;
                                                                //   4374    %return
#line 4374 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4375  
                                                                //   4376  do(asize):
#line 4376 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_105:;
                                                                //   4377    %if y # 0 %start;  !first: prime D0
#line 4377 "regression-compile-tmp/imp22g-77.imp"
if (((Y) == (0))) goto L_03e9;
                                                                //   4378      update sp
#line 4378 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   4379      eval(y,d0b);  !basic itemsize
#line 4379 "regression-compile-tmp/imp22g-77.imp"
EVAL(&Y, 1);
                                                                //   4380    %else
#line 4380 "regression-compile-tmp/imp22g-77.imp"
goto L_03ea;
#line 4380 "regression-compile-tmp/imp22g-77.imp"
L_03e9:;
                                                                //   4381      srcall(asize)
#line 4381 "regression-compile-tmp/imp22g-77.imp"
SRCALL(105);
                                                                //   4382    %finish
#line 4382 "regression-compile-tmp/imp22g-77.imp"
L_03ea:;
                                                                //   4383    pp = pp+1;  dp == dict(pp)
#line 4383 "regression-compile-tmp/imp22g-77.imp"
*PP = ((*(int *)(PP)) + (1));
#line 4383 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[*PP];
                                                                //   4384    xx = dp_x;  yy = dp_y
#line 4384 "regression-compile-tmp/imp22g-77.imp"
XX = DP->X;
#line 4384 "regression-compile-tmp/imp22g-77.imp"
YY = DP->Y;
                                                                //   4385    free = c_free-d0b;  !not d0
#line 4385 "regression-compile-tmp/imp22g-77.imp"
FREE = (((int)(C.FREE)) - (1));
                                                                //   4386    eval(xx,d1b);  !lower
#line 4386 "regression-compile-tmp/imp22g-77.imp"
EVAL(&XX, 2);
                                                                //   4387    eval(yy,d2b);  !upper
#line 4387 "regression-compile-tmp/imp22g-77.imp"
EVAL(&YY, 4);
                                                                //   4388    push(d0);  !size
#line 4388 "regression-compile-tmp/imp22g-77.imp"
PUSH(1);
                                                                //   4389    push(d1);  push(d2)
#line 4389 "regression-compile-tmp/imp22g-77.imp"
PUSH(2);
#line 4389 "regression-compile-tmp/imp22g-77.imp"
PUSH(3);
                                                                //   4390    forget regs
#line 4390 "regression-compile-tmp/imp22g-77.imp"
FORGETREGS();
                                                                //   4391    free = free!(d1b+d2b)
#line 4391 "regression-compile-tmp/imp22g-77.imp"
FREE = ((FREE) | (6));
                                                                //   4392    dict(x)_val = c_sp
#line 4392 "regression-compile-tmp/imp22g-77.imp"
DICT[X].VAL = C.SP;
                                                                //   4393    %return
#line 4393 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4394  !
                                                                //   4395  do(adok):  ![spare code]
#line 4395 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_103:;
                                                                //   4396  !Push size of dynamic array (& 0-base value) for AGET
                                                                //   4397    update sp
#line 4397 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   4398    %if x # 0 %start
#line 4398 "regression-compile-tmp/imp22g-77.imp"
if (((X) == (0))) goto L_03eb;
                                                                //   4399      %if x # d0 %then eval(x,d0b) %else srcall(asize)
#line 4399 "regression-compile-tmp/imp22g-77.imp"
if (((X) == (1))) goto L_03ec;
#line 4399 "regression-compile-tmp/imp22g-77.imp"
EVAL(&X, 1);
#line 4399 "regression-compile-tmp/imp22g-77.imp"
goto L_03ed;
#line 4399 "regression-compile-tmp/imp22g-77.imp"
L_03ec:;
#line 4399 "regression-compile-tmp/imp22g-77.imp"
SRCALL(105);
#line 4399 "regression-compile-tmp/imp22g-77.imp"
L_03ed:;
                                                                //   4400    %finish
#line 4400 "regression-compile-tmp/imp22g-77.imp"
L_03eb:;
                                                                //   4401    push(y) %if y # 0
#line 4401 "regression-compile-tmp/imp22g-77.imp"
if (((Y) == (0))) goto L_03ee;
#line 4401 "regression-compile-tmp/imp22g-77.imp"
PUSH(Y);
#line 4401 "regression-compile-tmp/imp22g-77.imp"
L_03ee:;
                                                                //   4402    push(d0)
#line 4402 "regression-compile-tmp/imp22g-77.imp"
PUSH(1);
                                                                //   4403    %return
#line 4403 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4404  
                                                                //   4405  do(aget):
#line 4405 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_109:;
                                                                //   4406    plant(move,x,d0)
#line 4406 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, X, 1);
                                                                //   4407    srcall(aget)
#line 4407 "regression-compile-tmp/imp22g-77.imp"
SRCALL(109);
                                                                //   4408    plant(move,a7,x)
#line 4408 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, 16, X);
                                                                //   4409    %if y # 0 %start
#line 4409 "regression-compile-tmp/imp22g-77.imp"
if (((Y) == (0))) goto L_03ef;
                                                                //   4410      dx == dict(x)
#line 4410 "regression-compile-tmp/imp22g-77.imp"
DX = &DICT[X];
                                                                //   4411      dx_val = dx_val+4
#line 4411 "regression-compile-tmp/imp22g-77.imp"
DX->VAL = (((int)(DX->VAL)) + (4));
                                                                //   4412      plant(move,a7,d0)
#line 4412 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, 16, 1);
                                                                //   4413      plant(add,d0,x)
#line 4413 "regression-compile-tmp/imp22g-77.imp"
PLANT(2, 1, X);
                                                                //   4414      dx_val = dx_val-4
#line 4414 "regression-compile-tmp/imp22g-77.imp"
DX->VAL = (((int)(DX->VAL)) - (4));
                                                                //   4415    %finish
#line 4415 "regression-compile-tmp/imp22g-77.imp"
L_03ef:;
                                                                //   4416    forget(d0);  forget(a0)
#line 4416 "regression-compile-tmp/imp22g-77.imp"
FORGET(1);
#line 4416 "regression-compile-tmp/imp22g-77.imp"
FORGET(9);
                                                                //   4417    %return
#line 4417 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4418  
                                                                //   4419  %routine COMPILE ENTRY(%integer linked,arg)
#line 4419 "regression-compile-tmp/imp22g-77.imp"
void COMPILEENTRY( int LINKED, int ARG )
#line 4419 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4420  !Entry sequence generated at end
                                                                //   4421  %integer i,r,vsp,lastvsp,holdsp
#line 4421 "regression-compile-tmp/imp22g-77.imp"
int I;
#line 4421 "regression-compile-tmp/imp22g-77.imp"
int R;
#line 4421 "regression-compile-tmp/imp22g-77.imp"
int VSP;
#line 4421 "regression-compile-tmp/imp22g-77.imp"
int LASTVSP;
#line 4421 "regression-compile-tmp/imp22g-77.imp"
int HOLDSP;
                                                                //   4422  %record(identinfo)%name darg,tp
#line 4422 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DARG;
#line 4422 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*TP;
                                                                //   4423    holdsp = c_sp
#line 4423 "regression-compile-tmp/imp22g-77.imp"
HOLDSP = C.SP;
                                                                //   4424    c_sp = 0;  lastvsp = 0
#line 4424 "regression-compile-tmp/imp22g-77.imp"
C.SP = 0;
#line 4424 "regression-compile-tmp/imp22g-77.imp"
LASTVSP = 0;
                                                                //   4425    c_stack = c_stack-4 %if linked > 0;  !allow for link
#line 4425 "regression-compile-tmp/imp22g-77.imp"
if (((LINKED) <= (0))) goto L_03f0;
#line 4425 "regression-compile-tmp/imp22g-77.imp"
C.STACK = (((int)(C.STACK)) - (4));
#line 4425 "regression-compile-tmp/imp22g-77.imp"
L_03f0:;
                                                                //   4426    %if linked = 0 %and c_status&onstack # 0 %start
#line 4426 "regression-compile-tmp/imp22g-77.imp"
if (((LINKED) != (0))) goto L_03f1;
#line 4426 "regression-compile-tmp/imp22g-77.imp"
if (((((C.STATUS) & (8))) == (0))) goto L_03f1;
                                                                //   4427      !justify addressing assumed for onstack parameters
                                                                //   4428      c_sp = 4;  holdsp = holdsp-4;  c_stack = c_stack-4
#line 4428 "regression-compile-tmp/imp22g-77.imp"
C.SP = 4;
#line 4428 "regression-compile-tmp/imp22g-77.imp"
HOLDSP = (((int)(HOLDSP)) - (4));
#line 4428 "regression-compile-tmp/imp22g-77.imp"
C.STACK = (((int)(C.STACK)) - (4));
                                                                //   4429    %finish
#line 4429 "regression-compile-tmp/imp22g-77.imp"
L_03f1:;
                                                                //   4430    c_stack = c_stack-4;              !and return address
#line 4430 "regression-compile-tmp/imp22g-77.imp"
C.STACK = (((int)(C.STACK)) - (4));
                                                                //   4431    c_totstack = c_stack %if c_stack < c_totstack
#line 4431 "regression-compile-tmp/imp22g-77.imp"
if (((C.STACK) >= (C.TOTSTACK))) goto L_03f2;
#line 4431 "regression-compile-tmp/imp22g-77.imp"
C.TOTSTACK = C.STACK;
#line 4431 "regression-compile-tmp/imp22g-77.imp"
L_03f2:;
                                                                //   4432    %if control&stackbit # 0 %c
#line 4432 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (1048576))) == (0))) goto L_03f3;
#line 4432 "regression-compile-tmp/imp22g-77.imp"
if (((((C.STATUS) & (2))) != (0))) goto L_03f4;
#line 4432 "regression-compile-tmp/imp22g-77.imp"
if (((C.TOTSTACK) >= ((-128)))) goto L_03f3;
#line 4432 "regression-compile-tmp/imp22g-77.imp"
L_03f4:;
                                                                //   4433    %and (c_status&unknown # 0 %or c_totstack < -128) %start
                                                                //   4434      plantlit(move,c_stack,breg);  !*ok - gets cleared*
#line 4434 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(1, C.STACK, 5);
                                                                //   4435      srcall(stackok)
#line 4435 "regression-compile-tmp/imp22g-77.imp"
SRCALL(104);
                                                                //   4436    %finish
#line 4436 "regression-compile-tmp/imp22g-77.imp"
L_03f3:;
                                                                //   4437    %if level > outerlevel %and linked > 0 %start;  !link required
#line 4437 "regression-compile-tmp/imp22g-77.imp"
if (((LEVEL) <= (0))) goto L_03f5;
#line 4437 "regression-compile-tmp/imp22g-77.imp"
if (((LINKED) <= (0))) goto L_03f5;
                                                                //   4438      %if level > 1 %start
#line 4438 "regression-compile-tmp/imp22g-77.imp"
if (((LEVEL) <= (1))) goto L_03f6;
                                                                //   4439        plant(move,tempd(gb,level<<2),prea7);  !MOVE ?(GB),-(SP)
#line 4439 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, TEMPD(14, ((LEVEL) << (2))), 40);
                                                                //   4440        plant(move,a7,tempd(gb,level<<2));  !MOVE SP,?(GB)
#line 4440 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, 16, TEMPD(14, ((LEVEL) << (2))));
                                                                //   4441      %else
#line 4441 "regression-compile-tmp/imp22g-77.imp"
goto L_03f7;
#line 4441 "regression-compile-tmp/imp22g-77.imp"
L_03f6:;
                                                                //   4442        plant(link,0,f1);       !LINK #0,Ax
#line 4442 "regression-compile-tmp/imp22g-77.imp"
PLANT(72, 0, 15);
                                                                //   4443      %finish
#line 4443 "regression-compile-tmp/imp22g-77.imp"
L_03f7:;
                                                                //   4444    %finish
#line 4444 "regression-compile-tmp/imp22g-77.imp"
L_03f5:;
                                                                //   4445    darg == dict(arg)
#line 4445 "regression-compile-tmp/imp22g-77.imp"
DARG = &DICT[ARG];
                                                                //   4446    %cycle
#line 4446 "regression-compile-tmp/imp22g-77.imp"
L_03f8:;
                                                                //   4447      arg = darg_link
#line 4447 "regression-compile-tmp/imp22g-77.imp"
ARG = DARG->LINK;
                                                                //   4448      %exit %if arg = 0
#line 4448 "regression-compile-tmp/imp22g-77.imp"
if (((ARG) != (0))) goto L_03fb;
#line 4448 "regression-compile-tmp/imp22g-77.imp"
goto L_03f9;
#line 4448 "regression-compile-tmp/imp22g-77.imp"
L_03fb:;
                                                                //   4449      darg == dict(arg)
#line 4449 "regression-compile-tmp/imp22g-77.imp"
DARG = &DICT[ARG];
                                                                //   4450      %if darg_val <= 0 %start;  !passed in reg, not on stack
#line 4450 "regression-compile-tmp/imp22g-77.imp"
if (((DARG->VAL) > (0))) goto L_03fc;
                                                                //   4451        vsp = darg_val
#line 4451 "regression-compile-tmp/imp22g-77.imp"
VSP = DARG->VAL;
                                                                //   4452        r = darg_reg&15+d0
#line 4452 "regression-compile-tmp/imp22g-77.imp"
R = (((int)(((DARG->REG) & (15)))) + (1));
                                                                //   4453        %if darg_flags&mflag # 0 %or linked > 0 %start
#line 4453 "regression-compile-tmp/imp22g-77.imp"
if (((((DARG->FLAGS) & (128))) != (0))) goto L_03e5;
#line 4453 "regression-compile-tmp/imp22g-77.imp"
if (((LINKED) <= (0))) goto L_03fd;
#line 4453 "regression-compile-tmp/imp22g-77.imp"
L_03e5:;
                                                                //   4454          addimm(lastvsp-c_sp,a7);  c_sp = lastvsp
#line 4454 "regression-compile-tmp/imp22g-77.imp"
ADDIMM((((int)(LASTVSP)) - (C.SP)), 16);
#line 4454 "regression-compile-tmp/imp22g-77.imp"
C.SP = LASTVSP;
                                                                //   4455          i = nsize(darg)
#line 4455 "regression-compile-tmp/imp22g-77.imp"
I = NSIZE(DARG);
                                                                //   4456          %if i > 0 %start
#line 4456 "regression-compile-tmp/imp22g-77.imp"
if (((I) <= (0))) goto L_03fe;
                                                                //   4457            ! name or simple operand by value
                                                                //   4458           !NB MOVE.B transfers to hi byte
                                                                //   4459            plant(move+i<<8,r,prea7)
#line 4459 "regression-compile-tmp/imp22g-77.imp"
PLANT(((1) + ((int)(((I) << (8))))), R, 40);
                                                                //   4460          %finish %else %if darg_flags&proc # 0 %start;  !proc as param
#line 4460 "regression-compile-tmp/imp22g-77.imp"
goto L_03ff;
#line 4460 "regression-compile-tmp/imp22g-77.imp"
L_03fe:;
#line 4460 "regression-compile-tmp/imp22g-77.imp"
if (((((DARG->FLAGS) & (12288))) == (0))) goto L_0400;
                                                                //   4461            plant(move,r,prea7)
#line 4461 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, R, 40);
                                                                //   4462            plantlit(movew,16_4EF9,prea7)
#line 4462 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(513, 20217, 40);
                                                                //   4463          %else;                          !structure by value
#line 4463 "regression-compile-tmp/imp22g-77.imp"
goto L_03ff;
#line 4463 "regression-compile-tmp/imp22g-77.imp"
L_0400:;
                                                                //   4464            tp == typecell(darg_type)
#line 4464 "regression-compile-tmp/imp22g-77.imp"
TP = TYPECELL(DARG->TYPE);
                                                                //   4465            %if tp_flags&cat = stringy %start
#line 4465 "regression-compile-tmp/imp22g-77.imp"
if (((((TP->FLAGS) & (15))) != (8))) goto L_0401;
                                                                //   4466              %if control&capbit # 0 %and tp_size > -256 %start
#line 4466 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (536870912))) == (0))) goto L_0402;
#line 4466 "regression-compile-tmp/imp22g-77.imp"
if (((TP->SIZE) <= ((-256)))) goto L_0402;
                                                                //   4467                plantlit(cmp+1<<8,-tp_size,r+indir)
#line 4467 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT(((4) + ((int)(((1) << (8))))), (-(TP->SIZE)), (((int)(R)) + (8)));
                                                                //   4468                plantlit2(bcs,0,4)
#line 4468 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT2(21, 0, 4);
                                                                //   4469                srcall(check)
#line 4469 "regression-compile-tmp/imp22g-77.imp"
SRCALL(111);
                                                                //   4470              %finish
#line 4470 "regression-compile-tmp/imp22g-77.imp"
L_0402:;
                                                                //   4471              i = c_sp-vsp
#line 4471 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(C.SP)) - (VSP));
                                                                //   4472              addimm(-i,a7);            !SP = SP-bytes
#line 4472 "regression-compile-tmp/imp22g-77.imp"
ADDIMM((-(I)), 16);
                                                                //   4473              extend stack(i)
#line 4473 "regression-compile-tmp/imp22g-77.imp"
EXTENDSTACK(I);
                                                                //   4474             !MOVE.B length,Dx
                                                                //   4475              plant(moveb,r+indir,breg)
#line 4475 "regression-compile-tmp/imp22g-77.imp"
PLANT(257, (((int)(R)) + (8)), 5);
                                                                //   4476             !MOVE.B 0(Ay,Dx),0(SP,Dx)
                                                                //   4477              plant(moveb,tempx(r,breg),tempx2(a7,breg))
#line 4477 "regression-compile-tmp/imp22g-77.imp"
PLANT(257, TEMPX(R, 5), TEMPX2(16, 5));
                                                                //   4478              plant(subb,one,breg)
#line 4478 "regression-compile-tmp/imp22g-77.imp"
PLANT(259, (-2), 5);
                                                                //   4479              plantlit2(bcc,0,-10)
#line 4479 "regression-compile-tmp/imp22g-77.imp"
PLANTLIT2(20, 0, (-10));
                                                                //   4480            %else;  !fixed length structure
#line 4480 "regression-compile-tmp/imp22g-77.imp"
goto L_0403;
#line 4480 "regression-compile-tmp/imp22g-77.imp"
L_0401:;
                                                                //   4481              free = bregb
#line 4481 "regression-compile-tmp/imp22g-77.imp"
FREE = 16;
                                                                //   4482              push block(r,c_sp-vsp)
#line 4482 "regression-compile-tmp/imp22g-77.imp"
PUSHBLOCK(R, (((int)(C.SP)) - (VSP)));
                                                                //   4483            %finish
#line 4483 "regression-compile-tmp/imp22g-77.imp"
L_0403:;
                                                                //   4484          %finish
#line 4484 "regression-compile-tmp/imp22g-77.imp"
L_03ff:;
                                                                //   4485          c_sp = vsp
#line 4485 "regression-compile-tmp/imp22g-77.imp"
C.SP = VSP;
                                                                //   4486        %finish
#line 4486 "regression-compile-tmp/imp22g-77.imp"
L_03fd:;
                                                                //   4487        lastvsp = vsp
#line 4487 "regression-compile-tmp/imp22g-77.imp"
LASTVSP = VSP;
                                                                //   4488      %finish
#line 4488 "regression-compile-tmp/imp22g-77.imp"
L_03fc:;
                                                                //   4489    %repeat
#line 4489 "regression-compile-tmp/imp22g-77.imp"
goto L_03f8;
#line 4489 "regression-compile-tmp/imp22g-77.imp"
L_03f9:;
                                                                //   4490    %if c_sp # 0 %start;  !there are accesses to params
#line 4490 "regression-compile-tmp/imp22g-77.imp"
if (((C.SP) == (0))) goto L_0404;
                                                                //   4491      addimm(lastvsp-c_sp,a7)
#line 4491 "regression-compile-tmp/imp22g-77.imp"
ADDIMM((((int)(LASTVSP)) - (C.SP)), 16);
                                                                //   4492      c_sp = holdsp
#line 4492 "regression-compile-tmp/imp22g-77.imp"
C.SP = HOLDSP;
                                                                //   4493    %finish %else c_sp = holdsp-lastvsp;  !reduce
#line 4493 "regression-compile-tmp/imp22g-77.imp"
goto L_0405;
#line 4493 "regression-compile-tmp/imp22g-77.imp"
L_0404:;
#line 4493 "regression-compile-tmp/imp22g-77.imp"
C.SP = (((int)(HOLDSP)) - (LASTVSP));
#line 4493 "regression-compile-tmp/imp22g-77.imp"
L_0405:;
                                                                //   4494  %end
#line 4494 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COMPILEENTRY at level 3
                                                                //   4495  
                                                                //   4496  do(end):
#line 4496 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_50:;
                                                                //   4497    compile entry(c_status&globbed,c_dpid_type)
#line 4497 "regression-compile-tmp/imp22g-77.imp"
COMPILEENTRY(((C.STATUS) & (16)), C.DPID->TYPE);
                                                                //   4498    %return
#line 4498 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4499  
                                                                //   4500  do(*): intern(8)
#line 4500 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_default:;
#line 4500 "regression-compile-tmp/imp22g-77.imp"
INTERN(8);
                                                                //   4501  do(0):  !null action
#line 4501 "regression-compile-tmp/imp22g-77.imp"
sw3_DO_0:;
                                                                //   4502  %end;  !eval
#line 4502 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
sw3_DO_17:;
sw3_DO_18:;
sw3_DO_19:;
sw3_DO_20:;
sw3_DO_21:;
sw3_DO_22:;
sw3_DO_23:;
sw3_DO_24:;
sw3_DO_25:;
sw3_DO_26:;
sw3_DO_27:;
sw3_DO_28:;
sw3_DO_29:;
sw3_DO_30:;
sw3_DO_31:;
sw3_DO_51:;
sw3_DO_52:;
sw3_DO_53:;
sw3_DO_54:;
sw3_DO_55:;
sw3_DO_56:;
sw3_DO_57:;
sw3_DO_58:;
sw3_DO_59:;
sw3_DO_60:;
sw3_DO_61:;
sw3_DO_62:;
sw3_DO_63:;
sw3_DO_64:;
sw3_DO_65:;
sw3_DO_66:;
sw3_DO_67:;
sw3_DO_68:;
sw3_DO_69:;
sw3_DO_70:;
sw3_DO_71:;
sw3_DO_72:;
sw3_DO_74:;
sw3_DO_75:;
sw3_DO_76:;
sw3_DO_77:;
sw3_DO_80:;
sw3_DO_81:;
sw3_DO_83:;
sw3_DO_84:;
sw3_DO_85:;
sw3_DO_96:;
sw3_DO_97:;
sw3_DO_99:;
sw3_DO_100:;
sw3_DO_101:;
sw3_DO_102:;
sw3_DO_104:;
sw3_DO_108:;
sw3_DO_110:;
sw3_DO_112:;
sw3_DO_113:;
sw3_DO_114:;
sw3_DO_116:;
goto sw3_DO_default;
} // End of block EVAL at level 2
                                                                //   4503  
                                                                //   4504  %routine COMPILE(%integer startp)
#line 4504 "regression-compile-tmp/imp22g-77.imp"
void COMPILE( int STARTP )
#line 4504 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4505  %integer p
#line 4505 "regression-compile-tmp/imp22g-77.imp"
int P;
                                                                //   4506  {?}  show exp(startp) %if control&explist # 0 %and control&list # 0
#line 4506 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (8))) == (0))) goto L_0406;
#line 4506 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (1))) == (0))) goto L_0406;
#line 4506 "regression-compile-tmp/imp22g-77.imp"
SHOWEXP(STARTP);
#line 4506 "regression-compile-tmp/imp22g-77.imp"
L_0406:;
                                                                //   4507    np = np0 %and %return %if faultnum > 0
#line 4507 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTNUM) <= (0))) goto L_0407;
#line 4507 "regression-compile-tmp/imp22g-77.imp"
NP = NP0;
#line 4507 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 4507 "regression-compile-tmp/imp22g-77.imp"
L_0407:;
                                                                //   4508    pendcond = 0
#line 4508 "regression-compile-tmp/imp22g-77.imp"
PENDCOND = 0;
                                                                //   4509    p = startp-1
#line 4509 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(STARTP)) - (1));
                                                                //   4510    %cycle
#line 4510 "regression-compile-tmp/imp22g-77.imp"
L_0408:;
                                                                //   4511      free = c_free
#line 4511 "regression-compile-tmp/imp22g-77.imp"
FREE = C.FREE;
                                                                //   4512      p = p+1
#line 4512 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(P)) + (1));
                                                                //   4513      %if p >= np %start
#line 4513 "regression-compile-tmp/imp22g-77.imp"
if (((P) < (NP))) goto L_040b;
                                                                //   4514        %if startp = np0 %start
#line 4514 "regression-compile-tmp/imp22g-77.imp"
if (((STARTP) != (NP0))) goto L_040c;
                                                                //   4515          np = np0
#line 4515 "regression-compile-tmp/imp22g-77.imp"
NP = NP0;
                                                                //   4516          flush %if pendcond > 0
#line 4516 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) <= (0))) goto L_040d;
#line 4516 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
#line 4516 "regression-compile-tmp/imp22g-77.imp"
L_040d:;
                                                                //   4517          %return
#line 4517 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4518        %finish
#line 4518 "regression-compile-tmp/imp22g-77.imp"
L_040c:;
                                                                //   4519        np = startp;  startp = np0;  p = startp
#line 4519 "regression-compile-tmp/imp22g-77.imp"
NP = STARTP;
#line 4519 "regression-compile-tmp/imp22g-77.imp"
STARTP = NP0;
#line 4519 "regression-compile-tmp/imp22g-77.imp"
P = STARTP;
                                                                //   4520      %finish
#line 4520 "regression-compile-tmp/imp22g-77.imp"
L_040b:;
                                                                //   4521      %if c_reg_line # line %and control&(tracebit!diagbit!linebit) # 0 %start
#line 4521 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.LINE) == (LINE))) goto L_040e;
#line 4521 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (((((2097152) | (4194304))) | (8388608))))) == (0))) goto L_040e;
                                                                //   4522        flush %if pendcond > 0
#line 4522 "regression-compile-tmp/imp22g-77.imp"
if (((PENDCOND) <= (0))) goto L_040f;
#line 4522 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
#line 4522 "regression-compile-tmp/imp22g-77.imp"
L_040f:;
                                                                //   4523        pendcond = -1
#line 4523 "regression-compile-tmp/imp22g-77.imp"
PENDCOND = (-1);
                                                                //   4524      %finish
#line 4524 "regression-compile-tmp/imp22g-77.imp"
L_040e:;
                                                                //   4525      eval(p,inst)
#line 4525 "regression-compile-tmp/imp22g-77.imp"
EVAL(&P, 1073741824);
                                                                //   4526    %repeat
#line 4526 "regression-compile-tmp/imp22g-77.imp"
goto L_0408;
                                                                //   4527  %end;  !compile
#line 4527 "regression-compile-tmp/imp22g-77.imp"
return;
} // End of block COMPILE at level 2
                                                                //   4528  
                                                                //   4529  %routine SET FIRST ENTRY
#line 4529 "regression-compile-tmp/imp22g-77.imp"
void SETFIRSTENTRY( void )
#line 4529 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4530  %integer j,k,p
#line 4530 "regression-compile-tmp/imp22g-77.imp"
int J;
#line 4530 "regression-compile-tmp/imp22g-77.imp"
int K;
#line 4530 "regression-compile-tmp/imp22g-77.imp"
int P;
                                                                //   4531  %record(identinfo)%name dp
#line 4531 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DP;
                                                                //   4532    firstpos = dictlim;  firstentry = finalbound
#line 4532 "regression-compile-tmp/imp22g-77.imp"
FIRSTPOS = DICTLIM;
#line 4532 "regression-compile-tmp/imp22g-77.imp"
FIRSTENTRY = FINALBOUND;
                                                                //   4533    p = 0
#line 4533 "regression-compile-tmp/imp22g-77.imp"
P = 0;
                                                                //   4534    %cycle
#line 4534 "regression-compile-tmp/imp22g-77.imp"
L_0410:;
                                                                //   4535      p = p+1
#line 4535 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(P)) + (1));
                                                                //   4536      %exit %if p >= dlim
#line 4536 "regression-compile-tmp/imp22g-77.imp"
if (((P) < (DLIM))) goto L_0413;
#line 4536 "regression-compile-tmp/imp22g-77.imp"
goto L_0411;
#line 4536 "regression-compile-tmp/imp22g-77.imp"
L_0413:;
                                                                //   4537      dp == dict(p)
#line 4537 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[P];
                                                                //   4538      %continue %if dp_mode # procmode
#line 4538 "regression-compile-tmp/imp22g-77.imp"
if (((DP->MODE) == (250))) goto L_0414;
#line 4538 "regression-compile-tmp/imp22g-77.imp"
goto L_0412;
#line 4538 "regression-compile-tmp/imp22g-77.imp"
L_0414:;
                                                                //   4539      %continue %if dp_val >= firstentry
#line 4539 "regression-compile-tmp/imp22g-77.imp"
if (((DP->VAL) < (FIRSTENTRY))) goto L_0415;
#line 4539 "regression-compile-tmp/imp22g-77.imp"
goto L_0412;
#line 4539 "regression-compile-tmp/imp22g-77.imp"
L_0415:;
                                                                //   4540      j = dp_val
#line 4540 "regression-compile-tmp/imp22g-77.imp"
J = DP->VAL;
                                                                //   4541      %if j <= 0 %start
#line 4541 "regression-compile-tmp/imp22g-77.imp"
if (((J) > (0))) goto L_0416;
                                                                //   4542        %continue %if j = 0
#line 4542 "regression-compile-tmp/imp22g-77.imp"
if (((J) != (0))) goto L_0417;
#line 4542 "regression-compile-tmp/imp22g-77.imp"
goto L_0412;
#line 4542 "regression-compile-tmp/imp22g-77.imp"
L_0417:;
                                                                //   4543        k = -j
#line 4543 "regression-compile-tmp/imp22g-77.imp"
K = (-(J));
                                                                //   4544        %cycle
#line 4544 "regression-compile-tmp/imp22g-77.imp"
L_0418:;
                                                                //   4545          j = k<<1
#line 4545 "regression-compile-tmp/imp22g-77.imp"
J = ((K) << (1));
                                                                //   4546          k = code word(j)&16_FFFF
#line 4546 "regression-compile-tmp/imp22g-77.imp"
K = ((CODEWORD(J)) & (65535));
                                                                //   4547        %repeat %until k = 0
#line 4547 "regression-compile-tmp/imp22g-77.imp"
if (((K) == (0))) goto L_0419;
#line 4547 "regression-compile-tmp/imp22g-77.imp"
goto L_0418;
#line 4547 "regression-compile-tmp/imp22g-77.imp"
L_0419:;
                                                                //   4548        %continue %if j >= firstentry
#line 4548 "regression-compile-tmp/imp22g-77.imp"
if (((J) < (FIRSTENTRY))) goto L_041b;
#line 4548 "regression-compile-tmp/imp22g-77.imp"
goto L_0412;
#line 4548 "regression-compile-tmp/imp22g-77.imp"
L_041b:;
                                                                //   4549      %finish
#line 4549 "regression-compile-tmp/imp22g-77.imp"
L_0416:;
                                                                //   4550      firstentry = j;  firstpos = p
#line 4550 "regression-compile-tmp/imp22g-77.imp"
FIRSTENTRY = J;
#line 4550 "regression-compile-tmp/imp22g-77.imp"
FIRSTPOS = P;
                                                                //   4551    %repeat
#line 4551 "regression-compile-tmp/imp22g-77.imp"
L_0412:;
#line 4551 "regression-compile-tmp/imp22g-77.imp"
goto L_0410;
#line 4551 "regression-compile-tmp/imp22g-77.imp"
L_0411:;
                                                                //   4552  %end
#line 4552 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETFIRSTENTRY at level 2
                                                                //   4553  
                                                                //   4554  %routine DEFINE ENTRY(%integer chain,entry,pid)
#line 4554 "regression-compile-tmp/imp22g-77.imp"
void DEFINEENTRY( int CHAIN, int ENTRY, int PID )
#line 4554 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4555  %integer j
#line 4555 "regression-compile-tmp/imp22g-77.imp"
int J;
                                                                //   4556    %cycle
#line 4556 "regression-compile-tmp/imp22g-77.imp"
L_041c:;
                                                                //   4557      chain = chain<<1
#line 4557 "regression-compile-tmp/imp22g-77.imp"
CHAIN = ((CHAIN) << (1));
                                                                //   4558      report(reacherr,pid,0) %unless is short(entry-chain)=TRUE
#line 4558 "regression-compile-tmp/imp22g-77.imp"
if (((ISSHORT((((int)(ENTRY)) - (CHAIN)))) == (1))) goto L_041f;
#line 4558 "regression-compile-tmp/imp22g-77.imp"
REPORT(4, PID, 0);
#line 4558 "regression-compile-tmp/imp22g-77.imp"
L_041f:;
                                                                //   4559      j = code word(chain)&16_FFFF
#line 4559 "regression-compile-tmp/imp22g-77.imp"
J = ((CODEWORD(CHAIN)) & (65535));
                                                                //   4560  !$IF VAX
                                                                //   4561  {  final(chain) <- (entry-chain)>>8;  final(chain+1) <- entry-chain
                                                                //   4562  !$IF APM
                                                                //   4563    shortinteger(final0+chain) <- entry-chain
#line 4563 "regression-compile-tmp/imp22g-77.imp"
*_imp_SHORTINTEGER((((int)(FINAL0)) + (CHAIN))) = (((int)(ENTRY)) - (CHAIN));
                                                                //   4564  !$FINISH
                                                                //   4565      chain = j
#line 4565 "regression-compile-tmp/imp22g-77.imp"
CHAIN = J;
                                                                //   4566    %repeat %until chain = 0
#line 4566 "regression-compile-tmp/imp22g-77.imp"
if (((CHAIN) == (0))) goto L_041d;
#line 4566 "regression-compile-tmp/imp22g-77.imp"
goto L_041c;
#line 4566 "regression-compile-tmp/imp22g-77.imp"
L_041d:;
                                                                //   4567  %end
#line 4567 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DEFINEENTRY at level 2
                                                                //   4568  
                                                                //   4569  %routine CHECK REACH(%integer blocksize)
#line 4569 "regression-compile-tmp/imp22g-77.imp"
void CHECKREACH( int BLOCKSIZE )
#line 4569 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4570  !Add stepping stones if necessary
                                                                //   4571  %integer i
#line 4571 "regression-compile-tmp/imp22g-77.imp"
int I;
                                                                //   4572    %cycle
#line 4572 "regression-compile-tmp/imp22g-77.imp"
L_0420:;
                                                                //   4573      i = blocksize+cad
#line 4573 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(BLOCKSIZE)) + (CAD));
                                                                //   4574      croak("Program too big") %if i >= ownbase
#line 4574 "regression-compile-tmp/imp22g-77.imp"
if (((I) < (OWNBASE))) goto L_0423;
#line 4574 "regression-compile-tmp/imp22g-77.imp"
CROAK(_imp_str_literal("Program too big"));
#line 4574 "regression-compile-tmp/imp22g-77.imp"
L_0423:;
                                                                //   4575      %return %if i-firstentry < 31000;  !enough leeway
#line 4575 "regression-compile-tmp/imp22g-77.imp"
if ((((((int)(I)) - (FIRSTENTRY))) >= (31000))) goto L_0424;
#line 4575 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 4575 "regression-compile-tmp/imp22g-77.imp"
L_0424:;
                                                                //   4576      %return %if blocksize >= 32000 %or cad-firstentry >= 32760;  !hopeless
#line 4576 "regression-compile-tmp/imp22g-77.imp"
if (((BLOCKSIZE) >= (32000))) goto L_0425;
#line 4576 "regression-compile-tmp/imp22g-77.imp"
if ((((((int)(CAD)) - (FIRSTENTRY))) < (32760))) goto L_0426;
#line 4576 "regression-compile-tmp/imp22g-77.imp"
L_0425:;
#line 4576 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 4576 "regression-compile-tmp/imp22g-77.imp"
L_0426:;
                                                                //   4577      %if dict(firstpos)_val < 0 %start
#line 4577 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[FIRSTPOS].VAL) >= (0))) goto L_0427;
                                                                //   4578        define entry(-dict(firstpos)_val,cad,firstpos)
#line 4578 "regression-compile-tmp/imp22g-77.imp"
DEFINEENTRY((-(DICT[FIRSTPOS].VAL)), CAD, FIRSTPOS);
                                                                //   4579        set code word(16_6000);  !BRA
#line 4579 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD(24576);
                                                                //   4580        dict(firstpos)_val = -cad>>1
#line 4580 "regression-compile-tmp/imp22g-77.imp"
DICT[FIRSTPOS].VAL = (-((int)((((unsigned int)(CAD)) >> (1)))));
                                                                //   4581        set code word(0)
#line 4581 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD(0);
                                                                //   4582      %else
#line 4582 "regression-compile-tmp/imp22g-77.imp"
goto L_0428;
#line 4582 "regression-compile-tmp/imp22g-77.imp"
L_0427:;
                                                                //   4583        dict(firstpos)_val = cad
#line 4583 "regression-compile-tmp/imp22g-77.imp"
DICT[FIRSTPOS].VAL = CAD;
                                                                //   4584        set code word(16_6000);  !BRA
#line 4584 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD(24576);
                                                                //   4585        set code word(firstentry-cad)
#line 4585 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD((((int)(FIRSTENTRY)) - (CAD)));
                                                                //   4586      %finish
#line 4586 "regression-compile-tmp/imp22g-77.imp"
L_0428:;
                                                                //   4587      steps = steps+2
#line 4587 "regression-compile-tmp/imp22g-77.imp"
STEPS = (((int)(STEPS)) + (2));
                                                                //   4588      set first entry
#line 4588 "regression-compile-tmp/imp22g-77.imp"
SETFIRSTENTRY();
                                                                //   4589    %repeat
#line 4589 "regression-compile-tmp/imp22g-77.imp"
goto L_0420;
                                                                //   4590  %end
#line 4590 "regression-compile-tmp/imp22g-77.imp"
return;
} // End of block CHECKREACH at level 2
                                                                //   4591  
                                                                //   4592  %routine PUT WORD(%integer v)
#line 4592 "regression-compile-tmp/imp22g-77.imp"
void PUTWORD( int V )
#line 4592 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4593      printsymbol(v>>8&255);  printsymbol(v&255)
#line 4593 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSYMBOL((((int)((((unsigned int)(V)) >> (8)))) & (255)));
#line 4593 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSYMBOL(((V) & (255)));
                                                                //   4594  %end
#line 4594 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTWORD at level 2
                                                                //   4595  
                                                                //   4596  %routine DO EXTERNALS(%integer chain,specs)
#line 4596 "regression-compile-tmp/imp22g-77.imp"
void DOEXTERNALS( int CHAIN, int SPECS )
#line 4596 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4597  %integer k,a,b
#line 4597 "regression-compile-tmp/imp22g-77.imp"
int K;
#line 4597 "regression-compile-tmp/imp22g-77.imp"
int A;
#line 4597 "regression-compile-tmp/imp22g-77.imp"
int B;
                                                                //   4598  %record(identinfo)%name dp,tp
#line 4598 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DP;
#line 4598 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*TP;
                                                                //   4599  
                                                                //   4600    byteinteger(charlim) = 0;  ![see test for %alias]
#line 4600 "regression-compile-tmp/imp22g-77.imp"
*_imp_BYTEINTEGER(CHARLIM) = 0;
                                                                //   4601    value = 2
#line 4601 "regression-compile-tmp/imp22g-77.imp"
VALUE = 2;
                                                                //   4602    %cycle
#line 4602 "regression-compile-tmp/imp22g-77.imp"
L_0429:;
                                                                //   4603      dp == dict(chain)
#line 4603 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[CHAIN];
                                                                //   4604      a = dp_text+char0;  b = byteinteger(a)
#line 4604 "regression-compile-tmp/imp22g-77.imp"
A = (((int)(DP->TEXT)) + (CHAR0));
#line 4604 "regression-compile-tmp/imp22g-77.imp"
B = *_imp_BYTEINTEGER(A);
                                                                //   4605      %if byteinteger(a+b+1)&128 # 0 %start;  !aliased
#line 4605 "regression-compile-tmp/imp22g-77.imp"
if (((((*_imp_BYTEINTEGER((((int)((((int)(A)) + (B)))) + (1)))) & (128))) == (0))) goto L_042c;
                                                                //   4606        a = a+b+1;  b = byteinteger(a)-128
#line 4606 "regression-compile-tmp/imp22g-77.imp"
A = (((int)((((int)(A)) + (B)))) + (1));
#line 4606 "regression-compile-tmp/imp22g-77.imp"
B = ((*(int *)(_imp_BYTEINTEGER(A))) - (128));
                                                                //   4607      %finish
#line 4607 "regression-compile-tmp/imp22g-77.imp"
L_042c:;
                                                                //   4608      value = value+(b+14)&(\1)
#line 4608 "regression-compile-tmp/imp22g-77.imp"
VALUE = ((VALUE) + ((int)((((((int)(B)) + (14))) & ((~(1)))))));
                                                                //   4609      %if specs >= 0  %start;  !for real
#line 4609 "regression-compile-tmp/imp22g-77.imp"
if (((SPECS) < (0))) goto L_042d;
                                                                //   4610        put word(dp_flags&(ext+proc)!sign16)
#line 4610 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(((((DP->FLAGS) & (28672))) | ((-32768))));
                                                                //   4611        put word(dp_mode)
#line 4611 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(DP->MODE);
                                                                //   4612        k = 0
#line 4612 "regression-compile-tmp/imp22g-77.imp"
K = 0;
                                                                //   4613        %if dp_flags&proc # 0 %start
#line 4613 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->FLAGS) & (12288))) == (0))) goto L_042e;
                                                                //   4614         !create type word
                                                                //   4615          tp == dict(dp_type)
#line 4615 "regression-compile-tmp/imp22g-77.imp"
TP = &DICT[DP->TYPE];
                                                                //   4616          k = 4;  k = 6 %if tp_type # 0;  !100:R 11x:F,M
#line 4616 "regression-compile-tmp/imp22g-77.imp"
K = 4;
#line 4616 "regression-compile-tmp/imp22g-77.imp"
if (((TP->TYPE) == (0))) goto L_042f;
#line 4616 "regression-compile-tmp/imp22g-77.imp"
K = 6;
#line 4616 "regression-compile-tmp/imp22g-77.imp"
L_042f:;
                                                                //   4617          %cycle
#line 4617 "regression-compile-tmp/imp22g-77.imp"
L_0430:;
                                                                //   4618            k = k+1 %if tp_reg&8 # 0;    !0:dreg, 1:areg
#line 4618 "regression-compile-tmp/imp22g-77.imp"
if (((((TP->REG) & (8))) == (0))) goto L_0433;
#line 4618 "regression-compile-tmp/imp22g-77.imp"
K = (((int)(K)) + (1));
#line 4618 "regression-compile-tmp/imp22g-77.imp"
L_0433:;
                                                                //   4619            %exit %if tp_link <= 0
#line 4619 "regression-compile-tmp/imp22g-77.imp"
if (((TP->LINK) > (0))) goto L_0434;
#line 4619 "regression-compile-tmp/imp22g-77.imp"
goto L_0431;
#line 4619 "regression-compile-tmp/imp22g-77.imp"
L_0434:;
                                                                //   4620            tp == dict(tp_link);  k = k<<1
#line 4620 "regression-compile-tmp/imp22g-77.imp"
TP = &DICT[TP->LINK];
#line 4620 "regression-compile-tmp/imp22g-77.imp"
K = ((K) << (1));
                                                                //   4621          %repeat
#line 4621 "regression-compile-tmp/imp22g-77.imp"
goto L_0430;
#line 4621 "regression-compile-tmp/imp22g-77.imp"
L_0431:;
                                                                //   4622          !special code (11) for %routine ...(%string(255) parm)
                                                                //   4623          k = k+2 %if k = 9 %and tp_type = stringtype %and tp_flags >= 0
#line 4623 "regression-compile-tmp/imp22g-77.imp"
if (((K) != (9))) goto L_0435;
#line 4623 "regression-compile-tmp/imp22g-77.imp"
if (((TP->TYPE) != (64))) goto L_0435;
#line 4623 "regression-compile-tmp/imp22g-77.imp"
if (((TP->FLAGS) < (0))) goto L_0435;
#line 4623 "regression-compile-tmp/imp22g-77.imp"
K = (((int)(K)) + (2));
#line 4623 "regression-compile-tmp/imp22g-77.imp"
L_0435:;
                                                                //   4624        %finish
#line 4624 "regression-compile-tmp/imp22g-77.imp"
L_042e:;
                                                                //   4625        put word(k>>16);  put word(k)
#line 4625 "regression-compile-tmp/imp22g-77.imp"
PUTWORD((int)((((unsigned int)(K)) >> (16))));
#line 4625 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(K);
                                                                //   4626        put word(dp_val>>16);  put word(dp_val)
#line 4626 "regression-compile-tmp/imp22g-77.imp"
PUTWORD((int)((((unsigned int)(DP->VAL)) >> (16))));
#line 4626 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(DP->VAL);
                                                                //   4627        put word(b<<8+byteinteger(a+1))
#line 4627 "regression-compile-tmp/imp22g-77.imp"
PUTWORD((((unsigned char)(((B) << (8)))) + (*_imp_BYTEINTEGER((((int)(A)) + (1))))));
                                                                //   4628        %cycle
#line 4628 "regression-compile-tmp/imp22g-77.imp"
L_0436:;
                                                                //   4629          a = a+2;  b = b-2
#line 4629 "regression-compile-tmp/imp22g-77.imp"
A = (((int)(A)) + (2));
#line 4629 "regression-compile-tmp/imp22g-77.imp"
B = (((int)(B)) - (2));
                                                                //   4630          %exit %if b < 0
#line 4630 "regression-compile-tmp/imp22g-77.imp"
if (((B) >= (0))) goto L_0439;
#line 4630 "regression-compile-tmp/imp22g-77.imp"
goto L_0437;
#line 4630 "regression-compile-tmp/imp22g-77.imp"
L_0439:;
                                                                //   4631          k = byteinteger(a)<<8
#line 4631 "regression-compile-tmp/imp22g-77.imp"
K = ((*_imp_BYTEINTEGER(A)) << (8));
                                                                //   4632          k = k+byteinteger(a+1) %if b > 0
#line 4632 "regression-compile-tmp/imp22g-77.imp"
if (((B) <= (0))) goto L_043a;
#line 4632 "regression-compile-tmp/imp22g-77.imp"
K = ((K) + (*(int *)(_imp_BYTEINTEGER((((int)(A)) + (1))))));
#line 4632 "regression-compile-tmp/imp22g-77.imp"
L_043a:;
                                                                //   4633          put word(k)
#line 4633 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(K);
                                                                //   4634        %repeat
#line 4634 "regression-compile-tmp/imp22g-77.imp"
goto L_0436;
#line 4634 "regression-compile-tmp/imp22g-77.imp"
L_0437:;
                                                                //   4635      %finish
#line 4635 "regression-compile-tmp/imp22g-77.imp"
L_042d:;
                                                                //   4636      chain = dp_link
#line 4636 "regression-compile-tmp/imp22g-77.imp"
CHAIN = DP->LINK;
                                                                //   4637    %repeat %until chain = 0
#line 4637 "regression-compile-tmp/imp22g-77.imp"
if (((CHAIN) == (0))) goto L_042a;
#line 4637 "regression-compile-tmp/imp22g-77.imp"
goto L_0429;
#line 4637 "regression-compile-tmp/imp22g-77.imp"
L_042a:;
                                                                //   4638    %if specs >= 0 %start
#line 4638 "regression-compile-tmp/imp22g-77.imp"
if (((SPECS) < (0))) goto L_043b;
                                                                //   4639      put word(0)
#line 4639 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(0);
                                                                //   4640      put word(0) %if value&3 # 0
#line 4640 "regression-compile-tmp/imp22g-77.imp"
if (((((VALUE) & (3))) == (0))) goto L_043c;
#line 4640 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(0);
#line 4640 "regression-compile-tmp/imp22g-77.imp"
L_043c:;
                                                                //   4641    %finish
#line 4641 "regression-compile-tmp/imp22g-77.imp"
L_043b:;
                                                                //   4642    value = (value+3)&(\3)
#line 4642 "regression-compile-tmp/imp22g-77.imp"
VALUE = (((((int)(VALUE)) + (3))) & ((~(3))));
                                                                //   4643  %end
#line 4643 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DOEXTERNALS at level 2
                                                                //   4644  !
                                                                //   4645  %routine PUTACT(%integer act,x,y)
#line 4645 "regression-compile-tmp/imp22g-77.imp"
void PUTACT( int ACT, int X, int Y )
#line 4645 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4646    dict(np)_act = act;  dict(np)_x = x;  dict(np)_y = y
#line 4646 "regression-compile-tmp/imp22g-77.imp"
DICT[NP].ACT = ACT;
#line 4646 "regression-compile-tmp/imp22g-77.imp"
DICT[NP].X = X;
#line 4646 "regression-compile-tmp/imp22g-77.imp"
DICT[NP].Y = Y;
                                                                //   4647    np = np+1
#line 4647 "regression-compile-tmp/imp22g-77.imp"
NP = (((int)(NP)) + (1));
                                                                //   4648  %end
#line 4648 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTACT at level 2
                                                                //   4649  
                                                                //   4650  %routine COMPILE END
#line 4650 "regression-compile-tmp/imp22g-77.imp"
void COMPILEEND( void )
#line 4650 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4651  %integer i,j,x,y,entry,lim
#line 4651 "regression-compile-tmp/imp22g-77.imp"
int I;
#line 4651 "regression-compile-tmp/imp22g-77.imp"
int J;
#line 4651 "regression-compile-tmp/imp22g-77.imp"
int X;
#line 4651 "regression-compile-tmp/imp22g-77.imp"
int Y;
#line 4651 "regression-compile-tmp/imp22g-77.imp"
int ENTRY;
#line 4651 "regression-compile-tmp/imp22g-77.imp"
int LIM;
                                                                //   4652    %if c_reg_line # line %and control&(diagbit!linebit!tracebit) # 0 %c
#line 4652 "regression-compile-tmp/imp22g-77.imp"
if (((C.REG.LINE) == (LINE))) goto L_043d;
#line 4652 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (((((4194304) | (8388608))) | (2097152))))) == (0))) goto L_043d;
#line 4652 "regression-compile-tmp/imp22g-77.imp"
if (((LEVEL) <= (0))) goto L_043d;
#line 4652 "regression-compile-tmp/imp22g-77.imp"
if (((C.ACCESS) == (0))) goto L_043d;
                                                                //   4653    %and level > outerlevel %and c_access # 0 %start
                                                                //   4654      pendcond = -1
#line 4654 "regression-compile-tmp/imp22g-77.imp"
PENDCOND = (-1);
                                                                //   4655      flush
#line 4655 "regression-compile-tmp/imp22g-77.imp"
FLUSH();
                                                                //   4656    %finish
#line 4656 "regression-compile-tmp/imp22g-77.imp"
L_043d:;
                                                                //   4657    !Pop event block
                                                                //   4658    %if c_eventsp # 0 %start
#line 4658 "regression-compile-tmp/imp22g-77.imp"
if (((C.EVENTSP) == (0))) goto L_043e;
                                                                //   4659      plant(move,temp(c_mode,c_eventsp),gb+indir)
#line 4659 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, TEMP(C.MODE, C.EVENTSP), 22);
                                                                //   4660      forget cc
#line 4660 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
                                                                //   4661    %finish
#line 4661 "regression-compile-tmp/imp22g-77.imp"
L_043e:;
                                                                //   4662  !Put pre-amble
                                                                //   4663    codeflag = '^';  x = pc;  !preserve
#line 4663 "regression-compile-tmp/imp22g-77.imp"
CODEFLAG = 94;
#line 4663 "regression-compile-tmp/imp22g-77.imp"
X = PC;
                                                                //   4664    putact(end,0,0)
#line 4664 "regression-compile-tmp/imp22g-77.imp"
PUTACT(50, 0, 0);
                                                                //   4665    compile(np0)
#line 4665 "regression-compile-tmp/imp22g-77.imp"
COMPILE(NP0);
                                                                //   4666    fill code(1) %if cad&1 # 0
#line 4666 "regression-compile-tmp/imp22g-77.imp"
if (((((CAD) & (1))) == (0))) goto L_043f;
#line 4666 "regression-compile-tmp/imp22g-77.imp"
FILLCODE(1);
#line 4666 "regression-compile-tmp/imp22g-77.imp"
L_043f:;
                                                                //   4667    check reach((pc-c_localpc)<<1)
#line 4667 "regression-compile-tmp/imp22g-77.imp"
CHECKREACH((((((int)(PC)) - (C.LOCALPC))) << (1)));
                                                                //   4668    entry = cad
#line 4668 "regression-compile-tmp/imp22g-77.imp"
ENTRY = CAD;
                                                                //   4669    y = x
#line 4669 "regression-compile-tmp/imp22g-77.imp"
Y = X;
                                                                //   4670    %while y < pc %cycle
#line 4670 "regression-compile-tmp/imp22g-77.imp"
L_0440:;
#line 4670 "regression-compile-tmp/imp22g-77.imp"
if (((Y) >= (PC))) goto L_0441;
                                                                //   4671      %if pflag(y) = indglobal %then set code word(dict(prog(y))_val-cad) %c
#line 4671 "regression-compile-tmp/imp22g-77.imp"
if (((PFLAG[Y]) != (7))) goto L_0443;
#line 4671 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD((((int)(DICT[PROG[Y]].VAL)) - (CAD)));
#line 4671 "regression-compile-tmp/imp22g-77.imp"
goto L_0444;
#line 4671 "regression-compile-tmp/imp22g-77.imp"
L_0443:;
#line 4671 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD(PROG[Y]);
#line 4671 "regression-compile-tmp/imp22g-77.imp"
L_0444:;
                                                                //   4672      %else set code word(prog(y))
                                                                //   4673      y = y+1
#line 4673 "regression-compile-tmp/imp22g-77.imp"
Y = (((int)(Y)) + (1));
                                                                //   4674    %repeat
#line 4674 "regression-compile-tmp/imp22g-77.imp"
goto L_0440;
#line 4674 "regression-compile-tmp/imp22g-77.imp"
L_0441:;
                                                                //   4675    codeflag = ' ';  pc = x;  !restore
#line 4675 "regression-compile-tmp/imp22g-77.imp"
CODEFLAG = 32;
#line 4675 "regression-compile-tmp/imp22g-77.imp"
PC = X;
                                                                //   4676  !Generate final sequence
                                                                //   4677    %if c_access # 0 %start
#line 4677 "regression-compile-tmp/imp22g-77.imp"
if (((C.ACCESS) == (0))) goto L_0445;
                                                                //   4678      %if level > outerlevel %and c_status&globbed # 0 %start
#line 4678 "regression-compile-tmp/imp22g-77.imp"
if (((LEVEL) <= (0))) goto L_0446;
#line 4678 "regression-compile-tmp/imp22g-77.imp"
if (((((C.STATUS) & (16))) == (0))) goto L_0446;
                                                                //   4679        %if level > 1 %start;  !display in store
#line 4679 "regression-compile-tmp/imp22g-77.imp"
if (((LEVEL) <= (1))) goto L_0447;
                                                                //   4680          plant(move,tempd(gb,level<<2),a7);     !MOVE ?(GB),SP
#line 4680 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, TEMPD(14, ((LEVEL) << (2))), 16);
                                                                //   4681          plant(move,posta7,tempd(gb,level<<2)); !MOVE (SP)+,?(GB)
#line 4681 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, 32, TEMPD(14, ((LEVEL) << (2))));
                                                                //   4682          forget cc
#line 4682 "regression-compile-tmp/imp22g-77.imp"
FORGETCC();
                                                                //   4683        %else
#line 4683 "regression-compile-tmp/imp22g-77.imp"
goto L_0448;
#line 4683 "regression-compile-tmp/imp22g-77.imp"
L_0447:;
                                                                //   4684          plant(unlk,0,f1)
#line 4684 "regression-compile-tmp/imp22g-77.imp"
PLANT(73, 0, 15);
                                                                //   4685        %finish
#line 4685 "regression-compile-tmp/imp22g-77.imp"
L_0448:;
                                                                //   4686      %finish %else %if c_sp < 0 %start;  !some stack extension
#line 4686 "regression-compile-tmp/imp22g-77.imp"
goto L_0449;
#line 4686 "regression-compile-tmp/imp22g-77.imp"
L_0446:;
#line 4686 "regression-compile-tmp/imp22g-77.imp"
if (((C.SP) >= (0))) goto L_044a;
                                                                //   4687        addimm(-c_sp,a7)
#line 4687 "regression-compile-tmp/imp22g-77.imp"
ADDIMM((-(C.SP)), 16);
                                                                //   4688      %finish
#line 4688 "regression-compile-tmp/imp22g-77.imp"
L_044a:;
#line 4688 "regression-compile-tmp/imp22g-77.imp"
L_0449:;
                                                                //   4689      %if level > outerlevel %start
#line 4689 "regression-compile-tmp/imp22g-77.imp"
if (((LEVEL) <= (0))) goto L_044b;
                                                                //   4690        c_dpid_flags = c_dpid_flags!okflag %if c_type > 0 %c
#line 4690 "regression-compile-tmp/imp22g-77.imp"
if (((C.TYPE) <= (0))) goto L_044c;
#line 4690 "regression-compile-tmp/imp22g-77.imp"
if (((((((((C.STATUS) & (4))) | (C.REG.CCX))) | (C.REG.CCY))) != (0))) goto L_044c;
#line 4690 "regression-compile-tmp/imp22g-77.imp"
C.DPID->FLAGS = ((C.DPID->FLAGS) | (64));
#line 4690 "regression-compile-tmp/imp22g-77.imp"
L_044c:;
                                                                //   4691            %and c_status&wrongcc!c_reg_ccx!c_reg_ccy = 0
                                                                //   4692        plant(rts,0,0)
#line 4692 "regression-compile-tmp/imp22g-77.imp"
PLANT(68, 0, 0);
                                                                //   4693      %else
#line 4693 "regression-compile-tmp/imp22g-77.imp"
goto L_044d;
#line 4693 "regression-compile-tmp/imp22g-77.imp"
L_044b:;
                                                                //   4694        plant(move,0,d0);  srcall(signal);  !%stop
#line 4694 "regression-compile-tmp/imp22g-77.imp"
PLANT(1, 0, 1);
#line 4694 "regression-compile-tmp/imp22g-77.imp"
SRCALL(73);
                                                                //   4695      %finish
#line 4695 "regression-compile-tmp/imp22g-77.imp"
L_044d:;
                                                                //   4696    %else;  !no return from procedure
#line 4696 "regression-compile-tmp/imp22g-77.imp"
goto L_044e;
#line 4696 "regression-compile-tmp/imp22g-77.imp"
L_0445:;
                                                                //   4697      c_dpid_flags = c_dpid_flags!noret
#line 4697 "regression-compile-tmp/imp22g-77.imp"
C.DPID->FLAGS = ((C.DPID->FLAGS) | (64));
                                                                //   4698    %finish
#line 4698 "regression-compile-tmp/imp22g-77.imp"
L_044e:;
                                                                //   4699  !Set start address
                                                                //   4700    x = c_dpid_val
#line 4700 "regression-compile-tmp/imp22g-77.imp"
X = C.DPID->VAL;
                                                                //   4701    define entry(-x,entry,c_pid) %if x < 0;  !forward refs in FINAL
#line 4701 "regression-compile-tmp/imp22g-77.imp"
if (((X) >= (0))) goto L_044f;
#line 4701 "regression-compile-tmp/imp22g-77.imp"
DEFINEENTRY((-(X)), ENTRY, C.PID);
#line 4701 "regression-compile-tmp/imp22g-77.imp"
L_044f:;
                                                                //   4702    c_dpid_val = entry
#line 4702 "regression-compile-tmp/imp22g-77.imp"
C.DPID->VAL = ENTRY;
                                                                //   4703  !
                                                                //   4704    lim = cad+(pc-c_localpc-c_shorts+zeroshorts)<<1
#line 4704 "regression-compile-tmp/imp22g-77.imp"
LIM = ((CAD) + ((int)((((((int)((((int)((((int)(PC)) - (C.LOCALPC)))) - (C.SHORTS)))) + (8))) << (1)))));
                                                                //   4705    x = c_localpc;  c_shorts = zeroshorts;  !reset
#line 4705 "regression-compile-tmp/imp22g-77.imp"
X = C.LOCALPC;
#line 4705 "regression-compile-tmp/imp22g-77.imp"
C.SHORTS = 8;
                                                                //   4706    %while x < pc %cycle
#line 4706 "regression-compile-tmp/imp22g-77.imp"
L_0450:;
#line 4706 "regression-compile-tmp/imp22g-77.imp"
if (((X) >= (PC))) goto L_0451;
                                                                //   4707      y = prog(x);  j = pflag(x)
#line 4707 "regression-compile-tmp/imp22g-77.imp"
Y = PROG[X];
#line 4707 "regression-compile-tmp/imp22g-77.imp"
J = PFLAG[X];
                                                                //   4708      %if j # 0 %start
#line 4708 "regression-compile-tmp/imp22g-77.imp"
if (((J) == (0))) goto L_0453;
                                                                //   4709        %if j < zeroshorts %start
#line 4709 "regression-compile-tmp/imp22g-77.imp"
if (((J) >= (8))) goto L_0454;
                                                                //   4710          %if j <= longjump %start;  !shortjump/jump/longjump
#line 4710 "regression-compile-tmp/imp22g-77.imp"
if (((J) > (3))) goto L_0455;
                                                                //   4711            jumps = jumps+1
#line 4711 "regression-compile-tmp/imp22g-77.imp"
JUMPS = (((int)(JUMPS)) + (1));
                                                                //   4712            y = (y-pflag(y)-x+c_shorts)<<1
#line 4712 "regression-compile-tmp/imp22g-77.imp"
Y = (((((int)((((int)(((Y) - ((int)(PFLAG[Y]))))) - (X)))) + (C.SHORTS))) << (1));
                                                                //   4713            %if j = shortjump %start
#line 4713 "regression-compile-tmp/imp22g-77.imp"
if (((J) != (1))) goto L_0456;
                                                                //   4714              cad = cad-2
#line 4714 "regression-compile-tmp/imp22g-77.imp"
CAD = (((int)(CAD)) - (2));
                                                                //   4715              y = prog(x-1)+y&255
#line 4715 "regression-compile-tmp/imp22g-77.imp"
Y = ((PROG[(((int)(X)) - (1))]) + ((short)(((Y) & (255)))));
                                                                //   4716              c_shorts = c_shorts+1
#line 4716 "regression-compile-tmp/imp22g-77.imp"
C.SHORTS = (((int)(C.SHORTS)) + (1));
                                                                //   4717            %finish
#line 4717 "regression-compile-tmp/imp22g-77.imp"
L_0456:;
                                                                //   4718          %finish %else %if j = indglobal %start;  !procedure
#line 4718 "regression-compile-tmp/imp22g-77.imp"
goto L_0457;
#line 4718 "regression-compile-tmp/imp22g-77.imp"
L_0455:;
#line 4718 "regression-compile-tmp/imp22g-77.imp"
if (((J) != (7))) goto L_0458;
                                                                //   4719            i = dict(y)_val
#line 4719 "regression-compile-tmp/imp22g-77.imp"
I = DICT[Y].VAL;
                                                                //   4720            %if i <= 0 %start;  !not yet encountered
#line 4720 "regression-compile-tmp/imp22g-77.imp"
if (((I) > (0))) goto L_0459;
                                                                //   4721              dict(y)_val = -(cad>>1);  y = -i
#line 4721 "regression-compile-tmp/imp22g-77.imp"
DICT[Y].VAL = (-((int)((((unsigned int)(CAD)) >> (1)))));
#line 4721 "regression-compile-tmp/imp22g-77.imp"
Y = (-(I));
                                                                //   4722            %else
#line 4722 "regression-compile-tmp/imp22g-77.imp"
goto L_045a;
#line 4722 "regression-compile-tmp/imp22g-77.imp"
L_0459:;
                                                                //   4723              i = i-cad
#line 4723 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) - (CAD));
                                                                //   4724              report(reacherr,y,0) %unless is short(i)=TRUE
#line 4724 "regression-compile-tmp/imp22g-77.imp"
if (((ISSHORT(I)) == (1))) goto L_045b;
#line 4724 "regression-compile-tmp/imp22g-77.imp"
REPORT(4, Y, 0);
#line 4724 "regression-compile-tmp/imp22g-77.imp"
L_045b:;
                                                                //   4725              y = i
#line 4725 "regression-compile-tmp/imp22g-77.imp"
Y = I;
                                                                //   4726            %finish
#line 4726 "regression-compile-tmp/imp22g-77.imp"
L_045a:;
                                                                //   4727          %else {global,negglobal,bigglobal}
#line 4727 "regression-compile-tmp/imp22g-77.imp"
goto L_0457;
#line 4727 "regression-compile-tmp/imp22g-77.imp"
L_0458:;
                                                                //   4728            %if j # global+1 %start
#line 4728 "regression-compile-tmp/imp22g-77.imp"
if (((J) == (5))) goto L_045c;
                                                                //   4729              y = y&16_FFFF
#line 4729 "regression-compile-tmp/imp22g-77.imp"
Y = ((Y) & (65535));
                                                                //   4730              y = y+65536 %if j # global;  !bigglobal
#line 4730 "regression-compile-tmp/imp22g-77.imp"
if (((J) == (4))) goto L_045d;
#line 4730 "regression-compile-tmp/imp22g-77.imp"
Y = (((int)(Y)) + (65536));
#line 4730 "regression-compile-tmp/imp22g-77.imp"
L_045d:;
                                                                //   4731            %finish
#line 4731 "regression-compile-tmp/imp22g-77.imp"
L_045c:;
                                                                //   4732            y = y-cad
#line 4732 "regression-compile-tmp/imp22g-77.imp"
Y = (((int)(Y)) - (CAD));
                                                                //   4733            %unless is short(y)=TRUE %start
#line 4733 "regression-compile-tmp/imp22g-77.imp"
if (((ISSHORT(Y)) == (1))) goto L_045e;
                                                                //   4734              %if prog(x-1)&16_F1FF # 16_41FA %start;  !LEA (PC),Ax
#line 4734 "regression-compile-tmp/imp22g-77.imp"
if (((((PROG[(((int)(X)) - (1))]) & (61951))) == (16890))) goto L_045f;
                                                                //   4735                report(creacherr,0,cad)
#line 4735 "regression-compile-tmp/imp22g-77.imp"
REPORT(3, 0, CAD);
                                                                //   4736              %else
#line 4736 "regression-compile-tmp/imp22g-77.imp"
goto L_0460;
#line 4736 "regression-compile-tmp/imp22g-77.imp"
L_045f:;
                                                                //   4737                i = cad;  cad = lim
#line 4737 "regression-compile-tmp/imp22g-77.imp"
I = CAD;
#line 4737 "regression-compile-tmp/imp22g-77.imp"
CAD = LIM;
                                                                //   4738                set code word(prog(x-1)!!(16_41FA!!16_207C)); !MOVEI #,Ax
#line 4738 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD(((PROG[(((int)(X)) - (1))]) ^ (((16890) ^ (8316)))));
                                                                //   4739                set code longword(y-2)
#line 4739 "regression-compile-tmp/imp22g-77.imp"
SETCODELONGWORD((((int)(Y)) - (2)));
                                                                //   4740                set code word(prog(x-1)!!(16_41FA!!16_D1D7)); !ADD (SP),Ax
#line 4740 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD(((PROG[(((int)(X)) - (1))]) ^ (((16890) ^ (53719)))));
                                                                //   4741                set code word(16_4E75);                       !RTS
#line 4741 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD(20085);
                                                                //   4742                lim = cad;  cad = i-2
#line 4742 "regression-compile-tmp/imp22g-77.imp"
LIM = CAD;
#line 4742 "regression-compile-tmp/imp22g-77.imp"
CAD = (((int)(I)) - (2));
                                                                //   4743                set code word(16_6100);  !BSR
#line 4743 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD(24832);
                                                                //   4744                y = lim-10-cad
#line 4744 "regression-compile-tmp/imp22g-77.imp"
Y = (((int)((((int)(LIM)) - (10)))) - (CAD));
                                                                //   4745                steps = steps+5
#line 4745 "regression-compile-tmp/imp22g-77.imp"
STEPS = (((int)(STEPS)) + (5));
                                                                //   4746              %finish
#line 4746 "regression-compile-tmp/imp22g-77.imp"
L_0460:;
                                                                //   4747            %finish
#line 4747 "regression-compile-tmp/imp22g-77.imp"
L_045e:;
                                                                //   4748          %finish
#line 4748 "regression-compile-tmp/imp22g-77.imp"
L_0457:;
                                                                //   4749        %finish
#line 4749 "regression-compile-tmp/imp22g-77.imp"
L_0454:;
                                                                //   4750      %finish
#line 4750 "regression-compile-tmp/imp22g-77.imp"
L_0453:;
                                                                //   4751  !$IF VAX
                                                                //   4752  {    final(cad) <- y>>8;  final(cad+1) <- y
                                                                //   4753  !$IF APM
                                                                //   4754      shortinteger(final0+cad) <- y
#line 4754 "regression-compile-tmp/imp22g-77.imp"
*_imp_SHORTINTEGER((((int)(FINAL0)) + (CAD))) = Y;
                                                                //   4755  !$FINISH
                                                                //   4756      cad = cad+2
#line 4756 "regression-compile-tmp/imp22g-77.imp"
CAD = (((int)(CAD)) + (2));
                                                                //   4757      x = x+1
#line 4757 "regression-compile-tmp/imp22g-77.imp"
X = (((int)(X)) + (1));
                                                                //   4758    %repeat
#line 4758 "regression-compile-tmp/imp22g-77.imp"
goto L_0450;
#line 4758 "regression-compile-tmp/imp22g-77.imp"
L_0451:;
                                                                //   4759    cad = lim
#line 4759 "regression-compile-tmp/imp22g-77.imp"
CAD = LIM;
                                                                //   4760    forget all
#line 4760 "regression-compile-tmp/imp22g-77.imp"
FORGETALL();
                                                                //   4761  %end;  !compile end
#line 4761 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COMPILEEND at level 2
                                                                //   4762  
                                                                //   4763  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   4764  !!!!!!!!!!!!!!!  end of Code Generation  !!!!!!!!!!!!!!!!!!!!!!!
                                                                //   4765  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   4766  !
                                                                //   4767  !<<IMP
                                                                //   4768  %routine TOPRED
#line 4768 "regression-compile-tmp/imp22g-77.imp"
void TOPRED( void )
#line 4768 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4769    item = litref(value) %if item = 0
#line 4769 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_0461;
#line 4769 "regression-compile-tmp/imp22g-77.imp"
ITEM = LITREF(VALUE);
#line 4769 "regression-compile-tmp/imp22g-77.imp"
L_0461:;
                                                                //   4770    putact(compare,item,0)
#line 4770 "regression-compile-tmp/imp22g-77.imp"
PUTACT(4, ITEM, 0);
                                                                //   4771    condop = bne!!polarity
#line 4771 "regression-compile-tmp/imp22g-77.imp"
CONDOP = ((22) ^ (POLARITY));
                                                                //   4772    item = np-1
#line 4772 "regression-compile-tmp/imp22g-77.imp"
ITEM = (((int)(NP)) - (1));
                                                                //   4773  %end
#line 4773 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block TOPRED at level 2
                                                                //   4774  !<<BOTH
                                                                //   4775  !
                                                                //   4776  %routine RESET CONTEXT(%integer pid,free)
#line 4776 "regression-compile-tmp/imp22g-77.imp"
void RESETCONTEXT( int PID, int FREE )
#line 4776 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4777    starts = 0;  cycles = 0
#line 4777 "regression-compile-tmp/imp22g-77.imp"
STARTS = 0;
#line 4777 "regression-compile-tmp/imp22g-77.imp"
CYCLES = 0;
                                                                //   4778    c = 0
#line 4778 "regression-compile-tmp/imp22g-77.imp"
C = (BLOCKINF){ 0 } /* Assign 0's to all fields of record */;
                                                                //   4779    forget all
#line 4779 "regression-compile-tmp/imp22g-77.imp"
FORGETALL();
                                                                //   4780    c_localdpos = dlim;  c_parlim = dlim;  c_localtext = charlim
#line 4780 "regression-compile-tmp/imp22g-77.imp"
C.LOCALDPOS = DLIM;
#line 4780 "regression-compile-tmp/imp22g-77.imp"
C.PARLIM = DLIM;
#line 4780 "regression-compile-tmp/imp22g-77.imp"
C.LOCALTEXT = CHARLIM;
                                                                //   4781    c_localpc = pc;  c_localswpc = swpc;  c_lab1 = curlab
#line 4781 "regression-compile-tmp/imp22g-77.imp"
C.LOCALPC = PC;
#line 4781 "regression-compile-tmp/imp22g-77.imp"
C.LOCALSWPC = SWPC;
#line 4781 "regression-compile-tmp/imp22g-77.imp"
C.LAB1 = CURLAB;
                                                                //   4782    c_shorts = zeroshorts;  c_free = free
#line 4782 "regression-compile-tmp/imp22g-77.imp"
C.SHORTS = 8;
#line 4782 "regression-compile-tmp/imp22g-77.imp"
C.FREE = FREE;
                                                                //   4783    c_mode = framemode+level;  c_vintage = vintage
#line 4783 "regression-compile-tmp/imp22g-77.imp"
C.MODE = (((int)(168)) + (LEVEL));
#line 4783 "regression-compile-tmp/imp22g-77.imp"
C.VINTAGE = VINTAGE;
                                                                //   4784    c_pid = pid;  c_dpid == dict(c_pid)
#line 4784 "regression-compile-tmp/imp22g-77.imp"
C.PID = PID;
#line 4784 "regression-compile-tmp/imp22g-77.imp"
C.DPID = &DICT[C.PID];
                                                                //   4785  %end
#line 4785 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block RESETCONTEXT at level 2
                                                                //   4786  
                                                                //   4787  %routine OPEN BLOCK(%integer pid)
#line 4787 "regression-compile-tmp/imp22g-77.imp"
void OPENBLOCK( int PID )
#line 4787 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4788    forget regs;  !a bit extreme, but don't want to let LIT/EXP
#line 4788 "regression-compile-tmp/imp22g-77.imp"
FORGETREGS();
                                                                //   4789                   ! get out of hand so RESET CONTEXT forgets triples
                                                                //   4790    croak("Too many levels") %if level = maxlevel
#line 4790 "regression-compile-tmp/imp22g-77.imp"
if (((LEVEL) != (7))) goto L_0462;
#line 4790 "regression-compile-tmp/imp22g-77.imp"
CROAK(_imp_str_literal("Too many levels"));
#line 4790 "regression-compile-tmp/imp22g-77.imp"
L_0462:;
                                                                //   4791    c_oldcontrol = control
#line 4791 "regression-compile-tmp/imp22g-77.imp"
C.OLDCONTROL = CONTROL;
                                                                //   4792    hold(level) = c;  level = level+1;  vintage = vintage+1
#line 4792 "regression-compile-tmp/imp22g-77.imp"
HOLD[LEVEL] = C;
#line 4792 "regression-compile-tmp/imp22g-77.imp"
LEVEL = (((int)(LEVEL)) + (1));
#line 4792 "regression-compile-tmp/imp22g-77.imp"
VINTAGE = (((int)(VINTAGE)) + (1));
                                                                //   4793    reset context(pid,c_free)
#line 4793 "regression-compile-tmp/imp22g-77.imp"
RESETCONTEXT(PID, C.FREE);
                                                                //   4794    c_access = 1;  c_localad = cad-accounted
#line 4794 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = 1;
#line 4794 "regression-compile-tmp/imp22g-77.imp"
C.LOCALAD = (((int)(CAD)) - (ACCOUNTED));
                                                                //   4795  %end;  !OPEN BLOCK
#line 4795 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block OPENBLOCK at level 2
                                                                //   4796  
                                                                //   4797  %integerfn PARMATCH(%integer apos,bpos)
#line 4797 "regression-compile-tmp/imp22g-77.imp"
int PARMATCH( int APOS, int BPOS )
#line 4797 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4798  %record(identinfo)%name ap,bp,atp,btp
#line 4798 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*AP;
#line 4798 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*BP;
#line 4798 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*ATP;
#line 4798 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*BTP;
                                                                //   4799    %cycle
#line 4799 "regression-compile-tmp/imp22g-77.imp"
L_0463:;
                                                                //   4800      ap == dict(apos);  bp == dict(bpos)
#line 4800 "regression-compile-tmp/imp22g-77.imp"
AP = &DICT[APOS];
#line 4800 "regression-compile-tmp/imp22g-77.imp"
BP = &DICT[BPOS];
                                                                //   4801      %result = FALSE %if ap_flags!!bp_flags < 0
#line 4801 "regression-compile-tmp/imp22g-77.imp"
if (((((AP->FLAGS) ^ (BP->FLAGS))) >= (0))) goto L_0466;
#line 4801 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 4801 "regression-compile-tmp/imp22g-77.imp"
L_0466:;
                                                                //   4802      {%result = FALSE %if ap_mode # bp_mode}
                                                                //   4803      %if ap_type # bp_type %start
#line 4803 "regression-compile-tmp/imp22g-77.imp"
if (((AP->TYPE) == (BP->TYPE))) goto L_0467;
                                                                //   4804        ![for now -- nominal]
                                                                //   4805        atp == typecell(ap_type);  btp == typecell(bp_type)
#line 4805 "regression-compile-tmp/imp22g-77.imp"
ATP = TYPECELL(AP->TYPE);
#line 4805 "regression-compile-tmp/imp22g-77.imp"
BTP = TYPECELL(BP->TYPE);
                                                                //   4806        %result = FALSE %unless atp_flags&cat = arry = btp_flags&cat
#line 4806 "regression-compile-tmp/imp22g-77.imp"
if ((((((ATP->FLAGS) & (15))) != (9))) || (((9) == (((BTP->FLAGS) & (15)))))) goto L_0468;
#line 4806 "regression-compile-tmp/imp22g-77.imp"
L_0438:;
#line 4806 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 4806 "regression-compile-tmp/imp22g-77.imp"
L_0468:;
                                                                //   4807      %finish
#line 4807 "regression-compile-tmp/imp22g-77.imp"
L_0467:;
                                                                //   4808      apos = ap_link;  bpos = bp_link
#line 4808 "regression-compile-tmp/imp22g-77.imp"
APOS = AP->LINK;
#line 4808 "regression-compile-tmp/imp22g-77.imp"
BPOS = BP->LINK;
                                                                //   4809      %if apos = 0 %start
#line 4809 "regression-compile-tmp/imp22g-77.imp"
if (((APOS) != (0))) goto L_0469;
                                                                //   4810        %result = FALSE %if bpos # 0
#line 4810 "regression-compile-tmp/imp22g-77.imp"
if (((BPOS) == (0))) goto L_046a;
#line 4810 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 4810 "regression-compile-tmp/imp22g-77.imp"
L_046a:;
                                                                //   4811        %result = TRUE
#line 4811 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   4812      %finish %else %if bpos = 0 %start
#line 4812 "regression-compile-tmp/imp22g-77.imp"
L_0469:;
#line 4812 "regression-compile-tmp/imp22g-77.imp"
if (((BPOS) != (0))) goto L_046b;
                                                                //   4813        %result = FALSE
#line 4813 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   4814      %finish
#line 4814 "regression-compile-tmp/imp22g-77.imp"
L_046b:;
                                                                //   4815    %repeat
#line 4815 "regression-compile-tmp/imp22g-77.imp"
goto L_0463;
                                                                //   4816  %end
#line 4816 "regression-compile-tmp/imp22g-77.imp"
} // End of block PARMATCH at level 2
                                                                //   4817  
                                                                //   4818  %integer%fn CRUNCHED(%integer p)
#line 4818 "regression-compile-tmp/imp22g-77.imp"
int CRUNCHED( int P )
#line 4818 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4819  %record(identinfo)%name dq,dp
#line 4819 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DQ;
#line 4819 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DP;
                                                                //   4820  %owninteger q=0,l=0
#line 4820 "regression-compile-tmp/imp22g-77.imp"
static int Q = 0;
#line 4820 "regression-compile-tmp/imp22g-77.imp"
static int L = 0;
                                                                //   4821    dp==dict(p)
#line 4821 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[P];
                                                                //   4822    dp_text = 0;  q = 0
#line 4822 "regression-compile-tmp/imp22g-77.imp"
DP->TEXT = 0;
#line 4822 "regression-compile-tmp/imp22g-77.imp"
Q = 0;
                                                                //   4823    l = dp_link
#line 4823 "regression-compile-tmp/imp22g-77.imp"
L = DP->LINK;
                                                                //   4824    %if l # 0 %start
#line 4824 "regression-compile-tmp/imp22g-77.imp"
if (((L) == (0))) goto L_0464;
                                                                //   4825      l = crunched(l) %if dp_type < p
#line 4825 "regression-compile-tmp/imp22g-77.imp"
if (((DP->TYPE) >= (P))) goto L_046c;
#line 4825 "regression-compile-tmp/imp22g-77.imp"
L = CRUNCHED(L);
#line 4825 "regression-compile-tmp/imp22g-77.imp"
L_046c:;
                                                                //   4826      %result = p %if p <= l
#line 4826 "regression-compile-tmp/imp22g-77.imp"
if (((P) > (L))) goto L_046d;
#line 4826 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return P;
#line 4826 "regression-compile-tmp/imp22g-77.imp"
L_046d:;
                                                                //   4827      dp_link = l
#line 4827 "regression-compile-tmp/imp22g-77.imp"
DP->LINK = L;
                                                                //   4828      q = l-1
#line 4828 "regression-compile-tmp/imp22g-77.imp"
Q = (((int)(L)) - (1));
                                                                //   4829    %finish
#line 4829 "regression-compile-tmp/imp22g-77.imp"
L_0464:;
                                                                //   4830    dq == dict(q)
#line 4830 "regression-compile-tmp/imp22g-77.imp"
DQ = &DICT[Q];
                                                                //   4831    %while q < p %cycle
#line 4831 "regression-compile-tmp/imp22g-77.imp"
L_046e:;
#line 4831 "regression-compile-tmp/imp22g-77.imp"
if (((Q) >= (P))) goto L_046f;
                                                                //   4832      %if dq_type = dp_type %c
#line 4832 "regression-compile-tmp/imp22g-77.imp"
if (((DQ->TYPE) != (DP->TYPE))) goto L_0471;
#line 4832 "regression-compile-tmp/imp22g-77.imp"
if (((DQ->LINK) != (L))) goto L_0471;
#line 4832 "regression-compile-tmp/imp22g-77.imp"
if (((DQ->REG) != (DP->REG))) goto L_0471;
#line 4832 "regression-compile-tmp/imp22g-77.imp"
if (((DQ->VAL) != (DP->VAL))) goto L_0471;
                                                                //   4833      %and dq_link = l %and dq_reg = dp_reg %and dq_val = dp_val %start
                                                                //   4834        dlim = p
#line 4834 "regression-compile-tmp/imp22g-77.imp"
DLIM = P;
                                                                //   4835        %result = q
#line 4835 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return Q;
                                                                //   4836      %finish
#line 4836 "regression-compile-tmp/imp22g-77.imp"
L_0471:;
                                                                //   4837      q = q+1;  dq == dict(q)
#line 4837 "regression-compile-tmp/imp22g-77.imp"
Q = (((int)(Q)) + (1));
#line 4837 "regression-compile-tmp/imp22g-77.imp"
DQ = &DICT[Q];
                                                                //   4838    %repeat
#line 4838 "regression-compile-tmp/imp22g-77.imp"
goto L_046e;
#line 4838 "regression-compile-tmp/imp22g-77.imp"
L_046f:;
                                                                //   4839    %result = p
#line 4839 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return P;
                                                                //   4840  %end
#line 4840 "regression-compile-tmp/imp22g-77.imp"
} // End of block CRUNCHED at level 2
                                                                //   4841  
                                                                //   4842  %routine POP CONTEXT
#line 4842 "regression-compile-tmp/imp22g-77.imp"
void POPCONTEXT( void )
#line 4842 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4843    pc = c_localpc;  swpc = c_localswpc;  curlab = c_lab1
#line 4843 "regression-compile-tmp/imp22g-77.imp"
PC = C.LOCALPC;
#line 4843 "regression-compile-tmp/imp22g-77.imp"
SWPC = C.LOCALSWPC;
#line 4843 "regression-compile-tmp/imp22g-77.imp"
CURLAB = C.LAB1;
                                                                //   4844    dlim = c_parlim
#line 4844 "regression-compile-tmp/imp22g-77.imp"
DLIM = C.PARLIM;
                                                                //   4845  !  %for i = 0,1,255 %cycle
                                                                //   4846  !    hashindex(i) = dict(hashindex(i))_hlink %while hashindex(i) >= c_localdpos
                                                                //   4847  !  %repeat
                                                                //   4848    %if level > outerlevel %start
#line 4848 "regression-compile-tmp/imp22g-77.imp"
if (((LEVEL) <= (0))) goto L_0472;
                                                                //   4849      charlim = c_localtext
#line 4849 "regression-compile-tmp/imp22g-77.imp"
CHARLIM = C.LOCALTEXT;
                                                                //   4850      ranges = dict(ranges)_hlink %while ranges >= c_parlim
#line 4850 "regression-compile-tmp/imp22g-77.imp"
L_0473:;
#line 4850 "regression-compile-tmp/imp22g-77.imp"
if (((RANGES) < (C.PARLIM))) goto L_0474;
#line 4850 "regression-compile-tmp/imp22g-77.imp"
RANGES = DICT[RANGES].HLINK;
#line 4850 "regression-compile-tmp/imp22g-77.imp"
goto L_0473;
#line 4850 "regression-compile-tmp/imp22g-77.imp"
L_0474:;
                                                                //   4851      c_dpid_type = crunched(c_dpid_type)
#line 4851 "regression-compile-tmp/imp22g-77.imp"
C.DPID->TYPE = CRUNCHED(C.DPID->TYPE);
                                                                //   4852      level = level-1;  c = hold(level)
#line 4852 "regression-compile-tmp/imp22g-77.imp"
LEVEL = (((int)(LEVEL)) - (1));
#line 4852 "regression-compile-tmp/imp22g-77.imp"
C = HOLD[LEVEL];
                                                                //   4853      control = control&editbit ! c_oldcontrol&(\editbit)
#line 4853 "regression-compile-tmp/imp22g-77.imp"
CONTROL = ((((CONTROL) & (8192))) | (((C.OLDCONTROL) & ((~(8192))))));
                                                                //   4854    %finish
#line 4854 "regression-compile-tmp/imp22g-77.imp"
L_0472:;
                                                                //   4855    dictshown = dlim %if dictshown > dlim
#line 4855 "regression-compile-tmp/imp22g-77.imp"
if (((DICTSHOWN) <= (DLIM))) goto L_0476;
#line 4855 "regression-compile-tmp/imp22g-77.imp"
DICTSHOWN = DLIM;
#line 4855 "regression-compile-tmp/imp22g-77.imp"
L_0476:;
                                                                //   4856    starts = 0;  cycles = 0
#line 4856 "regression-compile-tmp/imp22g-77.imp"
STARTS = 0;
#line 4856 "regression-compile-tmp/imp22g-77.imp"
CYCLES = 0;
                                                                //   4857  %end
#line 4857 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block POPCONTEXT at level 2
                                                                //   4858  
                                                                //   4859  %routine FIXUP SWITCH VECTOR(%integer pos,%record(identinfo)%name dp)
#line 4859 "regression-compile-tmp/imp22g-77.imp"
void FIXUPSWITCHVECTOR( int POS,  IDENTINFO /*name*/*DP )
#line 4859 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4860  %integer x,y,j,default,temp,lo,hi
#line 4860 "regression-compile-tmp/imp22g-77.imp"
int X;
#line 4860 "regression-compile-tmp/imp22g-77.imp"
int Y;
#line 4860 "regression-compile-tmp/imp22g-77.imp"
int J;
#line 4860 "regression-compile-tmp/imp22g-77.imp"
int DEFAULT;
#line 4860 "regression-compile-tmp/imp22g-77.imp"
int TEMP;
#line 4860 "regression-compile-tmp/imp22g-77.imp"
int LO;
#line 4860 "regression-compile-tmp/imp22g-77.imp"
int HI;
                                                                //   4861  %record(identinfo)%name tp
#line 4861 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*TP;
                                                                //   4862    tp==typecell(dp_type)
#line 4862 "regression-compile-tmp/imp22g-77.imp"
TP = TYPECELL(DP->TYPE);
                                                                //   4863    x = dp_val
#line 4863 "regression-compile-tmp/imp22g-77.imp"
X = DP->VAL;
                                                                //   4864    default = dp_link;  default = pc %if default = 0
#line 4864 "regression-compile-tmp/imp22g-77.imp"
DEFAULT = DP->LINK;
#line 4864 "regression-compile-tmp/imp22g-77.imp"
if (((DEFAULT) != (0))) goto L_0477;
#line 4864 "regression-compile-tmp/imp22g-77.imp"
DEFAULT = PC;
#line 4864 "regression-compile-tmp/imp22g-77.imp"
L_0477:;
                                                                //   4865    get bounds(tp_xtype,lo,hi)
#line 4865 "regression-compile-tmp/imp22g-77.imp"
GETBOUNDS(TP->XTYPE, &LO, &HI);
                                                                //   4866    %if dp_flags&arrflag = 0 %then j = pflag(x-1)+lo %c
#line 4866 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->FLAGS) & (8))) != (0))) goto L_0478;
#line 4866 "regression-compile-tmp/imp22g-77.imp"
J = (((int)(PFLAG[(((int)(X)) - (1))])) + (LO));
#line 4866 "regression-compile-tmp/imp22g-77.imp"
goto L_0479;
#line 4866 "regression-compile-tmp/imp22g-77.imp"
L_0478:;
#line 4866 "regression-compile-tmp/imp22g-77.imp"
J = PFLAG[(((int)(X)) - (7))];
#line 4866 "regression-compile-tmp/imp22g-77.imp"
L_0479:;
                                                                //   4867    %else j = pflag(x-7);  !allow for dope info
                                                                //   4868    j = x-j;  !base position
#line 4868 "regression-compile-tmp/imp22g-77.imp"
J = (((int)(X)) - (J));
                                                                //   4869    %while lo <= hi %cycle;  !For each element
#line 4869 "regression-compile-tmp/imp22g-77.imp"
L_047a:;
#line 4869 "regression-compile-tmp/imp22g-77.imp"
if (((LO) > (HI))) goto L_047b;
                                                                //   4870      y = prog(x)
#line 4870 "regression-compile-tmp/imp22g-77.imp"
Y = PROG[X];
                                                                //   4871      %if y <= 0 %start;  !not set
#line 4871 "regression-compile-tmp/imp22g-77.imp"
if (((Y) > (0))) goto L_047d;
                                                                //   4872        %if dp_link = 0 %start;  !no default
#line 4872 "regression-compile-tmp/imp22g-77.imp"
if (((DP->LINK) != (0))) goto L_047e;
                                                                //   4873          report(slabmissing+warn,pos,lo)
#line 4873 "regression-compile-tmp/imp22g-77.imp"
REPORT((-82), POS, LO);
                                                                //   4874          c_access = 1
#line 4874 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = 1;
                                                                //   4875        %finish
#line 4875 "regression-compile-tmp/imp22g-77.imp"
L_047e:;
                                                                //   4876        %if y < 0 %start;  !explicit jump(s) to this one
#line 4876 "regression-compile-tmp/imp22g-77.imp"
if (((Y) >= (0))) goto L_047f;
                                                                //   4877          y = -y
#line 4877 "regression-compile-tmp/imp22g-77.imp"
Y = (-(Y));
                                                                //   4878          %cycle;  !define jumps to default
#line 4878 "regression-compile-tmp/imp22g-77.imp"
L_0480:;
                                                                //   4879            temp = y;  y = prog(temp);  prog(temp) = default
#line 4879 "regression-compile-tmp/imp22g-77.imp"
TEMP = Y;
#line 4879 "regression-compile-tmp/imp22g-77.imp"
Y = PROG[TEMP];
#line 4879 "regression-compile-tmp/imp22g-77.imp"
PROG[TEMP] = DEFAULT;
                                                                //   4880          %repeat %until y = 0
#line 4880 "regression-compile-tmp/imp22g-77.imp"
if (((Y) == (0))) goto L_0481;
#line 4880 "regression-compile-tmp/imp22g-77.imp"
goto L_0480;
#line 4880 "regression-compile-tmp/imp22g-77.imp"
L_0481:;
                                                                //   4881        %finish
#line 4881 "regression-compile-tmp/imp22g-77.imp"
L_047f:;
                                                                //   4882        y = default
#line 4882 "regression-compile-tmp/imp22g-77.imp"
Y = DEFAULT;
                                                                //   4883      %finish
#line 4883 "regression-compile-tmp/imp22g-77.imp"
L_047d:;
                                                                //   4884      prog(x) = (y-pflag(y)-j)<<1
#line 4884 "regression-compile-tmp/imp22g-77.imp"
PROG[X] = (((((int)(((Y) - ((int)(PFLAG[Y]))))) - (J))) << (1));
                                                                //   4885      x = x+1;  lo = lo+1
#line 4885 "regression-compile-tmp/imp22g-77.imp"
X = (((int)(X)) + (1));
#line 4885 "regression-compile-tmp/imp22g-77.imp"
LO = (((int)(LO)) + (1));
                                                                //   4886    %repeat
#line 4886 "regression-compile-tmp/imp22g-77.imp"
goto L_047a;
#line 4886 "regression-compile-tmp/imp22g-77.imp"
L_047b:;
                                                                //   4887  %end
#line 4887 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FIXUPSWITCHVECTOR at level 2
                                                                //   4888  
                                                                //   4889  %routine CLOSE BLOCK
#line 4889 "regression-compile-tmp/imp22g-77.imp"
void CLOSEBLOCK( void )
#line 4889 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4890  %integer miss,under,pos,base
#line 4890 "regression-compile-tmp/imp22g-77.imp"
int MISS;
#line 4890 "regression-compile-tmp/imp22g-77.imp"
int UNDER;
#line 4890 "regression-compile-tmp/imp22g-77.imp"
int POS;
#line 4890 "regression-compile-tmp/imp22g-77.imp"
int BASE;
                                                                //   4891  %record(identinfo)%name dp
#line 4891 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DP;
                                                                //   4892   ! WRONGCC is clear if all %result statements leave correct CC
                                                                //   4893    %if c_type > 0 %and c_status&wrongcc = 0 %start
#line 4893 "regression-compile-tmp/imp22g-77.imp"
if (((C.TYPE) <= (0))) goto L_0483;
#line 4893 "regression-compile-tmp/imp22g-77.imp"
if (((((C.STATUS) & (4))) != (0))) goto L_0483;
                                                                //   4894     ! set special values and see if they survive exit sequence
                                                                //   4895      c_reg_ccx = 0;  c_reg_ccy = 0
#line 4895 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCX = 0;
#line 4895 "regression-compile-tmp/imp22g-77.imp"
C.REG.CCY = 0;
                                                                //   4896    %finish
#line 4896 "regression-compile-tmp/imp22g-77.imp"
L_0483:;
                                                                //   4897    %if c_return # 0 %start
#line 4897 "regression-compile-tmp/imp22g-77.imp"
if (((C.RETURN) == (0))) goto L_0484;
                                                                //   4898      %if c_return = -(pc-1) %and c_access = 0 %start
#line 4898 "regression-compile-tmp/imp22g-77.imp"
if (((C.RETURN) != ((-((((int)(PC)) - (1))))))) goto L_0485;
#line 4898 "regression-compile-tmp/imp22g-77.imp"
if (((C.ACCESS) != (0))) goto L_0485;
                                                                //   4899        c_return = -prog(pc-1);  pc = pc-2 
#line 4899 "regression-compile-tmp/imp22g-77.imp"
C.RETURN = (-(PROG[(((int)(PC)) - (1))]));
#line 4899 "regression-compile-tmp/imp22g-77.imp"
PC = (((int)(PC)) - (2));
                                                                //   4900      %finish
#line 4900 "regression-compile-tmp/imp22g-77.imp"
L_0485:;
                                                                //   4901      define jumps(c_return);  !must precede switch fixup
#line 4901 "regression-compile-tmp/imp22g-77.imp"
DEFINEJUMPS(C.RETURN);
                                                                //   4902      c_access = -1
#line 4902 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = (-1);
                                                                //   4903    %finish
#line 4903 "regression-compile-tmp/imp22g-77.imp"
L_0484:;
                                                                //   4904    pflag(pc) = c_shorts;      !in case of terminal switch labels
#line 4904 "regression-compile-tmp/imp22g-77.imp"
PFLAG[PC] = C.SHORTS;
                                                                //   4905    %if c_status&hadswitch # 0 %start
#line 4905 "regression-compile-tmp/imp22g-77.imp"
if (((((C.STATUS) & (128))) == (0))) goto L_0486;
                                                                //   4906      pos = c_localdpos
#line 4906 "regression-compile-tmp/imp22g-77.imp"
POS = C.LOCALDPOS;
                                                                //   4907      %while pos < dlim %cycle
#line 4907 "regression-compile-tmp/imp22g-77.imp"
L_0487:;
#line 4907 "regression-compile-tmp/imp22g-77.imp"
if (((POS) >= (DLIM))) goto L_0488;
                                                                //   4908        dp == dict(pos)
#line 4908 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[POS];
                                                                //   4909        fixup switch vector(pos,dp) %if dp_mode = labmode %and dp_type # 0
#line 4909 "regression-compile-tmp/imp22g-77.imp"
if (((DP->MODE) != (186))) goto L_048a;
#line 4909 "regression-compile-tmp/imp22g-77.imp"
if (((DP->TYPE) == (0))) goto L_048a;
#line 4909 "regression-compile-tmp/imp22g-77.imp"
FIXUPSWITCHVECTOR(POS, DP);
#line 4909 "regression-compile-tmp/imp22g-77.imp"
L_048a:;
                                                                //   4910        pos = pos+1
#line 4910 "regression-compile-tmp/imp22g-77.imp"
POS = (((int)(POS)) + (1));
                                                                //   4911      %repeat
#line 4911 "regression-compile-tmp/imp22g-77.imp"
goto L_0487;
#line 4911 "regression-compile-tmp/imp22g-77.imp"
L_0488:;
                                                                //   4912    %finish
#line 4912 "regression-compile-tmp/imp22g-77.imp"
L_0486:;
                                                                //   4913    compile end
#line 4913 "regression-compile-tmp/imp22g-77.imp"
COMPILEEND();
                                                                //   4914    c_totstack = c_totstack-c_extra
#line 4914 "regression-compile-tmp/imp22g-77.imp"
C.TOTSTACK = (((int)(C.TOTSTACK)) - (C.EXTRA));
                                                                //   4915    c_totstack = -c_totstack %if c_status&unknown = 0;  !positive if firm
#line 4915 "regression-compile-tmp/imp22g-77.imp"
if (((((C.STATUS) & (2))) != (0))) goto L_048b;
#line 4915 "regression-compile-tmp/imp22g-77.imp"
C.TOTSTACK = (-(C.TOTSTACK));
#line 4915 "regression-compile-tmp/imp22g-77.imp"
L_048b:;
                                                                //   4916    typecell(c_dpid_type)_val = c_totstack
#line 4916 "regression-compile-tmp/imp22g-77.imp"
TYPECELL(C.DPID->TYPE)->VAL = C.TOTSTACK;
                                                                //   4917  {?}  %if control&maplist # 0 %start
#line 4917 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (4))) == (0))) goto L_048c;
                                                                //   4918  {?}    put ident(c_pid,0)
#line 4918 "regression-compile-tmp/imp22g-77.imp"
PUTIDENT(C.PID, 0);
                                                                //   4919  {?}    mark at(20)
#line 4919 "regression-compile-tmp/imp22g-77.imp"
MARKAT(20);
                                                                //   4920  {?}    put string(" code:")
#line 4920 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal(" code:"));
                                                                //   4921  {?}    put num(cad-c_localad-accounted)
#line 4921 "regression-compile-tmp/imp22g-77.imp"
PUTNUM((((int)((((int)(CAD)) - (C.LOCALAD)))) - (ACCOUNTED)));
                                                                //   4922  {?}    put string("  entry:")
#line 4922 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal("  entry:"));
                                                                //   4923  {?}    put num(c_dpid_val-c_localad-accounted)
#line 4923 "regression-compile-tmp/imp22g-77.imp"
PUTNUM((((int)((((int)(C.DPID->VAL)) - (C.LOCALAD)))) - (ACCOUNTED)));
                                                                //   4924  {?}    put string("  stack:");  put num(-c_stack)
#line 4924 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal("  stack:"));
#line 4924 "regression-compile-tmp/imp22g-77.imp"
PUTNUM((-(C.STACK)));
                                                                //   4925  {?}    putsym('/');  put num(imod(c_totstack))
#line 4925 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(47);
#line 4925 "regression-compile-tmp/imp22g-77.imp"
PUTNUM(_imp_IMOD(C.TOTSTACK));
                                                                //   4926  {?}    put sym('+') %if c_totstack < 0
#line 4926 "regression-compile-tmp/imp22g-77.imp"
if (((C.TOTSTACK) >= (0))) goto L_048d;
#line 4926 "regression-compile-tmp/imp22g-77.imp"
PUTSYM(43);
#line 4926 "regression-compile-tmp/imp22g-77.imp"
L_048d:;
                                                                //   4927  {?}    accounted = cad-c_localad
#line 4927 "regression-compile-tmp/imp22g-77.imp"
ACCOUNTED = (((int)(CAD)) - (C.LOCALAD));
                                                                //   4928  {?}    print line
#line 4928 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
                                                                //   4929  {?}  %finish
#line 4929 "regression-compile-tmp/imp22g-77.imp"
L_048c:;
                                                                //   4930    !Check identifier usage
                                                                //   4931    miss = 0;  under = 0
#line 4931 "regression-compile-tmp/imp22g-77.imp"
MISS = 0;
#line 4931 "regression-compile-tmp/imp22g-77.imp"
UNDER = 0;
                                                                //   4932    base = c_localdpos;  base = 0 %if level = outerlevel
#line 4932 "regression-compile-tmp/imp22g-77.imp"
BASE = C.LOCALDPOS;
#line 4932 "regression-compile-tmp/imp22g-77.imp"
if (((LEVEL) != (0))) goto L_048e;
#line 4932 "regression-compile-tmp/imp22g-77.imp"
BASE = 0;
#line 4932 "regression-compile-tmp/imp22g-77.imp"
L_048e:;
                                                                //   4933    pos = dlim;  dp == dict(pos)
#line 4933 "regression-compile-tmp/imp22g-77.imp"
POS = DLIM;
#line 4933 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[POS];
                                                                //   4934    %while pos > base %cycle
#line 4934 "regression-compile-tmp/imp22g-77.imp"
L_048f:;
#line 4934 "regression-compile-tmp/imp22g-77.imp"
if (((POS) <= (BASE))) goto L_0490;
                                                                //   4935      pos = pos-1;  dp == dict(pos)
#line 4935 "regression-compile-tmp/imp22g-77.imp"
POS = (((int)(POS)) - (1));
#line 4935 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[POS];
                                                                //   4936      %if dp_flags&ext = 0 %start
#line 4936 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->FLAGS) & (16384))) != (0))) goto L_0492;
                                                                //   4937  !<<IMP
                                                                //   4938  !<<BOTH
                                                                //   4939        %if dp_text > 0 %start;               !user id
#line 4939 "regression-compile-tmp/imp22g-77.imp"
if (((DP->TEXT) <= (0))) goto L_0493;
                                                                //   4940          set hashhead(string(dp_text+char0))
#line 4940 "regression-compile-tmp/imp22g-77.imp"
SETHASHHEAD(_imp_STRING((((int)(DP->TEXT)) + (CHAR0))));
                                                                //   4941          %if head = pos %start;              !still active
#line 4941 "regression-compile-tmp/imp22g-77.imp"
if (((*HEAD) != (POS))) goto L_0494;
                                                                //   4942            head = dp_hlink;                  !remove from hash list
#line 4942 "regression-compile-tmp/imp22g-77.imp"
*HEAD = DP->HLINK;
                                                                //   4943  check:    %if dp_flags&spec # 0 %start
#line 4943 "regression-compile-tmp/imp22g-77.imp"
U_1026:;
#line 4943 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->FLAGS) & (256))) == (0))) goto L_0495;
                                                                //   4944              dp_hlink = miss;  miss = pos
#line 4944 "regression-compile-tmp/imp22g-77.imp"
DP->HLINK = MISS;
#line 4944 "regression-compile-tmp/imp22g-77.imp"
MISS = POS;
                                                                //   4945            %finish %else %if ((dp_flags&(readable+rflag) = readable %and dp_mode # litmode) %c
#line 4945 "regression-compile-tmp/imp22g-77.imp"
goto L_0496;
#line 4945 "regression-compile-tmp/imp22g-77.imp"
L_0495:;
#line 4945 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->FLAGS) & (34))) != (2))) goto L_0497;
#line 4945 "regression-compile-tmp/imp22g-77.imp"
if (((DP->MODE) != (60))) goto L_0498;
#line 4945 "regression-compile-tmp/imp22g-77.imp"
L_0497:;
#line 4945 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->FLAGS) & (337))) != (1))) goto L_0499;
#line 4945 "regression-compile-tmp/imp22g-77.imp"
L_0498:;
#line 4945 "regression-compile-tmp/imp22g-77.imp"
if (((POS) < (C.LOCALDPOS))) goto L_0499;
#line 4945 "regression-compile-tmp/imp22g-77.imp"
if (((DP->MODE) == (0))) goto L_0499;
#line 4945 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->FLAGS) & (512))) != (0))) goto L_0499;
#line 4945 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (((1) | (4))))) == (0))) goto L_0499;
                                                                //   4946              %or (dp_flags&(writable+okflag+wflag+spec) = writable)) %c
                                                                //   4947              %and pos >= c_localdpos %and dp_mode # 0 %and dp_flags&typeid = 0 %c
                                                                //   4948              %and control&(list!maplist) # 0 %start
                                                                //   4949              dp_hlink = under;  under = pos
#line 4949 "regression-compile-tmp/imp22g-77.imp"
DP->HLINK = UNDER;
#line 4949 "regression-compile-tmp/imp22g-77.imp"
UNDER = POS;
                                                                //   4950            %finish
#line 4950 "regression-compile-tmp/imp22g-77.imp"
L_0499:;
#line 4950 "regression-compile-tmp/imp22g-77.imp"
L_0496:;
                                                                //   4951          %finish
#line 4951 "regression-compile-tmp/imp22g-77.imp"
L_0494:;
                                                                //   4952        %finish
#line 4952 "regression-compile-tmp/imp22g-77.imp"
L_0493:;
                                                                //   4953      %finish %else %if level = outerlevel %start;  !external, external spec
#line 4953 "regression-compile-tmp/imp22g-77.imp"
goto L_049a;
#line 4953 "regression-compile-tmp/imp22g-77.imp"
L_0492:;
#line 4953 "regression-compile-tmp/imp22g-77.imp"
if (((LEVEL) != (0))) goto L_049b;
                                                                //   4954        %if dp_flags&spec = 0 %start;  !external object
#line 4954 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->FLAGS) & (256))) != (0))) goto L_049c;
                                                                //   4955          dp_link = externs;  externs = pos
#line 4955 "regression-compile-tmp/imp22g-77.imp"
DP->LINK = EXTERNS;
#line 4955 "regression-compile-tmp/imp22g-77.imp"
EXTERNS = POS;
                                                                //   4956        %finish %else %if dp_flags&(rflag+wflag) # 0 %start
#line 4956 "regression-compile-tmp/imp22g-77.imp"
goto L_049d;
#line 4956 "regression-compile-tmp/imp22g-77.imp"
L_049c:;
#line 4956 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->FLAGS) & (48))) == (0))) goto L_049e;
                                                                //   4957         !external spec (used)
                                                                //   4958          dp_link = extspecs;  extspecs = pos
#line 4958 "regression-compile-tmp/imp22g-77.imp"
DP->LINK = EXTSPECS;
#line 4958 "regression-compile-tmp/imp22g-77.imp"
EXTSPECS = POS;
                                                                //   4959        %finish
#line 4959 "regression-compile-tmp/imp22g-77.imp"
L_049e:;
#line 4959 "regression-compile-tmp/imp22g-77.imp"
L_049d:;
                                                                //   4960      %finish
#line 4960 "regression-compile-tmp/imp22g-77.imp"
L_049b:;
#line 4960 "regression-compile-tmp/imp22g-77.imp"
L_049a:;
                                                                //   4961    %repeat
#line 4961 "regression-compile-tmp/imp22g-77.imp"
goto L_048f;
#line 4961 "regression-compile-tmp/imp22g-77.imp"
L_0490:;
                                                                //   4962    report(idmissing,miss,0) %if miss # 0
#line 4962 "regression-compile-tmp/imp22g-77.imp"
if (((MISS) == (0))) goto L_049f;
#line 4962 "regression-compile-tmp/imp22g-77.imp"
REPORT(47, MISS, 0);
#line 4962 "regression-compile-tmp/imp22g-77.imp"
L_049f:;
                                                                //   4963    %if under # 0 %and c_faults = 0 %start
#line 4963 "regression-compile-tmp/imp22g-77.imp"
if (((UNDER) == (0))) goto L_04a0;
#line 4963 "regression-compile-tmp/imp22g-77.imp"
if (((C.FAULTS) != (0))) goto L_04a0;
                                                                //   4964      put ident(under,1)
#line 4964 "regression-compile-tmp/imp22g-77.imp"
PUTIDENT(UNDER, 1);
                                                                //   4965      put string(" underused")
#line 4965 "regression-compile-tmp/imp22g-77.imp"
PUTSTRING(_imp_str_literal(" underused"));
                                                                //   4966      print line
#line 4966 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
                                                                //   4967    %finish
#line 4967 "regression-compile-tmp/imp22g-77.imp"
L_04a0:;
                                                                //   4968    pop context
#line 4968 "regression-compile-tmp/imp22g-77.imp"
POPCONTEXT();
                                                                //   4969    set first entry %if firstpos >= dlim
#line 4969 "regression-compile-tmp/imp22g-77.imp"
if (((FIRSTPOS) < (DLIM))) goto L_04a1;
#line 4969 "regression-compile-tmp/imp22g-77.imp"
SETFIRSTENTRY();
#line 4969 "regression-compile-tmp/imp22g-77.imp"
L_04a1:;
                                                                //   4970  %end;  !CLOSE BLOCK
#line 4970 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLOSEBLOCK at level 2
                                                                //   4971  
                                                                //   4972  %routine ERROR(%integer case)
#line 4972 "regression-compile-tmp/imp22g-77.imp"
void ERROR( int CASE )
#line 4972 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4973    faultp = atomp
#line 4973 "regression-compile-tmp/imp22g-77.imp"
FAULTP = ATOMP;
                                                                //   4974    report(case,0,0)
#line 4974 "regression-compile-tmp/imp22g-77.imp"
REPORT(CASE, 0, 0);
                                                                //   4975    %signal fail
#line 4975 "regression-compile-tmp/imp22g-77.imp"
_imp_signal(11, 0, 0, "");
                                                                //   4976  %end
#line 4976 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ERROR at level 2
                                                                //   4977  
                                                                //   4978  %constinteger DUD=63
                                                                //   4979  %routine SYNTAX ERROR
#line 4979 "regression-compile-tmp/imp22g-77.imp"
void SYNTAXERROR( void )
#line 4979 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4980    %if atom = dud %then error(atomerr+point) %else error(formerr+point)
#line 4980 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (63))) goto L_04a2;
#line 4980 "regression-compile-tmp/imp22g-77.imp"
ERROR(72);
#line 4980 "regression-compile-tmp/imp22g-77.imp"
L_04a2:;
#line 4980 "regression-compile-tmp/imp22g-77.imp"
ERROR(71);
                                                                //   4981  %end
#line 4981 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SYNTAXERROR at level 2
                                                                //   4982  
                                                                //   4983  %routine EXPFAULT(%integer case)
#line 4983 "regression-compile-tmp/imp22g-77.imp"
void EXPFAULT( int CASE )
#line 4983 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4984    %if faultnum = 0 %or expp < faultp %start
#line 4984 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTNUM) == (0))) goto L_0491;
#line 4984 "regression-compile-tmp/imp22g-77.imp"
if (((EXPP) >= (FAULTP))) goto L_04a3;
#line 4984 "regression-compile-tmp/imp22g-77.imp"
L_0491:;
                                                                //   4985      faultnum = case!point;  faultp = expp
#line 4985 "regression-compile-tmp/imp22g-77.imp"
FAULTNUM = ((CASE) | (64));
#line 4985 "regression-compile-tmp/imp22g-77.imp"
FAULTP = EXPP;
                                                                //   4986    %finish
#line 4986 "regression-compile-tmp/imp22g-77.imp"
L_04a3:;
                                                                //   4987  %end
#line 4987 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block EXPFAULT at level 2
                                                                //   4988  
                                                                //   4989  %routine NONSTANDARD(%integer case)
#line 4989 "regression-compile-tmp/imp22g-77.imp"
void NONSTANDARD( int CASE )
#line 4989 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   4990  %integer b
#line 4990 "regression-compile-tmp/imp22g-77.imp"
int B;
                                                                //   4991  %owninteger hadit=0
#line 4991 "regression-compile-tmp/imp22g-77.imp"
static int HADIT = 0;
                                                                //   4992    b = 1<<case
#line 4992 "regression-compile-tmp/imp22g-77.imp"
B = ((1) << (CASE));
                                                                //   4993    %if b&hadit = 0 %and control&nonsbit = 0 %and faultnum = 0 %start
#line 4993 "regression-compile-tmp/imp22g-77.imp"
if (((((B) & (HADIT))) != (0))) goto L_04a4;
#line 4993 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (256))) != (0))) goto L_04a4;
#line 4993 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTNUM) != (0))) goto L_04a4;
                                                                //   4994      hadit = hadit+b;  faultp = atomp
#line 4994 "regression-compile-tmp/imp22g-77.imp"
HADIT = (((int)(HADIT)) + (B));
#line 4994 "regression-compile-tmp/imp22g-77.imp"
FAULTP = ATOMP;
                                                                //   4995      %if control&strictbit # 0 %then report(nonstand+point,0,case) %c
#line 4995 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (131072))) == (0))) goto L_04a5;
#line 4995 "regression-compile-tmp/imp22g-77.imp"
REPORT(103, 0, CASE);
#line 4995 "regression-compile-tmp/imp22g-77.imp"
goto L_04a6;
#line 4995 "regression-compile-tmp/imp22g-77.imp"
L_04a5:;
#line 4995 "regression-compile-tmp/imp22g-77.imp"
REPORT((-25), 0, CASE);
#line 4995 "regression-compile-tmp/imp22g-77.imp"
L_04a6:;
                                                                //   4996      %else report(nonstand+point+warn,0,case)
                                                                //   4997    %finish
#line 4997 "regression-compile-tmp/imp22g-77.imp"
L_04a4:;
                                                                //   4998  %end
#line 4998 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block NONSTANDARD at level 2
                                                                //   4999  
                                                                //   5000  %routine NAME ERROR
#line 5000 "regression-compile-tmp/imp22g-77.imp"
void NAMEERROR( void )
#line 5000 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5001  !check if the culprit has occurred before
                                                                //   5002  !and, if not, add it to the pool of unknowns stored at the
                                                                //   5003  !far end of the dictionary.
                                                                //   5004    %if item >= 0 %start;  !first time
#line 5004 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) < (0))) goto L_04a7;
                                                                //   5005      fault(namerr+point+now)
#line 5005 "regression-compile-tmp/imp22g-77.imp"
FAULT(201);
                                                                //   5006      %if charmin-newlen-80 >= charlim %start
#line 5006 "regression-compile-tmp/imp22g-77.imp"
if ((((((int)((((int)(CHARMIN)) - (NEWLEN)))) - (80))) < (CHARLIM))) goto L_04a8;
                                                                //   5007        dmin = dmin-1;  dmin0 = dmin
#line 5007 "regression-compile-tmp/imp22g-77.imp"
DMIN = (((int)(DMIN)) - (1));
#line 5007 "regression-compile-tmp/imp22g-77.imp"
DMIN0 = DMIN;
                                                                //   5008        charmin = charmin-newlen-1
#line 5008 "regression-compile-tmp/imp22g-77.imp"
CHARMIN = (((int)((((int)(CHARMIN)) - (NEWLEN)))) - (1));
                                                                //   5009        string(charmin) = string(charlim)
#line 5009 "regression-compile-tmp/imp22g-77.imp"
*_imp_STRING(CHARMIN) = *_imp_STRING(CHARLIM);
                                                                //   5010        dict(dmin)_text = charmin-char0
#line 5010 "regression-compile-tmp/imp22g-77.imp"
DICT[DMIN].TEXT = (((int)(CHARMIN)) - (CHAR0));
                                                                //   5011        head == dict(head)_hlink %while head > 0;  !find last link
#line 5011 "regression-compile-tmp/imp22g-77.imp"
L_04a9:;
#line 5011 "regression-compile-tmp/imp22g-77.imp"
if (((*HEAD) <= (0))) goto L_04aa;
#line 5011 "regression-compile-tmp/imp22g-77.imp"
HEAD = &DICT[*HEAD].HLINK;
#line 5011 "regression-compile-tmp/imp22g-77.imp"
goto L_04a9;
#line 5011 "regression-compile-tmp/imp22g-77.imp"
L_04aa:;
                                                                //   5012        dict(dmin)_hlink = head;  head = -dmin
#line 5012 "regression-compile-tmp/imp22g-77.imp"
DICT[DMIN].HLINK = *HEAD;
#line 5012 "regression-compile-tmp/imp22g-77.imp"
*HEAD = (-(DMIN));
                                                                //   5013      %finish
#line 5013 "regression-compile-tmp/imp22g-77.imp"
L_04a8:;
                                                                //   5014    %finish %else others = others+1
#line 5014 "regression-compile-tmp/imp22g-77.imp"
goto L_04ac;
#line 5014 "regression-compile-tmp/imp22g-77.imp"
L_04a7:;
#line 5014 "regression-compile-tmp/imp22g-77.imp"
OTHERS = (((int)(OTHERS)) + (1));
#line 5014 "regression-compile-tmp/imp22g-77.imp"
L_04ac:;
                                                                //   5015    %signal fail
#line 5015 "regression-compile-tmp/imp22g-77.imp"
_imp_signal(11, 0, 0, "");
                                                                //   5016  %end
#line 5016 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block NAMEERROR at level 2
                                                                //   5017  
                                                                //   5018  %routine FIND OP(%integer mnemonic,%integername op,types)
#line 5018 "regression-compile-tmp/imp22g-77.imp"
void FINDOP( int MNEMONIC, int /*name*/*OP, int /*name*/*TYPES )
#line 5018 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5019  %integer i
#line 5019 "regression-compile-tmp/imp22g-77.imp"
int I;
                                                                //   5020    i = 0
#line 5020 "regression-compile-tmp/imp22g-77.imp"
I = 0;
                                                                //   5021    %cycle
#line 5021 "regression-compile-tmp/imp22g-77.imp"
L_04ad:;
                                                                //   5022      i = i+2
#line 5022 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (2));
                                                                //   5023      error(namerr) %if i > defmax+defmax
#line 5023 "regression-compile-tmp/imp22g-77.imp"
if (((I) <= (258))) goto L_04b0;
#line 5023 "regression-compile-tmp/imp22g-77.imp"
ERROR(9);
#line 5023 "regression-compile-tmp/imp22g-77.imp"
L_04b0:;
                                                                //   5024    %repeat %until def(i) = mnemonic 
#line 5024 "regression-compile-tmp/imp22g-77.imp"
if (((DEF[I]) == (MNEMONIC))) goto L_04ae;
#line 5024 "regression-compile-tmp/imp22g-77.imp"
goto L_04ad;
#line 5024 "regression-compile-tmp/imp22g-77.imp"
L_04ae:;
                                                                //   5025    types = def(i-1);  op = i>>1
#line 5025 "regression-compile-tmp/imp22g-77.imp"
*TYPES = DEF[(((int)(I)) - (1))];
#line 5025 "regression-compile-tmp/imp22g-77.imp"
*OP = (int)((((unsigned int)(I)) >> (1)));
                                                                //   5026  %end
#line 5026 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FINDOP at level 2
                                                                //   5027  
                                                                //   5028  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   5029  !!!!!!!!!!!!!!!!!!!!  Source input  !!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   5030  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   5031  
                                                                //   5032  %routine READ LINE(%integer flag)
#line 5032 "regression-compile-tmp/imp22g-77.imp"
void READLINE( int FLAG )
#line 5032 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5033  ! Read (or otherwise make available) the next source line
                                                                //   5034  !     Output any pending error report;                 *NB*
                                                                //   5035  !     Skip remnant of previous line if SYM # NL        *NB*
                                                                //   5036  !     Set LINESTART to point to start of new line
                                                                //   5037  !     Print new line on list output stream if listing requested
                                                                //   5038  !       (Direct output routines CF diagnostics)
                                                                //   5039    report(faultnum,0,0) %if faultnum # 0
#line 5039 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTNUM) == (0))) goto L_04b1;
#line 5039 "regression-compile-tmp/imp22g-77.imp"
REPORT(FAULTNUM, 0, 0);
#line 5039 "regression-compile-tmp/imp22g-77.imp"
L_04b1:;
                                                                //   5040    %while sym > nl %cycle;               !Skip remnant
#line 5040 "regression-compile-tmp/imp22g-77.imp"
L_04b2:;
#line 5040 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) <= (10))) goto L_04b3;
                                                                //   5041      sym = byteintegeR(fp);  fp = fp+1
#line 5041 "regression-compile-tmp/imp22g-77.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 5041 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   5042    %repeat
#line 5042 "regression-compile-tmp/imp22g-77.imp"
goto L_04b2;
#line 5042 "regression-compile-tmp/imp22g-77.imp"
L_04b3:;
                                                                //   5043    line = line+1
#line 5043 "regression-compile-tmp/imp22g-77.imp"
LINE = (((int)(LINE)) + (1));
                                                                //   5044    %while fp = curlim %cycle
#line 5044 "regression-compile-tmp/imp22g-77.imp"
L_04b5:;
#line 5044 "regression-compile-tmp/imp22g-77.imp"
if (((FP) != (CURLIM))) goto L_04b6;
                                                                //   5045      %if curlim # cur_lim2 %start;  !in part1 of file
#line 5045 "regression-compile-tmp/imp22g-77.imp"
if (((CURLIM) == (CUR->LIM2))) goto L_04b8;
                                                                //   5046        fp = cur_start2
#line 5046 "regression-compile-tmp/imp22g-77.imp"
FP = CUR->START2;
                                                                //   5047      %finish %else %if curfile = main %start;      !on main
#line 5047 "regression-compile-tmp/imp22g-77.imp"
goto L_04b9;
#line 5047 "regression-compile-tmp/imp22g-77.imp"
L_04b8:;
#line 5047 "regression-compile-tmp/imp22g-77.imp"
if (((CURFILE) != (1))) goto L_04ba;
                                                                //   5048        %signal done
#line 5048 "regression-compile-tmp/imp22g-77.imp"
_imp_signal(12, 0, 0, "");
                                                                //   5049      %else
#line 5049 "regression-compile-tmp/imp22g-77.imp"
L_04ba:;
                                                                //   5050        cur_flag = -1
#line 5050 "regression-compile-tmp/imp22g-77.imp"
CUR->FLAG = (-1);
                                                                //   5051  !!      disconnect edfile(cur)
                                                                //   5052        curfile = curfile-1
#line 5052 "regression-compile-tmp/imp22g-77.imp"
CURFILE = (((int)(CURFILE)) - (1));
                                                                //   5053        cur == file(curfile)
#line 5053 "regression-compile-tmp/imp22g-77.imp"
CUR = &FILE[(((int)(CURFILE)) - (1))];
                                                                //   5054        fp = cur_fp;  line = cur_line
#line 5054 "regression-compile-tmp/imp22g-77.imp"
FP = CUR->FP;
#line 5054 "regression-compile-tmp/imp22g-77.imp"
LINE = CUR->LINE;
                                                                //   5055        control = fcontrol(curfile)
#line 5055 "regression-compile-tmp/imp22g-77.imp"
CONTROL = FCONTROL[(((int)(CURFILE)) - (1))];
                                                                //   5056        inclim = dlim %if level = outerlevel %and c_status < hadon
#line 5056 "regression-compile-tmp/imp22g-77.imp"
if (((LEVEL) != (0))) goto L_04bb;
#line 5056 "regression-compile-tmp/imp22g-77.imp"
if (((C.STATUS) >= (4096))) goto L_04bb;
#line 5056 "regression-compile-tmp/imp22g-77.imp"
INCLIM = DLIM;
#line 5056 "regression-compile-tmp/imp22g-77.imp"
L_04bb:;
                                                                //   5057      %finish
#line 5057 "regression-compile-tmp/imp22g-77.imp"
L_04b9:;
                                                                //   5058      curstart = cur_start2;  curlim = cur_lim2
#line 5058 "regression-compile-tmp/imp22g-77.imp"
CURSTART = CUR->START2;
#line 5058 "regression-compile-tmp/imp22g-77.imp"
CURLIM = CUR->LIM2;
                                                                //   5059      %if fp < curstart %or fp > curlim %start
#line 5059 "regression-compile-tmp/imp22g-77.imp"
if (((FP) < (CURSTART))) goto L_0489;
#line 5059 "regression-compile-tmp/imp22g-77.imp"
if (((FP) <= (CURLIM))) goto L_04bc;
#line 5059 "regression-compile-tmp/imp22g-77.imp"
L_0489:;
                                                                //   5060        curstart = cur_start1;  curlim = cur_lim1
#line 5060 "regression-compile-tmp/imp22g-77.imp"
CURSTART = CUR->START1;
#line 5060 "regression-compile-tmp/imp22g-77.imp"
CURLIM = CUR->LIM1;
                                                                //   5061      %finish
#line 5061 "regression-compile-tmp/imp22g-77.imp"
L_04bc:;
                                                                //   5062    %repeat
#line 5062 "regression-compile-tmp/imp22g-77.imp"
goto L_04b5;
#line 5062 "regression-compile-tmp/imp22g-77.imp"
L_04b6:;
                                                                //   5063    linestart = fp
#line 5063 "regression-compile-tmp/imp22g-77.imp"
LINESTART = FP;
                                                                //   5064    %if flag = 0 %start
#line 5064 "regression-compile-tmp/imp22g-77.imp"
if (((FLAG) != (0))) goto L_04bd;
                                                                //   5065      flag = ' ';  flag = '&' %if curfile # main
#line 5065 "regression-compile-tmp/imp22g-77.imp"
FLAG = 32;
#line 5065 "regression-compile-tmp/imp22g-77.imp"
if (((CURFILE) == (1))) goto L_04be;
#line 5065 "regression-compile-tmp/imp22g-77.imp"
FLAG = 38;
#line 5065 "regression-compile-tmp/imp22g-77.imp"
L_04be:;
                                                                //   5066    %finish
#line 5066 "regression-compile-tmp/imp22g-77.imp"
L_04bd:;
                                                                //   5067    listflag = flag
#line 5067 "regression-compile-tmp/imp22g-77.imp"
LISTFLAG = FLAG;
                                                                //   5068    %if control&list # 0 %start
#line 5068 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (1))) == (0))) goto L_04bf;
                                                                //   5069      time1 = time1-cputime
#line 5069 "regression-compile-tmp/imp22g-77.imp"
TIME1 = (((int)(TIME1)) - (CPUTIME));
                                                                //   5070      print line %if rep # ""
#line 5070 "regression-compile-tmp/imp22g-77.imp"
if ((_imp_strcmp(REP, _imp_str_literal("")) == 0)) goto L_04c0;
#line 5070 "regression-compile-tmp/imp22g-77.imp"
PRINTLINE();
#line 5070 "regression-compile-tmp/imp22g-77.imp"
L_04c0:;
                                                                //   5071      show dict(dictshown) %if control&dictlist # 0
#line 5071 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (16))) == (0))) goto L_04c1;
#line 5071 "regression-compile-tmp/imp22g-77.imp"
SHOWDICT(DICTSHOWN);
#line 5071 "regression-compile-tmp/imp22g-77.imp"
L_04c1:;
                                                                //   5072      dictshown = dlim
#line 5072 "regression-compile-tmp/imp22g-77.imp"
DICTSHOWN = DLIM;
                                                                //   5073      write(line,4);  print symbol(listflag)
#line 5073 "regression-compile-tmp/imp22g-77.imp"
_imp_WRITE(LINE, 4);
#line 5073 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSYMBOL(LISTFLAG);
                                                                //   5074      print symbol(' ')
#line 5074 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSYMBOL(32);
                                                                //   5075      %cycle
#line 5075 "regression-compile-tmp/imp22g-77.imp"
L_04c2:;
                                                                //   5076        sym = byteintegeR(fp);  fp = fp+1
#line 5076 "regression-compile-tmp/imp22g-77.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 5076 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   5077        print symbol(sym)
#line 5077 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSYMBOL(SYM);
                                                                //   5078      %repeat %until sym <= nl
#line 5078 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) <= (10))) goto L_04c3;
#line 5078 "regression-compile-tmp/imp22g-77.imp"
goto L_04c2;
#line 5078 "regression-compile-tmp/imp22g-77.imp"
L_04c3:;
                                                                //   5079      fp = linestart
#line 5079 "regression-compile-tmp/imp22g-77.imp"
FP = LINESTART;
                                                                //   5080      time1 = time1+cputime
#line 5080 "regression-compile-tmp/imp22g-77.imp"
TIME1 = (((int)(TIME1)) + (CPUTIME));
                                                                //   5081    %finish
#line 5081 "regression-compile-tmp/imp22g-77.imp"
L_04bf:;
                                                                //   5082    sym = 0
#line 5082 "regression-compile-tmp/imp22g-77.imp"
SYM = 0;
                                                                //   5083  %end;  !READ LINE
#line 5083 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block READLINE at level 2
                                                                //   5084  
                                                                //   5085  !<<IMP
                                                                //   5086  
                                                                //   5087  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   5088  !!!!!!!!!!!!!!!!!!!!  Lexical processing  !!!!!!!!!!!!!!!!!!!!!!
                                                                //   5089  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   5090  
                                                                //   5091  %constinteger CASEBIT=32
                                                                //   5092  %owninteger PERCENT=0, SUBATOM=0
#line 5092 "regression-compile-tmp/imp22g-77.imp"
static int PERCENT = 0;
#line 5092 "regression-compile-tmp/imp22g-77.imp"
static int SUBATOM = 0;
                                                                //   5093  !
                                                                //   5094  !~!!!!!!!  Keyword codes -- used by KEYGEN to produce tables  !!
                                                                //   5095  %constinteger %c
                                                                //   5096    KEYEND=1 {end},
                                                                //   5097    KEYREPEAT=2   {repeat},
                                                                //   5098    KEYFINISH=3   {finish},
                                                                //   5099    KEYELSE=4     {else},
                                                                //   5100    KEYBEGIN=5    {begin},
                                                                //   5101    EXIT=6        {exit_1,continue_0}
                                                                //   5102  %constinteger %c
                                                                //   5103    KEYRETURN=7   {return},
                                                                //   5104    TF=8          {true_1,false_0},
                                                                //   5105    KEYRESULT=9   {result},
                                                                //   5106    KEYSTOP=10    {stop},
                                                                //   5107    KEYGOTO=11    {goto},
                                                                //   5108    KEYSIGNAL=12  {signal}
                                                                //   5109  %constinteger %c
                                                                //   5110    KEYMONITOR=13 {monitor},
                                                                //   5111    KEYON=14      {on},
                                                                //   5112    IU=15         {if_0,unless_1},
                                                                //   5113    KEYWHILE=16   {while},
                                                                //   5114    KEYUNTIL=17   {until_1},
                                                                //   5115    KEYFOR=18     {for},
                                                                //   5116    KEYTHEN=19    {then}
                                                                //   5117  %constinteger %c
                                                                //   5118    KEYSTART=20   {start},
                                                                //   5119    KEYCYCLE=21   {cycle},
                                                                //   5120    KEYLABEL=22   {label},
                                                                //   5121    KEYCONST=23   {const,constant},
                                                                //   5122    KEYOWN=24     {own},
                                                                //   5123    KEYEXT=25     {external_6,system_5,dynamic_7}
                                                                //   5124  %constinteger %c
                                                                //   5125    KATTRIB=26    {readonly_0,writeonly_1,volatile_2},
                                                                //   5126    KTYPE=27      {short_3,half_6,byte_9,mite_12,boolean_15,char_18,text_25},
                                                                //   5127    KEYINTEGER=28 {integer},
                                                                //   5128    KEYLONG=29    {long},
                                                                //   5129    KEYREAL=30    {real},
                                                                //   5130    KEYSTRING=31  {string_0,cstring_1}
                                                                //   5131  %constinteger %c
                                                                //   5132    KEYRECORD=32  {record},
                                                                //   5133    KEYNAME=33    {name},
                                                                //   5134    KEYFORMAT=34  {format},
                                                                //   5135    FNMAP=35      {fn_0,function_0,map_1},
                                                                //   5136    RPRED=36      {routine_0,predicate_1},
                                                                //   5137    KEYSPEC=37    {spec}
                                                                //   5138  %constinteger %c
                                                                //   5139    KEYARRAY=38   {array},
                                                                //   5140    KEYSWITCH=39  {switch},
                                                                //   5141    KEYOF=40      {of},
                                                                //   5142    KEYFILE=41    {file},
                                                                //   5143    KEYPROGRAM=42 {program},
                                                                //   5144    KEYLIST=43    {list}
                                                                //   5145  %constinteger %c
                                                                //   5146    KEYCONTROL=44 {control},
                                                                //   5147    KEYCOMMENT=45 {comment},
                                                                //   5148    KEYEVENT=46   {event},
                                                                //   5149    KEYINCLUDE=47 {include},
                                                                //   5150    KEYOPTION=48  {option},
                                                                //   5151    KEYALIAS=49   {alias}
                                                                //   5152  %constinteger %c
                                                                //   5153    KEYNOT=50     {not},
                                                                //   5154    KEYAND=72     {and},
                                                                //   5155    KEYOR=73      {or}
                                                                //   5156  !!  end of keyword codes
                                                                //   5157  !
                                                                //   5158  !Symbol lexical codes other than operators:
                                                                //   5159  %constinteger TERMINATOR=51, CONST=52, IDENT=53, MODSIGN=54,
                                                                //   5160                COLON=59, COMMA=60, RIGHT=61, RIGHTB=62
                                                                //   5161  {DUD=63}
                                                                //   5162  %constinteger LEFT=55, LEFTB=56, ATSIGN=57, UNDERLINE=58
                                                                //   5163  
                                                                //   5164  %constinteger ARROW=74, EQEQ=75, NOTEQEQ=76,
                                                                //   5165                EQUALS=77, NOTEQ=78, LESSEQ=79,
                                                                //   5166                LESS=80, GREATEQ=81, GREATER=82
                                                                //   5167  %constinteger PLUS=83, MINUS=84, EXCLAM=85, EXCLAM2=86, DOT=87
                                                                //   5168  %constinteger STAR=88, SLASH2=89, SLASH=90, AMPERSAND=91
                                                                //   5169  %constinteger STAR2=92, BACKSLASH=93, UPARROW=94,
                                                                //   5170                BACKSLASH2=95, UPARROW2=96,
                                                                //   5171                TILDE=97,
                                                                //   5172                LSHIFT=98, RSHIFT=99
                                                                //   5173  %constinteger ATOMMAX=99
                                                                //   5174  %constinteger ALEFT=left, ARIGHT=right, RECSUB=underline,
                                                                //   5175                OVER=slash2, SCONC=dot
                                                                //   5176  
                                                                //   5177  %constinteger SIMPLE=atommax+1, VSIMPLE=simple+1,
                                                                //   5178                MAJOR=plus, SCOND=arrow, COND=keyand, CONDQ=71
                                                                //   5179  !
                                                                //   5180  %integer%fn NEXT ATOM
#line 5180 "regression-compile-tmp/imp22g-77.imp"
int NEXTATOM( void )
#line 5180 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5181  !Encode next atom from source file
                                                                //   5182  ![Time-critical]
                                                                //   5183  %switch s(0:255)
#line 5183 "regression-compile-tmp/imp22g-77.imp"
static int sw4_S_idx;
static const void * /*SWITCH*/ sw4_S[256] = { &&sw4_S_0, &&sw4_S_1, &&sw4_S_2, &&sw4_S_3, &&sw4_S_4, &&sw4_S_5, &&sw4_S_6, &&sw4_S_7, &&sw4_S_8, &&sw4_S_9, &&sw4_S_10, &&sw4_S_11, &&sw4_S_12, &&sw4_S_13, &&sw4_S_14, &&sw4_S_15, &&sw4_S_16, &&sw4_S_17, &&sw4_S_18, &&sw4_S_19, &&sw4_S_20, &&sw4_S_21, &&sw4_S_22, &&sw4_S_23, &&sw4_S_24, &&sw4_S_25, &&sw4_S_26, &&sw4_S_27, &&sw4_S_28, &&sw4_S_29, &&sw4_S_30, &&sw4_S_31, &&sw4_S_32, &&sw4_S_33, &&sw4_S_34, &&sw4_S_35, &&sw4_S_36, &&sw4_S_37, &&sw4_S_38, &&sw4_S_39, &&sw4_S_40, &&sw4_S_41, &&sw4_S_42, &&sw4_S_43, &&sw4_S_44, &&sw4_S_45, &&sw4_S_46, &&sw4_S_47, &&sw4_S_48, &&sw4_S_49, &&sw4_S_50, &&sw4_S_51, &&sw4_S_52, &&sw4_S_53, &&sw4_S_54, &&sw4_S_55, &&sw4_S_56, &&sw4_S_57, &&sw4_S_58, &&sw4_S_59, &&sw4_S_60, &&sw4_S_61, &&sw4_S_62, &&sw4_S_63, &&sw4_S_64, &&sw4_S_65, &&sw4_S_66, &&sw4_S_67, &&sw4_S_68, &&sw4_S_69, &&sw4_S_70, &&sw4_S_71, &&sw4_S_72, &&sw4_S_73, &&sw4_S_74, &&sw4_S_75, &&sw4_S_76, &&sw4_S_77, &&sw4_S_78, &&sw4_S_79, &&sw4_S_80, &&sw4_S_81, &&sw4_S_82, &&sw4_S_83, &&sw4_S_84, &&sw4_S_85, &&sw4_S_86, &&sw4_S_87, &&sw4_S_88, &&sw4_S_89, &&sw4_S_90, &&sw4_S_91, &&sw4_S_92, &&sw4_S_93, &&sw4_S_94, &&sw4_S_95, &&sw4_S_96, &&sw4_S_97, &&sw4_S_98, &&sw4_S_99, &&sw4_S_100, &&sw4_S_101, &&sw4_S_102, &&sw4_S_103, &&sw4_S_104, &&sw4_S_105, &&sw4_S_106, &&sw4_S_107, &&sw4_S_108, &&sw4_S_109, &&sw4_S_110, &&sw4_S_111, &&sw4_S_112, &&sw4_S_113, &&sw4_S_114, &&sw4_S_115, &&sw4_S_116, &&sw4_S_117, &&sw4_S_118, &&sw4_S_119, &&sw4_S_120, &&sw4_S_121, &&sw4_S_122, &&sw4_S_123, &&sw4_S_124, &&sw4_S_125, &&sw4_S_126, &&sw4_S_127, &&sw4_S_128, &&sw4_S_129, &&sw4_S_130, &&sw4_S_131, &&sw4_S_132, &&sw4_S_133, &&sw4_S_134, &&sw4_S_135, &&sw4_S_136, &&sw4_S_137, &&sw4_S_138, &&sw4_S_139, &&sw4_S_140, &&sw4_S_141, &&sw4_S_142, &&sw4_S_143, &&sw4_S_144, &&sw4_S_145, &&sw4_S_146, &&sw4_S_147, &&sw4_S_148, &&sw4_S_149, &&sw4_S_150, &&sw4_S_151, &&sw4_S_152, &&sw4_S_153, &&sw4_S_154, &&sw4_S_155, &&sw4_S_156, &&sw4_S_157, &&sw4_S_158, &&sw4_S_159, &&sw4_S_160, &&sw4_S_161, &&sw4_S_162, &&sw4_S_163, &&sw4_S_164, &&sw4_S_165, &&sw4_S_166, &&sw4_S_167, &&sw4_S_168, &&sw4_S_169, &&sw4_S_170, &&sw4_S_171, &&sw4_S_172, &&sw4_S_173, &&sw4_S_174, &&sw4_S_175, &&sw4_S_176, &&sw4_S_177, &&sw4_S_178, &&sw4_S_179, &&sw4_S_180, &&sw4_S_181, &&sw4_S_182, &&sw4_S_183, &&sw4_S_184, &&sw4_S_185, &&sw4_S_186, &&sw4_S_187, &&sw4_S_188, &&sw4_S_189, &&sw4_S_190, &&sw4_S_191, &&sw4_S_192, &&sw4_S_193, &&sw4_S_194, &&sw4_S_195, &&sw4_S_196, &&sw4_S_197, &&sw4_S_198, &&sw4_S_199, &&sw4_S_200, &&sw4_S_201, &&sw4_S_202, &&sw4_S_203, &&sw4_S_204, &&sw4_S_205, &&sw4_S_206, &&sw4_S_207, &&sw4_S_208, &&sw4_S_209, &&sw4_S_210, &&sw4_S_211, &&sw4_S_212, &&sw4_S_213, &&sw4_S_214, &&sw4_S_215, &&sw4_S_216, &&sw4_S_217, &&sw4_S_218, &&sw4_S_219, &&sw4_S_220, &&sw4_S_221, &&sw4_S_222, &&sw4_S_223, &&sw4_S_224, &&sw4_S_225, &&sw4_S_226, &&sw4_S_227, &&sw4_S_228, &&sw4_S_229, &&sw4_S_230, &&sw4_S_231, &&sw4_S_232, &&sw4_S_233, &&sw4_S_234, &&sw4_S_235, &&sw4_S_236, &&sw4_S_237, &&sw4_S_238, &&sw4_S_239, &&sw4_S_240, &&sw4_S_241, &&sw4_S_242, &&sw4_S_243, &&sw4_S_244, &&sw4_S_245, &&sw4_S_246, &&sw4_S_247, &&sw4_S_248, &&sw4_S_249, &&sw4_S_250, &&sw4_S_251, &&sw4_S_252, &&sw4_S_253, &&sw4_S_254, &&sw4_S_255,  };
                                                                //   5184  %constinteger TAB=9,
                                                                //   5185                MAX10=maxint//10, MAXDIG=maxint-max10*10
                                                                //   5186  %integer i,j,p,radix,hash
#line 5186 "regression-compile-tmp/imp22g-77.imp"
int I;
#line 5186 "regression-compile-tmp/imp22g-77.imp"
int J;
#line 5186 "regression-compile-tmp/imp22g-77.imp"
int P;
#line 5186 "regression-compile-tmp/imp22g-77.imp"
int RADIX;
#line 5186 "regression-compile-tmp/imp22g-77.imp"
int HASH;
                                                                //   5187  %real rval
#line 5187 "regression-compile-tmp/imp22g-77.imp"
float RVAL;
                                                                //   5188  %constbytearray map(0:127) =
#line 5188 "regression-compile-tmp/imp22g-77.imp"
const unsigned char MAP[128] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 0, 0, 0, 0, 0, 0, 0, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 0, 0, 0, 0, 0, 0, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 0, 0, 0, 0, 0,  };
                                                                //   5189    0 ('0'),
                                                                //   5190    '0','1','2','3','4','5','6','7','8','9',
                                                                //   5191    0, 0, 0, 0, 0, 0, 0,
                                                                //   5192    'a','b','c','d','e','f','g','h','i','j','k','l','m',
                                                                //   5193    'n','o','p','q','r','s','t','u','v','w','x','y','z',
                                                                //   5194    0, 0, 0, 0, 0, 0,
                                                                //   5195    'a','b','c','d','e','f','g','h','i','j','k','l','m',
                                                                //   5196    'n','o','p','q','r','s','t','u','v','w','x','y','z',
                                                                //   5197    0, 0, 0, 0, 0
                                                                //   5198  
                                                                //   5199  !~!!!!!!!!!!!!!!!  Ex KEYGEN  !!!!!!!!!!!!!!!!!!!!
                                                                //   5200  %CONSTSHORTINTEGERARRAY SYMINIT(97:122) =  %C
#line 5200 "regression-compile-tmp/imp22g-77.imp"
const short SYMINIT[26] = { 2, 15, 31, 72, 79, 102, 133, 137, 141, 1, 1, 156, 169, 183, 190, 205, 1, 220, 257, 297, 309, 319, 327, 1, 1, 1,  };
                                                                //   5201  2,15,31,72,79,102,133,137,141,1,1,156,169,183,190,205,
                                                                //   5202  1,220,257,297,309,319,327,1,1,1
                                                                //   5203  
                                                                //   5204  %CONSTBYTEINTEGERARRAY SYMBOL(1:340) =  %C
#line 5204 "regression-compile-tmp/imp22g-77.imp"
const unsigned char SYMBOL[340] = { 128, 114, 114, 97, 121, 166, 108, 105, 97, 115, 177, 110, 100, 200, 101, 103, 105, 110, 133, 121, 116, 101, 155, 111, 111, 108, 101, 97, 110, 155, 111, 110, 116, 105, 110, 117, 101, 134, 121, 99, 108, 101, 149, 104, 97, 114, 155, 115, 116, 114, 105, 110, 103, 159, 109, 109, 101, 110, 116, 173, 115, 116, 97, 110, 116, 151, 151, 114, 111, 108, 172, 121, 110, 97, 109, 105, 99, 153, 110, 100, 129, 108, 115, 101, 132, 120, 105, 116, 134, 118, 101, 110, 116, 174, 116, 101, 114, 110, 97, 108, 153, 105, 110, 105, 115, 104, 131, 97, 108, 115, 101, 136, 111, 114, 109, 97, 116, 162, 110, 163, 117, 110, 99, 116, 105, 111, 110, 163, 146, 108, 101, 169, 111, 116, 111, 139, 97, 108, 102, 155, 102, 143, 110, 116, 101, 103, 101, 114, 156, 99, 108, 117, 100, 101, 175, 97, 98, 101, 108, 150, 111, 110, 103, 157, 105, 115, 116, 171, 111, 110, 105, 116, 111, 114, 141, 105, 116, 101, 155, 97, 112, 163, 97, 109, 101, 161, 111, 116, 178, 110, 142, 119, 110, 152, 102, 168, 112, 116, 105, 111, 110, 176, 114, 201, 114, 101, 100, 105, 99, 97, 116, 101, 164, 111, 103, 114, 97, 109, 170, 101, 112, 101, 97, 116, 130, 111, 117, 116, 105, 110, 101, 164, 116, 117, 114, 110, 135, 115, 117, 108, 116, 137, 97, 100, 111, 110, 108, 121, 154, 99, 111, 114, 100, 160, 108, 158, 116, 111, 112, 138, 105, 103, 110, 97, 108, 140, 121, 115, 116, 101, 109, 153, 104, 111, 114, 116, 155, 112, 101, 99, 165, 119, 105, 116, 99, 104, 167, 97, 114, 116, 148, 114, 105, 110, 103, 159, 114, 117, 101, 136, 104, 101, 110, 147, 101, 120, 116, 155, 110, 108, 101, 115, 115, 143, 116, 105, 108, 145, 111, 108, 97, 116, 105, 108, 101, 154, 104, 105, 108, 101, 144, 114, 105, 116, 101, 111, 110, 108, 121, 154,  };
                                                                //   5205  128,114,114,97,121,166,108,105,97,115,177,110,100,200,101,103,
                                                                //   5206  105,110,133,121,116,101,155,111,111,108,101,97,110,155,111,110,
                                                                //   5207  116,105,110,117,101,134,121,99,108,101,149,104,97,114,155,115,
                                                                //   5208  116,114,105,110,103,159,109,109,101,110,116,173,115,116,97,110,
                                                                //   5209  116,151,151,114,111,108,172,121,110,97,109,105,99,153,110,100,
                                                                //   5210  129,108,115,101,132,120,105,116,134,118,101,110,116,174,116,101,
                                                                //   5211  114,110,97,108,153,105,110,105,115,104,131,97,108,115,101,136,
                                                                //   5212  111,114,109,97,116,162,110,163,117,110,99,116,105,111,110,163,
                                                                //   5213  146,108,101,169,111,116,111,139,97,108,102,155,102,143,110,116,
                                                                //   5214  101,103,101,114,156,99,108,117,100,101,175,97,98,101,108,150,
                                                                //   5215  111,110,103,157,105,115,116,171,111,110,105,116,111,114,141,105,
                                                                //   5216  116,101,155,97,112,163,97,109,101,161,111,116,178,110,142,119,
                                                                //   5217  110,152,102,168,112,116,105,111,110,176,114,201,114,101,100,105,
                                                                //   5218  99,97,116,101,164,111,103,114,97,109,170,101,112,101,97,116,
                                                                //   5219  130,111,117,116,105,110,101,164,116,117,114,110,135,115,117,108,
                                                                //   5220  116,137,97,100,111,110,108,121,154,99,111,114,100,160,108,158,
                                                                //   5221  116,111,112,138,105,103,110,97,108,140,121,115,116,101,109,153,
                                                                //   5222  104,111,114,116,155,112,101,99,165,119,105,116,99,104,167,97,
                                                                //   5223  114,116,148,114,105,110,103,159,114,117,101,136,104,101,110,147,
                                                                //   5224  101,120,116,155,110,108,101,115,115,143,116,105,108,145,111,108,
                                                                //   5225  97,116,105,108,101,154,104,105,108,101,144,114,105,116,101,111,
                                                                //   5226  110,108,121,154
                                                                //   5227  
                                                                //   5228  %CONSTBYTEINTEGERARRAY ALTDISP(1:340) =  %C
#line 5228 "regression-compile-tmp/imp22g-77.imp"
const unsigned char ALTDISP[340] = { 0, 5, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 4, 0, 0, 9, 0, 0, 0, 0, 0, 0, 15, 8, 23, 28, 34, 0, 0, 0, 0, 5, 0, 0, 0, 0, 4, 0, 0, 18, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 3, 0, 0, 4, 0, 0, 0, 4, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 27, 0, 0, 0, 0, 5, 0, 0, 0, 0, 6, 0, 14, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 2, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 4, 0, 0, 12, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 2, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 6, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 5, 0, 0, 0, 0, 7, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 30, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 5, 5, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 25, 0, 5, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,  };
                                                                //   5229  0,5,0,0,0,0,5,0,0,0,0,0,0,0,5,0,
                                                                //   5230  0,0,0,4,0,0,9,0,0,0,0,0,0,15,8,23,
                                                                //   5231  28,34,0,0,0,0,5,0,0,0,0,4,0,0,18,0,
                                                                //   5232  0,0,0,0,0,1,0,0,0,0,0,0,0,0,4,0,
                                                                //   5233  0,0,0,0,0,0,0,0,0,0,0,0,0,7,3,0,
                                                                //   5234  0,4,0,0,0,4,8,0,1,0,0,0,0,0,0,0,
                                                                //   5235  0,0,0,0,6,6,27,0,0,0,0,5,0,0,0,0,
                                                                //   5236  6,0,14,0,0,0,2,0,0,0,0,0,0,0,0,0,
                                                                //   5237  0,0,0,0,0,0,0,0,0,0,0,6,2,0,0,6,
                                                                //   5238  0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,
                                                                //   5239  4,0,0,0,0,0,0,0,7,0,0,0,0,0,0,4,
                                                                //   5240  0,0,12,0,0,1,4,0,0,0,0,0,0,2,0,3,
                                                                //   5241  0,0,2,0,6,0,0,0,0,0,0,0,0,8,0,0,
                                                                //   5242  0,0,0,0,1,0,0,0,0,0,0,6,12,0,0,0,
                                                                //   5243  0,0,0,0,0,0,0,0,5,0,0,0,0,5,0,0,
                                                                //   5244  0,0,7,11,0,0,0,0,0,0,0,0,0,0,0,0,
                                                                //   5245  4,30,0,0,6,0,0,0,0,0,6,0,0,0,0,5,
                                                                //   5246  5,0,0,0,3,4,0,0,0,0,0,0,0,0,0,4,
                                                                //   5247  0,0,0,0,0,0,0,0,4,0,0,1,4,0,0,0,
                                                                //   5248  0,0,0,25,0,5,0,0,0,1,0,0,0,1,0,0,
                                                                //   5249  0,0,0,0,0,2,5,0,0,0,0,0,0,0,0,0,
                                                                //   5250  0,0,0,1
                                                                //   5251  
                                                                //   5252  
                                                                //   5253  !! end of generated tables
                                                                //   5254  
                                                                //   5255  %routine GET SYM
#line 5255 "regression-compile-tmp/imp22g-77.imp"
void GETSYM( void )
#line 5255 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5256    %cycle
#line 5256 "regression-compile-tmp/imp22g-77.imp"
L_04c5:;
                                                                //   5257      sym = byteintegeR(fp);  fp = fp+1
#line 5257 "regression-compile-tmp/imp22g-77.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 5257 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   5258    %repeat %until sym # ' '
#line 5258 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (32))) goto L_04c6;
#line 5258 "regression-compile-tmp/imp22g-77.imp"
goto L_04c5;
#line 5258 "regression-compile-tmp/imp22g-77.imp"
L_04c6:;
                                                                //   5259    i = sym-'0'
#line 5259 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(SYM)) - (48));
                                                                //   5260    %if i >= 10 %start
#line 5260 "regression-compile-tmp/imp22g-77.imp"
if (((I) < (10))) goto L_04c8;
                                                                //   5261      i = sym!casebit-'a';  i = i+10 %if i >= 0
#line 5261 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(((SYM) | (32)))) - (97));
#line 5261 "regression-compile-tmp/imp22g-77.imp"
if (((I) < (0))) goto L_04c9;
#line 5261 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (10));
#line 5261 "regression-compile-tmp/imp22g-77.imp"
L_04c9:;
                                                                //   5262    %finish
#line 5262 "regression-compile-tmp/imp22g-77.imp"
L_04c8:;
                                                                //   5263  %end
#line 5263 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETSYM at level 3
                                                                //   5264  
                                                                //   5265    matched = 0
#line 5265 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 0;
                                                                //   5266  again: s(tab):
#line 5266 "regression-compile-tmp/imp22g-77.imp"
U_1027:;
#line 5266 "regression-compile-tmp/imp22g-77.imp"
sw4_S_9:;
                                                                //   5267    read line(0) %if sym = nl
#line 5267 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (10))) goto L_04ca;
#line 5267 "regression-compile-tmp/imp22g-77.imp"
READLINE(0);
#line 5267 "regression-compile-tmp/imp22g-77.imp"
L_04ca:;
                                                                //   5268  again1:
#line 5268 "regression-compile-tmp/imp22g-77.imp"
U_1028:;
                                                                //   5269    %cycle
#line 5269 "regression-compile-tmp/imp22g-77.imp"
L_04cb:;
                                                                //   5270      sym = byteintegeR(fp);  fp = fp+1
#line 5270 "regression-compile-tmp/imp22g-77.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 5270 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   5271    %repeat %until sym # ' '
#line 5271 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (32))) goto L_04cc;
#line 5271 "regression-compile-tmp/imp22g-77.imp"
goto L_04cb;
#line 5271 "regression-compile-tmp/imp22g-77.imp"
L_04cc:;
                                                                //   5272    atomp = fp;     !(actually one after)
#line 5272 "regression-compile-tmp/imp22g-77.imp"
ATOMP = FP;
                                                                //   5273    atoms = atoms+1
#line 5273 "regression-compile-tmp/imp22g-77.imp"
ATOMS = (((int)(ATOMS)) + (1));
                                                                //   5274    -> s(sym)
#line 5274 "regression-compile-tmp/imp22g-77.imp"
sw4_S_idx = SYM; if ((0 <= sw4_S_idx) && (sw4_S_idx <= 255)) goto *sw4_S[sw4_S_idx]; else {
   /*_imp_signal(8, 2, sw4_S_idx);*/
   fprintf(stderr, "%%SWITCH index S(%d) not in range 0:255 at %s:%d\n",
           sw4_S_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   5275  linebreak: s(nl):
#line 5275 "regression-compile-tmp/imp22g-77.imp"
U_1029:;
#line 5275 "regression-compile-tmp/imp22g-77.imp"
sw4_S_10:;
                                                                //   5276    %result = terminator %if atom # comma
#line 5276 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) == (60))) goto L_04ce;
#line 5276 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 51;
#line 5276 "regression-compile-tmp/imp22g-77.imp"
L_04ce:;
                                                                //   5277  continuation:
#line 5277 "regression-compile-tmp/imp22g-77.imp"
U_102a:;
                                                                //   5278    read line('+')
#line 5278 "regression-compile-tmp/imp22g-77.imp"
READLINE(43);
                                                                //   5279    -> again1
#line 5279 "regression-compile-tmp/imp22g-77.imp"
goto U_1028;
                                                                //   5280  
                                                                //   5281  s('{'):
#line 5281 "regression-compile-tmp/imp22g-77.imp"
sw4_S_123:;
                                                                //   5282    comments = comments+1
#line 5282 "regression-compile-tmp/imp22g-77.imp"
COMMENTS = (((int)(COMMENTS)) + (1));
                                                                //   5283    %cycle
#line 5283 "regression-compile-tmp/imp22g-77.imp"
L_04cf:;
                                                                //   5284      sym = byteintegeR(fp);  fp = fp+1
#line 5284 "regression-compile-tmp/imp22g-77.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 5284 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   5285      -> linebreak %if sym = nl
#line 5285 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (10))) goto L_04d2;
#line 5285 "regression-compile-tmp/imp22g-77.imp"
goto U_1029;
#line 5285 "regression-compile-tmp/imp22g-77.imp"
L_04d2:;
                                                                //   5286    %repeat %until sym = '}'
#line 5286 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) == (125))) goto L_04d0;
#line 5286 "regression-compile-tmp/imp22g-77.imp"
goto L_04cf;
#line 5286 "regression-compile-tmp/imp22g-77.imp"
L_04d0:;
                                                                //   5287    -> again
#line 5287 "regression-compile-tmp/imp22g-77.imp"
goto U_1027;
                                                                //   5288  
                                                                //   5289  s('+'): %result = plus
#line 5289 "regression-compile-tmp/imp22g-77.imp"
sw4_S_43:;
#line 5289 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 83;
                                                                //   5290  s('-'): fp = fp+1 %and %result = arrow %if byteintegeR(fp) = '>'
#line 5290 "regression-compile-tmp/imp22g-77.imp"
sw4_S_45:;
#line 5290 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (62))) goto L_04d3;
#line 5290 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
#line 5290 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 74;
#line 5290 "regression-compile-tmp/imp22g-77.imp"
L_04d3:;
                                                                //   5291          -> continuation %if byteintegeR(fp) = nl
#line 5291 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (10))) goto L_04d4;
#line 5291 "regression-compile-tmp/imp22g-77.imp"
goto U_102a;
#line 5291 "regression-compile-tmp/imp22g-77.imp"
L_04d4:;
                                                                //   5292          %result = minus
#line 5292 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 84;
                                                                //   5293  s('*'): %result = star
#line 5293 "regression-compile-tmp/imp22g-77.imp"
sw4_S_42:;
#line 5293 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 88;
                                                                //   5294  s('/'): fp = fp+1 %and %result = slash2 %if byteintegeR(fp) = '/'
#line 5294 "regression-compile-tmp/imp22g-77.imp"
sw4_S_47:;
#line 5294 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (47))) goto L_04d5;
#line 5294 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
#line 5294 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 89;
#line 5294 "regression-compile-tmp/imp22g-77.imp"
L_04d5:;
                                                                //   5295          %result = slash
#line 5295 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 90;
                                                                //   5296  s('\'): fp = fp+1 %and %result = backslash2 %if byteintegeR(fp) = '\'
#line 5296 "regression-compile-tmp/imp22g-77.imp"
sw4_S_92:;
#line 5296 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (92))) goto L_04d6;
#line 5296 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
#line 5296 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 95;
#line 5296 "regression-compile-tmp/imp22g-77.imp"
L_04d6:;
                                                                //   5297          fp = fp+1 %and %result = noteq %if byteinteger(fp) = '='
#line 5297 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (61))) goto L_04d7;
#line 5297 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
#line 5297 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 78;
#line 5297 "regression-compile-tmp/imp22g-77.imp"
L_04d7:;
                                                                //   5298          %result = backslash
#line 5298 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 93;
                                                                //   5299  s('^'): fp = fp+1 %and %result = uparrow2 %if byteintegeR(fp) = '^'
#line 5299 "regression-compile-tmp/imp22g-77.imp"
sw4_S_94:;
#line 5299 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (94))) goto L_04d8;
#line 5299 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
#line 5299 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 96;
#line 5299 "regression-compile-tmp/imp22g-77.imp"
L_04d8:;
                                                                //   5300          %result = uparrow
#line 5300 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 94;
                                                                //   5301  s('~'): %result = tilde
#line 5301 "regression-compile-tmp/imp22g-77.imp"
sw4_S_126:;
#line 5301 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 97;
                                                                //   5302  s('!'): fp = fp+1 %and %result = exclam2 %if byteintegeR(fp) = '!'
#line 5302 "regression-compile-tmp/imp22g-77.imp"
sw4_S_33:;
#line 5302 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (33))) goto L_04d9;
#line 5302 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
#line 5302 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 86;
#line 5302 "regression-compile-tmp/imp22g-77.imp"
L_04d9:;
                                                                //   5303          %result = exclam
#line 5303 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 85;
                                                                //   5304  s('&'): %result = ampersand
#line 5304 "regression-compile-tmp/imp22g-77.imp"
sw4_S_38:;
#line 5304 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 91;
                                                                //   5305  s('.'): rval = 0 %and -> fraction %if '0' <= byteinteger(fp) <= '9'
#line 5305 "regression-compile-tmp/imp22g-77.imp"
sw4_S_46:;
#line 5305 "regression-compile-tmp/imp22g-77.imp"
if (({int tmp1 = 48, tmp2 = *_imp_BYTEINTEGER(FP), tmp3 = 57; (tmp1 > tmp2) || (tmp2 > tmp3);})) goto L_04da;
#line 5305 "regression-compile-tmp/imp22g-77.imp"
RVAL = 0;
#line 5305 "regression-compile-tmp/imp22g-77.imp"
goto U_102b;
#line 5305 "regression-compile-tmp/imp22g-77.imp"
L_04da:;
                                                                //   5306          %result = dot
#line 5306 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 87;
                                                                //   5307  s('='): fp = fp+1 %and %result = eqeq %if byteintegeR(fp) = '='
#line 5307 "regression-compile-tmp/imp22g-77.imp"
sw4_S_61:;
#line 5307 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (61))) goto L_04db;
#line 5307 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
#line 5307 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 75;
#line 5307 "regression-compile-tmp/imp22g-77.imp"
L_04db:;
                                                                //   5308          %result = equals
#line 5308 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 77;
                                                                //   5309  s('#'): fp = fp+1 %and %result = noteqeq %if byteintegeR(fp) = '#'
#line 5309 "regression-compile-tmp/imp22g-77.imp"
sw4_S_35:;
#line 5309 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (35))) goto L_04dc;
#line 5309 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
#line 5309 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 76;
#line 5309 "regression-compile-tmp/imp22g-77.imp"
L_04dc:;
                                                                //   5310          %result = noteq
#line 5310 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 78;
                                                                //   5311  s('<'): fp = fp+1 %and %result = lesseq %if byteintegeR(fp) = '='
#line 5311 "regression-compile-tmp/imp22g-77.imp"
sw4_S_60:;
#line 5311 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (61))) goto L_04dd;
#line 5311 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
#line 5311 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 79;
#line 5311 "regression-compile-tmp/imp22g-77.imp"
L_04dd:;
                                                                //   5312          fp = fp+1 %and %result = noteq %if byteintegeR(fp) = '>'
#line 5312 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (62))) goto L_04de;
#line 5312 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
#line 5312 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 78;
#line 5312 "regression-compile-tmp/imp22g-77.imp"
L_04de:;
                                                                //   5313          fp = fp+1 %and %result = lshift %if byteintegeR(fp) = '<'
#line 5313 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (60))) goto L_04df;
#line 5313 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
#line 5313 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 98;
#line 5313 "regression-compile-tmp/imp22g-77.imp"
L_04df:;
                                                                //   5314          %result = less
#line 5314 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 80;
                                                                //   5315  s('>'): fp = fp+1 %and %result = greateq %if byteintegeR(fp) = '='
#line 5315 "regression-compile-tmp/imp22g-77.imp"
sw4_S_62:;
#line 5315 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (61))) goto L_04e0;
#line 5315 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
#line 5315 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 81;
#line 5315 "regression-compile-tmp/imp22g-77.imp"
L_04e0:;
                                                                //   5316          fp = fp+1 %and %result = rshift %if byteintegeR(fp) = '>'
#line 5316 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (62))) goto L_04e1;
#line 5316 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
#line 5316 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 99;
#line 5316 "regression-compile-tmp/imp22g-77.imp"
L_04e1:;
                                                                //   5317          %result = greater
#line 5317 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 82;
                                                                //   5318  s('_'): %result = underline
#line 5318 "regression-compile-tmp/imp22g-77.imp"
sw4_S_95:;
#line 5318 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 58;
                                                                //   5319  s(':'): %result = colon
#line 5319 "regression-compile-tmp/imp22g-77.imp"
sw4_S_58:;
#line 5319 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 59;
                                                                //   5320  s(','): %result = comma
#line 5320 "regression-compile-tmp/imp22g-77.imp"
sw4_S_44:;
#line 5320 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 60;
                                                                //   5321  s(';'): %result = terminator
#line 5321 "regression-compile-tmp/imp22g-77.imp"
sw4_S_59:;
#line 5321 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 51;
                                                                //   5322  s('('): %result = left
#line 5322 "regression-compile-tmp/imp22g-77.imp"
sw4_S_40:;
#line 5322 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 55;
                                                                //   5323  s('['): %result = leftb
#line 5323 "regression-compile-tmp/imp22g-77.imp"
sw4_S_91:;
#line 5323 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 56;
                                                                //   5324  s(')'): %result = right
#line 5324 "regression-compile-tmp/imp22g-77.imp"
sw4_S_41:;
#line 5324 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 61;
                                                                //   5325  s(']'): %result = rightb
#line 5325 "regression-compile-tmp/imp22g-77.imp"
sw4_S_93:;
#line 5325 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 62;
                                                                //   5326  s('|'): %result = modsign
#line 5326 "regression-compile-tmp/imp22g-77.imp"
sw4_S_124:;
#line 5326 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 54;
                                                                //   5327  s('@'): %result = atsign
#line 5327 "regression-compile-tmp/imp22g-77.imp"
sw4_S_64:;
#line 5327 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 57;
                                                                //   5328  
                                                                //   5329  s('M'): s('m'):
#line 5329 "regression-compile-tmp/imp22g-77.imp"
sw4_S_77:;
#line 5329 "regression-compile-tmp/imp22g-77.imp"
sw4_S_109:;
                                                                //   5330    fp = fp+1 %and -> charconst %if byteintegeR(fp) = ''''
#line 5330 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (39))) goto L_04e2;
#line 5330 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
#line 5330 "regression-compile-tmp/imp22g-77.imp"
goto U_102c;
#line 5330 "regression-compile-tmp/imp22g-77.imp"
L_04e2:;
                                                                //   5331  s('A'):s('B'):s('C'):s('D'):s('E'):s('F'):s('G'):s('H'):
#line 5331 "regression-compile-tmp/imp22g-77.imp"
sw4_S_65:;
#line 5331 "regression-compile-tmp/imp22g-77.imp"
sw4_S_66:;
#line 5331 "regression-compile-tmp/imp22g-77.imp"
sw4_S_67:;
#line 5331 "regression-compile-tmp/imp22g-77.imp"
sw4_S_68:;
#line 5331 "regression-compile-tmp/imp22g-77.imp"
sw4_S_69:;
#line 5331 "regression-compile-tmp/imp22g-77.imp"
sw4_S_70:;
#line 5331 "regression-compile-tmp/imp22g-77.imp"
sw4_S_71:;
#line 5331 "regression-compile-tmp/imp22g-77.imp"
sw4_S_72:;
                                                                //   5332  s('I'):s('J'):s('K'):s('L'):s('N'):s('O'):s('P'):
#line 5332 "regression-compile-tmp/imp22g-77.imp"
sw4_S_73:;
#line 5332 "regression-compile-tmp/imp22g-77.imp"
sw4_S_74:;
#line 5332 "regression-compile-tmp/imp22g-77.imp"
sw4_S_75:;
#line 5332 "regression-compile-tmp/imp22g-77.imp"
sw4_S_76:;
#line 5332 "regression-compile-tmp/imp22g-77.imp"
sw4_S_78:;
#line 5332 "regression-compile-tmp/imp22g-77.imp"
sw4_S_79:;
#line 5332 "regression-compile-tmp/imp22g-77.imp"
sw4_S_80:;
                                                                //   5333  s('Q'):s('R'):s('S'):s('T'):s('U'):s('V'):s('W'):s('X'):
#line 5333 "regression-compile-tmp/imp22g-77.imp"
sw4_S_81:;
#line 5333 "regression-compile-tmp/imp22g-77.imp"
sw4_S_82:;
#line 5333 "regression-compile-tmp/imp22g-77.imp"
sw4_S_83:;
#line 5333 "regression-compile-tmp/imp22g-77.imp"
sw4_S_84:;
#line 5333 "regression-compile-tmp/imp22g-77.imp"
sw4_S_85:;
#line 5333 "regression-compile-tmp/imp22g-77.imp"
sw4_S_86:;
#line 5333 "regression-compile-tmp/imp22g-77.imp"
sw4_S_87:;
#line 5333 "regression-compile-tmp/imp22g-77.imp"
sw4_S_88:;
                                                                //   5334  s('Y'):s('Z'):s('a'):s('b'):s('c'):s('d'):s('e'):s('f'):
#line 5334 "regression-compile-tmp/imp22g-77.imp"
sw4_S_89:;
#line 5334 "regression-compile-tmp/imp22g-77.imp"
sw4_S_90:;
#line 5334 "regression-compile-tmp/imp22g-77.imp"
sw4_S_97:;
#line 5334 "regression-compile-tmp/imp22g-77.imp"
sw4_S_98:;
#line 5334 "regression-compile-tmp/imp22g-77.imp"
sw4_S_99:;
#line 5334 "regression-compile-tmp/imp22g-77.imp"
sw4_S_100:;
#line 5334 "regression-compile-tmp/imp22g-77.imp"
sw4_S_101:;
#line 5334 "regression-compile-tmp/imp22g-77.imp"
sw4_S_102:;
                                                                //   5335  s('g'):s('h'):s('i'):s('j'):s('k'):s('l'):s('n'):
#line 5335 "regression-compile-tmp/imp22g-77.imp"
sw4_S_103:;
#line 5335 "regression-compile-tmp/imp22g-77.imp"
sw4_S_104:;
#line 5335 "regression-compile-tmp/imp22g-77.imp"
sw4_S_105:;
#line 5335 "regression-compile-tmp/imp22g-77.imp"
sw4_S_106:;
#line 5335 "regression-compile-tmp/imp22g-77.imp"
sw4_S_107:;
#line 5335 "regression-compile-tmp/imp22g-77.imp"
sw4_S_108:;
#line 5335 "regression-compile-tmp/imp22g-77.imp"
sw4_S_110:;
                                                                //   5336  s('o'):s('p'):s('q'):s('r'):s('s'):s('t'):s('u'):s('v'):
#line 5336 "regression-compile-tmp/imp22g-77.imp"
sw4_S_111:;
#line 5336 "regression-compile-tmp/imp22g-77.imp"
sw4_S_112:;
#line 5336 "regression-compile-tmp/imp22g-77.imp"
sw4_S_113:;
#line 5336 "regression-compile-tmp/imp22g-77.imp"
sw4_S_114:;
#line 5336 "regression-compile-tmp/imp22g-77.imp"
sw4_S_115:;
#line 5336 "regression-compile-tmp/imp22g-77.imp"
sw4_S_116:;
#line 5336 "regression-compile-tmp/imp22g-77.imp"
sw4_S_117:;
#line 5336 "regression-compile-tmp/imp22g-77.imp"
sw4_S_118:;
                                                                //   5337  s('w'):s('x'):s('y'):s('z'):
#line 5337 "regression-compile-tmp/imp22g-77.imp"
sw4_S_119:;
#line 5337 "regression-compile-tmp/imp22g-77.imp"
sw4_S_120:;
#line 5337 "regression-compile-tmp/imp22g-77.imp"
sw4_S_121:;
#line 5337 "regression-compile-tmp/imp22g-77.imp"
sw4_S_122:;
                                                                //   5338    -> keyword %if percent # 0
#line 5338 "regression-compile-tmp/imp22g-77.imp"
if (((PERCENT) == (0))) goto L_04e3;
#line 5338 "regression-compile-tmp/imp22g-77.imp"
goto U_102d;
#line 5338 "regression-compile-tmp/imp22g-77.imp"
L_04e3:;
                                                                //   5339    newlen = charlim+1;  hash = sym!casebit;  !lower-case (if letter)
#line 5339 "regression-compile-tmp/imp22g-77.imp"
NEWLEN = (((int)(CHARLIM)) + (1));
#line 5339 "regression-compile-tmp/imp22g-77.imp"
HASH = ((SYM) | (32));
                                                                //   5340    byteinteger(newlen) = hash
#line 5340 "regression-compile-tmp/imp22g-77.imp"
*_imp_BYTEINTEGER(NEWLEN) = HASH;
                                                                //   5341    %cycle
#line 5341 "regression-compile-tmp/imp22g-77.imp"
L_04e4:;
                                                                //   5342      sym = byteintegeR(fp);  fp = fp+1
#line 5342 "regression-compile-tmp/imp22g-77.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 5342 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   5343    %repeat %until sym # ' '
#line 5343 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (32))) goto L_04e5;
#line 5343 "regression-compile-tmp/imp22g-77.imp"
goto L_04e4;
#line 5343 "regression-compile-tmp/imp22g-77.imp"
L_04e5:;
                                                                //   5344    %if sym = '''' %start;  !damned IBM-style literals
#line 5344 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (39))) goto L_04e7;
                                                                //   5345      radix = 16 %and ->ibm %if hash = 'x'
#line 5345 "regression-compile-tmp/imp22g-77.imp"
if (((HASH) != (120))) goto L_04e8;
#line 5345 "regression-compile-tmp/imp22g-77.imp"
RADIX = 16;
#line 5345 "regression-compile-tmp/imp22g-77.imp"
goto U_102e;
#line 5345 "regression-compile-tmp/imp22g-77.imp"
L_04e8:;
                                                                //   5346      radix = 8 %and ->ibm %if hash = 'k'
#line 5346 "regression-compile-tmp/imp22g-77.imp"
if (((HASH) != (107))) goto L_04e9;
#line 5346 "regression-compile-tmp/imp22g-77.imp"
RADIX = 8;
#line 5346 "regression-compile-tmp/imp22g-77.imp"
goto U_102e;
#line 5346 "regression-compile-tmp/imp22g-77.imp"
L_04e9:;
                                                                //   5347      radix = 2 %and ->ibm %if hash = 'b'
#line 5347 "regression-compile-tmp/imp22g-77.imp"
if (((HASH) != (98))) goto L_04ea;
#line 5347 "regression-compile-tmp/imp22g-77.imp"
RADIX = 2;
#line 5347 "regression-compile-tmp/imp22g-77.imp"
goto U_102e;
#line 5347 "regression-compile-tmp/imp22g-77.imp"
L_04ea:;
                                                                //   5348    %finish
#line 5348 "regression-compile-tmp/imp22g-77.imp"
L_04e7:;
                                                                //   5349    sym = map(sym)
#line 5349 "regression-compile-tmp/imp22g-77.imp"
SYM = MAP[SYM];
                                                                //   5350    %if sym # 0 %start
#line 5350 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) == (0))) goto L_04eb;
                                                                //   5351      %cycle
#line 5351 "regression-compile-tmp/imp22g-77.imp"
L_04ec:;
                                                                //   5352        newlen = newlen+1;  byteinteger(newlen) = sym
#line 5352 "regression-compile-tmp/imp22g-77.imp"
NEWLEN = (((int)(NEWLEN)) + (1));
#line 5352 "regression-compile-tmp/imp22g-77.imp"
*_imp_BYTEINTEGER(NEWLEN) = SYM;
                                                                //   5353        hash = hash<<1!!sym
#line 5353 "regression-compile-tmp/imp22g-77.imp"
HASH = ((((HASH) << (1))) ^ (SYM));
                                                                //   5354        %cycle
#line 5354 "regression-compile-tmp/imp22g-77.imp"
L_04ef:;
                                                                //   5355          sym = byteintegeR(fp);  fp = fp+1
#line 5355 "regression-compile-tmp/imp22g-77.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 5355 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   5356        %repeat %until sym # ' '
#line 5356 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (32))) goto L_04f0;
#line 5356 "regression-compile-tmp/imp22g-77.imp"
goto L_04ef;
#line 5356 "regression-compile-tmp/imp22g-77.imp"
L_04f0:;
                                                                //   5357        sym = map(sym)
#line 5357 "regression-compile-tmp/imp22g-77.imp"
SYM = MAP[SYM];
                                                                //   5358      %repeat %until sym = 0
#line 5358 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) == (0))) goto L_04ed;
#line 5358 "regression-compile-tmp/imp22g-77.imp"
goto L_04ec;
#line 5358 "regression-compile-tmp/imp22g-77.imp"
L_04ed:;
                                                                //   5359    %finish
#line 5359 "regression-compile-tmp/imp22g-77.imp"
L_04eb:;
                                                                //   5360    fp = fp-1
#line 5360 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) - (1));
                                                                //   5361    newlen = newlen-charlim;  byteinteger(charlim) = newlen
#line 5361 "regression-compile-tmp/imp22g-77.imp"
NEWLEN = (((int)(NEWLEN)) - (CHARLIM));
#line 5361 "regression-compile-tmp/imp22g-77.imp"
*_imp_BYTEINTEGER(CHARLIM) = NEWLEN;
                                                                //   5362    %if subbed # 0 %then head == dformat_link %c
#line 5362 "regression-compile-tmp/imp22g-77.imp"
if (((SUBBED) == (0))) goto L_04f2;
#line 5362 "regression-compile-tmp/imp22g-77.imp"
HEAD = &DFORMAT->LINK;
#line 5362 "regression-compile-tmp/imp22g-77.imp"
goto L_04f3;
#line 5362 "regression-compile-tmp/imp22g-77.imp"
L_04f2:;
#line 5362 "regression-compile-tmp/imp22g-77.imp"
HEAD = &HASHINDEX[((HASH) & (255))];
#line 5362 "regression-compile-tmp/imp22g-77.imp"
L_04f3:;
                                                                //   5363    %else head == hashindex(hash&255)
                                                                //   5364    item = head
#line 5364 "regression-compile-tmp/imp22g-77.imp"
ITEM = *HEAD;
                                                                //   5365    %if item # 0 %start
#line 5365 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) == (0))) goto L_04f4;
                                                                //   5366      %cycle
#line 5366 "regression-compile-tmp/imp22g-77.imp"
L_04f5:;
                                                                //   5367        ditem == dict(imod(item))
#line 5367 "regression-compile-tmp/imp22g-77.imp"
DITEM = &DICT[_imp_IMOD(ITEM)];
                                                                //   5368        %exit %if string(ditem_text+char0) = string(charlim) %c
#line 5368 "regression-compile-tmp/imp22g-77.imp"
if ((_imp_strcmp(*_imp_STRING((((int)(DITEM->TEXT)) + (CHAR0))), *_imp_STRING(CHARLIM)) != 0)) goto L_04f8;
#line 5368 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) > (16))) goto L_04f1;
#line 5368 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) < (0))) goto L_04f1;
#line 5368 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (16384))) == (0))) goto L_04f8;
#line 5368 "regression-compile-tmp/imp22g-77.imp"
L_04f1:;
#line 5368 "regression-compile-tmp/imp22g-77.imp"
goto L_04f6;
#line 5368 "regression-compile-tmp/imp22g-77.imp"
L_04f8:;
                                                                //   5369              %and (item > a7 %or item < 0 %or control&lowbit # 0)
                                                                //   5370        item = ditem_hlink
#line 5370 "regression-compile-tmp/imp22g-77.imp"
ITEM = DITEM->HLINK;
                                                                //   5371      %repeat %until item = 0
#line 5371 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) == (0))) goto L_04f6;
#line 5371 "regression-compile-tmp/imp22g-77.imp"
goto L_04f5;
#line 5371 "regression-compile-tmp/imp22g-77.imp"
L_04f6:;
                                                                //   5372    %finish
#line 5372 "regression-compile-tmp/imp22g-77.imp"
L_04f4:;
                                                                //   5373    identatoms = identatoms+1
#line 5373 "regression-compile-tmp/imp22g-77.imp"
IDENTATOMS = (((int)(IDENTATOMS)) + (1));
                                                                //   5374    %result = ident
#line 5374 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 53;
                                                                //   5375  
                                                                //   5376  s('%'):
#line 5376 "regression-compile-tmp/imp22g-77.imp"
sw4_S_37:;
                                                                //   5377    sym = byteintegeR(fp)
#line 5377 "regression-compile-tmp/imp22g-77.imp"
SYM = *_imp_BYTEINTEGER(FP);
                                                                //   5378    -> again %unless 'a' <= sym!casebit <= 'z'
#line 5378 "regression-compile-tmp/imp22g-77.imp"
if ((((97) > (((SYM) | (32))))) || (((((SYM) | (32))) <= (122)))) goto L_04f9;
#line 5378 "regression-compile-tmp/imp22g-77.imp"
L_04e6:;
#line 5378 "regression-compile-tmp/imp22g-77.imp"
goto U_1027;
#line 5378 "regression-compile-tmp/imp22g-77.imp"
L_04f9:;
                                                                //   5379    fp = fp+1
#line 5379 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   5380  keyword:
#line 5380 "regression-compile-tmp/imp22g-77.imp"
U_102d:;
                                                                //   5381    percent = 0
#line 5381 "regression-compile-tmp/imp22g-77.imp"
PERCENT = 0;
                                                                //   5382    p = syminit(sym!casebit)
#line 5382 "regression-compile-tmp/imp22g-77.imp"
P = (SYMINIT-97)[((SYM) | (32))];
                                                                //   5383    %cycle
#line 5383 "regression-compile-tmp/imp22g-77.imp"
L_04fa:;
                                                                //   5384  !     %cycle
                                                                //   5385  !       sym = byteintegeR(fp)!casebit
                                                                //   5386  !       %exit %if symbol(p) # sym
                                                                //   5387      %while symbol(p) = byteintegeR(fp)!casebit %cycle
#line 5387 "regression-compile-tmp/imp22g-77.imp"
L_04fd:;
#line 5387 "regression-compile-tmp/imp22g-77.imp"
if ((((SYMBOL-1)[P]) != (((*_imp_BYTEINTEGER(FP)) | (32))))) goto L_04fe;
                                                                //   5388        p = p+1;  fp = fp+1
#line 5388 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(P)) + (1));
#line 5388 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   5389      %repeat
#line 5389 "regression-compile-tmp/imp22g-77.imp"
goto L_04fd;
#line 5389 "regression-compile-tmp/imp22g-77.imp"
L_04fe:;
                                                                //   5390      %exit %if symbol(p) > 127
#line 5390 "regression-compile-tmp/imp22g-77.imp"
if ((((SYMBOL-1)[P]) <= (127))) goto L_0500;
#line 5390 "regression-compile-tmp/imp22g-77.imp"
goto L_04fb;
#line 5390 "regression-compile-tmp/imp22g-77.imp"
L_0500:;
                                                                //   5391      atom = altdisp(p)
#line 5391 "regression-compile-tmp/imp22g-77.imp"
ATOM = (ALTDISP-1)[P];
                                                                //   5392      %if atom = 0 %start
#line 5392 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (0))) goto L_0501;
                                                                //   5393        %result = dud %unless sym!casebit = 'c' %and byteintegeR(fp) = nl
#line 5393 "regression-compile-tmp/imp22g-77.imp"
if (((((SYM) | (32))) != (99))) goto L_0502;
#line 5393 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) == (10))) goto L_0503;
#line 5393 "regression-compile-tmp/imp22g-77.imp"
L_0502:;
#line 5393 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 5393 "regression-compile-tmp/imp22g-77.imp"
L_0503:;
                                                                //   5394        ->continuation
#line 5394 "regression-compile-tmp/imp22g-77.imp"
goto U_102a;
                                                                //   5395      %finish
#line 5395 "regression-compile-tmp/imp22g-77.imp"
L_0501:;
                                                                //   5396      p = p+atom
#line 5396 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(P)) + (ATOM));
                                                                //   5397    %repeat
#line 5397 "regression-compile-tmp/imp22g-77.imp"
goto L_04fa;
#line 5397 "regression-compile-tmp/imp22g-77.imp"
L_04fb:;
                                                                //   5398    percent = 1 %if 'a' <= byteintegeR(fp)!casebit <= 'z'
#line 5398 "regression-compile-tmp/imp22g-77.imp"
if ((((97) > (((*_imp_BYTEINTEGER(FP)) | (32))))) || (((((*_imp_BYTEINTEGER(FP)) | (32))) > (122)))) goto L_0504;
#line 5398 "regression-compile-tmp/imp22g-77.imp"
PERCENT = 1;
#line 5398 "regression-compile-tmp/imp22g-77.imp"
L_0504:;
                                                                //   5399    subatom = altdisp(p)
#line 5399 "regression-compile-tmp/imp22g-77.imp"
SUBATOM = (ALTDISP-1)[P];
                                                                //   5400    atom = symbol(p)-128
#line 5400 "regression-compile-tmp/imp22g-77.imp"
ATOM = (((int)((SYMBOL-1)[P])) - (128));
                                                                //   5401    %result = dud %if atom = 0
#line 5401 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (0))) goto L_0505;
#line 5401 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 5401 "regression-compile-tmp/imp22g-77.imp"
L_0505:;
                                                                //   5402    %result = atom
#line 5402 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return ATOM;
                                                                //   5403  
                                                                //   5404  ibm:
#line 5404 "regression-compile-tmp/imp22g-77.imp"
U_102e:;
                                                                //   5405    nonstandard(20)
#line 5405 "regression-compile-tmp/imp22g-77.imp"
NONSTANDARD(20);
                                                                //   5406    item = -1;  value = 0
#line 5406 "regression-compile-tmp/imp22g-77.imp"
ITEM = (-1);
#line 5406 "regression-compile-tmp/imp22g-77.imp"
VALUE = 0;
                                                                //   5407    -> ibm1
#line 5407 "regression-compile-tmp/imp22g-77.imp"
goto U_102f;
                                                                //   5408  s('0'):s('1'):s('2'):s('3'):s('4'):s('5'):s('6'):s('7'):s('8'):s('9'):
#line 5408 "regression-compile-tmp/imp22g-77.imp"
sw4_S_48:;
#line 5408 "regression-compile-tmp/imp22g-77.imp"
sw4_S_49:;
#line 5408 "regression-compile-tmp/imp22g-77.imp"
sw4_S_50:;
#line 5408 "regression-compile-tmp/imp22g-77.imp"
sw4_S_51:;
#line 5408 "regression-compile-tmp/imp22g-77.imp"
sw4_S_52:;
#line 5408 "regression-compile-tmp/imp22g-77.imp"
sw4_S_53:;
#line 5408 "regression-compile-tmp/imp22g-77.imp"
sw4_S_54:;
#line 5408 "regression-compile-tmp/imp22g-77.imp"
sw4_S_55:;
#line 5408 "regression-compile-tmp/imp22g-77.imp"
sw4_S_56:;
#line 5408 "regression-compile-tmp/imp22g-77.imp"
sw4_S_57:;
                                                                //   5409    item = 0;  type = inttype
#line 5409 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
#line 5409 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   5410    radix = 10;  value = sym-'0'
#line 5410 "regression-compile-tmp/imp22g-77.imp"
RADIX = 10;
#line 5410 "regression-compile-tmp/imp22g-77.imp"
VALUE = (((int)(SYM)) - (48));
                                                                //   5411  ibm1:
#line 5411 "regression-compile-tmp/imp22g-77.imp"
U_102f:;
                                                                //   5412    %cycle
#line 5412 "regression-compile-tmp/imp22g-77.imp"
L_0506:;
                                                                //   5413      %cycle
#line 5413 "regression-compile-tmp/imp22g-77.imp"
L_0509:;
                                                                //   5414        %cycle
#line 5414 "regression-compile-tmp/imp22g-77.imp"
L_050c:;
                                                                //   5415          sym = byteintegeR(fp);  fp = fp+1
#line 5415 "regression-compile-tmp/imp22g-77.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 5415 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   5416        %repeat %until sym # ' '
#line 5416 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (32))) goto L_050d;
#line 5416 "regression-compile-tmp/imp22g-77.imp"
goto L_050c;
#line 5416 "regression-compile-tmp/imp22g-77.imp"
L_050d:;
                                                                //   5417        i = sym-'0'
#line 5417 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(SYM)) - (48));
                                                                //   5418        %if radix = 10 %start
#line 5418 "regression-compile-tmp/imp22g-77.imp"
if (((RADIX) != (10))) goto L_050f;
                                                                //   5419          %exit %if i < 0 %or i >= 10
#line 5419 "regression-compile-tmp/imp22g-77.imp"
if (((I) < (0))) goto L_0482;
#line 5419 "regression-compile-tmp/imp22g-77.imp"
if (((I) < (10))) goto L_0510;
#line 5419 "regression-compile-tmp/imp22g-77.imp"
L_0482:;
#line 5419 "regression-compile-tmp/imp22g-77.imp"
goto L_050a;
#line 5419 "regression-compile-tmp/imp22g-77.imp"
L_0510:;
                                                                //   5420          fault(rangerr+point+warn) %if value > max10 %or (value=max10 %and i > maxdig)
#line 5420 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) > (214748364))) goto L_0511;
#line 5420 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) != (214748364))) goto L_0512;
#line 5420 "regression-compile-tmp/imp22g-77.imp"
if (((I) <= (7))) goto L_0512;
#line 5420 "regression-compile-tmp/imp22g-77.imp"
L_0511:;
#line 5420 "regression-compile-tmp/imp22g-77.imp"
FAULT((-40));
#line 5420 "regression-compile-tmp/imp22g-77.imp"
L_0512:;
                                                                //   5421          value = (value<<2+value)<<1+i
#line 5421 "regression-compile-tmp/imp22g-77.imp"
VALUE = (((int)((((((int)(((VALUE) << (2)))) + (VALUE))) << (1)))) + (I));
                                                                //   5422        %else
#line 5422 "regression-compile-tmp/imp22g-77.imp"
goto L_0513;
#line 5422 "regression-compile-tmp/imp22g-77.imp"
L_050f:;
                                                                //   5423          i = sym!casebit-'a'+10 %if i >= 10
#line 5423 "regression-compile-tmp/imp22g-77.imp"
if (((I) < (10))) goto L_0514;
#line 5423 "regression-compile-tmp/imp22g-77.imp"
I = (((int)((((int)(((SYM) | (32)))) - (97)))) + (10));
#line 5423 "regression-compile-tmp/imp22g-77.imp"
L_0514:;
                                                                //   5424          %exit %if i < 0 %or i >= radix
#line 5424 "regression-compile-tmp/imp22g-77.imp"
if (((I) < (0))) goto L_0515;
#line 5424 "regression-compile-tmp/imp22g-77.imp"
if (((I) < (RADIX))) goto L_0516;
#line 5424 "regression-compile-tmp/imp22g-77.imp"
L_0515:;
#line 5424 "regression-compile-tmp/imp22g-77.imp"
goto L_050a;
#line 5424 "regression-compile-tmp/imp22g-77.imp"
L_0516:;
                                                                //   5425          j = radix
#line 5425 "regression-compile-tmp/imp22g-77.imp"
J = RADIX;
                                                                //   5426          %cycle
#line 5426 "regression-compile-tmp/imp22g-77.imp"
L_0517:;
                                                                //   5427            i = i+value %if j&1 # 0
#line 5427 "regression-compile-tmp/imp22g-77.imp"
if (((((J) & (1))) == (0))) goto L_051a;
#line 5427 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (VALUE));
#line 5427 "regression-compile-tmp/imp22g-77.imp"
L_051a:;
                                                                //   5428            value = value<<1;  j = j>>1
#line 5428 "regression-compile-tmp/imp22g-77.imp"
VALUE = ((VALUE) << (1));
#line 5428 "regression-compile-tmp/imp22g-77.imp"
J = (int)((((unsigned int)(J)) >> (1)));
                                                                //   5429          %repeat %until j = 0
#line 5429 "regression-compile-tmp/imp22g-77.imp"
if (((J) == (0))) goto L_0518;
#line 5429 "regression-compile-tmp/imp22g-77.imp"
goto L_0517;
#line 5429 "regression-compile-tmp/imp22g-77.imp"
L_0518:;
                                                                //   5430          value = i
#line 5430 "regression-compile-tmp/imp22g-77.imp"
VALUE = I;
                                                                //   5431        %finish
#line 5431 "regression-compile-tmp/imp22g-77.imp"
L_0513:;
                                                                //   5432      %repeat
#line 5432 "regression-compile-tmp/imp22g-77.imp"
goto L_0509;
#line 5432 "regression-compile-tmp/imp22g-77.imp"
L_050a:;
                                                                //   5433      %exit %unless sym = '_'
#line 5433 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) == (95))) goto L_051b;
#line 5433 "regression-compile-tmp/imp22g-77.imp"
goto L_0507;
#line 5433 "regression-compile-tmp/imp22g-77.imp"
L_051b:;
                                                                //   5434      radix = value
#line 5434 "regression-compile-tmp/imp22g-77.imp"
RADIX = VALUE;
                                                                //   5435      %result = dud %if radix = 0
#line 5435 "regression-compile-tmp/imp22g-77.imp"
if (((RADIX) != (0))) goto L_051c;
#line 5435 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 5435 "regression-compile-tmp/imp22g-77.imp"
L_051c:;
                                                                //   5436      value = 0
#line 5436 "regression-compile-tmp/imp22g-77.imp"
VALUE = 0;
                                                                //   5437    %repeat
#line 5437 "regression-compile-tmp/imp22g-77.imp"
goto L_0506;
#line 5437 "regression-compile-tmp/imp22g-77.imp"
L_0507:;
                                                                //   5438    %if item < 0 %start;  !IBM-style
#line 5438 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) >= (0))) goto L_051d;
                                                                //   5439      %result = dud %if sym # ''''
#line 5439 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) == (39))) goto L_051e;
#line 5439 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 5439 "regression-compile-tmp/imp22g-77.imp"
L_051e:;
                                                                //   5440      item = 0
#line 5440 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
                                                                //   5441    %else
#line 5441 "regression-compile-tmp/imp22g-77.imp"
goto L_051f;
#line 5441 "regression-compile-tmp/imp22g-77.imp"
L_051d:;
                                                                //   5442      j = 0
#line 5442 "regression-compile-tmp/imp22g-77.imp"
J = 0;
                                                                //   5443      %if sym = '.' %start
#line 5443 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (46))) goto L_0520;
                                                                //   5444        rval = value %if type = inttype
#line 5444 "regression-compile-tmp/imp22g-77.imp"
if (((TYPE) != (43))) goto L_0521;
#line 5444 "regression-compile-tmp/imp22g-77.imp"
RVAL = VALUE;
#line 5444 "regression-compile-tmp/imp22g-77.imp"
L_0521:;
                                                                //   5445  fraction:
#line 5445 "regression-compile-tmp/imp22g-77.imp"
U_102b:;
                                                                //   5446        j = 0
#line 5446 "regression-compile-tmp/imp22g-77.imp"
J = 0;
                                                                //   5447        type = realtype
#line 5447 "regression-compile-tmp/imp22g-77.imp"
TYPE = 69;
                                                                //   5448        %cycle
#line 5448 "regression-compile-tmp/imp22g-77.imp"
L_0522:;
                                                                //   5449          get sym
#line 5449 "regression-compile-tmp/imp22g-77.imp"
GETSYM();
                                                                //   5450          %exit %unless 0 <= i < radix
#line 5450 "regression-compile-tmp/imp22g-77.imp"
if ((((0) > (I))) || (((I) < (RADIX)))) goto L_0525;
#line 5450 "regression-compile-tmp/imp22g-77.imp"
L_0519:;
#line 5450 "regression-compile-tmp/imp22g-77.imp"
goto L_0523;
#line 5450 "regression-compile-tmp/imp22g-77.imp"
L_0525:;
/*Warning: potential loss of precision converting from integer AST_VAR (RADIX - 4 bytes) to real AST_VAR (RVAL - 4 bytes) detected at ast.c line 108 */
/*Warning: potential loss of precision converting from integer AST_VAR (I - 4 bytes) to real AST_BINOP (((RVAL) * ((float)(RADIX))) - 0 bytes) detected at ast.c line 108 */
                                                                //   5451          rval = rval*radix+i;  j = j-1
#line 5451 "regression-compile-tmp/imp22g-77.imp"
RVAL = ((((RVAL) * ((float)(RADIX)))) + ((I)));
#line 5451 "regression-compile-tmp/imp22g-77.imp"
J = (((int)(J)) - (1));
                                                                //   5452        %repeat
#line 5452 "regression-compile-tmp/imp22g-77.imp"
goto L_0522;
#line 5452 "regression-compile-tmp/imp22g-77.imp"
L_0523:;
                                                                //   5453        %result = dud %if j = 0
#line 5453 "regression-compile-tmp/imp22g-77.imp"
if (((J) != (0))) goto L_0526;
#line 5453 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 5453 "regression-compile-tmp/imp22g-77.imp"
L_0526:;
                                                                //   5454      %finish
#line 5454 "regression-compile-tmp/imp22g-77.imp"
L_0520:;
                                                                //   5455      %if sym = '@' %start
#line 5455 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (64))) goto L_0527;
                                                                //   5456        type = realtype %and rval = value %if type = inttype
#line 5456 "regression-compile-tmp/imp22g-77.imp"
if (((TYPE) != (43))) goto L_0528;
#line 5456 "regression-compile-tmp/imp22g-77.imp"
TYPE = 69;
#line 5456 "regression-compile-tmp/imp22g-77.imp"
RVAL = VALUE;
#line 5456 "regression-compile-tmp/imp22g-77.imp"
L_0528:;
                                                                //   5457        get sym
#line 5457 "regression-compile-tmp/imp22g-77.imp"
GETSYM();
                                                                //   5458        value = 0
#line 5458 "regression-compile-tmp/imp22g-77.imp"
VALUE = 0;
                                                                //   5459        %if sym = '+' %then get sym %c
#line 5459 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (43))) goto L_0529;
#line 5459 "regression-compile-tmp/imp22g-77.imp"
GETSYM();
#line 5459 "regression-compile-tmp/imp22g-77.imp"
goto L_052a;
#line 5459 "regression-compile-tmp/imp22g-77.imp"
L_0529:;
#line 5459 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (45))) goto L_052b;
#line 5459 "regression-compile-tmp/imp22g-77.imp"
VALUE = 1;
#line 5459 "regression-compile-tmp/imp22g-77.imp"
GETSYM();
#line 5459 "regression-compile-tmp/imp22g-77.imp"
L_052b:;
#line 5459 "regression-compile-tmp/imp22g-77.imp"
L_052a:;
                                                                //   5460        %else %if sym = '-' %then value = 1 %and get sym
                                                                //   5461        %result = dud %unless 0 <= i < radix
#line 5461 "regression-compile-tmp/imp22g-77.imp"
if ((((0) > (I))) || (((I) < (RADIX)))) goto L_052c;
#line 5461 "regression-compile-tmp/imp22g-77.imp"
L_0524:;
#line 5461 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 5461 "regression-compile-tmp/imp22g-77.imp"
L_052c:;
                                                                //   5462        p = 0
#line 5462 "regression-compile-tmp/imp22g-77.imp"
P = 0;
                                                                //   5463        %cycle
#line 5463 "regression-compile-tmp/imp22g-77.imp"
L_052d:;
                                                                //   5464          p = p*radix+i
#line 5464 "regression-compile-tmp/imp22g-77.imp"
P = (((int)((((int)(P)) * (RADIX)))) + (I));
                                                                //   5465          get sym
#line 5465 "regression-compile-tmp/imp22g-77.imp"
GETSYM();
                                                                //   5466        %repeat %until %not 0 <= i < radix
#line 5466 "regression-compile-tmp/imp22g-77.imp"
if ((((0) > (I))) || (((I) >= (RADIX)))) goto L_052e;
#line 5466 "regression-compile-tmp/imp22g-77.imp"
goto L_052d;
#line 5466 "regression-compile-tmp/imp22g-77.imp"
L_052e:;
                                                                //   5467        p = -p %if value # 0
#line 5467 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) == (0))) goto L_0530;
#line 5467 "regression-compile-tmp/imp22g-77.imp"
P = (-(P));
#line 5467 "regression-compile-tmp/imp22g-77.imp"
L_0530:;
                                                                //   5468        j = j+p
#line 5468 "regression-compile-tmp/imp22g-77.imp"
J = (((int)(J)) + (P));
                                                                //   5469      %finish
#line 5469 "regression-compile-tmp/imp22g-77.imp"
L_0527:;
                                                                //   5470      %if type = realtype %start
#line 5470 "regression-compile-tmp/imp22g-77.imp"
if (((TYPE) != (69))) goto L_0531;
/*promote*/                                                                //   5471        rval = rval*radix^^j %if j # 0
#line 5471 "regression-compile-tmp/imp22g-77.imp"
if (((J) == (0))) goto L_0532;
#line 5471 "regression-compile-tmp/imp22g-77.imp"
RVAL = ((RVAL) * ((float)(_imp_IEXP(RADIX, J))));
#line 5471 "regression-compile-tmp/imp22g-77.imp"
L_0532:;
                                                                //   5472        value = integer(addr(rval)) %if type = realtype
#line 5472 "regression-compile-tmp/imp22g-77.imp"
if (((TYPE) != (69))) goto L_0533;
#line 5472 "regression-compile-tmp/imp22g-77.imp"
VALUE = *_imp_INTEGER(_imp_ADDR(&RVAL));
#line 5472 "regression-compile-tmp/imp22g-77.imp"
L_0533:;
                                                                //   5473      %finish
#line 5473 "regression-compile-tmp/imp22g-77.imp"
L_0531:;
                                                                //   5474      fp = fp-1;  sym = 0
#line 5474 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) - (1));
#line 5474 "regression-compile-tmp/imp22g-77.imp"
SYM = 0;
                                                                //   5475    %finish
#line 5475 "regression-compile-tmp/imp22g-77.imp"
L_051f:;
                                                                //   5476    litatoms = litatoms+1
#line 5476 "regression-compile-tmp/imp22g-77.imp"
LITATOMS = (((int)(LITATOMS)) + (1));
                                                                //   5477    %result = const
#line 5477 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 52;
                                                                //   5478  
                                                                //   5479  s(''''):
#line 5479 "regression-compile-tmp/imp22g-77.imp"
sw4_S_39:;
                                                                //   5480  charconst:
#line 5480 "regression-compile-tmp/imp22g-77.imp"
U_102c:;
                                                                //   5481    item = 0;  type = inttype
#line 5481 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
#line 5481 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   5482    value = 0
#line 5482 "regression-compile-tmp/imp22g-77.imp"
VALUE = 0;
                                                                //   5483    %cycle
#line 5483 "regression-compile-tmp/imp22g-77.imp"
L_0534:;
                                                                //   5484      sym = byteintegeR(fp);  fp = fp+1
#line 5484 "regression-compile-tmp/imp22g-77.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 5484 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   5485      %result = dud %if sym = nl;  !?allow
#line 5485 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (10))) goto L_0537;
#line 5485 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 5485 "regression-compile-tmp/imp22g-77.imp"
L_0537:;
                                                                //   5486      %if sym = '''' %start
#line 5486 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (39))) goto L_0538;
                                                                //   5487        %exit %unless byteintegeR(fp) = ''''
#line 5487 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) == (39))) goto L_0539;
#line 5487 "regression-compile-tmp/imp22g-77.imp"
goto L_0535;
#line 5487 "regression-compile-tmp/imp22g-77.imp"
L_0539:;
                                                                //   5488        fp = fp+1
#line 5488 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   5489      %finish
#line 5489 "regression-compile-tmp/imp22g-77.imp"
L_0538:;
                                                                //   5490      value = value<<8+sym
#line 5490 "regression-compile-tmp/imp22g-77.imp"
VALUE = (((int)(((VALUE) << (8)))) + (SYM));
                                                                //   5491    %repeat
#line 5491 "regression-compile-tmp/imp22g-77.imp"
goto L_0534;
#line 5491 "regression-compile-tmp/imp22g-77.imp"
L_0535:;
                                                                //   5492    %result = const %if value # 0
#line 5492 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) == (0))) goto L_053a;
#line 5492 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 52;
#line 5492 "regression-compile-tmp/imp22g-77.imp"
L_053a:;
                                                                //   5493    %result = dud
#line 5493 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 63;
                                                                //   5494  
                                                                //   5495  s('"'):
#line 5495 "regression-compile-tmp/imp22g-77.imp"
sw4_S_34:;
                                                                //   5496    item = 0
#line 5496 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
                                                                //   5497    value = cad;  type = stringtype
#line 5497 "regression-compile-tmp/imp22g-77.imp"
VALUE = CAD;
#line 5497 "regression-compile-tmp/imp22g-77.imp"
TYPE = 64;
                                                                //   5498    i = line;  j = linestart;  p = 0
#line 5498 "regression-compile-tmp/imp22g-77.imp"
I = LINE;
#line 5498 "regression-compile-tmp/imp22g-77.imp"
J = LINESTART;
#line 5498 "regression-compile-tmp/imp22g-77.imp"
P = 0;
                                                                //   5499    %cycle
#line 5499 "regression-compile-tmp/imp22g-77.imp"
L_053b:;
                                                                //   5500      sym = byteintegeR(fp);  fp = fp+1
#line 5500 "regression-compile-tmp/imp22g-77.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 5500 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   5501      %if sym = '"' %start
#line 5501 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (34))) goto L_053e;
                                                                //   5502        %exit %if byteintegeR(fp) # '"'
#line 5502 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) == (34))) goto L_053f;
#line 5502 "regression-compile-tmp/imp22g-77.imp"
goto L_053c;
#line 5502 "regression-compile-tmp/imp22g-77.imp"
L_053f:;
                                                                //   5503        fp = fp+1
#line 5503 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   5504      %finish
#line 5504 "regression-compile-tmp/imp22g-77.imp"
L_053e:;
                                                                //   5505      p = p+1
#line 5505 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(P)) + (1));
                                                                //   5506      %if p > 255 %start
#line 5506 "regression-compile-tmp/imp22g-77.imp"
if (((P) <= (255))) goto L_0540;
                                                                //   5507        sym = 0
#line 5507 "regression-compile-tmp/imp22g-77.imp"
SYM = 0;
                                                                //   5508        fp = atomp;  linestart = j
#line 5508 "regression-compile-tmp/imp22g-77.imp"
FP = ATOMP;
#line 5508 "regression-compile-tmp/imp22g-77.imp"
LINESTART = J;
                                                                //   5509        %result = dud
#line 5509 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 63;
                                                                //   5510      %finish
#line 5510 "regression-compile-tmp/imp22g-77.imp"
L_0540:;
                                                                //   5511      final(value+p) = sym
#line 5511 "regression-compile-tmp/imp22g-77.imp"
FINAL[(((int)(VALUE)) + (P))] = SYM;
                                                                //   5512      read line('"') %if sym = nl
#line 5512 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (10))) goto L_0541;
#line 5512 "regression-compile-tmp/imp22g-77.imp"
READLINE(34);
#line 5512 "regression-compile-tmp/imp22g-77.imp"
L_0541:;
                                                                //   5513    %repeat
#line 5513 "regression-compile-tmp/imp22g-77.imp"
goto L_053b;
#line 5513 "regression-compile-tmp/imp22g-77.imp"
L_053c:;
                                                                //   5514    %if p # 0 %start;  !not empty string
#line 5514 "regression-compile-tmp/imp22g-77.imp"
if (((P) == (0))) goto L_0542;
                                                                //   5515      final(value) = p
#line 5515 "regression-compile-tmp/imp22g-77.imp"
FINAL[VALUE] = P;
                                                                //   5516      cad = cad+(p+1)
#line 5516 "regression-compile-tmp/imp22g-77.imp"
CAD = ((CAD) + ((int)((((int)(P)) + (1)))));
                                                                //   5517    %finish %else value = 0
#line 5517 "regression-compile-tmp/imp22g-77.imp"
goto L_0543;
#line 5517 "regression-compile-tmp/imp22g-77.imp"
L_0542:;
#line 5517 "regression-compile-tmp/imp22g-77.imp"
VALUE = 0;
#line 5517 "regression-compile-tmp/imp22g-77.imp"
L_0543:;
                                                                //   5518    litatoms = litatoms+1
#line 5518 "regression-compile-tmp/imp22g-77.imp"
LITATOMS = (((int)(LITATOMS)) + (1));
                                                                //   5519    %result = const
#line 5519 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 52;
                                                                //   5520  
                                                                //   5521  s(*):
#line 5521 "regression-compile-tmp/imp22g-77.imp"
sw4_S_default:;
                                                                //   5522    %result = dud
#line 5522 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 63;
                                                                //   5523  %end;  !NEXT ATOM
#line 5523 "regression-compile-tmp/imp22g-77.imp"
sw4_S_0:;
sw4_S_1:;
sw4_S_2:;
sw4_S_3:;
sw4_S_4:;
sw4_S_5:;
sw4_S_6:;
sw4_S_7:;
sw4_S_8:;
sw4_S_11:;
sw4_S_12:;
sw4_S_13:;
sw4_S_14:;
sw4_S_15:;
sw4_S_16:;
sw4_S_17:;
sw4_S_18:;
sw4_S_19:;
sw4_S_20:;
sw4_S_21:;
sw4_S_22:;
sw4_S_23:;
sw4_S_24:;
sw4_S_25:;
sw4_S_26:;
sw4_S_27:;
sw4_S_28:;
sw4_S_29:;
sw4_S_30:;
sw4_S_31:;
sw4_S_32:;
sw4_S_36:;
sw4_S_63:;
sw4_S_96:;
sw4_S_125:;
sw4_S_127:;
sw4_S_128:;
sw4_S_129:;
sw4_S_130:;
sw4_S_131:;
sw4_S_132:;
sw4_S_133:;
sw4_S_134:;
sw4_S_135:;
sw4_S_136:;
sw4_S_137:;
sw4_S_138:;
sw4_S_139:;
sw4_S_140:;
sw4_S_141:;
sw4_S_142:;
sw4_S_143:;
sw4_S_144:;
sw4_S_145:;
sw4_S_146:;
sw4_S_147:;
sw4_S_148:;
sw4_S_149:;
sw4_S_150:;
sw4_S_151:;
sw4_S_152:;
sw4_S_153:;
sw4_S_154:;
sw4_S_155:;
sw4_S_156:;
sw4_S_157:;
sw4_S_158:;
sw4_S_159:;
sw4_S_160:;
sw4_S_161:;
sw4_S_162:;
sw4_S_163:;
sw4_S_164:;
sw4_S_165:;
sw4_S_166:;
sw4_S_167:;
sw4_S_168:;
sw4_S_169:;
sw4_S_170:;
sw4_S_171:;
sw4_S_172:;
sw4_S_173:;
sw4_S_174:;
sw4_S_175:;
sw4_S_176:;
sw4_S_177:;
sw4_S_178:;
sw4_S_179:;
sw4_S_180:;
sw4_S_181:;
sw4_S_182:;
sw4_S_183:;
sw4_S_184:;
sw4_S_185:;
sw4_S_186:;
sw4_S_187:;
sw4_S_188:;
sw4_S_189:;
sw4_S_190:;
sw4_S_191:;
sw4_S_192:;
sw4_S_193:;
sw4_S_194:;
sw4_S_195:;
sw4_S_196:;
sw4_S_197:;
sw4_S_198:;
sw4_S_199:;
sw4_S_200:;
sw4_S_201:;
sw4_S_202:;
sw4_S_203:;
sw4_S_204:;
sw4_S_205:;
sw4_S_206:;
sw4_S_207:;
sw4_S_208:;
sw4_S_209:;
sw4_S_210:;
sw4_S_211:;
sw4_S_212:;
sw4_S_213:;
sw4_S_214:;
sw4_S_215:;
sw4_S_216:;
sw4_S_217:;
sw4_S_218:;
sw4_S_219:;
sw4_S_220:;
sw4_S_221:;
sw4_S_222:;
sw4_S_223:;
sw4_S_224:;
sw4_S_225:;
sw4_S_226:;
sw4_S_227:;
sw4_S_228:;
sw4_S_229:;
sw4_S_230:;
sw4_S_231:;
sw4_S_232:;
sw4_S_233:;
sw4_S_234:;
sw4_S_235:;
sw4_S_236:;
sw4_S_237:;
sw4_S_238:;
sw4_S_239:;
sw4_S_240:;
sw4_S_241:;
sw4_S_242:;
sw4_S_243:;
sw4_S_244:;
sw4_S_245:;
sw4_S_246:;
sw4_S_247:;
sw4_S_248:;
sw4_S_249:;
sw4_S_250:;
sw4_S_251:;
sw4_S_252:;
sw4_S_253:;
sw4_S_254:;
sw4_S_255:;
goto sw4_S_default;
} // End of block NEXTATOM at level 2
                                                                //   5524  
                                                                //   5525  !<<BOTH
                                                                //   5526  
                                                                //   5527  %integerfn A (%integer k)
#line 5527 "regression-compile-tmp/imp22g-77.imp"
int A( int K )
#line 5527 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5528  !Basic atom-testing predicate
                                                                //   5529    atom = next atom %if matched # 0
#line 5529 "regression-compile-tmp/imp22g-77.imp"
if (((MATCHED) == (0))) goto L_0544;
#line 5529 "regression-compile-tmp/imp22g-77.imp"
ATOM = NEXTATOM();
#line 5529 "regression-compile-tmp/imp22g-77.imp"
L_0544:;
                                                                //   5530    %result = FALSE %if k # atom
#line 5530 "regression-compile-tmp/imp22g-77.imp"
if (((K) == (ATOM))) goto L_0545;
#line 5530 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 5530 "regression-compile-tmp/imp22g-77.imp"
L_0545:;
                                                                //   5531    matched = 1
#line 5531 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   5532    %result = TRUE
#line 5532 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   5533  %end
#line 5533 "regression-compile-tmp/imp22g-77.imp"
} // End of block A at level 2
                                                                //   5534  
                                                                //   5535  %routine GET(%integer k)
#line 5535 "regression-compile-tmp/imp22g-77.imp"
void GET( int K )
#line 5535 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5536    atom = next atom %if matched # 0
#line 5536 "regression-compile-tmp/imp22g-77.imp"
if (((MATCHED) == (0))) goto L_0546;
#line 5536 "regression-compile-tmp/imp22g-77.imp"
ATOM = NEXTATOM();
#line 5536 "regression-compile-tmp/imp22g-77.imp"
L_0546:;
                                                                //   5537    matched = 1
#line 5537 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   5538    %return %if atom = k
#line 5538 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (K))) goto L_0547;
#line 5538 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 5538 "regression-compile-tmp/imp22g-77.imp"
L_0547:;
                                                                //   5539    syntax error { %if atom = dud
#line 5539 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
                                                                //   5540  !  faultp = atomp
                                                                //   5541  !  report(formerr+point,-k,0)
                                                                //   5542  !  %signal fail
                                                                //   5543  %end
#line 5543 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GET at level 2
                                                                //   5544  
                                                                //   5545  !<<IMP
                                                                //   5546  
                                                                //   5547  %routine ALLOW(%integer k)
#line 5547 "regression-compile-tmp/imp22g-77.imp"
void ALLOW( int K )
#line 5547 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5548    %if a(k)=TRUE %start
#line 5548 "regression-compile-tmp/imp22g-77.imp"
if (((A(K)) != (1))) goto L_0548;
                                                                //   5549    %finish
#line 5549 "regression-compile-tmp/imp22g-77.imp"
L_0548:;
                                                                //   5550  %end
#line 5550 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ALLOW at level 2
                                                                //   5551  
                                                                //   5552  %routine GET LITSTRING
#line 5552 "regression-compile-tmp/imp22g-77.imp"
void GETLITSTRING( void )
#line 5552 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5553  %integer holditem
#line 5553 "regression-compile-tmp/imp22g-77.imp"
int HOLDITEM;
                                                                //   5554  !Must be quoted string (for %alias and %include)
                                                                //   5555    holditem = item;  !preserve
#line 5555 "regression-compile-tmp/imp22g-77.imp"
HOLDITEM = ITEM;
                                                                //   5556    get(const)
#line 5556 "regression-compile-tmp/imp22g-77.imp"
GET(52);
                                                                //   5557    error(typerr+point) %unless type = stringtype
#line 5557 "regression-compile-tmp/imp22g-77.imp"
if (((TYPE) == (64))) goto L_0549;
#line 5557 "regression-compile-tmp/imp22g-77.imp"
ERROR(76);
#line 5557 "regression-compile-tmp/imp22g-77.imp"
L_0549:;
                                                                //   5558    cad = value;  !reset
#line 5558 "regression-compile-tmp/imp22g-77.imp"
CAD = VALUE;
                                                                //   5559    item = holditem;  !restore
#line 5559 "regression-compile-tmp/imp22g-77.imp"
ITEM = HOLDITEM;
                                                                //   5560  %end
#line 5560 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETLITSTRING at level 2
                                                                //   5561  
                                                                //   5562  !<<BOTH
                                                                //   5563  
                                                                //   5564  %integer%fn IDTEXT(%integer f)
#line 5564 "regression-compile-tmp/imp22g-77.imp"
int IDTEXT( int F )
#line 5564 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5565  %integer k
#line 5565 "regression-compile-tmp/imp22g-77.imp"
int K;
                                                                //   5566    %result = ditem_text %if item > 0 %and f&ext = 0;  !already exists
#line 5566 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) <= (0))) goto L_054a;
#line 5566 "regression-compile-tmp/imp22g-77.imp"
if (((((F) & (16384))) != (0))) goto L_054a;
#line 5566 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return DITEM->TEXT;
#line 5566 "regression-compile-tmp/imp22g-77.imp"
L_054a:;
                                                                //   5567    charlim = charlim+newlen+1
#line 5567 "regression-compile-tmp/imp22g-77.imp"
CHARLIM = (((int)((((int)(CHARLIM)) + (NEWLEN)))) + (1));
                                                                //   5568    croak("Identifier space exhausted") %if charlim+80 >= charmin
#line 5568 "regression-compile-tmp/imp22g-77.imp"
if ((((((int)(CHARLIM)) + (80))) < (CHARMIN))) goto L_054b;
#line 5568 "regression-compile-tmp/imp22g-77.imp"
CROAK(_imp_str_literal("Identifier space exhausted"));
#line 5568 "regression-compile-tmp/imp22g-77.imp"
L_054b:;
                                                                //   5569    k = charlim-newlen-1-char0
#line 5569 "regression-compile-tmp/imp22g-77.imp"
K = (((int)((((int)((((int)(CHARLIM)) - (NEWLEN)))) - (1)))) - (CHAR0));
                                                                //   5570    %if f&ext # 0 %and a(keyalias)=TRUE %start
#line 5570 "regression-compile-tmp/imp22g-77.imp"
if (((((F) & (16384))) == (0))) goto L_054c;
#line 5570 "regression-compile-tmp/imp22g-77.imp"
if (((A(49)) != (1))) goto L_054c;
                                                                //   5571      get LITSTRING
#line 5571 "regression-compile-tmp/imp22g-77.imp"
GETLITSTRING();
                                                                //   5572      string(charlim) = string(final0+value)
#line 5572 "regression-compile-tmp/imp22g-77.imp"
*_imp_STRING(CHARLIM) = *_imp_STRING((((int)(FINAL0)) + (VALUE)));
                                                                //   5573      byteinteger(charlim) = byteinteger(charlim)+128
#line 5573 "regression-compile-tmp/imp22g-77.imp"
*_imp_BYTEINTEGER(CHARLIM) = ((*(int *)(_imp_BYTEINTEGER(CHARLIM))) + (128));
                                                                //   5574      charlim = charlim+byteinteger(charlim)-127
#line 5574 "regression-compile-tmp/imp22g-77.imp"
CHARLIM = (((int)(((CHARLIM) + (*(int *)(_imp_BYTEINTEGER(CHARLIM)))))) - (127));
                                                                //   5575    %finish
#line 5575 "regression-compile-tmp/imp22g-77.imp"
L_054c:;
                                                                //   5576    %result = k
#line 5576 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return K;
                                                                //   5577  %end
#line 5577 "regression-compile-tmp/imp22g-77.imp"
} // End of block IDTEXT at level 2
                                                                //   5578  
                                                                //   5579  %record(objinfo)%map DETAILS(%integer f,t,m,v)
#line 5579 "regression-compile-tmp/imp22g-77.imp"
 OBJINFO /*map*/*DETAILS( int F, int T, int M, int V )
#line 5579 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5580  %ownrecord(objinfo) D=0
#line 5580 "regression-compile-tmp/imp22g-77.imp"
static  OBJINFO D = { 0 } /* Initialise all fields of a record to 0. */;
                                                                //   5581    d_flags = f;  d_type = t
#line 5581 "regression-compile-tmp/imp22g-77.imp"
D.FLAGS = F;
#line 5581 "regression-compile-tmp/imp22g-77.imp"
D.TYPE = T;
                                                                //   5582    d_mode = m;  d_val = v
#line 5582 "regression-compile-tmp/imp22g-77.imp"
D.MODE = M;
#line 5582 "regression-compile-tmp/imp22g-77.imp"
D.VAL = V;
                                                                //   5583    %result == d
#line 5583 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return &D;
                                                                //   5584  %end
#line 5584 "regression-compile-tmp/imp22g-77.imp"
} // End of block DETAILS at level 2
                                                                //   5585  
                                                                //   5586  %routine DECLARE(%record(objinfo)%name d)
#line 5586 "regression-compile-tmp/imp22g-77.imp"
void DECLARE(  OBJINFO /*name*/*D )
#line 5586 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5587  %integer i
#line 5587 "regression-compile-tmp/imp22g-77.imp"
int I;
                                                                //   5588  %record(identinfo)%name dp
#line 5588 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DP;
                                                                //   5589    dp == dict(dlim)
#line 5589 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[DLIM];
                                                                //   5590    %if speccing = 0 %start;  !not within spec params
#line 5590 "regression-compile-tmp/imp22g-77.imp"
if (((SPECCING) != (0))) goto L_054d;
                                                                //   5591      %if item >= c_localdpos %start;  !there already
#line 5591 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) < (C.LOCALDPOS))) goto L_054e;
                                                                //   5592        %if d_flags&spec = 0 %and ditem_flags&spec # 0 %start
#line 5592 "regression-compile-tmp/imp22g-77.imp"
if (((((D->FLAGS) & (256))) != (0))) goto L_054f;
#line 5592 "regression-compile-tmp/imp22g-77.imp"
if (((((DITEM->FLAGS) & (256))) == (0))) goto L_054f;
                                                                //   5593          !body after spec (proc,label,typeid)
                                                                //   5594          %if d_flags&(ext+proc+typeid) = ditem_flags&(ext+proc+typeid) %start
#line 5594 "regression-compile-tmp/imp22g-77.imp"
if (((((D->FLAGS) & (29184))) != (((DITEM->FLAGS) & (29184))))) goto L_0550;
                                                                //   5595            i = item
#line 5595 "regression-compile-tmp/imp22g-77.imp"
I = ITEM;
                                                                //   5596            %if d_flags&ext # 0 %start
#line 5596 "regression-compile-tmp/imp22g-77.imp"
if (((((D->FLAGS) & (16384))) == (0))) goto L_0551;
                                                                //   5597              ![can't allow %ext%spec, then use, then %ext object]
                                                                //   5598              ->ok %if ditem_flags&rflag # 0;  ![so create new entry]
#line 5598 "regression-compile-tmp/imp22g-77.imp"
if (((((DITEM->FLAGS) & (32))) == (0))) goto L_0552;
#line 5598 "regression-compile-tmp/imp22g-77.imp"
goto U_1030;
#line 5598 "regression-compile-tmp/imp22g-77.imp"
L_0552:;
                                                                //   5599              ditem_mode = d_mode;  ditem_val = d_val
#line 5599 "regression-compile-tmp/imp22g-77.imp"
DITEM->MODE = D->MODE;
#line 5599 "regression-compile-tmp/imp22g-77.imp"
DITEM->VAL = D->VAL;
                                                                //   5600              %if a(keyalias)=TRUE %start
#line 5600 "regression-compile-tmp/imp22g-77.imp"
if (((A(49)) != (1))) goto L_0553;
                                                                //   5601                get LITSTRING;  !ignore [should be identical]
#line 5601 "regression-compile-tmp/imp22g-77.imp"
GETLITSTRING();
                                                                //   5602                item = i
#line 5602 "regression-compile-tmp/imp22g-77.imp"
ITEM = I;
                                                                //   5603              %finish
#line 5603 "regression-compile-tmp/imp22g-77.imp"
L_0553:;
                                                                //   5604            %finish
#line 5604 "regression-compile-tmp/imp22g-77.imp"
L_0551:;
                                                                //   5605            %if d_flags&proc = 0 %start
#line 5605 "regression-compile-tmp/imp22g-77.imp"
if (((((D->FLAGS) & (12288))) != (0))) goto L_0554;
                                                                //   5606              ditem_flags = ditem_flags&(\(spec+indirect))
#line 5606 "regression-compile-tmp/imp22g-77.imp"
DITEM->FLAGS = ((DITEM->FLAGS) & ((~(2304))));
                                                                //   5607            %finish
#line 5607 "regression-compile-tmp/imp22g-77.imp"
L_0554:;
                                                                //   5608            %return
#line 5608 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5609          %finish
#line 5609 "regression-compile-tmp/imp22g-77.imp"
L_0550:;
                                                                //   5610          %if ditem_flags&(ext+proc) = proc1 %and d_flags&ext # 0 %c
#line 5610 "regression-compile-tmp/imp22g-77.imp"
if (((((DITEM->FLAGS) & (28672))) != (4096))) goto L_0555;
#line 5610 "regression-compile-tmp/imp22g-77.imp"
if (((((D->FLAGS) & (16384))) == (0))) goto L_0555;
#line 5610 "regression-compile-tmp/imp22g-77.imp"
if (((((D->FLAGS) & (12288))) == (0))) goto L_0555;
                                                                //   5611              %and d_flags&proc # 0 %start;  !(internal) %spec then %ext
                                                                //   5612            ditem_flags = ditem_flags-proc1+(d_flags&(ext+proc))
#line 5612 "regression-compile-tmp/imp22g-77.imp"
DITEM->FLAGS = ((((((int)(DITEM->FLAGS)) - (4096)))) + (((D->FLAGS) & (28672))));
                                                                //   5613            ditem_text = idtext(ext);  !in case alias
#line 5613 "regression-compile-tmp/imp22g-77.imp"
DITEM->TEXT = IDTEXT(16384);
                                                                //   5614            %return
#line 5614 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5615          %finish
#line 5615 "regression-compile-tmp/imp22g-77.imp"
L_0555:;
                                                                //   5616        %finish
#line 5616 "regression-compile-tmp/imp22g-77.imp"
L_054f:;
                                                                //   5617  !<<IMP
                                                                //   5618        %if item < inclim %and ditem_flags&(rflag+wflag) = 0 %c
#line 5618 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) >= (INCLIM))) goto L_0556;
#line 5618 "regression-compile-tmp/imp22g-77.imp"
if (((((DITEM->FLAGS) & (48))) != (0))) goto L_0556;
#line 5618 "regression-compile-tmp/imp22g-77.imp"
FAULT((-43));
#line 5618 "regression-compile-tmp/imp22g-77.imp"
goto L_0557;
#line 5618 "regression-compile-tmp/imp22g-77.imp"
L_0556:;
#line 5618 "regression-compile-tmp/imp22g-77.imp"
FAULT(85);
#line 5618 "regression-compile-tmp/imp22g-77.imp"
L_0557:;
                                                                //   5619        %then fault(duperr+warn+point) %else fault(duperr+point)
                                                                //   5620  !<<BOTH
                                                                //   5621      %finish
#line 5621 "regression-compile-tmp/imp22g-77.imp"
L_054e:;
                                                                //   5622  ok: dp_hlink = head;  head = dlim;  !insert in list
#line 5622 "regression-compile-tmp/imp22g-77.imp"
U_1030:;
#line 5622 "regression-compile-tmp/imp22g-77.imp"
DP->HLINK = *HEAD;
#line 5622 "regression-compile-tmp/imp22g-77.imp"
*HEAD = DLIM;
                                                                //   5623      dp_text = idtext(d_flags)
#line 5623 "regression-compile-tmp/imp22g-77.imp"
DP->TEXT = IDTEXT(D->FLAGS);
                                                                //   5624    %finish %else dp_hlink = 0 %and dp_text = 0
#line 5624 "regression-compile-tmp/imp22g-77.imp"
goto L_0558;
#line 5624 "regression-compile-tmp/imp22g-77.imp"
L_054d:;
#line 5624 "regression-compile-tmp/imp22g-77.imp"
DP->HLINK = 0;
#line 5624 "regression-compile-tmp/imp22g-77.imp"
DP->TEXT = 0;
#line 5624 "regression-compile-tmp/imp22g-77.imp"
L_0558:;
                                                                //   5625    item = dlim;  ditem == dp
#line 5625 "regression-compile-tmp/imp22g-77.imp"
ITEM = DLIM;
#line 5625 "regression-compile-tmp/imp22g-77.imp"
DITEM = DP;
                                                                //   5626    ditem_details = d
#line 5626 "regression-compile-tmp/imp22g-77.imp"
DITEM->DETAILS = *D;
                                                                //   5627    dlim = dlim+1
#line 5627 "regression-compile-tmp/imp22g-77.imp"
DLIM = (((int)(DLIM)) + (1));
                                                                //   5628    %if dlim >= dmin %start
#line 5628 "regression-compile-tmp/imp22g-77.imp"
if (((DLIM) < (DMIN))) goto L_0559;
                                                                //   5629  {?}    show dict(0) %if control&logbit # 0
#line 5629 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (1024))) == (0))) goto L_055a;
#line 5629 "regression-compile-tmp/imp22g-77.imp"
SHOWDICT(0);
#line 5629 "regression-compile-tmp/imp22g-77.imp"
L_055a:;
                                                                //   5630      croak("Too many identifiers")
#line 5630 "regression-compile-tmp/imp22g-77.imp"
CROAK(_imp_str_literal("Too many identifiers"));
                                                                //   5631    %finish
#line 5631 "regression-compile-tmp/imp22g-77.imp"
L_0559:;
                                                                //   5632  %end;  !DECLARE
#line 5632 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DECLARE at level 2
                                                                //   5633  
                                                                //   5634  %routine DECLARE ANON(%record(objinfo)%name d)
#line 5634 "regression-compile-tmp/imp22g-77.imp"
void DECLAREANON(  OBJINFO /*name*/*D )
#line 5634 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5635    speccing = speccing+1
#line 5635 "regression-compile-tmp/imp22g-77.imp"
SPECCING = (((int)(SPECCING)) + (1));
                                                                //   5636    item = 0
#line 5636 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
                                                                //   5637    declare(d)
#line 5637 "regression-compile-tmp/imp22g-77.imp"
DECLARE(D);
                                                                //   5638    speccing = speccing-1
#line 5638 "regression-compile-tmp/imp22g-77.imp"
SPECCING = (((int)(SPECCING)) - (1));
                                                                //   5639  %end
#line 5639 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DECLAREANON at level 2
                                                                //   5640  !
                                                                //   5641  %routine DECLARE TEMP(%integer t)
#line 5641 "regression-compile-tmp/imp22g-77.imp"
void DECLARETEMP( int T )
#line 5641 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5642    c_val = c_val+4;  c_temps = c_temps+4
#line 5642 "regression-compile-tmp/imp22g-77.imp"
C.VAL = (((int)(C.VAL)) + (4));
#line 5642 "regression-compile-tmp/imp22g-77.imp"
C.TEMPS = (((int)(C.TEMPS)) + (4));
                                                                //   5643    declare anon(details(okflag+writable+readable,t,c_mode,c_sp-c_val))
#line 5643 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(DETAILS(67, T, C.MODE, (((int)(C.SP)) - (C.VAL))));
                                                                //   5644  %end
#line 5644 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DECLARETEMP at level 2
                                                                //   5645  !
                                                                //   5646  %routine DECLARE RANGE(%integer type,lower,upper)
#line 5646 "regression-compile-tmp/imp22g-77.imp"
void DECLARERANGE( int TYPE, int LOWER, int UPPER )
#line 5646 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5647  !Type ident just declared
                                                                //   5648  %integer s
#line 5648 "regression-compile-tmp/imp22g-77.imp"
int S;
                                                                //   5649  %integerfn OK(%integer l,u)
#line 5649 "regression-compile-tmp/imp22g-77.imp"
int OK( int L, int U )
#line 5649 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5650    %result = TRUE %if (l <= lower %and upper <= u) {signed} %c
#line 5650 "regression-compile-tmp/imp22g-77.imp"
if (((L) > (LOWER))) goto L_055b;
#line 5650 "regression-compile-tmp/imp22g-77.imp"
if (((UPPER) <= (U))) goto L_053d;
#line 5650 "regression-compile-tmp/imp22g-77.imp"
L_055b:;
#line 5650 "regression-compile-tmp/imp22g-77.imp"
if (((0) > (LOWER))) goto L_055c;
#line 5650 "regression-compile-tmp/imp22g-77.imp"
if (((UPPER) > ((((int)(U)) - (L))))) goto L_055c;
#line 5650 "regression-compile-tmp/imp22g-77.imp"
L_053d:;
#line 5650 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5650 "regression-compile-tmp/imp22g-77.imp"
L_055c:;
                                                                //   5651          %or (0 <= lower %and upper <= u-l) {unsigned}
                                                                //   5652    %result = FALSE
#line 5652 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   5653  %end
#line 5653 "regression-compile-tmp/imp22g-77.imp"
} // End of block OK at level 3
                                                                //   5654    s = 4
#line 5654 "regression-compile-tmp/imp22g-77.imp"
S = 4;
                                                                //   5655    %if ok(-32768,32767)=TRUE %start
#line 5655 "regression-compile-tmp/imp22g-77.imp"
if (((OK((-32768), 32767)) != (1))) goto L_055d;
                                                                //   5656      s = 2;  s = 1 %if ok(-128,127)=TRUE
#line 5656 "regression-compile-tmp/imp22g-77.imp"
S = 2;
#line 5656 "regression-compile-tmp/imp22g-77.imp"
if (((OK((-128), 127)) != (1))) goto L_055e;
#line 5656 "regression-compile-tmp/imp22g-77.imp"
S = 1;
#line 5656 "regression-compile-tmp/imp22g-77.imp"
L_055e:;
                                                                //   5657    %finish
#line 5657 "regression-compile-tmp/imp22g-77.imp"
L_055d:;
                                                                //   5658    ditem_details = details(typeid,type,absmode,sign)
#line 5658 "regression-compile-tmp/imp22g-77.imp"
DITEM->DETAILS = *DETAILS(512, TYPE, 56, (-2147483648));
                                                                //   5659    ditem_size = s
#line 5659 "regression-compile-tmp/imp22g-77.imp"
DITEM->SIZE = S;
                                                                //   5660    declare anon(details(okflag,type,litmode,lower))
#line 5660 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(DETAILS(64, TYPE, 60, LOWER));
                                                                //   5661    declare anon(details(okflag,type,litmode,upper))
#line 5661 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(DETAILS(64, TYPE, 60, UPPER));
                                                                //   5662    ditem_hlink = ranges;  ranges = item
#line 5662 "regression-compile-tmp/imp22g-77.imp"
DITEM->HLINK = RANGES;
#line 5662 "regression-compile-tmp/imp22g-77.imp"
RANGES = ITEM;
                                                                //   5663    item = item-2
#line 5663 "regression-compile-tmp/imp22g-77.imp"
ITEM = (((int)(ITEM)) - (2));
                                                                //   5664  %end
#line 5664 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DECLARERANGE at level 2
                                                                //   5665  
                                                                //   5666  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   5667  !!!!!!!!!!!!!!!!!!!!  Expressions  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   5668  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   5669  
                                                                //   5670  %owninteger LITERAL=0, JAMMY=0
#line 5670 "regression-compile-tmp/imp22g-77.imp"
static int LITERAL = 0;
#line 5670 "regression-compile-tmp/imp22g-77.imp"
static int JAMMY = 0;
                                                                //   5671  
                                                                //   5672  %routine%spec GET EXPRESSION(%integer rank,etype)
#line 5672 "regression-compile-tmp/imp22g-77.imp"
auto void GETEXPRESSION( int RANK, int ETYPE );
                                                                //   5673  !
                                                                //   5674  %integerfn VALOK(%integer wanted,t)
#line 5674 "regression-compile-tmp/imp22g-77.imp"
int VALOK( int WANTED, int T )
#line 5674 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5675  %integer lo,hi,l,h,wc,tc
#line 5675 "regression-compile-tmp/imp22g-77.imp"
int LO;
#line 5675 "regression-compile-tmp/imp22g-77.imp"
int HI;
#line 5675 "regression-compile-tmp/imp22g-77.imp"
int L;
#line 5675 "regression-compile-tmp/imp22g-77.imp"
int H;
#line 5675 "regression-compile-tmp/imp22g-77.imp"
int WC;
#line 5675 "regression-compile-tmp/imp22g-77.imp"
int TC;
                                                                //   5676  %record(identinfo)%name wp,tp
#line 5676 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*WP;
#line 5676 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*TP;
                                                                //   5677    %result = TRUE %if wanted = t # recstar
#line 5677 "regression-compile-tmp/imp22g-77.imp"
if ((((WANTED) != (T))) || (((T) == (67)))) goto L_055f;
#line 5677 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5677 "regression-compile-tmp/imp22g-77.imp"
L_055f:;
                                                                //   5678    wp == typecell(wanted);  tp == typecell(t)
#line 5678 "regression-compile-tmp/imp22g-77.imp"
WP = TYPECELL(WANTED);
#line 5678 "regression-compile-tmp/imp22g-77.imp"
TP = TYPECELL(T);
                                                                //   5679    wc = wp_flags&(packed+cat);  tc = tp_flags&(packed+cat)
#line 5679 "regression-compile-tmp/imp22g-77.imp"
WC = ((WP->FLAGS) & (1039));
#line 5679 "regression-compile-tmp/imp22g-77.imp"
TC = ((TP->FLAGS) & (1039));
                                                                //   5680    %if wc = tc %start;  !same class
#line 5680 "regression-compile-tmp/imp22g-77.imp"
if (((WC) != (TC))) goto L_0560;
                                                                //   5681      %if wc&nonord = 0 %start;  !ordinal wanted
#line 5681 "regression-compile-tmp/imp22g-77.imp"
if (((((WC) & (12))) != (0))) goto L_0561;
                                                                //   5682        %if wp_type = tp_type %start;  !same base-type
#line 5682 "regression-compile-tmp/imp22g-77.imp"
if (((WP->TYPE) != (TP->TYPE))) goto L_0562;
                                                                //   5683          %result = TRUE %if wp_type = wanted;  !base-type (rather than subrange)
#line 5683 "regression-compile-tmp/imp22g-77.imp"
if (((WP->TYPE) != (WANTED))) goto L_0563;
#line 5683 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5683 "regression-compile-tmp/imp22g-77.imp"
L_0563:;
                                                                //   5684          %if dict(wanted+1)_mode # litmode %then get bounds(dict(wanted+1)_type,lo,hi) %c
#line 5684 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(WANTED)) + (1))].MODE) == (60))) goto L_0564;
#line 5684 "regression-compile-tmp/imp22g-77.imp"
GETBOUNDS(DICT[(((int)(WANTED)) + (1))].TYPE, &LO, &HI);
#line 5684 "regression-compile-tmp/imp22g-77.imp"
goto L_0565;
#line 5684 "regression-compile-tmp/imp22g-77.imp"
L_0564:;
#line 5684 "regression-compile-tmp/imp22g-77.imp"
LO = DICT[(((int)(WANTED)) + (1))].VAL;
#line 5684 "regression-compile-tmp/imp22g-77.imp"
L_0565:;
                                                                //   5685          %else lo = dict(wanted+1)_val
                                                                //   5686          %if dict(wanted+2)_mode # litmode %then get bounds(dict(wanted+2)_type,hi,hi) %c
#line 5686 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(WANTED)) + (2))].MODE) == (60))) goto L_0566;
#line 5686 "regression-compile-tmp/imp22g-77.imp"
GETBOUNDS(DICT[(((int)(WANTED)) + (2))].TYPE, &HI, &HI);
#line 5686 "regression-compile-tmp/imp22g-77.imp"
goto L_0567;
#line 5686 "regression-compile-tmp/imp22g-77.imp"
L_0566:;
#line 5686 "regression-compile-tmp/imp22g-77.imp"
HI = DICT[(((int)(WANTED)) + (2))].VAL;
#line 5686 "regression-compile-tmp/imp22g-77.imp"
L_0567:;
                                                                //   5687          %else hi = dict(wanted+2)_val
                                                                //   5688          %if item = 0 %start;  !literal
#line 5688 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_0568;
                                                                //   5689            %result = TRUE %if lo <= value <= hi
#line 5689 "regression-compile-tmp/imp22g-77.imp"
if ((((LO) > (VALUE))) || (((VALUE) > (HI)))) goto L_0569;
#line 5689 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5689 "regression-compile-tmp/imp22g-77.imp"
L_0569:;
                                                                //   5690            jammy = jammy!!1
#line 5690 "regression-compile-tmp/imp22g-77.imp"
JAMMY = ((JAMMY) ^ (1));
                                                                //   5691          %else
#line 5691 "regression-compile-tmp/imp22g-77.imp"
goto L_056a;
#line 5691 "regression-compile-tmp/imp22g-77.imp"
L_0568:;
                                                                //   5692            jammy = jammy!!1 %and %result = TRUE %if tp_type = t
#line 5692 "regression-compile-tmp/imp22g-77.imp"
if (((TP->TYPE) != (T))) goto L_056b;
#line 5692 "regression-compile-tmp/imp22g-77.imp"
JAMMY = ((JAMMY) ^ (1));
#line 5692 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5692 "regression-compile-tmp/imp22g-77.imp"
L_056b:;
                                                                //   5693            %if dict(t+1)_mode # litmode %then get bounds(dict(t+1)_type,l,h) %c
#line 5693 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(T)) + (1))].MODE) == (60))) goto L_056c;
#line 5693 "regression-compile-tmp/imp22g-77.imp"
GETBOUNDS(DICT[(((int)(T)) + (1))].TYPE, &L, &H);
#line 5693 "regression-compile-tmp/imp22g-77.imp"
goto L_056d;
#line 5693 "regression-compile-tmp/imp22g-77.imp"
L_056c:;
#line 5693 "regression-compile-tmp/imp22g-77.imp"
L = DICT[(((int)(T)) + (1))].VAL;
#line 5693 "regression-compile-tmp/imp22g-77.imp"
L_056d:;
                                                                //   5694            %else l = dict(t+1)_val
                                                                //   5695            %if dict(t+2)_mode # litmode %then get bounds(dict(t+2)_type,h,h) %c
#line 5695 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(T)) + (2))].MODE) == (60))) goto L_056e;
#line 5695 "regression-compile-tmp/imp22g-77.imp"
GETBOUNDS(DICT[(((int)(T)) + (2))].TYPE, &H, &H);
#line 5695 "regression-compile-tmp/imp22g-77.imp"
goto L_056f;
#line 5695 "regression-compile-tmp/imp22g-77.imp"
L_056e:;
#line 5695 "regression-compile-tmp/imp22g-77.imp"
H = DICT[(((int)(T)) + (2))].VAL;
#line 5695 "regression-compile-tmp/imp22g-77.imp"
L_056f:;
                                                                //   5696            %else h = dict(t+2)_val
                                                                //   5697            %if l >= lo %start
#line 5697 "regression-compile-tmp/imp22g-77.imp"
if (((L) < (LO))) goto L_0570;
                                                                //   5698              %result = TRUE %if h <= hi
#line 5698 "regression-compile-tmp/imp22g-77.imp"
if (((H) > (HI))) goto L_0571;
#line 5698 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5698 "regression-compile-tmp/imp22g-77.imp"
L_0571:;
                                                                //   5699              jammy = jammy!!1
#line 5699 "regression-compile-tmp/imp22g-77.imp"
JAMMY = ((JAMMY) ^ (1));
                                                                //   5700              %result = TRUE %if l <= hi
#line 5700 "regression-compile-tmp/imp22g-77.imp"
if (((L) > (HI))) goto L_0572;
#line 5700 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5700 "regression-compile-tmp/imp22g-77.imp"
L_0572:;
                                                                //   5701            %else
#line 5701 "regression-compile-tmp/imp22g-77.imp"
goto L_0573;
#line 5701 "regression-compile-tmp/imp22g-77.imp"
L_0570:;
                                                                //   5702              jammy = jammy!!1
#line 5702 "regression-compile-tmp/imp22g-77.imp"
JAMMY = ((JAMMY) ^ (1));
                                                                //   5703              %result = TRUE %if h >= lo
#line 5703 "regression-compile-tmp/imp22g-77.imp"
if (((H) < (LO))) goto L_0574;
#line 5703 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5703 "regression-compile-tmp/imp22g-77.imp"
L_0574:;
                                                                //   5704            %finish
#line 5704 "regression-compile-tmp/imp22g-77.imp"
L_0573:;
                                                                //   5705          %finish
#line 5705 "regression-compile-tmp/imp22g-77.imp"
L_056a:;
                                                                //   5706          expfault(rangerr) %if jammy # 0
#line 5706 "regression-compile-tmp/imp22g-77.imp"
if (((JAMMY) == (0))) goto L_0575;
#line 5706 "regression-compile-tmp/imp22g-77.imp"
EXPFAULT(24);
#line 5706 "regression-compile-tmp/imp22g-77.imp"
L_0575:;
                                                                //   5707          %result = TRUE
#line 5707 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   5708        %finish
#line 5708 "regression-compile-tmp/imp22g-77.imp"
L_0562:;
                                                                //   5709      %finish %else %if wc = realy %start
#line 5709 "regression-compile-tmp/imp22g-77.imp"
goto L_0576;
#line 5709 "regression-compile-tmp/imp22g-77.imp"
L_0561:;
#line 5709 "regression-compile-tmp/imp22g-77.imp"
if (((WC) != (5))) goto L_0577;
                                                                //   5710        %result = TRUE
#line 5710 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   5711      %finish %else %if wc = stringy %start;  !string wanted
#line 5711 "regression-compile-tmp/imp22g-77.imp"
L_0577:;
#line 5711 "regression-compile-tmp/imp22g-77.imp"
if (((WC) != (8))) goto L_0578;
                                                                //   5712        %result = TRUE %if wanted = stringstar
#line 5712 "regression-compile-tmp/imp22g-77.imp"
if (((WANTED) != (62))) goto L_0579;
#line 5712 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5712 "regression-compile-tmp/imp22g-77.imp"
L_0579:;
                                                                //   5713        %if item = 0 %start
#line 5713 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_057a;
                                                                //   5714          %result = TRUE %if value = 0;  !empty string
#line 5714 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) != (0))) goto L_057b;
#line 5714 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5714 "regression-compile-tmp/imp22g-77.imp"
L_057b:;
                                                                //   5715          l = final(value)+1
#line 5715 "regression-compile-tmp/imp22g-77.imp"
L = (((int)(FINAL[VALUE])) + (1));
                                                                //   5716        %else
#line 5716 "regression-compile-tmp/imp22g-77.imp"
goto L_057c;
#line 5716 "regression-compile-tmp/imp22g-77.imp"
L_057a:;
                                                                //   5717          l = imod(tp_size)
#line 5717 "regression-compile-tmp/imp22g-77.imp"
L = _imp_IMOD(TP->SIZE);
                                                                //   5718          l = 256 %if l = 0
#line 5718 "regression-compile-tmp/imp22g-77.imp"
if (((L) != (0))) goto L_057d;
#line 5718 "regression-compile-tmp/imp22g-77.imp"
L = 256;
#line 5718 "regression-compile-tmp/imp22g-77.imp"
L_057d:;
                                                                //   5719        %finish
#line 5719 "regression-compile-tmp/imp22g-77.imp"
L_057c:;
                                                                //   5720        %if l > imod(wp_size) # 0 %start
#line 5720 "regression-compile-tmp/imp22g-77.imp"
if (({int tmp1 = L, tmp2 = _imp_IMOD(WP->SIZE), tmp3 = 0; (tmp1 <= tmp2) || (tmp2 == tmp3);})) goto L_057e;
                                                                //   5721          jammy = jammy!!1
#line 5721 "regression-compile-tmp/imp22g-77.imp"
JAMMY = ((JAMMY) ^ (1));
                                                                //   5722          expfault(rangerr) %if item = 0 %and jammy # 0
#line 5722 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_057f;
#line 5722 "regression-compile-tmp/imp22g-77.imp"
if (((JAMMY) == (0))) goto L_057f;
#line 5722 "regression-compile-tmp/imp22g-77.imp"
EXPFAULT(24);
#line 5722 "regression-compile-tmp/imp22g-77.imp"
L_057f:;
                                                                //   5723        %finish
#line 5723 "regression-compile-tmp/imp22g-77.imp"
L_057e:;
                                                                //   5724        %result = TRUE
#line 5724 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   5725  !<<IMP
                                                                //   5726      %finish %else %if wc&cat = arry %start
#line 5726 "regression-compile-tmp/imp22g-77.imp"
L_0578:;
#line 5726 "regression-compile-tmp/imp22g-77.imp"
if (((((WC) & (15))) != (9))) goto L_0580;
                                                                //   5727        %result = TRUE %if wp_type = tp_type %and valok(wp_xtype,tp_xtype)=TRUE
#line 5727 "regression-compile-tmp/imp22g-77.imp"
if (((WP->TYPE) != (TP->TYPE))) goto L_0581;
#line 5727 "regression-compile-tmp/imp22g-77.imp"
if (((VALOK(WP->XTYPE, TP->XTYPE)) != (1))) goto L_0581;
#line 5727 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5727 "regression-compile-tmp/imp22g-77.imp"
L_0581:;
                                                                //   5728  !<<BOTH
                                                                //   5729      %else;                          !record etc
#line 5729 "regression-compile-tmp/imp22g-77.imp"
goto L_0576;
#line 5729 "regression-compile-tmp/imp22g-77.imp"
L_0580:;
                                                                //   5730        %if wanted = recstar %start
#line 5730 "regression-compile-tmp/imp22g-77.imp"
if (((WANTED) != (67))) goto L_0582;
                                                                //   5731          %result = TRUE %if t # recstar
#line 5731 "regression-compile-tmp/imp22g-77.imp"
if (((T) == (67))) goto L_0583;
#line 5731 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5731 "regression-compile-tmp/imp22g-77.imp"
L_0583:;
                                                                //   5732        %else
#line 5732 "regression-compile-tmp/imp22g-77.imp"
goto L_0584;
#line 5732 "regression-compile-tmp/imp22g-77.imp"
L_0582:;
                                                                //   5733          %result = TRUE %if t = recstar %or item!value = 0
#line 5733 "regression-compile-tmp/imp22g-77.imp"
if (((T) == (67))) goto L_0585;
#line 5733 "regression-compile-tmp/imp22g-77.imp"
if (((((ITEM) | (VALUE))) != (0))) goto L_0586;
#line 5733 "regression-compile-tmp/imp22g-77.imp"
L_0585:;
#line 5733 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5733 "regression-compile-tmp/imp22g-77.imp"
L_0586:;
                                                                //   5734        %finish
#line 5734 "regression-compile-tmp/imp22g-77.imp"
L_0584:;
                                                                //   5735      %finish
#line 5735 "regression-compile-tmp/imp22g-77.imp"
L_0576:;
                                                                //   5736    %else;                            !category difference
#line 5736 "regression-compile-tmp/imp22g-77.imp"
goto L_0587;
#line 5736 "regression-compile-tmp/imp22g-77.imp"
L_0560:;
                                                                //   5737      %if tc = inty %start
#line 5737 "regression-compile-tmp/imp22g-77.imp"
if (((TC) != (0))) goto L_0588;
                                                                //   5738        %result = TRUE %if wc = recy %and item!value = 0;  !RECORD = 0
#line 5738 "regression-compile-tmp/imp22g-77.imp"
if (((WC) != (12))) goto L_0589;
#line 5738 "regression-compile-tmp/imp22g-77.imp"
if (((((ITEM) | (VALUE))) != (0))) goto L_0589;
#line 5738 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5738 "regression-compile-tmp/imp22g-77.imp"
L_0589:;
                                                                //   5739        toreal %and %result = TRUE %if wc = realy;         !REAL   = INT
#line 5739 "regression-compile-tmp/imp22g-77.imp"
if (((WC) != (5))) goto L_058a;
#line 5739 "regression-compile-tmp/imp22g-77.imp"
TOREAL();
#line 5739 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5739 "regression-compile-tmp/imp22g-77.imp"
L_058a:;
                                                                //   5740      %finish %else %if wc = stringy %and t = chartype %start;   !STRING = CHAR
#line 5740 "regression-compile-tmp/imp22g-77.imp"
goto L_058b;
#line 5740 "regression-compile-tmp/imp22g-77.imp"
L_0588:;
#line 5740 "regression-compile-tmp/imp22g-77.imp"
if (((WC) != (8))) goto L_058c;
#line 5740 "regression-compile-tmp/imp22g-77.imp"
if (((T) != (61))) goto L_058c;
                                                                //   5741        %if item = 0 %start;           !null string
#line 5741 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_058d;
                                                                //   5742          final(cad) = 1;  final(cad+1) = value
#line 5742 "regression-compile-tmp/imp22g-77.imp"
FINAL[CAD] = 1;
#line 5742 "regression-compile-tmp/imp22g-77.imp"
FINAL[(((int)(CAD)) + (1))] = VALUE;
                                                                //   5743          value = cad;  cad = cad+2
#line 5743 "regression-compile-tmp/imp22g-77.imp"
VALUE = CAD;
#line 5743 "regression-compile-tmp/imp22g-77.imp"
CAD = (((int)(CAD)) + (2));
                                                                //   5744          type = stringtype
#line 5744 "regression-compile-tmp/imp22g-77.imp"
TYPE = 64;
                                                                //   5745        %finish %else putexp(dtostring,normitem,0,string1)
#line 5745 "regression-compile-tmp/imp22g-77.imp"
goto L_058e;
#line 5745 "regression-compile-tmp/imp22g-77.imp"
L_058d:;
#line 5745 "regression-compile-tmp/imp22g-77.imp"
PUTEXP(107, NORMITEM(), 0, 63);
#line 5745 "regression-compile-tmp/imp22g-77.imp"
L_058e:;
                                                                //   5746        %result = TRUE
#line 5746 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   5747  !<<IMP
                                                                //   5748  ! sets again
                                                                //   5749  !<<BOTH
                                                                //   5750      %finish
#line 5750 "regression-compile-tmp/imp22g-77.imp"
L_058c:;
#line 5750 "regression-compile-tmp/imp22g-77.imp"
L_058b:;
                                                                //   5751    %finish
#line 5751 "regression-compile-tmp/imp22g-77.imp"
L_0587:;
                                                                //   5752    %result = FALSE
#line 5752 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   5753  %end
#line 5753 "regression-compile-tmp/imp22g-77.imp"
} // End of block VALOK at level 2
                                                                //   5754  !
                                                                //   5755  %routine GET VALUE(%integer valtype)
#line 5755 "regression-compile-tmp/imp22g-77.imp"
void GETVALUE( int VALTYPE )
#line 5755 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5756    get EXPRESSION(major,valtype)
#line 5756 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(83, VALTYPE);
                                                                //   5757  %end;  !GET VALUE
#line 5757 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETVALUE at level 2
                                                                //   5758  !
                                                                //   5759  %routine GET LITERAL(%integer t)
#line 5759 "regression-compile-tmp/imp22g-77.imp"
void GETLITERAL( int T )
#line 5759 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5760    literal = literal+1
#line 5760 "regression-compile-tmp/imp22g-77.imp"
LITERAL = (((int)(LITERAL)) + (1));
                                                                //   5761    get EXPRESSION(major,t)
#line 5761 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(83, T);
                                                                //   5762    literal = literal-1
#line 5762 "regression-compile-tmp/imp22g-77.imp"
LITERAL = (((int)(LITERAL)) - (1));
                                                                //   5763  %end
#line 5763 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETLITERAL at level 2
                                                                //   5764  !
                                                                //   5765  !!!!!!!!!!!!!!!!!!!!!!  Machine-code  !!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   5766  !
                                                                //   5767  %routine GET MIDENT(%integer min,max)
#line 5767 "regression-compile-tmp/imp22g-77.imp"
void GETMIDENT( int MIN, int MAX )
#line 5767 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5768    get(ident)
#line 5768 "regression-compile-tmp/imp22g-77.imp"
GET(53);
                                                                //   5769    %if item <= 0 %start
#line 5769 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) > (0))) goto L_058f;
                                                                //   5770      name error %if string(charlim) # "sp"
#line 5770 "regression-compile-tmp/imp22g-77.imp"
if ((_imp_strcmp(*_imp_STRING(CHARLIM), _imp_str_literal("sp")) == 0)) goto L_0590;
#line 5770 "regression-compile-tmp/imp22g-77.imp"
NAMEERROR();
#line 5770 "regression-compile-tmp/imp22g-77.imp"
L_0590:;
                                                                //   5771      item = a7
#line 5771 "regression-compile-tmp/imp22g-77.imp"
ITEM = 16;
                                                                //   5772      ditem == dict(item)
#line 5772 "regression-compile-tmp/imp22g-77.imp"
DITEM = &DICT[ITEM];
                                                                //   5773    %finish
#line 5773 "regression-compile-tmp/imp22g-77.imp"
L_058f:;
                                                                //   5774    %if ditem_mode = litmode %start
#line 5774 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->MODE) != (60))) goto L_0591;
                                                                //   5775      value = ditem_val;  item = 0
#line 5775 "regression-compile-tmp/imp22g-77.imp"
VALUE = DITEM->VAL;
#line 5775 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
                                                                //   5776    %finish
#line 5776 "regression-compile-tmp/imp22g-77.imp"
L_0591:;
                                                                //   5777    syntax error %unless min <= item <= max
#line 5777 "regression-compile-tmp/imp22g-77.imp"
if ((((MIN) > (ITEM))) || (((ITEM) <= (MAX)))) goto L_0593;
#line 5777 "regression-compile-tmp/imp22g-77.imp"
L_0592:;
#line 5777 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 5777 "regression-compile-tmp/imp22g-77.imp"
L_0593:;
                                                                //   5778  %end
#line 5778 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETMIDENT at level 2
                                                                //   5779  
                                                                //   5780  %routine GET REGSET
#line 5780 "regression-compile-tmp/imp22g-77.imp"
void GETREGSET( void )
#line 5780 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5781  %integer hold,set
#line 5781 "regression-compile-tmp/imp22g-77.imp"
int HOLD;
#line 5781 "regression-compile-tmp/imp22g-77.imp"
int SET;
                                                                //   5782    set=0
#line 5782 "regression-compile-tmp/imp22g-77.imp"
SET = 0;
                                                                //   5783    %cycle
#line 5783 "regression-compile-tmp/imp22g-77.imp"
L_0594:;
                                                                //   5784      get mident(d0,a7)
#line 5784 "regression-compile-tmp/imp22g-77.imp"
GETMIDENT(1, 16);
                                                                //   5785      hold = item
#line 5785 "regression-compile-tmp/imp22g-77.imp"
HOLD = ITEM;
                                                                //   5786      get mident(hold,a7) %if a(minus)=TRUE
#line 5786 "regression-compile-tmp/imp22g-77.imp"
if (((A(84)) != (1))) goto L_0597;
#line 5786 "regression-compile-tmp/imp22g-77.imp"
GETMIDENT(HOLD, 16);
#line 5786 "regression-compile-tmp/imp22g-77.imp"
L_0597:;
                                                                //   5787      %cycle
#line 5787 "regression-compile-tmp/imp22g-77.imp"
L_0598:;
                                                                //   5788        set = set!1<<(hold-d0)
#line 5788 "regression-compile-tmp/imp22g-77.imp"
SET = ((SET) | (((1) << ((((int)(HOLD)) - (1))))));
                                                                //   5789        hold = hold+1
#line 5789 "regression-compile-tmp/imp22g-77.imp"
HOLD = (((int)(HOLD)) + (1));
                                                                //   5790      %repeat %until hold > item
#line 5790 "regression-compile-tmp/imp22g-77.imp"
if (((HOLD) > (ITEM))) goto L_0599;
#line 5790 "regression-compile-tmp/imp22g-77.imp"
goto L_0598;
#line 5790 "regression-compile-tmp/imp22g-77.imp"
L_0599:;
                                                                //   5791    %repeat %until %not a(slash)=TRUE
#line 5791 "regression-compile-tmp/imp22g-77.imp"
if (((A(90)) != (1))) goto L_0595;
#line 5791 "regression-compile-tmp/imp22g-77.imp"
goto L_0594;
#line 5791 "regression-compile-tmp/imp22g-77.imp"
L_0595:;
                                                                //   5792    item = 0;  value = set
#line 5792 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
#line 5792 "regression-compile-tmp/imp22g-77.imp"
VALUE = SET;
                                                                //   5793  %end
#line 5793 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETREGSET at level 2
                                                                //   5794  
                                                                //   5795  %routine get MCODE
#line 5795 "regression-compile-tmp/imp22g-77.imp"
void GETMCODE( void )
#line 5795 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5796  %integer op,x,y,types
#line 5796 "regression-compile-tmp/imp22g-77.imp"
int OP;
#line 5796 "regression-compile-tmp/imp22g-77.imp"
int X;
#line 5796 "regression-compile-tmp/imp22g-77.imp"
int Y;
#line 5796 "regression-compile-tmp/imp22g-77.imp"
int TYPES;
                                                                //   5797  
                                                                //   5798  %integer%fn OPSIZE(%integer okbyte)
#line 5798 "regression-compile-tmp/imp22g-77.imp"
int OPSIZE( int OKBYTE )
#line 5798 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5799    %result = 0 %unless a(dot)=TRUE
#line 5799 "regression-compile-tmp/imp22g-77.imp"
if (((A(87)) == (1))) goto L_059b;
#line 5799 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 5799 "regression-compile-tmp/imp22g-77.imp"
L_059b:;
                                                                //   5800    sym = byteinteger(fp)&(\casebit);  fp = fp+1
#line 5800 "regression-compile-tmp/imp22g-77.imp"
SYM = ((*_imp_BYTEINTEGER(FP)) & ((~(32))));
#line 5800 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   5801    %result = 4 %if sym = 'L'
#line 5801 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (76))) goto L_059c;
#line 5801 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 4;
#line 5801 "regression-compile-tmp/imp22g-77.imp"
L_059c:;
                                                                //   5802    %result = 2 %if sym = 'W'
#line 5802 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (87))) goto L_059d;
#line 5802 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 2;
#line 5802 "regression-compile-tmp/imp22g-77.imp"
L_059d:;
                                                                //   5803    %result = 1 %if sym = okbyte
#line 5803 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (OKBYTE))) goto L_059e;
#line 5803 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5803 "regression-compile-tmp/imp22g-77.imp"
L_059e:;
                                                                //   5804    syntax error
#line 5804 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
                                                                //   5805  %end
#line 5805 "regression-compile-tmp/imp22g-77.imp"
/*_imp_signal(8, 4, 0, "");*/
fprintf(stderr, "%%RESULT missing in %s in file %s:%d\n", __PRETTY_FUNCTION__, (_imp_current_file != 0 ? _imp_current_file : __FILE__), (_imp_current_line != 0 ? _imp_current_line : __LINE__));
exit(1);
} // End of block OPSIZE at level 3
                                                                //   5806  
                                                                //   5807  %routine get MOP(%integer t,dummy,%record(identinfo)%name dp)
#line 5807 "regression-compile-tmp/imp22g-77.imp"
void GETMOP( int T, int DUMMY,  IDENTINFO /*name*/*DP )
#line 5807 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5808  !Get Mcode operand
                                                                //   5809  %constinteger HASHSIGN=noteq
                                                                //   5810  %integer sign,hold,holdval,m
#line 5810 "regression-compile-tmp/imp22g-77.imp"
int SIGN;
#line 5810 "regression-compile-tmp/imp22g-77.imp"
int HOLD;
#line 5810 "regression-compile-tmp/imp22g-77.imp"
int HOLDVAL;
#line 5810 "regression-compile-tmp/imp22g-77.imp"
int M;
                                                                //   5811    %if a(hashsign)=TRUE %start
#line 5811 "regression-compile-tmp/imp22g-77.imp"
if (((A(78)) != (1))) goto L_059f;
                                                                //   5812      get LITERAL(inttype)
#line 5812 "regression-compile-tmp/imp22g-77.imp"
GETLITERAL(43);
                                                                //   5813      %return
#line 5813 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5814    %finish
#line 5814 "regression-compile-tmp/imp22g-77.imp"
L_059f:;
                                                                //   5815    sign = 0;  hold = -1;  holdval = 0
#line 5815 "regression-compile-tmp/imp22g-77.imp"
SIGN = 0;
#line 5815 "regression-compile-tmp/imp22g-77.imp"
HOLD = (-1);
#line 5815 "regression-compile-tmp/imp22g-77.imp"
HOLDVAL = 0;
                                                                //   5816    sign = 1 %if a(minus)=TRUE
#line 5816 "regression-compile-tmp/imp22g-77.imp"
if (((A(84)) != (1))) goto L_05a0;
#line 5816 "regression-compile-tmp/imp22g-77.imp"
SIGN = 1;
#line 5816 "regression-compile-tmp/imp22g-77.imp"
L_05a0:;
                                                                //   5817    %if a(ident)=TRUE %start
#line 5817 "regression-compile-tmp/imp22g-77.imp"
if (((A(53)) != (1))) goto L_05a1;
                                                                //   5818      matched = 0
#line 5818 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 0;
                                                                //   5819      get mident(0,dlim)
#line 5819 "regression-compile-tmp/imp22g-77.imp"
GETMIDENT(0, DLIM);
                                                                //   5820      hold = item
#line 5820 "regression-compile-tmp/imp22g-77.imp"
HOLD = ITEM;
                                                                //   5821      %if hold # 0 %start
#line 5821 "regression-compile-tmp/imp22g-77.imp"
if (((HOLD) == (0))) goto L_05a2;
                                                                //   5822        syntax error %if sign # 0
#line 5822 "regression-compile-tmp/imp22g-77.imp"
if (((SIGN) == (0))) goto L_05a3;
#line 5822 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 5822 "regression-compile-tmp/imp22g-77.imp"
L_05a3:;
                                                                //   5823        %if item > a7 %start
#line 5823 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) <= (16))) goto L_05a4;
                                                                //   5824          dp_flags = ditem_flags
#line 5824 "regression-compile-tmp/imp22g-77.imp"
DP->FLAGS = DITEM->FLAGS;
                                                                //   5825          dp_mode = ditem_mode;  dp_val = ditem_val
#line 5825 "regression-compile-tmp/imp22g-77.imp"
DP->MODE = DITEM->MODE;
#line 5825 "regression-compile-tmp/imp22g-77.imp"
DP->VAL = DITEM->VAL;
                                                                //   5826          %while a(recsub)=TRUE %cycle
#line 5826 "regression-compile-tmp/imp22g-77.imp"
L_05a5:;
#line 5826 "regression-compile-tmp/imp22g-77.imp"
if (((A(58)) != (1))) goto L_05a6;
                                                                //   5827            dformat == typecell(ditem_type)
#line 5827 "regression-compile-tmp/imp22g-77.imp"
DFORMAT = TYPECELL(DITEM->TYPE);
                                                                //   5828            syntax error %unless dformat_flags&cat = recy %c
#line 5828 "regression-compile-tmp/imp22g-77.imp"
if (((((DFORMAT->FLAGS) & (15))) != (12))) goto L_05a8;
#line 5828 "regression-compile-tmp/imp22g-77.imp"
if (((((DITEM->FLAGS) & ((-30720)))) == (0))) goto L_05a9;
#line 5828 "regression-compile-tmp/imp22g-77.imp"
L_05a8:;
#line 5828 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 5828 "regression-compile-tmp/imp22g-77.imp"
L_05a9:;
                                                                //   5829                         %and ditem_flags&(name+indirect) = 0
                                                                //   5830            subbed = 1;  get(ident);  subbed = 0
#line 5830 "regression-compile-tmp/imp22g-77.imp"
SUBBED = 1;
#line 5830 "regression-compile-tmp/imp22g-77.imp"
GET(53);
#line 5830 "regression-compile-tmp/imp22g-77.imp"
SUBBED = 0;
                                                                //   5831            error(namerr+point) %if item <= 0
#line 5831 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) > (0))) goto L_05aa;
#line 5831 "regression-compile-tmp/imp22g-77.imp"
ERROR(73);
#line 5831 "regression-compile-tmp/imp22g-77.imp"
L_05aa:;
                                                                //   5832            dp_flags = ditem_flags;  dp_type = ditem_type
#line 5832 "regression-compile-tmp/imp22g-77.imp"
DP->FLAGS = DITEM->FLAGS;
#line 5832 "regression-compile-tmp/imp22g-77.imp"
DP->TYPE = DITEM->TYPE;
                                                                //   5833            dp_val = dp_val+ditem_val
#line 5833 "regression-compile-tmp/imp22g-77.imp"
DP->VAL = (((int)(DP->VAL)) + (DITEM->VAL));
                                                                //   5834            item = dummy;  ditem == dp
#line 5834 "regression-compile-tmp/imp22g-77.imp"
ITEM = DUMMY;
#line 5834 "regression-compile-tmp/imp22g-77.imp"
DITEM = DP;
                                                                //   5835          %repeat
#line 5835 "regression-compile-tmp/imp22g-77.imp"
goto L_05a5;
#line 5835 "regression-compile-tmp/imp22g-77.imp"
L_05a6:;
                                                                //   5836          %return
#line 5836 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5837        %finish
#line 5837 "regression-compile-tmp/imp22g-77.imp"
L_05a4:;
                                                                //   5838        %if op&255 = movem %and item > 0 %start
#line 5838 "regression-compile-tmp/imp22g-77.imp"
if (((((OP) & (255))) != (100))) goto L_05ab;
#line 5838 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) <= (0))) goto L_05ab;
                                                                //   5839          matched = 0
#line 5839 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 0;
                                                                //   5840          get regset
#line 5840 "regression-compile-tmp/imp22g-77.imp"
GETREGSET();
                                                                //   5841        %finish
#line 5841 "regression-compile-tmp/imp22g-77.imp"
L_05ab:;
                                                                //   5842        %return
#line 5842 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5843      %finish
#line 5843 "regression-compile-tmp/imp22g-77.imp"
L_05a2:;
                                                                //   5844      holdval = value
#line 5844 "regression-compile-tmp/imp22g-77.imp"
HOLDVAL = VALUE;
                                                                //   5845    %finish %else %if a(const)=TRUE %start
#line 5845 "regression-compile-tmp/imp22g-77.imp"
goto L_05ac;
#line 5845 "regression-compile-tmp/imp22g-77.imp"
L_05a1:;
#line 5845 "regression-compile-tmp/imp22g-77.imp"
if (((A(52)) != (1))) goto L_05ad;
                                                                //   5846      hold = 0;  holdval = value
#line 5846 "regression-compile-tmp/imp22g-77.imp"
HOLD = 0;
#line 5846 "regression-compile-tmp/imp22g-77.imp"
HOLDVAL = VALUE;
                                                                //   5847    %finish
#line 5847 "regression-compile-tmp/imp22g-77.imp"
L_05ad:;
#line 5847 "regression-compile-tmp/imp22g-77.imp"
L_05ac:;
                                                                //   5848    holdval = -holdval %if sign # 0
#line 5848 "regression-compile-tmp/imp22g-77.imp"
if (((SIGN) == (0))) goto L_05ae;
#line 5848 "regression-compile-tmp/imp22g-77.imp"
HOLDVAL = (-(HOLDVAL));
#line 5848 "regression-compile-tmp/imp22g-77.imp"
L_05ae:;
                                                                //   5849    %if a(left)=TRUE %start
#line 5849 "regression-compile-tmp/imp22g-77.imp"
if (((A(55)) != (1))) goto L_05af;
                                                                //   5850      get mident(a0,a7)
#line 5850 "regression-compile-tmp/imp22g-77.imp"
GETMIDENT(9, 16);
                                                                //   5851      %if hold < 0 %start
#line 5851 "regression-compile-tmp/imp22g-77.imp"
if (((HOLD) >= (0))) goto L_05b0;
                                                                //   5852        get(right)
#line 5852 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   5853        %if sign # 0 %then item = item+pre %c
#line 5853 "regression-compile-tmp/imp22g-77.imp"
if (((SIGN) == (0))) goto L_05b1;
#line 5853 "regression-compile-tmp/imp22g-77.imp"
ITEM = (((int)(ITEM)) + (24));
#line 5853 "regression-compile-tmp/imp22g-77.imp"
goto L_05b2;
#line 5853 "regression-compile-tmp/imp22g-77.imp"
L_05b1:;
#line 5853 "regression-compile-tmp/imp22g-77.imp"
if (((A(83)) == (1))) goto L_05b3;
#line 5853 "regression-compile-tmp/imp22g-77.imp"
ITEM = (((int)(ITEM)) + (8));
#line 5853 "regression-compile-tmp/imp22g-77.imp"
goto L_05b2;
#line 5853 "regression-compile-tmp/imp22g-77.imp"
L_05b3:;
#line 5853 "regression-compile-tmp/imp22g-77.imp"
ITEM = (((int)(ITEM)) + (16));
#line 5853 "regression-compile-tmp/imp22g-77.imp"
L_05b2:;
                                                                //   5854        %else %unless a(plus)=TRUE %then item = item+indir %c
                                                                //   5855        %else item = item+post
                                                                //   5856        %return
#line 5856 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5857      %finish
#line 5857 "regression-compile-tmp/imp22g-77.imp"
L_05b0:;
                                                                //   5858      m = item+(dispmode-a0)
#line 5858 "regression-compile-tmp/imp22g-77.imp"
M = ((ITEM) + ((int)(31)));
                                                                //   5859      %if a(comma)=TRUE %start
#line 5859 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) != (1))) goto L_05b4;
                                                                //   5860        get mident(d0,a7)
#line 5860 "regression-compile-tmp/imp22g-77.imp"
GETMIDENT(1, 16);
                                                                //   5861        fault(rangerr) %unless is mite(holdval)=TRUE
#line 5861 "regression-compile-tmp/imp22g-77.imp"
if (((ISMITE(HOLDVAL)) == (1))) goto L_05b5;
#line 5861 "regression-compile-tmp/imp22g-77.imp"
FAULT(24);
#line 5861 "regression-compile-tmp/imp22g-77.imp"
L_05b5:;
                                                                //   5862        m = m+(indexmode-dispmode)
#line 5862 "regression-compile-tmp/imp22g-77.imp"
M = ((M) + ((int)(8)));
                                                                //   5863        holdval = (item-d0)<<12+holdval&255
#line 5863 "regression-compile-tmp/imp22g-77.imp"
HOLDVAL = ((((((((int)(ITEM)) - (1))) << (12)))) + (((HOLDVAL) & (255))));
                                                                //   5864        holdval = holdval+16_0800 %if opsize(0) # 2
#line 5864 "regression-compile-tmp/imp22g-77.imp"
if (((OPSIZE(0)) == (2))) goto L_05b6;
#line 5864 "regression-compile-tmp/imp22g-77.imp"
HOLDVAL = (((int)(HOLDVAL)) + (2048));
#line 5864 "regression-compile-tmp/imp22g-77.imp"
L_05b6:;
                                                                //   5865      %finish
#line 5865 "regression-compile-tmp/imp22g-77.imp"
L_05b4:;
                                                                //   5866      get(right)
#line 5866 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   5867    %else
#line 5867 "regression-compile-tmp/imp22g-77.imp"
goto L_05b7;
#line 5867 "regression-compile-tmp/imp22g-77.imp"
L_05af:;
                                                                //   5868      syntax error %if hold < 0
#line 5868 "regression-compile-tmp/imp22g-77.imp"
if (((HOLD) >= (0))) goto L_05b8;
#line 5868 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 5868 "regression-compile-tmp/imp22g-77.imp"
L_05b8:;
                                                                //   5869      m = absmode
#line 5869 "regression-compile-tmp/imp22g-77.imp"
M = 56;
                                                                //   5870    %finish
#line 5870 "regression-compile-tmp/imp22g-77.imp"
L_05b7:;
                                                                //   5871    dp_mode = m;  dp_val = holdval
#line 5871 "regression-compile-tmp/imp22g-77.imp"
DP->MODE = M;
#line 5871 "regression-compile-tmp/imp22g-77.imp"
DP->VAL = HOLDVAL;
                                                                //   5872    item = dummy
#line 5872 "regression-compile-tmp/imp22g-77.imp"
ITEM = DUMMY;
                                                                //   5873  %end
#line 5873 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETMOP at level 3
                                                                //   5874  
                                                                //   5875  %constinteger temp=((('t'&31)<<5+('e'&31))<<5+('m'&31))<<5+('p'&31)
                                                                //   5876    update sp
#line 5876 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   5877  !Pack mnemonic
                                                                //   5878    atomp = fp+1
#line 5878 "regression-compile-tmp/imp22g-77.imp"
ATOMP = (((int)(FP)) + (1));
                                                                //   5879    x = 0
#line 5879 "regression-compile-tmp/imp22g-77.imp"
X = 0;
                                                                //   5880    %cycle
#line 5880 "regression-compile-tmp/imp22g-77.imp"
L_05b9:;
                                                                //   5881      sym = byteinteger(fp);  fp = fp+1
#line 5881 "regression-compile-tmp/imp22g-77.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 5881 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   5882      %exit %unless 'A' <= sym&(\casebit) <= 'Z'
#line 5882 "regression-compile-tmp/imp22g-77.imp"
if ((((65) > (((SYM) & ((~(32))))))) || (((((SYM) & ((~(32))))) <= (90)))) goto L_05bc;
#line 5882 "regression-compile-tmp/imp22g-77.imp"
L_059a:;
#line 5882 "regression-compile-tmp/imp22g-77.imp"
goto L_05ba;
#line 5882 "regression-compile-tmp/imp22g-77.imp"
L_05bc:;
                                                                //   5883      sym = sym&31
#line 5883 "regression-compile-tmp/imp22g-77.imp"
SYM = ((SYM) & (31));
                                                                //   5884      x = x<<5+sym
#line 5884 "regression-compile-tmp/imp22g-77.imp"
X = (((int)(((X) << (5)))) + (SYM));
                                                                //   5885    %repeat
#line 5885 "regression-compile-tmp/imp22g-77.imp"
goto L_05b9;
#line 5885 "regression-compile-tmp/imp22g-77.imp"
L_05ba:;
                                                                //   5886    fp = fp-1;  sym = 0
#line 5886 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) - (1));
#line 5886 "regression-compile-tmp/imp22g-77.imp"
SYM = 0;
                                                                //   5887    syntax error %if x = 0
#line 5887 "regression-compile-tmp/imp22g-77.imp"
if (((X) != (0))) goto L_05bd;
#line 5887 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 5887 "regression-compile-tmp/imp22g-77.imp"
L_05bd:;
                                                                //   5888    %if x = temp %start;       !*TEMP ...
#line 5888 "regression-compile-tmp/imp22g-77.imp"
if (((X) != (660912))) goto L_05be;
                                                                //   5889      value = 0
#line 5889 "regression-compile-tmp/imp22g-77.imp"
VALUE = 0;
                                                                //   5890      matched = 0 %and get regset %if a(ident)=TRUE
#line 5890 "regression-compile-tmp/imp22g-77.imp"
if (((A(53)) != (1))) goto L_05bf;
#line 5890 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 0;
#line 5890 "regression-compile-tmp/imp22g-77.imp"
GETREGSET();
#line 5890 "regression-compile-tmp/imp22g-77.imp"
L_05bf:;
                                                                //   5891      c_free = value
#line 5891 "regression-compile-tmp/imp22g-77.imp"
C.FREE = VALUE;
                                                                //   5892      %return
#line 5892 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5893    %finish
#line 5893 "regression-compile-tmp/imp22g-77.imp"
L_05be:;
                                                                //   5894    x = x<<5 %until x&(31<<25) # 0
#line 5894 "regression-compile-tmp/imp22g-77.imp"
L_05c0:;
#line 5894 "regression-compile-tmp/imp22g-77.imp"
X = ((X) << (5));
#line 5894 "regression-compile-tmp/imp22g-77.imp"
if (((((X) & (((31) << (25))))) != (0))) goto L_05c1;
#line 5894 "regression-compile-tmp/imp22g-77.imp"
goto L_05c0;
#line 5894 "regression-compile-tmp/imp22g-77.imp"
L_05c1:;
                                                                //   5895    x = x!16_C0000000
#line 5895 "regression-compile-tmp/imp22g-77.imp"
X = ((X) | ((-1073741824)));
                                                                //   5896    find op(x,op,types)
#line 5896 "regression-compile-tmp/imp22g-77.imp"
FINDOP(X, &OP, &TYPES);
                                                                //   5897    op = op+opsize('B')<<8 %if types&(sized!asized) # 0
#line 5897 "regression-compile-tmp/imp22g-77.imp"
if (((((TYPES) & (((32768) | (16384))))) == (0))) goto L_05c3;
#line 5897 "regression-compile-tmp/imp22g-77.imp"
OP = ((OP) + ((int)(((OPSIZE(66)) << (8)))));
#line 5897 "regression-compile-tmp/imp22g-77.imp"
L_05c3:;
                                                                //   5898    x = 0;  y = 0
#line 5898 "regression-compile-tmp/imp22g-77.imp"
X = 0;
#line 5898 "regression-compile-tmp/imp22g-77.imp"
Y = 0;
                                                                //   5899    %if types>>6&63 # 0 %start
#line 5899 "regression-compile-tmp/imp22g-77.imp"
if ((((((int)((((unsigned int)(TYPES)) >> (6)))) & (63))) == (0))) goto L_05c4;
                                                                //   5900      get MOP(types>>6&63,lablim,dtemp)
#line 5900 "regression-compile-tmp/imp22g-77.imp"
GETMOP((((int)((((unsigned int)(TYPES)) >> (6)))) & (63)), LABLIM, DTEMP);
                                                                //   5901      x = normitem
#line 5901 "regression-compile-tmp/imp22g-77.imp"
X = NORMITEM();
                                                                //   5902      get(comma) %if types&63 # 0
#line 5902 "regression-compile-tmp/imp22g-77.imp"
if (((((TYPES) & (63))) == (0))) goto L_05c5;
#line 5902 "regression-compile-tmp/imp22g-77.imp"
GET(60);
#line 5902 "regression-compile-tmp/imp22g-77.imp"
L_05c5:;
                                                                //   5903    %finish
#line 5903 "regression-compile-tmp/imp22g-77.imp"
L_05c4:;
                                                                //   5904    %if types&63 # 0 %start
#line 5904 "regression-compile-tmp/imp22g-77.imp"
if (((((TYPES) & (63))) == (0))) goto L_05c6;
                                                                //   5905      get MOP(types&63,lablim+1,dtemp2)
#line 5905 "regression-compile-tmp/imp22g-77.imp"
GETMOP(((TYPES) & (63)), (((int)(LABLIM)) + (1)), DTEMP2);
                                                                //   5906      y = normitem
#line 5906 "regression-compile-tmp/imp22g-77.imp"
Y = NORMITEM();
                                                                //   5907    %finish
#line 5907 "regression-compile-tmp/imp22g-77.imp"
L_05c6:;
                                                                //   5908    plant(op,x,y)
#line 5908 "regression-compile-tmp/imp22g-77.imp"
PLANT(OP, X, Y);
                                                                //   5909    forget regs;  c_access = -1
#line 5909 "regression-compile-tmp/imp22g-77.imp"
FORGETREGS();
#line 5909 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = (-1);
                                                                //   5910  %end;  !get MCODE
#line 5910 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETMCODE at level 2
                                                                //   5911  
                                                                //   5912  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   5913  
                                                                //   5914  %integerfn REFOK(%integer wanted,t)
#line 5914 "regression-compile-tmp/imp22g-77.imp"
int REFOK( int WANTED, int T )
#line 5914 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5915  %record(identinfo)%name wp,tp
#line 5915 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*WP;
#line 5915 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*TP;
                                                                //   5916    %result = TRUE %if t = wanted %or wanted = 0 %or t = 0 %or item!value = 0
#line 5916 "regression-compile-tmp/imp22g-77.imp"
if (((T) == (WANTED))) goto L_05c2;
#line 5916 "regression-compile-tmp/imp22g-77.imp"
if (((WANTED) == (0))) goto L_05c2;
#line 5916 "regression-compile-tmp/imp22g-77.imp"
if (((T) == (0))) goto L_05c2;
#line 5916 "regression-compile-tmp/imp22g-77.imp"
if (((((ITEM) | (VALUE))) != (0))) goto L_05c7;
#line 5916 "regression-compile-tmp/imp22g-77.imp"
L_05c2:;
#line 5916 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5916 "regression-compile-tmp/imp22g-77.imp"
L_05c7:;
                                                                //   5917    wp == typecell(wanted);  tp == typecell(t)
#line 5917 "regression-compile-tmp/imp22g-77.imp"
WP = TYPECELL(WANTED);
#line 5917 "regression-compile-tmp/imp22g-77.imp"
TP = TYPECELL(T);
                                                                //   5918    %if (wp_flags!!tp_flags)&(name+packed+cat) = 0 %start
#line 5918 "regression-compile-tmp/imp22g-77.imp"
if (((((((WP->FLAGS) ^ (TP->FLAGS))) & ((-31729)))) != (0))) goto L_05c8;
                                                                //   5919      %if wp_flags&cat = arry %start
#line 5919 "regression-compile-tmp/imp22g-77.imp"
if (((((WP->FLAGS) & (15))) != (9))) goto L_05c9;
                                                                //   5920        !**check index compatible
                                                                //   5921        %result = TRUE %if refok(wp_type,tp_type)=TRUE
#line 5921 "regression-compile-tmp/imp22g-77.imp"
if (((REFOK(WP->TYPE, TP->TYPE)) != (1))) goto L_05ca;
#line 5921 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5921 "regression-compile-tmp/imp22g-77.imp"
L_05ca:;
                                                                //   5922      %finish %else %if wp_flags&cat = stringy %start
#line 5922 "regression-compile-tmp/imp22g-77.imp"
goto L_05cb;
#line 5922 "regression-compile-tmp/imp22g-77.imp"
L_05c9:;
#line 5922 "regression-compile-tmp/imp22g-77.imp"
if (((((WP->FLAGS) & (15))) != (8))) goto L_05cc;
                                                                //   5923        %result = TRUE %if tp_size = 0 %or wp_size = 0
#line 5923 "regression-compile-tmp/imp22g-77.imp"
if (((TP->SIZE) == (0))) goto L_052f;
#line 5923 "regression-compile-tmp/imp22g-77.imp"
if (((WP->SIZE) != (0))) goto L_05cd;
#line 5923 "regression-compile-tmp/imp22g-77.imp"
L_052f:;
#line 5923 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5923 "regression-compile-tmp/imp22g-77.imp"
L_05cd:;
                                                                //   5924  !<<IMP
                                                                //   5925  !<<BOTH
                                                                //   5926      %else
#line 5926 "regression-compile-tmp/imp22g-77.imp"
goto L_05cb;
#line 5926 "regression-compile-tmp/imp22g-77.imp"
L_05cc:;
                                                                //   5927        %result = TRUE %if t = recstar %or wanted = recstar
#line 5927 "regression-compile-tmp/imp22g-77.imp"
if (((T) == (67))) goto L_05ce;
#line 5927 "regression-compile-tmp/imp22g-77.imp"
if (((WANTED) != (67))) goto L_05cf;
#line 5927 "regression-compile-tmp/imp22g-77.imp"
L_05ce:;
#line 5927 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 5927 "regression-compile-tmp/imp22g-77.imp"
L_05cf:;
                                                                //   5928      %finish
#line 5928 "regression-compile-tmp/imp22g-77.imp"
L_05cb:;
                                                                //   5929    %finish
#line 5929 "regression-compile-tmp/imp22g-77.imp"
L_05c8:;
                                                                //   5930    %result = FALSE
#line 5930 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   5931  %end
#line 5931 "regression-compile-tmp/imp22g-77.imp"
} // End of block REFOK at level 2
                                                                //   5932  
                                                                //   5933  %routine TOREF
#line 5933 "regression-compile-tmp/imp22g-77.imp"
void TOREF( void )
#line 5933 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5934    atomp=expp %and error(nonref+point) %if item <= 0 %or ditem_mode < dispmode
#line 5934 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) <= (0))) goto L_05d0;
#line 5934 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->MODE) >= (40))) goto L_05d1;
#line 5934 "regression-compile-tmp/imp22g-77.imp"
L_05d0:;
#line 5934 "regression-compile-tmp/imp22g-77.imp"
ATOMP = EXPP;
#line 5934 "regression-compile-tmp/imp22g-77.imp"
ERROR(97);
#line 5934 "regression-compile-tmp/imp22g-77.imp"
L_05d1:;
                                                                //   5935    %if item >= dictlim %start
#line 5935 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) < (DICTLIM))) goto L_05d2;
                                                                //   5936  !    %if ditem_act = prel %and (ditem_y < 0 %or ditem_type = bytetype) %start
                                                                //   5937  !      value = ditem_y
                                                                //   5938  !      value = litref(litval(value)*imod(size(ditem_type))) %if ditem_type # bytetype
                                                                //   5939  !      putexp(add,ditem_x+ad,value,ditem_type)
                                                                //   5940  !      %return
                                                                //   5941  !    %finish
                                                                //   5942    %else
#line 5942 "regression-compile-tmp/imp22g-77.imp"
goto L_05d3;
#line 5942 "regression-compile-tmp/imp22g-77.imp"
L_05d2:;
                                                                //   5943      %if ditem_mode = absmode %and ditem_flags >= 0 %start
#line 5943 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->MODE) != (56))) goto L_05d4;
#line 5943 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->FLAGS) < (0))) goto L_05d4;
                                                                //   5944        item = 0;  value = ditem_val
#line 5944 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
#line 5944 "regression-compile-tmp/imp22g-77.imp"
VALUE = DITEM->VAL;
                                                                //   5945        %return
#line 5945 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5946      %finish
#line 5946 "regression-compile-tmp/imp22g-77.imp"
L_05d4:;
                                                                //   5947    %finish
#line 5947 "regression-compile-tmp/imp22g-77.imp"
L_05d3:;
                                                                //   5948    item = item+ad
#line 5948 "regression-compile-tmp/imp22g-77.imp"
ITEM = (((int)(ITEM)) + (16384));
                                                                //   5949  %end
#line 5949 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block TOREF at level 2
                                                                //   5950  !
                                                                //   5951  %routine COPY DOWN(%integer np1)
#line 5951 "regression-compile-tmp/imp22g-77.imp"
void COPYDOWN( int NP1 )
#line 5951 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5952    %while np > np1 %cycle
#line 5952 "regression-compile-tmp/imp22g-77.imp"
L_05d5:;
#line 5952 "regression-compile-tmp/imp22g-77.imp"
if (((NP) <= (NP1))) goto L_05d6;
                                                                //   5953      np = np-1;  explo = explo-1
#line 5953 "regression-compile-tmp/imp22g-77.imp"
NP = (((int)(NP)) - (1));
#line 5953 "regression-compile-tmp/imp22g-77.imp"
EXPLO = (((int)(EXPLO)) - (1));
                                                                //   5954      dict(explo) = dict(np)
#line 5954 "regression-compile-tmp/imp22g-77.imp"
DICT[EXPLO] = DICT[NP];
                                                                //   5955    %repeat
#line 5955 "regression-compile-tmp/imp22g-77.imp"
goto L_05d5;
#line 5955 "regression-compile-tmp/imp22g-77.imp"
L_05d6:;
                                                                //   5956  %end
#line 5956 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COPYDOWN at level 2
                                                                //   5957  
                                                                //   5958  %routine GET REFERENCE(%integer reftype)
#line 5958 "regression-compile-tmp/imp22g-77.imp"
void GETREFERENCE( int REFTYPE )
#line 5958 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5959    get EXPRESSION(simple,reftype!sign16)
#line 5959 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(100, ((REFTYPE) | ((-32768))));
                                                                //   5960  %end
#line 5960 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETREFERENCE at level 2
                                                                //   5961  !
                                                                //   5962  %routine GET PARLIST(%integer special)
#line 5962 "regression-compile-tmp/imp22g-77.imp"
void GETPARLIST( int SPECIAL )
#line 5962 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5963  %integer procnp,pact,hold,count,headitem,arg,p,q,restype
#line 5963 "regression-compile-tmp/imp22g-77.imp"
int PROCNP;
#line 5963 "regression-compile-tmp/imp22g-77.imp"
int PACT;
#line 5963 "regression-compile-tmp/imp22g-77.imp"
int HOLD;
#line 5963 "regression-compile-tmp/imp22g-77.imp"
int COUNT;
#line 5963 "regression-compile-tmp/imp22g-77.imp"
int HEADITEM;
#line 5963 "regression-compile-tmp/imp22g-77.imp"
int ARG;
#line 5963 "regression-compile-tmp/imp22g-77.imp"
int P;
#line 5963 "regression-compile-tmp/imp22g-77.imp"
int Q;
#line 5963 "regression-compile-tmp/imp22g-77.imp"
int RESTYPE;
                                                                //   5964  %record(identinfo)%name hp,tp
#line 5964 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*HP;
#line 5964 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*TP;
                                                                //   5965  %record(identinfo)%name darg
#line 5965 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DARG;
                                                                //   5966  
                                                                //   5967  %routine PUT ACTUAL
#line 5967 "regression-compile-tmp/imp22g-77.imp"
void PUTACTUAL( void )
#line 5967 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5968    item = litref(value) %if item = 0
#line 5968 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_05d8;
#line 5968 "regression-compile-tmp/imp22g-77.imp"
ITEM = LITREF(VALUE);
#line 5968 "regression-compile-tmp/imp22g-77.imp"
L_05d8:;
                                                                //   5969    %if count&1 = 0 %then hold = item %c
#line 5969 "regression-compile-tmp/imp22g-77.imp"
if (((((COUNT) & (1))) != (0))) goto L_05d9;
#line 5969 "regression-compile-tmp/imp22g-77.imp"
HOLD = ITEM;
#line 5969 "regression-compile-tmp/imp22g-77.imp"
goto L_05da;
#line 5969 "regression-compile-tmp/imp22g-77.imp"
L_05d9:;
#line 5969 "regression-compile-tmp/imp22g-77.imp"
PUTACT(PACT, HOLD, ITEM);
#line 5969 "regression-compile-tmp/imp22g-77.imp"
PACT = 0;
#line 5969 "regression-compile-tmp/imp22g-77.imp"
L_05da:;
                                                                //   5970    %else putact(pact,hold,item) %and pact = 0
                                                                //   5971    count = count+1
#line 5971 "regression-compile-tmp/imp22g-77.imp"
COUNT = (((int)(COUNT)) + (1));
                                                                //   5972  %end
#line 5972 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTACTUAL at level 3
                                                                //   5973  
                                                                //   5974  %integerfn NO ALT
#line 5974 "regression-compile-tmp/imp22g-77.imp"
int NOALT( void )
#line 5974 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5975    %if hp_flags&alt = 0 %start;  !no alternative
#line 5975 "regression-compile-tmp/imp22g-77.imp"
if (((((HP->FLAGS) & (8))) != (0))) goto L_05db;
                                                                //   5976      expfault(typerr)
#line 5976 "regression-compile-tmp/imp22g-77.imp"
EXPFAULT(12);
                                                                //   5977      %result = TRUE
#line 5977 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   5978    %finish
#line 5978 "regression-compile-tmp/imp22g-77.imp"
L_05db:;
                                                                //   5979    item = hp_hlink
#line 5979 "regression-compile-tmp/imp22g-77.imp"
ITEM = HP->HLINK;
                                                                //   5980    %cycle
#line 5980 "regression-compile-tmp/imp22g-77.imp"
L_05dc:;
                                                                //   5981      report(internerr,0,6) %and %signal fail %if item <= 0
#line 5981 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) > (0))) goto L_05df;
#line 5981 "regression-compile-tmp/imp22g-77.imp"
REPORT(1, 0, 6);
#line 5981 "regression-compile-tmp/imp22g-77.imp"
_imp_signal(11, 0, 0, "");
#line 5981 "regression-compile-tmp/imp22g-77.imp"
L_05df:;
                                                                //   5982      ditem == dict(item)
#line 5982 "regression-compile-tmp/imp22g-77.imp"
DITEM = &DICT[ITEM];
                                                                //   5983      %exit %if string(ditem_text+char0) = string(hp_text+char0)
#line 5983 "regression-compile-tmp/imp22g-77.imp"
if ((_imp_strcmp(*_imp_STRING((((int)(DITEM->TEXT)) + (CHAR0))), *_imp_STRING((((int)(HP->TEXT)) + (CHAR0)))) != 0)) goto L_05e0;
#line 5983 "regression-compile-tmp/imp22g-77.imp"
goto L_05dd;
#line 5983 "regression-compile-tmp/imp22g-77.imp"
L_05e0:;
                                                                //   5984      item = ditem_hlink
#line 5984 "regression-compile-tmp/imp22g-77.imp"
ITEM = DITEM->HLINK;
                                                                //   5985    %repeat
#line 5985 "regression-compile-tmp/imp22g-77.imp"
goto L_05dc;
#line 5985 "regression-compile-tmp/imp22g-77.imp"
L_05dd:;
                                                                //   5986    headitem = item;  pact = headitem;  hp == ditem
#line 5986 "regression-compile-tmp/imp22g-77.imp"
HEADITEM = ITEM;
#line 5986 "regression-compile-tmp/imp22g-77.imp"
PACT = HEADITEM;
#line 5986 "regression-compile-tmp/imp22g-77.imp"
HP = DITEM;
                                                                //   5987    arg = hp_type;  darg == dict(arg);  restype = darg_type
#line 5987 "regression-compile-tmp/imp22g-77.imp"
ARG = HP->TYPE;
#line 5987 "regression-compile-tmp/imp22g-77.imp"
DARG = &DICT[ARG];
#line 5987 "regression-compile-tmp/imp22g-77.imp"
RESTYPE = DARG->TYPE;
                                                                //   5988    %result = FALSE
#line 5988 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   5989  %end
#line 5989 "regression-compile-tmp/imp22g-77.imp"
} // End of block NOALT at level 3
                                                                //   5990  
                                                                //   5991  %routine PUT BOUNDS(%integer ft,at)
#line 5991 "regression-compile-tmp/imp22g-77.imp"
void PUTBOUNDS( int FT, int AT )
#line 5991 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   5992  ! FT is TYPE of formal, AT of actual array
                                                                //   5993  %integer maxarg
#line 5993 "regression-compile-tmp/imp22g-77.imp"
int MAXARG;
                                                                //   5994  %record(identinfo)%name ftp,atp,fxp,axp
#line 5994 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*FTP;
#line 5994 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*ATP;
#line 5994 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*FXP;
#line 5994 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*AXP;
                                                                //   5995  maxarg=arg
#line 5995 "regression-compile-tmp/imp22g-77.imp"
MAXARG = ARG;
                                                                //   5996  %cycle
#line 5996 "regression-compile-tmp/imp22g-77.imp"
L_05e1:;
                                                                //   5997    ftp == typecell(ft);  atp == typecell(at)
#line 5997 "regression-compile-tmp/imp22g-77.imp"
FTP = TYPECELL(FT);
#line 5997 "regression-compile-tmp/imp22g-77.imp"
ATP = TYPECELL(AT);
                                                                //   5998  !  %if ftp_flags&indirect # 0 %start;           !complete dope vector
                                                                //   5999  !    ![now only for %string(*)%array%name]
                                                                //   6000  !    intern(11) %unless ftp_type = stringstar
                                                                //   6001  !    item = at
                                                                //   6002  !    put actual
                                                                //   6003  !    maxarg = ft %if ft > maxarg
                                                                //   6004  !    %exit
                                                                //   6005  !  %finish
                                                                //   6006    %if ftp_flags&cat = stringy %start
#line 6006 "regression-compile-tmp/imp22g-77.imp"
if (((((FTP->FLAGS) & (15))) != (8))) goto L_05e4;
                                                                //   6007      %exit %if ftp_size # 0
#line 6007 "regression-compile-tmp/imp22g-77.imp"
if (((FTP->SIZE) == (0))) goto L_05e5;
#line 6007 "regression-compile-tmp/imp22g-77.imp"
goto L_05e2;
#line 6007 "regression-compile-tmp/imp22g-77.imp"
L_05e5:;
                                                                //   6008      %if atp_size # 0 %then item = litref(imod(atp_size)) %C
#line 6008 "regression-compile-tmp/imp22g-77.imp"
if (((ATP->SIZE) == (0))) goto L_05e6;
#line 6008 "regression-compile-tmp/imp22g-77.imp"
ITEM = LITREF(_imp_IMOD(ATP->SIZE));
#line 6008 "regression-compile-tmp/imp22g-77.imp"
goto L_05e7;
#line 6008 "regression-compile-tmp/imp22g-77.imp"
L_05e6:;
#line 6008 "regression-compile-tmp/imp22g-77.imp"
ITEM = (((int)(AT)) - (1));
#line 6008 "regression-compile-tmp/imp22g-77.imp"
L_05e7:;
                                                                //   6009      %else item = at-1
                                                                //   6010      put actual
#line 6010 "regression-compile-tmp/imp22g-77.imp"
PUTACTUAL();
                                                                //   6011      maxarg = ft-1 %if ft-1 > maxarg
#line 6011 "regression-compile-tmp/imp22g-77.imp"
if ((((((int)(FT)) - (1))) <= (MAXARG))) goto L_05e8;
#line 6011 "regression-compile-tmp/imp22g-77.imp"
MAXARG = (((int)(FT)) - (1));
#line 6011 "regression-compile-tmp/imp22g-77.imp"
L_05e8:;
                                                                //   6012      %exit
#line 6012 "regression-compile-tmp/imp22g-77.imp"
goto L_05e2;
                                                                //   6013    %finish
#line 6013 "regression-compile-tmp/imp22g-77.imp"
L_05e4:;
                                                                //   6014    %if ftp_xtype >= arg %start;    !index type
#line 6014 "regression-compile-tmp/imp22g-77.imp"
if (((FTP->XTYPE) < (ARG))) goto L_05e9;
                                                                //   6015      fxp == typecell(ftp_xtype);  axp == typecell(atp_xtype)
#line 6015 "regression-compile-tmp/imp22g-77.imp"
FXP = TYPECELL(FTP->XTYPE);
#line 6015 "regression-compile-tmp/imp22g-77.imp"
AXP = TYPECELL(ATP->XTYPE);
                                                                //   6016      %if dict(ftp_xtype+1)_mode # litmode %start;  !non-literal lower
#line 6016 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(FTP->XTYPE)) + (1))].MODE) == (60))) goto L_05ea;
                                                                //   6017        item = atp_xtype+1
#line 6017 "regression-compile-tmp/imp22g-77.imp"
ITEM = (((int)(ATP->XTYPE)) + (1));
                                                                //   6018        item = 0 %and value = dict(atp_xtype+1)_val %if dict(atp_xtype+1)_mode = litmode
#line 6018 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(ATP->XTYPE)) + (1))].MODE) != (60))) goto L_05eb;
#line 6018 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
#line 6018 "regression-compile-tmp/imp22g-77.imp"
VALUE = DICT[(((int)(ATP->XTYPE)) + (1))].VAL;
#line 6018 "regression-compile-tmp/imp22g-77.imp"
L_05eb:;
                                                                //   6019        put actual
#line 6019 "regression-compile-tmp/imp22g-77.imp"
PUTACTUAL();
                                                                //   6020        maxarg = ftp_xtype+1 %if ftp_xtype >= maxarg
#line 6020 "regression-compile-tmp/imp22g-77.imp"
if (((FTP->XTYPE) < (MAXARG))) goto L_05ec;
#line 6020 "regression-compile-tmp/imp22g-77.imp"
MAXARG = (((int)(FTP->XTYPE)) + (1));
#line 6020 "regression-compile-tmp/imp22g-77.imp"
L_05ec:;
                                                                //   6021      %finish
#line 6021 "regression-compile-tmp/imp22g-77.imp"
L_05ea:;
                                                                //   6022      %if dict(ftp_xtype+2)_mode # litmode %start;  !non-literal upper
#line 6022 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(FTP->XTYPE)) + (2))].MODE) == (60))) goto L_05ed;
                                                                //   6023        item = atp_xtype+2
#line 6023 "regression-compile-tmp/imp22g-77.imp"
ITEM = (((int)(ATP->XTYPE)) + (2));
                                                                //   6024        item = 0 %and value = dict(atp_xtype+2)_val %if dict(atp_xtype+2)_mode = litmode
#line 6024 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(ATP->XTYPE)) + (2))].MODE) != (60))) goto L_05ee;
#line 6024 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
#line 6024 "regression-compile-tmp/imp22g-77.imp"
VALUE = DICT[(((int)(ATP->XTYPE)) + (2))].VAL;
#line 6024 "regression-compile-tmp/imp22g-77.imp"
L_05ee:;
                                                                //   6025        put actual
#line 6025 "regression-compile-tmp/imp22g-77.imp"
PUTACTUAL();
                                                                //   6026        maxarg = ftp_xtype+2 %if ftp_xtype+1 >= maxarg
#line 6026 "regression-compile-tmp/imp22g-77.imp"
if ((((((int)(FTP->XTYPE)) + (1))) < (MAXARG))) goto L_05ef;
#line 6026 "regression-compile-tmp/imp22g-77.imp"
MAXARG = (((int)(FTP->XTYPE)) + (2));
#line 6026 "regression-compile-tmp/imp22g-77.imp"
L_05ef:;
                                                                //   6027      %finish
#line 6027 "regression-compile-tmp/imp22g-77.imp"
L_05ed:;
                                                                //   6028    %finish
#line 6028 "regression-compile-tmp/imp22g-77.imp"
L_05e9:;
                                                                //   6029    ft = ftp_type;  at = atp_type;        !element types
#line 6029 "regression-compile-tmp/imp22g-77.imp"
FT = FTP->TYPE;
#line 6029 "regression-compile-tmp/imp22g-77.imp"
AT = ATP->TYPE;
                                                                //   6030  %repeat %until ft <= arg
#line 6030 "regression-compile-tmp/imp22g-77.imp"
if (((FT) <= (ARG))) goto L_05e2;
#line 6030 "regression-compile-tmp/imp22g-77.imp"
goto L_05e1;
#line 6030 "regression-compile-tmp/imp22g-77.imp"
L_05e2:;
                                                                //   6031  arg = maxarg;  darg == dict(arg)
#line 6031 "regression-compile-tmp/imp22g-77.imp"
ARG = MAXARG;
#line 6031 "regression-compile-tmp/imp22g-77.imp"
DARG = &DICT[ARG];
                                                                //   6032  %end
#line 6032 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTBOUNDS at level 3
                                                                //   6033  
                                                                //   6034    count = 0;  hold = 0
#line 6034 "regression-compile-tmp/imp22g-77.imp"
COUNT = 0;
#line 6034 "regression-compile-tmp/imp22g-77.imp"
HOLD = 0;
                                                                //   6035    procnp = np
#line 6035 "regression-compile-tmp/imp22g-77.imp"
PROCNP = NP;
                                                                //   6036    headitem = item;  pact = headitem;  hp == ditem
#line 6036 "regression-compile-tmp/imp22g-77.imp"
HEADITEM = ITEM;
#line 6036 "regression-compile-tmp/imp22g-77.imp"
PACT = HEADITEM;
#line 6036 "regression-compile-tmp/imp22g-77.imp"
HP = DITEM;
                                                                //   6037    arg = hp_type;  darg == dict(arg);  restype = darg_type
#line 6037 "regression-compile-tmp/imp22g-77.imp"
ARG = HP->TYPE;
#line 6037 "regression-compile-tmp/imp22g-77.imp"
DARG = &DICT[ARG];
#line 6037 "regression-compile-tmp/imp22g-77.imp"
RESTYPE = DARG->TYPE;
                                                                //   6038    %if a(left)=TRUE %start
#line 6038 "regression-compile-tmp/imp22g-77.imp"
if (((A(55)) != (1))) goto L_05f0;
                                                                //   6039      %cycle
#line 6039 "regression-compile-tmp/imp22g-77.imp"
L_05f1:;
                                                                //   6040        arg = darg_link
#line 6040 "regression-compile-tmp/imp22g-77.imp"
ARG = DARG->LINK;
                                                                //   6041        %if arg = 0 %start
#line 6041 "regression-compile-tmp/imp22g-77.imp"
if (((ARG) != (0))) goto L_05f4;
                                                                //   6042          error(toomany+point) %if special = 0
#line 6042 "regression-compile-tmp/imp22g-77.imp"
if (((SPECIAL) != (0))) goto L_05f5;
#line 6042 "regression-compile-tmp/imp22g-77.imp"
ERROR(99);
#line 6042 "regression-compile-tmp/imp22g-77.imp"
L_05f5:;
                                                                //   6043          get REFERENCE(0)
#line 6043 "regression-compile-tmp/imp22g-77.imp"
GETREFERENCE(0);
                                                                //   6044          value = item-ad;  !save extra item
#line 6044 "regression-compile-tmp/imp22g-77.imp"
VALUE = (((int)(ITEM)) - (16384));
                                                                //   6045          %cycle
#line 6045 "regression-compile-tmp/imp22g-77.imp"
L_05f6:;
                                                                //   6046            %if type = realtype %start
#line 6046 "regression-compile-tmp/imp22g-77.imp"
if (((TYPE) != (69))) goto L_05f9;
                                                                //   6047              %exit %if restype = realtype;  !no coercion
#line 6047 "regression-compile-tmp/imp22g-77.imp"
if (((RESTYPE) != (69))) goto L_05fa;
#line 6047 "regression-compile-tmp/imp22g-77.imp"
goto L_05f7;
#line 6047 "regression-compile-tmp/imp22g-77.imp"
L_05fa:;
                                                                //   6048            %else
#line 6048 "regression-compile-tmp/imp22g-77.imp"
goto L_05fb;
#line 6048 "regression-compile-tmp/imp22g-77.imp"
L_05f9:;
                                                                //   6049              %exit %if valok(type,restype)=TRUE
#line 6049 "regression-compile-tmp/imp22g-77.imp"
if (((VALOK(TYPE, RESTYPE)) != (1))) goto L_05fc;
#line 6049 "regression-compile-tmp/imp22g-77.imp"
goto L_05f7;
#line 6049 "regression-compile-tmp/imp22g-77.imp"
L_05fc:;
                                                                //   6050            %finish
#line 6050 "regression-compile-tmp/imp22g-77.imp"
L_05fb:;
                                                                //   6051          %repeat %until no alt=TRUE
#line 6051 "regression-compile-tmp/imp22g-77.imp"
if (((NOALT()) == (1))) goto L_05f7;
#line 6051 "regression-compile-tmp/imp22g-77.imp"
goto L_05f6;
#line 6051 "regression-compile-tmp/imp22g-77.imp"
L_05f7:;
                                                                //   6052          special = 0
#line 6052 "regression-compile-tmp/imp22g-77.imp"
SPECIAL = 0;
                                                                //   6053        %else
#line 6053 "regression-compile-tmp/imp22g-77.imp"
goto L_05fd;
#line 6053 "regression-compile-tmp/imp22g-77.imp"
L_05f4:;
                                                                //   6054          darg == dict(arg)
#line 6054 "regression-compile-tmp/imp22g-77.imp"
DARG = &DICT[ARG];
                                                                //   6055          %if darg_flags&proc # 0 %start
#line 6055 "regression-compile-tmp/imp22g-77.imp"
if (((((DARG->FLAGS) & (12288))) == (0))) goto L_05fe;
                                                                //   6056            get(ident)
#line 6056 "regression-compile-tmp/imp22g-77.imp"
GET(53);
                                                                //   6057            name error %if item <= 0
#line 6057 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) > (0))) goto L_05ff;
#line 6057 "regression-compile-tmp/imp22g-77.imp"
NAMEERROR();
#line 6057 "regression-compile-tmp/imp22g-77.imp"
L_05ff:;
                                                                //   6058            fault(typerr+point) %if ditem_flags&proc = 0 %c
#line 6058 "regression-compile-tmp/imp22g-77.imp"
if (((((DITEM->FLAGS) & (12288))) == (0))) goto L_0600;
#line 6058 "regression-compile-tmp/imp22g-77.imp"
if (((PARMATCH(DARG->TYPE, DITEM->TYPE)) == (1))) goto L_0601;
#line 6058 "regression-compile-tmp/imp22g-77.imp"
L_0600:;
#line 6058 "regression-compile-tmp/imp22g-77.imp"
FAULT(76);
#line 6058 "regression-compile-tmp/imp22g-77.imp"
L_0601:;
                                                                //   6059                                %or %not parmatch(darg_type,ditem_type)=TRUE
                                                                //   6060            fault(classerr+point) %if item > headitem %C
#line 6060 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) <= (HEADITEM))) goto L_0602;
#line 6060 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->MODE) != (250))) goto L_0602;
#line 6060 "regression-compile-tmp/imp22g-77.imp"
FAULT(74);
#line 6060 "regression-compile-tmp/imp22g-77.imp"
L_0602:;
                                                                //   6061                                  %and ditem_mode = procmode {OK if param?}
                                                                //   6062            item = item+ad
#line 6062 "regression-compile-tmp/imp22g-77.imp"
ITEM = (((int)(ITEM)) + (16384));
                                                                //   6063            put actual
#line 6063 "regression-compile-tmp/imp22g-77.imp"
PUTACTUAL();
                                                                //   6064          %finish %else %if darg_flags >= 0 %start
#line 6064 "regression-compile-tmp/imp22g-77.imp"
goto L_0603;
#line 6064 "regression-compile-tmp/imp22g-77.imp"
L_05fe:;
#line 6064 "regression-compile-tmp/imp22g-77.imp"
if (((DARG->FLAGS) < (0))) goto L_0604;
                                                                //   6065            jammy = 0
#line 6065 "regression-compile-tmp/imp22g-77.imp"
JAMMY = 0;
                                                                //   6066            get EXPRESSION(major,0)
#line 6066 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(83, 0);
                                                                //   6067            %cycle
#line 6067 "regression-compile-tmp/imp22g-77.imp"
L_0605:;
                                                                //   6068              %exit %if valok(darg_type,type)=TRUE
#line 6068 "regression-compile-tmp/imp22g-77.imp"
if (((VALOK(DARG->TYPE, TYPE)) != (1))) goto L_0608;
#line 6068 "regression-compile-tmp/imp22g-77.imp"
goto L_0606;
#line 6068 "regression-compile-tmp/imp22g-77.imp"
L_0608:;
                                                                //   6069            %repeat %until no alt=TRUE
#line 6069 "regression-compile-tmp/imp22g-77.imp"
if (((NOALT()) == (1))) goto L_0606;
#line 6069 "regression-compile-tmp/imp22g-77.imp"
goto L_0605;
#line 6069 "regression-compile-tmp/imp22g-77.imp"
L_0606:;
                                                                //   6070            putexp(check,darg_type,item,darg_type) %if jammy # 0 %c
#line 6070 "regression-compile-tmp/imp22g-77.imp"
if (((JAMMY) == (0))) goto L_0609;
#line 6070 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (536870912))) == (0))) goto L_0609;
#line 6070 "regression-compile-tmp/imp22g-77.imp"
if (((CATEGORY(DARG->TYPE)) >= (5))) goto L_0609;
#line 6070 "regression-compile-tmp/imp22g-77.imp"
PUTEXP(111, DARG->TYPE, ITEM, DARG->TYPE);
#line 6070 "regression-compile-tmp/imp22g-77.imp"
L_0609:;
                                                                //   6071                                          %and control&capbit # 0 %c
                                                                //   6072                                          %and category(darg_type) < realy
                                                                //   6073            put actual
#line 6073 "regression-compile-tmp/imp22g-77.imp"
PUTACTUAL();
                                                                //   6074          %else;  !name
#line 6074 "regression-compile-tmp/imp22g-77.imp"
goto L_0603;
#line 6074 "regression-compile-tmp/imp22g-77.imp"
L_0604:;
                                                                //   6075            get REFERENCE(0)
#line 6075 "regression-compile-tmp/imp22g-77.imp"
GETREFERENCE(0);
                                                                //   6076            %cycle
#line 6076 "regression-compile-tmp/imp22g-77.imp"
L_060a:;
                                                                //   6077              %exit %if refok(darg_type,type)=TRUE
#line 6077 "regression-compile-tmp/imp22g-77.imp"
if (((REFOK(DARG->TYPE, TYPE)) != (1))) goto L_060d;
#line 6077 "regression-compile-tmp/imp22g-77.imp"
goto L_060b;
#line 6077 "regression-compile-tmp/imp22g-77.imp"
L_060d:;
                                                                //   6078            %repeat %until no alt=TRUE
#line 6078 "regression-compile-tmp/imp22g-77.imp"
if (((NOALT()) == (1))) goto L_060b;
#line 6078 "regression-compile-tmp/imp22g-77.imp"
goto L_060a;
#line 6078 "regression-compile-tmp/imp22g-77.imp"
L_060b:;
                                                                //   6079            put actual
#line 6079 "regression-compile-tmp/imp22g-77.imp"
PUTACTUAL();
                                                                //   6080            tp == typecell(darg_type)
#line 6080 "regression-compile-tmp/imp22g-77.imp"
TP = TYPECELL(DARG->TYPE);
                                                                //   6081            %if tp_flags&cat = arry %c
#line 6081 "regression-compile-tmp/imp22g-77.imp"
if (((((TP->FLAGS) & (15))) != (9))) goto L_060e;
#line 6081 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(ARG)) + (1))].TYPE) == (DARG->TYPE))) goto L_060e;
#line 6081 "regression-compile-tmp/imp22g-77.imp"
if (((TP->MODE) < (168))) goto L_060e;
                                                                //   6082            %and dict(arg+1)_type # darg_type %c
                                                                //   6083            %and tp_mode >= framemode %start
                                                                //   6084              !array name (last in group) with non-literal dope vector
                                                                //   6085              put bounds(darg_type,type)
#line 6085 "regression-compile-tmp/imp22g-77.imp"
PUTBOUNDS(DARG->TYPE, TYPE);
                                                                //   6086            %finish
#line 6086 "regression-compile-tmp/imp22g-77.imp"
L_060e:;
                                                                //   6087          %finish
#line 6087 "regression-compile-tmp/imp22g-77.imp"
L_0603:;
                                                                //   6088        %finish
#line 6088 "regression-compile-tmp/imp22g-77.imp"
L_05fd:;
                                                                //   6089      %repeat %until %not a(comma)=TRUE
#line 6089 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) != (1))) goto L_05f2;
#line 6089 "regression-compile-tmp/imp22g-77.imp"
goto L_05f1;
#line 6089 "regression-compile-tmp/imp22g-77.imp"
L_05f2:;
                                                                //   6090      error(toofew+point) %if darg_link # 0 %or special # 0
#line 6090 "regression-compile-tmp/imp22g-77.imp"
if (((DARG->LINK) != (0))) goto L_05f3;
#line 6090 "regression-compile-tmp/imp22g-77.imp"
if (((SPECIAL) == (0))) goto L_060f;
#line 6090 "regression-compile-tmp/imp22g-77.imp"
L_05f3:;
#line 6090 "regression-compile-tmp/imp22g-77.imp"
ERROR(98);
#line 6090 "regression-compile-tmp/imp22g-77.imp"
L_060f:;
                                                                //   6091      get(right)
#line 6091 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   6092    %else;                              !no LEFT
#line 6092 "regression-compile-tmp/imp22g-77.imp"
goto L_0610;
#line 6092 "regression-compile-tmp/imp22g-77.imp"
L_05f0:;
                                                                //   6093      error(toofew+point) %if darg_link # 0
#line 6093 "regression-compile-tmp/imp22g-77.imp"
if (((DARG->LINK) == (0))) goto L_0611;
#line 6093 "regression-compile-tmp/imp22g-77.imp"
ERROR(98);
#line 6093 "regression-compile-tmp/imp22g-77.imp"
L_0611:;
                                                                //   6094    %finish
#line 6094 "regression-compile-tmp/imp22g-77.imp"
L_0610:;
                                                                //   6095    put act(pact,hold,0) %if count&1 # 0 %or count = 0
#line 6095 "regression-compile-tmp/imp22g-77.imp"
if (((((COUNT) & (1))) != (0))) goto L_05e3;
#line 6095 "regression-compile-tmp/imp22g-77.imp"
if (((COUNT) != (0))) goto L_0612;
#line 6095 "regression-compile-tmp/imp22g-77.imp"
L_05e3:;
#line 6095 "regression-compile-tmp/imp22g-77.imp"
PUTACT(PACT, HOLD, 0);
#line 6095 "regression-compile-tmp/imp22g-77.imp"
L_0612:;
                                                                //   6096    type = restype
#line 6096 "regression-compile-tmp/imp22g-77.imp"
TYPE = RESTYPE;
                                                                //   6097    %if type # 0 %start;  !not routine
#line 6097 "regression-compile-tmp/imp22g-77.imp"
if (((TYPE) == (0))) goto L_0613;
                                                                //   6098      %if hp_flags&volatile = 0 %start
#line 6098 "regression-compile-tmp/imp22g-77.imp"
if (((((HP->FLAGS) & (4))) != (0))) goto L_0614;
                                                                //   6099        p = explo
#line 6099 "regression-compile-tmp/imp22g-77.imp"
P = EXPLO;
                                                                //   6100        %while p < explim %cycle
#line 6100 "regression-compile-tmp/imp22g-77.imp"
L_0615:;
#line 6100 "regression-compile-tmp/imp22g-77.imp"
if (((P) >= (EXPLIM))) goto L_0616;
                                                                //   6101          %if dict(p)_act = headitem %start;  ![enough?]
#line 6101 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[P].ACT) != (HEADITEM))) goto L_0618;
                                                                //   6102            item = p;  q = procnp
#line 6102 "regression-compile-tmp/imp22g-77.imp"
ITEM = P;
#line 6102 "regression-compile-tmp/imp22g-77.imp"
Q = PROCNP;
                                                                //   6103            %cycle
#line 6103 "regression-compile-tmp/imp22g-77.imp"
L_0619:;
                                                                //   6104              %exit %if dict(p)_x # dict(q)_x %or dict(p)_y # dict(q)_y
#line 6104 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[P].X) != (DICT[Q].X))) goto L_061c;
#line 6104 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[P].Y) == (DICT[Q].Y))) goto L_061d;
#line 6104 "regression-compile-tmp/imp22g-77.imp"
L_061c:;
#line 6104 "regression-compile-tmp/imp22g-77.imp"
goto L_061a;
#line 6104 "regression-compile-tmp/imp22g-77.imp"
L_061d:;
                                                                //   6105              p = p+1;  q = q+1
#line 6105 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(P)) + (1));
#line 6105 "regression-compile-tmp/imp22g-77.imp"
Q = (((int)(Q)) + (1));
                                                                //   6106              ->okf %if q >= np
#line 6106 "regression-compile-tmp/imp22g-77.imp"
if (((Q) < (NP))) goto L_061e;
#line 6106 "regression-compile-tmp/imp22g-77.imp"
goto U_101b;
#line 6106 "regression-compile-tmp/imp22g-77.imp"
L_061e:;
                                                                //   6107            %repeat
#line 6107 "regression-compile-tmp/imp22g-77.imp"
goto L_0619;
#line 6107 "regression-compile-tmp/imp22g-77.imp"
L_061a:;
                                                                //   6108          %finish
#line 6108 "regression-compile-tmp/imp22g-77.imp"
L_0618:;
                                                                //   6109          p = p+1
#line 6109 "regression-compile-tmp/imp22g-77.imp"
P = (((int)(P)) + (1));
                                                                //   6110        %repeat
#line 6110 "regression-compile-tmp/imp22g-77.imp"
goto L_0615;
#line 6110 "regression-compile-tmp/imp22g-77.imp"
L_0616:;
                                                                //   6111      %finish
#line 6111 "regression-compile-tmp/imp22g-77.imp"
L_0614:;
                                                                //   6112      copy down(procnp)
#line 6112 "regression-compile-tmp/imp22g-77.imp"
COPYDOWN(PROCNP);
                                                                //   6113      item = explo
#line 6113 "regression-compile-tmp/imp22g-77.imp"
ITEM = EXPLO;
                                                                //   6114  okf:ditem == dict(item)
#line 6114 "regression-compile-tmp/imp22g-77.imp"
U_101b:;
#line 6114 "regression-compile-tmp/imp22g-77.imp"
DITEM = &DICT[ITEM];
                                                                //   6115      ditem_flags = hp_flags&heritable
#line 6115 "regression-compile-tmp/imp22g-77.imp"
DITEM->FLAGS = ((HP->FLAGS) & (127));
                                                                //   6116      ditem_mode = 0
#line 6116 "regression-compile-tmp/imp22g-77.imp"
DITEM->MODE = 0;
                                                                //   6117      %if hp_flags&writable # 0 %start;  !map
#line 6117 "regression-compile-tmp/imp22g-77.imp"
if (((((HP->FLAGS) & (1))) == (0))) goto L_061f;
                                                                //   6118        ditem_mode = dispmode
#line 6118 "regression-compile-tmp/imp22g-77.imp"
DITEM->MODE = 40;
                                                                //   6119      %finish
#line 6119 "regression-compile-tmp/imp22g-77.imp"
L_061f:;
                                                                //   6120      ditem_type = type
#line 6120 "regression-compile-tmp/imp22g-77.imp"
DITEM->TYPE = TYPE;
                                                                //   6121      np = procnp
#line 6121 "regression-compile-tmp/imp22g-77.imp"
NP = PROCNP;
                                                                //   6122    %finish
#line 6122 "regression-compile-tmp/imp22g-77.imp"
L_0613:;
                                                                //   6123  %end;  !get PARLIST
#line 6123 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETPARLIST at level 2
                                                                //   6124  
                                                                //   6125  !<<IMP
                                                                //   6126  
                                                                //   6127  %routine get RESOLUTION(%integer t,item1)
#line 6127 "regression-compile-tmp/imp22g-77.imp"
void GETRESOLUTION( int T, int ITEM1 )
#line 6127 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6128  %integer fore,ftype,s
#line 6128 "regression-compile-tmp/imp22g-77.imp"
int FORE;
#line 6128 "regression-compile-tmp/imp22g-77.imp"
int FTYPE;
#line 6128 "regression-compile-tmp/imp22g-77.imp"
int S;
                                                                //   6129  !  type check needed
                                                                //   6130    s = size(t)
#line 6130 "regression-compile-tmp/imp22g-77.imp"
S = SIZE(T);
                                                                //   6131    s = -256 %if s = 0
#line 6131 "regression-compile-tmp/imp22g-77.imp"
if (((S) != (0))) goto L_0620;
#line 6131 "regression-compile-tmp/imp22g-77.imp"
S = (-256);
#line 6131 "regression-compile-tmp/imp22g-77.imp"
L_0620:;
                                                                //   6132    fore = 0
#line 6132 "regression-compile-tmp/imp22g-77.imp"
FORE = 0;
                                                                //   6133    %unless a(left)=TRUE %start
#line 6133 "regression-compile-tmp/imp22g-77.imp"
if (((A(55)) == (1))) goto L_0621;
                                                                //   6134      get REFERENCE(stringstar)
#line 6134 "regression-compile-tmp/imp22g-77.imp"
GETREFERENCE(62);
                                                                //   6135      fore = item;  ftype = type
#line 6135 "regression-compile-tmp/imp22g-77.imp"
FORE = ITEM;
#line 6135 "regression-compile-tmp/imp22g-77.imp"
FTYPE = TYPE;
                                                                //   6136      get(dot);  get(left)
#line 6136 "regression-compile-tmp/imp22g-77.imp"
GET(87);
#line 6136 "regression-compile-tmp/imp22g-77.imp"
GET(55);
                                                                //   6137    %finish
#line 6137 "regression-compile-tmp/imp22g-77.imp"
L_0621:;
                                                                //   6138    get VALUE(stringtype);  get(right)
#line 6138 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(64);
#line 6138 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   6139    %if item = 0 %start
#line 6139 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_0622;
                                                                //   6140      item = litref(value);  s = s+final(value)
#line 6140 "regression-compile-tmp/imp22g-77.imp"
ITEM = LITREF(VALUE);
#line 6140 "regression-compile-tmp/imp22g-77.imp"
S = ((S) + ((int)(FINAL[VALUE])));
                                                                //   6141    %finish
#line 6141 "regression-compile-tmp/imp22g-77.imp"
L_0622:;
                                                                //   6142    fault(rangerr+warn) %if fore # 0 %and s < size(ftype) # 0
#line 6142 "regression-compile-tmp/imp22g-77.imp"
if (((FORE) == (0))) goto L_0623;
#line 6142 "regression-compile-tmp/imp22g-77.imp"
if (({int tmp1 = S, tmp2 = SIZE(FTYPE), tmp3 = 0; (tmp1 >= tmp2) || (tmp2 == tmp3);})) goto L_0623;
#line 6142 "regression-compile-tmp/imp22g-77.imp"
FAULT((-104));
#line 6142 "regression-compile-tmp/imp22g-77.imp"
L_0623:;
                                                                //   6143    putact(resolves,item1+ad,item+ad)
#line 6143 "regression-compile-tmp/imp22g-77.imp"
PUTACT(117, (((int)(ITEM1)) + (16384)), (((int)(ITEM)) + (16384)));
                                                                //   6144    item = 0
#line 6144 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
                                                                //   6145    %if a(dot)=TRUE %start
#line 6145 "regression-compile-tmp/imp22g-77.imp"
if (((A(87)) != (1))) goto L_0624;
                                                                //   6146      get REFERENCE(stringstar)
#line 6146 "regression-compile-tmp/imp22g-77.imp"
GETREFERENCE(62);
                                                                //   6147      fault(rangerr+warn) %if s < size(type) # 0
#line 6147 "regression-compile-tmp/imp22g-77.imp"
if (({int tmp1 = S, tmp2 = SIZE(TYPE), tmp3 = 0; (tmp1 >= tmp2) || (tmp2 == tmp3);})) goto L_0625;
#line 6147 "regression-compile-tmp/imp22g-77.imp"
FAULT((-104));
#line 6147 "regression-compile-tmp/imp22g-77.imp"
L_0625:;
                                                                //   6148    %finish
#line 6148 "regression-compile-tmp/imp22g-77.imp"
L_0624:;
                                                                //   6149    putact(0,fore,item)
#line 6149 "regression-compile-tmp/imp22g-77.imp"
PUTACT(0, FORE, ITEM);
                                                                //   6150    putact(0,0,0);       !preserve 'parity'
#line 6150 "regression-compile-tmp/imp22g-77.imp"
PUTACT(0, 0, 0);
                                                                //   6151  %end
#line 6151 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETRESOLUTION at level 2
                                                                //   6152  
                                                                //   6153  %integer%fn ANON(%record(objinfo)%name d)
#line 6153 "regression-compile-tmp/imp22g-77.imp"
int ANON(  OBJINFO /*name*/*D )
#line 6153 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6154    dict(lablim+3)_details = d
#line 6154 "regression-compile-tmp/imp22g-77.imp"
DICT[(((int)(LABLIM)) + (3))].DETAILS = *D;
                                                                //   6155    %result = lablim+3
#line 6155 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(LABLIM)) + (3));
                                                                //   6156  %end
#line 6156 "regression-compile-tmp/imp22g-77.imp"
} // End of block ANON at level 2
                                                                //   6157  
                                                                //   6158  %integerfn A ASSOP(%integer t)
#line 6158 "regression-compile-tmp/imp22g-77.imp"
int AASSOP( int T )
#line 6158 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6159    %if t <= 0 %start
#line 6159 "regression-compile-tmp/imp22g-77.imp"
if (((T) > (0))) goto L_0626;
                                                                //   6160      %result = FALSE %unless a(eqeq)=TRUE
#line 6160 "regression-compile-tmp/imp22g-77.imp"
if (((A(75)) == (1))) goto L_0627;
#line 6160 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 6160 "regression-compile-tmp/imp22g-77.imp"
L_0627:;
                                                                //   6161    %else
#line 6161 "regression-compile-tmp/imp22g-77.imp"
goto L_0628;
#line 6161 "regression-compile-tmp/imp22g-77.imp"
L_0626:;
                                                                //   6162      atom = next atom %if matched # 0
#line 6162 "regression-compile-tmp/imp22g-77.imp"
if (((MATCHED) == (0))) goto L_0629;
#line 6162 "regression-compile-tmp/imp22g-77.imp"
ATOM = NEXTATOM();
#line 6162 "regression-compile-tmp/imp22g-77.imp"
L_0629:;
                                                                //   6163      %if atom # equals %start
#line 6163 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) == (77))) goto L_062a;
                                                                //   6164        %result = FALSE %unless atom = less %and byteintegeR(fp) = '-'
#line 6164 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (80))) goto L_0617;
#line 6164 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) == (45))) goto L_062b;
#line 6164 "regression-compile-tmp/imp22g-77.imp"
L_0617:;
#line 6164 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 6164 "regression-compile-tmp/imp22g-77.imp"
L_062b:;
                                                                //   6165        jammy = 1;  fp = fp+1
#line 6165 "regression-compile-tmp/imp22g-77.imp"
JAMMY = 1;
#line 6165 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   6166      %finish %else jammy = 0
#line 6166 "regression-compile-tmp/imp22g-77.imp"
goto L_062c;
#line 6166 "regression-compile-tmp/imp22g-77.imp"
L_062a:;
#line 6166 "regression-compile-tmp/imp22g-77.imp"
JAMMY = 0;
#line 6166 "regression-compile-tmp/imp22g-77.imp"
L_062c:;
                                                                //   6167      matched = 1
#line 6167 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   6168    %finish
#line 6168 "regression-compile-tmp/imp22g-77.imp"
L_0628:;
                                                                //   6169    %result = TRUE
#line 6169 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   6170  %end
#line 6170 "regression-compile-tmp/imp22g-77.imp"
} // End of block AASSOP at level 2
                                                                //   6171  
                                                                //   6172  !<<BOTH
                                                                //   6173  
                                                                //   6174  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   6175  !
                                                                //   6176  %routine GET EXPRESSION(%integer rank,etype)
#line 6176 "regression-compile-tmp/imp22g-77.imp"
void GETEXPRESSION( int RANK, int ETYPE )
#line 6176 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6177  !Main expression recognition routine
                                                                //   6178  !To bring together the treatment of all binary operators
                                                                //   6179  ! and ensure fast recognition of simple expressions,
                                                                //   6180  ! expressions of different levels are handled by
                                                                //   6181  ! precedence techniques rather than syntactically
                                                                //   6182  %integer atomp0,item1,type1,cat1,val1,double,op
#line 6182 "regression-compile-tmp/imp22g-77.imp"
int ATOMP0;
#line 6182 "regression-compile-tmp/imp22g-77.imp"
int ITEM1;
#line 6182 "regression-compile-tmp/imp22g-77.imp"
int TYPE1;
#line 6182 "regression-compile-tmp/imp22g-77.imp"
int CAT1;
#line 6182 "regression-compile-tmp/imp22g-77.imp"
int VAL1;
#line 6182 "regression-compile-tmp/imp22g-77.imp"
int DOUBLE;
#line 6182 "regression-compile-tmp/imp22g-77.imp"
int OP;
                                                                //   6183  %record(identinfo)%name ditem1,tp
#line 6183 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DITEM1;
#line 6183 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*TP;
                                                                //   6184  %constinteger nop=0;  !to distinguish from numeric zero in OPVAL
                                                                //   6185  
                                                                //   6186  %routine GET RECORD
#line 6186 "regression-compile-tmp/imp22g-77.imp"
void GETRECORD( void )
#line 6186 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6187  ![literal only at this stage]
                                                                //   6188  %integer fid,ad,arg,hold,count,max,s
#line 6188 "regression-compile-tmp/imp22g-77.imp"
int FID;
#line 6188 "regression-compile-tmp/imp22g-77.imp"
int AD;
#line 6188 "regression-compile-tmp/imp22g-77.imp"
int ARG;
#line 6188 "regression-compile-tmp/imp22g-77.imp"
int HOLD;
#line 6188 "regression-compile-tmp/imp22g-77.imp"
int COUNT;
#line 6188 "regression-compile-tmp/imp22g-77.imp"
int MAX;
#line 6188 "regression-compile-tmp/imp22g-77.imp"
int S;
                                                                //   6189  %record(identinfo)%name darg,fidp
#line 6189 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DARG;
#line 6189 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*FIDP;
                                                                //   6190    literal = literal+1
#line 6190 "regression-compile-tmp/imp22g-77.imp"
LITERAL = (((int)(LITERAL)) + (1));
                                                                //   6191    fill code(1) %if cad&1 # 0
#line 6191 "regression-compile-tmp/imp22g-77.imp"
if (((((CAD) & (1))) == (0))) goto L_062d;
#line 6191 "regression-compile-tmp/imp22g-77.imp"
FILLCODE(1);
#line 6191 "regression-compile-tmp/imp22g-77.imp"
L_062d:;
                                                                //   6192    ad = cad
#line 6192 "regression-compile-tmp/imp22g-77.imp"
AD = CAD;
                                                                //   6193    fid = item;  fidp == ditem
#line 6193 "regression-compile-tmp/imp22g-77.imp"
FID = ITEM;
#line 6193 "regression-compile-tmp/imp22g-77.imp"
FIDP = DITEM;
                                                                //   6194    arg = fidp_link
#line 6194 "regression-compile-tmp/imp22g-77.imp"
ARG = FIDP->LINK;
                                                                //   6195    count = 0;  max = -1
#line 6195 "regression-compile-tmp/imp22g-77.imp"
COUNT = 0;
#line 6195 "regression-compile-tmp/imp22g-77.imp"
MAX = (-1);
                                                                //   6196    get(left)
#line 6196 "regression-compile-tmp/imp22g-77.imp"
GET(55);
                                                                //   6197    %cycle
#line 6197 "regression-compile-tmp/imp22g-77.imp"
L_062e:;
                                                                //   6198      ![*beware premature lexical coding: may alter CAD*]
                                                                //   6199      %cycle
#line 6199 "regression-compile-tmp/imp22g-77.imp"
L_0631:;
                                                                //   6200        error(toomany+point) %if arg <= 0
#line 6200 "regression-compile-tmp/imp22g-77.imp"
if (((ARG) > (0))) goto L_0634;
#line 6200 "regression-compile-tmp/imp22g-77.imp"
ERROR(99);
#line 6200 "regression-compile-tmp/imp22g-77.imp"
L_0634:;
                                                                //   6201        darg == dict(arg)
#line 6201 "regression-compile-tmp/imp22g-77.imp"
DARG = &DICT[ARG];
                                                                //   6202        %exit %if ad+darg_val-cad >= 0
#line 6202 "regression-compile-tmp/imp22g-77.imp"
if ((((((int)((((int)(AD)) + (DARG->VAL)))) - (CAD))) < (0))) goto L_0635;
#line 6202 "regression-compile-tmp/imp22g-77.imp"
goto L_0632;
#line 6202 "regression-compile-tmp/imp22g-77.imp"
L_0635:;
                                                                //   6203        arg = darg_hlink
#line 6203 "regression-compile-tmp/imp22g-77.imp"
ARG = DARG->HLINK;
                                                                //   6204      %repeat
#line 6204 "regression-compile-tmp/imp22g-77.imp"
goto L_0631;
#line 6204 "regression-compile-tmp/imp22g-77.imp"
L_0632:;
                                                                //   6205      fill code(ad+darg_val-cad)
#line 6205 "regression-compile-tmp/imp22g-77.imp"
FILLCODE((((int)((((int)(AD)) + (DARG->VAL)))) - (CAD)));
                                                                //   6206     ! [*now OK to code atom*]
                                                                //   6207      %if a(recsub)=TRUE %start
#line 6207 "regression-compile-tmp/imp22g-77.imp"
if (((A(58)) != (1))) goto L_0636;
                                                                //   6208        subbed = 1;  dformat == fidp
#line 6208 "regression-compile-tmp/imp22g-77.imp"
SUBBED = 1;
#line 6208 "regression-compile-tmp/imp22g-77.imp"
DFORMAT = FIDP;
                                                                //   6209        get(ident)
#line 6209 "regression-compile-tmp/imp22g-77.imp"
GET(53);
                                                                //   6210        subbed = 0
#line 6210 "regression-compile-tmp/imp22g-77.imp"
SUBBED = 0;
                                                                //   6211        name error %if item < arg
#line 6211 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) >= (ARG))) goto L_0637;
#line 6211 "regression-compile-tmp/imp22g-77.imp"
NAMEERROR();
#line 6211 "regression-compile-tmp/imp22g-77.imp"
L_0637:;
                                                                //   6212        fill code(ditem_val-darg_val)
#line 6212 "regression-compile-tmp/imp22g-77.imp"
FILLCODE((((int)(DITEM->VAL)) - (DARG->VAL)));
                                                                //   6213        arg = item;  darg == ditem
#line 6213 "regression-compile-tmp/imp22g-77.imp"
ARG = ITEM;
#line 6213 "regression-compile-tmp/imp22g-77.imp"
DARG = DITEM;
                                                                //   6214        syntax error %unless a assop(darg_flags&name+darg_type)=TRUE
#line 6214 "regression-compile-tmp/imp22g-77.imp"
if (((AASSOP((((short)(((DARG->FLAGS) & ((-32768))))) + (DARG->TYPE)))) == (1))) goto L_0638;
#line 6214 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 6214 "regression-compile-tmp/imp22g-77.imp"
L_0638:;
                                                                //   6215      %finish
#line 6215 "regression-compile-tmp/imp22g-77.imp"
L_0636:;
                                                                //   6216      s = nsize(darg)
#line 6216 "regression-compile-tmp/imp22g-77.imp"
S = NSIZE(DARG);
                                                                //   6217      %unless a(comma)=TRUE %start
#line 6217 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) == (1))) goto L_0639;
                                                                //   6218        get VALUE(darg_flags&name+darg_type)
#line 6218 "regression-compile-tmp/imp22g-77.imp"
GETVALUE((((short)(((DARG->FLAGS) & ((-32768))))) + (DARG->TYPE)));
                                                                //   6219        %if s > 0 %start
#line 6219 "regression-compile-tmp/imp22g-77.imp"
if (((S) <= (0))) goto L_063a;
                                                                //   6220          %if s = 4 %start
#line 6220 "regression-compile-tmp/imp22g-77.imp"
if (((S) != (4))) goto L_063b;
                                                                //   6221  !$IF VAX
                                                                //   6222  {          value = ieee(value) %if darg_type = realtype %and darg_flags >= 0
                                                                //   6223  !$FINISH
                                                                //   6224            set code longword(value)
#line 6224 "regression-compile-tmp/imp22g-77.imp"
SETCODELONGWORD(VALUE);
                                                                //   6225          %finish %else %if s = 2 %start
#line 6225 "regression-compile-tmp/imp22g-77.imp"
goto L_063c;
#line 6225 "regression-compile-tmp/imp22g-77.imp"
L_063b:;
#line 6225 "regression-compile-tmp/imp22g-77.imp"
if (((S) != (2))) goto L_063d;
                                                                //   6226           set code word(value)
#line 6226 "regression-compile-tmp/imp22g-77.imp"
SETCODEWORD(VALUE);
                                                                //   6227          %else
#line 6227 "regression-compile-tmp/imp22g-77.imp"
goto L_063c;
#line 6227 "regression-compile-tmp/imp22g-77.imp"
L_063d:;
                                                                //   6228            final(cad) <- value;  cad = cad+1
#line 6228 "regression-compile-tmp/imp22g-77.imp"
FINAL[CAD] = VALUE;
#line 6228 "regression-compile-tmp/imp22g-77.imp"
CAD = (((int)(CAD)) + (1));
                                                                //   6229          %finish
#line 6229 "regression-compile-tmp/imp22g-77.imp"
L_063c:;
                                                                //   6230        %finish
#line 6230 "regression-compile-tmp/imp22g-77.imp"
L_063a:;
                                                                //   6231        %exit %if a(right)=TRUE
#line 6231 "regression-compile-tmp/imp22g-77.imp"
if (((A(61)) != (1))) goto L_063e;
#line 6231 "regression-compile-tmp/imp22g-77.imp"
goto L_062f;
#line 6231 "regression-compile-tmp/imp22g-77.imp"
L_063e:;
                                                                //   6232        get(comma)
#line 6232 "regression-compile-tmp/imp22g-77.imp"
GET(60);
                                                                //   6233      %finish %else %if s > 0 %start
#line 6233 "regression-compile-tmp/imp22g-77.imp"
goto L_063f;
#line 6233 "regression-compile-tmp/imp22g-77.imp"
L_0639:;
#line 6233 "regression-compile-tmp/imp22g-77.imp"
if (((S) <= (0))) goto L_0640;
                                                                //   6234        fill code(s)
#line 6234 "regression-compile-tmp/imp22g-77.imp"
FILLCODE(S);
                                                                //   6235      %finish
#line 6235 "regression-compile-tmp/imp22g-77.imp"
L_0640:;
#line 6235 "regression-compile-tmp/imp22g-77.imp"
L_063f:;
                                                                //   6236      arg = darg_hlink
#line 6236 "regression-compile-tmp/imp22g-77.imp"
ARG = DARG->HLINK;
                                                                //   6237    %repeat
#line 6237 "regression-compile-tmp/imp22g-77.imp"
goto L_062e;
#line 6237 "regression-compile-tmp/imp22g-77.imp"
L_062f:;
                                                                //   6238    fill code(ad+imod(fidp_val)-cad)
#line 6238 "regression-compile-tmp/imp22g-77.imp"
FILLCODE((((int)((((int)(AD)) + (_imp_IMOD(FIDP->VAL))))) - (CAD)));
                                                                //   6239    item = 0;  value = ad
#line 6239 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
#line 6239 "regression-compile-tmp/imp22g-77.imp"
VALUE = AD;
                                                                //   6240    literal = literal-1
#line 6240 "regression-compile-tmp/imp22g-77.imp"
LITERAL = (((int)(LITERAL)) - (1));
                                                                //   6241  %end
#line 6241 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETRECORD at level 3
                                                                //   6242  
                                                                //   6243  %routine SWOP
#line 6243 "regression-compile-tmp/imp22g-77.imp"
void SWOP( void )
#line 6243 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6244  %integer temp
#line 6244 "regression-compile-tmp/imp22g-77.imp"
int TEMP;
                                                                //   6245    temp = item1;  item1 = item;  item = temp
#line 6245 "regression-compile-tmp/imp22g-77.imp"
TEMP = ITEM1;
#line 6245 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = ITEM;
#line 6245 "regression-compile-tmp/imp22g-77.imp"
ITEM = TEMP;
                                                                //   6246    temp = val1;  val1 = value;  value = temp
#line 6246 "regression-compile-tmp/imp22g-77.imp"
TEMP = VAL1;
#line 6246 "regression-compile-tmp/imp22g-77.imp"
VAL1 = VALUE;
#line 6246 "regression-compile-tmp/imp22g-77.imp"
VALUE = TEMP;
                                                                //   6247    temp = type1;  type1 = type;  type = temp
#line 6247 "regression-compile-tmp/imp22g-77.imp"
TEMP = TYPE1;
#line 6247 "regression-compile-tmp/imp22g-77.imp"
TYPE1 = TYPE;
#line 6247 "regression-compile-tmp/imp22g-77.imp"
TYPE = TEMP;
                                                                //   6248  %end
#line 6248 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SWOP at level 3
                                                                //   6249  
                                                                //   6250  %constinteger INTOK=1<<inty, CHAROK=1<<chary,
                                                                //   6251                BOOLOK=1<<booly, ENUMOK=1<<enumy,
                                                                //   6252                REALOK=1<<realy, STRINGOK=1<<stringy,
                                                                //   6253                ARROK=1<<arry, SETOK=1<<sety,
                                                                //   6254                RECOK=1<<recy, POINTOK=1<<pointy,
                                                                //   6255                NUMOK=intok!realok,
                                                                //   6256                ORDOK=intok!charok!boolok!enumok,
                                                                //   6257                RELOK=ordok!realok!stringok
                                                                //   6258  %routine CHECK1(%integer ok)
#line 6258 "regression-compile-tmp/imp22g-77.imp"
void CHECK1( int OK )
#line 6258 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6259    cat1 = category(type)
#line 6259 "regression-compile-tmp/imp22g-77.imp"
CAT1 = CATEGORY(TYPE);
                                                                //   6260    %if ok>>(cat1&cat)&1 = 0 %start
#line 6260 "regression-compile-tmp/imp22g-77.imp"
if ((((((int)((((unsigned int)(OK)) >> (((CAT1) & (15)))))) & (1))) != (0))) goto L_0641;
                                                                //   6261      %if cat1 = inty %and ok&realok # 0 %start
#line 6261 "regression-compile-tmp/imp22g-77.imp"
if (((CAT1) != (0))) goto L_0642;
#line 6261 "regression-compile-tmp/imp22g-77.imp"
if (((((OK) & (32))) == (0))) goto L_0642;
                                                                //   6262        toreal;  cat1 = realy
#line 6262 "regression-compile-tmp/imp22g-77.imp"
TOREAL();
#line 6262 "regression-compile-tmp/imp22g-77.imp"
CAT1 = 5;
                                                                //   6263      %finish %else %if ok&stringok # 0 %and valok(stringtype,type)=TRUE %start
#line 6263 "regression-compile-tmp/imp22g-77.imp"
goto L_0643;
#line 6263 "regression-compile-tmp/imp22g-77.imp"
L_0642:;
#line 6263 "regression-compile-tmp/imp22g-77.imp"
if (((((OK) & (256))) == (0))) goto L_0644;
#line 6263 "regression-compile-tmp/imp22g-77.imp"
if (((VALOK(64, TYPE)) != (1))) goto L_0644;
                                                                //   6264        cat1 = stringy
#line 6264 "regression-compile-tmp/imp22g-77.imp"
CAT1 = 8;
                                                                //   6265      %else
#line 6265 "regression-compile-tmp/imp22g-77.imp"
goto L_0643;
#line 6265 "regression-compile-tmp/imp22g-77.imp"
L_0644:;
                                                                //   6266        fault(typerr+point)
#line 6266 "regression-compile-tmp/imp22g-77.imp"
FAULT(76);
                                                                //   6267      %finish
#line 6267 "regression-compile-tmp/imp22g-77.imp"
L_0643:;
                                                                //   6268    %finish
#line 6268 "regression-compile-tmp/imp22g-77.imp"
L_0641:;
                                                                //   6269    type1 = type;  item1 = item;  val1 = value
#line 6269 "regression-compile-tmp/imp22g-77.imp"
TYPE1 = TYPE;
#line 6269 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = ITEM;
#line 6269 "regression-compile-tmp/imp22g-77.imp"
VAL1 = VALUE;
                                                                //   6270  %end
#line 6270 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CHECK1 at level 3
                                                                //   6271  
                                                                //   6272  %integer%fn FROZEN LIT(%integer t,v)
#line 6272 "regression-compile-tmp/imp22g-77.imp"
int FROZENLIT( int T, int V )
#line 6272 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6273  ! Used when the type of a literal will not be recoverable from context
                                                                //   6274  %integer hold,res
#line 6274 "regression-compile-tmp/imp22g-77.imp"
int HOLD;
#line 6274 "regression-compile-tmp/imp22g-77.imp"
int RES;
                                                                //   6275    hold = item
#line 6275 "regression-compile-tmp/imp22g-77.imp"
HOLD = ITEM;
                                                                //   6276    putexp(move,0,litref(v),t);  !NO-OP (distinctive Y)
#line 6276 "regression-compile-tmp/imp22g-77.imp"
PUTEXP(1, 0, LITREF(V), T);
                                                                //   6277    ditem_flags = okflag+wflag
#line 6277 "regression-compile-tmp/imp22g-77.imp"
DITEM->FLAGS = 80;
                                                                //   6278    ditem_mode = constmode;  ditem_val = v
#line 6278 "regression-compile-tmp/imp22g-77.imp"
DITEM->MODE = 122;
#line 6278 "regression-compile-tmp/imp22g-77.imp"
DITEM->VAL = V;
                                                                //   6279    res = item;  item = hold
#line 6279 "regression-compile-tmp/imp22g-77.imp"
RES = ITEM;
#line 6279 "regression-compile-tmp/imp22g-77.imp"
ITEM = HOLD;
                                                                //   6280    %result = res
#line 6280 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return RES;
                                                                //   6281  %end
#line 6281 "regression-compile-tmp/imp22g-77.imp"
} // End of block FROZENLIT at level 3
                                                                //   6282  
                                                                //   6283  %routine COERCE(%integer c)
#line 6283 "regression-compile-tmp/imp22g-77.imp"
void COERCE( int C )
#line 6283 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6284    %if c = inty %and cat1 = realy %start
#line 6284 "regression-compile-tmp/imp22g-77.imp"
if (((C) != (0))) goto L_0645;
#line 6284 "regression-compile-tmp/imp22g-77.imp"
if (((CAT1) != (5))) goto L_0645;
                                                                //   6285      toreal
#line 6285 "regression-compile-tmp/imp22g-77.imp"
TOREAL();
                                                                //   6286    %finish %else %if cat1 = inty %and c = realy %start
#line 6286 "regression-compile-tmp/imp22g-77.imp"
goto L_0646;
#line 6286 "regression-compile-tmp/imp22g-77.imp"
L_0645:;
#line 6286 "regression-compile-tmp/imp22g-77.imp"
if (((CAT1) != (0))) goto L_0647;
#line 6286 "regression-compile-tmp/imp22g-77.imp"
if (((C) != (5))) goto L_0647;
                                                                //   6287      ![rather sloppy]
                                                                //   6288      %if item1 # 0 %start
#line 6288 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) == (0))) goto L_0648;
                                                                //   6289        val1 = item;  item = item1
#line 6289 "regression-compile-tmp/imp22g-77.imp"
VAL1 = ITEM;
#line 6289 "regression-compile-tmp/imp22g-77.imp"
ITEM = ITEM1;
                                                                //   6290        toreal
#line 6290 "regression-compile-tmp/imp22g-77.imp"
TOREAL();
                                                                //   6291        item1 = item;  item = val1
#line 6291 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = ITEM;
#line 6291 "regression-compile-tmp/imp22g-77.imp"
ITEM = VAL1;
                                                                //   6292      %finish %else real(addr(val1)) = val1
#line 6292 "regression-compile-tmp/imp22g-77.imp"
goto L_0649;
#line 6292 "regression-compile-tmp/imp22g-77.imp"
L_0648:;
#line 6292 "regression-compile-tmp/imp22g-77.imp"
*_imp_REAL(_imp_ADDR(&VAL1)) = VAL1;
#line 6292 "regression-compile-tmp/imp22g-77.imp"
L_0649:;
                                                                //   6293      type1 = realtype;  cat1 = realy
#line 6293 "regression-compile-tmp/imp22g-77.imp"
TYPE1 = 69;
#line 6293 "regression-compile-tmp/imp22g-77.imp"
CAT1 = 5;
                                                                //   6294    %else
#line 6294 "regression-compile-tmp/imp22g-77.imp"
goto L_0646;
#line 6294 "regression-compile-tmp/imp22g-77.imp"
L_0647:;
                                                                //   6295      expfault(typerr)
#line 6295 "regression-compile-tmp/imp22g-77.imp"
EXPFAULT(12);
                                                                //   6296    %finish
#line 6296 "regression-compile-tmp/imp22g-77.imp"
L_0646:;
                                                                //   6297  %end
#line 6297 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COERCE at level 3
                                                                //   6298  
                                                                //   6299  %routine GET ARITH(%integer rank)
#line 6299 "regression-compile-tmp/imp22g-77.imp"
void GETARITH( int RANK )
#line 6299 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6300    get EXPRESSION(rank,0)
#line 6300 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(RANK, 0);
                                                                //   6301    rank = category(type)
#line 6301 "regression-compile-tmp/imp22g-77.imp"
RANK = CATEGORY(TYPE);
                                                                //   6302    coerce(rank) %if rank # cat1
#line 6302 "regression-compile-tmp/imp22g-77.imp"
if (((RANK) == (CAT1))) goto L_064a;
#line 6302 "regression-compile-tmp/imp22g-77.imp"
COERCE(RANK);
#line 6302 "regression-compile-tmp/imp22g-77.imp"
L_064a:;
                                                                //   6303  %end
#line 6303 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETARITH at level 3
                                                                //   6304  
                                                                //   6305  %integer%fn RCOND(%integer op)
#line 6305 "regression-compile-tmp/imp22g-77.imp"
int RCOND( int OP )
#line 6305 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6306  %constinteger EQUAL=2_1001000010,
                                                                //   6307                LESS =2_1010000001,
                                                                //   6308              GREATER=2_0101000001
                                                                //   6309  %integer which,c
#line 6309 "regression-compile-tmp/imp22g-77.imp"
int WHICH;
#line 6309 "regression-compile-tmp/imp22g-77.imp"
int C;
                                                                //   6310  !<<IMP
                                                                //   6311    check1(relok)
#line 6311 "regression-compile-tmp/imp22g-77.imp"
CHECK1(303);
                                                                //   6312    get EXPRESSION(major,0)
#line 6312 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(83, 0);
                                                                //   6313    c = category(type)
#line 6313 "regression-compile-tmp/imp22g-77.imp"
C = CATEGORY(TYPE);
                                                                //   6314    coerce(c) %if c # cat1
#line 6314 "regression-compile-tmp/imp22g-77.imp"
if (((C) == (CAT1))) goto L_064b;
#line 6314 "regression-compile-tmp/imp22g-77.imp"
COERCE(C);
#line 6314 "regression-compile-tmp/imp22g-77.imp"
L_064b:;
                                                                //   6315    %if equals <= atom <= greater %start;  ![ATOM always primed]
#line 6315 "regression-compile-tmp/imp22g-77.imp"
if ((((77) > (ATOM))) || (((ATOM) > (321)))) goto L_064c;
                                                                //   6316      syntax error %if double >= 0
#line 6316 "regression-compile-tmp/imp22g-77.imp"
if (((DOUBLE) < (0))) goto L_064d;
#line 6316 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 6316 "regression-compile-tmp/imp22g-77.imp"
L_064d:;
                                                                //   6317      double = item
#line 6317 "regression-compile-tmp/imp22g-77.imp"
DOUBLE = ITEM;
                                                                //   6318    %finish %else %if double < 0 %start
#line 6318 "regression-compile-tmp/imp22g-77.imp"
goto L_064e;
#line 6318 "regression-compile-tmp/imp22g-77.imp"
L_064c:;
#line 6318 "regression-compile-tmp/imp22g-77.imp"
if (((DOUBLE) >= (0))) goto L_064f;
                                                                //   6319      double = -2
#line 6319 "regression-compile-tmp/imp22g-77.imp"
DOUBLE = (-2);
                                                                //   6320    %finish
#line 6320 "regression-compile-tmp/imp22g-77.imp"
L_064f:;
#line 6320 "regression-compile-tmp/imp22g-77.imp"
L_064e:;
                                                                //   6321  !<<BOTH
                                                                //   6322    %if item1 = 0 %start
#line 6322 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_0650;
                                                                //   6323      %if item = 0 %start
#line 6323 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_0651;
                                                                //   6324        %if size(type1) > 0 %or item1!val1 = 0 %or item!value = 0 %start
#line 6324 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE(TYPE1)) > (0))) goto L_0652;
#line 6324 "regression-compile-tmp/imp22g-77.imp"
if (((((ITEM1) | (VAL1))) == (0))) goto L_0652;
#line 6324 "regression-compile-tmp/imp22g-77.imp"
if (((((ITEM) | (VALUE))) != (0))) goto L_0653;
#line 6324 "regression-compile-tmp/imp22g-77.imp"
L_0652:;
                                                                //   6325          !non-structure (compile-time)
                                                                //   6326          ![integer tests ok for real?]
                                                                //   6327          %if val1 < value %then which = less %c
#line 6327 "regression-compile-tmp/imp22g-77.imp"
if (((VAL1) >= (VALUE))) goto L_0654;
#line 6327 "regression-compile-tmp/imp22g-77.imp"
WHICH = 641;
#line 6327 "regression-compile-tmp/imp22g-77.imp"
goto L_0655;
#line 6327 "regression-compile-tmp/imp22g-77.imp"
L_0654:;
#line 6327 "regression-compile-tmp/imp22g-77.imp"
if (((VAL1) != (VALUE))) goto L_0656;
#line 6327 "regression-compile-tmp/imp22g-77.imp"
WHICH = 578;
#line 6327 "regression-compile-tmp/imp22g-77.imp"
goto L_0655;
#line 6327 "regression-compile-tmp/imp22g-77.imp"
L_0656:;
#line 6327 "regression-compile-tmp/imp22g-77.imp"
WHICH = 321;
#line 6327 "regression-compile-tmp/imp22g-77.imp"
L_0655:;
                                                                //   6328          %else %if val1 = value %then which = equal %c
                                                                //   6329          %else which = greater
                                                                //   6330          %result = which>>(op-bne)&1
#line 6330 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return (((int)((((unsigned int)(WHICH)) >> ((((int)(OP)) - (22)))))) & (1));
                                                                //   6331        %finish
#line 6331 "regression-compile-tmp/imp22g-77.imp"
L_0653:;
                                                                //   6332        item1 = frozen lit(type1,val1)
#line 6332 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = FROZENLIT(TYPE1, VAL1);
                                                                //   6333      %else
#line 6333 "regression-compile-tmp/imp22g-77.imp"
goto L_0657;
#line 6333 "regression-compile-tmp/imp22g-77.imp"
L_0651:;
                                                                //   6334        swop
#line 6334 "regression-compile-tmp/imp22g-77.imp"
SWOP();
                                                                //   6335        op = op!!3 %if op&8 # 0;  !no change for '=','#'
#line 6335 "regression-compile-tmp/imp22g-77.imp"
if (((((OP) & (8))) == (0))) goto L_0658;
#line 6335 "regression-compile-tmp/imp22g-77.imp"
OP = ((OP) ^ (3));
#line 6335 "regression-compile-tmp/imp22g-77.imp"
L_0658:;
                                                                //   6336      %finish
#line 6336 "regression-compile-tmp/imp22g-77.imp"
L_0657:;
                                                                //   6337    %finish
#line 6337 "regression-compile-tmp/imp22g-77.imp"
L_0650:;
                                                                //   6338    %result = op
#line 6338 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return OP;
                                                                //   6339  %end;  !RCOND
#line 6339 "regression-compile-tmp/imp22g-77.imp"
} // End of block RCOND at level 3
                                                                //   6340  !<<IMP
                                                                //   6341  
                                                                //   6342  %integer%fn OPVAL
#line 6342 "regression-compile-tmp/imp22g-77.imp"
int OPVAL( void )
#line 6342 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6343  ! Returns result value for literal (ITEM=ITEM1=0)
                                                                //   6344  !         0 for no-op (result is ITEM1,TYPE1)
                                                                //   6345  !         operator otherwise (result type is TYPE)
                                                                //   6346  ! NB literal INTY type is always INTTYPE (not subrange)
                                                                //   6347  %switch op(keyand:rshift)
#line 6347 "regression-compile-tmp/imp22g-77.imp"
static int sw5_OP_idx;
static const void * /*SWITCH*/ sw5_OP[28] = { &&sw5_OP_72, &&sw5_OP_73, &&sw5_OP_74, &&sw5_OP_75, &&sw5_OP_76, &&sw5_OP_77, &&sw5_OP_78, &&sw5_OP_79, &&sw5_OP_80, &&sw5_OP_81, &&sw5_OP_82, &&sw5_OP_83, &&sw5_OP_84, &&sw5_OP_85, &&sw5_OP_86, &&sw5_OP_87, &&sw5_OP_88, &&sw5_OP_89, &&sw5_OP_90, &&sw5_OP_91, &&sw5_OP_92, &&sw5_OP_93, &&sw5_OP_94, &&sw5_OP_95, &&sw5_OP_96, &&sw5_OP_97, &&sw5_OP_98, &&sw5_OP_99,  };
                                                                //   6348    -> op(atom)
#line 6348 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_idx = ATOM; if ((72 <= sw5_OP_idx) && (sw5_OP_idx <= 99)) goto *(sw5_OP-72)[sw5_OP_idx];  /* Bounds=72:99 */ else {
   /*_imp_signal(8, 2, sw5_OP_idx);*/
   fprintf(stderr, "%%SWITCH index OP(%d) not in range 72:99 at %s:%d\n",
           sw5_OP_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   6349  op(plus):
#line 6349 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_83:;
                                                                //   6350    check1(numok+setok)
#line 6350 "regression-compile-tmp/imp22g-77.imp"
CHECK1(1057);
                                                                //   6351    get ARITH(star)
#line 6351 "regression-compile-tmp/imp22g-77.imp"
GETARITH(88);
                                                                //   6352    %if cat1 = inty %start
#line 6352 "regression-compile-tmp/imp22g-77.imp"
if (((CAT1) != (0))) goto L_0659;
                                                                //   6353      %if item1 = 0 %start
#line 6353 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_065a;
                                                                //   6354        %result = val1+value %if item = 0
#line 6354 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_065b;
#line 6354 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(VAL1)) + (VALUE));
#line 6354 "regression-compile-tmp/imp22g-77.imp"
L_065b:;
                                                                //   6355        swop
#line 6355 "regression-compile-tmp/imp22g-77.imp"
SWOP();
                                                                //   6356      %finish
#line 6356 "regression-compile-tmp/imp22g-77.imp"
L_065a:;
                                                                //   6357      %result = nop %if item!value = 0
#line 6357 "regression-compile-tmp/imp22g-77.imp"
if (((((ITEM) | (VALUE))) != (0))) goto L_065c;
#line 6357 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 6357 "regression-compile-tmp/imp22g-77.imp"
L_065c:;
                                                                //   6358      type = inttype
#line 6358 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   6359      %result = add
#line 6359 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 2;
                                                                //   6360    %else
#line 6360 "regression-compile-tmp/imp22g-77.imp"
L_0659:;
                                                                //   6361      %if item1 = 0 %start
#line 6361 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_065d;
                                                                //   6362        %if item = 0 %start
#line 6362 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_065e;
                                                                //   6363          real(addr(val1)) = real(addr(val1))+real(addr(value))
#line 6363 "regression-compile-tmp/imp22g-77.imp"
*_imp_REAL(_imp_ADDR(&VAL1)) = ((*(float *)(_imp_REAL(_imp_ADDR(&VAL1)))) + (*_imp_REAL(_imp_ADDR(&VALUE))));
                                                                //   6364          %result = val1
#line 6364 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return VAL1;
                                                                //   6365        %finish
#line 6365 "regression-compile-tmp/imp22g-77.imp"
L_065e:;
                                                                //   6366        swop
#line 6366 "regression-compile-tmp/imp22g-77.imp"
SWOP();
                                                                //   6367      %finish
#line 6367 "regression-compile-tmp/imp22g-77.imp"
L_065d:;
                                                                //   6368      %result = nop %if item!value = 0
#line 6368 "regression-compile-tmp/imp22g-77.imp"
if (((((ITEM) | (VALUE))) != (0))) goto L_065f;
#line 6368 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 6368 "regression-compile-tmp/imp22g-77.imp"
L_065f:;
                                                                //   6369      %result = fadd
#line 6369 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 90;
                                                                //   6370    %finish
                                                                //   6371  op(minus):
#line 6371 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_84:;
                                                                //   6372    check1(numok+setok)
#line 6372 "regression-compile-tmp/imp22g-77.imp"
CHECK1(1057);
                                                                //   6373    get ARITH(star)
#line 6373 "regression-compile-tmp/imp22g-77.imp"
GETARITH(88);
                                                                //   6374    %if cat1 = inty %start
#line 6374 "regression-compile-tmp/imp22g-77.imp"
if (((CAT1) != (0))) goto L_0660;
                                                                //   6375      %if item1 = 0 %start
#line 6375 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_0661;
                                                                //   6376        %result = val1-value %if item = 0
#line 6376 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_0662;
#line 6376 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(VAL1)) - (VALUE));
#line 6376 "regression-compile-tmp/imp22g-77.imp"
L_0662:;
                                                                //   6377        swop %and %result = neg %if val1 = 0
#line 6377 "regression-compile-tmp/imp22g-77.imp"
if (((VAL1) != (0))) goto L_0663;
#line 6377 "regression-compile-tmp/imp22g-77.imp"
SWOP();
#line 6377 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 9;
#line 6377 "regression-compile-tmp/imp22g-77.imp"
L_0663:;
                                                                //   6378      %finish
#line 6378 "regression-compile-tmp/imp22g-77.imp"
L_0661:;
                                                                //   6379      type = inttype
#line 6379 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   6380      %if item = 0 %start
#line 6380 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_0664;
                                                                //   6381        %result = nop %if value = 0
#line 6381 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) != (0))) goto L_0665;
#line 6381 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 6381 "regression-compile-tmp/imp22g-77.imp"
L_0665:;
                                                                //   6382        value = -value %if value # minint
#line 6382 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) == ((-2147483648)))) goto L_0666;
#line 6382 "regression-compile-tmp/imp22g-77.imp"
VALUE = (-(VALUE));
#line 6382 "regression-compile-tmp/imp22g-77.imp"
L_0666:;
                                                                //   6383        %result = add
#line 6383 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 2;
                                                                //   6384      %finish
#line 6384 "regression-compile-tmp/imp22g-77.imp"
L_0664:;
                                                                //   6385      %result = sub
#line 6385 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 3;
                                                                //   6386    %else
#line 6386 "regression-compile-tmp/imp22g-77.imp"
L_0660:;
                                                                //   6387      %if item = 0 %start
#line 6387 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_0667;
                                                                //   6388        %if item1 = 0 %start
#line 6388 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_0668;
                                                                //   6389          real(addr(val1)) = real(addr(val1))-real(addr(value))
#line 6389 "regression-compile-tmp/imp22g-77.imp"
*_imp_REAL(_imp_ADDR(&VAL1)) = ((*(float *)(_imp_REAL(_imp_ADDR(&VAL1)))) - (*_imp_REAL(_imp_ADDR(&VALUE))));
                                                                //   6390          %result = val1
#line 6390 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return VAL1;
                                                                //   6391        %finish
#line 6391 "regression-compile-tmp/imp22g-77.imp"
L_0668:;
                                                                //   6392        %result = nop %if value = 0
#line 6392 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) != (0))) goto L_0669;
#line 6392 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 6392 "regression-compile-tmp/imp22g-77.imp"
L_0669:;
                                                                //   6393      %finish
#line 6393 "regression-compile-tmp/imp22g-77.imp"
L_0667:;
                                                                //   6394      %result = fsub
#line 6394 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 91;
                                                                //   6395    %finish
                                                                //   6396  op(exclam):
#line 6396 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_85:;
                                                                //   6397    check1(intok);  get EXPRESSION(star,inttype)
#line 6397 "regression-compile-tmp/imp22g-77.imp"
CHECK1(1);
#line 6397 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(88, 43);
                                                                //   6398    %if item1 = 0 %start
#line 6398 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_066a;
                                                                //   6399      %result = val1!value %if item = 0
#line 6399 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_066b;
#line 6399 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return ((VAL1) | (VALUE));
#line 6399 "regression-compile-tmp/imp22g-77.imp"
L_066b:;
                                                                //   6400      swop
#line 6400 "regression-compile-tmp/imp22g-77.imp"
SWOP();
                                                                //   6401    %finish
#line 6401 "regression-compile-tmp/imp22g-77.imp"
L_066a:;
                                                                //   6402    %result = nop %if item!value = 0
#line 6402 "regression-compile-tmp/imp22g-77.imp"
if (((((ITEM) | (VALUE))) != (0))) goto L_066c;
#line 6402 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 6402 "regression-compile-tmp/imp22g-77.imp"
L_066c:;
                                                                //   6403    type = inttype
#line 6403 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   6404    %result = or
#line 6404 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 6;
                                                                //   6405  op(exclam2):
#line 6405 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_86:;
                                                                //   6406    check1(intok);  get EXPRESSION(star,inttype)
#line 6406 "regression-compile-tmp/imp22g-77.imp"
CHECK1(1);
#line 6406 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(88, 43);
                                                                //   6407    %if item1 = 0 %start
#line 6407 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_066d;
                                                                //   6408      %result = val1!!value %if item = 0
#line 6408 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_066e;
#line 6408 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return ((VAL1) ^ (VALUE));
#line 6408 "regression-compile-tmp/imp22g-77.imp"
L_066e:;
                                                                //   6409      swop
#line 6409 "regression-compile-tmp/imp22g-77.imp"
SWOP();
                                                                //   6410    %finish
#line 6410 "regression-compile-tmp/imp22g-77.imp"
L_066d:;
                                                                //   6411    %result = nop %if item!value = 0
#line 6411 "regression-compile-tmp/imp22g-77.imp"
if (((((ITEM) | (VALUE))) != (0))) goto L_066f;
#line 6411 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 6411 "regression-compile-tmp/imp22g-77.imp"
L_066f:;
                                                                //   6412    type = inttype
#line 6412 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   6413    %result = eor
#line 6413 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 7;
                                                                //   6414  op(ampersand):
#line 6414 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_91:;
                                                                //   6415    check1(intok);  get EXPRESSION(star2,inttype)
#line 6415 "regression-compile-tmp/imp22g-77.imp"
CHECK1(1);
#line 6415 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(92, 43);
                                                                //   6416    %if item1 = 0 %start
#line 6416 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_0670;
                                                                //   6417      %result = val1&value %if item = 0
#line 6417 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_0671;
#line 6417 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return ((VAL1) & (VALUE));
#line 6417 "regression-compile-tmp/imp22g-77.imp"
L_0671:;
                                                                //   6418      swop
#line 6418 "regression-compile-tmp/imp22g-77.imp"
SWOP();
                                                                //   6419    %finish
#line 6419 "regression-compile-tmp/imp22g-77.imp"
L_0670:;
                                                                //   6420    item1 = 0 %and %result = 0 %if item!value = 0
#line 6420 "regression-compile-tmp/imp22g-77.imp"
if (((((ITEM) | (VALUE))) != (0))) goto L_0672;
#line 6420 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = 0;
#line 6420 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 6420 "regression-compile-tmp/imp22g-77.imp"
L_0672:;
                                                                //   6421    type = inttype
#line 6421 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   6422    %result = and
#line 6422 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 5;
                                                                //   6423  op(star):
#line 6423 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_88:;
                                                                //   6424    check1(numok+setok)
#line 6424 "regression-compile-tmp/imp22g-77.imp"
CHECK1(1057);
                                                                //   6425    get ARITH(star2)
#line 6425 "regression-compile-tmp/imp22g-77.imp"
GETARITH(92);
                                                                //   6426    item1 = 0 %and %result = 0 %if item!value = 0
#line 6426 "regression-compile-tmp/imp22g-77.imp"
if (((((ITEM) | (VALUE))) != (0))) goto L_0673;
#line 6426 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = 0;
#line 6426 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 6426 "regression-compile-tmp/imp22g-77.imp"
L_0673:;
                                                                //   6427    %if cat1 = inty %start
#line 6427 "regression-compile-tmp/imp22g-77.imp"
if (((CAT1) != (0))) goto L_0674;
                                                                //   6428      %if item1 = 0 %start
#line 6428 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_0675;
                                                                //   6429        %result = val1*value %if item = 0
#line 6429 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_0676;
#line 6429 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(VAL1)) * (VALUE));
#line 6429 "regression-compile-tmp/imp22g-77.imp"
L_0676:;
                                                                //   6430        swop
#line 6430 "regression-compile-tmp/imp22g-77.imp"
SWOP();
                                                                //   6431      %finish
#line 6431 "regression-compile-tmp/imp22g-77.imp"
L_0675:;
                                                                //   6432      type = inttype
#line 6432 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   6433      %result = imul %if control&halfbit = 0
#line 6433 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (32768))) != (0))) goto L_0677;
#line 6433 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 86;
#line 6433 "regression-compile-tmp/imp22g-77.imp"
L_0677:;
                                                                //   6434      %result = muls
#line 6434 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 12;
                                                                //   6435    %else
#line 6435 "regression-compile-tmp/imp22g-77.imp"
L_0674:;
                                                                //   6436      %if item1 = 0 %start
#line 6436 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_0678;
                                                                //   6437        %if item = 0 %start
#line 6437 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_0679;
                                                                //   6438          real(addr(val1)) = real(addr(val1))*real(addr(value))
#line 6438 "regression-compile-tmp/imp22g-77.imp"
*_imp_REAL(_imp_ADDR(&VAL1)) = ((*(float *)(_imp_REAL(_imp_ADDR(&VAL1)))) * (*_imp_REAL(_imp_ADDR(&VALUE))));
                                                                //   6439          %result = val1
#line 6439 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return VAL1;
                                                                //   6440        %finish
#line 6440 "regression-compile-tmp/imp22g-77.imp"
L_0679:;
                                                                //   6441        swop
#line 6441 "regression-compile-tmp/imp22g-77.imp"
SWOP();
                                                                //   6442      %finish
#line 6442 "regression-compile-tmp/imp22g-77.imp"
L_0678:;
                                                                //   6443      %result = fmul
#line 6443 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 92;
                                                                //   6444    %finish
                                                                //   6445  op(over):
#line 6445 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_89:;
                                                                //   6446    check1(intok);  get EXPRESSION(star2,inttype)
#line 6446 "regression-compile-tmp/imp22g-77.imp"
CHECK1(1);
#line 6446 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(92, 43);
                                                                //   6447    %if item = 0 %start
#line 6447 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_067a;
                                                                //   6448      fault(rangerr) %and %result = nop %if value = 0
#line 6448 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) != (0))) goto L_067b;
#line 6448 "regression-compile-tmp/imp22g-77.imp"
FAULT(24);
#line 6448 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 6448 "regression-compile-tmp/imp22g-77.imp"
L_067b:;
                                                                //   6449      %result = val1//value %if item1 = 0
#line 6449 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_067c;
#line 6449 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return ((long)((long)((int)(VAL1)) / (long)((int)(_Z(VALUE)))));
#line 6449 "regression-compile-tmp/imp22g-77.imp"
L_067c:;
                                                                //   6450    %finish
#line 6450 "regression-compile-tmp/imp22g-77.imp"
L_067a:;
                                                                //   6451    type = inttype
#line 6451 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   6452    %result = idiv
#line 6452 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 87;
                                                                //   6453  op(slash):
#line 6453 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_90:;
                                                                //   6454    check1(realok)
#line 6454 "regression-compile-tmp/imp22g-77.imp"
CHECK1(32);
                                                                //   6455    get EXPRESSION(star2,realtype)
#line 6455 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(92, 69);
                                                                //   6456    %if item = 0 %start
#line 6456 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_067d;
                                                                //   6457      fault(rangerr) %and %result = nop %if value = 0
#line 6457 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) != (0))) goto L_067e;
#line 6457 "regression-compile-tmp/imp22g-77.imp"
FAULT(24);
#line 6457 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 6457 "regression-compile-tmp/imp22g-77.imp"
L_067e:;
                                                                //   6458      %if item1 = 0 %start
#line 6458 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_067f;
                                                                //   6459        real(addr(val1)) = real(addr(val1))/real(addr(value))
#line 6459 "regression-compile-tmp/imp22g-77.imp"
*_imp_REAL(_imp_ADDR(&VAL1)) = (double)((double)(*(float *)(_imp_REAL(_imp_ADDR(&VAL1)))) / (double)(*(float *)(_imp_REAL(_imp_ADDR(&VALUE)))));
                                                                //   6460        %result = val1
#line 6460 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return VAL1;
                                                                //   6461      %finish
#line 6461 "regression-compile-tmp/imp22g-77.imp"
L_067f:;
                                                                //   6462    %finish
#line 6462 "regression-compile-tmp/imp22g-77.imp"
L_067d:;
                                                                //   6463    %result = fdiv
#line 6463 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 93;
                                                                //   6464  op(backslash2): op(uparrow2):
#line 6464 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_95:;
#line 6464 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_96:;
                                                                //   6465    check1(intok);  get EXPRESSION(simple,inttype)
#line 6465 "regression-compile-tmp/imp22g-77.imp"
CHECK1(1);
#line 6465 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(100, 43);
                                                                //   6466    %if item = 0 %start
#line 6466 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_0680;
                                                                //   6467      %result = val1\\value %if item1 = 0
#line 6467 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_0681;
#line 6467 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return _imp_IEXP(VAL1, VALUE);
#line 6467 "regression-compile-tmp/imp22g-77.imp"
L_0681:;
                                                                //   6468      item1 = 0 %and %result = 1 %if value = 0
#line 6468 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) != (0))) goto L_0682;
#line 6468 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = 0;
#line 6468 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 6468 "regression-compile-tmp/imp22g-77.imp"
L_0682:;
                                                                //   6469      %result = nop %if value = 1
#line 6469 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) != (1))) goto L_0683;
#line 6469 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 6469 "regression-compile-tmp/imp22g-77.imp"
L_0683:;
                                                                //   6470      item = item1 %and %result = imul %if value = 2
#line 6470 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) != (2))) goto L_0684;
#line 6470 "regression-compile-tmp/imp22g-77.imp"
ITEM = ITEM1;
#line 6470 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 86;
#line 6470 "regression-compile-tmp/imp22g-77.imp"
L_0684:;
                                                                //   6471    %finish
#line 6471 "regression-compile-tmp/imp22g-77.imp"
L_0680:;
                                                                //   6472    type = inttype
#line 6472 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   6473    %result = ipow
#line 6473 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 88;
                                                                //   6474  op(backslash): op(uparrow): op(star2):
#line 6474 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_93:;
#line 6474 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_94:;
#line 6474 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_92:;
                                                                //   6475    check1(realok)
#line 6475 "regression-compile-tmp/imp22g-77.imp"
CHECK1(32);
                                                                //   6476    get EXPRESSION(simple,inttype)
#line 6476 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(100, 43);
                                                                //   6477    type = realtype
#line 6477 "regression-compile-tmp/imp22g-77.imp"
TYPE = 69;
                                                                //   6478    %if item!item1 = 0 %start
#line 6478 "regression-compile-tmp/imp22g-77.imp"
if (((((ITEM) | (ITEM1))) != (0))) goto L_0685;
                                                                //   6479      real(addr(val1)) = real(addr(val1))\value
#line 6479 "regression-compile-tmp/imp22g-77.imp"
*_imp_REAL(_imp_ADDR(&VAL1)) = _imp_REXP(*_imp_REAL(_imp_ADDR(&VAL1)), VALUE);
                                                                //   6480      %result = val1
#line 6480 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return VAL1;
                                                                //   6481    %finish
#line 6481 "regression-compile-tmp/imp22g-77.imp"
L_0685:;
                                                                //   6482    %result = fpow
#line 6482 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 94;
                                                                //   6483  op(lshift):
#line 6483 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_98:;
                                                                //   6484    check1(intok);  get EXPRESSION(simple,inttype)
#line 6484 "regression-compile-tmp/imp22g-77.imp"
CHECK1(1);
#line 6484 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(100, 43);
                                                                //   6485    %if item = 0 %start
#line 6485 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_0686;
                                                                //   6486      %result = val1<<value %if item1 = 0
#line 6486 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_0687;
#line 6486 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return ((VAL1) << (VALUE));
#line 6486 "regression-compile-tmp/imp22g-77.imp"
L_0687:;
                                                                //   6487      %result = nop %if value = 0
#line 6487 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) != (0))) goto L_0688;
#line 6487 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 6487 "regression-compile-tmp/imp22g-77.imp"
L_0688:;
                                                                //   6488    %finish
#line 6488 "regression-compile-tmp/imp22g-77.imp"
L_0686:;
                                                                //   6489    type = inttype
#line 6489 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   6490    %result = lsl
#line 6490 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 10;
                                                                //   6491  op(rshift):
#line 6491 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_99:;
                                                                //   6492    check1(intok);  get EXPRESSION(simple,inttype)
#line 6492 "regression-compile-tmp/imp22g-77.imp"
CHECK1(1);
#line 6492 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(100, 43);
                                                                //   6493    %if item = 0 %start
#line 6493 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_0689;
                                                                //   6494      %result = val1>>value %if item1 = 0
#line 6494 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_068a;
#line 6494 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return (int)((((unsigned int)(VAL1)) >> (VALUE)));
#line 6494 "regression-compile-tmp/imp22g-77.imp"
L_068a:;
                                                                //   6495      %result = nop %if value = 0
#line 6495 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) != (0))) goto L_068b;
#line 6495 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 6495 "regression-compile-tmp/imp22g-77.imp"
L_068b:;
                                                                //   6496    %finish
#line 6496 "regression-compile-tmp/imp22g-77.imp"
L_0689:;
                                                                //   6497    type = inttype
#line 6497 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   6498    %result = lsr
#line 6498 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 11;
                                                                //   6499  op(tilde):
#line 6499 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_97:;
                                                                //   6500    check1(intok)
#line 6500 "regression-compile-tmp/imp22g-77.imp"
CHECK1(1);
                                                                //   6501    get EXPRESSION(simple,inttype)
#line 6501 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(100, 43);
                                                                //   6502    %result = \value %if item = 0
#line 6502 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_068c;
#line 6502 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return (~(VALUE));
#line 6502 "regression-compile-tmp/imp22g-77.imp"
L_068c:;
                                                                //   6503    swop
#line 6503 "regression-compile-tmp/imp22g-77.imp"
SWOP();
                                                                //   6504    type = inttype
#line 6504 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   6505    %result = not
#line 6505 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 8;
                                                                //   6506  op(sconc):
#line 6506 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_87:;
                                                                //   6507    check1(stringok);  get EXPRESSION(dot+1,stringtype)
#line 6507 "regression-compile-tmp/imp22g-77.imp"
CHECK1(256);
#line 6507 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(88, 64);
                                                                //   6508    %if item = 0 %start
#line 6508 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_068d;
                                                                //   6509      %if item1 = 0 %start
#line 6509 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_068e;
                                                                //   6510        %result = val1 %if value = 0
#line 6510 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) != (0))) goto L_068f;
#line 6510 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return VAL1;
#line 6510 "regression-compile-tmp/imp22g-77.imp"
L_068f:;
                                                                //   6511        %result = value %if val1 = 0
#line 6511 "regression-compile-tmp/imp22g-77.imp"
if (((VAL1) != (0))) goto L_0690;
#line 6511 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return VALUE;
#line 6511 "regression-compile-tmp/imp22g-77.imp"
L_0690:;
                                                                //   6512        %if final(val1)+final(value) <= 255 %start
#line 6512 "regression-compile-tmp/imp22g-77.imp"
if ((((((unsigned char)(FINAL[VAL1])) + (FINAL[VALUE]))) > (255))) goto L_0691;
                                                                //   6513          string(final0+val1) = string(final0+val1) %c
#line 6513 "regression-compile-tmp/imp22g-77.imp"
*_imp_STRING((((int)(FINAL0)) + (VAL1))) = _imp_join((_imp_string)*_imp_STRING((((int)(FINAL0)) + (VAL1))),(_imp_string)*_imp_STRING((((int)(FINAL0)) + (VALUE))));
                                                                //   6514                                   . string(final0+value)
                                                                //   6515          cad = cad-1
#line 6515 "regression-compile-tmp/imp22g-77.imp"
CAD = (((int)(CAD)) - (1));
                                                                //   6516        %finish %else fault(rangerr)
#line 6516 "regression-compile-tmp/imp22g-77.imp"
goto L_0692;
#line 6516 "regression-compile-tmp/imp22g-77.imp"
L_0691:;
#line 6516 "regression-compile-tmp/imp22g-77.imp"
FAULT(24);
#line 6516 "regression-compile-tmp/imp22g-77.imp"
L_0692:;
                                                                //   6517        %result = val1
#line 6517 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return VAL1;
                                                                //   6518      %finish
#line 6518 "regression-compile-tmp/imp22g-77.imp"
L_068e:;
                                                                //   6519      %result = nop %if value = 0
#line 6519 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) != (0))) goto L_0693;
#line 6519 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 6519 "regression-compile-tmp/imp22g-77.imp"
L_0693:;
                                                                //   6520    %finish %else %if item1!val1 = 0 %start
#line 6520 "regression-compile-tmp/imp22g-77.imp"
goto L_0694;
#line 6520 "regression-compile-tmp/imp22g-77.imp"
L_068d:;
#line 6520 "regression-compile-tmp/imp22g-77.imp"
if (((((ITEM1) | (VAL1))) != (0))) goto L_0695;
                                                                //   6521      item1 = item;  val1 = value;  type1 = type
#line 6521 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = ITEM;
#line 6521 "regression-compile-tmp/imp22g-77.imp"
VAL1 = VALUE;
#line 6521 "regression-compile-tmp/imp22g-77.imp"
TYPE1 = TYPE;
                                                                //   6522      %result = nop
#line 6522 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   6523    %finish
#line 6523 "regression-compile-tmp/imp22g-77.imp"
L_0695:;
#line 6523 "regression-compile-tmp/imp22g-77.imp"
L_0694:;
                                                                //   6524    type = stringtype
#line 6524 "regression-compile-tmp/imp22g-77.imp"
TYPE = 64;
                                                                //   6525    %result = concat
#line 6525 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 106;
                                                                //   6526  op(equals):
#line 6526 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_77:;
                                                                //   6527    %result = RCOND(beq)
#line 6527 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return RCOND(23);
                                                                //   6528  op(noteq):
#line 6528 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_78:;
                                                                //   6529    %result = RCOND(bne)
#line 6529 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return RCOND(22);
                                                                //   6530  op(lesseq):
#line 6530 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_79:;
                                                                //   6531    %result = RCOND(ble)
#line 6531 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return RCOND(31);
                                                                //   6532  op(less):
#line 6532 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_80:;
                                                                //   6533    %result = RCOND(blt)
#line 6533 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return RCOND(29);
                                                                //   6534  op(greateq):
#line 6534 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_81:;
                                                                //   6535    %result = RCOND(bge)
#line 6535 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return RCOND(28);
                                                                //   6536  op(greater):
#line 6536 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_82:;
                                                                //   6537    %result = RCOND(bgt)
#line 6537 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return RCOND(30);
                                                                //   6538  %integer%fn RACOND(%integer op)
#line 6538 "regression-compile-tmp/imp22g-77.imp"
int RACOND( int OP )
#line 6538 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6539    toref
#line 6539 "regression-compile-tmp/imp22g-77.imp"
TOREF();
                                                                //   6540    item1 = normitem;  type1 = type
#line 6540 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = NORMITEM();
#line 6540 "regression-compile-tmp/imp22g-77.imp"
TYPE1 = TYPE;
                                                                //   6541    get REFERENCE(type1)
#line 6541 "regression-compile-tmp/imp22g-77.imp"
GETREFERENCE(TYPE1);
                                                                //   6542    val1 = 0 %and swop %if item1 = 0
#line 6542 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_0696;
#line 6542 "regression-compile-tmp/imp22g-77.imp"
VAL1 = 0;
#line 6542 "regression-compile-tmp/imp22g-77.imp"
SWOP();
#line 6542 "regression-compile-tmp/imp22g-77.imp"
L_0696:;
                                                                //   6543    syntax error %if arrow <= atom <= greater;  ![ATOM always primed]
#line 6543 "regression-compile-tmp/imp22g-77.imp"
if ((((74) > (ATOM))) || (((ATOM) > (82)))) goto L_0697;
#line 6543 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 6543 "regression-compile-tmp/imp22g-77.imp"
L_0697:;
                                                                //   6544    double = -2
#line 6544 "regression-compile-tmp/imp22g-77.imp"
DOUBLE = (-2);
                                                                //   6545    %result = op
#line 6545 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return OP;
                                                                //   6546  %end
#line 6546 "regression-compile-tmp/imp22g-77.imp"
} // End of block RACOND at level 4
                                                                //   6547  op(eqeq):
#line 6547 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_75:;
                                                                //   6548    %result = RACOND(beq)
#line 6548 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return RACOND(23);
                                                                //   6549  op(noteqeq):
#line 6549 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_76:;
                                                                //   6550    %result = RACOND(bne)
#line 6550 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return RACOND(22);
                                                                //   6551  op(arrow):
#line 6551 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_74:;
                                                                //   6552    check1(stringok)
#line 6552 "regression-compile-tmp/imp22g-77.imp"
CHECK1(256);
                                                                //   6553    item1 = litref(val1) %if item1 = 0
#line 6553 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_0698;
#line 6553 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = LITREF(VAL1);
#line 6553 "regression-compile-tmp/imp22g-77.imp"
L_0698:;
                                                                //   6554    get RESOLUTION(type,item1)
#line 6554 "regression-compile-tmp/imp22g-77.imp"
GETRESOLUTION(TYPE, ITEM1);
                                                                //   6555    item1 = np-3
#line 6555 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = (((int)(NP)) - (3));
                                                                //   6556    condop = bne!!polarity
#line 6556 "regression-compile-tmp/imp22g-77.imp"
CONDOP = ((22) ^ (POLARITY));
                                                                //   6557    type1 = booltype
#line 6557 "regression-compile-tmp/imp22g-77.imp"
TYPE1 = 58;
                                                                //   6558    %result = nop
#line 6558 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   6559  op(keyand):
#line 6559 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_72:;
                                                                //   6560    topred %if condop = 0
#line 6560 "regression-compile-tmp/imp22g-77.imp"
if (((CONDOP) != (0))) goto L_0699;
#line 6560 "regression-compile-tmp/imp22g-77.imp"
TOPRED();
#line 6560 "regression-compile-tmp/imp22g-77.imp"
L_0699:;
                                                                //   6561    item1 = np;  type1 = booltype
#line 6561 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = NP;
#line 6561 "regression-compile-tmp/imp22g-77.imp"
TYPE1 = 58;
                                                                //   6562    putact(condop!!polarity!!1+polarity<<7,item,0)
#line 6562 "regression-compile-tmp/imp22g-77.imp"
PUTACT((((((((CONDOP) ^ (POLARITY))) ^ (1)))) + (((POLARITY) << (7)))), ITEM, 0);
                                                                //   6563    condop = 0
#line 6563 "regression-compile-tmp/imp22g-77.imp"
CONDOP = 0;
                                                                //   6564    get EXPRESSION(scond,booltype)
#line 6564 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(74, 58);
                                                                //   6565    dict(item1)_y = item
#line 6565 "regression-compile-tmp/imp22g-77.imp"
DICT[ITEM1].Y = ITEM;
                                                                //   6566    syntax error %if a(keyor)=TRUE
#line 6566 "regression-compile-tmp/imp22g-77.imp"
if (((A(73)) != (1))) goto L_069a;
#line 6566 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 6566 "regression-compile-tmp/imp22g-77.imp"
L_069a:;
                                                                //   6567    %result = nop
#line 6567 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   6568  op(keyor):
#line 6568 "regression-compile-tmp/imp22g-77.imp"
sw5_OP_73:;
                                                                //   6569    topred %if condop = 0
#line 6569 "regression-compile-tmp/imp22g-77.imp"
if (((CONDOP) != (0))) goto L_069b;
#line 6569 "regression-compile-tmp/imp22g-77.imp"
TOPRED();
#line 6569 "regression-compile-tmp/imp22g-77.imp"
L_069b:;
                                                                //   6570    item1 = np;  type1 = booltype
#line 6570 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = NP;
#line 6570 "regression-compile-tmp/imp22g-77.imp"
TYPE1 = 58;
                                                                //   6571    putact(condop!!polarity+(polarity!!1)<<7,item,0)
#line 6571 "regression-compile-tmp/imp22g-77.imp"
PUTACT((((((CONDOP) ^ (POLARITY)))) + (((((POLARITY) ^ (1))) << (7)))), ITEM, 0);
                                                                //   6572    condop = 0
#line 6572 "regression-compile-tmp/imp22g-77.imp"
CONDOP = 0;
                                                                //   6573    get EXPRESSION(scond,booltype)
#line 6573 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(74, 58);
                                                                //   6574    dict(item1)_y = item
#line 6574 "regression-compile-tmp/imp22g-77.imp"
DICT[ITEM1].Y = ITEM;
                                                                //   6575    syntax error %if a(keyand)=TRUE
#line 6575 "regression-compile-tmp/imp22g-77.imp"
if (((A(72)) != (1))) goto L_069c;
#line 6575 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 6575 "regression-compile-tmp/imp22g-77.imp"
L_069c:;
                                                                //   6576    %result = nop
#line 6576 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   6577  %end
#line 6577 "regression-compile-tmp/imp22g-77.imp"
} // End of block OPVAL at level 3
                                                                //   6578  
                                                                //   6579  !Get leading operand
                                                                //   6580    atom = next atom %if matched # 0
#line 6580 "regression-compile-tmp/imp22g-77.imp"
if (((MATCHED) == (0))) goto L_069d;
#line 6580 "regression-compile-tmp/imp22g-77.imp"
ATOM = NEXTATOM();
#line 6580 "regression-compile-tmp/imp22g-77.imp"
L_069d:;
                                                                //   6581    atomp0 = atomp;  jammy = jammy<<1;  !preserve
#line 6581 "regression-compile-tmp/imp22g-77.imp"
ATOMP0 = ATOMP;
#line 6581 "regression-compile-tmp/imp22g-77.imp"
JAMMY = ((JAMMY) << (1));
                                                                //   6582    %if atom = ident %start
#line 6582 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (53))) goto L_069e;
                                                                //   6583      matched = 1
#line 6583 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   6584      name error %if item <= 0 %or (ditem_mode = labmode %and item < c_localdpos)
#line 6584 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) <= (0))) goto L_0633;
#line 6584 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->MODE) != (186))) goto L_069f;
#line 6584 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) >= (C.LOCALDPOS))) goto L_069f;
#line 6584 "regression-compile-tmp/imp22g-77.imp"
L_0633:;
#line 6584 "regression-compile-tmp/imp22g-77.imp"
NAMEERROR();
#line 6584 "regression-compile-tmp/imp22g-77.imp"
L_069f:;
                                                                //   6585      fault(namerr+point) %if item >= dlim0
#line 6585 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) < (DLIM0))) goto L_06a0;
#line 6585 "regression-compile-tmp/imp22g-77.imp"
FAULT(73);
#line 6585 "regression-compile-tmp/imp22g-77.imp"
L_06a0:;
                                                                //   6586      type = ditem_type
#line 6586 "regression-compile-tmp/imp22g-77.imp"
TYPE = DITEM->TYPE;
                                                                //   6587      %if ditem_flags&typeid # 0 %start
#line 6587 "regression-compile-tmp/imp22g-77.imp"
if (((((DITEM->FLAGS) & (512))) == (0))) goto L_06a1;
                                                                //   6588        %if ditem_flags&cat = recy %and item > dnil %start
#line 6588 "regression-compile-tmp/imp22g-77.imp"
if (((((DITEM->FLAGS) & (15))) != (12))) goto L_06a2;
#line 6588 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) <= (137))) goto L_06a2;
                                                                //   6589          get RECORD
#line 6589 "regression-compile-tmp/imp22g-77.imp"
GETRECORD();
                                                                //   6590          %return
#line 6590 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   6591        %else
#line 6591 "regression-compile-tmp/imp22g-77.imp"
L_06a2:;
                                                                //   6592          item1 = item;  ditem1 == ditem
#line 6592 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = ITEM;
#line 6592 "regression-compile-tmp/imp22g-77.imp"
DITEM1 = DITEM;
                                                                //   6593          %if a(less)=TRUE %start;  !type coercion
#line 6593 "regression-compile-tmp/imp22g-77.imp"
if (((A(80)) != (1))) goto L_06a3;
                                                                //   6594            get VALUE(0);  get(greater)
#line 6594 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(0);
#line 6594 "regression-compile-tmp/imp22g-77.imp"
GET(82);
                                                                //   6595            type = item1
#line 6595 "regression-compile-tmp/imp22g-77.imp"
TYPE = ITEM1;
                                                                //   6596          %else
#line 6596 "regression-compile-tmp/imp22g-77.imp"
goto L_06a4;
#line 6596 "regression-compile-tmp/imp22g-77.imp"
L_06a3:;
                                                                //   6597            get(left);          !store mapping
#line 6597 "regression-compile-tmp/imp22g-77.imp"
GET(55);
                                                                //   6598            get VALUE(inttype)
#line 6598 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(43);
                                                                //   6599            get(right)
#line 6599 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   6600            putexp2(storemap,item1,item1)
#line 6600 "regression-compile-tmp/imp22g-77.imp"
PUTEXP2(47, ITEM1, ITEM1);
                                                                //   6601            ditem_flags = writable!readable
#line 6601 "regression-compile-tmp/imp22g-77.imp"
DITEM->FLAGS = ((1) | (2));
                                                                //   6602            ditem_mode = dispmode
#line 6602 "regression-compile-tmp/imp22g-77.imp"
DITEM->MODE = 40;
                                                                //   6603          %finish
#line 6603 "regression-compile-tmp/imp22g-77.imp"
L_06a4:;
                                                                //   6604        %finish
                                                                //   6605      %finish %else %if ditem_mode = litmode %start
#line 6605 "regression-compile-tmp/imp22g-77.imp"
goto L_06a5;
#line 6605 "regression-compile-tmp/imp22g-77.imp"
L_06a1:;
#line 6605 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->MODE) != (60))) goto L_06a6;
                                                                //   6606        item = 0;  value = ditem_val
#line 6606 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
#line 6606 "regression-compile-tmp/imp22g-77.imp"
VALUE = DITEM->VAL;
                                                                //   6607      %else;                                    !non-literal ident
#line 6607 "regression-compile-tmp/imp22g-77.imp"
goto L_06a5;
#line 6607 "regression-compile-tmp/imp22g-77.imp"
L_06a6:;
                                                                //   6608        %cycle
#line 6608 "regression-compile-tmp/imp22g-77.imp"
L_06a7:;
                                                                //   6609          %if ditem_flags&proc # 0 %start
#line 6609 "regression-compile-tmp/imp22g-77.imp"
if (((((DITEM->FLAGS) & (12288))) == (0))) goto L_06aa;
                                                                //   6610            %if item = daddr %or item = dsizeof %or item = dnew %start
#line 6610 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) == (74))) goto L_061b;
#line 6610 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) == (77))) goto L_061b;
#line 6610 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (115))) goto L_06ab;
#line 6610 "regression-compile-tmp/imp22g-77.imp"
L_061b:;
                                                                //   6611              get(left)
#line 6611 "regression-compile-tmp/imp22g-77.imp"
GET(55);
                                                                //   6612              %if item = daddr %start
#line 6612 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (74))) goto L_06ac;
                                                                //   6613                get REFERENCE(0)
#line 6613 "regression-compile-tmp/imp22g-77.imp"
GETREFERENCE(0);
                                                                //   6614                type = inttype
#line 6614 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   6615              %else
#line 6615 "regression-compile-tmp/imp22g-77.imp"
goto L_06ad;
#line 6615 "regression-compile-tmp/imp22g-77.imp"
L_06ac:;
                                                                //   6616                item1 = item
#line 6616 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = ITEM;
                                                                //   6617                get REFERENCE(0)
#line 6617 "regression-compile-tmp/imp22g-77.imp"
GETREFERENCE(0);
                                                                //   6618                value = imod(size(type))
#line 6618 "regression-compile-tmp/imp22g-77.imp"
VALUE = _imp_IMOD(SIZE(TYPE));
                                                                //   6619                expfault(sizerr) %if value = 0
#line 6619 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) != (0))) goto L_06ae;
#line 6619 "regression-compile-tmp/imp22g-77.imp"
EXPFAULT(11);
#line 6619 "regression-compile-tmp/imp22g-77.imp"
L_06ae:;
                                                                //   6620                %if item1 = dsizeof %start
#line 6620 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (77))) goto L_06af;
                                                                //   6621                  item = 0;  type = inttype
#line 6621 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
#line 6621 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   6622                %else
#line 6622 "regression-compile-tmp/imp22g-77.imp"
goto L_06b0;
#line 6622 "regression-compile-tmp/imp22g-77.imp"
L_06af:;
                                                                //   6623                  putexp(dnew,0,litref(value),0)
#line 6623 "regression-compile-tmp/imp22g-77.imp"
PUTEXP(115, 0, LITREF(VALUE), 0);
                                                                //   6624                  ditem_mode = dispmode
#line 6624 "regression-compile-tmp/imp22g-77.imp"
DITEM->MODE = 40;
                                                                //   6625                %finish
#line 6625 "regression-compile-tmp/imp22g-77.imp"
L_06b0:;
                                                                //   6626              %finish
#line 6626 "regression-compile-tmp/imp22g-77.imp"
L_06ad:;
                                                                //   6627              get(right)
#line 6627 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   6628  !          %finish %else %if item = dsnl %start
                                                                //   6629  !            putexp(dtostring,nl,0,string1)
                                                                //   6630            %else
#line 6630 "regression-compile-tmp/imp22g-77.imp"
goto L_06b1;
#line 6630 "regression-compile-tmp/imp22g-77.imp"
L_06ab:;
                                                                //   6631              get PARLIST(0)
#line 6631 "regression-compile-tmp/imp22g-77.imp"
GETPARLIST(0);
                                                                //   6632              atomp=atomp0 %and error(classerr+point) %if type = 0;  !routine
#line 6632 "regression-compile-tmp/imp22g-77.imp"
if (((TYPE) != (0))) goto L_06b2;
#line 6632 "regression-compile-tmp/imp22g-77.imp"
ATOMP = ATOMP0;
#line 6632 "regression-compile-tmp/imp22g-77.imp"
ERROR(74);
#line 6632 "regression-compile-tmp/imp22g-77.imp"
L_06b2:;
                                                                //   6633            %finish
#line 6633 "regression-compile-tmp/imp22g-77.imp"
L_06b1:;
                                                                //   6634          %else;                                   !not procedure
#line 6634 "regression-compile-tmp/imp22g-77.imp"
goto L_06b3;
#line 6634 "regression-compile-tmp/imp22g-77.imp"
L_06aa:;
                                                                //   6635            atom = next atom %if matched # 0
#line 6635 "regression-compile-tmp/imp22g-77.imp"
if (((MATCHED) == (0))) goto L_06b4;
#line 6635 "regression-compile-tmp/imp22g-77.imp"
ATOM = NEXTATOM();
#line 6635 "regression-compile-tmp/imp22g-77.imp"
L_06b4:;
                                                                //   6636            %exit %unless aleft <= atom <= recsub %and rank <= simple
#line 6636 "regression-compile-tmp/imp22g-77.imp"
if ((((55) > (ATOM))) || (((ATOM) > (58)))) goto L_06b5;
#line 6636 "regression-compile-tmp/imp22g-77.imp"
if (((RANK) <= (100))) goto L_06b6;
#line 6636 "regression-compile-tmp/imp22g-77.imp"
L_06b5:;
#line 6636 "regression-compile-tmp/imp22g-77.imp"
goto L_06a8;
#line 6636 "regression-compile-tmp/imp22g-77.imp"
L_06b6:;
                                                                //   6637            %if atom = aleft %start;  !array subscript
#line 6637 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (55))) goto L_06b7;
                                                                //   6638              %cycle
#line 6638 "regression-compile-tmp/imp22g-77.imp"
L_06b8:;
                                                                //   6639                item1 = item;  ditem1 == ditem
#line 6639 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = ITEM;
#line 6639 "regression-compile-tmp/imp22g-77.imp"
DITEM1 = DITEM;
                                                                //   6640                tp == typecell(type)
#line 6640 "regression-compile-tmp/imp22g-77.imp"
TP = TYPECELL(TYPE);
                                                                //   6641                %if tp_flags&cat = stringy %start
#line 6641 "regression-compile-tmp/imp22g-77.imp"
if (((((TP->FLAGS) & (15))) != (8))) goto L_06bb;
                                                                //   6642                  matched = 1
#line 6642 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   6643                  nonstandard(2)
#line 6643 "regression-compile-tmp/imp22g-77.imp"
NONSTANDARD(2);
                                                                //   6644                  get VALUE(bytetype)
#line 6644 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(52);
                                                                //   6645                  putexp2(sindex,item1,chartype)
#line 6645 "regression-compile-tmp/imp22g-77.imp"
PUTEXP2(82, ITEM1, 61);
                                                                //   6646                %else
#line 6646 "regression-compile-tmp/imp22g-77.imp"
goto L_06bc;
#line 6646 "regression-compile-tmp/imp22g-77.imp"
L_06bb:;
                                                                //   6647                  -> out %unless tp_flags&cat = arry
#line 6647 "regression-compile-tmp/imp22g-77.imp"
if (((((TP->FLAGS) & (15))) == (9))) goto L_06bd;
#line 6647 "regression-compile-tmp/imp22g-77.imp"
goto U_1020;
#line 6647 "regression-compile-tmp/imp22g-77.imp"
L_06bd:;
                                                                //   6648                  matched = 1
#line 6648 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   6649                  get VALUE(tp_xtype);  !get index
#line 6649 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(TP->XTYPE);
                                                                //   6650                  putexp2(index,item1,tp_type)
#line 6650 "regression-compile-tmp/imp22g-77.imp"
PUTEXP2(78, ITEM1, TP->TYPE);
                                                                //   6651                %finish
#line 6651 "regression-compile-tmp/imp22g-77.imp"
L_06bc:;
                                                                //   6652                ditem_flags = ditem1_flags&heritable
#line 6652 "regression-compile-tmp/imp22g-77.imp"
DITEM->FLAGS = ((DITEM1->FLAGS) & (127));
                                                                //   6653                ditem_mode = ditem1_mode
#line 6653 "regression-compile-tmp/imp22g-77.imp"
DITEM->MODE = DITEM1->MODE;
                                                                //   6654              %repeat %until %not a(comma)=TRUE
#line 6654 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) != (1))) goto L_06b9;
#line 6654 "regression-compile-tmp/imp22g-77.imp"
goto L_06b8;
#line 6654 "regression-compile-tmp/imp22g-77.imp"
L_06b9:;
                                                                //   6655              ditem_flags = ditem_flags+(tp_flags&name)
#line 6655 "regression-compile-tmp/imp22g-77.imp"
DITEM->FLAGS = ((DITEM->FLAGS) + ((short)(((TP->FLAGS) & ((-32768))))));
                                                                //   6656              get(right)
#line 6656 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   6657            %finish %else %if atom = recsub %start;  !record subfield
#line 6657 "regression-compile-tmp/imp22g-77.imp"
goto L_06be;
#line 6657 "regression-compile-tmp/imp22g-77.imp"
L_06b7:;
#line 6657 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (58))) goto L_06bf;
                                                                //   6658              item1 = item;  ditem1 == ditem
#line 6658 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = ITEM;
#line 6658 "regression-compile-tmp/imp22g-77.imp"
DITEM1 = DITEM;
                                                                //   6659              dformat == typecell(ditem_type)
#line 6659 "regression-compile-tmp/imp22g-77.imp"
DFORMAT = TYPECELL(DITEM->TYPE);
                                                                //   6660              syntax error %unless dformat_flags&cat = recy
#line 6660 "regression-compile-tmp/imp22g-77.imp"
if (((((DFORMAT->FLAGS) & (15))) == (12))) goto L_06c0;
#line 6660 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 6660 "regression-compile-tmp/imp22g-77.imp"
L_06c0:;
                                                                //   6661              matched = 1
#line 6661 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   6662              subbed = 1;  get(ident);  subbed = 0
#line 6662 "regression-compile-tmp/imp22g-77.imp"
SUBBED = 1;
#line 6662 "regression-compile-tmp/imp22g-77.imp"
GET(53);
#line 6662 "regression-compile-tmp/imp22g-77.imp"
SUBBED = 0;
                                                                //   6663              error(namerr+point) %if item <= 0
#line 6663 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) > (0))) goto L_06c1;
#line 6663 "regression-compile-tmp/imp22g-77.imp"
ERROR(73);
#line 6663 "regression-compile-tmp/imp22g-77.imp"
L_06c1:;
                                                                //   6664              val1 = ditem1_flags&heritable!ditem_flags
#line 6664 "regression-compile-tmp/imp22g-77.imp"
VAL1 = ((((DITEM1->FLAGS) & (127))) | (DITEM->FLAGS));
                                                                //   6665              putexp2(recref,item1,ditem_type)
#line 6665 "regression-compile-tmp/imp22g-77.imp"
PUTEXP2(45, ITEM1, DITEM->TYPE);
                                                                //   6666              ditem_flags = val1
#line 6666 "regression-compile-tmp/imp22g-77.imp"
DITEM->FLAGS = VAL1;
                                                                //   6667              ditem_mode = ditem1_mode
#line 6667 "regression-compile-tmp/imp22g-77.imp"
DITEM->MODE = DITEM1->MODE;
                                                                //   6668            %finish %else %if atom = atsign %start
#line 6668 "regression-compile-tmp/imp22g-77.imp"
goto L_06be;
#line 6668 "regression-compile-tmp/imp22g-77.imp"
L_06bf:;
#line 6668 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (57))) goto L_06c2;
                                                                //   6669              nonstandard(4)
#line 6669 "regression-compile-tmp/imp22g-77.imp"
NONSTANDARD(4);
                                                                //   6670              syntax error %if ditem_flags&typeid = 0
#line 6670 "regression-compile-tmp/imp22g-77.imp"
if (((((DITEM->FLAGS) & (512))) != (0))) goto L_06c3;
#line 6670 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 6670 "regression-compile-tmp/imp22g-77.imp"
L_06c3:;
                                                                //   6671              matched = 1
#line 6671 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   6672              ditem1 == ditem;  item1 = item
#line 6672 "regression-compile-tmp/imp22g-77.imp"
DITEM1 = DITEM;
#line 6672 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = ITEM;
                                                                //   6673              get EXPRESSION(vsimple,inttype)
#line 6673 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(101, 43);
                                                                //   6674              putexp2(storemap,item1,item1)
#line 6674 "regression-compile-tmp/imp22g-77.imp"
PUTEXP2(47, ITEM1, ITEM1);
                                                                //   6675              ditem_flags = writable!readable
#line 6675 "regression-compile-tmp/imp22g-77.imp"
DITEM->FLAGS = ((1) | (2));
                                                                //   6676              ditem_mode = dispmode
#line 6676 "regression-compile-tmp/imp22g-77.imp"
DITEM->MODE = 40;
                                                                //   6677            %else;  !pointer relative
#line 6677 "regression-compile-tmp/imp22g-77.imp"
goto L_06be;
#line 6677 "regression-compile-tmp/imp22g-77.imp"
L_06c2:;
                                                                //   6678              error(nonref+point) %if ditem_mode < dispmode
#line 6678 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->MODE) >= (40))) goto L_06c4;
#line 6678 "regression-compile-tmp/imp22g-77.imp"
ERROR(97);
#line 6678 "regression-compile-tmp/imp22g-77.imp"
L_06c4:;
                                                                //   6679              fault(sizerr) %if size(ditem_type) = 0
#line 6679 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE(DITEM->TYPE)) != (0))) goto L_06c5;
#line 6679 "regression-compile-tmp/imp22g-77.imp"
FAULT(11);
#line 6679 "regression-compile-tmp/imp22g-77.imp"
L_06c5:;
                                                                //   6680              matched = 1
#line 6680 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   6681              ditem1 == ditem;  item1 = item
#line 6681 "regression-compile-tmp/imp22g-77.imp"
DITEM1 = DITEM;
#line 6681 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = ITEM;
                                                                //   6682              get VALUE(inttype);  get(rightb)
#line 6682 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(43);
#line 6682 "regression-compile-tmp/imp22g-77.imp"
GET(62);
                                                                //   6683              putexp2(prel,item1,ditem1_type)
#line 6683 "regression-compile-tmp/imp22g-77.imp"
PUTEXP2(46, ITEM1, DITEM1->TYPE);
                                                                //   6684              ditem_flags = writable!readable
#line 6684 "regression-compile-tmp/imp22g-77.imp"
DITEM->FLAGS = ((1) | (2));
                                                                //   6685              ditem_mode = ditem1_mode
#line 6685 "regression-compile-tmp/imp22g-77.imp"
DITEM->MODE = DITEM1->MODE;
                                                                //   6686            %finish
#line 6686 "regression-compile-tmp/imp22g-77.imp"
L_06be:;
                                                                //   6687          %finish
#line 6687 "regression-compile-tmp/imp22g-77.imp"
L_06b3:;
                                                                //   6688        %repeat
#line 6688 "regression-compile-tmp/imp22g-77.imp"
goto L_06a7;
#line 6688 "regression-compile-tmp/imp22g-77.imp"
L_06a8:;
                                                                //   6689      %finish
#line 6689 "regression-compile-tmp/imp22g-77.imp"
L_06a5:;
                                                                //   6690    %else
#line 6690 "regression-compile-tmp/imp22g-77.imp"
goto L_06c6;
#line 6690 "regression-compile-tmp/imp22g-77.imp"
L_069e:;
                                                                //   6691      %if atom = const %start
#line 6691 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (52))) goto L_06c7;
                                                                //   6692        matched = 1
#line 6692 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   6693      %finish %else %if atom = minus %start;  !leave unmatched
#line 6693 "regression-compile-tmp/imp22g-77.imp"
goto L_06c8;
#line 6693 "regression-compile-tmp/imp22g-77.imp"
L_06c7:;
#line 6693 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (84))) goto L_06c9;
                                                                //   6694        item = 0;  value = 0;  type = inttype
#line 6694 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
#line 6694 "regression-compile-tmp/imp22g-77.imp"
VALUE = 0;
#line 6694 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   6695      %finish %else %if atom = left %start
#line 6695 "regression-compile-tmp/imp22g-77.imp"
goto L_06c8;
#line 6695 "regression-compile-tmp/imp22g-77.imp"
L_06c9:;
#line 6695 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (55))) goto L_06ca;
                                                                //   6696        matched = 1
#line 6696 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   6697        %if rank < major %start;  !condition
#line 6697 "regression-compile-tmp/imp22g-77.imp"
if (((RANK) >= (83))) goto L_06cb;
                                                                //   6698          get EXPRESSION(condq,0)
#line 6698 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(71, 0);
                                                                //   6699        %else
#line 6699 "regression-compile-tmp/imp22g-77.imp"
goto L_06cc;
#line 6699 "regression-compile-tmp/imp22g-77.imp"
L_06cb:;
                                                                //   6700          get EXPRESSION(major,0)
#line 6700 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(83, 0);
                                                                //   6701        %finish
#line 6701 "regression-compile-tmp/imp22g-77.imp"
L_06cc:;
                                                                //   6702        get(right)
#line 6702 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   6703      %finish %else %if a(keynot)=TRUE %start
#line 6703 "regression-compile-tmp/imp22g-77.imp"
goto L_06c8;
#line 6703 "regression-compile-tmp/imp22g-77.imp"
L_06ca:;
#line 6703 "regression-compile-tmp/imp22g-77.imp"
if (((A(50)) != (1))) goto L_06cd;
                                                                //   6704        syntax error %if rank >= major
#line 6704 "regression-compile-tmp/imp22g-77.imp"
if (((RANK) < (83))) goto L_06ce;
#line 6704 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 6704 "regression-compile-tmp/imp22g-77.imp"
L_06ce:;
                                                                //   6705        polarity = polarity!!1
#line 6705 "regression-compile-tmp/imp22g-77.imp"
POLARITY = ((POLARITY) ^ (1));
                                                                //   6706        get EXPRESSION(scond,booltype)
#line 6706 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(74, 58);
                                                                //   6707        %if item = 0 %then value = value!!1
#line 6707 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_06cf;
#line 6707 "regression-compile-tmp/imp22g-77.imp"
VALUE = ((VALUE) ^ (1));
#line 6707 "regression-compile-tmp/imp22g-77.imp"
L_06cf:;
                                                                //   6708        polarity = polarity!!1
#line 6708 "regression-compile-tmp/imp22g-77.imp"
POLARITY = ((POLARITY) ^ (1));
                                                                //   6709      %finish %else %if atom = backslash %start
#line 6709 "regression-compile-tmp/imp22g-77.imp"
goto L_06c8;
#line 6709 "regression-compile-tmp/imp22g-77.imp"
L_06cd:;
#line 6709 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (93))) goto L_06d0;
                                                                //   6710        item = 0;  value = 0;  type = inttype
#line 6710 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
#line 6710 "regression-compile-tmp/imp22g-77.imp"
VALUE = 0;
#line 6710 "regression-compile-tmp/imp22g-77.imp"
TYPE = 43;
                                                                //   6711        atom = tilde
#line 6711 "regression-compile-tmp/imp22g-77.imp"
ATOM = 97;
                                                                //   6712      %finish %else %if a(modsign)=TRUE %start
#line 6712 "regression-compile-tmp/imp22g-77.imp"
goto L_06c8;
#line 6712 "regression-compile-tmp/imp22g-77.imp"
L_06d0:;
#line 6712 "regression-compile-tmp/imp22g-77.imp"
if (((A(54)) != (1))) goto L_06d1;
                                                                //   6713        get EXPRESSION(major,0)
#line 6713 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(83, 0);
                                                                //   6714        %if valok(inttype,type)=TRUE %start
#line 6714 "regression-compile-tmp/imp22g-77.imp"
if (((VALOK(43, TYPE)) != (1))) goto L_06d2;
                                                                //   6715          %if item = 0 %start
#line 6715 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_06d3;
                                                                //   6716            %if value < 0 %start
#line 6716 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) >= (0))) goto L_06d4;
                                                                //   6717              %if value # minint %then value = -value %else expfault(rangerr)
#line 6717 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) == ((-2147483648)))) goto L_06d5;
#line 6717 "regression-compile-tmp/imp22g-77.imp"
VALUE = (-(VALUE));
#line 6717 "regression-compile-tmp/imp22g-77.imp"
goto L_06d6;
#line 6717 "regression-compile-tmp/imp22g-77.imp"
L_06d5:;
#line 6717 "regression-compile-tmp/imp22g-77.imp"
EXPFAULT(24);
#line 6717 "regression-compile-tmp/imp22g-77.imp"
L_06d6:;
                                                                //   6718            %finish
#line 6718 "regression-compile-tmp/imp22g-77.imp"
L_06d4:;
                                                                //   6719          %else
#line 6719 "regression-compile-tmp/imp22g-77.imp"
goto L_06d7;
#line 6719 "regression-compile-tmp/imp22g-77.imp"
L_06d3:;
                                                                //   6720            putexp2(iabs,0,inttype)
#line 6720 "regression-compile-tmp/imp22g-77.imp"
PUTEXP2(48, 0, 43);
                                                                //   6721          %finish
#line 6721 "regression-compile-tmp/imp22g-77.imp"
L_06d7:;
                                                                //   6722        %finish %else %if valok(realtype,type)=TRUE %start
#line 6722 "regression-compile-tmp/imp22g-77.imp"
goto L_06d8;
#line 6722 "regression-compile-tmp/imp22g-77.imp"
L_06d2:;
#line 6722 "regression-compile-tmp/imp22g-77.imp"
if (((VALOK(69, TYPE)) != (1))) goto L_06d9;
                                                                //   6723          putexp2(fabs,0,realtype)
#line 6723 "regression-compile-tmp/imp22g-77.imp"
PUTEXP2(49, 0, 69);
                                                                //   6724        %else
#line 6724 "regression-compile-tmp/imp22g-77.imp"
goto L_06d8;
#line 6724 "regression-compile-tmp/imp22g-77.imp"
L_06d9:;
                                                                //   6725          error(typerr+point)
#line 6725 "regression-compile-tmp/imp22g-77.imp"
ERROR(76);
                                                                //   6726        %finish
#line 6726 "regression-compile-tmp/imp22g-77.imp"
L_06d8:;
                                                                //   6727        get(modsign)
#line 6727 "regression-compile-tmp/imp22g-77.imp"
GET(54);
                                                                //   6728      %else
#line 6728 "regression-compile-tmp/imp22g-77.imp"
goto L_06c8;
#line 6728 "regression-compile-tmp/imp22g-77.imp"
L_06d1:;
                                                                //   6729        syntax error
#line 6729 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
                                                                //   6730      %finish
#line 6730 "regression-compile-tmp/imp22g-77.imp"
L_06c8:;
                                                                //   6731    %finish
#line 6731 "regression-compile-tmp/imp22g-77.imp"
L_06c6:;
                                                                //   6732  out:
#line 6732 "regression-compile-tmp/imp22g-77.imp"
U_1020:;
                                                                //   6733    atom = next atom %if matched # 0;  ![always primed on return]
#line 6733 "regression-compile-tmp/imp22g-77.imp"
if (((MATCHED) == (0))) goto L_06da;
#line 6733 "regression-compile-tmp/imp22g-77.imp"
ATOM = NEXTATOM();
#line 6733 "regression-compile-tmp/imp22g-77.imp"
L_06da:;
                                                                //   6734  
                                                                //   6735    %if etype < 0 %start;  !reference required
#line 6735 "regression-compile-tmp/imp22g-77.imp"
if (((ETYPE) >= (0))) goto L_06db;
                                                                //   6736      expp = atomp0;  jammy = jammy>>1;  !restore
#line 6736 "regression-compile-tmp/imp22g-77.imp"
EXPP = ATOMP0;
#line 6736 "regression-compile-tmp/imp22g-77.imp"
JAMMY = (int)((((unsigned int)(JAMMY)) >> (1)));
                                                                //   6737  %unless item!value = 0 %start;  !*temp*
#line 6737 "regression-compile-tmp/imp22g-77.imp"
if (((((ITEM) | (VALUE))) == (0))) goto L_06dc;
                                                                //   6738      toref
#line 6738 "regression-compile-tmp/imp22g-77.imp"
TOREF();
                                                                //   6739      expfault(typerr) %unless refok(etype-sign16,type)=TRUE
#line 6739 "regression-compile-tmp/imp22g-77.imp"
if (((REFOK(((ETYPE) + ((int)(32768))), TYPE)) == (1))) goto L_06dd;
#line 6739 "regression-compile-tmp/imp22g-77.imp"
EXPFAULT(12);
#line 6739 "regression-compile-tmp/imp22g-77.imp"
L_06dd:;
                                                                //   6740  %finish %else atomp = atomp0 %and nonstandard(21)
#line 6740 "regression-compile-tmp/imp22g-77.imp"
goto L_06de;
#line 6740 "regression-compile-tmp/imp22g-77.imp"
L_06dc:;
#line 6740 "regression-compile-tmp/imp22g-77.imp"
ATOMP = ATOMP0;
#line 6740 "regression-compile-tmp/imp22g-77.imp"
NONSTANDARD(21);
#line 6740 "regression-compile-tmp/imp22g-77.imp"
L_06de:;
                                                                //   6741    %else
#line 6741 "regression-compile-tmp/imp22g-77.imp"
goto L_06df;
#line 6741 "regression-compile-tmp/imp22g-77.imp"
L_06db:;
                                                                //   6742      %while atom >= rank %cycle
#line 6742 "regression-compile-tmp/imp22g-77.imp"
L_06e0:;
#line 6742 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) < (RANK))) goto L_06e1;
                                                                //   6743        matched = 1
#line 6743 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   6744        double = -1
#line 6744 "regression-compile-tmp/imp22g-77.imp"
DOUBLE = (-1);
                                                                //   6745        op = opval
#line 6745 "regression-compile-tmp/imp22g-77.imp"
OP = OPVAL();
                                                                //   6746        %if item1!item = 0 %start;  !both literal
#line 6746 "regression-compile-tmp/imp22g-77.imp"
if (((((ITEM1) | (ITEM))) != (0))) goto L_06e3;
                                                                //   6747          %if double # -1 %start
#line 6747 "regression-compile-tmp/imp22g-77.imp"
if (((DOUBLE) == ((-1)))) goto L_06e4;
                                                                //   6748            %if double >= 0 %start
#line 6748 "regression-compile-tmp/imp22g-77.imp"
if (((DOUBLE) < (0))) goto L_06e5;
                                                                //   6749              literal = literal+1;  !enforce all literal
#line 6749 "regression-compile-tmp/imp22g-77.imp"
LITERAL = (((int)(LITERAL)) + (1));
                                                                //   6750              op = op&opval
#line 6750 "regression-compile-tmp/imp22g-77.imp"
OP = ((OP) & (OPVAL()));
                                                                //   6751              literal = literal-1
#line 6751 "regression-compile-tmp/imp22g-77.imp"
LITERAL = (((int)(LITERAL)) - (1));
                                                                //   6752            %finish
#line 6752 "regression-compile-tmp/imp22g-77.imp"
L_06e5:;
                                                                //   6753            type = booltype
#line 6753 "regression-compile-tmp/imp22g-77.imp"
TYPE = 58;
                                                                //   6754          %finish
#line 6754 "regression-compile-tmp/imp22g-77.imp"
L_06e4:;
                                                                //   6755          value = op
#line 6755 "regression-compile-tmp/imp22g-77.imp"
VALUE = OP;
                                                                //   6756        %finish %else %if double = -1 %start;         !not relop
#line 6756 "regression-compile-tmp/imp22g-77.imp"
goto L_06e6;
#line 6756 "regression-compile-tmp/imp22g-77.imp"
L_06e3:;
#line 6756 "regression-compile-tmp/imp22g-77.imp"
if (((DOUBLE) != ((-1)))) goto L_06e7;
                                                                //   6757          %if op # 0 %start
#line 6757 "regression-compile-tmp/imp22g-77.imp"
if (((OP) == (0))) goto L_06e8;
                                                                //   6758            item1 = litref(val1) %if item1 = 0
#line 6758 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM1) != (0))) goto L_06e9;
#line 6758 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = LITREF(VAL1);
#line 6758 "regression-compile-tmp/imp22g-77.imp"
L_06e9:;
                                                                //   6759            putexp(op,item1,normitem,type)
#line 6759 "regression-compile-tmp/imp22g-77.imp"
PUTEXP(OP, ITEM1, NORMITEM(), TYPE);
                                                                //   6760          %else;         !nop
#line 6760 "regression-compile-tmp/imp22g-77.imp"
goto L_06ea;
#line 6760 "regression-compile-tmp/imp22g-77.imp"
L_06e8:;
                                                                //   6761            item = item1;  type = type1
#line 6761 "regression-compile-tmp/imp22g-77.imp"
ITEM = ITEM1;
#line 6761 "regression-compile-tmp/imp22g-77.imp"
TYPE = TYPE1;
                                                                //   6762          %finish
#line 6762 "regression-compile-tmp/imp22g-77.imp"
L_06ea:;
                                                                //   6763        %else;                      !conditional operation
#line 6763 "regression-compile-tmp/imp22g-77.imp"
goto L_06e6;
#line 6763 "regression-compile-tmp/imp22g-77.imp"
L_06e7:;
                                                                //   6764          condop = op!!polarity
#line 6764 "regression-compile-tmp/imp22g-77.imp"
CONDOP = ((OP) ^ (POLARITY));
                                                                //   6765          putact(compare,item1,normitem)
#line 6765 "regression-compile-tmp/imp22g-77.imp"
PUTACT(4, ITEM1, NORMITEM());
                                                                //   6766          item = np-1
#line 6766 "regression-compile-tmp/imp22g-77.imp"
ITEM = (((int)(NP)) - (1));
                                                                //   6767          %if double >= 0 %start
#line 6767 "regression-compile-tmp/imp22g-77.imp"
if (((DOUBLE) < (0))) goto L_06eb;
                                                                //   6768            putact(condop!!polarity!!1+polarity<<7,np-1,np+1);  !implicit %and
#line 6768 "regression-compile-tmp/imp22g-77.imp"
PUTACT((((((((CONDOP) ^ (POLARITY))) ^ (1)))) + (((POLARITY) << (7)))), (((int)(NP)) - (1)), (((int)(NP)) + (1)));
                                                                //   6769            item = double;  ![TYPE,VALUE unchanged]
#line 6769 "regression-compile-tmp/imp22g-77.imp"
ITEM = DOUBLE;
                                                                //   6770            matched = 1
#line 6770 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   6771            op = opval
#line 6771 "regression-compile-tmp/imp22g-77.imp"
OP = OPVAL();
                                                                //   6772            error(nonliteral) %if item1!item = 0;  !mixed non-lit, lit
#line 6772 "regression-compile-tmp/imp22g-77.imp"
if (((((ITEM1) | (ITEM))) != (0))) goto L_06ec;
#line 6772 "regression-compile-tmp/imp22g-77.imp"
ERROR(25);
#line 6772 "regression-compile-tmp/imp22g-77.imp"
L_06ec:;
                                                                //   6773            condop = op!!polarity
#line 6773 "regression-compile-tmp/imp22g-77.imp"
CONDOP = ((OP) ^ (POLARITY));
                                                                //   6774            putact(compare,item1,normitem)
#line 6774 "regression-compile-tmp/imp22g-77.imp"
PUTACT(4, ITEM1, NORMITEM());
                                                                //   6775            item = np-2
#line 6775 "regression-compile-tmp/imp22g-77.imp"
ITEM = (((int)(NP)) - (2));
                                                                //   6776          %finish
#line 6776 "regression-compile-tmp/imp22g-77.imp"
L_06eb:;
                                                                //   6777          type = booltype
#line 6777 "regression-compile-tmp/imp22g-77.imp"
TYPE = 58;
                                                                //   6778        %finish
#line 6778 "regression-compile-tmp/imp22g-77.imp"
L_06e6:;
                                                                //   6779      %repeat
#line 6779 "regression-compile-tmp/imp22g-77.imp"
goto L_06e0;
#line 6779 "regression-compile-tmp/imp22g-77.imp"
L_06e1:;
                                                                //   6780      expp = atomp0;  jammy = jammy>>1
#line 6780 "regression-compile-tmp/imp22g-77.imp"
EXPP = ATOMP0;
#line 6780 "regression-compile-tmp/imp22g-77.imp"
JAMMY = (int)((((unsigned int)(JAMMY)) >> (1)));
                                                                //   6781      %if etype # 0 %start
#line 6781 "regression-compile-tmp/imp22g-77.imp"
if (((ETYPE) == (0))) goto L_06ed;
                                                                //   6782        %if type = booltype %start
#line 6782 "regression-compile-tmp/imp22g-77.imp"
if (((TYPE) != (58))) goto L_06ee;
                                                                //   6783          topred %if (rank = cond %or rank = scond) %and condop = 0
#line 6783 "regression-compile-tmp/imp22g-77.imp"
if (((RANK) == (72))) goto L_05f8;
#line 6783 "regression-compile-tmp/imp22g-77.imp"
if (((RANK) != (74))) goto L_06ef;
#line 6783 "regression-compile-tmp/imp22g-77.imp"
L_05f8:;
#line 6783 "regression-compile-tmp/imp22g-77.imp"
if (((CONDOP) != (0))) goto L_06ef;
#line 6783 "regression-compile-tmp/imp22g-77.imp"
TOPRED();
#line 6783 "regression-compile-tmp/imp22g-77.imp"
L_06ef:;
                                                                //   6784        %finish
#line 6784 "regression-compile-tmp/imp22g-77.imp"
L_06ee:;
                                                                //   6785        expfault(typerr) %unless valok(etype,type)=TRUE
#line 6785 "regression-compile-tmp/imp22g-77.imp"
if (((VALOK(ETYPE, TYPE)) == (1))) goto L_06f0;
#line 6785 "regression-compile-tmp/imp22g-77.imp"
EXPFAULT(12);
#line 6785 "regression-compile-tmp/imp22g-77.imp"
L_06f0:;
                                                                //   6786      %finish
#line 6786 "regression-compile-tmp/imp22g-77.imp"
L_06ed:;
                                                                //   6787    %finish
#line 6787 "regression-compile-tmp/imp22g-77.imp"
L_06df:;
                                                                //   6788    atomp=expp %and error(nonliteral+point) %if literal # 0 %and item # 0
#line 6788 "regression-compile-tmp/imp22g-77.imp"
if (((LITERAL) == (0))) goto L_06f1;
#line 6788 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) == (0))) goto L_06f1;
#line 6788 "regression-compile-tmp/imp22g-77.imp"
ATOMP = EXPP;
#line 6788 "regression-compile-tmp/imp22g-77.imp"
ERROR(89);
#line 6788 "regression-compile-tmp/imp22g-77.imp"
L_06f1:;
                                                                //   6789  %end;  !get EXPRESSION
#line 6789 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETEXPRESSION at level 2
                                                                //   6790    
                                                                //   6791  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   6792  !!!!!!!!!!!!!!!!!!!!  Conditions and loops  !!!!!!!!!!!!!!!!!!!!
                                                                //   6793  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   6794  !
                                                                //   6795  %routine GET CONDITION
#line 6795 "regression-compile-tmp/imp22g-77.imp"
void GETCONDITION( void )
#line 6795 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6796  %integer maxlab,condnp
#line 6796 "regression-compile-tmp/imp22g-77.imp"
int MAXLAB;
#line 6796 "regression-compile-tmp/imp22g-77.imp"
int CONDNP;
                                                                //   6797  
                                                                //   6798  %routine ASSIGN LABELS(%integer p,lab,pol)
#line 6798 "regression-compile-tmp/imp22g-77.imp"
void ASSIGNLABELS( int P, int LAB, int POL )
#line 6798 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6799  %integer base
#line 6799 "regression-compile-tmp/imp22g-77.imp"
int BASE;
                                                                //   6800  %record(identinfo)%name dp
#line 6800 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DP;
                                                                //   6801    base=maxlab
#line 6801 "regression-compile-tmp/imp22g-77.imp"
BASE = MAXLAB;
                                                                //   6802    %while (p-condnp)&1 # 0 %cycle;  !compound
#line 6802 "regression-compile-tmp/imp22g-77.imp"
L_06f2:;
#line 6802 "regression-compile-tmp/imp22g-77.imp"
if ((((((((int)(P)) - (CONDNP))) & (1))) == (0))) goto L_06f3;
                                                                //   6803      dp == dict(p);  p = dp_y
#line 6803 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[P];
#line 6803 "regression-compile-tmp/imp22g-77.imp"
P = DP->Y;
                                                                //   6804      %if dp_act&1<<7 = pol %then assign labels(dp_x,lab,pol) %c
#line 6804 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->ACT) & (((1) << (7))))) != (POL))) goto L_06f5;
#line 6804 "regression-compile-tmp/imp22g-77.imp"
ASSIGNLABELS(DP->X, LAB, POL);
#line 6804 "regression-compile-tmp/imp22g-77.imp"
goto L_06f6;
#line 6804 "regression-compile-tmp/imp22g-77.imp"
L_06f5:;
#line 6804 "regression-compile-tmp/imp22g-77.imp"
MAXLAB = (((int)(BASE)) + (1));
#line 6804 "regression-compile-tmp/imp22g-77.imp"
ASSIGNLABELS(DP->X, MAXLAB, ((POL) ^ (((1) << (7)))));
#line 6804 "regression-compile-tmp/imp22g-77.imp"
L_06f6:;
                                                                //   6805      %else maxlab = base+1 %and assign labels(dp_x,maxlab,pol!!1<<7)
                                                                //   6806    %repeat
#line 6806 "regression-compile-tmp/imp22g-77.imp"
goto L_06f2;
#line 6806 "regression-compile-tmp/imp22g-77.imp"
L_06f3:;
                                                                //   6807    dp == dict(p+1);  dp == dict(p+3) %if dp_act = 0;  !resolution
#line 6807 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[(((int)(P)) + (1))];
#line 6807 "regression-compile-tmp/imp22g-77.imp"
if (((DP->ACT) != (0))) goto L_06f7;
#line 6807 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[(((int)(P)) + (3))];
#line 6807 "regression-compile-tmp/imp22g-77.imp"
L_06f7:;
                                                                //   6808    %if maxlab > base %then dp_x = maxlab %and maxlab = base %c
#line 6808 "regression-compile-tmp/imp22g-77.imp"
if (((MAXLAB) <= (BASE))) goto L_06f8;
#line 6808 "regression-compile-tmp/imp22g-77.imp"
DP->X = MAXLAB;
#line 6808 "regression-compile-tmp/imp22g-77.imp"
MAXLAB = BASE;
#line 6808 "regression-compile-tmp/imp22g-77.imp"
goto L_06f9;
#line 6808 "regression-compile-tmp/imp22g-77.imp"
L_06f8:;
#line 6808 "regression-compile-tmp/imp22g-77.imp"
DP->X = 0;
#line 6808 "regression-compile-tmp/imp22g-77.imp"
L_06f9:;
                                                                //   6809    %else dp_x = 0
                                                                //   6810    dp_y = lab
#line 6810 "regression-compile-tmp/imp22g-77.imp"
DP->Y = LAB;
                                                                //   6811    dp_act = dp_act&127
#line 6811 "regression-compile-tmp/imp22g-77.imp"
DP->ACT = ((DP->ACT) & (127));
                                                                //   6812  %end
#line 6812 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ASSIGNLABELS at level 3
                                                                //   6813  
                                                                //   6814    condnp = np
#line 6814 "regression-compile-tmp/imp22g-77.imp"
CONDNP = NP;
                                                                //   6815    polarity = subatom;  condop = 0
#line 6815 "regression-compile-tmp/imp22g-77.imp"
POLARITY = SUBATOM;
#line 6815 "regression-compile-tmp/imp22g-77.imp"
CONDOP = 0;
                                                                //   6816    get EXPRESSION(cond,booltype)
#line 6816 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(72, 58);
                                                                //   6817    putact(condop!!1,item,0)
#line 6817 "regression-compile-tmp/imp22g-77.imp"
PUTACT(((CONDOP) ^ (1)), ITEM, 0);
                                                                //   6818    %return %if faultnum > 0
#line 6818 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTNUM) <= (0))) goto L_06fa;
#line 6818 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 6818 "regression-compile-tmp/imp22g-77.imp"
L_06fa:;
                                                                //   6819    maxlab = curlab+1
#line 6819 "regression-compile-tmp/imp22g-77.imp"
MAXLAB = (((int)(CURLAB)) + (1));
                                                                //   6820    assign labels(item,maxlab,0)
#line 6820 "regression-compile-tmp/imp22g-77.imp"
ASSIGNLABELS(ITEM, MAXLAB, 0);
                                                                //   6821  %end;  !get CONDITION
#line 6821 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETCONDITION at level 2
                                                                //   6822  
                                                                //   6823  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   6824  
                                                                //   6825  %routine DO DYNAMIC ARRAYS
#line 6825 "regression-compile-tmp/imp22g-77.imp"
void DODYNAMICARRAYS( void )
#line 6825 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6826    update sp
#line 6826 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   6827    c_mode = c_mode!2_01000000;   !bar to SP rel addressing
#line 6827 "regression-compile-tmp/imp22g-77.imp"
C.MODE = ((C.MODE) | (64));
                                                                //   6828    c_status = c_status!globbed;  !needs link
#line 6828 "regression-compile-tmp/imp22g-77.imp"
C.STATUS = ((C.STATUS) | (16));
                                                                //   6829    %while c_dynarray # 0 %cycle
#line 6829 "regression-compile-tmp/imp22g-77.imp"
L_06fb:;
#line 6829 "regression-compile-tmp/imp22g-77.imp"
if (((C.DYNARRAY) == (0))) goto L_06fc;
                                                                //   6830      %if c_dynarray < 0 %then putact(aget,-c_dynarray,one) %c
#line 6830 "regression-compile-tmp/imp22g-77.imp"
if (((C.DYNARRAY) >= (0))) goto L_06fe;
#line 6830 "regression-compile-tmp/imp22g-77.imp"
PUTACT(109, (-(C.DYNARRAY)), (-2));
#line 6830 "regression-compile-tmp/imp22g-77.imp"
goto L_06ff;
#line 6830 "regression-compile-tmp/imp22g-77.imp"
L_06fe:;
#line 6830 "regression-compile-tmp/imp22g-77.imp"
PUTACT(109, C.DYNARRAY, 0);
#line 6830 "regression-compile-tmp/imp22g-77.imp"
L_06ff:;
                                                                //   6831      %else putact(aget,c_dynarray,0)
                                                                //   6832      c_dynarray = dict(imod(c_dynarray))_link
#line 6832 "regression-compile-tmp/imp22g-77.imp"
C.DYNARRAY = DICT[_imp_IMOD(C.DYNARRAY)].LINK;
                                                                //   6833    %repeat
#line 6833 "regression-compile-tmp/imp22g-77.imp"
goto L_06fb;
#line 6833 "regression-compile-tmp/imp22g-77.imp"
L_06fc:;
                                                                //   6834    compile(np0)
#line 6834 "regression-compile-tmp/imp22g-77.imp"
COMPILE(NP0);
                                                                //   6835  %end
#line 6835 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DODYNAMICARRAYS at level 2
                                                                //   6836  
                                                                //   6837  %routine GET STATEMENTS(%integer stopper)
#line 6837 "regression-compile-tmp/imp22g-77.imp"
void GETSTATEMENTS( int STOPPER )
#line 6837 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6838  ! STOPPER = 0          -- initial call
                                                                //   6839  !           1 (END)    -- for procedure or block body
                                                                //   6840  !           2 (REPEAT) -- for loop body
                                                                //   6841  !           3 (FINISH) -- for condition body (ELSE not valid)
                                                                //   6842  !           4 (ELSE)   --         "          (ELSE valid)
                                                                //   6843  %switch initial(0:atommax)
#line 6843 "regression-compile-tmp/imp22g-77.imp"
static int sw6_INITIAL_idx;
static const void * /*SWITCH*/ sw6_INITIAL[100] = { &&sw6_INITIAL_0, &&sw6_INITIAL_1, &&sw6_INITIAL_2, &&sw6_INITIAL_3, &&sw6_INITIAL_4, &&sw6_INITIAL_5, &&sw6_INITIAL_6, &&sw6_INITIAL_7, &&sw6_INITIAL_8, &&sw6_INITIAL_9, &&sw6_INITIAL_10, &&sw6_INITIAL_11, &&sw6_INITIAL_12, &&sw6_INITIAL_13, &&sw6_INITIAL_14, &&sw6_INITIAL_15, &&sw6_INITIAL_16, &&sw6_INITIAL_17, &&sw6_INITIAL_18, &&sw6_INITIAL_19, &&sw6_INITIAL_20, &&sw6_INITIAL_21, &&sw6_INITIAL_22, &&sw6_INITIAL_23, &&sw6_INITIAL_24, &&sw6_INITIAL_25, &&sw6_INITIAL_26, &&sw6_INITIAL_27, &&sw6_INITIAL_28, &&sw6_INITIAL_29, &&sw6_INITIAL_30, &&sw6_INITIAL_31, &&sw6_INITIAL_32, &&sw6_INITIAL_33, &&sw6_INITIAL_34, &&sw6_INITIAL_35, &&sw6_INITIAL_36, &&sw6_INITIAL_37, &&sw6_INITIAL_38, &&sw6_INITIAL_39, &&sw6_INITIAL_40, &&sw6_INITIAL_41, &&sw6_INITIAL_42, &&sw6_INITIAL_43, &&sw6_INITIAL_44, &&sw6_INITIAL_45, &&sw6_INITIAL_46, &&sw6_INITIAL_47, &&sw6_INITIAL_48, &&sw6_INITIAL_49, &&sw6_INITIAL_50, &&sw6_INITIAL_51, &&sw6_INITIAL_52, &&sw6_INITIAL_53, &&sw6_INITIAL_54, &&sw6_INITIAL_55, &&sw6_INITIAL_56, &&sw6_INITIAL_57, &&sw6_INITIAL_58, &&sw6_INITIAL_59, &&sw6_INITIAL_60, &&sw6_INITIAL_61, &&sw6_INITIAL_62, &&sw6_INITIAL_63, &&sw6_INITIAL_64, &&sw6_INITIAL_65, &&sw6_INITIAL_66, &&sw6_INITIAL_67, &&sw6_INITIAL_68, &&sw6_INITIAL_69, &&sw6_INITIAL_70, &&sw6_INITIAL_71, &&sw6_INITIAL_72, &&sw6_INITIAL_73, &&sw6_INITIAL_74, &&sw6_INITIAL_75, &&sw6_INITIAL_76, &&sw6_INITIAL_77, &&sw6_INITIAL_78, &&sw6_INITIAL_79, &&sw6_INITIAL_80, &&sw6_INITIAL_81, &&sw6_INITIAL_82, &&sw6_INITIAL_83, &&sw6_INITIAL_84, &&sw6_INITIAL_85, &&sw6_INITIAL_86, &&sw6_INITIAL_87, &&sw6_INITIAL_88, &&sw6_INITIAL_89, &&sw6_INITIAL_90, &&sw6_INITIAL_91, &&sw6_INITIAL_92, &&sw6_INITIAL_93, &&sw6_INITIAL_94, &&sw6_INITIAL_95, &&sw6_INITIAL_96, &&sw6_INITIAL_97, &&sw6_INITIAL_98, &&sw6_INITIAL_99,  };
                                                                //   6844  %integer forinf,endval,loopstart
#line 6844 "regression-compile-tmp/imp22g-77.imp"
int FORINF;
#line 6844 "regression-compile-tmp/imp22g-77.imp"
int ENDVAL;
#line 6844 "regression-compile-tmp/imp22g-77.imp"
int LOOPSTART;
                                                                //   6845  
                                                                //   6846  %routine THIS IS INST
#line 6846 "regression-compile-tmp/imp22g-77.imp"
void THISISINST( void )
#line 6846 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6847    %if c_status < hadinst %start;  !first in block
#line 6847 "regression-compile-tmp/imp22g-77.imp"
if (((C.STATUS) >= (16384))) goto L_0700;
                                                                //   6848      c_status = c_status+hadinst
#line 6848 "regression-compile-tmp/imp22g-77.imp"
C.STATUS = (((int)(C.STATUS)) + (16384));
                                                                //   6849      fault(ordererr) %if stopper = 0
#line 6849 "regression-compile-tmp/imp22g-77.imp"
if (((STOPPER) != (0))) goto L_0701;
#line 6849 "regression-compile-tmp/imp22g-77.imp"
FAULT(22);
#line 6849 "regression-compile-tmp/imp22g-77.imp"
L_0701:;
                                                                //   6850    %finish
#line 6850 "regression-compile-tmp/imp22g-77.imp"
L_0700:;
                                                                //   6851    fault(accesserr+warn) %if c_access = 0 %and np = np0
#line 6851 "regression-compile-tmp/imp22g-77.imp"
if (((C.ACCESS) != (0))) goto L_0702;
#line 6851 "regression-compile-tmp/imp22g-77.imp"
if (((NP) != (NP0))) goto L_0702;
#line 6851 "regression-compile-tmp/imp22g-77.imp"
FAULT((-112));
#line 6851 "regression-compile-tmp/imp22g-77.imp"
L_0702:;
                                                                //   6852    do dynamic arrays %if c_dynarray # 0
#line 6852 "regression-compile-tmp/imp22g-77.imp"
if (((C.DYNARRAY) == (0))) goto L_0703;
#line 6852 "regression-compile-tmp/imp22g-77.imp"
DODYNAMICARRAYS();
#line 6852 "regression-compile-tmp/imp22g-77.imp"
L_0703:;
                                                                //   6853  %end
#line 6853 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block THISISINST at level 3
                                                                //   6854  
                                                                //   6855  %routine PUTACT2(%integer act,item1)
#line 6855 "regression-compile-tmp/imp22g-77.imp"
void PUTACT2( int ACT, int ITEM1 )
#line 6855 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6856    putact(act,item1,normitem)
#line 6856 "regression-compile-tmp/imp22g-77.imp"
PUTACT(ACT, ITEM1, NORMITEM());
                                                                //   6857  %end
#line 6857 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTACT2 at level 3
                                                                //   6858  
                                                                //   6859  %routine GET RESULT
#line 6859 "regression-compile-tmp/imp22g-77.imp"
void GETRESULT( void )
#line 6859 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6860    get VALUE(c_type)
#line 6860 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(C.TYPE);
                                                                //   6861  !  fault(rangerr+warn) %if c_type > 0 %and item # 0 %c
                                                                //   6862  !                      %and imod(size(type)) > imod(size(c_type))
                                                                //   6863  %end
#line 6863 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETRESULT at level 3
                                                                //   6864  
                                                                //   6865  %routine GET INSTRUCTION
#line 6865 "regression-compile-tmp/imp22g-77.imp"
void GETINSTRUCTION( void )
#line 6865 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6866  %integer item1
#line 6866 "regression-compile-tmp/imp22g-77.imp"
int ITEM1;
                                                                //   6867  %record(identinfo)%name tp
#line 6867 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*TP;
                                                                //   6868    this is inst
#line 6868 "regression-compile-tmp/imp22g-77.imp"
THISISINST();
                                                                //   6869    %cycle
#line 6869 "regression-compile-tmp/imp22g-77.imp"
L_0704:;
                                                                //   6870      %if a(ident)=TRUE %start
#line 6870 "regression-compile-tmp/imp22g-77.imp"
if (((A(53)) != (1))) goto L_0707;
                                                                //   6871        name error %if item <= 0
#line 6871 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) > (0))) goto L_0708;
#line 6871 "regression-compile-tmp/imp22g-77.imp"
NAMEERROR();
#line 6871 "regression-compile-tmp/imp22g-77.imp"
L_0708:;
                                                                //   6872        %if ditem_flags&(writable!typeid) # 0 %start
#line 6872 "regression-compile-tmp/imp22g-77.imp"
if (((((DITEM->FLAGS) & (((1) | (512))))) == (0))) goto L_0709;
                                                                //   6873          matched = 0
#line 6873 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 0;
                                                                //   6874          get EXPRESSION(simple,0)
#line 6874 "regression-compile-tmp/imp22g-77.imp"
GETEXPRESSION(100, 0);
                                                                //   6875          item1 = item
#line 6875 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = ITEM;
                                                                //   6876          %if a(equals)=TRUE %start
#line 6876 "regression-compile-tmp/imp22g-77.imp"
if (((A(77)) != (1))) goto L_070a;
                                                                //   6877            jammy = 0
#line 6877 "regression-compile-tmp/imp22g-77.imp"
JAMMY = 0;
                                                                //   6878            get VALUE(type)
#line 6878 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(TYPE);
                                                                //   6879            putact2(okass+jammy,item1);  !okass,assign
#line 6879 "regression-compile-tmp/imp22g-77.imp"
PUTACT2((((int)(33)) + (JAMMY)), ITEM1);
                                                                //   6880          %finish %else %if a(eqeq)=TRUE %start
#line 6880 "regression-compile-tmp/imp22g-77.imp"
goto L_070b;
#line 6880 "regression-compile-tmp/imp22g-77.imp"
L_070a:;
#line 6880 "regression-compile-tmp/imp22g-77.imp"
if (((A(75)) != (1))) goto L_070c;
                                                                //   6881            syntax error %if ditem_flags >= 0
#line 6881 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->FLAGS) < (0))) goto L_070d;
#line 6881 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 6881 "regression-compile-tmp/imp22g-77.imp"
L_070d:;
                                                                //   6882            get REFERENCE(type)
#line 6882 "regression-compile-tmp/imp22g-77.imp"
GETREFERENCE(TYPE);
                                                                //   6883            putact2(assign,item1+ad)
#line 6883 "regression-compile-tmp/imp22g-77.imp"
PUTACT2(34, (((int)(ITEM1)) + (16384)));
                                                                //   6884          %finish %else %if atom = less %and byteintegeR(fp) = '-' %start
#line 6884 "regression-compile-tmp/imp22g-77.imp"
goto L_070b;
#line 6884 "regression-compile-tmp/imp22g-77.imp"
L_070c:;
#line 6884 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (80))) goto L_070e;
#line 6884 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (45))) goto L_070e;
                                                                //   6885            fp = fp+1;  matched = 1
#line 6885 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
#line 6885 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   6886            jammy = 1
#line 6886 "regression-compile-tmp/imp22g-77.imp"
JAMMY = 1;
                                                                //   6887            get VALUE(type)
#line 6887 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(TYPE);
                                                                //   6888            putact2(jamass+jammy,item1);  !jamass,okass
#line 6888 "regression-compile-tmp/imp22g-77.imp"
PUTACT2((((int)(32)) + (JAMMY)), ITEM1);
                                                                //   6889          %else
#line 6889 "regression-compile-tmp/imp22g-77.imp"
goto L_070b;
#line 6889 "regression-compile-tmp/imp22g-77.imp"
L_070e:;
                                                                //   6890            syntax error %unless a(arrow)=TRUE
#line 6890 "regression-compile-tmp/imp22g-77.imp"
if (((A(74)) == (1))) goto L_070f;
#line 6890 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 6890 "regression-compile-tmp/imp22g-77.imp"
L_070f:;
                                                                //   6891            get RESOLUTION(type,item1)
#line 6891 "regression-compile-tmp/imp22g-77.imp"
GETRESOLUTION(TYPE, ITEM1);
                                                                //   6892            putact(bne,0,curlab)
#line 6892 "regression-compile-tmp/imp22g-77.imp"
PUTACT(22, 0, CURLAB);
                                                                //   6893            putact(signal,litref(7),undef)
#line 6893 "regression-compile-tmp/imp22g-77.imp"
PUTACT(73, LITREF(7), 16);
                                                                //   6894            putact(0,undef,undef)
#line 6894 "regression-compile-tmp/imp22g-77.imp"
PUTACT(0, 16, 16);
                                                                //   6895          %finish
#line 6895 "regression-compile-tmp/imp22g-77.imp"
L_070b:;
                                                                //   6896        %else
#line 6896 "regression-compile-tmp/imp22g-77.imp"
goto L_0710;
#line 6896 "regression-compile-tmp/imp22g-77.imp"
L_0709:;
                                                                //   6897          error(classerr+point) %if ditem_flags&proc = 0
#line 6897 "regression-compile-tmp/imp22g-77.imp"
if (((((DITEM->FLAGS) & (12288))) != (0))) goto L_0711;
#line 6897 "regression-compile-tmp/imp22g-77.imp"
ERROR(74);
#line 6897 "regression-compile-tmp/imp22g-77.imp"
L_0711:;
                                                                //   6898          tp == typecell(ditem_type)
#line 6898 "regression-compile-tmp/imp22g-77.imp"
TP = TYPECELL(DITEM->TYPE);
                                                                //   6899          %if tp_type # 0 %start;  !function as routine
#line 6899 "regression-compile-tmp/imp22g-77.imp"
if (((TP->TYPE) == (0))) goto L_0712;
                                                                //   6900            get PARLIST(tp_type)
#line 6900 "regression-compile-tmp/imp22g-77.imp"
GETPARLIST(TP->TYPE);
                                                                //   6901            putact2(assign,value)
#line 6901 "regression-compile-tmp/imp22g-77.imp"
PUTACT2(34, VALUE);
                                                                //   6902          %else
#line 6902 "regression-compile-tmp/imp22g-77.imp"
goto L_0713;
#line 6902 "regression-compile-tmp/imp22g-77.imp"
L_0712:;
                                                                //   6903            get PARLIST(0)
#line 6903 "regression-compile-tmp/imp22g-77.imp"
GETPARLIST(0);
                                                                //   6904          %finish
#line 6904 "regression-compile-tmp/imp22g-77.imp"
L_0713:;
                                                                //   6905        %finish
#line 6905 "regression-compile-tmp/imp22g-77.imp"
L_0710:;
                                                                //   6906      %else
#line 6906 "regression-compile-tmp/imp22g-77.imp"
goto L_0714;
#line 6906 "regression-compile-tmp/imp22g-77.imp"
L_0707:;
                                                                //   6907        c_access = 0 %if np = np0;  !unconditional
#line 6907 "regression-compile-tmp/imp22g-77.imp"
if (((NP) != (NP0))) goto L_0715;
#line 6907 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = 0;
#line 6907 "regression-compile-tmp/imp22g-77.imp"
L_0715:;
                                                                //   6908        %if a(keymonitor)=TRUE %start
#line 6908 "regression-compile-tmp/imp22g-77.imp"
if (((A(13)) != (1))) goto L_0716;
                                                                //   6909          c_access = 1
#line 6909 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = 1;
                                                                //   6910  !        fault(monitor<<8)
                                                                //   6911       %finish %else %if a(exit)=TRUE %start;  !%exit, %continue
#line 6911 "regression-compile-tmp/imp22g-77.imp"
goto L_0717;
#line 6911 "regression-compile-tmp/imp22g-77.imp"
L_0716:;
#line 6911 "regression-compile-tmp/imp22g-77.imp"
if (((A(6)) != (1))) goto L_0718;
                                                                //   6912          %if c_looplab = 0 %then fault(notinloop+point) %c
#line 6912 "regression-compile-tmp/imp22g-77.imp"
if (((C.LOOPLAB) != (0))) goto L_0719;
#line 6912 "regression-compile-tmp/imp22g-77.imp"
FAULT(81);
#line 6912 "regression-compile-tmp/imp22g-77.imp"
goto L_071a;
#line 6912 "regression-compile-tmp/imp22g-77.imp"
L_0719:;
#line 6912 "regression-compile-tmp/imp22g-77.imp"
PUTACT(41, C.LOOPLAB, (((int)(C.LOOPLAB)) + (SUBATOM)));
#line 6912 "regression-compile-tmp/imp22g-77.imp"
L_071a:;
                                                                //   6913          %else putact(jumpout,c_looplab,c_looplab+subatom)
                                                                //   6914          %exit
#line 6914 "regression-compile-tmp/imp22g-77.imp"
goto L_0705;
                                                                //   6915       %finish %else %if a(keyreturn)=TRUE %start
#line 6915 "regression-compile-tmp/imp22g-77.imp"
L_0718:;
#line 6915 "regression-compile-tmp/imp22g-77.imp"
if (((A(7)) != (1))) goto L_071b;
                                                                //   6916          item = 0;  value = 0
#line 6916 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
#line 6916 "regression-compile-tmp/imp22g-77.imp"
VALUE = 0;
                                                                //   6917          get RESULT %if c_type # 0
#line 6917 "regression-compile-tmp/imp22g-77.imp"
if (((C.TYPE) == (0))) goto L_071c;
#line 6917 "regression-compile-tmp/imp22g-77.imp"
GETRESULT();
#line 6917 "regression-compile-tmp/imp22g-77.imp"
L_071c:;
                                                                //   6918          putact2(return,0)
#line 6918 "regression-compile-tmp/imp22g-77.imp"
PUTACT2(38, 0);
                                                                //   6919          %exit
#line 6919 "regression-compile-tmp/imp22g-77.imp"
goto L_0705;
                                                                //   6920       %finish %else %if a(keyresult)=TRUE %start
#line 6920 "regression-compile-tmp/imp22g-77.imp"
L_071b:;
#line 6920 "regression-compile-tmp/imp22g-77.imp"
if (((A(9)) != (1))) goto L_071d;
                                                                //   6921          error(notinfun+point) %if c_type = 0
#line 6921 "regression-compile-tmp/imp22g-77.imp"
if (((C.TYPE) != (0))) goto L_071e;
#line 6921 "regression-compile-tmp/imp22g-77.imp"
ERROR(83);
#line 6921 "regression-compile-tmp/imp22g-77.imp"
L_071e:;
                                                                //   6922          syntax error %unless a assop(c_type)=TRUE
#line 6922 "regression-compile-tmp/imp22g-77.imp"
if (((AASSOP(C.TYPE)) == (1))) goto L_071f;
#line 6922 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 6922 "regression-compile-tmp/imp22g-77.imp"
L_071f:;
                                                                //   6923          get RESULT
#line 6923 "regression-compile-tmp/imp22g-77.imp"
GETRESULT();
                                                                //   6924          putact2(return,0)
#line 6924 "regression-compile-tmp/imp22g-77.imp"
PUTACT2(38, 0);
                                                                //   6925          %exit
#line 6925 "regression-compile-tmp/imp22g-77.imp"
goto L_0705;
                                                                //   6926       %finish %else %if a(tf)=TRUE %start;  !%true, %false
#line 6926 "regression-compile-tmp/imp22g-77.imp"
L_071d:;
#line 6926 "regression-compile-tmp/imp22g-77.imp"
if (((A(8)) != (1))) goto L_0720;
                                                                //   6927          %if c_type # booltype %then fault(notinpred+point) %c
#line 6927 "regression-compile-tmp/imp22g-77.imp"
if (((C.TYPE) == (58))) goto L_0721;
#line 6927 "regression-compile-tmp/imp22g-77.imp"
FAULT(84);
#line 6927 "regression-compile-tmp/imp22g-77.imp"
goto L_0722;
#line 6927 "regression-compile-tmp/imp22g-77.imp"
L_0721:;
#line 6927 "regression-compile-tmp/imp22g-77.imp"
PUTACT(38, 0, LITREF(SUBATOM));
#line 6927 "regression-compile-tmp/imp22g-77.imp"
L_0722:;
                                                                //   6928          %else putact(return,0,litref(subatom))
                                                                //   6929          %exit
#line 6929 "regression-compile-tmp/imp22g-77.imp"
goto L_0705;
                                                                //   6930       %finish %else %if a(arrow)=TRUE %or a(keygoto)=TRUE %start
#line 6930 "regression-compile-tmp/imp22g-77.imp"
L_0720:;
#line 6930 "regression-compile-tmp/imp22g-77.imp"
if (((A(74)) == (1))) goto L_06a9;
#line 6930 "regression-compile-tmp/imp22g-77.imp"
if (((A(11)) != (1))) goto L_0723;
#line 6930 "regression-compile-tmp/imp22g-77.imp"
L_06a9:;
                                                                //   6931          nonstandard(5) %if atom = keygoto
#line 6931 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (11))) goto L_0724;
#line 6931 "regression-compile-tmp/imp22g-77.imp"
NONSTANDARD(5);
#line 6931 "regression-compile-tmp/imp22g-77.imp"
L_0724:;
                                                                //   6932          get(ident)
#line 6932 "regression-compile-tmp/imp22g-77.imp"
GET(53);
                                                                //   6933          %if byteinteger(fp) # '(' %start
#line 6933 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) == (40))) goto L_0725;
                                                                //   6934            declare(forwardlabel) %if item < c_localdpos {new} %c
#line 6934 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) < (C.LOCALDPOS))) goto L_0726;
#line 6934 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->TYPE) == (0))) goto L_0727;
#line 6934 "regression-compile-tmp/imp22g-77.imp"
L_0726:;
#line 6934 "regression-compile-tmp/imp22g-77.imp"
DECLARE(&FORWARDLABEL);
#line 6934 "regression-compile-tmp/imp22g-77.imp"
L_0727:;
                                                                //   6935                                  %or ditem_type # 0 {error}
                                                                //   6936            putact2(goto,0)
#line 6936 "regression-compile-tmp/imp22g-77.imp"
PUTACT2(16, 0);
                                                                //   6937          %else
#line 6937 "regression-compile-tmp/imp22g-77.imp"
goto L_0728;
#line 6937 "regression-compile-tmp/imp22g-77.imp"
L_0725:;
                                                                //   6938            name error %if item < c_localdpos
#line 6938 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) >= (C.LOCALDPOS))) goto L_0729;
#line 6938 "regression-compile-tmp/imp22g-77.imp"
NAMEERROR();
#line 6938 "regression-compile-tmp/imp22g-77.imp"
L_0729:;
                                                                //   6939            error(classerr+point) %unless ditem_mode = labmode %c
#line 6939 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->MODE) != (186))) goto L_072a;
#line 6939 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->TYPE) != (0))) goto L_072b;
#line 6939 "regression-compile-tmp/imp22g-77.imp"
L_072a:;
#line 6939 "regression-compile-tmp/imp22g-77.imp"
ERROR(74);
#line 6939 "regression-compile-tmp/imp22g-77.imp"
L_072b:;
                                                                //   6940                                  %and ditem_type # 0
                                                                //   6941            item1 = item
#line 6941 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = ITEM;
                                                                //   6942            get(left)
#line 6942 "regression-compile-tmp/imp22g-77.imp"
GET(55);
                                                                //   6943            get VALUE(typecell(ditem_type)_xtype);  !index
#line 6943 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(TYPECELL(DITEM->TYPE)->XTYPE);
                                                                //   6944            get(right)
#line 6944 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   6945            putact2(swgoto,item1)
#line 6945 "regression-compile-tmp/imp22g-77.imp"
PUTACT2(43, ITEM1);
                                                                //   6946          %finish
#line 6946 "regression-compile-tmp/imp22g-77.imp"
L_0728:;
                                                                //   6947          %exit
#line 6947 "regression-compile-tmp/imp22g-77.imp"
goto L_0705;
                                                                //   6948       %finish %else %if a(keystop)=TRUE %start
#line 6948 "regression-compile-tmp/imp22g-77.imp"
L_0723:;
#line 6948 "regression-compile-tmp/imp22g-77.imp"
if (((A(10)) != (1))) goto L_072c;
                                                                //   6949          putact(stop,0,0)
#line 6949 "regression-compile-tmp/imp22g-77.imp"
PUTACT(37, 0, 0);
                                                                //   6950          %exit
#line 6950 "regression-compile-tmp/imp22g-77.imp"
goto L_0705;
                                                                //   6951       %finish %else %if a(keysignal)=TRUE %start
#line 6951 "regression-compile-tmp/imp22g-77.imp"
L_072c:;
#line 6951 "regression-compile-tmp/imp22g-77.imp"
if (((A(12)) != (1))) goto L_072d;
                                                                //   6952          c_access = 1
#line 6952 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = 1;
                                                                //   6953          allow(keyevent)
#line 6953 "regression-compile-tmp/imp22g-77.imp"
ALLOW(46);
                                                                //   6954          get LITERAL(inttype)
#line 6954 "regression-compile-tmp/imp22g-77.imp"
GETLITERAL(43);
                                                                //   6955          expfault(rangerr) %unless 0 <= value <= 15
#line 6955 "regression-compile-tmp/imp22g-77.imp"
if ((((0) > (VALUE))) || (((VALUE) <= (15)))) goto L_072f;
#line 6955 "regression-compile-tmp/imp22g-77.imp"
L_072e:;
#line 6955 "regression-compile-tmp/imp22g-77.imp"
EXPFAULT(24);
#line 6955 "regression-compile-tmp/imp22g-77.imp"
L_072f:;
                                                                //   6956          item1 = litref(value);  item = undef
#line 6956 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = LITREF(VALUE);
#line 6956 "regression-compile-tmp/imp22g-77.imp"
ITEM = 16;
                                                                //   6957          %if a(comma)=TRUE %start
#line 6957 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) != (1))) goto L_0730;
                                                                //   6958  l1:       %if a(comma)=TRUE %then matched = 0 %else get VALUE(bytetype)
#line 6958 "regression-compile-tmp/imp22g-77.imp"
U_101c:;
#line 6958 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) != (1))) goto L_0731;
#line 6958 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 0;
#line 6958 "regression-compile-tmp/imp22g-77.imp"
goto L_0732;
#line 6958 "regression-compile-tmp/imp22g-77.imp"
L_0731:;
#line 6958 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(52);
#line 6958 "regression-compile-tmp/imp22g-77.imp"
L_0732:;
                                                                //   6959          %finish
#line 6959 "regression-compile-tmp/imp22g-77.imp"
L_0730:;
                                                                //   6960          putact2(signal,item1)
#line 6960 "regression-compile-tmp/imp22g-77.imp"
PUTACT2(73, ITEM1);
                                                                //   6961          item = undef
#line 6961 "regression-compile-tmp/imp22g-77.imp"
ITEM = 16;
                                                                //   6962          %if a(comma)=TRUE %start
#line 6962 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) != (1))) goto L_0733;
                                                                //   6963  l2:       %if a(comma)=TRUE %then matched = 0 %else get VALUE(inttype)
#line 6963 "regression-compile-tmp/imp22g-77.imp"
U_101d:;
#line 6963 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) != (1))) goto L_0734;
#line 6963 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 0;
#line 6963 "regression-compile-tmp/imp22g-77.imp"
goto L_0735;
#line 6963 "regression-compile-tmp/imp22g-77.imp"
L_0734:;
#line 6963 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(43);
#line 6963 "regression-compile-tmp/imp22g-77.imp"
L_0735:;
                                                                //   6964          %finish
#line 6964 "regression-compile-tmp/imp22g-77.imp"
L_0733:;
                                                                //   6965          item1 = normitem;  item = undef
#line 6965 "regression-compile-tmp/imp22g-77.imp"
ITEM1 = NORMITEM();
#line 6965 "regression-compile-tmp/imp22g-77.imp"
ITEM = 16;
                                                                //   6966          get VALUE(stringtype) %if a(comma)=TRUE
#line 6966 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) != (1))) goto L_0736;
#line 6966 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(64);
#line 6966 "regression-compile-tmp/imp22g-77.imp"
L_0736:;
                                                                //   6967          putact2(0,item1)
#line 6967 "regression-compile-tmp/imp22g-77.imp"
PUTACT2(0, ITEM1);
                                                                //   6968          %exit
#line 6968 "regression-compile-tmp/imp22g-77.imp"
goto L_0705;
                                                                //   6969        %else
#line 6969 "regression-compile-tmp/imp22g-77.imp"
L_072d:;
                                                                //   6970          syntax error
#line 6970 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
                                                                //   6971        %finish
#line 6971 "regression-compile-tmp/imp22g-77.imp"
L_0717:;
                                                                //   6972      %finish
#line 6972 "regression-compile-tmp/imp22g-77.imp"
L_0714:;
                                                                //   6973    %repeat %until %not a(keyand)=TRUE
#line 6973 "regression-compile-tmp/imp22g-77.imp"
if (((A(72)) != (1))) goto L_0705;
#line 6973 "regression-compile-tmp/imp22g-77.imp"
goto L_0704;
#line 6973 "regression-compile-tmp/imp22g-77.imp"
L_0705:;
                                                                //   6974  %end;  !GET INSTRUCTION
#line 6974 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETINSTRUCTION at level 3
                                                                //   6975  
                                                                //   6976  %routine GET FOR CLAUSE
#line 6976 "regression-compile-tmp/imp22g-77.imp"
void GETFORCLAUSE( void )
#line 6976 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   6977  !Global: FORINF,ENDVAL
                                                                //   6978  %integer loopvar,lvtype,k,s,start,sval,i,inc,ival,e,n
#line 6978 "regression-compile-tmp/imp22g-77.imp"
int LOOPVAR;
#line 6978 "regression-compile-tmp/imp22g-77.imp"
int LVTYPE;
#line 6978 "regression-compile-tmp/imp22g-77.imp"
int K;
#line 6978 "regression-compile-tmp/imp22g-77.imp"
int S;
#line 6978 "regression-compile-tmp/imp22g-77.imp"
int START;
#line 6978 "regression-compile-tmp/imp22g-77.imp"
int SVAL;
#line 6978 "regression-compile-tmp/imp22g-77.imp"
int I;
#line 6978 "regression-compile-tmp/imp22g-77.imp"
int INC;
#line 6978 "regression-compile-tmp/imp22g-77.imp"
int IVAL;
#line 6978 "regression-compile-tmp/imp22g-77.imp"
int E;
#line 6978 "regression-compile-tmp/imp22g-77.imp"
int N;
                                                                //   6979  %integer end
#line 6979 "regression-compile-tmp/imp22g-77.imp"
int END;
                                                                //   6980  %record(identinfo)%name tp
#line 6980 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*TP;
                                                                //   6981    forinf = 0
#line 6981 "regression-compile-tmp/imp22g-77.imp"
FORINF = 0;
                                                                //   6982    get(ident)
#line 6982 "regression-compile-tmp/imp22g-77.imp"
GET(53);
                                                                //   6983    name error %if item <= 0
#line 6983 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) > (0))) goto L_0737;
#line 6983 "regression-compile-tmp/imp22g-77.imp"
NAMEERROR();
#line 6983 "regression-compile-tmp/imp22g-77.imp"
L_0737:;
                                                                //   6984    lvtype = ditem_type;  tp == typecell(lvtype)
#line 6984 "regression-compile-tmp/imp22g-77.imp"
LVTYPE = DITEM->TYPE;
#line 6984 "regression-compile-tmp/imp22g-77.imp"
TP = TYPECELL(LVTYPE);
                                                                //   6985    fault(typerr+point) %if tp_flags&nonord # 0
#line 6985 "regression-compile-tmp/imp22g-77.imp"
if (((((TP->FLAGS) & (12))) == (0))) goto L_0738;
#line 6985 "regression-compile-tmp/imp22g-77.imp"
FAULT(76);
#line 6985 "regression-compile-tmp/imp22g-77.imp"
L_0738:;
                                                                //   6986    loopvar = item
#line 6986 "regression-compile-tmp/imp22g-77.imp"
LOOPVAR = ITEM;
                                                                //   6987    get(equals)
#line 6987 "regression-compile-tmp/imp22g-77.imp"
GET(77);
                                                                //   6988    get VALUE(lvtype)
#line 6988 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(LVTYPE);
                                                                //   6989    start = item;  sval = value
#line 6989 "regression-compile-tmp/imp22g-77.imp"
START = ITEM;
#line 6989 "regression-compile-tmp/imp22g-77.imp"
SVAL = VALUE;
                                                                //   6990    get(comma)
#line 6990 "regression-compile-tmp/imp22g-77.imp"
GET(60);
                                                                //   6991    get VALUE(lvtype)
#line 6991 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(LVTYPE);
                                                                //   6992    inc = item;  ival = value
#line 6992 "regression-compile-tmp/imp22g-77.imp"
INC = ITEM;
#line 6992 "regression-compile-tmp/imp22g-77.imp"
IVAL = VALUE;
                                                                //   6993    expfault(rangerr) %and ival = 1 %if inc = 0 = ival
#line 6993 "regression-compile-tmp/imp22g-77.imp"
if ((((INC) != (0))) || (((0) != (IVAL)))) goto L_0739;
#line 6993 "regression-compile-tmp/imp22g-77.imp"
EXPFAULT(24);
#line 6993 "regression-compile-tmp/imp22g-77.imp"
IVAL = 1;
#line 6993 "regression-compile-tmp/imp22g-77.imp"
L_0739:;
                                                                //   6994  !Deal with INC and replace START by START-INC
                                                                //   6995    k = undef
#line 6995 "regression-compile-tmp/imp22g-77.imp"
K = 16;
                                                                //   6996    k = dict(start)_y %if start >= np0 %and dict(start)_act = add
#line 6996 "regression-compile-tmp/imp22g-77.imp"
if (((START) < (NP0))) goto L_073a;
#line 6996 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[START].ACT) != (2))) goto L_073a;
#line 6996 "regression-compile-tmp/imp22g-77.imp"
K = DICT[START].Y;
#line 6996 "regression-compile-tmp/imp22g-77.imp"
L_073a:;
                                                                //   6997    %if inc = 0 %start;  !literal increment
#line 6997 "regression-compile-tmp/imp22g-77.imp"
if (((INC) != (0))) goto L_073b;
                                                                //   6998      i = litref(ival)
#line 6998 "regression-compile-tmp/imp22g-77.imp"
I = LITREF(IVAL);
                                                                //   6999      %if start = 0 %start;  !START and INC both literal
#line 6999 "regression-compile-tmp/imp22g-77.imp"
if (((START) != (0))) goto L_073c;
                                                                //   7000        sval = sval-ival;  item = litref(sval)
#line 7000 "regression-compile-tmp/imp22g-77.imp"
SVAL = (((int)(SVAL)) - (IVAL));
#line 7000 "regression-compile-tmp/imp22g-77.imp"
ITEM = LITREF(SVAL);
                                                                //   7001      %finish %else %if k <= 0 %start;  !START is x+lit
#line 7001 "regression-compile-tmp/imp22g-77.imp"
goto L_073d;
#line 7001 "regression-compile-tmp/imp22g-77.imp"
L_073c:;
#line 7001 "regression-compile-tmp/imp22g-77.imp"
if (((K) > (0))) goto L_073e;
                                                                //   7002        k = litval(k)-ival
#line 7002 "regression-compile-tmp/imp22g-77.imp"
K = (((int)(LITVAL(K))) - (IVAL));
                                                                //   7003        item = dict(start)_x
#line 7003 "regression-compile-tmp/imp22g-77.imp"
ITEM = DICT[START].X;
                                                                //   7004        putexp(add,item,litref(k),inttype) %if k # 0
#line 7004 "regression-compile-tmp/imp22g-77.imp"
if (((K) == (0))) goto L_073f;
#line 7004 "regression-compile-tmp/imp22g-77.imp"
PUTEXP(2, ITEM, LITREF(K), 43);
#line 7004 "regression-compile-tmp/imp22g-77.imp"
L_073f:;
                                                                //   7005      %else
#line 7005 "regression-compile-tmp/imp22g-77.imp"
goto L_073d;
#line 7005 "regression-compile-tmp/imp22g-77.imp"
L_073e:;
                                                                //   7006        putexp(add,start,litref(-ival),inttype)
#line 7006 "regression-compile-tmp/imp22g-77.imp"
PUTEXP(2, START, LITREF((-(IVAL))), 43);
                                                                //   7007      %finish
#line 7007 "regression-compile-tmp/imp22g-77.imp"
L_073d:;
                                                                //   7008    %else;  !variable
#line 7008 "regression-compile-tmp/imp22g-77.imp"
goto L_0740;
#line 7008 "regression-compile-tmp/imp22g-77.imp"
L_073b:;
                                                                //   7009      i = inc
#line 7009 "regression-compile-tmp/imp22g-77.imp"
I = INC;
                                                                //   7010      %if control&volbit # 0 %start
#line 7010 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (65536))) == (0))) goto L_0741;
                                                                //   7011        declare temp(inttype);  i = item
#line 7011 "regression-compile-tmp/imp22g-77.imp"
DECLARETEMP(43);
#line 7011 "regression-compile-tmp/imp22g-77.imp"
I = ITEM;
                                                                //   7012        putact(assign,i,inc);  forinf = forinf-4
#line 7012 "regression-compile-tmp/imp22g-77.imp"
PUTACT(34, I, INC);
#line 7012 "regression-compile-tmp/imp22g-77.imp"
FORINF = (((int)(FORINF)) - (4));
                                                                //   7013      %finish
#line 7013 "regression-compile-tmp/imp22g-77.imp"
L_0741:;
                                                                //   7014      %if start = inc %start;  !identical
#line 7014 "regression-compile-tmp/imp22g-77.imp"
if (((START) != (INC))) goto L_0742;
                                                                //   7015        item = 0;  sval = 0
#line 7015 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
#line 7015 "regression-compile-tmp/imp22g-77.imp"
SVAL = 0;
                                                                //   7016      %finish %else %if k = inc %start;  !START is x+INC
#line 7016 "regression-compile-tmp/imp22g-77.imp"
goto L_0743;
#line 7016 "regression-compile-tmp/imp22g-77.imp"
L_0742:;
#line 7016 "regression-compile-tmp/imp22g-77.imp"
if (((K) != (INC))) goto L_0744;
                                                                //   7017        item = dict(start)_x
#line 7017 "regression-compile-tmp/imp22g-77.imp"
ITEM = DICT[START].X;
                                                                //   7018      %else
#line 7018 "regression-compile-tmp/imp22g-77.imp"
goto L_0743;
#line 7018 "regression-compile-tmp/imp22g-77.imp"
L_0744:;
                                                                //   7019        item = start;  item = litref(sval) %if item = 0
#line 7019 "regression-compile-tmp/imp22g-77.imp"
ITEM = START;
#line 7019 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (0))) goto L_0745;
#line 7019 "regression-compile-tmp/imp22g-77.imp"
ITEM = LITREF(SVAL);
#line 7019 "regression-compile-tmp/imp22g-77.imp"
L_0745:;
                                                                //   7020        putexp(sub,item,i,inttype)
#line 7020 "regression-compile-tmp/imp22g-77.imp"
PUTEXP(3, ITEM, I, 43);
                                                                //   7021      %finish
#line 7021 "regression-compile-tmp/imp22g-77.imp"
L_0743:;
                                                                //   7022    %finish
#line 7022 "regression-compile-tmp/imp22g-77.imp"
L_0740:;
                                                                //   7023    s = item
#line 7023 "regression-compile-tmp/imp22g-77.imp"
S = ITEM;
                                                                //   7024  !Get end-value
                                                                //   7025    get(comma)
#line 7025 "regression-compile-tmp/imp22g-77.imp"
GET(60);
                                                                //   7026    get VALUE(lvtype)
#line 7026 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(LVTYPE);
                                                                //   7027    end = item
#line 7027 "regression-compile-tmp/imp22g-77.imp"
END = ITEM;
                                                                //   7028    %if end = 0 %start;  !literal end-value
#line 7028 "regression-compile-tmp/imp22g-77.imp"
if (((END) != (0))) goto L_0746;
                                                                //   7029      e = litref(value);  endval = value
#line 7029 "regression-compile-tmp/imp22g-77.imp"
E = LITREF(VALUE);
#line 7029 "regression-compile-tmp/imp22g-77.imp"
ENDVAL = VALUE;
                                                                //   7030    %else
#line 7030 "regression-compile-tmp/imp22g-77.imp"
goto L_0747;
#line 7030 "regression-compile-tmp/imp22g-77.imp"
L_0746:;
                                                                //   7031      e = item
#line 7031 "regression-compile-tmp/imp22g-77.imp"
E = ITEM;
                                                                //   7032      %if control&volbit # 0 %start
#line 7032 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (65536))) == (0))) goto L_0748;
                                                                //   7033        declare temp(inttype);  e = item
#line 7033 "regression-compile-tmp/imp22g-77.imp"
DECLARETEMP(43);
#line 7033 "regression-compile-tmp/imp22g-77.imp"
E = ITEM;
                                                                //   7034        putact(assign,e,end);  forinf = forinf-4
#line 7034 "regression-compile-tmp/imp22g-77.imp"
PUTACT(34, E, END);
#line 7034 "regression-compile-tmp/imp22g-77.imp"
FORINF = (((int)(FORINF)) - (4));
                                                                //   7035      %finish
#line 7035 "regression-compile-tmp/imp22g-77.imp"
L_0748:;
                                                                //   7036    %finish
#line 7036 "regression-compile-tmp/imp22g-77.imp"
L_0747:;
                                                                //   7037    %if start!inc!end # 0 %and control&loopbit # 0 %start
#line 7037 "regression-compile-tmp/imp22g-77.imp"
if (((((((START) | (INC))) | (END))) == (0))) goto L_0749;
#line 7037 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (1073741824))) == (0))) goto L_0749;
                                                                //   7038      putact(forass,loopvar,s)
#line 7038 "regression-compile-tmp/imp22g-77.imp"
PUTACT(36, LOOPVAR, S);
                                                                //   7039      putact(forass,i,e)
#line 7039 "regression-compile-tmp/imp22g-77.imp"
PUTACT(36, I, E);
                                                                //   7040    %else
#line 7040 "regression-compile-tmp/imp22g-77.imp"
goto L_074a;
#line 7040 "regression-compile-tmp/imp22g-77.imp"
L_0749:;
                                                                //   7041      putact(assign,loopvar,s)
#line 7041 "regression-compile-tmp/imp22g-77.imp"
PUTACT(34, LOOPVAR, S);
                                                                //   7042    %finish
#line 7042 "regression-compile-tmp/imp22g-77.imp"
L_074a:;
                                                                //   7043    putact(label,curlab,0)
#line 7043 "regression-compile-tmp/imp22g-77.imp"
PUTACT(44, CURLAB, 0);
                                                                //   7044    %if start!inc!end = 0 %start;  !all literal
#line 7044 "regression-compile-tmp/imp22g-77.imp"
if (((((((START) | (INC))) | (END))) != (0))) goto L_074b;
                                                                //   7045      k = endval-sval;  n = k//ival
#line 7045 "regression-compile-tmp/imp22g-77.imp"
K = (((int)(ENDVAL)) - (SVAL));
#line 7045 "regression-compile-tmp/imp22g-77.imp"
N = (long)((long)((int)(K)) / (long)((int)(_Z(IVAL))));
                                                                //   7046      %if n = 0 %start
#line 7046 "regression-compile-tmp/imp22g-77.imp"
if (((N) != (0))) goto L_074c;
                                                                //   7047        fault(dubious+warn)
#line 7047 "regression-compile-tmp/imp22g-77.imp"
FAULT((-91));
                                                                //   7048        putact(else,0,curlab+1);  !ie unconditional branch
#line 7048 "regression-compile-tmp/imp22g-77.imp"
PUTACT(40, 0, (((int)(CURLAB)) + (1)));
                                                                //   7049        %return
#line 7049 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   7050      %finish
#line 7050 "regression-compile-tmp/imp22g-77.imp"
L_074c:;
                                                                //   7051      fault(boundserr) %if n < 0
#line 7051 "regression-compile-tmp/imp22g-77.imp"
if (((N) >= (0))) goto L_074d;
#line 7051 "regression-compile-tmp/imp22g-77.imp"
FAULT(13);
#line 7051 "regression-compile-tmp/imp22g-77.imp"
L_074d:;
                                                                //   7052      fault(unending) %if n*ival # k
#line 7052 "regression-compile-tmp/imp22g-77.imp"
if ((((((int)(N)) * (IVAL))) == (K))) goto L_074e;
#line 7052 "regression-compile-tmp/imp22g-77.imp"
FAULT(14);
#line 7052 "regression-compile-tmp/imp22g-77.imp"
L_074e:;
                                                                //   7053      forinf = loopvar
#line 7053 "regression-compile-tmp/imp22g-77.imp"
FORINF = LOOPVAR;
                                                                //   7054    %else
#line 7054 "regression-compile-tmp/imp22g-77.imp"
goto L_074f;
#line 7054 "regression-compile-tmp/imp22g-77.imp"
L_074b:;
                                                                //   7055      putact(compare,loopvar,e)
#line 7055 "regression-compile-tmp/imp22g-77.imp"
PUTACT(4, LOOPVAR, E);
                                                                //   7056      putact(beq,0,curlab+1)
#line 7056 "regression-compile-tmp/imp22g-77.imp"
PUTACT(23, 0, (((int)(CURLAB)) + (1)));
                                                                //   7057    %finish
#line 7057 "regression-compile-tmp/imp22g-77.imp"
L_074f:;
                                                                //   7058    putact(incass,loopvar,i)
#line 7058 "regression-compile-tmp/imp22g-77.imp"
PUTACT(35, LOOPVAR, I);
                                                                //   7059  %end;  !get FORCLAUSE
#line 7059 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETFORCLAUSE at level 3
                                                                //   7060  
                                                                //   7061  %routine GET LOOP BODY
#line 7061 "regression-compile-tmp/imp22g-77.imp"
void GETLOOPBODY( void )
#line 7061 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7062  %integer hold
#line 7062 "regression-compile-tmp/imp22g-77.imp"
int HOLD;
                                                                //   7063    hold=c_looplab
#line 7063 "regression-compile-tmp/imp22g-77.imp"
HOLD = C.LOOPLAB;
                                                                //   7064    c_looplab = curlab;  curlab = curlab+2
#line 7064 "regression-compile-tmp/imp22g-77.imp"
C.LOOPLAB = CURLAB;
#line 7064 "regression-compile-tmp/imp22g-77.imp"
CURLAB = (((int)(CURLAB)) + (2));
                                                                //   7065    get STATEMENTS(keyrepeat)
#line 7065 "regression-compile-tmp/imp22g-77.imp"
GETSTATEMENTS(2);
                                                                //   7066    curlab = curlab-2;  c_looplab = hold
#line 7066 "regression-compile-tmp/imp22g-77.imp"
CURLAB = (((int)(CURLAB)) - (2));
#line 7066 "regression-compile-tmp/imp22g-77.imp"
C.LOOPLAB = HOLD;
                                                                //   7067  %end
#line 7067 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETLOOPBODY at level 3
                                                                //   7068  
                                                                //   7069  %routine GET SWITCH INDEX
#line 7069 "regression-compile-tmp/imp22g-77.imp"
void GETSWITCHINDEX( void )
#line 7069 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7070  %integer i,lo,hi
#line 7070 "regression-compile-tmp/imp22g-77.imp"
int I;
#line 7070 "regression-compile-tmp/imp22g-77.imp"
int LO;
#line 7070 "regression-compile-tmp/imp22g-77.imp"
int HI;
                                                                //   7071  %record(identinfo)%name dp,tp
#line 7071 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DP;
#line 7071 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*TP;
                                                                //   7072  %routine SET LABEL(%shortname p)
#line 7072 "regression-compile-tmp/imp22g-77.imp"
void SETLABEL( short /*name*/*P )
#line 7072 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7073    value = p
#line 7073 "regression-compile-tmp/imp22g-77.imp"
VALUE = *P;
                                                                //   7074    expfault(duperr) %if value > 0
#line 7074 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) <= (0))) goto L_0750;
#line 7074 "regression-compile-tmp/imp22g-77.imp"
EXPFAULT(21);
#line 7074 "regression-compile-tmp/imp22g-77.imp"
L_0750:;
                                                                //   7075    set user label(value)
#line 7075 "regression-compile-tmp/imp22g-77.imp"
SETUSERLABEL(&VALUE);
                                                                //   7076    p = value
#line 7076 "regression-compile-tmp/imp22g-77.imp"
*P = VALUE;
                                                                //   7077  %end
#line 7077 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETLABEL at level 4
                                                                //   7078    dp == ditem;  tp == typecell(ditem_type)
#line 7078 "regression-compile-tmp/imp22g-77.imp"
DP = DITEM;
#line 7078 "regression-compile-tmp/imp22g-77.imp"
TP = TYPECELL(DITEM->TYPE);
                                                                //   7079    get(left)
#line 7079 "regression-compile-tmp/imp22g-77.imp"
GET(55);
                                                                //   7080    %if a(star)=TRUE %start
#line 7080 "regression-compile-tmp/imp22g-77.imp"
if (((A(88)) != (1))) goto L_0751;
                                                                //   7081      set label(dp_link)
#line 7081 "regression-compile-tmp/imp22g-77.imp"
SETLABEL(&DP->LINK);
                                                                //   7082    %else
#line 7082 "regression-compile-tmp/imp22g-77.imp"
goto L_0752;
#line 7082 "regression-compile-tmp/imp22g-77.imp"
L_0751:;
                                                                //   7083      get VALUE(tp_xtype)
#line 7083 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(TP->XTYPE);
                                                                //   7084     !beware faulty declaration or index
                                                                //   7085      %if tp_xtype > inttype %and faultnum = 0 %start
#line 7085 "regression-compile-tmp/imp22g-77.imp"
if (((TP->XTYPE) <= (43))) goto L_0753;
#line 7085 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTNUM) != (0))) goto L_0753;
                                                                //   7086        get bounds(tp_xtype,lo,hi)
#line 7086 "regression-compile-tmp/imp22g-77.imp"
GETBOUNDS(TP->XTYPE, &LO, &HI);
                                                                //   7087        i = value-lo+dp_val
#line 7087 "regression-compile-tmp/imp22g-77.imp"
I = (((int)((((int)(VALUE)) - (LO)))) + (DP->VAL));
                                                                //   7088        c_forward = c_forward-1 %if i < pc;  !(had goto)
#line 7088 "regression-compile-tmp/imp22g-77.imp"
if (((I) >= (PC))) goto L_0754;
#line 7088 "regression-compile-tmp/imp22g-77.imp"
C.FORWARD = (((int)(C.FORWARD)) - (1));
#line 7088 "regression-compile-tmp/imp22g-77.imp"
L_0754:;
                                                                //   7089        set label(prog(i))
#line 7089 "regression-compile-tmp/imp22g-77.imp"
SETLABEL(&PROG[I]);
                                                                //   7090      %finish
#line 7090 "regression-compile-tmp/imp22g-77.imp"
L_0753:;
                                                                //   7091    %finish
#line 7091 "regression-compile-tmp/imp22g-77.imp"
L_0752:;
                                                                //   7092    get(right)
#line 7092 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   7093  %end
#line 7093 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETSWITCHINDEX at level 3
                                                                //   7094  
                                                                //   7095  ![unsure of efficiency implications of trapping overflow lower down]
                                                                //   7096  %on %event oflow,fail,done %start
#line 7096 "regression-compile-tmp/imp22g-77.imp"
if (!_imp_on_event(1, 11, 12)) goto L_0755;  /* TO DO: Remove %on %event handler just before L_0755: if present for this block */
                                                                //   7097    %if event_event = 0 %start;  !failure in %option,%include or ^Y
#line 7097 "regression-compile-tmp/imp22g-77.imp"
if (((_imp_EVENT().EVENT) != (0))) goto L_0756;
                                                                //   7098      %stop %if event_sub # 0
#line 7098 "regression-compile-tmp/imp22g-77.imp"
if (((_imp_EVENT().SUB) == (0))) goto L_0757;
#line 7098 "regression-compile-tmp/imp22g-77.imp"
exit(0);
#line 7098 "regression-compile-tmp/imp22g-77.imp"
L_0757:;
                                                                //   7099      %signal abandon
#line 7099 "regression-compile-tmp/imp22g-77.imp"
_imp_signal(14, 0, 0, "");
                                                                //   7100    %finish
#line 7100 "regression-compile-tmp/imp22g-77.imp"
L_0756:;
                                                                //   7101    %if event_event = done %start
#line 7101 "regression-compile-tmp/imp22g-77.imp"
if (((_imp_EVENT().EVENT) != (12))) goto L_0758;
                                                                //   7102      croak("Premature end of input") %if stopper # 0
#line 7102 "regression-compile-tmp/imp22g-77.imp"
if (((STOPPER) == (0))) goto L_0759;
#line 7102 "regression-compile-tmp/imp22g-77.imp"
CROAK(_imp_str_literal("Premature end of input"));
#line 7102 "regression-compile-tmp/imp22g-77.imp"
L_0759:;
                                                                //   7103      close block
#line 7103 "regression-compile-tmp/imp22g-77.imp"
CLOSEBLOCK();
                                                                //   7104      c_dpid_val = 0;  !zero entry-point
#line 7104 "regression-compile-tmp/imp22g-77.imp"
C.DPID->VAL = 0;
                                                                //   7105      %return
#line 7105 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   7106    %finish
#line 7106 "regression-compile-tmp/imp22g-77.imp"
L_0758:;
                                                                //   7107    fault(rangerr+now) %if event_event = oflow
#line 7107 "regression-compile-tmp/imp22g-77.imp"
if (((_imp_EVENT().EVENT) != (1))) goto L_075a;
#line 7107 "regression-compile-tmp/imp22g-77.imp"
FAULT(152);
#line 7107 "regression-compile-tmp/imp22g-77.imp"
L_075a:;
                                                                //   7108    -> ignore
#line 7108 "regression-compile-tmp/imp22g-77.imp"
goto U_101d;
                                                                //   7109  %finish
#line 7109 "regression-compile-tmp/imp22g-77.imp"
L_0755:;
                                                                //   7110  !!!!!!!!!!!!!!!!!!!  Start of new statement  !!!!!!!!!!!!!!!!!!!
                                                                //   7111  next:
#line 7111 "regression-compile-tmp/imp22g-77.imp"
U_101e:;
                                                                //   7112    statements = statements+1
#line 7112 "regression-compile-tmp/imp22g-77.imp"
STATEMENTS = (((int)(STATEMENTS)) + (1));
                                                                //   7113    compile(startnp) %if np > np0
#line 7113 "regression-compile-tmp/imp22g-77.imp"
if (((NP) <= (NP0))) goto L_075b;
#line 7113 "regression-compile-tmp/imp22g-77.imp"
COMPILE(STARTNP);
#line 7113 "regression-compile-tmp/imp22g-77.imp"
L_075b:;
                                                                //   7114    define label(curlab) %if dict(curlab)_val < 0
#line 7114 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[CURLAB].VAL) >= (0))) goto L_075c;
#line 7114 "regression-compile-tmp/imp22g-77.imp"
DEFINELABEL(CURLAB);
#line 7114 "regression-compile-tmp/imp22g-77.imp"
L_075c:;
                                                                //   7115    define label(curlab+1) %if dict(curlab+1)_val < 0
#line 7115 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(CURLAB)) + (1))].VAL) >= (0))) goto L_075d;
#line 7115 "regression-compile-tmp/imp22g-77.imp"
DEFINELABEL((((int)(CURLAB)) + (1)));
#line 7115 "regression-compile-tmp/imp22g-77.imp"
L_075d:;
                                                                //   7116  next1:
#line 7116 "regression-compile-tmp/imp22g-77.imp"
U_101f:;
                                                                //   7117    report(faultnum,0,0) %if faultnum # 0
#line 7117 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTNUM) == (0))) goto L_075e;
#line 7117 "regression-compile-tmp/imp22g-77.imp"
REPORT(FAULTNUM, 0, 0);
#line 7117 "regression-compile-tmp/imp22g-77.imp"
L_075e:;
                                                                //   7118    dlim0 = dlim
#line 7118 "regression-compile-tmp/imp22g-77.imp"
DLIM0 = DLIM;
                                                                //   7119    speccing = 0;  subbed = 0
#line 7119 "regression-compile-tmp/imp22g-77.imp"
SPECCING = 0;
#line 7119 "regression-compile-tmp/imp22g-77.imp"
SUBBED = 0;
                                                                //   7120    literal = 0;  jammy = 0;  condop = 0
#line 7120 "regression-compile-tmp/imp22g-77.imp"
LITERAL = 0;
#line 7120 "regression-compile-tmp/imp22g-77.imp"
JAMMY = 0;
#line 7120 "regression-compile-tmp/imp22g-77.imp"
CONDOP = 0;
                                                                //   7121    dict(curlab)_val = 0;  dict(curlab+1)_val = 0
#line 7121 "regression-compile-tmp/imp22g-77.imp"
DICT[CURLAB].VAL = 0;
#line 7121 "regression-compile-tmp/imp22g-77.imp"
DICT[(((int)(CURLAB)) + (1))].VAL = 0;
                                                                //   7122    np = np0;  startnp = np0
#line 7122 "regression-compile-tmp/imp22g-77.imp"
NP = NP0;
#line 7122 "regression-compile-tmp/imp22g-77.imp"
STARTNP = NP0;
                                                                //   7123    maxcalldreg = maxdreg;  maxcallareg = maxareg
#line 7123 "regression-compile-tmp/imp22g-77.imp"
MAXCALLDREG = 4;
#line 7123 "regression-compile-tmp/imp22g-77.imp"
MAXCALLAREG = 12;
                                                                //   7124    zaps = zaps+1 %and forget all %if explo < np0+50
#line 7124 "regression-compile-tmp/imp22g-77.imp"
if (((EXPLO) >= ((((int)(NP0)) + (50))))) goto L_075f;
#line 7124 "regression-compile-tmp/imp22g-77.imp"
ZAPS = (((int)(ZAPS)) + (1));
#line 7124 "regression-compile-tmp/imp22g-77.imp"
FORGETALL();
#line 7124 "regression-compile-tmp/imp22g-77.imp"
L_075f:;
                                                                //   7125    zaps = zaps+1000 %and forget all %if litpos > litmax-40
#line 7125 "regression-compile-tmp/imp22g-77.imp"
if (((LITPOS) <= ((-2088)))) goto L_0760;
#line 7125 "regression-compile-tmp/imp22g-77.imp"
ZAPS = (((int)(ZAPS)) + (1000));
#line 7125 "regression-compile-tmp/imp22g-77.imp"
FORGETALL();
#line 7125 "regression-compile-tmp/imp22g-77.imp"
L_0760:;
                                                                //   7126    value = 0
#line 7126 "regression-compile-tmp/imp22g-77.imp"
VALUE = 0;
                                                                //   7127  !
                                                                //   7128  initial(terminator):
#line 7128 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_51:;
                                                                //   7129    atom = next atom;  matched = 1
#line 7129 "regression-compile-tmp/imp22g-77.imp"
ATOM = NEXTATOM();
#line 7129 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   7130    -> initial(atom)
#line 7130 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_idx = ATOM; if ((0 <= sw6_INITIAL_idx) && (sw6_INITIAL_idx <= 99)) goto *sw6_INITIAL[sw6_INITIAL_idx]; else {
   /*_imp_signal(8, 2, sw6_INITIAL_idx);*/
   fprintf(stderr, "%%SWITCH index INITIAL(%d) not in range 0:99 at %s:%d\n",
           sw6_INITIAL_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   7131  
                                                                //   7132  initial(keycomment): initial(exclam): initial(exclam2):
#line 7132 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_45:;
#line 7132 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_85:;
#line 7132 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_86:;
                                                                //   7133    comments = comments+1
#line 7133 "regression-compile-tmp/imp22g-77.imp"
COMMENTS = (((int)(COMMENTS)) + (1));
                                                                //   7134    read line(0)
#line 7134 "regression-compile-tmp/imp22g-77.imp"
READLINE(0);
                                                                //   7135    -> next1
#line 7135 "regression-compile-tmp/imp22g-77.imp"
goto U_101f;
                                                                //   7136  term:
#line 7136 "regression-compile-tmp/imp22g-77.imp"
U_1031:;
                                                                //   7137    get(terminator)
#line 7137 "regression-compile-tmp/imp22g-77.imp"
GET(51);
                                                                //   7138    -> next
#line 7138 "regression-compile-tmp/imp22g-77.imp"
goto U_101e;
                                                                //   7139  
                                                                //   7140  ignore:
#line 7140 "regression-compile-tmp/imp22g-77.imp"
U_101d:;
                                                                //   7141    c_access = -1
#line 7141 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = (-1);
                                                                //   7142    %if atom # terminator %start
#line 7142 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) == (51))) goto L_0761;
                                                                //   7143      %cycle
#line 7143 "regression-compile-tmp/imp22g-77.imp"
L_0762:;
                                                                //   7144        subatom = atom;  atom = next atom
#line 7144 "regression-compile-tmp/imp22g-77.imp"
SUBATOM = ATOM;
#line 7144 "regression-compile-tmp/imp22g-77.imp"
ATOM = NEXTATOM();
                                                                //   7145      %repeat %until atom = terminator
#line 7145 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) == (51))) goto L_0763;
#line 7145 "regression-compile-tmp/imp22g-77.imp"
goto L_0762;
#line 7145 "regression-compile-tmp/imp22g-77.imp"
L_0763:;
                                                                //   7146      starts = starts+1 %if subatom = keystart
#line 7146 "regression-compile-tmp/imp22g-77.imp"
if (((SUBATOM) != (20))) goto L_0765;
#line 7146 "regression-compile-tmp/imp22g-77.imp"
STARTS = (((int)(STARTS)) + (1));
#line 7146 "regression-compile-tmp/imp22g-77.imp"
L_0765:;
                                                                //   7147      cycles = cycles+1 %if subatom = keycycle
#line 7147 "regression-compile-tmp/imp22g-77.imp"
if (((SUBATOM) != (21))) goto L_0766;
#line 7147 "regression-compile-tmp/imp22g-77.imp"
CYCLES = (((int)(CYCLES)) + (1));
#line 7147 "regression-compile-tmp/imp22g-77.imp"
L_0766:;
                                                                //   7148    %finish
#line 7148 "regression-compile-tmp/imp22g-77.imp"
L_0761:;
                                                                //   7149    -> next1
#line 7149 "regression-compile-tmp/imp22g-77.imp"
goto U_101f;
                                                                //   7150  
                                                                //   7151  initial(dud):
#line 7151 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_63:;
                                                                //   7152    syntax error;  !ie atom error
#line 7152 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
                                                                //   7153  
                                                                //   7154  initial(*):
#line 7154 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_default:;
                                                                //   7155    error(nonstarter+point)
#line 7155 "regression-compile-tmp/imp22g-77.imp"
ERROR(95);
                                                                //   7156  
                                                                //   7157  initial(ident):
#line 7157 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_53:;
                                                                //   7158    %if byteintegeR(fp) = ':' %start;  !simple label
#line 7158 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (58))) goto L_0767;
                                                                //   7159      fp = fp+1
#line 7159 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   7160      declare(definedlabel)
#line 7160 "regression-compile-tmp/imp22g-77.imp"
DECLARE(&DEFINEDLABEL);
                                                                //   7161      set user label(ditem_val)
#line 7161 "regression-compile-tmp/imp22g-77.imp"
SETUSERLABEL(&DITEM->VAL);
                                                                //   7162      ->next
#line 7162 "regression-compile-tmp/imp22g-77.imp"
goto U_101e;
                                                                //   7163    %finish
#line 7163 "regression-compile-tmp/imp22g-77.imp"
L_0767:;
                                                                //   7164    name error %if item <= 0
#line 7164 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) > (0))) goto L_0768;
#line 7164 "regression-compile-tmp/imp22g-77.imp"
NAMEERROR();
#line 7164 "regression-compile-tmp/imp22g-77.imp"
L_0768:;
                                                                //   7165    %if ditem_mode = labmode %and ditem_type # 0 %start
#line 7165 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->MODE) != (186))) goto L_0769;
#line 7165 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->TYPE) == (0))) goto L_0769;
                                                                //   7166      literal = 1
#line 7166 "regression-compile-tmp/imp22g-77.imp"
LITERAL = 1;
                                                                //   7167      get SWITCH INDEX
#line 7167 "regression-compile-tmp/imp22g-77.imp"
GETSWITCHINDEX();
                                                                //   7168      get(colon)
#line 7168 "regression-compile-tmp/imp22g-77.imp"
GET(59);
                                                                //   7169      ->next
#line 7169 "regression-compile-tmp/imp22g-77.imp"
goto U_101e;
                                                                //   7170    %finish
#line 7170 "regression-compile-tmp/imp22g-77.imp"
L_0769:;
                                                                //   7171  initial(keyreturn): initial(keyresult): initial(tf):
#line 7171 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_7:;
#line 7171 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_9:;
#line 7171 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_8:;
                                                                //   7172  initial(keystop): initial(keysignal): initial(keymonitor):
#line 7172 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_10:;
#line 7172 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_12:;
#line 7172 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_13:;
                                                                //   7173  initial(exit): initial(keygoto): initial(arrow):
#line 7173 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_6:;
#line 7173 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_11:;
#line 7173 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_74:;
                                                                //   7174    matched = 0
#line 7174 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 0;
                                                                //   7175    get INSTRUCTION
#line 7175 "regression-compile-tmp/imp22g-77.imp"
GETINSTRUCTION();
                                                                //   7176    -> next %if a(terminator)=TRUE
#line 7176 "regression-compile-tmp/imp22g-77.imp"
if (((A(51)) != (1))) goto L_076a;
#line 7176 "regression-compile-tmp/imp22g-77.imp"
goto U_101e;
#line 7176 "regression-compile-tmp/imp22g-77.imp"
L_076a:;
                                                                //   7177    c_access = 1
#line 7177 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = 1;
                                                                //   7178    %if a(iu)=TRUE %start
#line 7178 "regression-compile-tmp/imp22g-77.imp"
if (((A(15)) != (1))) goto L_076b;
                                                                //   7179      startnp = np
#line 7179 "regression-compile-tmp/imp22g-77.imp"
STARTNP = NP;
                                                                //   7180      get CONDITION
#line 7180 "regression-compile-tmp/imp22g-77.imp"
GETCONDITION();
                                                                //   7181    %finish %else %if a(keywhile)=TRUE %start
#line 7181 "regression-compile-tmp/imp22g-77.imp"
goto L_076c;
#line 7181 "regression-compile-tmp/imp22g-77.imp"
L_076b:;
#line 7181 "regression-compile-tmp/imp22g-77.imp"
if (((A(16)) != (1))) goto L_076d;
                                                                //   7182      putact(repeat,curlab,0);  !append repeat
#line 7182 "regression-compile-tmp/imp22g-77.imp"
PUTACT(39, CURLAB, 0);
                                                                //   7183      startnp = np
#line 7183 "regression-compile-tmp/imp22g-77.imp"
STARTNP = NP;
                                                                //   7184      define label(curlab)
#line 7184 "regression-compile-tmp/imp22g-77.imp"
DEFINELABEL(CURLAB);
                                                                //   7185      get CONDITION
#line 7185 "regression-compile-tmp/imp22g-77.imp"
GETCONDITION();
                                                                //   7186   %finish %else %if a(keyfor)=TRUE %start
#line 7186 "regression-compile-tmp/imp22g-77.imp"
goto L_076c;
#line 7186 "regression-compile-tmp/imp22g-77.imp"
L_076d:;
#line 7186 "regression-compile-tmp/imp22g-77.imp"
if (((A(18)) != (1))) goto L_076e;
                                                                //   7187      putact(0,0,0)
#line 7187 "regression-compile-tmp/imp22g-77.imp"
PUTACT(0, 0, 0);
                                                                //   7188      putact(0,0,0)
#line 7188 "regression-compile-tmp/imp22g-77.imp"
PUTACT(0, 0, 0);
                                                                //   7189      putact(repeat,curlab,0);  !append repeat
#line 7189 "regression-compile-tmp/imp22g-77.imp"
PUTACT(39, CURLAB, 0);
                                                                //   7190      startnp = np
#line 7190 "regression-compile-tmp/imp22g-77.imp"
STARTNP = NP;
                                                                //   7191      get FOR CLAUSE
#line 7191 "regression-compile-tmp/imp22g-77.imp"
GETFORCLAUSE();
                                                                //   7192      value = np;  np = startnp-3
#line 7192 "regression-compile-tmp/imp22g-77.imp"
VALUE = NP;
#line 7192 "regression-compile-tmp/imp22g-77.imp"
NP = (((int)(STARTNP)) - (3));
                                                                //   7193      %if forinf > 0 %start
#line 7193 "regression-compile-tmp/imp22g-77.imp"
if (((FORINF) <= (0))) goto L_076f;
                                                                //   7194        putact(compare,forinf,litref(endval))
#line 7194 "regression-compile-tmp/imp22g-77.imp"
PUTACT(4, FORINF, LITREF(ENDVAL));
                                                                //   7195        putact(beq,0,curlab)
#line 7195 "regression-compile-tmp/imp22g-77.imp"
PUTACT(23, 0, CURLAB);
                                                                //   7196      %finish %else np = np+2
#line 7196 "regression-compile-tmp/imp22g-77.imp"
goto L_0770;
#line 7196 "regression-compile-tmp/imp22g-77.imp"
L_076f:;
#line 7196 "regression-compile-tmp/imp22g-77.imp"
NP = (((int)(NP)) + (2));
#line 7196 "regression-compile-tmp/imp22g-77.imp"
L_0770:;
                                                                //   7197      putact(repeat,curlab,forinf)
#line 7197 "regression-compile-tmp/imp22g-77.imp"
PUTACT(39, CURLAB, FORINF);
                                                                //   7198      np = value
#line 7198 "regression-compile-tmp/imp22g-77.imp"
NP = VALUE;
                                                                //   7199    %else
#line 7199 "regression-compile-tmp/imp22g-77.imp"
goto L_076c;
#line 7199 "regression-compile-tmp/imp22g-77.imp"
L_076e:;
                                                                //   7200      syntax error %unless a(keyuntil)=TRUE
#line 7200 "regression-compile-tmp/imp22g-77.imp"
if (((A(17)) == (1))) goto L_0771;
#line 7200 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 7200 "regression-compile-tmp/imp22g-77.imp"
L_0771:;
                                                                //   7201      get CONDITION
#line 7201 "regression-compile-tmp/imp22g-77.imp"
GETCONDITION();
                                                                //   7202      putact(repeat,curlab,0)
#line 7202 "regression-compile-tmp/imp22g-77.imp"
PUTACT(39, CURLAB, 0);
                                                                //   7203      define label(curlab)
#line 7203 "regression-compile-tmp/imp22g-77.imp"
DEFINELABEL(CURLAB);
                                                                //   7204    %finish
#line 7204 "regression-compile-tmp/imp22g-77.imp"
L_076c:;
                                                                //   7205    -> term
#line 7205 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   7206  
                                                                //   7207  initial(iu):  !%if, %unless
#line 7207 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_15:;
                                                                //   7208    this is inst
#line 7208 "regression-compile-tmp/imp22g-77.imp"
THISISINST();
                                                                //   7209    %cycle
#line 7209 "regression-compile-tmp/imp22g-77.imp"
L_0772:;
                                                                //   7210      get CONDITION
#line 7210 "regression-compile-tmp/imp22g-77.imp"
GETCONDITION();
                                                                //   7211      %if a(keythen)=TRUE %and %not a(keystart)=TRUE %start
#line 7211 "regression-compile-tmp/imp22g-77.imp"
if (((A(19)) != (1))) goto L_0775;
#line 7211 "regression-compile-tmp/imp22g-77.imp"
if (((A(20)) == (1))) goto L_0775;
                                                                //   7212        get INSTRUCTION
#line 7212 "regression-compile-tmp/imp22g-77.imp"
GETINSTRUCTION();
                                                                //   7213      %else
#line 7213 "regression-compile-tmp/imp22g-77.imp"
goto L_0776;
#line 7213 "regression-compile-tmp/imp22g-77.imp"
L_0775:;
                                                                //   7214        matched = 0;   ![unsee %start]
#line 7214 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 0;
                                                                //   7215        get(keystart)
#line 7215 "regression-compile-tmp/imp22g-77.imp"
GET(20);
                                                                //   7216        %cycle
#line 7216 "regression-compile-tmp/imp22g-77.imp"
L_0777:;
                                                                //   7217          get(terminator)
#line 7217 "regression-compile-tmp/imp22g-77.imp"
GET(51);
                                                                //   7218          curlab = curlab+2
#line 7218 "regression-compile-tmp/imp22g-77.imp"
CURLAB = (((int)(CURLAB)) + (2));
                                                                //   7219          get STATEMENTS(keyelse)
#line 7219 "regression-compile-tmp/imp22g-77.imp"
GETSTATEMENTS(4);
                                                                //   7220          curlab = curlab-2
#line 7220 "regression-compile-tmp/imp22g-77.imp"
CURLAB = (((int)(CURLAB)) - (2));
                                                                //   7221          %exit %if atom # keyelse;  !%finish ->
#line 7221 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) == (4))) goto L_077a;
#line 7221 "regression-compile-tmp/imp22g-77.imp"
goto L_0778;
#line 7221 "regression-compile-tmp/imp22g-77.imp"
L_077a:;
                                                                //   7222          putact(else,curlab+1,curlab)
#line 7222 "regression-compile-tmp/imp22g-77.imp"
PUTACT(40, (((int)(CURLAB)) + (1)), CURLAB);
                                                                //   7223          -> exit2 %unless a(iu)=TRUE
#line 7223 "regression-compile-tmp/imp22g-77.imp"
if (((A(15)) == (1))) goto L_077b;
#line 7223 "regression-compile-tmp/imp22g-77.imp"
goto U_1020;
#line 7223 "regression-compile-tmp/imp22g-77.imp"
L_077b:;
                                                                //   7224          get CONDITION
#line 7224 "regression-compile-tmp/imp22g-77.imp"
GETCONDITION();
                                                                //   7225        %repeat
#line 7225 "regression-compile-tmp/imp22g-77.imp"
goto L_0777;
#line 7225 "regression-compile-tmp/imp22g-77.imp"
L_0778:;
                                                                //   7226        -> initial(keyend) %if atom = keyend
#line 7226 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (1))) goto L_077c;
#line 7226 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_idx = 1; goto *sw6_INITIAL[sw6_INITIAL_idx]; 
#line 7226 "regression-compile-tmp/imp22g-77.imp"
L_077c:;
                                                                //   7227      %finish
#line 7227 "regression-compile-tmp/imp22g-77.imp"
L_0776:;
                                                                //   7228      -> term %unless a(keyelse)=TRUE
#line 7228 "regression-compile-tmp/imp22g-77.imp"
if (((A(4)) == (1))) goto L_077d;
#line 7228 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
#line 7228 "regression-compile-tmp/imp22g-77.imp"
L_077d:;
                                                                //   7229      putact(else,curlab+1,curlab)
#line 7229 "regression-compile-tmp/imp22g-77.imp"
PUTACT(40, (((int)(CURLAB)) + (1)), CURLAB);
                                                                //   7230    %repeat %until %not a(iu)=TRUE
#line 7230 "regression-compile-tmp/imp22g-77.imp"
if (((A(15)) != (1))) goto L_0773;
#line 7230 "regression-compile-tmp/imp22g-77.imp"
goto L_0772;
#line 7230 "regression-compile-tmp/imp22g-77.imp"
L_0773:;
                                                                //   7231    %unless a(keystart)=TRUE %start
#line 7231 "regression-compile-tmp/imp22g-77.imp"
if (((A(20)) == (1))) goto L_077e;
                                                                //   7232      get INSTRUCTION
#line 7232 "regression-compile-tmp/imp22g-77.imp"
GETINSTRUCTION();
                                                                //   7233    %else
#line 7233 "regression-compile-tmp/imp22g-77.imp"
goto L_077f;
#line 7233 "regression-compile-tmp/imp22g-77.imp"
L_077e:;
                                                                //   7234  exit2:
#line 7234 "regression-compile-tmp/imp22g-77.imp"
U_1020:;
                                                                //   7235      get(terminator)
#line 7235 "regression-compile-tmp/imp22g-77.imp"
GET(51);
                                                                //   7236      curlab = curlab+2
#line 7236 "regression-compile-tmp/imp22g-77.imp"
CURLAB = (((int)(CURLAB)) + (2));
                                                                //   7237      get STATEMENTS(keyfinish)
#line 7237 "regression-compile-tmp/imp22g-77.imp"
GETSTATEMENTS(3);
                                                                //   7238      curlab = curlab-2
#line 7238 "regression-compile-tmp/imp22g-77.imp"
CURLAB = (((int)(CURLAB)) - (2));
                                                                //   7239      -> initial(keyend) %if atom = keyend
#line 7239 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (1))) goto L_0780;
#line 7239 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_idx = 1; goto *sw6_INITIAL[sw6_INITIAL_idx]; 
#line 7239 "regression-compile-tmp/imp22g-77.imp"
L_0780:;
                                                                //   7240    %finish
#line 7240 "regression-compile-tmp/imp22g-77.imp"
L_077f:;
                                                                //   7241    -> term
#line 7241 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   7242  
                                                                //   7243  initial(keycycle):
#line 7243 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_21:;
                                                                //   7244    this is inst
#line 7244 "regression-compile-tmp/imp22g-77.imp"
THISISINST();
                                                                //   7245    %if a(terminator)=TRUE %start
#line 7245 "regression-compile-tmp/imp22g-77.imp"
if (((A(51)) != (1))) goto L_0781;
                                                                //   7246      define label(curlab)
#line 7246 "regression-compile-tmp/imp22g-77.imp"
DEFINELABEL(CURLAB);
                                                                //   7247      get LOOP BODY
#line 7247 "regression-compile-tmp/imp22g-77.imp"
GETLOOPBODY();
                                                                //   7248      -> initial(keyend) %if atom = keyend
#line 7248 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (1))) goto L_0782;
#line 7248 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_idx = 1; goto *sw6_INITIAL[sw6_INITIAL_idx]; 
#line 7248 "regression-compile-tmp/imp22g-77.imp"
L_0782:;
                                                                //   7249      get CONDITION %if a(keyuntil)=TRUE
#line 7249 "regression-compile-tmp/imp22g-77.imp"
if (((A(17)) != (1))) goto L_0783;
#line 7249 "regression-compile-tmp/imp22g-77.imp"
GETCONDITION();
#line 7249 "regression-compile-tmp/imp22g-77.imp"
L_0783:;
                                                                //   7250      putact(repeat,curlab,0)
#line 7250 "regression-compile-tmp/imp22g-77.imp"
PUTACT(39, CURLAB, 0);
                                                                //   7251      -> term
#line 7251 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   7252    %finish
#line 7252 "regression-compile-tmp/imp22g-77.imp"
L_0781:;
                                                                //   7253    nonstandard(22)
#line 7253 "regression-compile-tmp/imp22g-77.imp"
NONSTANDARD(22);
                                                                //   7254    get FOR CLAUSE
#line 7254 "regression-compile-tmp/imp22g-77.imp"
GETFORCLAUSE();
                                                                //   7255    -> for1
#line 7255 "regression-compile-tmp/imp22g-77.imp"
goto U_1032;
                                                                //   7256  initial(keywhile):
#line 7256 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_16:;
                                                                //   7257    this is inst
#line 7257 "regression-compile-tmp/imp22g-77.imp"
THISISINST();
                                                                //   7258    define label(curlab)
#line 7258 "regression-compile-tmp/imp22g-77.imp"
DEFINELABEL(CURLAB);
                                                                //   7259    get CONDITION
#line 7259 "regression-compile-tmp/imp22g-77.imp"
GETCONDITION();
                                                                //   7260    get(keycycle)
#line 7260 "regression-compile-tmp/imp22g-77.imp"
GET(21);
                                                                //   7261    get(terminator)
#line 7261 "regression-compile-tmp/imp22g-77.imp"
GET(51);
                                                                //   7262    compile(np0)
#line 7262 "regression-compile-tmp/imp22g-77.imp"
COMPILE(NP0);
                                                                //   7263    get LOOP BODY
#line 7263 "regression-compile-tmp/imp22g-77.imp"
GETLOOPBODY();
                                                                //   7264    -> initial(keyend) %if atom = keyend
#line 7264 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (1))) goto L_0784;
#line 7264 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_idx = 1; goto *sw6_INITIAL[sw6_INITIAL_idx]; 
#line 7264 "regression-compile-tmp/imp22g-77.imp"
L_0784:;
                                                                //   7265    nonstandard(6) %and get CONDITION %if a(keyuntil)=TRUE
#line 7265 "regression-compile-tmp/imp22g-77.imp"
if (((A(17)) != (1))) goto L_0785;
#line 7265 "regression-compile-tmp/imp22g-77.imp"
NONSTANDARD(6);
#line 7265 "regression-compile-tmp/imp22g-77.imp"
GETCONDITION();
#line 7265 "regression-compile-tmp/imp22g-77.imp"
L_0785:;
                                                                //   7266    putact(repeat,curlab,0)
#line 7266 "regression-compile-tmp/imp22g-77.imp"
PUTACT(39, CURLAB, 0);
                                                                //   7267    ->term
#line 7267 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   7268  initial(keyfor):
#line 7268 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_18:;
                                                                //   7269    this is inst
#line 7269 "regression-compile-tmp/imp22g-77.imp"
THISISINST();
                                                                //   7270    get FOR CLAUSE
#line 7270 "regression-compile-tmp/imp22g-77.imp"
GETFORCLAUSE();
                                                                //   7271    get(keycycle)
#line 7271 "regression-compile-tmp/imp22g-77.imp"
GET(21);
                                                                //   7272  for1:
#line 7272 "regression-compile-tmp/imp22g-77.imp"
U_1032:;
                                                                //   7273    get(terminator)
#line 7273 "regression-compile-tmp/imp22g-77.imp"
GET(51);
                                                                //   7274    compile(np0)
#line 7274 "regression-compile-tmp/imp22g-77.imp"
COMPILE(NP0);
                                                                //   7275    %if forinf > 0 %start;           !Literal for loop
#line 7275 "regression-compile-tmp/imp22g-77.imp"
if (((FORINF) <= (0))) goto L_0786;
                                                                //   7276     !%continue must come to end for increment
                                                                //   7277      loopstart = dict(curlab)_val;  !save start position
#line 7277 "regression-compile-tmp/imp22g-77.imp"
LOOPSTART = DICT[CURLAB].VAL;
                                                                //   7278      dict(curlab)_val = 0
#line 7278 "regression-compile-tmp/imp22g-77.imp"
DICT[CURLAB].VAL = 0;
                                                                //   7279    %finish
#line 7279 "regression-compile-tmp/imp22g-77.imp"
L_0786:;
                                                                //   7280    get LOOP BODY
#line 7280 "regression-compile-tmp/imp22g-77.imp"
GETLOOPBODY();
                                                                //   7281    -> initial(keyend) %if atom = keyend
#line 7281 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (1))) goto L_0787;
#line 7281 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_idx = 1; goto *sw6_INITIAL[sw6_INITIAL_idx]; 
#line 7281 "regression-compile-tmp/imp22g-77.imp"
L_0787:;
                                                                //   7282    %if forinf > 0 %start;  !literal FOR loop
#line 7282 "regression-compile-tmp/imp22g-77.imp"
if (((FORINF) <= (0))) goto L_0788;
                                                                //   7283      define label(curlab)
#line 7283 "regression-compile-tmp/imp22g-77.imp"
DEFINELABEL(CURLAB);
                                                                //   7284      dict(curlab)_val = loopstart;  !restore
#line 7284 "regression-compile-tmp/imp22g-77.imp"
DICT[CURLAB].VAL = LOOPSTART;
                                                                //   7285      putact(compare,forinf,litref(endval))
#line 7285 "regression-compile-tmp/imp22g-77.imp"
PUTACT(4, FORINF, LITREF(ENDVAL));
                                                                //   7286      putact(beq,0,curlab)
#line 7286 "regression-compile-tmp/imp22g-77.imp"
PUTACT(23, 0, CURLAB);
                                                                //   7287    %finish
#line 7287 "regression-compile-tmp/imp22g-77.imp"
L_0788:;
                                                                //   7288    putact(repeat,curlab,forinf)
#line 7288 "regression-compile-tmp/imp22g-77.imp"
PUTACT(39, CURLAB, FORINF);
                                                                //   7289    -> term
#line 7289 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   7290  
                                                                //   7291  initial(keyon):
#line 7291 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_14:;
                                                                //   7292    fault(ordererr+point) %if c_status >= hadon %or stopper = 0
#line 7292 "regression-compile-tmp/imp22g-77.imp"
if (((C.STATUS) >= (4096))) goto L_0774;
#line 7292 "regression-compile-tmp/imp22g-77.imp"
if (((STOPPER) != (0))) goto L_0789;
#line 7292 "regression-compile-tmp/imp22g-77.imp"
L_0774:;
#line 7292 "regression-compile-tmp/imp22g-77.imp"
FAULT(86);
#line 7292 "regression-compile-tmp/imp22g-77.imp"
L_0789:;
                                                                //   7293    do dynamic arrays %if c_dynarray # 0
#line 7293 "regression-compile-tmp/imp22g-77.imp"
if (((C.DYNARRAY) == (0))) goto L_078a;
#line 7293 "regression-compile-tmp/imp22g-77.imp"
DODYNAMICARRAYS();
#line 7293 "regression-compile-tmp/imp22g-77.imp"
L_078a:;
                                                                //   7294    c_status = c_status!hadon
#line 7294 "regression-compile-tmp/imp22g-77.imp"
C.STATUS = ((C.STATUS) | (4096));
                                                                //   7295    matched = 1
#line 7295 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   7296    allow(keyevent)
#line 7296 "regression-compile-tmp/imp22g-77.imp"
ALLOW(46);
                                                                //   7297    dump = 0
#line 7297 "regression-compile-tmp/imp22g-77.imp"
DUMP = 0;
                                                                //   7298    %cycle
#line 7298 "regression-compile-tmp/imp22g-77.imp"
L_078b:;
                                                                //   7299      get LITERAL(inttype)
#line 7299 "regression-compile-tmp/imp22g-77.imp"
GETLITERAL(43);
                                                                //   7300      expfault(rangerr) %unless 0 <= value <= 15
#line 7300 "regression-compile-tmp/imp22g-77.imp"
if ((((0) > (VALUE))) || (((VALUE) <= (15)))) goto L_078e;
#line 7300 "regression-compile-tmp/imp22g-77.imp"
L_0764:;
#line 7300 "regression-compile-tmp/imp22g-77.imp"
EXPFAULT(24);
#line 7300 "regression-compile-tmp/imp22g-77.imp"
L_078e:;
                                                                //   7301      dump = dump!1<<value
#line 7301 "regression-compile-tmp/imp22g-77.imp"
DUMP = ((DUMP) | (((1) << (VALUE))));
                                                                //   7302    %repeat %until %not a(comma)=TRUE
#line 7302 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) != (1))) goto L_078c;
#line 7302 "regression-compile-tmp/imp22g-77.imp"
goto L_078b;
#line 7302 "regression-compile-tmp/imp22g-77.imp"
L_078c:;
                                                                //   7303    get(keystart)
#line 7303 "regression-compile-tmp/imp22g-77.imp"
GET(20);
                                                                //   7304    putact(settrap,0,litref(dump))
#line 7304 "regression-compile-tmp/imp22g-77.imp"
PUTACT(42, 0, LITREF(DUMP));
                                                                //   7305    curlab = curlab+2
#line 7305 "regression-compile-tmp/imp22g-77.imp"
CURLAB = (((int)(CURLAB)) + (2));
                                                                //   7306    get STATEMENTS(keyfinish)
#line 7306 "regression-compile-tmp/imp22g-77.imp"
GETSTATEMENTS(3);
                                                                //   7307    curlab = curlab-2
#line 7307 "regression-compile-tmp/imp22g-77.imp"
CURLAB = (((int)(CURLAB)) - (2));
                                                                //   7308    -> initial(keyend) %if atom = keyend
#line 7308 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (1))) goto L_078f;
#line 7308 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_idx = 1; goto *sw6_INITIAL[sw6_INITIAL_idx]; 
#line 7308 "regression-compile-tmp/imp22g-77.imp"
L_078f:;
                                                                //   7309    -> term
#line 7309 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   7310  !
                                                                //   7311  initial(keyelse):
#line 7311 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_4:;
                                                                //   7312    -> ignore %if starts # 0
#line 7312 "regression-compile-tmp/imp22g-77.imp"
if (((STARTS) == (0))) goto L_0790;
#line 7312 "regression-compile-tmp/imp22g-77.imp"
goto U_101d;
#line 7312 "regression-compile-tmp/imp22g-77.imp"
L_0790:;
                                                                //   7313    %return %if stopper = keyelse
#line 7313 "regression-compile-tmp/imp22g-77.imp"
if (((STOPPER) != (4))) goto L_0791;
#line 7313 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 7313 "regression-compile-tmp/imp22g-77.imp"
L_0791:;
                                                                //   7314    error(noif) %if stopper = keyfinish
#line 7314 "regression-compile-tmp/imp22g-77.imp"
if (((STOPPER) != (3))) goto L_0792;
#line 7314 "regression-compile-tmp/imp22g-77.imp"
ERROR(29);
#line 7314 "regression-compile-tmp/imp22g-77.imp"
L_0792:;
                                                                //   7315  initial(keyfinish):
#line 7315 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_3:;
                                                                //   7316    starts = starts-1 %and -> ignore %if starts # 0
#line 7316 "regression-compile-tmp/imp22g-77.imp"
if (((STARTS) == (0))) goto L_0793;
#line 7316 "regression-compile-tmp/imp22g-77.imp"
STARTS = (((int)(STARTS)) - (1));
#line 7316 "regression-compile-tmp/imp22g-77.imp"
goto U_101d;
#line 7316 "regression-compile-tmp/imp22g-77.imp"
L_0793:;
                                                                //   7317    %return %if stopper = keyfinish %or stopper = keyelse
#line 7317 "regression-compile-tmp/imp22g-77.imp"
if (((STOPPER) == (3))) goto L_078d;
#line 7317 "regression-compile-tmp/imp22g-77.imp"
if (((STOPPER) != (4))) goto L_0794;
#line 7317 "regression-compile-tmp/imp22g-77.imp"
L_078d:;
#line 7317 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 7317 "regression-compile-tmp/imp22g-77.imp"
L_0794:;
                                                                //   7318    error(nostart)
#line 7318 "regression-compile-tmp/imp22g-77.imp"
ERROR(28);
                                                                //   7319  initial(keyrepeat):
#line 7319 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_2:;
                                                                //   7320    cycles = cycles-1 %and -> ignore %if cycles # 0
#line 7320 "regression-compile-tmp/imp22g-77.imp"
if (((CYCLES) == (0))) goto L_0795;
#line 7320 "regression-compile-tmp/imp22g-77.imp"
CYCLES = (((int)(CYCLES)) - (1));
#line 7320 "regression-compile-tmp/imp22g-77.imp"
goto U_101d;
#line 7320 "regression-compile-tmp/imp22g-77.imp"
L_0795:;
                                                                //   7321    %return %if stopper = keyrepeat
#line 7321 "regression-compile-tmp/imp22g-77.imp"
if (((STOPPER) != (2))) goto L_0796;
#line 7321 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 7321 "regression-compile-tmp/imp22g-77.imp"
L_0796:;
                                                                //   7322    error(nocycle)
#line 7322 "regression-compile-tmp/imp22g-77.imp"
ERROR(27);
                                                                //   7323  
                                                                //   7324  initial(star):
#line 7324 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_88:;
                                                                //   7325    fault(lowlevel+warn+point) %and control = control!lowbit %if control&lowbit = 0
#line 7325 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (16384))) != (0))) goto L_0797;
#line 7325 "regression-compile-tmp/imp22g-77.imp"
FAULT((-49));
#line 7325 "regression-compile-tmp/imp22g-77.imp"
CONTROL = ((CONTROL) | (16384));
#line 7325 "regression-compile-tmp/imp22g-77.imp"
L_0797:;
                                                                //   7326    matched = 1
#line 7326 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   7327    %if byteinteger(fp) = '=' %start
#line 7327 "regression-compile-tmp/imp22g-77.imp"
if (((*_imp_BYTEINTEGER(FP)) != (61))) goto L_0798;
                                                                //   7328      fp = fp+1
#line 7328 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) + (1));
                                                                //   7329      get LITERAL(inttype)
#line 7329 "regression-compile-tmp/imp22g-77.imp"
GETLITERAL(43);
                                                                //   7330      plant(dc,0,temp(absmode,value))
#line 7330 "regression-compile-tmp/imp22g-77.imp"
PLANT(102, 0, TEMP(56, VALUE));
                                                                //   7331    %else
#line 7331 "regression-compile-tmp/imp22g-77.imp"
goto L_0799;
#line 7331 "regression-compile-tmp/imp22g-77.imp"
L_0798:;
                                                                //   7332      get MCODE
#line 7332 "regression-compile-tmp/imp22g-77.imp"
GETMCODE();
                                                                //   7333    %finish
#line 7333 "regression-compile-tmp/imp22g-77.imp"
L_0799:;
                                                                //   7334    ->term
#line 7334 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   7335  
                                                                //   7336  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   7337  !!!!!!!!!!!!!!!!!!!!  Declarations  !!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   7338  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   7339  !
                                                                //   7340  %routine DECLARE LIT RANGE(%integer basetype,lo,hi)
#line 7340 "regression-compile-tmp/imp22g-77.imp"
void DECLARELITRANGE( int BASETYPE, int LO, int HI )
#line 7340 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7341  %own%record(objinfo) D=0
#line 7341 "regression-compile-tmp/imp22g-77.imp"
static  OBJINFO D = { 0 } /* Initialise all fields of a record to 0. */;
                                                                //   7342    fault(boundserr) %and hi = lo %if lo > hi
#line 7342 "regression-compile-tmp/imp22g-77.imp"
if (((LO) <= (HI))) goto L_079a;
#line 7342 "regression-compile-tmp/imp22g-77.imp"
FAULT(13);
#line 7342 "regression-compile-tmp/imp22g-77.imp"
HI = LO;
#line 7342 "regression-compile-tmp/imp22g-77.imp"
L_079a:;
                                                                //   7343    item = ranges
#line 7343 "regression-compile-tmp/imp22g-77.imp"
ITEM = RANGES;
                                                                //   7344    %cycle
#line 7344 "regression-compile-tmp/imp22g-77.imp"
L_079b:;
                                                                //   7345      ditem == dict(item)
#line 7345 "regression-compile-tmp/imp22g-77.imp"
DITEM = &DICT[ITEM];
                                                                //   7346      item = item-2 %and %return %if ditem_val = hi %and ditem_type = basetype %c
#line 7346 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->VAL) != (HI))) goto L_079e;
#line 7346 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->TYPE) != (BASETYPE))) goto L_079e;
#line 7346 "regression-compile-tmp/imp22g-77.imp"
if (((DICT[(((int)(ITEM)) - (1))].VAL) != (LO))) goto L_079e;
#line 7346 "regression-compile-tmp/imp22g-77.imp"
ITEM = (((int)(ITEM)) - (2));
#line 7346 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 7346 "regression-compile-tmp/imp22g-77.imp"
L_079e:;
                                                                //   7347            %and dict(item-1)_val = lo
                                                                //   7348      item = ditem_hlink
#line 7348 "regression-compile-tmp/imp22g-77.imp"
ITEM = DITEM->HLINK;
                                                                //   7349    %repeat %until item = 0
#line 7349 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) == (0))) goto L_079c;
#line 7349 "regression-compile-tmp/imp22g-77.imp"
goto L_079b;
#line 7349 "regression-compile-tmp/imp22g-77.imp"
L_079c:;
                                                                //   7350    declare anon(d);               !blank (for updating)
#line 7350 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(&D);
                                                                //   7351    declare range(basetype,lo,hi)
#line 7351 "regression-compile-tmp/imp22g-77.imp"
DECLARERANGE(BASETYPE, LO, HI);
                                                                //   7352  %end
#line 7352 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DECLARELITRANGE at level 3
                                                                //   7353  
                                                                //   7354  %routine DECLARE STRING TYPE(%integer size)
#line 7354 "regression-compile-tmp/imp22g-77.imp"
void DECLARESTRINGTYPE( int SIZE )
#line 7354 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7355    item = stringtype %and %return %if size = -256
#line 7355 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) != ((-256)))) goto L_079f;
#line 7355 "regression-compile-tmp/imp22g-77.imp"
ITEM = 64;
#line 7355 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 7355 "regression-compile-tmp/imp22g-77.imp"
L_079f:;
                                                                //   7356    item = string1 %and %return %if size = -2
#line 7356 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) != ((-2)))) goto L_07a0;
#line 7356 "regression-compile-tmp/imp22g-77.imp"
ITEM = 63;
#line 7356 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 7356 "regression-compile-tmp/imp22g-77.imp"
L_07a0:;
                                                                //   7357    item = ranges
#line 7357 "regression-compile-tmp/imp22g-77.imp"
ITEM = RANGES;
                                                                //   7358    %cycle
#line 7358 "regression-compile-tmp/imp22g-77.imp"
L_07a1:;
                                                                //   7359      ditem == dict(item)
#line 7359 "regression-compile-tmp/imp22g-77.imp"
DITEM = &DICT[ITEM];
                                                                //   7360      %return %if ditem_size = size %and ditem_type = chartype
#line 7360 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->SIZE) != (SIZE))) goto L_07a4;
#line 7360 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->TYPE) != (61))) goto L_07a4;
#line 7360 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 7360 "regression-compile-tmp/imp22g-77.imp"
L_07a4:;
                                                                //   7361      item = ditem_hlink
#line 7361 "regression-compile-tmp/imp22g-77.imp"
ITEM = DITEM->HLINK;
                                                                //   7362    %repeat %until item = 0
#line 7362 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) == (0))) goto L_07a2;
#line 7362 "regression-compile-tmp/imp22g-77.imp"
goto L_07a1;
#line 7362 "regression-compile-tmp/imp22g-77.imp"
L_07a2:;
                                                                //   7363    declare anon(details(typeid+stringy,chartype,0,0))
#line 7363 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(DETAILS(520, 61, 0, 0));
                                                                //   7364    ditem_size = size
#line 7364 "regression-compile-tmp/imp22g-77.imp"
DITEM->SIZE = SIZE;
                                                                //   7365    ditem_hlink = ranges;  ranges = item
#line 7365 "regression-compile-tmp/imp22g-77.imp"
DITEM->HLINK = RANGES;
#line 7365 "regression-compile-tmp/imp22g-77.imp"
RANGES = ITEM;
                                                                //   7366  %end
#line 7366 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DECLARESTRINGTYPE at level 3
                                                                //   7367  
                                                                //   7368  %routine GET LIT RANGE(%integer basetype)
#line 7368 "regression-compile-tmp/imp22g-77.imp"
void GETLITRANGE( int BASETYPE )
#line 7368 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7369  %integer holdval
#line 7369 "regression-compile-tmp/imp22g-77.imp"
int HOLDVAL;
                                                                //   7370    get LITERAL(basetype);  holdval = value
#line 7370 "regression-compile-tmp/imp22g-77.imp"
GETLITERAL(BASETYPE);
#line 7370 "regression-compile-tmp/imp22g-77.imp"
HOLDVAL = VALUE;
                                                                //   7371    get(colon)
#line 7371 "regression-compile-tmp/imp22g-77.imp"
GET(59);
                                                                //   7372    get LITERAL(basetype)
#line 7372 "regression-compile-tmp/imp22g-77.imp"
GETLITERAL(BASETYPE);
                                                                //   7373    declare lit range(basetype,holdval,value)
#line 7373 "regression-compile-tmp/imp22g-77.imp"
DECLARELITRANGE(BASETYPE, HOLDVAL, VALUE);
                                                                //   7374  %end
#line 7374 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETLITRANGE at level 3
                                                                //   7375  
                                                                //   7376  %routine GET IDENTLIST(%record(objinfo)%name d)
#line 7376 "regression-compile-tmp/imp22g-77.imp"
void GETIDENTLIST(  OBJINFO /*name*/*D )
#line 7376 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7377    dlim0 = dlim
#line 7377 "regression-compile-tmp/imp22g-77.imp"
DLIM0 = DLIM;
                                                                //   7378    get(ident) %and declare(d) %until %not a(comma)=TRUE
#line 7378 "regression-compile-tmp/imp22g-77.imp"
L_07a5:;
#line 7378 "regression-compile-tmp/imp22g-77.imp"
GET(53);
#line 7378 "regression-compile-tmp/imp22g-77.imp"
DECLARE(D);
#line 7378 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) != (1))) goto L_07a6;
#line 7378 "regression-compile-tmp/imp22g-77.imp"
goto L_07a5;
#line 7378 "regression-compile-tmp/imp22g-77.imp"
L_07a6:;
                                                                //   7379  %end
#line 7379 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETIDENTLIST at level 3
                                                                //   7380  
                                                                //   7381  %routine RECALIGN(%integername val)
#line 7381 "regression-compile-tmp/imp22g-77.imp"
void RECALIGN( int /*name*/*VAL )
#line 7381 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7382    align(val,2)
#line 7382 "regression-compile-tmp/imp22g-77.imp"
ALIGN(VAL, 2);
                                                                //   7383    val = -val %if val > 4
#line 7383 "regression-compile-tmp/imp22g-77.imp"
if (((*VAL) <= (4))) goto L_07a8;
#line 7383 "regression-compile-tmp/imp22g-77.imp"
*VAL = (-(*VAL));
#line 7383 "regression-compile-tmp/imp22g-77.imp"
L_07a8:;
                                                                //   7384  %end
#line 7384 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block RECALIGN at level 3
                                                                //   7385  
                                                                //   7386  %routine GET DECLARATION(%integer FLAGS,MODE,%integer%name DISP,%integer DEPTH)
#line 7386 "regression-compile-tmp/imp22g-77.imp"
void GETDECLARATION( int FLAGS, int MODE, int /*name*/*DISP, int DEPTH )
#line 7386 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7387  %record(objinfo) DECL
#line 7387 "regression-compile-tmp/imp22g-77.imp"
 OBJINFO DECL;
                                                                //   7388  %record(identinfo)%name DFHOLD
#line 7388 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DFHOLD;
                                                                //   7389  %owninteger ITEMTYPE=0,ITEMSIZE=0,ADIM=0
#line 7389 "regression-compile-tmp/imp22g-77.imp"
static int ITEMTYPE = 0;
#line 7389 "regression-compile-tmp/imp22g-77.imp"
static int ITEMSIZE = 0;
#line 7389 "regression-compile-tmp/imp22g-77.imp"
static int ADIM = 0;
                                                                //   7390  %integer BASE,HOLD,MAX,STMAX,DREG,AREG
#line 7390 "regression-compile-tmp/imp22g-77.imp"
int BASE;
#line 7390 "regression-compile-tmp/imp22g-77.imp"
int HOLD;
#line 7390 "regression-compile-tmp/imp22g-77.imp"
int MAX;
#line 7390 "regression-compile-tmp/imp22g-77.imp"
int STMAX;
#line 7390 "regression-compile-tmp/imp22g-77.imp"
int DREG;
#line 7390 "regression-compile-tmp/imp22g-77.imp"
int AREG;
                                                                //   7391  
                                                                //   7392  %routine%spec GET VAR BOUND
#line 7392 "regression-compile-tmp/imp22g-77.imp"
auto void GETVARBOUND( void );
                                                                //   7393  
                                                                //   7394  %routine GET DATA TYPE
#line 7394 "regression-compile-tmp/imp22g-77.imp"
void GETDATATYPE( void )
#line 7394 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7395  %switch s(ktype:keyname)
#line 7395 "regression-compile-tmp/imp22g-77.imp"
static int sw7_S_idx;
static const void * /*SWITCH*/ sw7_S[7] = { &&sw7_S_27, &&sw7_S_28, &&sw7_S_29, &&sw7_S_30, &&sw7_S_31, &&sw7_S_32, &&sw7_S_33,  };
                                                                //   7396    atom = next atom %if matched # 0
#line 7396 "regression-compile-tmp/imp22g-77.imp"
if (((MATCHED) == (0))) goto L_07a9;
#line 7396 "regression-compile-tmp/imp22g-77.imp"
ATOM = NEXTATOM();
#line 7396 "regression-compile-tmp/imp22g-77.imp"
L_07a9:;
                                                                //   7397    syntax error %unless kattrib <= atom <= keyname
#line 7397 "regression-compile-tmp/imp22g-77.imp"
if ((((26) > (ATOM))) || (((ATOM) <= (33)))) goto L_07aa;
#line 7397 "regression-compile-tmp/imp22g-77.imp"
L_07a7:;
#line 7397 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 7397 "regression-compile-tmp/imp22g-77.imp"
L_07aa:;
                                                                //   7398    matched = 1
#line 7398 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   7399    -> s(atom)
#line 7399 "regression-compile-tmp/imp22g-77.imp"
sw7_S_idx = ATOM; if ((27 <= sw7_S_idx) && (sw7_S_idx <= 33)) goto *(sw7_S-27)[sw7_S_idx];  /* Bounds=27:33 */ else {
   /*_imp_signal(8, 2, sw7_S_idx);*/
   fprintf(stderr, "%%SWITCH index S(%d) not in range 27:33 at %s:%d\n",
           sw7_S_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   7400  s(ktype):
#line 7400 "regression-compile-tmp/imp22g-77.imp"
sw7_S_27:;
                                                                //   7401    itemtype = inttype+subatom
#line 7401 "regression-compile-tmp/imp22g-77.imp"
ITEMTYPE = (((int)(43)) + (SUBATOM));
                                                                //   7402    itemsize = size(itemtype)
#line 7402 "regression-compile-tmp/imp22g-77.imp"
ITEMSIZE = SIZE(ITEMTYPE);
                                                                //   7403    nonstandard(7) %if itemtype >= mitetype
#line 7403 "regression-compile-tmp/imp22g-77.imp"
if (((ITEMTYPE) < (55))) goto L_07ab;
#line 7403 "regression-compile-tmp/imp22g-77.imp"
NONSTANDARD(7);
#line 7403 "regression-compile-tmp/imp22g-77.imp"
L_07ab:;
                                                                //   7404    allow(keyinteger)
#line 7404 "regression-compile-tmp/imp22g-77.imp"
ALLOW(28);
                                                                //   7405    %return
#line 7405 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   7406  s(keyinteger):                    !%integer
#line 7406 "regression-compile-tmp/imp22g-77.imp"
sw7_S_28:;
                                                                //   7407    itemtype = inttype;  itemsize = 4
#line 7407 "regression-compile-tmp/imp22g-77.imp"
ITEMTYPE = 43;
#line 7407 "regression-compile-tmp/imp22g-77.imp"
ITEMSIZE = 4;
                                                                //   7408    %if a(left)=TRUE %start
#line 7408 "regression-compile-tmp/imp22g-77.imp"
if (((A(55)) != (1))) goto L_07ac;
                                                                //   7409      nonstandard(8)
#line 7409 "regression-compile-tmp/imp22g-77.imp"
NONSTANDARD(8);
                                                                //   7410      get LIT RANGE(inttype)
#line 7410 "regression-compile-tmp/imp22g-77.imp"
GETLITRANGE(43);
                                                                //   7411      get(right)
#line 7411 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   7412      itemtype = item
#line 7412 "regression-compile-tmp/imp22g-77.imp"
ITEMTYPE = ITEM;
                                                                //   7413      itemsize = typecell(itemtype)_size
#line 7413 "regression-compile-tmp/imp22g-77.imp"
ITEMSIZE = TYPECELL(ITEMTYPE)->SIZE;
                                                                //   7414    %finish
#line 7414 "regression-compile-tmp/imp22g-77.imp"
L_07ac:;
                                                                //   7415    %return
#line 7415 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   7416  s(keylong):                   !%long
#line 7416 "regression-compile-tmp/imp22g-77.imp"
sw7_S_29:;
                                                                //   7417    itemtype = inttype;  itemsize = 4;  !**for now**
#line 7417 "regression-compile-tmp/imp22g-77.imp"
ITEMTYPE = 43;
#line 7417 "regression-compile-tmp/imp22g-77.imp"
ITEMSIZE = 4;
                                                                //   7418    %if a(keyinteger)=TRUE %then fault(notin+point+warn) %c
#line 7418 "regression-compile-tmp/imp22g-77.imp"
if (((A(28)) != (1))) goto L_07ad;
#line 7418 "regression-compile-tmp/imp22g-77.imp"
FAULT((-24));
#line 7418 "regression-compile-tmp/imp22g-77.imp"
goto L_07ae;
#line 7418 "regression-compile-tmp/imp22g-77.imp"
L_07ad:;
#line 7418 "regression-compile-tmp/imp22g-77.imp"
ITEMTYPE = 69;
#line 7418 "regression-compile-tmp/imp22g-77.imp"
GET(30);
#line 7418 "regression-compile-tmp/imp22g-77.imp"
L_07ae:;
                                                                //   7419    %else itemtype = realtype %and get(keyreal)
                                                                //   7420    %return
#line 7420 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   7421  s(keyreal):                   !%real
#line 7421 "regression-compile-tmp/imp22g-77.imp"
sw7_S_30:;
                                                                //   7422    itemtype = realtype;  itemsize = 4
#line 7422 "regression-compile-tmp/imp22g-77.imp"
ITEMTYPE = 69;
#line 7422 "regression-compile-tmp/imp22g-77.imp"
ITEMSIZE = 4;
                                                                //   7423    %return
#line 7423 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   7424  s(keystring):                 !%string
#line 7424 "regression-compile-tmp/imp22g-77.imp"
sw7_S_31:;
                                                                //   7425    itemsize = 0
#line 7425 "regression-compile-tmp/imp22g-77.imp"
ITEMSIZE = 0;
                                                                //   7426    %if a(left)=TRUE %start
#line 7426 "regression-compile-tmp/imp22g-77.imp"
if (((A(55)) != (1))) goto L_07af;
                                                                //   7427      atom = next atom
#line 7427 "regression-compile-tmp/imp22g-77.imp"
ATOM = NEXTATOM();
                                                                //   7428  !    %if depth # 0 %and ktype <= atom <= keyinteger %start
                                                                //   7429  !      get VAR BOUND
                                                                //   7430  !      itemtype = stringstar
                                                                //   7431  !    %finish %else %if a(star)=TRUE %start
                                                                //   7432       %if a(star)=TRUE %start
#line 7432 "regression-compile-tmp/imp22g-77.imp"
if (((A(88)) != (1))) goto L_07b0;
                                                                //   7433        itemtype = stringstar
#line 7433 "regression-compile-tmp/imp22g-77.imp"
ITEMTYPE = 62;
                                                                //   7434      %else
#line 7434 "regression-compile-tmp/imp22g-77.imp"
goto L_07b1;
#line 7434 "regression-compile-tmp/imp22g-77.imp"
L_07b0:;
                                                                //   7435        get LITERAL(bytetype)
#line 7435 "regression-compile-tmp/imp22g-77.imp"
GETLITERAL(52);
                                                                //   7436        itemsize = -(value+1)
#line 7436 "regression-compile-tmp/imp22g-77.imp"
ITEMSIZE = (-((((int)(VALUE)) + (1))));
                                                                //   7437        declare string type(itemsize)
#line 7437 "regression-compile-tmp/imp22g-77.imp"
DECLARESTRINGTYPE(ITEMSIZE);
                                                                //   7438        itemtype = item
#line 7438 "regression-compile-tmp/imp22g-77.imp"
ITEMTYPE = ITEM;
                                                                //   7439      %finish
#line 7439 "regression-compile-tmp/imp22g-77.imp"
L_07b1:;
                                                                //   7440      get(right)
#line 7440 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   7441    %else
#line 7441 "regression-compile-tmp/imp22g-77.imp"
goto L_07b2;
#line 7441 "regression-compile-tmp/imp22g-77.imp"
L_07af:;
                                                                //   7442      syntax error %if mode # constmode
#line 7442 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) == (122))) goto L_07b3;
#line 7442 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 7442 "regression-compile-tmp/imp22g-77.imp"
L_07b3:;
                                                                //   7443      itemtype = stringtype
#line 7443 "regression-compile-tmp/imp22g-77.imp"
ITEMTYPE = 64;
                                                                //   7444    %finish
#line 7444 "regression-compile-tmp/imp22g-77.imp"
L_07b2:;
                                                                //   7445    %return
#line 7445 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   7446  s(keyrecord):                    !%record
#line 7446 "regression-compile-tmp/imp22g-77.imp"
sw7_S_32:;
                                                                //   7447    get(left)
#line 7447 "regression-compile-tmp/imp22g-77.imp"
GET(55);
                                                                //   7448    %unless a(star)=TRUE %start
#line 7448 "regression-compile-tmp/imp22g-77.imp"
if (((A(88)) == (1))) goto L_07b4;
                                                                //   7449      %unless a(ident)=TRUE %start
#line 7449 "regression-compile-tmp/imp22g-77.imp"
if (((A(53)) == (1))) goto L_07b5;
                                                                //   7450        declare anon(typeident)
#line 7450 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(&TYPEIDENT);
                                                                //   7451        hold = item;  dfhold == dformat
#line 7451 "regression-compile-tmp/imp22g-77.imp"
HOLD = ITEM;
#line 7451 "regression-compile-tmp/imp22g-77.imp"
DFHOLD = DFORMAT;
                                                                //   7452        dformat == ditem
#line 7452 "regression-compile-tmp/imp22g-77.imp"
DFORMAT = DITEM;
                                                                //   7453        get DECLARATION(writable+readable,0,dformat_val,0)
#line 7453 "regression-compile-tmp/imp22g-77.imp"
GETDECLARATION(3, 0, &DFORMAT->VAL, 0);
                                                                //   7454        recalign(dformat_val)
#line 7454 "regression-compile-tmp/imp22g-77.imp"
RECALIGN(&DFORMAT->VAL);
                                                                //   7455        ditem == dformat
#line 7455 "regression-compile-tmp/imp22g-77.imp"
DITEM = DFORMAT;
                                                                //   7456        dformat == dfhold;  item = hold
#line 7456 "regression-compile-tmp/imp22g-77.imp"
DFORMAT = DFHOLD;
#line 7456 "regression-compile-tmp/imp22g-77.imp"
ITEM = HOLD;
                                                                //   7457      %finish
#line 7457 "regression-compile-tmp/imp22g-77.imp"
L_07b5:;
                                                                //   7458      name error %if item <= 0
#line 7458 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) > (0))) goto L_07b6;
#line 7458 "regression-compile-tmp/imp22g-77.imp"
NAMEERROR();
#line 7458 "regression-compile-tmp/imp22g-77.imp"
L_07b6:;
                                                                //   7459      error(classerr+point) %if ditem_flags&(\spec) # typeid+recy
#line 7459 "regression-compile-tmp/imp22g-77.imp"
if (((((DITEM->FLAGS) & ((~(256))))) == (524))) goto L_07b7;
#line 7459 "regression-compile-tmp/imp22g-77.imp"
ERROR(74);
#line 7459 "regression-compile-tmp/imp22g-77.imp"
L_07b7:;
                                                                //   7460      itemtype = item;  itemsize = ditem_val
#line 7460 "regression-compile-tmp/imp22g-77.imp"
ITEMTYPE = ITEM;
#line 7460 "regression-compile-tmp/imp22g-77.imp"
ITEMSIZE = DITEM->VAL;
                                                                //   7461    %else
#line 7461 "regression-compile-tmp/imp22g-77.imp"
goto L_07b8;
#line 7461 "regression-compile-tmp/imp22g-77.imp"
L_07b4:;
                                                                //   7462      itemtype = recstar;  itemsize = 0
#line 7462 "regression-compile-tmp/imp22g-77.imp"
ITEMTYPE = 67;
#line 7462 "regression-compile-tmp/imp22g-77.imp"
ITEMSIZE = 0;
                                                                //   7463    %finish
#line 7463 "regression-compile-tmp/imp22g-77.imp"
L_07b8:;
                                                                //   7464    get(right)
#line 7464 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   7465    %return
#line 7465 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   7466  s(keyname):    !untyped %name - leave unmatched
#line 7466 "regression-compile-tmp/imp22g-77.imp"
sw7_S_33:;
                                                                //   7467    itemtype = 0;  matched = 0
#line 7467 "regression-compile-tmp/imp22g-77.imp"
ITEMTYPE = 0;
#line 7467 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 0;
                                                                //   7468  %end
#line 7468 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETDATATYPE at level 4
                                                                //   7469  
                                                                //   7470  %routine ASSIGN ADDRESS(%integer size)
#line 7470 "regression-compile-tmp/imp22g-77.imp"
void ASSIGNADDRESS( int SIZE )
#line 7470 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7471  
                                                                //   7472  %routine ASSIGN STACK ADDRESS
#line 7472 "regression-compile-tmp/imp22g-77.imp"
void ASSIGNSTACKADDRESS( void )
#line 7472 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7473    align(stmax,2);  ditem_val = stmax
#line 7473 "regression-compile-tmp/imp22g-77.imp"
ALIGN(&STMAX, 2);
#line 7473 "regression-compile-tmp/imp22g-77.imp"
DITEM->VAL = STMAX;
                                                                //   7474    stmax = stmax+imod(size)
#line 7474 "regression-compile-tmp/imp22g-77.imp"
STMAX = (((int)(STMAX)) + (_imp_IMOD(SIZE)));
                                                                //   7475    c_status = c_status!onstack %if depth = 1 %and speccing = 0
#line 7475 "regression-compile-tmp/imp22g-77.imp"
if (((DEPTH) != (1))) goto L_07b9;
#line 7475 "regression-compile-tmp/imp22g-77.imp"
if (((SPECCING) != (0))) goto L_07b9;
#line 7475 "regression-compile-tmp/imp22g-77.imp"
C.STATUS = ((C.STATUS) | (8));
#line 7475 "regression-compile-tmp/imp22g-77.imp"
L_07b9:;
                                                                //   7476  %end
#line 7476 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ASSIGNSTACKADDRESS at level 5
                                                                //   7477  
                                                                //   7478    size = -4 %if ditem_flags&(name+indirect) # 0
#line 7478 "regression-compile-tmp/imp22g-77.imp"
if (((((DITEM->FLAGS) & ((-30720)))) == (0))) goto L_07ba;
#line 7478 "regression-compile-tmp/imp22g-77.imp"
SIZE = (-4);
#line 7478 "regression-compile-tmp/imp22g-77.imp"
L_07ba:;
                                                                //   7479    %if depth # 0 %start
#line 7479 "regression-compile-tmp/imp22g-77.imp"
if (((DEPTH) == (0))) goto L_07bb;
                                                                //   7480      dlink_link = item;  dlink == ditem
#line 7480 "regression-compile-tmp/imp22g-77.imp"
DLINK->LINK = ITEM;
#line 7480 "regression-compile-tmp/imp22g-77.imp"
DLINK = DITEM;
                                                                //   7481      %if size > 0 %start
#line 7481 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE) <= (0))) goto L_07bc;
                                                                //   7482       !simple value
                                                                //   7483        %if dreg > maxcalldreg %start
#line 7483 "regression-compile-tmp/imp22g-77.imp"
if (((DREG) <= (MAXCALLDREG))) goto L_07bd;
                                                                //   7484          assign stack address
#line 7484 "regression-compile-tmp/imp22g-77.imp"
ASSIGNSTACKADDRESS();
                                                                //   7485          %return
#line 7485 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   7486        %finish
#line 7486 "regression-compile-tmp/imp22g-77.imp"
L_07bd:;
                                                                //   7487        c_reg_content(dreg) = item %if speccing = 0
#line 7487 "regression-compile-tmp/imp22g-77.imp"
if (((SPECCING) != (0))) goto L_07be;
#line 7487 "regression-compile-tmp/imp22g-77.imp"
C.REG.CONTENT[(((int)(DREG)) - (1))] = ITEM;
#line 7487 "regression-compile-tmp/imp22g-77.imp"
L_07be:;
                                                                //   7488        ditem_reg = dreg-d0;  dreg = dreg+1
#line 7488 "regression-compile-tmp/imp22g-77.imp"
DITEM->REG = (((int)(DREG)) - (1));
#line 7488 "regression-compile-tmp/imp22g-77.imp"
DREG = (((int)(DREG)) + (1));
                                                                //   7489      %else
#line 7489 "regression-compile-tmp/imp22g-77.imp"
goto L_07bf;
#line 7489 "regression-compile-tmp/imp22g-77.imp"
L_07bc:;
                                                                //   7490        %if areg > maxcallareg %start
#line 7490 "regression-compile-tmp/imp22g-77.imp"
if (((AREG) <= (MAXCALLAREG))) goto L_07c0;
                                                                //   7491          assign stack address
#line 7491 "regression-compile-tmp/imp22g-77.imp"
ASSIGNSTACKADDRESS();
                                                                //   7492          ditem_reg = 8     {would have been in AREG}
#line 7492 "regression-compile-tmp/imp22g-77.imp"
DITEM->REG = 8;
                                                                //   7493          %return
#line 7493 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   7494        %finish
#line 7494 "regression-compile-tmp/imp22g-77.imp"
L_07c0:;
                                                                //   7495        c_reg_content(areg) = item+ad %if speccing = 0 %and ditem_flags < 0
#line 7495 "regression-compile-tmp/imp22g-77.imp"
if (((SPECCING) != (0))) goto L_07c1;
#line 7495 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->FLAGS) >= (0))) goto L_07c1;
#line 7495 "regression-compile-tmp/imp22g-77.imp"
C.REG.CONTENT[(((int)(AREG)) - (1))] = (((int)(ITEM)) + (16384));
#line 7495 "regression-compile-tmp/imp22g-77.imp"
L_07c1:;
                                                                //   7496        ditem_reg = areg-d0;  areg = areg+1
#line 7496 "regression-compile-tmp/imp22g-77.imp"
DITEM->REG = (((int)(AREG)) - (1));
#line 7496 "regression-compile-tmp/imp22g-77.imp"
AREG = (((int)(AREG)) + (1));
                                                                //   7497      %finish
#line 7497 "regression-compile-tmp/imp22g-77.imp"
L_07bf:;
                                                                //   7498    %finish
#line 7498 "regression-compile-tmp/imp22g-77.imp"
L_07bb:;
                                                                //   7499    size = imod(size)
#line 7499 "regression-compile-tmp/imp22g-77.imp"
SIZE = _imp_IMOD(SIZE);
                                                                //   7500    align(disp,size)
#line 7500 "regression-compile-tmp/imp22g-77.imp"
ALIGN(DISP, SIZE);
                                                                //   7501    ditem_val = disp
#line 7501 "regression-compile-tmp/imp22g-77.imp"
DITEM->VAL = *DISP;
                                                                //   7502    %if constmode # ditem_mode # ownmode %start
#line 7502 "regression-compile-tmp/imp22g-77.imp"
if ((((122) == (DITEM->MODE))) || (((DITEM->MODE) == (108)))) goto L_07c2;
                                                                //   7503      disp = disp+size
#line 7503 "regression-compile-tmp/imp22g-77.imp"
*DISP = ((*(int *)(DISP)) + (SIZE));
                                                                //   7504      %if ditem_mode >= framemode %start
#line 7504 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->MODE) < (168))) goto L_07c3;
                                                                //   7505        align(disp,2)
#line 7505 "regression-compile-tmp/imp22g-77.imp"
ALIGN(DISP, 2);
                                                                //   7506        ditem_val = c_sp-disp;  !neg stack disp.
#line 7506 "regression-compile-tmp/imp22g-77.imp"
DITEM->VAL = (((int)(C.SP)) - (*DISP));
                                                                //   7507      %finish
#line 7507 "regression-compile-tmp/imp22g-77.imp"
L_07c3:;
                                                                //   7508    %finish
#line 7508 "regression-compile-tmp/imp22g-77.imp"
L_07c2:;
                                                                //   7509  %end
#line 7509 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ASSIGNADDRESS at level 4
                                                                //   7510  !
                                                                //   7511  %routine GET QIDENT
#line 7511 "regression-compile-tmp/imp22g-77.imp"
void GETQIDENT( void )
#line 7511 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7512    get(ident)
#line 7512 "regression-compile-tmp/imp22g-77.imp"
GET(53);
                                                                //   7513    %if mode = 0 %start;  !within record format
#line 7513 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) != (0))) goto L_07c4;
                                                                //   7514      head == dformat_link;  item = head
#line 7514 "regression-compile-tmp/imp22g-77.imp"
HEAD = &DFORMAT->LINK;
#line 7514 "regression-compile-tmp/imp22g-77.imp"
ITEM = *HEAD;
                                                                //   7515      %if item > 0 %start
#line 7515 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) <= (0))) goto L_07c5;
                                                                //   7516        %cycle
#line 7516 "regression-compile-tmp/imp22g-77.imp"
L_07c6:;
                                                                //   7517          ditem == dict(item)
#line 7517 "regression-compile-tmp/imp22g-77.imp"
DITEM = &DICT[ITEM];
                                                                //   7518          fault(duperr+point) %if string(ditem_text+char0) = string(charlim)
#line 7518 "regression-compile-tmp/imp22g-77.imp"
if ((_imp_strcmp(*_imp_STRING((((int)(DITEM->TEXT)) + (CHAR0))), *_imp_STRING(CHARLIM)) != 0)) goto L_07c9;
#line 7518 "regression-compile-tmp/imp22g-77.imp"
FAULT(85);
#line 7518 "regression-compile-tmp/imp22g-77.imp"
L_07c9:;
                                                                //   7519          head == ditem_hlink;  item = head
#line 7519 "regression-compile-tmp/imp22g-77.imp"
HEAD = &DITEM->HLINK;
#line 7519 "regression-compile-tmp/imp22g-77.imp"
ITEM = *HEAD;
                                                                //   7520        %repeat %until item <= 0
#line 7520 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) <= (0))) goto L_07c7;
#line 7520 "regression-compile-tmp/imp22g-77.imp"
goto L_07c6;
#line 7520 "regression-compile-tmp/imp22g-77.imp"
L_07c7:;
                                                                //   7521      %finish
#line 7521 "regression-compile-tmp/imp22g-77.imp"
L_07c5:;
                                                                //   7522    %finish
#line 7522 "regression-compile-tmp/imp22g-77.imp"
L_07c4:;
                                                                //   7523    declare(decl)
#line 7523 "regression-compile-tmp/imp22g-77.imp"
DECLARE(&DECL);
                                                                //   7524  %end
#line 7524 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETQIDENT at level 4
                                                                //   7525  
                                                                //   7526  !<<BOTH
                                                                //   7527  %routine DUMP CONST(%integer v,n)
#line 7527 "regression-compile-tmp/imp22g-77.imp"
void DUMPCONST( int V, int N )
#line 7527 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7528  ! Plant N replications of value V (of type ITEMTYPE and size ITEMSIZE)
                                                                //   7529  ! For simple operand V is value, otherwise V is address in FINAL
                                                                //   7530  ! Alignment requirement has been enforced (since it depends on context)
                                                                //   7531  %integer i,j,k,kk,vv
#line 7531 "regression-compile-tmp/imp22g-77.imp"
int I;
#line 7531 "regression-compile-tmp/imp22g-77.imp"
int J;
#line 7531 "regression-compile-tmp/imp22g-77.imp"
int K;
#line 7531 "regression-compile-tmp/imp22g-77.imp"
int KK;
#line 7531 "regression-compile-tmp/imp22g-77.imp"
int VV;
                                                                //   7532    k = itemsize
#line 7532 "regression-compile-tmp/imp22g-77.imp"
K = ITEMSIZE;
                                                                //   7533    %if k <= 0 %start;  !structure
#line 7533 "regression-compile-tmp/imp22g-77.imp"
if (((K) > (0))) goto L_07ca;
                                                                //   7534      k = -k
#line 7534 "regression-compile-tmp/imp22g-77.imp"
K = (-(K));
                                                                //   7535      k = final(v)+1 %if k = 0;  ![string]
#line 7535 "regression-compile-tmp/imp22g-77.imp"
if (((K) != (0))) goto L_07cb;
#line 7535 "regression-compile-tmp/imp22g-77.imp"
K = (((int)(FINAL[V])) + (1));
#line 7535 "regression-compile-tmp/imp22g-77.imp"
L_07cb:;
                                                                //   7536      cad = v %if v # 0;  !reset cad
#line 7536 "regression-compile-tmp/imp22g-77.imp"
if (((V) == (0))) goto L_07cc;
#line 7536 "regression-compile-tmp/imp22g-77.imp"
CAD = V;
#line 7536 "regression-compile-tmp/imp22g-77.imp"
L_07cc:;
                                                                //   7537    %finish
#line 7537 "regression-compile-tmp/imp22g-77.imp"
L_07ca:;
                                                                //   7538    kk = k
#line 7538 "regression-compile-tmp/imp22g-77.imp"
KK = K;
                                                                //   7539    %return %if n < 1
#line 7539 "regression-compile-tmp/imp22g-77.imp"
if (((N) >= (1))) goto L_07cd;
#line 7539 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 7539 "regression-compile-tmp/imp22g-77.imp"
L_07cd:;
                                                                //   7540    kk = kk*n %if n > 1
#line 7540 "regression-compile-tmp/imp22g-77.imp"
if (((N) <= (1))) goto L_07ce;
#line 7540 "regression-compile-tmp/imp22g-77.imp"
KK = (((int)(KK)) * (N));
#line 7540 "regression-compile-tmp/imp22g-77.imp"
L_07ce:;
                                                                //   7541    %if mode = constmode %start
#line 7541 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) != (122))) goto L_07cf;
                                                                //   7542      i = cad;  cad = cad+kk
#line 7542 "regression-compile-tmp/imp22g-77.imp"
I = CAD;
#line 7542 "regression-compile-tmp/imp22g-77.imp"
CAD = (((int)(CAD)) + (KK));
                                                                //   7543      croak("Program too big") %if cad >= ownbase
#line 7543 "regression-compile-tmp/imp22g-77.imp"
if (((CAD) < (OWNBASE))) goto L_07d0;
#line 7543 "regression-compile-tmp/imp22g-77.imp"
CROAK(_imp_str_literal("Program too big"));
#line 7543 "regression-compile-tmp/imp22g-77.imp"
L_07d0:;
                                                                //   7544    %else
#line 7544 "regression-compile-tmp/imp22g-77.imp"
goto L_07d1;
#line 7544 "regression-compile-tmp/imp22g-77.imp"
L_07cf:;
                                                                //   7545      %if ownbase+ownad+kk-finalbound > 0 %start
#line 7545 "regression-compile-tmp/imp22g-77.imp"
if ((((((int)((((int)((((int)(OWNBASE)) + (OWNAD)))) + (KK)))) - (FINALBOUND))) <= (0))) goto L_07d2;
                                                                //   7546        make room(ownbase+ownad+kk-finalbound)
#line 7546 "regression-compile-tmp/imp22g-77.imp"
MAKEROOM((((int)((((int)((((int)(OWNBASE)) + (OWNAD)))) + (KK)))) - (FINALBOUND)));
                                                                //   7547      %finish
#line 7547 "regression-compile-tmp/imp22g-77.imp"
L_07d2:;
                                                                //   7548      i = ownbase+ownad;  ownad = ownad+kk
#line 7548 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(OWNBASE)) + (OWNAD));
#line 7548 "regression-compile-tmp/imp22g-77.imp"
OWNAD = (((int)(OWNAD)) + (KK));
                                                                //   7549    %finish
#line 7549 "regression-compile-tmp/imp22g-77.imp"
L_07d1:;
                                                                //   7550    %if itemsize <= 0 %start
#line 7550 "regression-compile-tmp/imp22g-77.imp"
if (((ITEMSIZE) > (0))) goto L_07d3;
                                                                //   7551      %while n > 0 %cycle
#line 7551 "regression-compile-tmp/imp22g-77.imp"
L_07d4:;
#line 7551 "regression-compile-tmp/imp22g-77.imp"
if (((N) <= (0))) goto L_07d5;
                                                                //   7552        n = n-1;  j = i+k
#line 7552 "regression-compile-tmp/imp22g-77.imp"
N = (((int)(N)) - (1));
#line 7552 "regression-compile-tmp/imp22g-77.imp"
J = (((int)(I)) + (K));
                                                                //   7553        %if v # 0 %start
#line 7553 "regression-compile-tmp/imp22g-77.imp"
if (((V) == (0))) goto L_07d7;
                                                                //   7554          vv = v
#line 7554 "regression-compile-tmp/imp22g-77.imp"
VV = V;
                                                                //   7555          %cycle
#line 7555 "regression-compile-tmp/imp22g-77.imp"
L_07d8:;
                                                                //   7556            final(i) = final(vv)
#line 7556 "regression-compile-tmp/imp22g-77.imp"
FINAL[I] = FINAL[VV];
                                                                //   7557            i = i+1;  vv = vv+1
#line 7557 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
#line 7557 "regression-compile-tmp/imp22g-77.imp"
VV = (((int)(VV)) + (1));
                                                                //   7558          %repeat %until i =j
#line 7558 "regression-compile-tmp/imp22g-77.imp"
if (((I) == (J))) goto L_07d9;
#line 7558 "regression-compile-tmp/imp22g-77.imp"
goto L_07d8;
#line 7558 "regression-compile-tmp/imp22g-77.imp"
L_07d9:;
                                                                //   7559        %else
#line 7559 "regression-compile-tmp/imp22g-77.imp"
goto L_07db;
#line 7559 "regression-compile-tmp/imp22g-77.imp"
L_07d7:;
                                                                //   7560          final(i) = 0 %and i = i+1 %while i < j
#line 7560 "regression-compile-tmp/imp22g-77.imp"
L_07dc:;
#line 7560 "regression-compile-tmp/imp22g-77.imp"
if (((I) >= (J))) goto L_07dd;
#line 7560 "regression-compile-tmp/imp22g-77.imp"
FINAL[I] = 0;
#line 7560 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
#line 7560 "regression-compile-tmp/imp22g-77.imp"
goto L_07dc;
#line 7560 "regression-compile-tmp/imp22g-77.imp"
L_07dd:;
                                                                //   7561        %finish
#line 7561 "regression-compile-tmp/imp22g-77.imp"
L_07db:;
                                                                //   7562      %repeat
#line 7562 "regression-compile-tmp/imp22g-77.imp"
goto L_07d4;
#line 7562 "regression-compile-tmp/imp22g-77.imp"
L_07d5:;
                                                                //   7563    %else
#line 7563 "regression-compile-tmp/imp22g-77.imp"
goto L_07df;
#line 7563 "regression-compile-tmp/imp22g-77.imp"
L_07d3:;
                                                                //   7564  !$IF VAX
                                                                //   7565  {    v = ieee(v) %if itemtype = realtype;  !vax->ieee
                                                                //   7566  !$FINISH
                                                                //   7567      %while n > 0 %cycle
#line 7567 "regression-compile-tmp/imp22g-77.imp"
L_07e0:;
#line 7567 "regression-compile-tmp/imp22g-77.imp"
if (((N) <= (0))) goto L_07e1;
                                                                //   7568        n = n-1
#line 7568 "regression-compile-tmp/imp22g-77.imp"
N = (((int)(N)) - (1));
                                                                //   7569        %if itemsize >= 2 %start
#line 7569 "regression-compile-tmp/imp22g-77.imp"
if (((ITEMSIZE) < (2))) goto L_07e3;
                                                                //   7570          %if itemsize > 2 %start;  !longword
#line 7570 "regression-compile-tmp/imp22g-77.imp"
if (((ITEMSIZE) <= (2))) goto L_07e4;
                                                                //   7571            final(i) <- v>>24
#line 7571 "regression-compile-tmp/imp22g-77.imp"
FINAL[I] = (int)((((unsigned int)(V)) >> (24)));
                                                                //   7572            final(i+1) <- v>>16
#line 7572 "regression-compile-tmp/imp22g-77.imp"
FINAL[(((int)(I)) + (1))] = (int)((((unsigned int)(V)) >> (16)));
                                                                //   7573            i = i+2
#line 7573 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (2));
                                                                //   7574          %finish
#line 7574 "regression-compile-tmp/imp22g-77.imp"
L_07e4:;
                                                                //   7575          final(i) <- v>>8
#line 7575 "regression-compile-tmp/imp22g-77.imp"
FINAL[I] = (int)((((unsigned int)(V)) >> (8)));
                                                                //   7576          i = i+1
#line 7576 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
                                                                //   7577        %finish
#line 7577 "regression-compile-tmp/imp22g-77.imp"
L_07e3:;
                                                                //   7578        final(i) <- v
#line 7578 "regression-compile-tmp/imp22g-77.imp"
FINAL[I] = V;
                                                                //   7579        i = i+1
#line 7579 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
                                                                //   7580      %repeat
#line 7580 "regression-compile-tmp/imp22g-77.imp"
goto L_07e0;
#line 7580 "regression-compile-tmp/imp22g-77.imp"
L_07e1:;
                                                                //   7581    %finish
#line 7581 "regression-compile-tmp/imp22g-77.imp"
L_07df:;
                                                                //   7582  %end;  !dump const
#line 7582 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DUMPCONST at level 4
                                                                //   7583  !<<IMP
                                                                //   7584  
                                                                //   7585  %routine GET VAR BOUND
#line 7585 "regression-compile-tmp/imp22g-77.imp"
void GETVARBOUND( void )
#line 7585 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7586  %integer f
#line 7586 "regression-compile-tmp/imp22g-77.imp"
int F;
                                                                //   7587    f = decl_flags
#line 7587 "regression-compile-tmp/imp22g-77.imp"
F = DECL.FLAGS;
                                                                //   7588    get DATA TYPE
#line 7588 "regression-compile-tmp/imp22g-77.imp"
GETDATATYPE();
                                                                //   7589    decl_flags = okflag+mflag;  decl_type = itemtype
#line 7589 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = 192;
#line 7589 "regression-compile-tmp/imp22g-77.imp"
DECL.TYPE = ITEMTYPE;
                                                                //   7590    get(ident);  declare(decl)
#line 7590 "regression-compile-tmp/imp22g-77.imp"
GET(53);
#line 7590 "regression-compile-tmp/imp22g-77.imp"
DECLARE(&DECL);
                                                                //   7591    decl_flags = f
#line 7591 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = F;
                                                                //   7592    assign address(itemsize)
#line 7592 "regression-compile-tmp/imp22g-77.imp"
ASSIGNADDRESS(ITEMSIZE);
                                                                //   7593  %end
#line 7593 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETVARBOUND at level 4
                                                                //   7594  
                                                                //   7595  %routine DECLARE BOUND(%integer mode,val)
#line 7595 "regression-compile-tmp/imp22g-77.imp"
void DECLAREBOUND( int MODE, int VAL )
#line 7595 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7596    declare anon(details(okflag,inttype,mode,val))
#line 7596 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(DETAILS(64, 43, MODE, VAL));
                                                                //   7597    %if depth # 0 %and mode >= framemode %start
#line 7597 "regression-compile-tmp/imp22g-77.imp"
if (((DEPTH) == (0))) goto L_07e5;
#line 7597 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) < (168))) goto L_07e5;
                                                                //   7598      ditem_flags = ditem_flags!mflag
#line 7598 "regression-compile-tmp/imp22g-77.imp"
DITEM->FLAGS = ((DITEM->FLAGS) | (128));
                                                                //   7599      assign address(4)
#line 7599 "regression-compile-tmp/imp22g-77.imp"
ASSIGNADDRESS(4);
                                                                //   7600    %finish
#line 7600 "regression-compile-tmp/imp22g-77.imp"
L_07e5:;
                                                                //   7601  %end
#line 7601 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DECLAREBOUND at level 4
                                                                //   7602  
                                                                //   7603  %routine GET ARRAY DECLARATION(%integer dim)
#line 7603 "regression-compile-tmp/imp22g-77.imp"
void GETARRAYDECLARATION( int DIM )
#line 7603 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7604  %integer pos,dlim1,holdval,holdz,jam,elements,tot,totsize,lo1,size1
#line 7604 "regression-compile-tmp/imp22g-77.imp"
int POS;
#line 7604 "regression-compile-tmp/imp22g-77.imp"
int DLIM1;
#line 7604 "regression-compile-tmp/imp22g-77.imp"
int HOLDVAL;
#line 7604 "regression-compile-tmp/imp22g-77.imp"
int HOLDZ;
#line 7604 "regression-compile-tmp/imp22g-77.imp"
int JAM;
#line 7604 "regression-compile-tmp/imp22g-77.imp"
int ELEMENTS;
#line 7604 "regression-compile-tmp/imp22g-77.imp"
int TOT;
#line 7604 "regression-compile-tmp/imp22g-77.imp"
int TOTSIZE;
#line 7604 "regression-compile-tmp/imp22g-77.imp"
int LO1;
#line 7604 "regression-compile-tmp/imp22g-77.imp"
int SIZE1;
                                                                //   7605  %record(identinfo)%name dp
#line 7605 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DP;
                                                                //   7606  %ownrecord(objinfo) ATYPE=0
#line 7606 "regression-compile-tmp/imp22g-77.imp"
static  OBJINFO ATYPE = { 0 } /* Initialise all fields of a record to 0. */;
                                                                //   7607  
                                                                //   7608  %integer%fn XTYPE
#line 7608 "regression-compile-tmp/imp22g-77.imp"
int XTYPE( void )
#line 7608 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7609    declare anon(details(typeid,inttype,0,0))
#line 7609 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(DETAILS(512, 43, 0, 0));
                                                                //   7610    %result = item
#line 7610 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return ITEM;
                                                                //   7611  %end
#line 7611 "regression-compile-tmp/imp22g-77.imp"
} // End of block XTYPE at level 5
                                                                //   7612  
                                                                //   7613  %routine STRING STAR ARRAY
#line 7613 "regression-compile-tmp/imp22g-77.imp"
void STRINGSTARARRAY( void )
#line 7613 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7614    fault(notin+point) %if depth = 0
#line 7614 "regression-compile-tmp/imp22g-77.imp"
if (((DEPTH) != (0))) goto L_07e6;
#line 7614 "regression-compile-tmp/imp22g-77.imp"
FAULT(104);
#line 7614 "regression-compile-tmp/imp22g-77.imp"
L_07e6:;
                                                                //   7615   ! VAR for size
                                                                //   7616    declare anon(details(okflag+mflag+inty,inttype,mode,0))
#line 7616 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(DETAILS(192, 43, MODE, 0));
                                                                //   7617    tot = item
#line 7617 "regression-compile-tmp/imp22g-77.imp"
TOT = ITEM;
                                                                //   7618    assign address(4)
#line 7618 "regression-compile-tmp/imp22g-77.imp"
ASSIGNADDRESS(4);
                                                                //   7619   ! TYPEID for string(*)
                                                                //   7620    declare anon(details(typeid+stringy,inttype,0,0))
#line 7620 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(DETAILS(520, 43, 0, 0));
                                                                //   7621    atype_type = item
#line 7621 "regression-compile-tmp/imp22g-77.imp"
ATYPE.TYPE = ITEM;
                                                                //   7622    elements = maxint
#line 7622 "regression-compile-tmp/imp22g-77.imp"
ELEMENTS = 2147483647;
                                                                //   7623  %end
#line 7623 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block STRINGSTARARRAY at level 5
                                                                //   7624  
                                                                //   7625  %routine GET REST
#line 7625 "regression-compile-tmp/imp22g-77.imp"
void GETREST( void )
#line 7625 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7626  %integer e,r,lo,loval,hi,hival
#line 7626 "regression-compile-tmp/imp22g-77.imp"
int E;
#line 7626 "regression-compile-tmp/imp22g-77.imp"
int R;
#line 7626 "regression-compile-tmp/imp22g-77.imp"
int LO;
#line 7626 "regression-compile-tmp/imp22g-77.imp"
int LOVAL;
#line 7626 "regression-compile-tmp/imp22g-77.imp"
int HI;
#line 7626 "regression-compile-tmp/imp22g-77.imp"
int HIVAL;
                                                                //   7627    r = 0
#line 7627 "regression-compile-tmp/imp22g-77.imp"
R = 0;
                                                                //   7628    atom = next atom %if matched # 0
#line 7628 "regression-compile-tmp/imp22g-77.imp"
if (((MATCHED) == (0))) goto L_07e7;
#line 7628 "regression-compile-tmp/imp22g-77.imp"
ATOM = NEXTATOM();
#line 7628 "regression-compile-tmp/imp22g-77.imp"
L_07e7:;
                                                                //   7629    %if decl_flags < 0 %start;  !%array%name
#line 7629 "regression-compile-tmp/imp22g-77.imp"
if (((DECL.FLAGS) >= (0))) goto L_07e8;
                                                                //   7630      %if depth > 0 %and ktype <= atom <= keyinteger %start;  !variable
#line 7630 "regression-compile-tmp/imp22g-77.imp"
if (((DEPTH) <= (0))) goto L_07e9;
#line 7630 "regression-compile-tmp/imp22g-77.imp"
if ((((27) > (ATOM))) || (((ATOM) > (28)))) goto L_07e9;
                                                                //   7631        r = xtype;  get VAR BOUND
#line 7631 "regression-compile-tmp/imp22g-77.imp"
R = XTYPE();
#line 7631 "regression-compile-tmp/imp22g-77.imp"
GETVARBOUND();
                                                                //   7632      %else
#line 7632 "regression-compile-tmp/imp22g-77.imp"
goto L_07ea;
#line 7632 "regression-compile-tmp/imp22g-77.imp"
L_07e9:;
                                                                //   7633        get LITERAL(inttype)
#line 7633 "regression-compile-tmp/imp22g-77.imp"
GETLITERAL(43);
                                                                //   7634      %finish
#line 7634 "regression-compile-tmp/imp22g-77.imp"
L_07ea:;
                                                                //   7635    %else;                   !%array
#line 7635 "regression-compile-tmp/imp22g-77.imp"
goto L_07eb;
#line 7635 "regression-compile-tmp/imp22g-77.imp"
L_07e8:;
                                                                //   7636      get VALUE(inttype)
#line 7636 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(43);
                                                                //   7637    %finish
#line 7637 "regression-compile-tmp/imp22g-77.imp"
L_07eb:;
                                                                //   7638    loval = value;  lo = item
#line 7638 "regression-compile-tmp/imp22g-77.imp"
LOVAL = VALUE;
#line 7638 "regression-compile-tmp/imp22g-77.imp"
LO = ITEM;
                                                                //   7639    loval = minint %if lo # 0
#line 7639 "regression-compile-tmp/imp22g-77.imp"
if (((LO) == (0))) goto L_07ec;
#line 7639 "regression-compile-tmp/imp22g-77.imp"
LOVAL = (-2147483648);
#line 7639 "regression-compile-tmp/imp22g-77.imp"
L_07ec:;
                                                                //   7640    get(colon)
#line 7640 "regression-compile-tmp/imp22g-77.imp"
GET(59);
                                                                //   7641    atom = next atom %if matched # 0
#line 7641 "regression-compile-tmp/imp22g-77.imp"
if (((MATCHED) == (0))) goto L_07ed;
#line 7641 "regression-compile-tmp/imp22g-77.imp"
ATOM = NEXTATOM();
#line 7641 "regression-compile-tmp/imp22g-77.imp"
L_07ed:;
                                                                //   7642    %if decl_flags < 0 %start
#line 7642 "regression-compile-tmp/imp22g-77.imp"
if (((DECL.FLAGS) >= (0))) goto L_07ee;
                                                                //   7643      %if depth > 0 %and ktype <= atom <= keyinteger %start;  !variable
#line 7643 "regression-compile-tmp/imp22g-77.imp"
if (((DEPTH) <= (0))) goto L_07ef;
#line 7643 "regression-compile-tmp/imp22g-77.imp"
if ((((27) > (ATOM))) || (((ATOM) > (28)))) goto L_07ef;
                                                                //   7644        %if r = 0 %start
#line 7644 "regression-compile-tmp/imp22g-77.imp"
if (((R) != (0))) goto L_07f0;
                                                                //   7645          r = xtype;  declare bound(litmode,loval)
#line 7645 "regression-compile-tmp/imp22g-77.imp"
R = XTYPE();
#line 7645 "regression-compile-tmp/imp22g-77.imp"
DECLAREBOUND(60, LOVAL);
                                                                //   7646        %finish
#line 7646 "regression-compile-tmp/imp22g-77.imp"
L_07f0:;
                                                                //   7647        get VAR BOUND
#line 7647 "regression-compile-tmp/imp22g-77.imp"
GETVARBOUND();
                                                                //   7648      %else
#line 7648 "regression-compile-tmp/imp22g-77.imp"
goto L_07f1;
#line 7648 "regression-compile-tmp/imp22g-77.imp"
L_07ef:;
                                                                //   7649        %if dim!r = 0 %and a(star)=TRUE %start
#line 7649 "regression-compile-tmp/imp22g-77.imp"
if (((((DIM) | (R))) != (0))) goto L_07f2;
#line 7649 "regression-compile-tmp/imp22g-77.imp"
if (((A(88)) != (1))) goto L_07f2;
                                                                //   7650          item = 0;  value = maxint
#line 7650 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
#line 7650 "regression-compile-tmp/imp22g-77.imp"
VALUE = 2147483647;
                                                                //   7651        %else
#line 7651 "regression-compile-tmp/imp22g-77.imp"
goto L_07f3;
#line 7651 "regression-compile-tmp/imp22g-77.imp"
L_07f2:;
                                                                //   7652          get LITERAL(inttype)
#line 7652 "regression-compile-tmp/imp22g-77.imp"
GETLITERAL(43);
                                                                //   7653          declare bound(litmode,value) %if r # 0
#line 7653 "regression-compile-tmp/imp22g-77.imp"
if (((R) == (0))) goto L_07f4;
#line 7653 "regression-compile-tmp/imp22g-77.imp"
DECLAREBOUND(60, VALUE);
#line 7653 "regression-compile-tmp/imp22g-77.imp"
L_07f4:;
                                                                //   7654        %finish
#line 7654 "regression-compile-tmp/imp22g-77.imp"
L_07f3:;
                                                                //   7655      %finish
#line 7655 "regression-compile-tmp/imp22g-77.imp"
L_07f1:;
                                                                //   7656    %else
#line 7656 "regression-compile-tmp/imp22g-77.imp"
goto L_07f5;
#line 7656 "regression-compile-tmp/imp22g-77.imp"
L_07ee:;
                                                                //   7657      get VALUE(inttype)
#line 7657 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(43);
                                                                //   7658    %finish
#line 7658 "regression-compile-tmp/imp22g-77.imp"
L_07f5:;
                                                                //   7659    hival = value;  hi = item
#line 7659 "regression-compile-tmp/imp22g-77.imp"
HIVAL = VALUE;
#line 7659 "regression-compile-tmp/imp22g-77.imp"
HI = ITEM;
                                                                //   7660    hival = maxint %if hi # 0
#line 7660 "regression-compile-tmp/imp22g-77.imp"
if (((HI) == (0))) goto L_07f6;
#line 7660 "regression-compile-tmp/imp22g-77.imp"
HIVAL = 2147483647;
#line 7660 "regression-compile-tmp/imp22g-77.imp"
L_07f6:;
                                                                //   7661    e = maxint
#line 7661 "regression-compile-tmp/imp22g-77.imp"
E = 2147483647;
                                                                //   7662    %if r = 0 %start;  !no range yet declared
#line 7662 "regression-compile-tmp/imp22g-77.imp"
if (((R) != (0))) goto L_07f7;
                                                                //   7663      %if lo!hi = 0 %start
#line 7663 "regression-compile-tmp/imp22g-77.imp"
if (((((LO) | (HI))) != (0))) goto L_07f8;
                                                                //   7664        e = hival-loval %if hival!!loval >= 0 %or minint+hival-loval < 0
#line 7664 "regression-compile-tmp/imp22g-77.imp"
if (((((HIVAL) ^ (LOVAL))) >= (0))) goto L_07c8;
#line 7664 "regression-compile-tmp/imp22g-77.imp"
if ((((((int)((((int)((-2147483648))) + (HIVAL)))) - (LOVAL))) >= (0))) goto L_07f9;
#line 7664 "regression-compile-tmp/imp22g-77.imp"
L_07c8:;
#line 7664 "regression-compile-tmp/imp22g-77.imp"
E = (((int)(HIVAL)) - (LOVAL));
#line 7664 "regression-compile-tmp/imp22g-77.imp"
L_07f9:;
                                                                //   7665        e = e+1 %if e # maxint
#line 7665 "regression-compile-tmp/imp22g-77.imp"
if (((E) == (2147483647))) goto L_07fa;
#line 7665 "regression-compile-tmp/imp22g-77.imp"
E = (((int)(E)) + (1));
#line 7665 "regression-compile-tmp/imp22g-77.imp"
L_07fa:;
                                                                //   7666        e = 0 %if hival = maxint
#line 7666 "regression-compile-tmp/imp22g-77.imp"
if (((HIVAL) != (2147483647))) goto L_07fb;
#line 7666 "regression-compile-tmp/imp22g-77.imp"
E = 0;
#line 7666 "regression-compile-tmp/imp22g-77.imp"
L_07fb:;
                                                                //   7667        declare lit range(inttype,loval,hival)
#line 7667 "regression-compile-tmp/imp22g-77.imp"
DECLARELITRANGE(43, LOVAL, HIVAL);
                                                                //   7668      %else
#line 7668 "regression-compile-tmp/imp22g-77.imp"
goto L_07fc;
#line 7668 "regression-compile-tmp/imp22g-77.imp"
L_07f8:;
                                                                //   7669        declare anon(typeident);               !blank (for updating)
#line 7669 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(&TYPEIDENT);
                                                                //   7670        declare range(inttype,loval,hival)
#line 7670 "regression-compile-tmp/imp22g-77.imp"
DECLARERANGE(43, LOVAL, HIVAL);
                                                                //   7671      %finish
#line 7671 "regression-compile-tmp/imp22g-77.imp"
L_07fc:;
                                                                //   7672      r = item
#line 7672 "regression-compile-tmp/imp22g-77.imp"
R = ITEM;
                                                                //   7673    %finish
#line 7673 "regression-compile-tmp/imp22g-77.imp"
L_07f7:;
                                                                //   7674    elements = e
#line 7674 "regression-compile-tmp/imp22g-77.imp"
ELEMENTS = E;
                                                                //   7675    %if a(comma)=TRUE %start
#line 7675 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) != (1))) goto L_07fd;
                                                                //   7676      dim = dim+1
#line 7676 "regression-compile-tmp/imp22g-77.imp"
DIM = (((int)(DIM)) + (1));
                                                                //   7677      get REST
#line 7677 "regression-compile-tmp/imp22g-77.imp"
GETREST();
                                                                //   7678      %if elements # maxint %and e # maxint %start
#line 7678 "regression-compile-tmp/imp22g-77.imp"
if (((ELEMENTS) == (2147483647))) goto L_07fe;
#line 7678 "regression-compile-tmp/imp22g-77.imp"
if (((E) == (2147483647))) goto L_07fe;
                                                                //   7679        elements = elements*e
#line 7679 "regression-compile-tmp/imp22g-77.imp"
ELEMENTS = (((int)(ELEMENTS)) * (E));
                                                                //   7680      %else
#line 7680 "regression-compile-tmp/imp22g-77.imp"
goto L_07ff;
#line 7680 "regression-compile-tmp/imp22g-77.imp"
L_07fe:;
                                                                //   7681        elements = maxint
#line 7681 "regression-compile-tmp/imp22g-77.imp"
ELEMENTS = 2147483647;
                                                                //   7682      %finish
#line 7682 "regression-compile-tmp/imp22g-77.imp"
L_07ff:;
                                                                //   7683    %finish
#line 7683 "regression-compile-tmp/imp22g-77.imp"
L_07fd:;
                                                                //   7684    atype_xtype = r
#line 7684 "regression-compile-tmp/imp22g-77.imp"
ATYPE.XTYPE = R;
                                                                //   7685    size1 = totsize;  lo1 = loval;       !for outer dimension
#line 7685 "regression-compile-tmp/imp22g-77.imp"
SIZE1 = TOTSIZE;
#line 7685 "regression-compile-tmp/imp22g-77.imp"
LO1 = LOVAL;
                                                                //   7686    string star array %if atype_type = stringstar
#line 7686 "regression-compile-tmp/imp22g-77.imp"
if (((ATYPE.TYPE) != (62))) goto L_0800;
#line 7686 "regression-compile-tmp/imp22g-77.imp"
STRINGSTARARRAY();
#line 7686 "regression-compile-tmp/imp22g-77.imp"
L_0800:;
                                                                //   7687    %if elements = maxint %start;             !non-literal bounds
#line 7687 "regression-compile-tmp/imp22g-77.imp"
if (((ELEMENTS) != (2147483647))) goto L_0801;
                                                                //   7688      atype_mode = mode
#line 7688 "regression-compile-tmp/imp22g-77.imp"
ATYPE.MODE = MODE;
                                                                //   7689      declare anon(atype)
#line 7689 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(&ATYPE);
                                                                //   7690      atype_type = item;          !save type id
#line 7690 "regression-compile-tmp/imp22g-77.imp"
ATYPE.TYPE = ITEM;
                                                                //   7691      %if decl_flags >= 0 %or (depth = 1 %and speccing = 0) %start
#line 7691 "regression-compile-tmp/imp22g-77.imp"
if (((DECL.FLAGS) >= (0))) goto L_07e2;
#line 7691 "regression-compile-tmp/imp22g-77.imp"
if (((DEPTH) != (1))) goto L_0802;
#line 7691 "regression-compile-tmp/imp22g-77.imp"
if (((SPECCING) != (0))) goto L_0802;
#line 7691 "regression-compile-tmp/imp22g-77.imp"
L_07e2:;
                                                                //   7692        lo = litref(loval) %if lo = 0
#line 7692 "regression-compile-tmp/imp22g-77.imp"
if (((LO) != (0))) goto L_0803;
#line 7692 "regression-compile-tmp/imp22g-77.imp"
LO = LITREF(LOVAL);
#line 7692 "regression-compile-tmp/imp22g-77.imp"
L_0803:;
                                                                //   7693        hi = litref(hival) %if hi = 0
#line 7693 "regression-compile-tmp/imp22g-77.imp"
if (((HI) != (0))) goto L_0804;
#line 7693 "regression-compile-tmp/imp22g-77.imp"
HI = LITREF(HIVAL);
#line 7693 "regression-compile-tmp/imp22g-77.imp"
L_0804:;
                                                                //   7694        tot = litref(totsize) %if tot = 0
#line 7694 "regression-compile-tmp/imp22g-77.imp"
if (((TOT) != (0))) goto L_0805;
#line 7694 "regression-compile-tmp/imp22g-77.imp"
TOT = LITREF(TOTSIZE);
#line 7694 "regression-compile-tmp/imp22g-77.imp"
L_0805:;
                                                                //   7695        putact(asize,item,tot)
#line 7695 "regression-compile-tmp/imp22g-77.imp"
PUTACT(105, ITEM, TOT);
                                                                //   7696        putact(0,lo,hi)
#line 7696 "regression-compile-tmp/imp22g-77.imp"
PUTACT(0, LO, HI);
                                                                //   7697        %if decl_flags >= 0  %start
#line 7697 "regression-compile-tmp/imp22g-77.imp"
if (((DECL.FLAGS) < (0))) goto L_0806;
                                                                //   7698          compile(np0)
#line 7698 "regression-compile-tmp/imp22g-77.imp"
COMPILE(NP0);
                                                                //   7699          dict(r+1)_mode = c_mode %and dict(r+1)_val = c_sp+4 %if lo > 0
#line 7699 "regression-compile-tmp/imp22g-77.imp"
if (((LO) <= (0))) goto L_0807;
#line 7699 "regression-compile-tmp/imp22g-77.imp"
DICT[(((int)(R)) + (1))].MODE = C.MODE;
#line 7699 "regression-compile-tmp/imp22g-77.imp"
DICT[(((int)(R)) + (1))].VAL = (((int)(C.SP)) + (4));
#line 7699 "regression-compile-tmp/imp22g-77.imp"
L_0807:;
                                                                //   7700          dict(r+2)_mode = c_mode %and dict(r+2)_val = c_sp %if hi > 0
#line 7700 "regression-compile-tmp/imp22g-77.imp"
if (((HI) <= (0))) goto L_0808;
#line 7700 "regression-compile-tmp/imp22g-77.imp"
DICT[(((int)(R)) + (2))].MODE = C.MODE;
#line 7700 "regression-compile-tmp/imp22g-77.imp"
DICT[(((int)(R)) + (2))].VAL = C.SP;
#line 7700 "regression-compile-tmp/imp22g-77.imp"
L_0808:;
                                                                //   7701        %finish
#line 7701 "regression-compile-tmp/imp22g-77.imp"
L_0806:;
                                                                //   7702      %finish
#line 7702 "regression-compile-tmp/imp22g-77.imp"
L_0802:;
                                                                //   7703      tot = 0;  totsize = 0
#line 7703 "regression-compile-tmp/imp22g-77.imp"
TOT = 0;
#line 7703 "regression-compile-tmp/imp22g-77.imp"
TOTSIZE = 0;
                                                                //   7704    %else;  !literal bounds
#line 7704 "regression-compile-tmp/imp22g-77.imp"
goto L_0809;
#line 7704 "regression-compile-tmp/imp22g-77.imp"
L_0801:;
                                                                //   7705      item = 0
#line 7705 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
                                                                //   7706      %cycle
#line 7706 "regression-compile-tmp/imp22g-77.imp"
L_080a:;
                                                                //   7707        ditem == dict(item)
#line 7707 "regression-compile-tmp/imp22g-77.imp"
DITEM = &DICT[ITEM];
                                                                //   7708        %exit %if ditem_type = atype_type %and ditem_xtype = atype_xtype %c
#line 7708 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->TYPE) != (ATYPE.TYPE))) goto L_080d;
#line 7708 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->XTYPE) != (ATYPE.XTYPE))) goto L_080d;
#line 7708 "regression-compile-tmp/imp22g-77.imp"
if (((DITEM->FLAGS) != (ATYPE.FLAGS))) goto L_080d;
#line 7708 "regression-compile-tmp/imp22g-77.imp"
goto L_080b;
#line 7708 "regression-compile-tmp/imp22g-77.imp"
L_080d:;
                                                                //   7709              %and ditem_flags = atype_flags
                                                                //   7710        item = item+1
#line 7710 "regression-compile-tmp/imp22g-77.imp"
ITEM = (((int)(ITEM)) + (1));
                                                                //   7711        %if item = dlim %start
#line 7711 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) != (DLIM))) goto L_080e;
                                                                //   7712          declare anon(atype)
#line 7712 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(&ATYPE);
                                                                //   7713          %exit
#line 7713 "regression-compile-tmp/imp22g-77.imp"
goto L_080b;
                                                                //   7714        %finish
#line 7714 "regression-compile-tmp/imp22g-77.imp"
L_080e:;
                                                                //   7715      %repeat
#line 7715 "regression-compile-tmp/imp22g-77.imp"
goto L_080a;
#line 7715 "regression-compile-tmp/imp22g-77.imp"
L_080b:;
                                                                //   7716      atype_type = item
#line 7716 "regression-compile-tmp/imp22g-77.imp"
ATYPE.TYPE = ITEM;
                                                                //   7717      totsize = totsize*e
#line 7717 "regression-compile-tmp/imp22g-77.imp"
TOTSIZE = (((int)(TOTSIZE)) * (E));
                                                                //   7718    %finish
#line 7718 "regression-compile-tmp/imp22g-77.imp"
L_0809:;
                                                                //   7719  %end;  !get REST
#line 7719 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETREST at level 5
                                                                //   7720  
                                                                //   7721  %routine PUT BOUNDS
#line 7721 "regression-compile-tmp/imp22g-77.imp"
void PUTBOUNDS( void )
#line 7721 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7722  %integer i
#line 7722 "regression-compile-tmp/imp22g-77.imp"
int I;
                                                                //   7723    i = xtype;                         !index type
#line 7723 "regression-compile-tmp/imp22g-77.imp"
I = XTYPE();
                                                                //   7724    declare bound(mode,0);             !lower
#line 7724 "regression-compile-tmp/imp22g-77.imp"
DECLAREBOUND(MODE, 0);
                                                                //   7725    declare bound(mode,0);             !upper
#line 7725 "regression-compile-tmp/imp22g-77.imp"
DECLAREBOUND(MODE, 0);
                                                                //   7726    dim = dim-1
#line 7726 "regression-compile-tmp/imp22g-77.imp"
DIM = (((int)(DIM)) - (1));
                                                                //   7727    put bounds %if dim > 0
#line 7727 "regression-compile-tmp/imp22g-77.imp"
if (((DIM) <= (0))) goto L_080f;
#line 7727 "regression-compile-tmp/imp22g-77.imp"
PUTBOUNDS();
#line 7727 "regression-compile-tmp/imp22g-77.imp"
L_080f:;
                                                                //   7728    string star array %if atype_type = stringstar
#line 7728 "regression-compile-tmp/imp22g-77.imp"
if (((ATYPE.TYPE) != (62))) goto L_0810;
#line 7728 "regression-compile-tmp/imp22g-77.imp"
STRINGSTARARRAY();
#line 7728 "regression-compile-tmp/imp22g-77.imp"
L_0810:;
                                                                //   7729    atype_xtype = i
#line 7729 "regression-compile-tmp/imp22g-77.imp"
ATYPE.XTYPE = I;
                                                                //   7730    declare anon(atype);                  !array type
#line 7730 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(&ATYPE);
                                                                //   7731    %if speccing = 0 %start
#line 7731 "regression-compile-tmp/imp22g-77.imp"
if (((SPECCING) != (0))) goto L_0811;
                                                                //   7732      tot = litref(totsize) %if tot = 0
#line 7732 "regression-compile-tmp/imp22g-77.imp"
if (((TOT) != (0))) goto L_0812;
#line 7732 "regression-compile-tmp/imp22g-77.imp"
TOT = LITREF(TOTSIZE);
#line 7732 "regression-compile-tmp/imp22g-77.imp"
L_0812:;
                                                                //   7733      putact(asize,item,tot)
#line 7733 "regression-compile-tmp/imp22g-77.imp"
PUTACT(105, ITEM, TOT);
                                                                //   7734      putact(0,i+1,i+2)
#line 7734 "regression-compile-tmp/imp22g-77.imp"
PUTACT(0, (((int)(I)) + (1)), (((int)(I)) + (2)));
                                                                //   7735    %finish
#line 7735 "regression-compile-tmp/imp22g-77.imp"
L_0811:;
                                                                //   7736    tot = 0;  totsize = 0;  lo1 = minint
#line 7736 "regression-compile-tmp/imp22g-77.imp"
TOT = 0;
#line 7736 "regression-compile-tmp/imp22g-77.imp"
TOTSIZE = 0;
#line 7736 "regression-compile-tmp/imp22g-77.imp"
LO1 = (-2147483648);
                                                                //   7737    atype_type = item
#line 7737 "regression-compile-tmp/imp22g-77.imp"
ATYPE.TYPE = ITEM;
                                                                //   7738  %end
#line 7738 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTBOUNDS at level 5
                                                                //   7739  
                                                                //   7740    pos = dlim0;  dlim1 = dlim;  dp == ditem
#line 7740 "regression-compile-tmp/imp22g-77.imp"
POS = DLIM0;
#line 7740 "regression-compile-tmp/imp22g-77.imp"
DLIM1 = DLIM;
#line 7740 "regression-compile-tmp/imp22g-77.imp"
DP = DITEM;
                                                                //   7741    atype_flags = typeid+arry+okflag;  atype_type = itemtype
#line 7741 "regression-compile-tmp/imp22g-77.imp"
ATYPE.FLAGS = 585;
#line 7741 "regression-compile-tmp/imp22g-77.imp"
ATYPE.TYPE = ITEMTYPE;
                                                                //   7742    %if atype_type < 0 %start;  !element %name
#line 7742 "regression-compile-tmp/imp22g-77.imp"
if (((ATYPE.TYPE) >= (0))) goto L_0813;
                                                                //   7743      atype_flags = atype_flags+name;  atype_type = atype_type-name
#line 7743 "regression-compile-tmp/imp22g-77.imp"
ATYPE.FLAGS = (((int)(ATYPE.FLAGS)) + ((-32768)));
#line 7743 "regression-compile-tmp/imp22g-77.imp"
ATYPE.TYPE = (((short)(ATYPE.TYPE)) + (32768));
                                                                //   7744    %finish
#line 7744 "regression-compile-tmp/imp22g-77.imp"
L_0813:;
                                                                //   7745    atype_mode = constmode;   !by default (literal bounds)
#line 7745 "regression-compile-tmp/imp22g-77.imp"
ATYPE.MODE = 122;
                                                                //   7746    tot = 0;  totsize = imod(itemsize)
#line 7746 "regression-compile-tmp/imp22g-77.imp"
TOT = 0;
#line 7746 "regression-compile-tmp/imp22g-77.imp"
TOTSIZE = _imp_IMOD(ITEMSIZE);
                                                                //   7747    %if dim > 0 %start;  !%array(n)%name
#line 7747 "regression-compile-tmp/imp22g-77.imp"
if (((DIM) <= (0))) goto L_0814;
                                                                //   7748      atype_mode = mode
#line 7748 "regression-compile-tmp/imp22g-77.imp"
ATYPE.MODE = MODE;
                                                                //   7749      put bounds
#line 7749 "regression-compile-tmp/imp22g-77.imp"
PUTBOUNDS();
                                                                //   7750      elements = maxint
#line 7750 "regression-compile-tmp/imp22g-77.imp"
ELEMENTS = 2147483647;
                                                                //   7751    %else;  !left parenthesis recognised
#line 7751 "regression-compile-tmp/imp22g-77.imp"
goto L_0815;
#line 7751 "regression-compile-tmp/imp22g-77.imp"
L_0814:;
                                                                //   7752      get REST
#line 7752 "regression-compile-tmp/imp22g-77.imp"
GETREST();
                                                                //   7753      get(right)
#line 7753 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   7754    %finish
#line 7754 "regression-compile-tmp/imp22g-77.imp"
L_0815:;
                                                                //   7755    dp_type = atype_type
#line 7755 "regression-compile-tmp/imp22g-77.imp"
DP->TYPE = ATYPE.TYPE;
                                                                //   7756    %if mode # constmode %and mode # ownmode %start
#line 7756 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) == (122))) goto L_0816;
#line 7756 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) == (108))) goto L_0816;
                                                                //   7757      holdval = d0
#line 7757 "regression-compile-tmp/imp22g-77.imp"
HOLDVAL = 1;
                                                                //   7758      %while pos # dlim1 %cycle
#line 7758 "regression-compile-tmp/imp22g-77.imp"
L_0817:;
#line 7758 "regression-compile-tmp/imp22g-77.imp"
if (((POS) == (DLIM1))) goto L_0818;
                                                                //   7759        dp == dict(pos)
#line 7759 "regression-compile-tmp/imp22g-77.imp"
DP = &DICT[POS];
                                                                //   7760        dp_type = atype_type
#line 7760 "regression-compile-tmp/imp22g-77.imp"
DP->TYPE = ATYPE.TYPE;
                                                                //   7761        %if mode >= framemode %start
#line 7761 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) < (168))) goto L_081a;
                                                                //   7762          dp_flags = dp_flags!arrflag %if lo1 = minint %or size1 = 0
#line 7762 "regression-compile-tmp/imp22g-77.imp"
if (((LO1) == ((-2147483648)))) goto L_07de;
#line 7762 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE1) != (0))) goto L_081b;
#line 7762 "regression-compile-tmp/imp22g-77.imp"
L_07de:;
#line 7762 "regression-compile-tmp/imp22g-77.imp"
DP->FLAGS = ((DP->FLAGS) | (8));
#line 7762 "regression-compile-tmp/imp22g-77.imp"
L_081b:;
                                                                //   7763          %if decl_flags >= 0 %start;  !%array not %array%name
#line 7763 "regression-compile-tmp/imp22g-77.imp"
if (((DECL.FLAGS) < (0))) goto L_081c;
                                                                //   7764            %if totsize # 0 {all literal bounds} %c
#line 7764 "regression-compile-tmp/imp22g-77.imp"
if (((TOTSIZE) == (0))) goto L_081d;
#line 7764 "regression-compile-tmp/imp22g-77.imp"
if ((((((int)((((int)(((TOTSIZE) << (1)))) - (C.SP)))) + (*DISP))) > (32000))) goto L_081d;
                                                                //   7765            %and totsize<<1-c_sp+disp <= 32000 %start
                                                                //   7766              !if array will occupy less than half remaining reach
                                                                //   7767              !then allocate directly on stack
                                                                //   7768              disp = disp+totsize
#line 7768 "regression-compile-tmp/imp22g-77.imp"
*DISP = ((*(int *)(DISP)) + (TOTSIZE));
                                                                //   7769              align(disp,2)
#line 7769 "regression-compile-tmp/imp22g-77.imp"
ALIGN(DISP, 2);
                                                                //   7770            %else
#line 7770 "regression-compile-tmp/imp22g-77.imp"
goto L_081e;
#line 7770 "regression-compile-tmp/imp22g-77.imp"
L_081d:;
                                                                //   7771              fault(ordererr) %if c_mode&2_01000000 # 0; !hard order error
#line 7771 "regression-compile-tmp/imp22g-77.imp"
if (((((C.MODE) & (64))) == (0))) goto L_081f;
#line 7771 "regression-compile-tmp/imp22g-77.imp"
FAULT(22);
#line 7771 "regression-compile-tmp/imp22g-77.imp"
L_081f:;
                                                                //   7772              %if totsize # 0 %start;  !known bounds but too big
#line 7772 "regression-compile-tmp/imp22g-77.imp"
if (((TOTSIZE) == (0))) goto L_0820;
                                                                //   7773                c_extra = c_extra+totsize
#line 7773 "regression-compile-tmp/imp22g-77.imp"
C.EXTRA = (((int)(C.EXTRA)) + (TOTSIZE));
                                                                //   7774                holdval = litref(totsize)
#line 7774 "regression-compile-tmp/imp22g-77.imp"
HOLDVAL = LITREF(TOTSIZE);
                                                                //   7775              %finish
#line 7775 "regression-compile-tmp/imp22g-77.imp"
L_0820:;
                                                                //   7776              ![ADOK updates C_SP]
                                                                //   7777              holdz = 0;  holdz = litref(-lo1*size1) %if dp_flags&arrflag = 0
#line 7777 "regression-compile-tmp/imp22g-77.imp"
HOLDZ = 0;
#line 7777 "regression-compile-tmp/imp22g-77.imp"
if (((((DP->FLAGS) & (8))) != (0))) goto L_0821;
#line 7777 "regression-compile-tmp/imp22g-77.imp"
HOLDZ = LITREF((-((((int)(LO1)) * (SIZE1)))));
#line 7777 "regression-compile-tmp/imp22g-77.imp"
L_0821:;
                                                                //   7778              putact(adok,holdval,holdz);  !compute & store space needed
#line 7778 "regression-compile-tmp/imp22g-77.imp"
PUTACT(103, HOLDVAL, HOLDZ);
                                                                //   7779              compile(np0)
#line 7779 "regression-compile-tmp/imp22g-77.imp"
COMPILE(NP0);
                                                                //   7780              dp_flags = dp_flags+indirect
#line 7780 "regression-compile-tmp/imp22g-77.imp"
DP->FLAGS = (((int)(DP->FLAGS)) + (2048));
                                                                //   7781              dp_link = c_dynarray
#line 7781 "regression-compile-tmp/imp22g-77.imp"
DP->LINK = C.DYNARRAY;
                                                                //   7782              c_dynarray = pos;  c_dynarray = -c_dynarray %if holdz # 0
#line 7782 "regression-compile-tmp/imp22g-77.imp"
C.DYNARRAY = POS;
#line 7782 "regression-compile-tmp/imp22g-77.imp"
if (((HOLDZ) == (0))) goto L_0822;
#line 7782 "regression-compile-tmp/imp22g-77.imp"
C.DYNARRAY = (-(C.DYNARRAY));
#line 7782 "regression-compile-tmp/imp22g-77.imp"
L_0822:;
                                                                //   7783              c_status = c_status!unknown
#line 7783 "regression-compile-tmp/imp22g-77.imp"
C.STATUS = ((C.STATUS) | (2));
                                                                //   7784              holdval = 0
#line 7784 "regression-compile-tmp/imp22g-77.imp"
HOLDVAL = 0;
                                                                //   7785            %finish
#line 7785 "regression-compile-tmp/imp22g-77.imp"
L_081e:;
                                                                //   7786            dp_val = c_sp-disp
#line 7786 "regression-compile-tmp/imp22g-77.imp"
DP->VAL = (((int)(C.SP)) - (*DISP));
                                                                //   7787          %finish
#line 7787 "regression-compile-tmp/imp22g-77.imp"
L_081c:;
                                                                //   7788        %else { %if decl_flags >= 0};  !record field or absolute
#line 7788 "regression-compile-tmp/imp22g-77.imp"
goto L_0823;
#line 7788 "regression-compile-tmp/imp22g-77.imp"
L_081a:;
                                                                //   7789                                    !** to be corrected **
                                                                //   7790                                    !name already allocated
                                                                //   7791  {        dp_val = disp;  disp = disp+totsize}
                                                                //   7792          dp_val = disp
#line 7792 "regression-compile-tmp/imp22g-77.imp"
DP->VAL = *DISP;
                                                                //   7793          %if decl_flags < 0 %then disp = disp+4 %else disp = disp+totsize
#line 7793 "regression-compile-tmp/imp22g-77.imp"
if (((DECL.FLAGS) >= (0))) goto L_0824;
#line 7793 "regression-compile-tmp/imp22g-77.imp"
*DISP = ((*(int *)(DISP)) + (4));
#line 7793 "regression-compile-tmp/imp22g-77.imp"
goto L_0825;
#line 7793 "regression-compile-tmp/imp22g-77.imp"
L_0824:;
#line 7793 "regression-compile-tmp/imp22g-77.imp"
*DISP = ((*(int *)(DISP)) + (TOTSIZE));
#line 7793 "regression-compile-tmp/imp22g-77.imp"
L_0825:;
                                                                //   7794        %finish
#line 7794 "regression-compile-tmp/imp22g-77.imp"
L_0823:;
                                                                //   7795        pos = pos+1
#line 7795 "regression-compile-tmp/imp22g-77.imp"
POS = (((int)(POS)) + (1));
                                                                //   7796      %repeat
#line 7796 "regression-compile-tmp/imp22g-77.imp"
goto L_0817;
#line 7796 "regression-compile-tmp/imp22g-77.imp"
L_0818:;
                                                                //   7797    %else;                           !const,own
#line 7797 "regression-compile-tmp/imp22g-77.imp"
goto L_0826;
#line 7797 "regression-compile-tmp/imp22g-77.imp"
L_0816:;
                                                                //   7798      %if decl_flags&(name+indirect) # 0 %start
#line 7798 "regression-compile-tmp/imp22g-77.imp"
if (((((DECL.FLAGS) & ((-30720)))) == (0))) goto L_0827;
                                                                //   7799        %if mode = constmode %then fill code(4) %else fill own(4)
#line 7799 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) != (122))) goto L_0828;
#line 7799 "regression-compile-tmp/imp22g-77.imp"
FILLCODE(4);
#line 7799 "regression-compile-tmp/imp22g-77.imp"
goto L_0829;
#line 7799 "regression-compile-tmp/imp22g-77.imp"
L_0828:;
#line 7799 "regression-compile-tmp/imp22g-77.imp"
FILLOWN(4);
#line 7799 "regression-compile-tmp/imp22g-77.imp"
L_0829:;
                                                                //   7800      %else
#line 7800 "regression-compile-tmp/imp22g-77.imp"
goto L_082a;
#line 7800 "regression-compile-tmp/imp22g-77.imp"
L_0827:;
                                                                //   7801        %if a assop(itemtype)=TRUE %start
#line 7801 "regression-compile-tmp/imp22g-77.imp"
if (((AASSOP(ITEMTYPE)) != (1))) goto L_082b;
                                                                //   7802          jam = jammy
#line 7802 "regression-compile-tmp/imp22g-77.imp"
JAM = JAMMY;
                                                                //   7803          dp_flags = dp_flags!okflag;  ![hum]
#line 7803 "regression-compile-tmp/imp22g-77.imp"
DP->FLAGS = ((DP->FLAGS) | (64));
                                                                //   7804          allow(terminator)
#line 7804 "regression-compile-tmp/imp22g-77.imp"
ALLOW(51);
                                                                //   7805          %cycle
#line 7805 "regression-compile-tmp/imp22g-77.imp"
L_082c:;
                                                                //   7806            jammy = jam
#line 7806 "regression-compile-tmp/imp22g-77.imp"
JAMMY = JAM;
                                                                //   7807            get VALUE(itemtype)
#line 7807 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(ITEMTYPE);
                                                                //   7808            faultnum = rangerr+point+warn %if faultnum = rangerr+point
#line 7808 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTNUM) != (88))) goto L_082f;
#line 7808 "regression-compile-tmp/imp22g-77.imp"
FAULTNUM = (-40);
#line 7808 "regression-compile-tmp/imp22g-77.imp"
L_082f:;
                                                                //   7809            holdval = value
#line 7809 "regression-compile-tmp/imp22g-77.imp"
HOLDVAL = VALUE;
                                                                //   7810            value = 1
#line 7810 "regression-compile-tmp/imp22g-77.imp"
VALUE = 1;
                                                                //   7811            %if a(left)=TRUE %start
#line 7811 "regression-compile-tmp/imp22g-77.imp"
if (((A(55)) != (1))) goto L_0830;
                                                                //   7812              value = elements
#line 7812 "regression-compile-tmp/imp22g-77.imp"
VALUE = ELEMENTS;
                                                                //   7813              get LITERAL(halftype) %unless a(star)=TRUE
#line 7813 "regression-compile-tmp/imp22g-77.imp"
if (((A(88)) == (1))) goto L_0831;
#line 7813 "regression-compile-tmp/imp22g-77.imp"
GETLITERAL(49);
#line 7813 "regression-compile-tmp/imp22g-77.imp"
L_0831:;
                                                                //   7814              get(right)
#line 7814 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   7815            %finish
#line 7815 "regression-compile-tmp/imp22g-77.imp"
L_0830:;
                                                                //   7816            elements = elements-value
#line 7816 "regression-compile-tmp/imp22g-77.imp"
ELEMENTS = (((int)(ELEMENTS)) - (VALUE));
                                                                //   7817            value = value+elements %if elements < 0
#line 7817 "regression-compile-tmp/imp22g-77.imp"
if (((ELEMENTS) >= (0))) goto L_0832;
#line 7817 "regression-compile-tmp/imp22g-77.imp"
VALUE = (((int)(VALUE)) + (ELEMENTS));
#line 7817 "regression-compile-tmp/imp22g-77.imp"
L_0832:;
                                                                //   7818            dump const(holdval,value)
#line 7818 "regression-compile-tmp/imp22g-77.imp"
DUMPCONST(HOLDVAL, VALUE);
                                                                //   7819          %repeat %until %not a(comma)=TRUE
#line 7819 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) != (1))) goto L_082d;
#line 7819 "regression-compile-tmp/imp22g-77.imp"
goto L_082c;
#line 7819 "regression-compile-tmp/imp22g-77.imp"
L_082d:;
                                                                //   7820          %if faultnum = 0 %and elements # 0 %start
#line 7820 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTNUM) != (0))) goto L_0833;
#line 7820 "regression-compile-tmp/imp22g-77.imp"
if (((ELEMENTS) == (0))) goto L_0833;
                                                                //   7821            %if elements < 0 %then report(counterr,pos,elements) %c
#line 7821 "regression-compile-tmp/imp22g-77.imp"
if (((ELEMENTS) >= (0))) goto L_0834;
#line 7821 "regression-compile-tmp/imp22g-77.imp"
REPORT(45, POS, ELEMENTS);
#line 7821 "regression-compile-tmp/imp22g-77.imp"
goto L_0835;
#line 7821 "regression-compile-tmp/imp22g-77.imp"
L_0834:;
#line 7821 "regression-compile-tmp/imp22g-77.imp"
REPORT((-83), POS, ELEMENTS);
#line 7821 "regression-compile-tmp/imp22g-77.imp"
L_0835:;
                                                                //   7822            %else report(counterr+warn,pos,elements)
                                                                //   7823          %finish
#line 7823 "regression-compile-tmp/imp22g-77.imp"
L_0833:;
                                                                //   7824        %finish
#line 7824 "regression-compile-tmp/imp22g-77.imp"
L_082b:;
                                                                //   7825        dump const(0,elements) %if elements > 0
#line 7825 "regression-compile-tmp/imp22g-77.imp"
if (((ELEMENTS) <= (0))) goto L_0836;
#line 7825 "regression-compile-tmp/imp22g-77.imp"
DUMPCONST(0, ELEMENTS);
#line 7825 "regression-compile-tmp/imp22g-77.imp"
L_0836:;
                                                                //   7826      %finish
#line 7826 "regression-compile-tmp/imp22g-77.imp"
L_082a:;
                                                                //   7827    %finish
#line 7827 "regression-compile-tmp/imp22g-77.imp"
L_0826:;
                                                                //   7828  %end;  !get ARRAY DECLARATION
#line 7828 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETARRAYDECLARATION at level 4
                                                                //   7829  !
                                                                //   7830  %routine GET PROCEDURE DECLARATION
#line 7830 "regression-compile-tmp/imp22g-77.imp"
void GETPROCEDUREDECLARATION( void )
#line 7830 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7831  %integer pos,dlim1,argmode,argad,restype,stack
#line 7831 "regression-compile-tmp/imp22g-77.imp"
int POS;
#line 7831 "regression-compile-tmp/imp22g-77.imp"
int DLIM1;
#line 7831 "regression-compile-tmp/imp22g-77.imp"
int ARGMODE;
#line 7831 "regression-compile-tmp/imp22g-77.imp"
int ARGAD;
#line 7831 "regression-compile-tmp/imp22g-77.imp"
int RESTYPE;
#line 7831 "regression-compile-tmp/imp22g-77.imp"
int STACK;
                                                                //   7832  %record(identinfo)%name headditem,dhold
#line 7832 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*HEADDITEM;
#line 7832 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*DHOLD;
                                                                //   7833  
                                                                //   7834  %integerfn DUPOK
#line 7834 "regression-compile-tmp/imp22g-77.imp"
int DUPOK( void )
#line 7834 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7835  !Check that the proc being declared can reasonably alias existing id
                                                                //   7836  %record(identinfo)%name tp
#line 7836 "regression-compile-tmp/imp22g-77.imp"
 IDENTINFO /*name*/*TP;
                                                                //   7837    %result = FALSE %if ditem_flags&proc = 0
#line 7837 "regression-compile-tmp/imp22g-77.imp"
if (((((DITEM->FLAGS) & (12288))) != (0))) goto L_0837;
#line 7837 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 7837 "regression-compile-tmp/imp22g-77.imp"
L_0837:;
                                                                //   7838    tp == typecell(ditem_type)
#line 7838 "regression-compile-tmp/imp22g-77.imp"
TP = TYPECELL(DITEM->TYPE);
                                                                //   7839    %if restype = 0 %start;  !routine
#line 7839 "regression-compile-tmp/imp22g-77.imp"
if (((RESTYPE) != (0))) goto L_0838;
                                                                //   7840      %result = FALSE %if tp_type # 0 %or tp_link = 0; !not routine, or no pars
#line 7840 "regression-compile-tmp/imp22g-77.imp"
if (((TP->TYPE) != (0))) goto L_0819;
#line 7840 "regression-compile-tmp/imp22g-77.imp"
if (((TP->LINK) != (0))) goto L_0839;
#line 7840 "regression-compile-tmp/imp22g-77.imp"
L_0819:;
#line 7840 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 7840 "regression-compile-tmp/imp22g-77.imp"
L_0839:;
                                                                //   7841    %else
#line 7841 "regression-compile-tmp/imp22g-77.imp"
goto L_083a;
#line 7841 "regression-compile-tmp/imp22g-77.imp"
L_0838:;
                                                                //   7842      %result = FALSE %if restype = tp_type;  !function of same type
#line 7842 "regression-compile-tmp/imp22g-77.imp"
if (((RESTYPE) != (TP->TYPE))) goto L_083b;
#line 7842 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 7842 "regression-compile-tmp/imp22g-77.imp"
L_083b:;
                                                                //   7843    %finish
#line 7843 "regression-compile-tmp/imp22g-77.imp"
L_083a:;
                                                                //   7844    %result = TRUE
#line 7844 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   7845  %end
#line 7845 "regression-compile-tmp/imp22g-77.imp"
} // End of block DUPOK at level 5
                                                                //   7846  
                                                                //   7847    restype = itemtype
#line 7847 "regression-compile-tmp/imp22g-77.imp"
RESTYPE = ITEMTYPE;
                                                                //   7848    stack = 0;  !unknown
#line 7848 "regression-compile-tmp/imp22g-77.imp"
STACK = 0;
                                                                //   7849    decl_flags = decl_flags&(\okflag)
#line 7849 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) & ((~(64))));
                                                                //   7850    decl_type = procstar;             !by default
#line 7850 "regression-compile-tmp/imp22g-77.imp"
DECL.TYPE = 42;
                                                                //   7851    %if depth # 0 %start;             !procedure as param
#line 7851 "regression-compile-tmp/imp22g-77.imp"
if (((DEPTH) == (0))) goto L_083c;
                                                                //   7852      decl_flags = decl_flags!proc2;  ![must push MB in case external]
#line 7852 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) | (8192));
                                                                //   7853    %finish %else %if mode >= framemode %start
#line 7853 "regression-compile-tmp/imp22g-77.imp"
goto L_083d;
#line 7853 "regression-compile-tmp/imp22g-77.imp"
L_083c:;
#line 7853 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) < (168))) goto L_083e;
                                                                //   7854      decl_mode = procmode;  decl_val = 0
#line 7854 "regression-compile-tmp/imp22g-77.imp"
DECL.MODE = 250;
#line 7854 "regression-compile-tmp/imp22g-77.imp"
DECL.VAL = 0;
                                                                //   7855      decl_flags = decl_flags!proc1
#line 7855 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) | (4096));
                                                                //   7856      decl_flags = decl_flags!spec %if a(keyspec)=TRUE
#line 7856 "regression-compile-tmp/imp22g-77.imp"
if (((A(37)) != (1))) goto L_083f;
#line 7856 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) | (256));
#line 7856 "regression-compile-tmp/imp22g-77.imp"
L_083f:;
                                                                //   7857    %finish %else %if mode = ownmode %start;               !external (not @)
#line 7857 "regression-compile-tmp/imp22g-77.imp"
goto L_083d;
#line 7857 "regression-compile-tmp/imp22g-77.imp"
L_083e:;
#line 7857 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) != (108))) goto L_0840;
                                                                //   7858      decl_mode = procmode;  decl_val = 0
#line 7858 "regression-compile-tmp/imp22g-77.imp"
DECL.MODE = 250;
#line 7858 "regression-compile-tmp/imp22g-77.imp"
DECL.VAL = 0;
                                                                //   7859      %if a(keyspec)=TRUE %start
#line 7859 "regression-compile-tmp/imp22g-77.imp"
if (((A(37)) != (1))) goto L_0841;
                                                                //   7860        decl_mode = ownmode;  decl_flags = decl_flags!spec
#line 7860 "regression-compile-tmp/imp22g-77.imp"
DECL.MODE = 108;
#line 7860 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) | (256));
                                                                //   7861      %finish
#line 7861 "regression-compile-tmp/imp22g-77.imp"
L_0841:;
                                                                //   7862    %else;   !@...
#line 7862 "regression-compile-tmp/imp22g-77.imp"
goto L_083d;
#line 7862 "regression-compile-tmp/imp22g-77.imp"
L_0840:;
                                                                //   7863      decl_flags = decl_flags!proc1
#line 7863 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) | (4096));
                                                                //   7864      decl_val = disp
#line 7864 "regression-compile-tmp/imp22g-77.imp"
DECL.VAL = *DISP;
                                                                //   7865      stack = 4
#line 7865 "regression-compile-tmp/imp22g-77.imp"
STACK = 4;
                                                                //   7866    %finish
#line 7866 "regression-compile-tmp/imp22g-77.imp"
L_083d:;
                                                                //   7867    %if decl_flags&ext # 0 %and a(keyalias)=TRUE %start
#line 7867 "regression-compile-tmp/imp22g-77.imp"
if (((((DECL.FLAGS) & (16384))) == (0))) goto L_0842;
#line 7867 "regression-compile-tmp/imp22g-77.imp"
if (((A(49)) != (1))) goto L_0842;
                                                                //   7868      nonstandard(9)
#line 7868 "regression-compile-tmp/imp22g-77.imp"
NONSTANDARD(9);
                                                                //   7869      get(ident)
#line 7869 "regression-compile-tmp/imp22g-77.imp"
GET(53);
                                                                //   7870      %if item <= 0 %start
#line 7870 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) > (0))) goto L_0843;
                                                                //   7871        fault(namerr+point)
#line 7871 "regression-compile-tmp/imp22g-77.imp"
FAULT(73);
                                                                //   7872      %else
#line 7872 "regression-compile-tmp/imp22g-77.imp"
goto L_0844;
#line 7872 "regression-compile-tmp/imp22g-77.imp"
L_0843:;
                                                                //   7873        item = 0 %and decl_flags = decl_flags!alt %if dupok=TRUE
#line 7873 "regression-compile-tmp/imp22g-77.imp"
if (((DUPOK()) != (1))) goto L_0845;
#line 7873 "regression-compile-tmp/imp22g-77.imp"
ITEM = 0;
#line 7873 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) | (8));
#line 7873 "regression-compile-tmp/imp22g-77.imp"
L_0845:;
                                                                //   7874      %finish
#line 7874 "regression-compile-tmp/imp22g-77.imp"
L_0844:;
                                                                //   7875    %else
#line 7875 "regression-compile-tmp/imp22g-77.imp"
goto L_0846;
#line 7875 "regression-compile-tmp/imp22g-77.imp"
L_0842:;
                                                                //   7876      get(ident)
#line 7876 "regression-compile-tmp/imp22g-77.imp"
GET(53);
                                                                //   7877    %finish
#line 7877 "regression-compile-tmp/imp22g-77.imp"
L_0846:;
                                                                //   7878    declare(decl)
#line 7878 "regression-compile-tmp/imp22g-77.imp"
DECLARE(&DECL);
                                                                //   7879    headditem == ditem
#line 7879 "regression-compile-tmp/imp22g-77.imp"
HEADDITEM = DITEM;
                                                                //   7880    assign address(-6) %if depth # 0
#line 7880 "regression-compile-tmp/imp22g-77.imp"
if (((DEPTH) == (0))) goto L_0847;
#line 7880 "regression-compile-tmp/imp22g-77.imp"
ASSIGNADDRESS((-6));
#line 7880 "regression-compile-tmp/imp22g-77.imp"
L_0847:;
                                                                //   7881    argmode = c_mode&(\2_01000000)+1
#line 7881 "regression-compile-tmp/imp22g-77.imp"
ARGMODE = (((int)(((C.MODE) & ((~(64)))))) + (1));
                                                                //   7882    %if decl_flags&spec # 0 %or decl_mode # procmode %start
#line 7882 "regression-compile-tmp/imp22g-77.imp"
if (((((DECL.FLAGS) & (256))) != (0))) goto L_0848;
#line 7882 "regression-compile-tmp/imp22g-77.imp"
if (((DECL.MODE) == (250))) goto L_0849;
#line 7882 "regression-compile-tmp/imp22g-77.imp"
L_0848:;
                                                                //   7883      speccing = speccing+1
#line 7883 "regression-compile-tmp/imp22g-77.imp"
SPECCING = (((int)(SPECCING)) + (1));
                                                                //   7884    %else
#line 7884 "regression-compile-tmp/imp22g-77.imp"
goto L_084a;
#line 7884 "regression-compile-tmp/imp22g-77.imp"
L_0849:;
                                                                //   7885      c_forward = c_forward-1 %if ditem_flags&rflag # 0
#line 7885 "regression-compile-tmp/imp22g-77.imp"
if (((((DITEM->FLAGS) & (32))) == (0))) goto L_084b;
#line 7885 "regression-compile-tmp/imp22g-77.imp"
C.FORWARD = (((int)(C.FORWARD)) - (1));
#line 7885 "regression-compile-tmp/imp22g-77.imp"
L_084b:;
                                                                //   7886      open block(item)
#line 7886 "regression-compile-tmp/imp22g-77.imp"
OPENBLOCK(ITEM);
                                                                //   7887      c_type = restype
#line 7887 "regression-compile-tmp/imp22g-77.imp"
C.TYPE = RESTYPE;
                                                                //   7888      c_type = c_type!sign16 %if decl_flags&writable # 0 {%map}
#line 7888 "regression-compile-tmp/imp22g-77.imp"
if (((((DECL.FLAGS) & (1))) == (0))) goto L_084c;
#line 7888 "regression-compile-tmp/imp22g-77.imp"
C.TYPE = ((C.TYPE) | ((-32768)));
#line 7888 "regression-compile-tmp/imp22g-77.imp"
L_084c:;
                                                                //   7889    %finish
#line 7889 "regression-compile-tmp/imp22g-77.imp"
L_084a:;
                                                                //   7890    dlim1 = dlim
#line 7890 "regression-compile-tmp/imp22g-77.imp"
DLIM1 = DLIM;
                                                                //   7891    declare anon(details(0,restype,0,stack))
#line 7891 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(DETAILS(0, RESTYPE, 0, STACK));
                                                                //   7892   ! Result in A0 for %map or structure %fn
                                                                //   7893    ditem_reg = 8 %if decl_flags&writable # 0 {%map} %C
#line 7893 "regression-compile-tmp/imp22g-77.imp"
if (((((DECL.FLAGS) & (1))) != (0))) goto L_084d;
#line 7893 "regression-compile-tmp/imp22g-77.imp"
if (((SIZE(RESTYPE)) > (0))) goto L_084e;
#line 7893 "regression-compile-tmp/imp22g-77.imp"
L_084d:;
#line 7893 "regression-compile-tmp/imp22g-77.imp"
DITEM->REG = 8;
#line 7893 "regression-compile-tmp/imp22g-77.imp"
L_084e:;
                                                                //   7894                  %or size(restype) <= 0 {structure %fn}
                                                                //   7895  !Declare parameters
                                                                //   7896    argad = c_sp;     !ok for both spec and body
#line 7896 "regression-compile-tmp/imp22g-77.imp"
ARGAD = C.SP;
                                                                //   7897    %if a(left)=TRUE %start
#line 7897 "regression-compile-tmp/imp22g-77.imp"
if (((A(55)) != (1))) goto L_084f;
                                                                //   7898      dhold == dlink;  dlink == ditem
#line 7898 "regression-compile-tmp/imp22g-77.imp"
DHOLD = DLINK;
#line 7898 "regression-compile-tmp/imp22g-77.imp"
DLINK = DITEM;
                                                                //   7899      get DECLARATION(okflag+writable+readable,argmode,argad,1)
#line 7899 "regression-compile-tmp/imp22g-77.imp"
GETDECLARATION(67, ARGMODE, &ARGAD, 1);
                                                                //   7900      dlink == dhold
#line 7900 "regression-compile-tmp/imp22g-77.imp"
DLINK = DHOLD;
                                                                //   7901      get(right)
#line 7901 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   7902    %finish
#line 7902 "regression-compile-tmp/imp22g-77.imp"
L_084f:;
                                                                //   7903    %if speccing # 0 %start
#line 7903 "regression-compile-tmp/imp22g-77.imp"
if (((SPECCING) == (0))) goto L_0850;
                                                                //   7904      speccing = speccing-1
#line 7904 "regression-compile-tmp/imp22g-77.imp"
SPECCING = (((int)(SPECCING)) - (1));
                                                                //   7905      pos = crunched(dlim1)
#line 7905 "regression-compile-tmp/imp22g-77.imp"
POS = CRUNCHED(DLIM1);
                                                                //   7906      %if pos < dlim1 %or speccing = 0 %start
#line 7906 "regression-compile-tmp/imp22g-77.imp"
if (((POS) < (DLIM1))) goto L_0851;
#line 7906 "regression-compile-tmp/imp22g-77.imp"
if (((SPECCING) != (0))) goto L_0852;
#line 7906 "regression-compile-tmp/imp22g-77.imp"
L_0851:;
                                                                //   7907        headditem_type = pos
#line 7907 "regression-compile-tmp/imp22g-77.imp"
HEADDITEM->TYPE = POS;
                                                                //   7908      %else;                    !proc as param
#line 7908 "regression-compile-tmp/imp22g-77.imp"
goto L_0853;
#line 7908 "regression-compile-tmp/imp22g-77.imp"
L_0852:;
                                                                //   7909        fault(classerr);  dlim = dlim1
#line 7909 "regression-compile-tmp/imp22g-77.imp"
FAULT(10);
#line 7909 "regression-compile-tmp/imp22g-77.imp"
DLIM = DLIM1;
                                                                //   7910      %finish
#line 7910 "regression-compile-tmp/imp22g-77.imp"
L_0853:;
                                                                //   7911    %else;                        !procedure body
#line 7911 "regression-compile-tmp/imp22g-77.imp"
goto L_0854;
#line 7911 "regression-compile-tmp/imp22g-77.imp"
L_0850:;
                                                                //   7912      %if c_dpid_flags&spec # 0 %start
#line 7912 "regression-compile-tmp/imp22g-77.imp"
if (((((C.DPID->FLAGS) & (256))) == (0))) goto L_0855;
                                                                //   7913        c_dpid_flags = c_dpid_flags-spec
#line 7913 "regression-compile-tmp/imp22g-77.imp"
C.DPID->FLAGS = (((int)(C.DPID->FLAGS)) - (256));
                                                                //   7914        %unless parmatch(c_dpid_type,dlim1)=TRUE %start
#line 7914 "regression-compile-tmp/imp22g-77.imp"
if (((PARMATCH(C.DPID->TYPE, DLIM1)) == (1))) goto L_0856;
                                                                //   7915          %if c_pid = dlim1-2 %then fault(matcherr+warn) %c
#line 7915 "regression-compile-tmp/imp22g-77.imp"
if (((C.PID) != ((((int)(DLIM1)) - (2))))) goto L_0857;
#line 7915 "regression-compile-tmp/imp22g-77.imp"
FAULT((-105));
#line 7915 "regression-compile-tmp/imp22g-77.imp"
goto L_0858;
#line 7915 "regression-compile-tmp/imp22g-77.imp"
L_0857:;
#line 7915 "regression-compile-tmp/imp22g-77.imp"
FAULT(23);
#line 7915 "regression-compile-tmp/imp22g-77.imp"
L_0858:;
                                                                //   7916          %else fault(matcherr)
                                                                //   7917        %finish
#line 7917 "regression-compile-tmp/imp22g-77.imp"
L_0856:;
                                                                //   7918      %finish
#line 7918 "regression-compile-tmp/imp22g-77.imp"
L_0855:;
                                                                //   7919      headditem_type = dlim1
#line 7919 "regression-compile-tmp/imp22g-77.imp"
HEADDITEM->TYPE = DLIM1;
                                                                //   7920      c_parlim = dlim
#line 7920 "regression-compile-tmp/imp22g-77.imp"
C.PARLIM = DLIM;
                                                                //   7921      c_sp = -argad
#line 7921 "regression-compile-tmp/imp22g-77.imp"
C.SP = (-(ARGAD));
                                                                //   7922      compile(np0)
#line 7922 "regression-compile-tmp/imp22g-77.imp"
COMPILE(NP0);
                                                                //   7923      get(terminator)
#line 7923 "regression-compile-tmp/imp22g-77.imp"
GET(51);
                                                                //   7924      get STATEMENTS(keyend)
#line 7924 "regression-compile-tmp/imp22g-77.imp"
GETSTATEMENTS(1);
                                                                //   7925    %finish
#line 7925 "regression-compile-tmp/imp22g-77.imp"
L_0854:;
                                                                //   7926  %end;  !get procedure declaration
#line 7926 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETPROCEDUREDECLARATION at level 4
                                                                //   7927  
                                                                //   7928  %routine GET INITIAL VALUE(%record(identinfo)%name dp)
#line 7928 "regression-compile-tmp/imp22g-77.imp"
void GETINITIALVALUE(  IDENTINFO /*name*/*DP )
#line 7928 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   7929  %integer present
#line 7929 "regression-compile-tmp/imp22g-77.imp"
int PRESENT;
                                                                //   7930    present=0
#line 7930 "regression-compile-tmp/imp22g-77.imp"
PRESENT = 0;
                                                                //   7931    jammy = 0
#line 7931 "regression-compile-tmp/imp22g-77.imp"
JAMMY = 0;
                                                                //   7932    %if a assop(itemtype)=TRUE %start
#line 7932 "regression-compile-tmp/imp22g-77.imp"
if (((AASSOP(ITEMTYPE)) != (1))) goto L_0859;
                                                                //   7933      get VALUE(itemtype)
#line 7933 "regression-compile-tmp/imp22g-77.imp"
GETVALUE(ITEMTYPE);
                                                                //   7934      dp_flags = dp_flags!okflag
#line 7934 "regression-compile-tmp/imp22g-77.imp"
DP->FLAGS = ((DP->FLAGS) | (64));
                                                                //   7935      present = 1
#line 7935 "regression-compile-tmp/imp22g-77.imp"
PRESENT = 1;
                                                                //   7936    %finish
#line 7936 "regression-compile-tmp/imp22g-77.imp"
L_0859:;
                                                                //   7937    %if mode >= framemode %start;  !dynamic
#line 7937 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) < (168))) goto L_085a;
                                                                //   7938      %if present # 0 %start
#line 7938 "regression-compile-tmp/imp22g-77.imp"
if (((PRESENT) == (0))) goto L_085b;
                                                                //   7939        atomp = expp %and nonstandard(1) %if item # 0
#line 7939 "regression-compile-tmp/imp22g-77.imp"
if (((ITEM) == (0))) goto L_085c;
#line 7939 "regression-compile-tmp/imp22g-77.imp"
ATOMP = EXPP;
#line 7939 "regression-compile-tmp/imp22g-77.imp"
NONSTANDARD(1);
#line 7939 "regression-compile-tmp/imp22g-77.imp"
L_085c:;
                                                                //   7940        %if itemtype < 0 %start
#line 7940 "regression-compile-tmp/imp22g-77.imp"
if (((ITEMTYPE) >= (0))) goto L_085d;
                                                                //   7941          putact(okass,dlim0+ad,normitem)
#line 7941 "regression-compile-tmp/imp22g-77.imp"
PUTACT(33, (((int)(DLIM0)) + (16384)), NORMITEM());
                                                                //   7942        %else
#line 7942 "regression-compile-tmp/imp22g-77.imp"
goto L_085e;
#line 7942 "regression-compile-tmp/imp22g-77.imp"
L_085d:;
                                                                //   7943          putact(okass+jammy,dlim0,normitem)
#line 7943 "regression-compile-tmp/imp22g-77.imp"
PUTACT((((int)(33)) + (JAMMY)), DLIM0, NORMITEM());
                                                                //   7944        %finish
#line 7944 "regression-compile-tmp/imp22g-77.imp"
L_085e:;
                                                                //   7945        compile(np0)
#line 7945 "regression-compile-tmp/imp22g-77.imp"
COMPILE(NP0);
                                                                //   7946      %finish
#line 7946 "regression-compile-tmp/imp22g-77.imp"
L_085b:;
                                                                //   7947    %finish %else %if mode = constmode %start
#line 7947 "regression-compile-tmp/imp22g-77.imp"
goto L_085f;
#line 7947 "regression-compile-tmp/imp22g-77.imp"
L_085a:;
#line 7947 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) != (122))) goto L_0860;
                                                                //   7948      syntax error %if present = 0
#line 7948 "regression-compile-tmp/imp22g-77.imp"
if (((PRESENT) != (0))) goto L_0861;
#line 7948 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 7948 "regression-compile-tmp/imp22g-77.imp"
L_0861:;
                                                                //   7949      %if itemtype < 0 %start;  !name
#line 7949 "regression-compile-tmp/imp22g-77.imp"
if (((ITEMTYPE) >= (0))) goto L_0862;
                                                                //   7950        dp_flags = writable+readable
#line 7950 "regression-compile-tmp/imp22g-77.imp"
DP->FLAGS = 3;
                                                                //   7951        dp_mode = absmode;  dp_val = value
#line 7951 "regression-compile-tmp/imp22g-77.imp"
DP->MODE = 56;
#line 7951 "regression-compile-tmp/imp22g-77.imp"
DP->VAL = VALUE;
                                                                //   7952      %else
#line 7952 "regression-compile-tmp/imp22g-77.imp"
goto L_0863;
#line 7952 "regression-compile-tmp/imp22g-77.imp"
L_0862:;
                                                                //   7953        faultnum = rangerr+point+warn %if faultnum = rangerr+point
#line 7953 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTNUM) != (88))) goto L_0864;
#line 7953 "regression-compile-tmp/imp22g-77.imp"
FAULTNUM = (-40);
#line 7953 "regression-compile-tmp/imp22g-77.imp"
L_0864:;
                                                                //   7954        %if itemsize <= 0 %then dump const(value,1) %c
#line 7954 "regression-compile-tmp/imp22g-77.imp"
if (((ITEMSIZE) > (0))) goto L_0865;
#line 7954 "regression-compile-tmp/imp22g-77.imp"
DUMPCONST(VALUE, 1);
#line 7954 "regression-compile-tmp/imp22g-77.imp"
goto L_0866;
#line 7954 "regression-compile-tmp/imp22g-77.imp"
L_0865:;
#line 7954 "regression-compile-tmp/imp22g-77.imp"
DP->MODE = 60;
#line 7954 "regression-compile-tmp/imp22g-77.imp"
DP->VAL = VALUE;
#line 7954 "regression-compile-tmp/imp22g-77.imp"
L_0866:;
                                                                //   7955        %else dp_mode = litmode %and dp_val = value
                                                                //   7956      %finish
#line 7956 "regression-compile-tmp/imp22g-77.imp"
L_0863:;
                                                                //   7957    %else;  !own
#line 7957 "regression-compile-tmp/imp22g-77.imp"
goto L_085f;
#line 7957 "regression-compile-tmp/imp22g-77.imp"
L_0860:;
                                                                //   7958      %if present # 0 %start
#line 7958 "regression-compile-tmp/imp22g-77.imp"
if (((PRESENT) == (0))) goto L_0867;
                                                                //   7959        faultnum = rangerr+point+warn %if faultnum = rangerr+point
#line 7959 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTNUM) != (88))) goto L_0868;
#line 7959 "regression-compile-tmp/imp22g-77.imp"
FAULTNUM = (-40);
#line 7959 "regression-compile-tmp/imp22g-77.imp"
L_0868:;
                                                                //   7960        dump const(value,1)
#line 7960 "regression-compile-tmp/imp22g-77.imp"
DUMPCONST(VALUE, 1);
                                                                //   7961      %else
#line 7961 "regression-compile-tmp/imp22g-77.imp"
goto L_0869;
#line 7961 "regression-compile-tmp/imp22g-77.imp"
L_0867:;
                                                                //   7962        %if itemtype < 0 %then fill own(4) %else fill own(imod(itemsize))
#line 7962 "regression-compile-tmp/imp22g-77.imp"
if (((ITEMTYPE) >= (0))) goto L_086a;
#line 7962 "regression-compile-tmp/imp22g-77.imp"
FILLOWN(4);
#line 7962 "regression-compile-tmp/imp22g-77.imp"
goto L_086b;
#line 7962 "regression-compile-tmp/imp22g-77.imp"
L_086a:;
#line 7962 "regression-compile-tmp/imp22g-77.imp"
FILLOWN(_imp_IMOD(ITEMSIZE));
#line 7962 "regression-compile-tmp/imp22g-77.imp"
L_086b:;
                                                                //   7963      %finish
#line 7963 "regression-compile-tmp/imp22g-77.imp"
L_0869:;
                                                                //   7964    %finish
#line 7964 "regression-compile-tmp/imp22g-77.imp"
L_085f:;
                                                                //   7965  %end;  !get initial value
#line 7965 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETINITIALVALUE at level 4
                                                                //   7966  
                                                                //   7967  dreg = d0;  areg = a0;  stmax = 8;  !allow for RETAD & LINK
#line 7967 "regression-compile-tmp/imp22g-77.imp"
DREG = 1;
#line 7967 "regression-compile-tmp/imp22g-77.imp"
AREG = 9;
#line 7967 "regression-compile-tmp/imp22g-77.imp"
STMAX = 8;
                                                                //   7968  max = 0;  base = disp
#line 7968 "regression-compile-tmp/imp22g-77.imp"
MAX = 0;
#line 7968 "regression-compile-tmp/imp22g-77.imp"
BASE = *DISP;
                                                                //   7969  %cycle
#line 7969 "regression-compile-tmp/imp22g-77.imp"
L_086c:;
                                                                //   7970    disp = base
#line 7970 "regression-compile-tmp/imp22g-77.imp"
*DISP = BASE;
                                                                //   7971    %cycle
#line 7971 "regression-compile-tmp/imp22g-77.imp"
L_086f:;
                                                                //   7972      decl = 0
#line 7972 "regression-compile-tmp/imp22g-77.imp"
DECL = (OBJINFO){ 0 } /* Assign 0's to all fields of record */;
                                                                //   7973      decl_flags = flags;  decl_mode = mode
#line 7973 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = FLAGS;
#line 7973 "regression-compile-tmp/imp22g-77.imp"
DECL.MODE = MODE;
                                                                //   7974      adim = -1
#line 7974 "regression-compile-tmp/imp22g-77.imp"
ADIM = (-1);
                                                                //   7975      %while a(kattrib)=TRUE %cycle
#line 7975 "regression-compile-tmp/imp22g-77.imp"
L_0872:;
#line 7975 "regression-compile-tmp/imp22g-77.imp"
if (((A(26)) != (1))) goto L_0873;
                                                                //   7976        decl_flags = decl_flags!!(1<<subatom)
#line 7976 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) ^ (((1) << (SUBATOM))));
                                                                //   7977      %repeat
#line 7977 "regression-compile-tmp/imp22g-77.imp"
goto L_0872;
#line 7977 "regression-compile-tmp/imp22g-77.imp"
L_0873:;
                                                                //   7978      %if depth = 0 %and a(left)=TRUE %start;  !start of sub-group
#line 7978 "regression-compile-tmp/imp22g-77.imp"
if (((DEPTH) != (0))) goto L_0875;
#line 7978 "regression-compile-tmp/imp22g-77.imp"
if (((A(55)) != (1))) goto L_0875;
                                                                //   7979        align(disp,2)
#line 7979 "regression-compile-tmp/imp22g-77.imp"
ALIGN(DISP, 2);
                                                                //   7980  !      ad_cat = ad_cat+1 %if mode = 0
                                                                //   7981        get DECLARATION(flags,mode,disp,0);  get(right)
#line 7981 "regression-compile-tmp/imp22g-77.imp"
GETDECLARATION(FLAGS, MODE, DISP, 0);
#line 7981 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   7982  !      ad_cat = ad_cat-1 %if mode = 0
                                                                //   7983      %finish %else %if a(rpred)=TRUE %start;  !%routine,(%predicate)
#line 7983 "regression-compile-tmp/imp22g-77.imp"
goto L_0876;
#line 7983 "regression-compile-tmp/imp22g-77.imp"
L_0875:;
#line 7983 "regression-compile-tmp/imp22g-77.imp"
if (((A(36)) != (1))) goto L_0877;
                                                                //   7984        %if subatom # 0 %start;  !pred
#line 7984 "regression-compile-tmp/imp22g-77.imp"
if (((SUBATOM) == (0))) goto L_0878;
                                                                //   7985          decl_flags = decl_flags&(\(writable))
#line 7985 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) & ((~(1))));
                                                                //   7986          decl_flags = decl_flags!volatile %if control&volbit # 0
#line 7986 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (65536))) == (0))) goto L_0879;
#line 7986 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) | (4));
#line 7986 "regression-compile-tmp/imp22g-77.imp"
L_0879:;
                                                                //   7987          itemtype = booltype
#line 7987 "regression-compile-tmp/imp22g-77.imp"
ITEMTYPE = 58;
                                                                //   7988        %else
#line 7988 "regression-compile-tmp/imp22g-77.imp"
goto L_087a;
#line 7988 "regression-compile-tmp/imp22g-77.imp"
L_0878:;
                                                                //   7989          decl_flags = decl_flags&(\(writable+readable))
#line 7989 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) & ((~(3))));
                                                                //   7990          itemtype = 0
#line 7990 "regression-compile-tmp/imp22g-77.imp"
ITEMTYPE = 0;
                                                                //   7991        %finish
#line 7991 "regression-compile-tmp/imp22g-77.imp"
L_087a:;
                                                                //   7992        get PROCEDURE DECLARATION
#line 7992 "regression-compile-tmp/imp22g-77.imp"
GETPROCEDUREDECLARATION();
                                                                //   7993        %return %if depth = 0
#line 7993 "regression-compile-tmp/imp22g-77.imp"
if (((DEPTH) != (0))) goto L_087b;
#line 7993 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 7993 "regression-compile-tmp/imp22g-77.imp"
L_087b:;
                                                                //   7994      %else
#line 7994 "regression-compile-tmp/imp22g-77.imp"
goto L_0876;
#line 7994 "regression-compile-tmp/imp22g-77.imp"
L_0877:;
                                                                //   7995        get DATA TYPE
#line 7995 "regression-compile-tmp/imp22g-77.imp"
GETDATATYPE();
                                                                //   7996        !Appendages
                                                                //   7997        %if a(fnmap)=TRUE %start;  !%fn, %map
#line 7997 "regression-compile-tmp/imp22g-77.imp"
if (((A(35)) != (1))) goto L_087c;
                                                                //   7998          decl_flags = decl_flags!volatile %if control&volbit # 0
#line 7998 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (65536))) == (0))) goto L_087d;
#line 7998 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) | (4));
#line 7998 "regression-compile-tmp/imp22g-77.imp"
L_087d:;
                                                                //   7999          %if subatom = 0 %start
#line 7999 "regression-compile-tmp/imp22g-77.imp"
if (((SUBATOM) != (0))) goto L_087e;
                                                                //   8000            decl_flags = decl_flags&(\writable)
#line 8000 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) & ((~(1))));
                                                                //   8001            fault(illstarred) %if itemsize = 0
#line 8001 "regression-compile-tmp/imp22g-77.imp"
if (((ITEMSIZE) != (0))) goto L_087f;
#line 8001 "regression-compile-tmp/imp22g-77.imp"
FAULT(30);
#line 8001 "regression-compile-tmp/imp22g-77.imp"
L_087f:;
                                                                //   8002          %finish
#line 8002 "regression-compile-tmp/imp22g-77.imp"
L_087e:;
                                                                //   8003          get PROCEDURE DECLARATION
#line 8003 "regression-compile-tmp/imp22g-77.imp"
GETPROCEDUREDECLARATION();
                                                                //   8004          %return %if depth = 0
#line 8004 "regression-compile-tmp/imp22g-77.imp"
if (((DEPTH) != (0))) goto L_0880;
#line 8004 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 8004 "regression-compile-tmp/imp22g-77.imp"
L_0880:;
                                                                //   8005        %else
#line 8005 "regression-compile-tmp/imp22g-77.imp"
goto L_0881;
#line 8005 "regression-compile-tmp/imp22g-77.imp"
L_087c:;
                                                                //   8006          decl_flags = decl_flags&(\proc)
#line 8006 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) & ((~(12288))));
                                                                //   8007          decl_type = itemtype
#line 8007 "regression-compile-tmp/imp22g-77.imp"
DECL.TYPE = ITEMTYPE;
                                                                //   8008          %if a(keyname)=TRUE %start
#line 8008 "regression-compile-tmp/imp22g-77.imp"
if (((A(33)) != (1))) goto L_0882;
                                                                //   8009            decl_flags = decl_flags+name;  itemtype = itemtype+name
#line 8009 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = (((int)(DECL.FLAGS)) + ((-32768)));
#line 8009 "regression-compile-tmp/imp22g-77.imp"
ITEMTYPE = (((int)(ITEMTYPE)) + ((-32768)));
                                                                //   8010            itemsize = 4
#line 8010 "regression-compile-tmp/imp22g-77.imp"
ITEMSIZE = 4;
                                                                //   8011          %finish
#line 8011 "regression-compile-tmp/imp22g-77.imp"
L_0882:;
                                                                //   8012          %if a(keyarray)=TRUE %start
#line 8012 "regression-compile-tmp/imp22g-77.imp"
if (((A(38)) != (1))) goto L_0883;
                                                                //   8013            fault(illstarred) %if itemtype = recstar;  !%record(*)%array
#line 8013 "regression-compile-tmp/imp22g-77.imp"
if (((ITEMTYPE) != (67))) goto L_0884;
#line 8013 "regression-compile-tmp/imp22g-77.imp"
FAULT(30);
#line 8013 "regression-compile-tmp/imp22g-77.imp"
L_0884:;
                                                                //   8014            adim = 0
#line 8014 "regression-compile-tmp/imp22g-77.imp"
ADIM = 0;
                                                                //   8015           ! ITEMTYPE now reflects element type (+name)
                                                                //   8016           ! DECL is for the array itself
                                                                //   8017            decl_flags = decl_flags&(\name)
#line 8017 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) & ((~((-32768)))));
                                                                //   8018            decl_type = arrstar
#line 8018 "regression-compile-tmp/imp22g-77.imp"
DECL.TYPE = 65;
                                                                //   8019            decl_flags = decl_flags!arrflag %if control&arrbit # 0
#line 8019 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & ((-2147483648)))) == (0))) goto L_0885;
#line 8019 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) | (8));
#line 8019 "regression-compile-tmp/imp22g-77.imp"
L_0885:;
                                                                //   8020            %if a(left)=TRUE %start
#line 8020 "regression-compile-tmp/imp22g-77.imp"
if (((A(55)) != (1))) goto L_0886;
                                                                //   8021              fault(notin+point) %if depth = 0
#line 8021 "regression-compile-tmp/imp22g-77.imp"
if (((DEPTH) != (0))) goto L_0887;
#line 8021 "regression-compile-tmp/imp22g-77.imp"
FAULT(104);
#line 8021 "regression-compile-tmp/imp22g-77.imp"
L_0887:;
                                                                //   8022              get LITERAL(inttype)
#line 8022 "regression-compile-tmp/imp22g-77.imp"
GETLITERAL(43);
                                                                //   8023              %if value&(\7) # 0 %then expfault(rangerr) %else adim = value
#line 8023 "regression-compile-tmp/imp22g-77.imp"
if (((((VALUE) & ((~(7))))) == (0))) goto L_0888;
#line 8023 "regression-compile-tmp/imp22g-77.imp"
EXPFAULT(24);
#line 8023 "regression-compile-tmp/imp22g-77.imp"
goto L_0889;
#line 8023 "regression-compile-tmp/imp22g-77.imp"
L_0888:;
#line 8023 "regression-compile-tmp/imp22g-77.imp"
ADIM = VALUE;
#line 8023 "regression-compile-tmp/imp22g-77.imp"
L_0889:;
                                                                //   8024              get(right)
#line 8024 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   8025              get(keyname);  matched = 0
#line 8025 "regression-compile-tmp/imp22g-77.imp"
GET(33);
#line 8025 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 0;
                                                                //   8026            %finish
#line 8026 "regression-compile-tmp/imp22g-77.imp"
L_0886:;
                                                                //   8027           ! %array%name versus %array
                                                                //   8028            decl_flags = decl_flags+name %if a(keyname)=TRUE
#line 8028 "regression-compile-tmp/imp22g-77.imp"
if (((A(33)) != (1))) goto L_088a;
#line 8028 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = (((int)(DECL.FLAGS)) + ((-32768)));
#line 8028 "regression-compile-tmp/imp22g-77.imp"
L_088a:;
                                                                //   8029          %finish
#line 8029 "regression-compile-tmp/imp22g-77.imp"
L_0883:;
                                                                //   8030         ! %record(*) or %string(*) needs %name (or @)
                                                                //   8031         ! %string alone allowed only for %const%string
                                                                //   8032          fault(illstarred) %if itemsize = 0 %c
#line 8032 "regression-compile-tmp/imp22g-77.imp"
if (((ITEMSIZE) != (0))) goto L_088b;
#line 8032 "regression-compile-tmp/imp22g-77.imp"
if (((DECL.FLAGS) < (0))) goto L_088b;
#line 8032 "regression-compile-tmp/imp22g-77.imp"
if (((DISP) == (&JOKERAD))) goto L_088b;
#line 8032 "regression-compile-tmp/imp22g-77.imp"
if (((DECL.TYPE) == (64))) goto L_088b;
#line 8032 "regression-compile-tmp/imp22g-77.imp"
FAULT(30);
#line 8032 "regression-compile-tmp/imp22g-77.imp"
L_088b:;
                                                                //   8033                            %and decl_flags >= 0 %and disp ## jokerad %c
                                                                //   8034                            %and decl_type # stringtype {const}
                                                                //   8035          %if disp == c_val %start;  !main declaration
#line 8035 "regression-compile-tmp/imp22g-77.imp"
if (((DISP) != (&C.VAL))) goto L_088c;
                                                                //   8036            fault(notinblock) %if stopper = 0
#line 8036 "regression-compile-tmp/imp22g-77.imp"
if (((STOPPER) != (0))) goto L_088d;
#line 8036 "regression-compile-tmp/imp22g-77.imp"
FAULT(38);
#line 8036 "regression-compile-tmp/imp22g-77.imp"
L_088d:;
                                                                //   8037            %if c_status >= hadon %start
#line 8037 "regression-compile-tmp/imp22g-77.imp"
if (((C.STATUS) < (4096))) goto L_088e;
                                                                //   8038              %if c_forward!c_return # 0 %or curlab # c_lab1 %start
#line 8038 "regression-compile-tmp/imp22g-77.imp"
if (((((C.FORWARD) | (C.RETURN))) != (0))) goto L_088f;
#line 8038 "regression-compile-tmp/imp22g-77.imp"
if (((CURLAB) == (C.LAB1))) goto L_0890;
#line 8038 "regression-compile-tmp/imp22g-77.imp"
L_088f:;
                                                                //   8039                fault(ordererr)
#line 8039 "regression-compile-tmp/imp22g-77.imp"
FAULT(22);
                                                                //   8040              %finish %else %if c_status&hadordererr = 0 %start
#line 8040 "regression-compile-tmp/imp22g-77.imp"
goto L_0891;
#line 8040 "regression-compile-tmp/imp22g-77.imp"
L_0890:;
#line 8040 "regression-compile-tmp/imp22g-77.imp"
if (((((C.STATUS) & (8192))) != (0))) goto L_0892;
                                                                //   8041                fault(ordererr+warn);  c_status = c_status+hadordererr
#line 8041 "regression-compile-tmp/imp22g-77.imp"
FAULT((-106));
#line 8041 "regression-compile-tmp/imp22g-77.imp"
C.STATUS = (((int)(C.STATUS)) + (8192));
                                                                //   8042              %finish
#line 8042 "regression-compile-tmp/imp22g-77.imp"
L_0892:;
#line 8042 "regression-compile-tmp/imp22g-77.imp"
L_0891:;
                                                                //   8043            %finish
#line 8043 "regression-compile-tmp/imp22g-77.imp"
L_088e:;
                                                                //   8044          %finish %else %if decl_flags&ext # 0 %and a(keyspec)=TRUE %start
#line 8044 "regression-compile-tmp/imp22g-77.imp"
goto L_0893;
#line 8044 "regression-compile-tmp/imp22g-77.imp"
L_088c:;
#line 8044 "regression-compile-tmp/imp22g-77.imp"
if (((((DECL.FLAGS) & (16384))) == (0))) goto L_0894;
#line 8044 "regression-compile-tmp/imp22g-77.imp"
if (((A(37)) != (1))) goto L_0894;
                                                                //   8045            decl_flags = decl_flags!(spec+indirect)
#line 8045 "regression-compile-tmp/imp22g-77.imp"
DECL.FLAGS = ((DECL.FLAGS) | (2304));
                                                                //   8046          %finish
#line 8046 "regression-compile-tmp/imp22g-77.imp"
L_0894:;
#line 8046 "regression-compile-tmp/imp22g-77.imp"
L_0893:;
                                                                //   8047         !Read identifier list
                                                                //   8048          %cycle
#line 8048 "regression-compile-tmp/imp22g-77.imp"
L_0895:;
                                                                //   8049            dlim0 = dlim
#line 8049 "regression-compile-tmp/imp22g-77.imp"
DLIM0 = DLIM;
                                                                //   8050            %unless decl_type = arrstar %start;  !not array
#line 8050 "regression-compile-tmp/imp22g-77.imp"
if (((DECL.TYPE) == (65))) goto L_0898;
                                                                //   8051              get QIDENT
#line 8051 "regression-compile-tmp/imp22g-77.imp"
GETQIDENT();
                                                                //   8052              assign address(itemsize)
#line 8052 "regression-compile-tmp/imp22g-77.imp"
ASSIGNADDRESS(ITEMSIZE);
                                                                //   8053              %if mode >= ownmode %and depth = 0 %start
#line 8053 "regression-compile-tmp/imp22g-77.imp"
if (((MODE) < (108))) goto L_0899;
#line 8053 "regression-compile-tmp/imp22g-77.imp"
if (((DEPTH) != (0))) goto L_0899;
                                                                //   8054                %if decl_flags&spec = 0 %then get INITIAL VALUE(ditem) %c
#line 8054 "regression-compile-tmp/imp22g-77.imp"
if (((((DECL.FLAGS) & (256))) != (0))) goto L_089a;
#line 8054 "regression-compile-tmp/imp22g-77.imp"
GETINITIALVALUE(DITEM);
#line 8054 "regression-compile-tmp/imp22g-77.imp"
goto L_089b;
#line 8054 "regression-compile-tmp/imp22g-77.imp"
L_089a:;
#line 8054 "regression-compile-tmp/imp22g-77.imp"
SETOWNWORD(0);
#line 8054 "regression-compile-tmp/imp22g-77.imp"
SETOWNWORD(0);
#line 8054 "regression-compile-tmp/imp22g-77.imp"
L_089b:;
                                                                //   8055                %else set own word(0) %and set own word(0)
                                                                //   8056              %finish
#line 8056 "regression-compile-tmp/imp22g-77.imp"
L_0899:;
                                                                //   8057            %else
#line 8057 "regression-compile-tmp/imp22g-77.imp"
goto L_089c;
#line 8057 "regression-compile-tmp/imp22g-77.imp"
L_0898:;
                                                                //   8058              %cycle
#line 8058 "regression-compile-tmp/imp22g-77.imp"
L_089d:;
                                                                //   8059                get QIDENT
#line 8059 "regression-compile-tmp/imp22g-77.imp"
GETQIDENT();
                                                                //   8060                assign address(0);  !(4 if name)
#line 8060 "regression-compile-tmp/imp22g-77.imp"
ASSIGNADDRESS(0);
                                                                //   8061                %exit %unless a(comma)=TRUE
#line 8061 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) == (1))) goto L_08a0;
#line 8061 "regression-compile-tmp/imp22g-77.imp"
goto L_089e;
#line 8061 "regression-compile-tmp/imp22g-77.imp"
L_08a0:;
                                                                //   8062                atom = next atom
#line 8062 "regression-compile-tmp/imp22g-77.imp"
ATOM = NEXTATOM();
                                                                //   8063                %if atom # ident %start;  !ie new type
#line 8063 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) == (53))) goto L_08a1;
                                                                //   8064                  %if adim = 0 %start;    !treat %array%name as %array(1)%name
#line 8064 "regression-compile-tmp/imp22g-77.imp"
if (((ADIM) != (0))) goto L_08a2;
                                                                //   8065                    syntax error %if decl_flags >= 0
#line 8065 "regression-compile-tmp/imp22g-77.imp"
if (((DECL.FLAGS) < (0))) goto L_08a3;
#line 8065 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 8065 "regression-compile-tmp/imp22g-77.imp"
L_08a3:;
                                                                //   8066                    adim = 1
#line 8066 "regression-compile-tmp/imp22g-77.imp"
ADIM = 1;
                                                                //   8067                  %finish
#line 8067 "regression-compile-tmp/imp22g-77.imp"
L_08a2:;
                                                                //   8068                  get ARRAY DECLARATION(adim)
#line 8068 "regression-compile-tmp/imp22g-77.imp"
GETARRAYDECLARATION(ADIM);
                                                                //   8069                  -> exit22
#line 8069 "regression-compile-tmp/imp22g-77.imp"
goto U_1033;
                                                                //   8070                %finish
#line 8070 "regression-compile-tmp/imp22g-77.imp"
L_08a1:;
                                                                //   8071              %repeat
#line 8071 "regression-compile-tmp/imp22g-77.imp"
goto L_089d;
#line 8071 "regression-compile-tmp/imp22g-77.imp"
L_089e:;
                                                                //   8072              %if adim # 0 %or %not a(left)=TRUE %start
#line 8072 "regression-compile-tmp/imp22g-77.imp"
if (((ADIM) != (0))) goto L_089f;
#line 8072 "regression-compile-tmp/imp22g-77.imp"
if (((A(55)) == (1))) goto L_08a4;
#line 8072 "regression-compile-tmp/imp22g-77.imp"
L_089f:;
                                                                //   8073                 %if adim = 0 %start
#line 8073 "regression-compile-tmp/imp22g-77.imp"
if (((ADIM) != (0))) goto L_08a5;
                                                                //   8074                   syntax error %if decl_flags >= 0
#line 8074 "regression-compile-tmp/imp22g-77.imp"
if (((DECL.FLAGS) < (0))) goto L_08a6;
#line 8074 "regression-compile-tmp/imp22g-77.imp"
SYNTAXERROR();
#line 8074 "regression-compile-tmp/imp22g-77.imp"
L_08a6:;
                                                                //   8075                   adim = 1
#line 8075 "regression-compile-tmp/imp22g-77.imp"
ADIM = 1;
                                                                //   8076                 %finish
#line 8076 "regression-compile-tmp/imp22g-77.imp"
L_08a5:;
                                                                //   8077                 get ARRAY DECLARATION(adim)
#line 8077 "regression-compile-tmp/imp22g-77.imp"
GETARRAYDECLARATION(ADIM);
                                                                //   8078                 -> exit2
#line 8078 "regression-compile-tmp/imp22g-77.imp"
goto U_1034;
                                                                //   8079              %finish
#line 8079 "regression-compile-tmp/imp22g-77.imp"
L_08a4:;
                                                                //   8080              get ARRAY DECLARATION(adim)
#line 8080 "regression-compile-tmp/imp22g-77.imp"
GETARRAYDECLARATION(ADIM);
                                                                //   8081            %finish
#line 8081 "regression-compile-tmp/imp22g-77.imp"
L_089c:;
                                                                //   8082            -> exit2 %unless a(comma)=TRUE
#line 8082 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) == (1))) goto L_08a7;
#line 8082 "regression-compile-tmp/imp22g-77.imp"
goto U_1034;
#line 8082 "regression-compile-tmp/imp22g-77.imp"
L_08a7:;
                                                                //   8083            atom = next atom
#line 8083 "regression-compile-tmp/imp22g-77.imp"
ATOM = NEXTATOM();
                                                                //   8084          %repeat %until atom # ident
#line 8084 "regression-compile-tmp/imp22g-77.imp"
if (((ATOM) != (53))) goto L_0896;
#line 8084 "regression-compile-tmp/imp22g-77.imp"
goto L_0895;
#line 8084 "regression-compile-tmp/imp22g-77.imp"
L_0896:;
                                                                //   8085  exit22:
#line 8085 "regression-compile-tmp/imp22g-77.imp"
U_1033:;
                                                                //   8086          %continue
#line 8086 "regression-compile-tmp/imp22g-77.imp"
goto L_0871;
                                                                //   8087        %finish
#line 8087 "regression-compile-tmp/imp22g-77.imp"
L_0881:;
                                                                //   8088      %finish
#line 8088 "regression-compile-tmp/imp22g-77.imp"
L_0876:;
                                                                //   8089      %exit %unless a(comma)=TRUE;  ![NB %continue above]
#line 8089 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) == (1))) goto L_08a8;
#line 8089 "regression-compile-tmp/imp22g-77.imp"
goto L_0870;
#line 8089 "regression-compile-tmp/imp22g-77.imp"
L_08a8:;
                                                                //   8090    %repeat
#line 8090 "regression-compile-tmp/imp22g-77.imp"
L_0871:;
#line 8090 "regression-compile-tmp/imp22g-77.imp"
goto L_086f;
#line 8090 "regression-compile-tmp/imp22g-77.imp"
L_0870:;
                                                                //   8091  exit2:
#line 8091 "regression-compile-tmp/imp22g-77.imp"
U_1034:;
                                                                //   8092    max = disp %if disp > max
#line 8092 "regression-compile-tmp/imp22g-77.imp"
if (((*DISP) <= (MAX))) goto L_08a9;
#line 8092 "regression-compile-tmp/imp22g-77.imp"
MAX = *DISP;
#line 8092 "regression-compile-tmp/imp22g-77.imp"
L_08a9:;
                                                                //   8093  %repeat %until %not a(keyor)=TRUE
#line 8093 "regression-compile-tmp/imp22g-77.imp"
if (((A(73)) != (1))) goto L_086d;
#line 8093 "regression-compile-tmp/imp22g-77.imp"
goto L_086c;
#line 8093 "regression-compile-tmp/imp22g-77.imp"
L_086d:;
                                                                //   8094  disp = max
#line 8094 "regression-compile-tmp/imp22g-77.imp"
*DISP = MAX;
                                                                //   8095  %end;  !get declaration
#line 8095 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETDECLARATION at level 3
                                                                //   8096  
                                                                //   8097  initial(keyconst):
#line 8097 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_23:;
                                                                //   8098    literal = 1
#line 8098 "regression-compile-tmp/imp22g-77.imp"
LITERAL = 1;
                                                                //   8099    get DECLARATION(okflag+readable,constmode,cad,0)
#line 8099 "regression-compile-tmp/imp22g-77.imp"
GETDECLARATION(66, 122, &CAD, 0);
                                                                //   8100    -> term
#line 8100 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   8101  
                                                                //   8102  initial(atsign):
#line 8102 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_57:;
                                                                //   8103    dump = 0
#line 8103 "regression-compile-tmp/imp22g-77.imp"
DUMP = 0;
                                                                //   8104  atted:
#line 8104 "regression-compile-tmp/imp22g-77.imp"
U_1023:;
                                                                //   8105    fault(lowlevel+warn+point) %and control = control!lowbit %if control&lowbit = 0
#line 8105 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (16384))) != (0))) goto L_08aa;
#line 8105 "regression-compile-tmp/imp22g-77.imp"
FAULT((-49));
#line 8105 "regression-compile-tmp/imp22g-77.imp"
CONTROL = ((CONTROL) | (16384));
#line 8105 "regression-compile-tmp/imp22g-77.imp"
L_08aa:;
                                                                //   8106    get LITERAL(inttype)
#line 8106 "regression-compile-tmp/imp22g-77.imp"
GETLITERAL(43);
                                                                //   8107    jokerad = value
#line 8107 "regression-compile-tmp/imp22g-77.imp"
JOKERAD = VALUE;
                                                                //   8108    %if a(left)=TRUE %start
#line 8108 "regression-compile-tmp/imp22g-77.imp"
if (((A(55)) != (1))) goto L_08ab;
                                                                //   8109      get MIDENT(a0,a7)
#line 8109 "regression-compile-tmp/imp22g-77.imp"
GETMIDENT(9, 16);
                                                                //   8110      get(right)
#line 8110 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   8111      value = item+(dispmode-a0)
#line 8111 "regression-compile-tmp/imp22g-77.imp"
VALUE = ((ITEM) + ((int)(31)));
                                                                //   8112    %finish %else value = absmode
#line 8112 "regression-compile-tmp/imp22g-77.imp"
goto L_08ac;
#line 8112 "regression-compile-tmp/imp22g-77.imp"
L_08ab:;
#line 8112 "regression-compile-tmp/imp22g-77.imp"
VALUE = 56;
#line 8112 "regression-compile-tmp/imp22g-77.imp"
L_08ac:;
                                                                //   8113    literal = 1
#line 8113 "regression-compile-tmp/imp22g-77.imp"
LITERAL = 1;
                                                                //   8114    get DECLARATION(dump!(okflag+writable+readable),value,jokerad,0)
#line 8114 "regression-compile-tmp/imp22g-77.imp"
GETDECLARATION(((DUMP) | (67)), VALUE, &JOKERAD, 0);
                                                                //   8115    -> term
#line 8115 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   8116  
                                                                //   8117  initial(keyown):
#line 8117 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_24:;
                                                                //   8118    literal = 1
#line 8118 "regression-compile-tmp/imp22g-77.imp"
LITERAL = 1;
                                                                //   8119    get DECLARATION(writable+readable,ownmode,ownad,0)
#line 8119 "regression-compile-tmp/imp22g-77.imp"
GETDECLARATION(3, 108, &OWNAD, 0);
                                                                //   8120    -> term
#line 8120 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   8121  
                                                                //   8122  initial(keyext):
#line 8122 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_25:;
                                                                //   8123    fault(ordererr) %if level # outerlevel
#line 8123 "regression-compile-tmp/imp22g-77.imp"
if (((LEVEL) == (0))) goto L_08ad;
#line 8123 "regression-compile-tmp/imp22g-77.imp"
FAULT(22);
#line 8123 "regression-compile-tmp/imp22g-77.imp"
L_08ad:;
                                                                //   8124    literal = 1
#line 8124 "regression-compile-tmp/imp22g-77.imp"
LITERAL = 1;
                                                                //   8125    dump = subatom<<12
#line 8125 "regression-compile-tmp/imp22g-77.imp"
DUMP = ((SUBATOM) << (12));
                                                                //   8126    -> atted %if a(atsign)=TRUE
#line 8126 "regression-compile-tmp/imp22g-77.imp"
if (((A(57)) != (1))) goto L_08ae;
#line 8126 "regression-compile-tmp/imp22g-77.imp"
goto U_1023;
#line 8126 "regression-compile-tmp/imp22g-77.imp"
L_08ae:;
                                                                //   8127    %if a(left)=TRUE %start
#line 8127 "regression-compile-tmp/imp22g-77.imp"
if (((A(55)) != (1))) goto L_08af;
                                                                //   8128      get LITERAL(inttype);  get(right)
#line 8128 "regression-compile-tmp/imp22g-77.imp"
GETLITERAL(43);
#line 8128 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   8129      maxcalldreg = (d0-1)+value&15
#line 8129 "regression-compile-tmp/imp22g-77.imp"
MAXCALLDREG = ((0) + ((unsigned char)(((VALUE) & (15)))));
                                                                //   8130      maxcallareg = (a0-1)+value>>4&15
#line 8130 "regression-compile-tmp/imp22g-77.imp"
MAXCALLAREG = ((8) + ((unsigned char)((((int)((((unsigned int)(VALUE)) >> (4)))) & (15)))));
                                                                //   8131      dump = dump!!(value&(\255))
#line 8131 "regression-compile-tmp/imp22g-77.imp"
DUMP = ((DUMP) ^ (((VALUE) & ((~(255))))));
                                                                //   8132    %finish
#line 8132 "regression-compile-tmp/imp22g-77.imp"
L_08af:;
                                                                //   8133    get DECLARATION(dump!(writable+readable),ownmode,ownad,0)
#line 8133 "regression-compile-tmp/imp22g-77.imp"
GETDECLARATION(((DUMP) | (3)), 108, &OWNAD, 0);
                                                                //   8134    -> term
#line 8134 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   8135  
                                                                //   8136  initial(keyrecord):
#line 8136 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_32:;
                                                                //   8137    %unless a(left)=TRUE %start
#line 8137 "regression-compile-tmp/imp22g-77.imp"
if (((A(55)) == (1))) goto L_08b0;
                                                                //   8138      get(keyformat)
#line 8138 "regression-compile-tmp/imp22g-77.imp"
GET(34);
                                                                //   8139      %if a(keyspec)=TRUE %start
#line 8139 "regression-compile-tmp/imp22g-77.imp"
if (((A(37)) != (1))) goto L_08b1;
                                                                //   8140        typeident_flags = typeid+spec+recy
#line 8140 "regression-compile-tmp/imp22g-77.imp"
TYPEIDENT.FLAGS = 780;
                                                                //   8141        get(ident);  declare(typeident)
#line 8141 "regression-compile-tmp/imp22g-77.imp"
GET(53);
#line 8141 "regression-compile-tmp/imp22g-77.imp"
DECLARE(&TYPEIDENT);
                                                                //   8142      %else
#line 8142 "regression-compile-tmp/imp22g-77.imp"
goto L_08b2;
#line 8142 "regression-compile-tmp/imp22g-77.imp"
L_08b1:;
                                                                //   8143        typeident_flags = typeid+recy
#line 8143 "regression-compile-tmp/imp22g-77.imp"
TYPEIDENT.FLAGS = 524;
                                                                //   8144        get(ident);  declare(typeident)
#line 8144 "regression-compile-tmp/imp22g-77.imp"
GET(53);
#line 8144 "regression-compile-tmp/imp22g-77.imp"
DECLARE(&TYPEIDENT);
                                                                //   8145        get(left)
#line 8145 "regression-compile-tmp/imp22g-77.imp"
GET(55);
                                                                //   8146        dformat == ditem
#line 8146 "regression-compile-tmp/imp22g-77.imp"
DFORMAT = DITEM;
                                                                //   8147        get DECLARATION(writable+readable,0,dformat_val,0)
#line 8147 "regression-compile-tmp/imp22g-77.imp"
GETDECLARATION(3, 0, &DFORMAT->VAL, 0);
                                                                //   8148        recalign(dformat_val)
#line 8148 "regression-compile-tmp/imp22g-77.imp"
RECALIGN(&DFORMAT->VAL);
                                                                //   8149        get(right)
#line 8149 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   8150      %finish
#line 8150 "regression-compile-tmp/imp22g-77.imp"
L_08b2:;
                                                                //   8151      -> term
#line 8151 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   8152    %finish
#line 8152 "regression-compile-tmp/imp22g-77.imp"
L_08b0:;
                                                                //   8153    fp = fp-1;  atom = keyrecord;  !back-up
#line 8153 "regression-compile-tmp/imp22g-77.imp"
FP = (((int)(FP)) - (1));
#line 8153 "regression-compile-tmp/imp22g-77.imp"
ATOM = 32;
                                                                //   8154  initial(ktype): initial(keylong):
#line 8154 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_27:;
#line 8154 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_29:;
                                                                //   8155  initial(keyinteger): initial(keyreal):
#line 8155 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_28:;
#line 8155 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_30:;
                                                                //   8156  initial(kattrib): initial(keystring):
#line 8156 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_26:;
#line 8156 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_31:;
                                                                //   8157  initial(rpred):
#line 8157 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_36:;
                                                                //   8158    matched = 0
#line 8158 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 0;
                                                                //   8159    get DECLARATION(writable+readable,c_mode,c_val,0)
#line 8159 "regression-compile-tmp/imp22g-77.imp"
GETDECLARATION(3, C.MODE, &C.VAL, 0);
                                                                //   8160    -> term
#line 8160 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   8161  
                                                                //   8162  initial(keylabel):
#line 8162 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_22:;
                                                                //   8163    get IDENTLIST(forwardlabel)
#line 8163 "regression-compile-tmp/imp22g-77.imp"
GETIDENTLIST(&FORWARDLABEL);
                                                                //   8164    -> term
#line 8164 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   8165  
                                                                //   8166  %routine GET SWITCH DECLARATION
#line 8166 "regression-compile-tmp/imp22g-77.imp"
void GETSWITCHDECLARATION( void )
#line 8166 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   8167  %integer i,lo,hi,dlim1
#line 8167 "regression-compile-tmp/imp22g-77.imp"
int I;
#line 8167 "regression-compile-tmp/imp22g-77.imp"
int LO;
#line 8167 "regression-compile-tmp/imp22g-77.imp"
int HI;
#line 8167 "regression-compile-tmp/imp22g-77.imp"
int DLIM1;
                                                                //   8168  %ownrecord(objinfo) d=0
#line 8168 "regression-compile-tmp/imp22g-77.imp"
static  OBJINFO D = { 0 } /* Initialise all fields of a record to 0. */;
                                                                //   8169    matched = 1
#line 8169 "regression-compile-tmp/imp22g-77.imp"
MATCHED = 1;
                                                                //   8170    %cycle
#line 8170 "regression-compile-tmp/imp22g-77.imp"
L_08b3:;
                                                                //   8171      d_type = arrstar;  !(in case of error)
#line 8171 "regression-compile-tmp/imp22g-77.imp"
D.TYPE = 65;
                                                                //   8172      d_flags = d_flags+arrflag %if control&arrbit # 0
#line 8172 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & ((-2147483648)))) == (0))) goto L_08b6;
#line 8172 "regression-compile-tmp/imp22g-77.imp"
D.FLAGS = (((int)(D.FLAGS)) + (8));
#line 8172 "regression-compile-tmp/imp22g-77.imp"
L_08b6:;
                                                                //   8173      d_mode = labmode
#line 8173 "regression-compile-tmp/imp22g-77.imp"
D.MODE = 186;
                                                                //   8174      get IDENTLIST(d)
#line 8174 "regression-compile-tmp/imp22g-77.imp"
GETIDENTLIST(&D);
                                                                //   8175      dlim1 = dlim
#line 8175 "regression-compile-tmp/imp22g-77.imp"
DLIM1 = DLIM;
                                                                //   8176      declare anon(details(typeid+arry,0,0,0))
#line 8176 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(DETAILS(521, 0, 0, 0));
                                                                //   8177      get(left);  get LIT RANGE(inttype);  get(right)
#line 8177 "regression-compile-tmp/imp22g-77.imp"
GET(55);
#line 8177 "regression-compile-tmp/imp22g-77.imp"
GETLITRANGE(43);
#line 8177 "regression-compile-tmp/imp22g-77.imp"
GET(61);
                                                                //   8178      dict(dlim1)_xtype = item
#line 8178 "regression-compile-tmp/imp22g-77.imp"
DICT[DLIM1].XTYPE = ITEM;
                                                                //   8179      get bounds(item,lo,hi)
#line 8179 "regression-compile-tmp/imp22g-77.imp"
GETBOUNDS(ITEM, &LO, &HI);
                                                                //   8180      %cycle;  !For each ident in group
#line 8180 "regression-compile-tmp/imp22g-77.imp"
L_08b7:;
                                                                //   8181        %for i = lo,1,hi %cycle
#line 8181 "regression-compile-tmp/imp22g-77.imp"
{static int _initial, _increment, _final, _control;
_initial = LO; _increment = 1; _final = HI; I = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle I = LO, 1, HI");
I -= _increment; _control -= _increment;
L_08ba:;
if (I == _final) goto L_08bb;
I += _increment; _control += _increment;
if (I != _control) _imp_signal(4,2,0,"Corrupt control variable I"); /* FOR loop control variable corrupted */
}
                                                                //   8182          swpc = swpc-1;  prog(swpc) = 0
#line 8182 "regression-compile-tmp/imp22g-77.imp"
SWPC = (((int)(SWPC)) - (1));
#line 8182 "regression-compile-tmp/imp22g-77.imp"
PROG[SWPC] = 0;
                                                                //   8183          croak("Code space exhausted") %if swpc <= pc
#line 8183 "regression-compile-tmp/imp22g-77.imp"
if (((SWPC) > (PC))) goto L_08bd;
#line 8183 "regression-compile-tmp/imp22g-77.imp"
CROAK(_imp_str_literal("Code space exhausted"));
#line 8183 "regression-compile-tmp/imp22g-77.imp"
L_08bd:;
                                                                //   8184        %repeat
#line 8184 "regression-compile-tmp/imp22g-77.imp"
goto L_08ba;
#line 8184 "regression-compile-tmp/imp22g-77.imp"
L_08bb:;
                                                                //   8185        dict(dlim0)_val = swpc
#line 8185 "regression-compile-tmp/imp22g-77.imp"
DICT[DLIM0].VAL = SWPC;
                                                                //   8186        dict(dlim0)_type = dlim1
#line 8186 "regression-compile-tmp/imp22g-77.imp"
DICT[DLIM0].TYPE = DLIM1;
                                                                //   8187        dlim0 = dlim0+1
#line 8187 "regression-compile-tmp/imp22g-77.imp"
DLIM0 = (((int)(DLIM0)) + (1));
                                                                //   8188      %repeat %until dlim0 = dlim1
#line 8188 "regression-compile-tmp/imp22g-77.imp"
if (((DLIM0) == (DLIM1))) goto L_08b8;
#line 8188 "regression-compile-tmp/imp22g-77.imp"
goto L_08b7;
#line 8188 "regression-compile-tmp/imp22g-77.imp"
L_08b8:;
                                                                //   8189    %repeat %until %not a(comma)=TRUE
#line 8189 "regression-compile-tmp/imp22g-77.imp"
if (((A(60)) != (1))) goto L_08b4;
#line 8189 "regression-compile-tmp/imp22g-77.imp"
goto L_08b3;
#line 8189 "regression-compile-tmp/imp22g-77.imp"
L_08b4:;
                                                                //   8190  %end
#line 8190 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETSWITCHDECLARATION at level 3
                                                                //   8191  initial(keyswitch):
#line 8191 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_39:;
                                                                //   8192    literal = 1
#line 8192 "regression-compile-tmp/imp22g-77.imp"
LITERAL = 1;
                                                                //   8193    get SWITCH DECLARATION
#line 8193 "regression-compile-tmp/imp22g-77.imp"
GETSWITCHDECLARATION();
                                                                //   8194    c_status = c_status!hadswitch
#line 8194 "regression-compile-tmp/imp22g-77.imp"
C.STATUS = ((C.STATUS) | (128));
                                                                //   8195    ->term
#line 8195 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   8196  
                                                                //   8197  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   8198  !!!!!!!!!!!!!!!  Control statements  !!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   8199  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   8200  !
                                                                //   8201  %routine OPT
#line 8201 "regression-compile-tmp/imp22g-77.imp"
void OPT( void )
#line 8201 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   8202  %integer c
#line 8202 "regression-compile-tmp/imp22g-77.imp"
int C;
                                                                //   8203    c=control
#line 8203 "regression-compile-tmp/imp22g-77.imp"
C = CONTROL;
                                                                //   8204    set options(string(final0+value))
#line 8204 "regression-compile-tmp/imp22g-77.imp"
SETOPTIONS(*_imp_STRING((((int)(FINAL0)) + (VALUE))));
                                                                //   8205    select output(listout);  !**for now - PAM may alter**
#line 8205 "regression-compile-tmp/imp22g-77.imp"
_imp_SELECTOUTPUT(LISTOUT);
                                                                //   8206    control = control&(\list) %if initcon&list = 0
#line 8206 "regression-compile-tmp/imp22g-77.imp"
if (((((INITCON) & (1))) != (0))) goto L_08be;
#line 8206 "regression-compile-tmp/imp22g-77.imp"
CONTROL = ((CONTROL) & ((~(1))));
#line 8206 "regression-compile-tmp/imp22g-77.imp"
L_08be:;
                                                                //   8207    control = control!list %if control&(\c)&(ttlist+codelist+explist+dictlist) # 0
#line 8207 "regression-compile-tmp/imp22g-77.imp"
if (((((((CONTROL) & ((~(C))))) & (58))) == (0))) goto L_08bf;
#line 8207 "regression-compile-tmp/imp22g-77.imp"
CONTROL = ((CONTROL) | (1));
#line 8207 "regression-compile-tmp/imp22g-77.imp"
L_08bf:;
                                                                //   8208  %end
#line 8208 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block OPT at level 3
                                                                //   8209  
                                                                //   8210  initial(keyoption):
#line 8210 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_48:;
                                                                //   8211    get LITSTRING
#line 8211 "regression-compile-tmp/imp22g-77.imp"
GETLITSTRING();
                                                                //   8212    get(terminator)
#line 8212 "regression-compile-tmp/imp22g-77.imp"
GET(51);
                                                                //   8213    opt %if faultnum = 0
#line 8213 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTNUM) != (0))) goto L_08c0;
#line 8213 "regression-compile-tmp/imp22g-77.imp"
OPT();
#line 8213 "regression-compile-tmp/imp22g-77.imp"
L_08c0:;
                                                                //   8214    -> next
#line 8214 "regression-compile-tmp/imp22g-77.imp"
goto U_101e;
                                                                //   8215  
                                                                //   8216  initial(keyinclude):
#line 8216 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_47:;
                                                                //   8217    get LITSTRING
#line 8217 "regression-compile-tmp/imp22g-77.imp"
GETLITSTRING();
                                                                //   8218    get(terminator)
#line 8218 "regression-compile-tmp/imp22g-77.imp"
GET(51);
                                                                //   8219    %if faultnum = 0 %start
#line 8219 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTNUM) != (0))) goto L_08c1;
                                                                //   8220      croak("Too many nested includes") %if curfile = 3
#line 8220 "regression-compile-tmp/imp22g-77.imp"
if (((CURFILE) != (3))) goto L_08c2;
#line 8220 "regression-compile-tmp/imp22g-77.imp"
CROAK(_imp_str_literal("Too many nested includes"));
#line 8220 "regression-compile-tmp/imp22g-77.imp"
L_08c2:;
                                                                //   8221      line = line+1 %if sym = nl
#line 8221 "regression-compile-tmp/imp22g-77.imp"
if (((SYM) != (10))) goto L_08c3;
#line 8221 "regression-compile-tmp/imp22g-77.imp"
LINE = (((int)(LINE)) + (1));
#line 8221 "regression-compile-tmp/imp22g-77.imp"
L_08c3:;
                                                                //   8222      cur_fp = fp;  cur_line = line
#line 8222 "regression-compile-tmp/imp22g-77.imp"
CUR->FP = FP;
#line 8222 "regression-compile-tmp/imp22g-77.imp"
CUR->LINE = LINE;
                                                                //   8223      fcontrol(curfile) = control
#line 8223 "regression-compile-tmp/imp22g-77.imp"
FCONTROL[(((int)(CURFILE)) - (1))] = CONTROL;
                                                                //   8224      control = control&(\list) %if control&(codelist+explist+dictlist) = 0
#line 8224 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (56))) != (0))) goto L_08c4;
#line 8224 "regression-compile-tmp/imp22g-77.imp"
CONTROL = ((CONTROL) & ((~(1))));
#line 8224 "regression-compile-tmp/imp22g-77.imp"
L_08c4:;
                                                                //   8225      curfile = curfile+1
#line 8225 "regression-compile-tmp/imp22g-77.imp"
CURFILE = (((int)(CURFILE)) + (1));
                                                                //   8226      lastfile = -1 %if curfile = lastfile
#line 8226 "regression-compile-tmp/imp22g-77.imp"
if (((CURFILE) != (LASTFILE))) goto L_08c5;
#line 8226 "regression-compile-tmp/imp22g-77.imp"
LASTFILE = (-1);
#line 8226 "regression-compile-tmp/imp22g-77.imp"
L_08c5:;
                                                                //   8227      cur == file(curfile);  cur = 0
#line 8227 "regression-compile-tmp/imp22g-77.imp"
CUR = &FILE[(((int)(CURFILE)) - (1))];
#line 8227 "regression-compile-tmp/imp22g-77.imp"
*CUR = (EDFILE){ 0 } /* Assign 0's to all fields of record */;
                                                                //   8228      time1 = time1-cputime
#line 8228 "regression-compile-tmp/imp22g-77.imp"
TIME1 = (((int)(TIME1)) - (CPUTIME));
                                                                //   8229  !!    define param("INC",cur_name,nodefault)
                                                                //   8230      opt
#line 8230 "regression-compile-tmp/imp22g-77.imp"
OPT();
                                                                //   8231  !!    connect edfile(cur)
                                                                //   8232      time1 = time1+cputime
#line 8232 "regression-compile-tmp/imp22g-77.imp"
TIME1 = (((int)(TIME1)) + (CPUTIME));
                                                                //   8233      %signal abandon %if cur_flag # 0
#line 8233 "regression-compile-tmp/imp22g-77.imp"
if (((CUR->FLAG) == (0))) goto L_08c6;
#line 8233 "regression-compile-tmp/imp22g-77.imp"
_imp_signal(14, 0, 0, "");
#line 8233 "regression-compile-tmp/imp22g-77.imp"
L_08c6:;
                                                                //   8234      line = 0;  sym = nl
#line 8234 "regression-compile-tmp/imp22g-77.imp"
LINE = 0;
#line 8234 "regression-compile-tmp/imp22g-77.imp"
SYM = 10;
                                                                //   8235      curstart = cur_start2;  curlim = cur_lim2
#line 8235 "regression-compile-tmp/imp22g-77.imp"
CURSTART = CUR->START2;
#line 8235 "regression-compile-tmp/imp22g-77.imp"
CURLIM = CUR->LIM2;
                                                                //   8236      fp = cur_start2
#line 8236 "regression-compile-tmp/imp22g-77.imp"
FP = CUR->START2;
                                                                //   8237    %finish
#line 8237 "regression-compile-tmp/imp22g-77.imp"
L_08c1:;
                                                                //   8238    ->next
#line 8238 "regression-compile-tmp/imp22g-77.imp"
goto U_101e;
                                                                //   8239  
                                                                //   8240  initial(keycontrol):
#line 8240 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_44:;
                                                                //   8241    get LITERAL(inttype)
#line 8241 "regression-compile-tmp/imp22g-77.imp"
GETLITERAL(43);
                                                                //   8242    control = 0 %if value = 0
#line 8242 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) != (0))) goto L_08c7;
#line 8242 "regression-compile-tmp/imp22g-77.imp"
CONTROL = 0;
#line 8242 "regression-compile-tmp/imp22g-77.imp"
L_08c7:;
                                                                //   8243    control = control!!value
#line 8243 "regression-compile-tmp/imp22g-77.imp"
CONTROL = ((CONTROL) ^ (VALUE));
                                                                //   8244    show dict(0) %if control&dictlist # 0
#line 8244 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (16))) == (0))) goto L_08c8;
#line 8244 "regression-compile-tmp/imp22g-77.imp"
SHOWDICT(0);
#line 8244 "regression-compile-tmp/imp22g-77.imp"
L_08c8:;
                                                                //   8245    ->term
#line 8245 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   8246  
                                                                //   8247  initial(keylist):
#line 8247 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_43:;
                                                                //   8248    control = control!list
#line 8248 "regression-compile-tmp/imp22g-77.imp"
CONTROL = ((CONTROL) | (1));
                                                                //   8249    ->term
#line 8249 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   8250  
                                                                //   8251  initial(keybegin):
#line 8251 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_5:;
                                                                //   8252    get(terminator)
#line 8252 "regression-compile-tmp/imp22g-77.imp"
GET(51);
                                                                //   8253    %if stopper = 0 %start;  !first %begin
#line 8253 "regression-compile-tmp/imp22g-77.imp"
if (((STOPPER) != (0))) goto L_08c9;
                                                                //   8254      c_localdpos = dlim;  c_parlim = dlim
#line 8254 "regression-compile-tmp/imp22g-77.imp"
C.LOCALDPOS = DLIM;
#line 8254 "regression-compile-tmp/imp22g-77.imp"
C.PARLIM = DLIM;
                                                                //   8255      c_access = 1
#line 8255 "regression-compile-tmp/imp22g-77.imp"
C.ACCESS = 1;
                                                                //   8256      get STATEMENTS(keyend)
#line 8256 "regression-compile-tmp/imp22g-77.imp"
GETSTATEMENTS(1);
                                                                //   8257      %return
#line 8257 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   8258    %finish
#line 8258 "regression-compile-tmp/imp22g-77.imp"
L_08c9:;
                                                                //   8259    declare anon(beginblock)
#line 8259 "regression-compile-tmp/imp22g-77.imp"
DECLAREANON(&BEGINBLOCK);
                                                                //   8260    open block(dlim0)
#line 8260 "regression-compile-tmp/imp22g-77.imp"
OPENBLOCK(DLIM0);
                                                                //   8261    get STATEMENTS(keyend)
#line 8261 "regression-compile-tmp/imp22g-77.imp"
GETSTATEMENTS(1);
                                                                //   8262    update sp
#line 8262 "regression-compile-tmp/imp22g-77.imp"
UPDATESP();
                                                                //   8263    this is inst
#line 8263 "regression-compile-tmp/imp22g-77.imp"
THISISINST();
                                                                //   8264    srcall(dlim-1)
#line 8264 "regression-compile-tmp/imp22g-77.imp"
SRCALL((((int)(DLIM)) - (1)));
                                                                //   8265    -> term
#line 8265 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   8266  
                                                                //   8267  initial(keyend):
#line 8267 "regression-compile-tmp/imp22g-77.imp"
sw6_INITIAL_1:;
                                                                //   8268    %if stopper > keyend %start
#line 8268 "regression-compile-tmp/imp22g-77.imp"
if (((STOPPER) <= (1))) goto L_08ca;
                                                                //   8269      %if stopper = keyrepeat %then fault(norepeat+now) %C
#line 8269 "regression-compile-tmp/imp22g-77.imp"
if (((STOPPER) != (2))) goto L_08cb;
#line 8269 "regression-compile-tmp/imp22g-77.imp"
FAULT(172);
#line 8269 "regression-compile-tmp/imp22g-77.imp"
goto L_08cc;
#line 8269 "regression-compile-tmp/imp22g-77.imp"
L_08cb:;
#line 8269 "regression-compile-tmp/imp22g-77.imp"
FAULT(171);
#line 8269 "regression-compile-tmp/imp22g-77.imp"
L_08cc:;
                                                                //   8270      %else fault(nofinish+now)
                                                                //   8271    %else
#line 8271 "regression-compile-tmp/imp22g-77.imp"
goto L_08cd;
#line 8271 "regression-compile-tmp/imp22g-77.imp"
L_08ca:;
                                                                //   8272      %if a(keyof)=TRUE %start
#line 8272 "regression-compile-tmp/imp22g-77.imp"
if (((A(40)) != (1))) goto L_08ce;
                                                                //   8273        %if a(keylist)=TRUE %start
#line 8273 "regression-compile-tmp/imp22g-77.imp"
if (((A(43)) != (1))) goto L_08cf;
                                                                //   8274          control = control&(\list)
#line 8274 "regression-compile-tmp/imp22g-77.imp"
CONTROL = ((CONTROL) & ((~(1))));
                                                                //   8275          ->term
#line 8275 "regression-compile-tmp/imp22g-77.imp"
goto U_1031;
                                                                //   8276        %finish
#line 8276 "regression-compile-tmp/imp22g-77.imp"
L_08cf:;
                                                                //   8277        %if a(keyfile)=TRUE %start
#line 8277 "regression-compile-tmp/imp22g-77.imp"
if (((A(41)) != (1))) goto L_08d0;
                                                                //   8278         fp = curlim;  sym = nl
#line 8278 "regression-compile-tmp/imp22g-77.imp"
FP = CURLIM;
#line 8278 "regression-compile-tmp/imp22g-77.imp"
SYM = 10;
                                                                //   8279          ->next
#line 8279 "regression-compile-tmp/imp22g-77.imp"
goto U_101e;
                                                                //   8280        %finish
#line 8280 "regression-compile-tmp/imp22g-77.imp"
L_08d0:;
                                                                //   8281        get(keyprogram)
#line 8281 "regression-compile-tmp/imp22g-77.imp"
GET(42);
                                                                //   8282        fault(noend+now) %if level # outerlevel
#line 8282 "regression-compile-tmp/imp22g-77.imp"
if (((LEVEL) == (0))) goto L_08d1;
#line 8282 "regression-compile-tmp/imp22g-77.imp"
FAULT(170);
#line 8282 "regression-compile-tmp/imp22g-77.imp"
L_08d1:;
                                                                //   8283      %finish
#line 8283 "regression-compile-tmp/imp22g-77.imp"
L_08ce:;
                                                                //   8284      fault(nobegin+now) %if stopper = 0
#line 8284 "regression-compile-tmp/imp22g-77.imp"
if (((STOPPER) != (0))) goto L_08d2;
#line 8284 "regression-compile-tmp/imp22g-77.imp"
FAULT(164);
#line 8284 "regression-compile-tmp/imp22g-77.imp"
L_08d2:;
                                                                //   8285      %if c_access > 0 %start
#line 8285 "regression-compile-tmp/imp22g-77.imp"
if (((C.ACCESS) <= (0))) goto L_08d3;
                                                                //   8286        fault(noresult+now) %if c_type # 0;  !fn/map/pred
#line 8286 "regression-compile-tmp/imp22g-77.imp"
if (((C.TYPE) == (0))) goto L_08d4;
#line 8286 "regression-compile-tmp/imp22g-77.imp"
FAULT(133);
#line 8286 "regression-compile-tmp/imp22g-77.imp"
L_08d4:;
                                                                //   8287      %finish
#line 8287 "regression-compile-tmp/imp22g-77.imp"
L_08d3:;
                                                                //   8288      close block
#line 8288 "regression-compile-tmp/imp22g-77.imp"
CLOSEBLOCK();
                                                                //   8289    %finish
#line 8289 "regression-compile-tmp/imp22g-77.imp"
L_08cd:;
                                                                //   8290  %end;  !GET STATEMENTS
#line 8290 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
sw6_INITIAL_0:;
sw6_INITIAL_17:;
sw6_INITIAL_19:;
sw6_INITIAL_20:;
sw6_INITIAL_33:;
sw6_INITIAL_34:;
sw6_INITIAL_35:;
sw6_INITIAL_37:;
sw6_INITIAL_38:;
sw6_INITIAL_40:;
sw6_INITIAL_41:;
sw6_INITIAL_42:;
sw6_INITIAL_46:;
sw6_INITIAL_49:;
sw6_INITIAL_50:;
sw6_INITIAL_52:;
sw6_INITIAL_54:;
sw6_INITIAL_55:;
sw6_INITIAL_56:;
sw6_INITIAL_58:;
sw6_INITIAL_59:;
sw6_INITIAL_60:;
sw6_INITIAL_61:;
sw6_INITIAL_62:;
sw6_INITIAL_64:;
sw6_INITIAL_65:;
sw6_INITIAL_66:;
sw6_INITIAL_67:;
sw6_INITIAL_68:;
sw6_INITIAL_69:;
sw6_INITIAL_70:;
sw6_INITIAL_71:;
sw6_INITIAL_72:;
sw6_INITIAL_73:;
sw6_INITIAL_75:;
sw6_INITIAL_76:;
sw6_INITIAL_77:;
sw6_INITIAL_78:;
sw6_INITIAL_79:;
sw6_INITIAL_80:;
sw6_INITIAL_81:;
sw6_INITIAL_82:;
sw6_INITIAL_83:;
sw6_INITIAL_84:;
sw6_INITIAL_87:;
sw6_INITIAL_89:;
sw6_INITIAL_90:;
sw6_INITIAL_91:;
sw6_INITIAL_92:;
sw6_INITIAL_93:;
sw6_INITIAL_94:;
sw6_INITIAL_95:;
sw6_INITIAL_96:;
sw6_INITIAL_97:;
sw6_INITIAL_98:;
sw6_INITIAL_99:;
goto sw6_INITIAL_default;
} // End of block GETSTATEMENTS at level 2
                                                                //   8291  
                                                                //   8292  !<<BOTH
                                                                //   8293  
                                                                //   8294  %routine ANNOUNCE(%integer value,%string(255) message)
#line 8294 "regression-compile-tmp/imp22g-77.imp"
void ANNOUNCE( int VALUE, _imp_string /*%string(255)*/ MESSAGE )
#line 8294 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   8295    write(value,1);  space;  printstring(message)
#line 8295 "regression-compile-tmp/imp22g-77.imp"
_imp_WRITE(VALUE, 1);
#line 8295 "regression-compile-tmp/imp22g-77.imp"
_imp_SPACE();
#line 8295 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(MESSAGE);
                                                                //   8296    printsymbol('s') %if value # 1
#line 8296 "regression-compile-tmp/imp22g-77.imp"
if (((VALUE) == (1))) goto L_08d5;
#line 8296 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSYMBOL(115);
#line 8296 "regression-compile-tmp/imp22g-77.imp"
L_08d5:;
                                                                //   8297  %end
#line 8297 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ANNOUNCE at level 2
                                                                //   8298  
                                                                //   8299  %routine OUTPUT OBJECT FILE
#line 8299 "regression-compile-tmp/imp22g-77.imp"
void OUTPUTOBJECTFILE( void )
#line 8299 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   8300  %constinteger OBJOUT=1
                                                                //   8301  %constinteger INITSIZE=18
                                                                //   8302  !%constinteger INITSIZE=30
                                                                //   8303  %integer i,reset,totsize,ownsize
#line 8303 "regression-compile-tmp/imp22g-77.imp"
int I;
#line 8303 "regression-compile-tmp/imp22g-77.imp"
int RESET;
#line 8303 "regression-compile-tmp/imp22g-77.imp"
int TOTSIZE;
#line 8303 "regression-compile-tmp/imp22g-77.imp"
int OWNSIZE;
                                                                //   8304  ! INIT SEQUENCE
                                                                //   8305  !   code to copy own values from end of code area to data area
                                                                //   8306  !
                                                                //   8307  !    Program area                 Data area
                                                                //   8308  !   ________________         __________________
                                                                //   8309  !   |              |         |                |
                                                                //   8310  !   |              |         |  STACK SPACE   |
                                                                //   8311  !   |    CODE      |         |                |
                                                                //   8312  !   |              |     SP->|~~~~~~~~~~~~~~~~|
                                                                //   8313  !   |______________|         |                |
                                                                //   8314  !   |    init      |         |                |
                                                                //   8315  !   |~~~~~~~~~~~~~~|         |GLOBAL DYNAMICS |
                                                                //   8316  !   |              |         |                |
                                                                //   8317  !   |  OWN VALUES  |     MB->|~~~~~~~~~~~~~~~~|
                                                                //   8318  !   |              |         |                |
                                                                //   8319  !   |              |         |    OWNS        |
                                                                //   8320  !   |______________|         |                |
                                                                //   8321  !                        orig|                |
                                                                //   8322  !                        SP->|~~~~~~~~~~~~~~~~|
                                                                //   8323  !
                                                                //   8324   
                                                                //   8325    reset = 0;  totsize = cad
#line 8325 "regression-compile-tmp/imp22g-77.imp"
RESET = 0;
#line 8325 "regression-compile-tmp/imp22g-77.imp"
TOTSIZE = CAD;
                                                                //   8326    ownsize =  ownad
#line 8326 "regression-compile-tmp/imp22g-77.imp"
OWNSIZE = OWNAD;
                                                                //   8327    %if ownsize # 0 %start
#line 8327 "regression-compile-tmp/imp22g-77.imp"
if (((OWNSIZE) == (0))) goto L_08d6;
                                                                //   8328      fill own(4-ownad&3) %if ownad&3 # 0
#line 8328 "regression-compile-tmp/imp22g-77.imp"
if (((((OWNAD) & (3))) == (0))) goto L_08d7;
#line 8328 "regression-compile-tmp/imp22g-77.imp"
FILLOWN(((4) - ((int)(((OWNAD) & (3))))));
#line 8328 "regression-compile-tmp/imp22g-77.imp"
L_08d7:;
                                                                //   8329      ownsize = ownad
#line 8329 "regression-compile-tmp/imp22g-77.imp"
OWNSIZE = OWNAD;
                                                                //   8330      reset = cad;    !entry-point for RESET
#line 8330 "regression-compile-tmp/imp22g-77.imp"
RESET = CAD;
                                                                //   8331      totsize = totsize+(initsize+ownad);  !total code size
#line 8331 "regression-compile-tmp/imp22g-77.imp"
TOTSIZE = ((TOTSIZE) + ((int)((((int)(18)) + (OWNAD)))));
                                                                //   8332    %finish
#line 8332 "regression-compile-tmp/imp22g-77.imp"
L_08d6:;
                                                                //   8333    set extension(objfile,".mob")
#line 8333 "regression-compile-tmp/imp22g-77.imp"
SETEXTENSION(&OBJFILE, _imp_str_literal(".mob"));
                                                                //   8334    time1 = time1-cputime
#line 8334 "regression-compile-tmp/imp22g-77.imp"
TIME1 = (((int)(TIME1)) - (CPUTIME));
                                                                //   8335    open output(objout,objfile)
#line 8335 "regression-compile-tmp/imp22g-77.imp"
_imp_OPENOUTPUT(1, OBJFILE);
                                                                //   8336    select output(objout)
#line 8336 "regression-compile-tmp/imp22g-77.imp"
_imp_SELECTOUTPUT(1);
                                                                //   8337    put word(16_FE02);  !object module flag, version
#line 8337 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(65026);
                                                                //   8338    put word(control>>20<<4);  !checking options
#line 8338 "regression-compile-tmp/imp22g-77.imp"
PUTWORD((((int)((((unsigned int)(CONTROL)) >> (20)))) << (4)));
                                                                //   8339    value = 0
#line 8339 "regression-compile-tmp/imp22g-77.imp"
VALUE = 0;
                                                                //   8340    do externals(externs,-1) %if externs # 0;  !find size
#line 8340 "regression-compile-tmp/imp22g-77.imp"
if (((EXTERNS) == (0))) goto L_08d8;
#line 8340 "regression-compile-tmp/imp22g-77.imp"
DOEXTERNALS(EXTERNS, (-1));
#line 8340 "regression-compile-tmp/imp22g-77.imp"
L_08d8:;
                                                                //   8341    put word(value);        !length of exports
#line 8341 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(VALUE);
                                                                //   8342    value = 0
#line 8342 "regression-compile-tmp/imp22g-77.imp"
VALUE = 0;
                                                                //   8343    do externals(extspecs,-1) %if extspecs # 0;  !find size
#line 8343 "regression-compile-tmp/imp22g-77.imp"
if (((EXTSPECS) == (0))) goto L_08d9;
#line 8343 "regression-compile-tmp/imp22g-77.imp"
DOEXTERNALS(EXTSPECS, (-1));
#line 8343 "regression-compile-tmp/imp22g-77.imp"
L_08d9:;
                                                                //   8344    put word(value);        !length of imports
#line 8344 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(VALUE);
                                                                //   8345    put word(totsize>>16);  !length of code + init pattern
#line 8345 "regression-compile-tmp/imp22g-77.imp"
PUTWORD((int)((((unsigned int)(TOTSIZE)) >> (16))));
                                                                //   8346    put word(totsize)
#line 8346 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(TOTSIZE);
                                                                //   8347    put word(reset>>1);     !reset entry-point
#line 8347 "regression-compile-tmp/imp22g-77.imp"
PUTWORD((int)((((unsigned int)(RESET)) >> (1))));
                                                                //   8348    put word(c_dpid_val>>1);  !main entry-point
#line 8348 "regression-compile-tmp/imp22g-77.imp"
PUTWORD((int)((((unsigned int)(C.DPID->VAL)) >> (1))));
                                                                //   8349    put word(ownsize>>16);       !static data requirement
#line 8349 "regression-compile-tmp/imp22g-77.imp"
PUTWORD((int)((((unsigned int)(OWNSIZE)) >> (16))));
                                                                //   8350    put word(ownsize)
#line 8350 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(OWNSIZE);
                                                                //   8351    put word(c_totstack>>16);  !stack requirement
#line 8351 "regression-compile-tmp/imp22g-77.imp"
PUTWORD((int)((((unsigned int)(C.TOTSTACK)) >> (16))));
                                                                //   8352    put word(c_totstack)
#line 8352 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(C.TOTSTACK);
                                                                //   8353    put word(0);            !spare for diag
#line 8353 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(0);
                                                                //   8354    put word(0)
#line 8354 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(0);
                                                                //   8355    put word(0)
#line 8355 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(0);
                                                                //   8356    put word(0)
#line 8356 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(0);
                                                                //   8357    do externals(externs,0) %if externs # 0
#line 8357 "regression-compile-tmp/imp22g-77.imp"
if (((EXTERNS) == (0))) goto L_08da;
#line 8357 "regression-compile-tmp/imp22g-77.imp"
DOEXTERNALS(EXTERNS, 0);
#line 8357 "regression-compile-tmp/imp22g-77.imp"
L_08da:;
                                                                //   8358    do externals(extspecs,1) %if extspecs # 0
#line 8358 "regression-compile-tmp/imp22g-77.imp"
if (((EXTSPECS) == (0))) goto L_08db;
#line 8358 "regression-compile-tmp/imp22g-77.imp"
DOEXTERNALS(EXTSPECS, 1);
#line 8358 "regression-compile-tmp/imp22g-77.imp"
L_08db:;
                                                                //   8359    final(0) = 16_4E;  final(1) =16_75;  !RTS (as null reset,main?)
#line 8359 "regression-compile-tmp/imp22g-77.imp"
FINAL[0] = 78;
#line 8359 "regression-compile-tmp/imp22g-77.imp"
FINAL[1] = 117;
                                                                //   8360    i = 0
#line 8360 "regression-compile-tmp/imp22g-77.imp"
I = 0;
                                                                //   8361    %cycle
#line 8361 "regression-compile-tmp/imp22g-77.imp"
L_08dc:;
                                                                //   8362      print symbol(final(i));  i = i+1
#line 8362 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSYMBOL(FINAL[I]);
#line 8362 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
                                                                //   8363    %repeat %until i = cad
#line 8363 "regression-compile-tmp/imp22g-77.imp"
if (((I) == (CAD))) goto L_08dd;
#line 8363 "regression-compile-tmp/imp22g-77.imp"
goto L_08dc;
#line 8363 "regression-compile-tmp/imp22g-77.imp"
L_08dd:;
                                                                //   8364    %if ownsize # 0 %start
#line 8364 "regression-compile-tmp/imp22g-77.imp"
if (((OWNSIZE) == (0))) goto L_08df;
                                                                //   8365      put word(16_2248+mb-a0);       !   move.l mb,a1
#line 8365 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(8780);
                                                                //   8366      put word(16_41FA);             !   lea initpatt,a0
#line 8366 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(16890);
                                                                //   8367      put word(16_000E)
#line 8367 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(14);
                                                                //   8368      put word(16_303C);             !   move.w #????,d0
#line 8368 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(12348);
                                                                //   8369      put word(ownad>>1-1);          ![individual owns in shortwords - 1]
#line 8369 "regression-compile-tmp/imp22g-77.imp"
PUTWORD((((int)((int)((((unsigned int)(OWNAD)) >> (1))))) - (1)));
                                                                //   8370      put word(16_32D8);             !l1 move.w (a0)+,(a1)+
#line 8370 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(13016);
                                                                //   8371      put word(16_51C8);             !   dbra d0,l1
#line 8371 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(20936);
                                                                //   8372      put word(-4)
#line 8372 "regression-compile-tmp/imp22g-77.imp"
PUTWORD((-4));
                                                                //   8373      put word(16_4E75);             !   rts
#line 8373 "regression-compile-tmp/imp22g-77.imp"
PUTWORD(20085);
                                                                //   8374      i = 0
#line 8374 "regression-compile-tmp/imp22g-77.imp"
I = 0;
                                                                //   8375      %cycle
#line 8375 "regression-compile-tmp/imp22g-77.imp"
L_08e0:;
                                                                //   8376        print symbol(final(i+ownbase));  i = i+1
#line 8376 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSYMBOL(FINAL[(((int)(I)) + (OWNBASE))]);
#line 8376 "regression-compile-tmp/imp22g-77.imp"
I = (((int)(I)) + (1));
                                                                //   8377      %repeat %until i = ownad
#line 8377 "regression-compile-tmp/imp22g-77.imp"
if (((I) == (OWNAD))) goto L_08e1;
#line 8377 "regression-compile-tmp/imp22g-77.imp"
goto L_08e0;
#line 8377 "regression-compile-tmp/imp22g-77.imp"
L_08e1:;
                                                                //   8378    %finish
#line 8378 "regression-compile-tmp/imp22g-77.imp"
L_08df:;
                                                                //   8379    time1 = time1+cputime
#line 8379 "regression-compile-tmp/imp22g-77.imp"
TIME1 = (((int)(TIME1)) + (CPUTIME));
                                                                //   8380  %end
#line 8380 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block OUTPUTOBJECTFILE at level 2
                                                                //   8381  
                                                                //   8382  %routine CLOSE EDIT
#line 8382 "regression-compile-tmp/imp22g-77.imp"
void CLOSEEDIT( void )
#line 8382 "regression-compile-tmp/imp22g-77.imp"
{
                                                                //   8383  !_FLAG is negative if edit abandoned
                                                                //   8384  !_CHANGE is untouched (inf) if no changes
                                                                //   8385    %if file(main)_flag >= 0 %and 0 < file(main)_change # 16_7FFFFFFF %start
#line 8385 "regression-compile-tmp/imp22g-77.imp"
if (((FILE[0].FLAG) < (0))) goto L_08e3;
#line 8385 "regression-compile-tmp/imp22g-77.imp"
if ((((0) >= (FILE[0].CHANGE))) || (((FILE[0].CHANGE) == (2147483647)))) goto L_08e3;
                                                                //   8386      file(main)_name = mainfile;  ![in case modified by OPEN IN]
#line 8386 "regression-compile-tmp/imp22g-77.imp"
FILE[0].NAME = MAINFILE;
                                                                //   8387      time1 = time1-cputime
#line 8387 "regression-compile-tmp/imp22g-77.imp"
TIME1 = (((int)(TIME1)) - (CPUTIME));
                                                                //   8388  !!    disconnect edfile(file(main))
                                                                //   8389      printstring(file(main)_name."  updated");  newline
#line 8389 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)FILE[0].NAME,(_imp_string)_imp_str_literal("  updated")));
#line 8389 "regression-compile-tmp/imp22g-77.imp"
_imp_NEWLINE();
                                                                //   8390      time1 = time1+cputime
#line 8390 "regression-compile-tmp/imp22g-77.imp"
TIME1 = (((int)(TIME1)) + (CPUTIME));
                                                                //   8391    %finish
#line 8391 "regression-compile-tmp/imp22g-77.imp"
L_08e3:;
                                                                //   8392  %end
#line 8392 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLOSEEDIT at level 2
                                                                //   8393  
                                                                //   8394  %begin
#line 8394 "regression-compile-tmp/imp22g-77.imp"
void _BLOCK_1_LEVEL_1_(void) {
                                                                //   8395  %on %event redo,abandon %start
#line 8395 "regression-compile-tmp/imp22g-77.imp"
if (!_imp_on_event(13, 14)) goto L_08e4;  /* TO DO: Remove %on %event handler just before L_08e4: if present for this block */
                                                                //   8396    close edit %and %stop %if event_event = abandon
#line 8396 "regression-compile-tmp/imp22g-77.imp"
if (((_imp_EVENT().EVENT) != (14))) goto L_08e5;
#line 8396 "regression-compile-tmp/imp22g-77.imp"
CLOSEEDIT();
#line 8396 "regression-compile-tmp/imp22g-77.imp"
exit(0);
#line 8396 "regression-compile-tmp/imp22g-77.imp"
L_08e5:;
                                                                //   8397  %finish
#line 8397 "regression-compile-tmp/imp22g-77.imp"
L_08e4:;
                                                                //   8398    time2 = cputime-time1
#line 8398 "regression-compile-tmp/imp22g-77.imp"
TIME2 = (((int)(CPUTIME)) - (TIME1));
                                                                //   8399    statements = 1;  comments = 0;  atoms = 0
#line 8399 "regression-compile-tmp/imp22g-77.imp"
STATEMENTS = 1;
#line 8399 "regression-compile-tmp/imp22g-77.imp"
COMMENTS = 0;
#line 8399 "regression-compile-tmp/imp22g-77.imp"
ATOMS = 0;
                                                                //   8400    identatoms = 0;  litatoms = 0
#line 8400 "regression-compile-tmp/imp22g-77.imp"
IDENTATOMS = 0;
#line 8400 "regression-compile-tmp/imp22g-77.imp"
LITATOMS = 0;
                                                                //   8401    faults = 0;  others = 0;  faultnum = 0
#line 8401 "regression-compile-tmp/imp22g-77.imp"
FAULTS = 0;
#line 8401 "regression-compile-tmp/imp22g-77.imp"
OTHERS = 0;
#line 8401 "regression-compile-tmp/imp22g-77.imp"
FAULTNUM = 0;
                                                                //   8402    zaps = 0;  steps = 0;  jumps = 0;  shorts = 0
#line 8402 "regression-compile-tmp/imp22g-77.imp"
ZAPS = 0;
#line 8402 "regression-compile-tmp/imp22g-77.imp"
STEPS = 0;
#line 8402 "regression-compile-tmp/imp22g-77.imp"
JUMPS = 0;
#line 8402 "regression-compile-tmp/imp22g-77.imp"
SHORTS = 0;
                                                                //   8403    rep = ""
#line 8403 "regression-compile-tmp/imp22g-77.imp"
REP = _imp_str_literal("");
                                                                //   8404    forget triples;  !reset LITPOS,EXPLO,OLDEXPLO
#line 8404 "regression-compile-tmp/imp22g-77.imp"
FORGETTRIPLES();
                                                                //   8405    char0 = addr(char(0));  final0 = addr(final(0))
#line 8405 "regression-compile-tmp/imp22g-77.imp"
CHAR0 = _imp_ADDR(&CHAR[0]);
#line 8405 "regression-compile-tmp/imp22g-77.imp"
FINAL0 = _imp_ADDR(&FINAL[0]);
                                                                //   8406    preset
#line 8406 "regression-compile-tmp/imp22g-77.imp"
PRESET();
                                                                //   8407    dint == dict(inttype)
#line 8407 "regression-compile-tmp/imp22g-77.imp"
DINT = &DICT[43];
                                                                //   8408    dtemp == dict(lablim);  dtemp2 == dict(lablim+1)
#line 8408 "regression-compile-tmp/imp22g-77.imp"
DTEMP = &DICT[LABLIM];
#line 8408 "regression-compile-tmp/imp22g-77.imp"
DTEMP2 = &DICT[(((int)(LABLIM)) + (1))];
                                                                //   8409    dtsprel == dict(lablim+2)                                     ;! GT: file corruption???? lablim turned into lablib since the last compile!  WTF???
#line 8409 "regression-compile-tmp/imp22g-77.imp"
DTSPREL = &DICT[(((int)(LABLIM)) + (2))];
                                                                //   8410    dmin = dictlim;  dmin0 = dmin
#line 8410 "regression-compile-tmp/imp22g-77.imp"
DMIN = DICTLIM;
#line 8410 "regression-compile-tmp/imp22g-77.imp"
DMIN0 = DMIN;
                                                                //   8411    inclim = 0
#line 8411 "regression-compile-tmp/imp22g-77.imp"
INCLIM = 0;
                                                                //   8412    accounted = 0
#line 8412 "regression-compile-tmp/imp22g-77.imp"
ACCOUNTED = 0;
                                                                //   8413    firstentry = finalbound;  firstpos = dictlim
#line 8413 "regression-compile-tmp/imp22g-77.imp"
FIRSTENTRY = FINALBOUND;
#line 8413 "regression-compile-tmp/imp22g-77.imp"
FIRSTPOS = DICTLIM;
                                                                //   8414    pc = 1;  swpc = progbound+1
#line 8414 "regression-compile-tmp/imp22g-77.imp"
PC = 1;
#line 8414 "regression-compile-tmp/imp22g-77.imp"
SWPC = 16384;
                                                                //   8415    cad = 2
#line 8415 "regression-compile-tmp/imp22g-77.imp"
CAD = 2;
                                                                //   8416    final(0) = 0;  !for empty string (compile-time only)
#line 8416 "regression-compile-tmp/imp22g-77.imp"
FINAL[0] = 0;
                                                                //   8417    ownbase = finalbound-4095;  ownad = 0
#line 8417 "regression-compile-tmp/imp22g-77.imp"
OWNBASE = (((int)(FINALBOUND)) - (4095));
#line 8417 "regression-compile-tmp/imp22g-77.imp"
OWNAD = 0;
                                                                //   8418    level = outerlevel;  vintage = 1
#line 8418 "regression-compile-tmp/imp22g-77.imp"
LEVEL = 0;
#line 8418 "regression-compile-tmp/imp22g-77.imp"
VINTAGE = 1;
                                                                //   8419    pendout = 0;  pendin = 0;  polarity = 0
#line 8419 "regression-compile-tmp/imp22g-77.imp"
PENDOUT = 0;
#line 8419 "regression-compile-tmp/imp22g-77.imp"
PENDIN = 0;
#line 8419 "regression-compile-tmp/imp22g-77.imp"
POLARITY = 0;
                                                                //   8420    curlab = dictlim+1
#line 8420 "regression-compile-tmp/imp22g-77.imp"
CURLAB = (((int)(DICTLIM)) + (1));
                                                                //   8421    reset context(procstar,defaultfree)
#line 8421 "regression-compile-tmp/imp22g-77.imp"
RESETCONTEXT(42, 3871);
                                                                //   8422    c_sp = -4;   !allow for BSR
#line 8422 "regression-compile-tmp/imp22g-77.imp"
C.SP = (-4);
                                                                //   8423  
                                                                //   8424    control = initcon
#line 8424 "regression-compile-tmp/imp22g-77.imp"
CONTROL = INITCON;
                                                                //   8425    lastfile = main
#line 8425 "regression-compile-tmp/imp22g-77.imp"
LASTFILE = 1;
                                                                //   8426    curfile = main;  cur == file(main)
#line 8426 "regression-compile-tmp/imp22g-77.imp"
CURFILE = 1;
#line 8426 "regression-compile-tmp/imp22g-77.imp"
CUR = &FILE[0];
                                                                //   8427    curstart = file(main)_start1;  curlim = file(main)_lim1
#line 8427 "regression-compile-tmp/imp22g-77.imp"
CURSTART = FILE[0].START1;
#line 8427 "regression-compile-tmp/imp22g-77.imp"
CURLIM = FILE[0].LIM1;
                                                                //   8428    fp = file(main)_start1
#line 8428 "regression-compile-tmp/imp22g-77.imp"
FP = FILE[0].START1;
                                                                //   8429    line = 0;  sym = nl
#line 8429 "regression-compile-tmp/imp22g-77.imp"
LINE = 0;
#line 8429 "regression-compile-tmp/imp22g-77.imp"
SYM = 10;
                                                                //   8430    np = np0
#line 8430 "regression-compile-tmp/imp22g-77.imp"
NP = NP0;
                                                                //   8431  !<<IMP
                                                                //   8432    get STATEMENTS(0)
#line 8432 "regression-compile-tmp/imp22g-77.imp"
GETSTATEMENTS(0);
                                                                //   8433  !<<BOTH
                                                                //   8434  %end
#line 8434 "regression-compile-tmp/imp22g-77.imp"
return;
} // End of block _BLOCK_1_LEVEL_1_ at level 2
_BLOCK_1_LEVEL_1_();
                                                                //   8435  
                                                                //   8436    time2 = cputime-time2-time1
#line 8436 "regression-compile-tmp/imp22g-77.imp"
TIME2 = (((int)((((int)(CPUTIME)) - (TIME2)))) - (TIME1));
                                                                //   8437    close edit
#line 8437 "regression-compile-tmp/imp22g-77.imp"
CLOSEEDIT();
                                                                //   8438    output object file %if faults = 0 %or control&forcebit # 0
#line 8438 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTS) == (0))) goto L_08de;
#line 8438 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (2048))) == (0))) goto L_08e6;
#line 8438 "regression-compile-tmp/imp22g-77.imp"
L_08de:;
#line 8438 "regression-compile-tmp/imp22g-77.imp"
OUTPUTOBJECTFILE();
#line 8438 "regression-compile-tmp/imp22g-77.imp"
L_08e6:;
                                                                //   8439    %cycle
#line 8439 "regression-compile-tmp/imp22g-77.imp"
L_08e7:;
                                                                //   8440      select output(listout)
#line 8440 "regression-compile-tmp/imp22g-77.imp"
_imp_SELECTOUTPUT(LISTOUT);
                                                                //   8441      printstring(file(main)_name)
#line 8441 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(FILE[0].NAME);
                                                                //   8442      %if faults = 0 %or control&forcebit # 0 %start
#line 8442 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTS) == (0))) goto L_08e2;
#line 8442 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (2048))) == (0))) goto L_08ea;
#line 8442 "regression-compile-tmp/imp22g-77.imp"
L_08e2:;
                                                                //   8443        printstring(" compiled:")
#line 8443 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(_imp_str_literal(" compiled:"));
                                                                //   8444        announce(statements,"statement")
#line 8444 "regression-compile-tmp/imp22g-77.imp"
ANNOUNCE(STATEMENTS, _imp_str_literal("statement"));
                                                                //   8445        print string(" (+")
#line 8445 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(_imp_str_literal(" (+"));
                                                                //   8446        announce(comments,"comment")
#line 8446 "regression-compile-tmp/imp22g-77.imp"
ANNOUNCE(COMMENTS, _imp_str_literal("comment"));
                                                                //   8447        printstring(") to")
#line 8447 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(_imp_str_literal(") to"));
                                                                //   8448        announce(cad,"byte")
#line 8448 "regression-compile-tmp/imp22g-77.imp"
ANNOUNCE(CAD, _imp_str_literal("byte"));
                                                                //   8449        printstring(" (+");  write(ownad,1)
#line 8449 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(_imp_str_literal(" (+"));
#line 8449 "regression-compile-tmp/imp22g-77.imp"
_imp_WRITE(OWNAD, 1);
                                                                //   8450        printsymbol(')')
#line 8450 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSYMBOL(41);
                                                                //   8451        newline
#line 8451 "regression-compile-tmp/imp22g-77.imp"
_imp_NEWLINE();
                                                                //   8452      %finish
#line 8452 "regression-compile-tmp/imp22g-77.imp"
L_08ea:;
                                                                //   8453      %if faults # 0 %start
#line 8453 "regression-compile-tmp/imp22g-77.imp"
if (((FAULTS) == (0))) goto L_08eb;
                                                                //   8454        printsymbol(':')
#line 8454 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSYMBOL(58);
                                                                //   8455        announce(faults,"fault")
#line 8455 "regression-compile-tmp/imp22g-77.imp"
ANNOUNCE(FAULTS, _imp_str_literal("fault"));
                                                                //   8456        printstring(" reported")
#line 8456 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(_imp_str_literal(" reported"));
                                                                //   8457        %if others # 0 %start
#line 8457 "regression-compile-tmp/imp22g-77.imp"
if (((OTHERS) == (0))) goto L_08ec;
                                                                //   8458          printstring(" (+");  announce(others,"other")
#line 8458 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(_imp_str_literal(" (+"));
#line 8458 "regression-compile-tmp/imp22g-77.imp"
ANNOUNCE(OTHERS, _imp_str_literal("other"));
                                                                //   8459          printsymbol(')')
#line 8459 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSYMBOL(41);
                                                                //   8460        %finish
#line 8460 "regression-compile-tmp/imp22g-77.imp"
L_08ec:;
                                                                //   8461        newline
#line 8461 "regression-compile-tmp/imp22g-77.imp"
_imp_NEWLINE();
                                                                //   8462      %finish
#line 8462 "regression-compile-tmp/imp22g-77.imp"
L_08eb:;
                                                                //   8463      %if control&logbit # 0 %start
#line 8463 "regression-compile-tmp/imp22g-77.imp"
if (((((CONTROL) & (1024))) == (0))) goto L_08ed;
                                                                //   8464        printstring(%c
#line 8464 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSTRING(_imp_str_literal("  CODE  OWNS  JUMPS SHORT STEPS  ZAPS | ATOMS LITS IDS  TIME"));
                                                                //   8465  "  CODE  OWNS  JUMPS SHORT STEPS  ZAPS | ATOMS LITS IDS  TIME")
                                                                //   8466        newline
#line 8466 "regression-compile-tmp/imp22g-77.imp"
_imp_NEWLINE();
                                                                //   8467        write(cad,5)
#line 8467 "regression-compile-tmp/imp22g-77.imp"
_imp_WRITE(CAD, 5);
                                                                //   8468        write(ownad,5)
#line 8468 "regression-compile-tmp/imp22g-77.imp"
_imp_WRITE(OWNAD, 5);
                                                                //   8469        write(jumps,6);  write(shorts,5)
#line 8469 "regression-compile-tmp/imp22g-77.imp"
_imp_WRITE(JUMPS, 6);
#line 8469 "regression-compile-tmp/imp22g-77.imp"
_imp_WRITE(SHORTS, 5);
                                                                //   8470        write(steps,5);  write(zaps,5)
#line 8470 "regression-compile-tmp/imp22g-77.imp"
_imp_WRITE(STEPS, 5);
#line 8470 "regression-compile-tmp/imp22g-77.imp"
_imp_WRITE(ZAPS, 5);
                                                                //   8471        print(atoms/statements,5,1)
#line 8471 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINT(((double)((double)((float)(ATOMS)) / (double)((float)(STATEMENTS)))), 5, 1);
                                                                //   8472        print(litatoms/statements,2,1)
#line 8472 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINT(((double)((double)((float)(LITATOMS)) / (double)((float)(STATEMENTS)))), 2, 1);
                                                                //   8473        print(identatoms/statements,1,1)
#line 8473 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINT(((double)((double)((float)(IDENTATOMS)) / (double)((float)(STATEMENTS)))), 1, 1);
                                                                //   8474        print(time2/statements,2,3)
#line 8474 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINT(((double)((double)((float)(TIME2)) / (double)((float)(STATEMENTS)))), 2, 3);
                                                                //   8475        printsymbol('+')
#line 8475 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINTSYMBOL(43);
                                                                //   8476        print(time1/statements,0,3)
#line 8476 "regression-compile-tmp/imp22g-77.imp"
_imp_PRINT(((double)((double)((float)(TIME1)) / (double)((float)(STATEMENTS)))), 0, 3);
                                                                //   8477        newline
#line 8477 "regression-compile-tmp/imp22g-77.imp"
_imp_NEWLINE();
                                                                //   8478      %finish
#line 8478 "regression-compile-tmp/imp22g-77.imp"
L_08ed:;
                                                                //   8479      %exit %if listout = 0
#line 8479 "regression-compile-tmp/imp22g-77.imp"
if (((LISTOUT) != (0))) goto L_08ee;
#line 8479 "regression-compile-tmp/imp22g-77.imp"
goto L_08e8;
#line 8479 "regression-compile-tmp/imp22g-77.imp"
L_08ee:;
                                                                //   8480      listout = 0
#line 8480 "regression-compile-tmp/imp22g-77.imp"
LISTOUT = 0;
                                                                //   8481    %repeat
#line 8481 "regression-compile-tmp/imp22g-77.imp"
goto L_08e7;
#line 8481 "regression-compile-tmp/imp22g-77.imp"
L_08e8:;
                                                                //   8482  !<<IMP
                                                                //   8483  %endofprogram
#line 8483 "regression-compile-tmp/imp22g-77.imp"
/* Remove %on %event handler here if present for this block */
return 0;
} // End of block _imp_main at level 1
#line 8483 "regression-compile-tmp/imp22g-77.imp"
// End of file
