#include <perms.h>

                                                                //      1  !IMP syntax checker - based on M68000 IMP compiler
                                                                //      2  !                              (qv for fuller annotation)
                                                                //      3  !  Hamish Dewar  Computer Science   Edinburgh University  1983
                                                                //      4  !
                                                                //      5  %constinteger MAXNAME=127
                                                                //      6  %recordformat EDFILE(%integer start1,lim1, {part 1}
#line 6 "regression-compile-tmp/chimp.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;
  int SHIFT;
  unsigned char TOP;
  unsigned char WIN;
  unsigned char BOT;
  unsigned char MIN;
  unsigned char ROW;
  unsigned char COL;
  _imp_string /*%string(127)*/ NAME;
};
                                                                //      7                                start2,lim2, {part2}
                                                                //      8                                lim, {VMLIM}
                                                                //      9                                lbeg,fp,change,flag,
                                                                //     10                                line  {line number of current pos},
                                                                //     11                                diff  {diff between LINE and ROW},
                                                                //     12                                shift {right shift of window on file},
                                                                //     13                  %byteinteger  top  {top row of sub_window},
                                                                //     14                                win  {floating top},
                                                                //     15                                bot  {bottom row +1 of sub_window},
                                                                //     16                                min  {minimum window size},
                                                                //     17                                row  {last row position},
                                                                //     18                                col  {last col position},
                                                                //     19               %string(maxname) name)
                                                                //     20  !
                                                                //     21  %external%routine EDI(%record(edfile)%name main,sec,
#line 21 "regression-compile-tmp/chimp.imp"
void EDI(  EDFILE /*name*/*MAIN,  EDFILE /*name*/*SEC, _imp_string /*%string(255)*/ MESSAGE )
#line 21 "regression-compile-tmp/chimp.imp"
{
                                                                //     22                        %string(255) message)
                                                                //     23  %end
#line 23 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block EDI at level 1
                                                                //     24                        
                                                                //     25  %external%routine CONNECT EDFILE(%record(edfile)%name f)
#line 25 "regression-compile-tmp/chimp.imp"
void CONNECTEDFILE(  EDFILE /*name*/*F )
#line 25 "regression-compile-tmp/chimp.imp"
{
                                                                //     26  %end
#line 26 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CONNECTEDFILE at level 1
                                                                //     27  
                                                                //     28  %external%routine DISCONNECT EDFILE(%record(edfile)%name f)
#line 28 "regression-compile-tmp/chimp.imp"
void DISCONNECTEDFILE(  EDFILE /*name*/*F )
#line 28 "regression-compile-tmp/chimp.imp"
{
                                                                //     29  %end
#line 29 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DISCONNECTEDFILE at level 1
                                                                //     30  
                                                                //     31  
                                                                //     32  !%external%routine%spec EDI(%record(edfile)%name main,sec,
                                                                //     33  !                         %string(255) message)
                                                                //     34  !%external%routine%spec CONNECT EDFILE(%record(edfile)%name f)
                                                                //     35  !%external%routine%spec DISCONNECT EDFILE(%record(edfile)%name f)
                                                                //     36  
                                                                //     37  !
                                                                //     38  !$IF VAX
                                                                //     39  %conststring(13) permfile="ECCE_PERM"
#line 39 "regression-compile-tmp/chimp.imp"
const _imp_string /*%string(13)*/ PERMFILE = _imp_str_literal("ECCE_PERM");
                                                                //     40  !$IF AMDAHL
                                                                //     41  {%conststring(18) permfile="ERCLIB:VECCE.IPERM"
                                                                //     42  !$FINISH
                                                                //     43  
                                                                //     44  !!  control
                                                                //     45  %constinteger logbit=   16_00040000 {print log},
                                                                //     46                warnbit=  16_00020000 {print warnings},
                                                                //     47                nonsbit=  16_00010000 {print nonstandard reports},
                                                                //     48                DICTLIST= 16_00001000 {list dict entries},
                                                                //     49                EXPLIST=  16_00000800 {list EXP entries}
                                                                //     50  %owninteger control=warnbit+nonsbit
#line 50 "regression-compile-tmp/chimp.imp"
static int CONTROL = 196608;
                                                                //     51  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //     52  %externalroutine ECCECI(%record(edfile)%name main)
#line 52 "regression-compile-tmp/chimp.imp"
void ECCECI(  EDFILE /*name*/*MAIN )
#line 52 "regression-compile-tmp/chimp.imp"
{
                                                                //     53  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //     54  %ownstring(maxname) extraname
#line 54 "regression-compile-tmp/chimp.imp"
static _imp_string /*%string(127)*/ EXTRANAME;
                                                                //     55  %ownrecord(edfile) extra=0,null=0
#line 55 "regression-compile-tmp/chimp.imp"
static  EDFILE EXTRA = { 0 } /* Initialise all fields of a record to 0. */;
#line 55 "regression-compile-tmp/chimp.imp"
static  EDFILE NULL = { 0 } /* Initialise all fields of a record to 0. */;
                                                                //     56  %integer curstart,curlim
#line 56 "regression-compile-tmp/chimp.imp"
int CURSTART;
#line 56 "regression-compile-tmp/chimp.imp"
int CURLIM;
                                                                //     57  %integer nonstop
#line 57 "regression-compile-tmp/chimp.imp"
int NONSTOP;
                                                                //     58  %owninteger change=0
#line 58 "regression-compile-tmp/chimp.imp"
static int CHANGE = 0;
                                                                //     59  !!  Fault numbers
                                                                //     60  %constinteger FORMERR=0, ATOMERR=1, NAMERR=2, CATERR=3, SIZERR=4,
                                                                //     61                ASSERR=5, TYPERR=6, DUPERR=7,
                                                                //     62                NOSTART=8, NOCYCLE=9,
                                                                //     63                ORDERERR=10, MATCHERR=11, RANGERR=12, NONLITERAL=13,
                                                                //     64                BOUNDSERR=14, ACCESSERR=15, NOTINLOOP=16,
                                                                //     65                NOTINROUT=17, NOTINFUN=18, NOTINPRED=19,
                                                                //     66                PLEXERR=20, NOIF=21, NONSTAND=22, NOTIN=23,
                                                                //     67                INDEXERR=24,
                                                                //     68                MOPERR=27, NOTERM=28, NONSTARTER=29,
                                                                //     69                NONVAR=30, NONREF=31, TOOMANY=32, TOOFEW=33,
                                                                //     70                UNWANTED=34, NOPARM=35, UNENDING=37,
                                                                //     71                SELFREF=38
                                                                //     72  %constinteger NOEND=40, NOBEGIN=41,
                                                                //     73                IDMISSING=42, NOFINISH=43, NOREPEAT=44,
                                                                //     74                COUNTERR=45, NORESULT=46
                                                                //     75  %constinteger ERRMAX=46
                                                                //     76  %constinteger POINT=64,WARN=128
                                                                //     77  %owninteger FAULTNUM=0
#line 77 "regression-compile-tmp/chimp.imp"
static int FAULTNUM = 0;
                                                                //     78  %owninteger FAULTS=0;          !fault count
#line 78 "regression-compile-tmp/chimp.imp"
static int FAULTS = 0;
                                                                //     79  !
                                                                //     80  %constinteger MAXINT=16_7FFFFFFF, MININT=\MAXINT,
                                                                //     81                MAX10=maxint//10, MAXDIG=maxint-max10*10
                                                                //     82  %constinteger FALSE=0, TRUE=1
                                                                //     83  %integer I
#line 83 "regression-compile-tmp/chimp.imp"
int I;
                                                                //     84  !
                                                                //     85  !!  Program statistics
                                                                //     86  %owninteger STATEMENTS=0;           !statement count
#line 86 "regression-compile-tmp/chimp.imp"
static int STATEMENTS = 0;
                                                                //     87  !%owninteger ATOMS=0;                !atom count
                                                                //     88  !%owninteger IDENTATOMS=0;           !identifier count
                                                                //     89  !%owninteger NUMATOMS=0;             !numeric atom count
                                                                //     90  !%owninteger MISSES=0;               !ident mismatches
                                                                //     91  !%owninteger ZAPS=0
                                                                //     92  !
                                                                //     93  !!!!!!!!!!!!!!!!   Operand Representation  !!!!!!!!!!!!!!!!!!!
                                                                //     94  
                                                                //     95  %constinteger SMALLMIN=-1000, SMALLMAX=1000,
                                                                //     96                LITMIN=smallmax+1, LITMAX=smallmax+1000,
                                                                //     97                D0=litmax+1, D1=d0+1, D2=d0+2, D6=d0+6, D7=d0+7,
                                                                //     98                A0=d0+8, A1=a0+1, A6=a0+6, A7=a0+7,
                                                                //     99                INDA0=a0+8,
                                                                //    100                POSTA0=inda0+8, POSTA7=posta0+7,
                                                                //    101                PREA0=posta0+8, PREA7=prea0+7,
                                                                //    102                DICTMIN=prea0+8, DICTMAX=prea0+1200,
                                                                //    103                LABMIN=dictmax+1, LAB1=labmin+1, LABMAX=labmin+20,
                                                                //    104                EXPMIN=labmax+1, EXPMAX=labmax+300,
                                                                //    105                UNDEF=expmax+1, AD=16_4000
                                                                //    106  %constinteger MAXDREG=d0+4, MAXAREG=a0+3
                                                                //    107  %constinteger D0B=1, D1B=2, D2B=4,
                                                                //    108                A0B=16_100, A1B=16_200, A2B=16_400
                                                                //    109  %constinteger ALLREGS=2_0000111100011111;  !a3:a0 & d4:d0
                                                                //    110  %owninteger FREE=allregs
#line 110 "regression-compile-tmp/chimp.imp"
static int FREE = 3871;
                                                                //    111  %constinteger NULLTYPE=dictmin,
                                                                //    112                RECY=nulltype+1, ARRY=recy+1, STRINGY=arry+1,
                                                                //    113                REALY=stringy+1, INTY=realy+1,
                                                                //    114                CHARTYPE=inty+1, BOOLTYPE=chartype+1,
                                                                //    115                FALSECONST=booltype+1, TRUECONST=booltype+2,
                                                                //    116                INTTYPE=trueconst+1, SHORTTYPE=inttype+1,
                                                                //    117                HALFTYPE=shorttype+1, BYTETYPE=halftype+1,
                                                                //    118                MITETYPE=bytetype+1, BITTYPE=MITETYPE+1,
                                                                //    119                LONGINTTYPE=bittype+1,
                                                                //    120                REALTYPE=longinttype+1, LONGREALTYPE=realtype+1
                                                                //    121  %constinteger PURETYPE=8191, DIRECT=8192, INDIRECT=16384
                                                                //    122  %constinteger ANYINT=inty+direct, ANYINTVAR=inty+indirect,
                                                                //    123                ANYSTRING=stringy+direct, ANYSTRINGVAR=stringy+indirect
                                                                //    124  %constinteger ANYNAME=nulltype+indirect
                                                                //    125  
                                                                //    126  !
                                                                //    127  %owninteger dictshown=dictmin
#line 127 "regression-compile-tmp/chimp.imp"
static int DICTSHOWN = 2041;
                                                                //    128  
                                                                //    129  !!!!!!!!!!!!!!!!!!!!!!!   Big Literals  !!!!!!!!!!!!!!!!!!!!!!!
                                                                //    130  %owninteger LITPOS=litmin, SLITPOS=litmax
#line 130 "regression-compile-tmp/chimp.imp"
static int LITPOS = 1001;
#line 130 "regression-compile-tmp/chimp.imp"
static int SLITPOS = 2000;
                                                                //    131  %integerarray LITSTORE(litmin:litmax)
#line 131 "regression-compile-tmp/chimp.imp"
int LITSTORE[1000];
                                                                //    132  !
                                                                //    133  !!!!!!!!!!!!!!!!!!!!!!!!!!  MODE VALUES  !!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    134  !Size codes:
                                                                //    135  %constinteger bytesize=1, wordsize=2, longsize=3
                                                                //    136  %constinteger sizemask=16_C0, sizeshift=6
                                                                //    137  !Address modes:
                                                                //    138  %constinteger dmode=0, amode=2_001000,
                                                                //    139                indmode=2_010000, postmode=2_011000, premode=2_100000,
                                                                //    140                dispmode=2_101000, indexmode=2_110000, absmode=2_111000,
                                                                //    141                pcmode=2_111010, litmode=2_111100
                                                                //    142  %constinteger ownmode=dispmode+6;  !d(A6)
                                                                //    143  !
                                                                //    144  !!!!!!!!!!!!!!!!!!!!!!!!  Identifiers  !!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    145  !
                                                                //    146  %recordformat OBJINFO %C
#line 146 "regression-compile-tmp/chimp.imp"
typedef struct OBJINFO OBJINFO;
struct OBJINFO {
  int FLAGS;
  int TYPE;
  int EXTRA;
  unsigned char SPARE;
  unsigned char MODE;
  int LOW;
  int VAL;
};
                                                                //    147    (%integer flags,type,
                                                                //    148      (%integer extra, %byteinteger spare,mode %or %integer low),
                                                                //    149     %integer val)
                                                                //    150  %recordformat IDENTINFO %C
#line 150 "regression-compile-tmp/chimp.imp"
typedef struct IDENTINFO IDENTINFO;
struct IDENTINFO {
  int FLAGS;
  int TYPE;
  int EXTRA;
  unsigned char SPARE;
  unsigned char MODE;
  int LOW;
  int VAL;
   OBJINFO DETAILS;
  int TEXT;
  int LINK;
};
                                                                //    151    ((%integer flags,type,
                                                                //    152      (%integer extra, %byteinteger spare,mode %or %integer low),
                                                                //    153     %integer val %or %record(objinfo) details),
                                                                //    154     %integer text,link)
                                                                //    155  !
                                                                //    156  ! Significance of FLAGS:
                                                                //    157  %constinteger VAR=16_0001, LAB=16_0002, PROC=16_0004, STATIC=16_0008,
                                                                //    158                SPEC=16_0010, EXT=16_0020, PARM=16_0040, MORE=16_0080,
                                                                //    159                TYPEID=16_0100, OKFLAG=16_0200, ALT=16_0800,
                                                                //    160                RFLAG=16_1000,WFLAG=16_2000
                                                                //    161  !
                                                                //    162  ! Significance of VAL:
                                                                //    163  !  for literal               : the actual value
                                                                //    164  !  for variable              : machine address (displacement)
                                                                //    165  !  for undefined label       : reference chain
                                                                //    166  !  for undefined procedure   :       "
                                                                //    167  !  for base type             : (index to) range
                                                                //    168  !  for record type           : size of record in bytes
                                                                //    169  !
                                                                //    170  !  Identifier dictionary:
                                                                //    171  %record(identinfo)%array DICT(d0:labmax)
#line 171 "regression-compile-tmp/chimp.imp"
 IDENTINFO DICT[1254];
                                                                //    172  !  indexing DICT:
                                                                //    173  %owninteger DLIM=trueconst+1;         !dict limit (up)
#line 173 "regression-compile-tmp/chimp.imp"
static int DLIM = 2051;
                                                                //    174  %owninteger DLIM0
#line 174 "regression-compile-tmp/chimp.imp"
static int DLIM0;
                                                                //    175  %owninteger PERMLIM=dictmin
#line 175 "regression-compile-tmp/chimp.imp"
static int PERMLIM = 2041;
                                                                //    176  %owninteger DMIN=dictmax-1;       !dict upper limit (down)
#line 176 "regression-compile-tmp/chimp.imp"
static int DMIN = 3232;
                                                                //    177  
                                                                //    178  !  Text of identifiers (indexed by _TEXT):
                                                                //    179  %constinteger CHARBOUND=6000
                                                                //    180  %byteintegerarray CHAR(0:charbound)
#line 180 "regression-compile-tmp/chimp.imp"
unsigned char CHAR[6001];
                                                                //    181  %integer CHARBASE,CHARLIM,CHARMIN;  !pointers
#line 181 "regression-compile-tmp/chimp.imp"
int CHARBASE;
#line 181 "regression-compile-tmp/chimp.imp"
int CHARLIM;
#line 181 "regression-compile-tmp/chimp.imp"
int CHARMIN;
                                                                //    182  %integer NEWLEN
#line 182 "regression-compile-tmp/chimp.imp"
int NEWLEN;
                                                                //    183  
                                                                //    184  !  Hash index to DICT:
                                                                //    185  %integerarray HASHINDEX(0:255)
#line 185 "regression-compile-tmp/chimp.imp"
int HASHINDEX[256];
                                                                //    186  %integername HEAD;                  !head of ident search list
#line 186 "regression-compile-tmp/chimp.imp"
int /*name*/*HEAD;
                                                                //    187  !
                                                                //    188  !!!!!!!!!!!!!!!!!!!!!  Complex operands  !!!!!!!!!!!!!!!!!!!!!!!
                                                                //    189  !%recordformat EXPINFO(%integer act,x,y)
                                                                //    190  !%record(expinfo)%array EXP(expmin:expmax)
                                                                //    191  %owninteger EXPLO=expmax+1, OLDEXPLO=expmax+1
#line 191 "regression-compile-tmp/chimp.imp"
static int EXPLO = 3555;
#line 191 "regression-compile-tmp/chimp.imp"
static int OLDEXPLO = 3555;
                                                                //    192  %constinteger NP0=expmin
                                                                //    193  %owninteger NP,CONDNP,INSTNP
#line 193 "regression-compile-tmp/chimp.imp"
static int NP;
#line 193 "regression-compile-tmp/chimp.imp"
static int CONDNP;
#line 193 "regression-compile-tmp/chimp.imp"
static int INSTNP;
                                                                //    194  
                                                                //    195  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    196  !!!!!!!!!!!!!!!!!!  Keywords and operators  !!!!!!!!!!!!!!!!!!!!
                                                                //    197  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    198  !*!!!!!!!  Keyword codes -- used by KEYGEN to produce tables  !!
                                                                //    199  %constinteger END=1 {end},
                                                                //    200    REPEAT=2       {repeat},
                                                                //    201    FINISH=3       {finish},
                                                                //    202    ELSE=4         {else},
                                                                //    203    BEGIN=5        {begin},
                                                                //    204    EXIT=6         {exit_1,continue_0},
                                                                //    205    RETURN=7       {return},
                                                                //    206    TF=8           {true_1,false_0},
                                                                //    207    RESULT=9       {result},
                                                                //    208    STOP=10        {stop},
                                                                //    209    GOTO=11        {goto},
                                                                //    210    SIGNAL=12      {signal},
                                                                //    211    MONITOR=13     {monitor},
                                                                //    212    ON=15          {on},
                                                                //    213    IU=16          {if_0,unless_1},
                                                                //    214    WHILE=17       {while},
                                                                //    215    UNTIL=18       {until_1},
                                                                //    216    FOR=19         {for},
                                                                //    217    THEN=20        {then},
                                                                //    218    START=21       {start},
                                                                //    219    CYCLE=22       {cycle},
                                                                //    220    KEYLABEL=23    {label},
                                                                //    221    PREFIX=24 {const_9,constant_9,own_8,external_40,system_40,dynamic_40},
                                                                //    222    KRANGE=25      {short_1,half_2,byte_3,mite_4,bit_5},
                                                                //    223    KEYLONG=26     {long},
                                                                //    224    KEYINTEGER=27  {integer},
                                                                //    225    KEYREAL=28     {real},
                                                                //    226    KEYSTRING=29   {string},
                                                                //    227    KEYRECORD=30   {record},
                                                                //    228    KEYFORMAT=31   {format},
                                                                //    229    FNMAP=32       {fn_0,function_0,map_1},
                                                                //    230    RPRED=33       {routine_0,predicate_1},
                                                                //    231    KEYSPEC=34     {spec},
                                                                //    232    KEYARRAY=35    {array},
                                                                //    233    KEYNAME=36     {name},
                                                                //    234    KEYSWITCH=37   {switch},
                                                                //    235    OF=38          {of},
                                                                //    236    KEYFILE=39     {file},
                                                                //    237    PROGRAM=40     {program},
                                                                //    238    KEYLIST=41     {list},
                                                                //    239    KEYCONTROL=42  {control},
                                                                //    240    COMMENT=43     {comment},
                                                                //    241    KEYEVENT=44    {event},
                                                                //    242    INCLUDE=45     {include},
                                                                //    243    ALIAS=46       {alias},
                                                                //    244    KEYNOT=47      {not},
                                                                //    245    KEYAND=64      {and},
                                                                //    246    KEYOR=65       {or}
                                                                //    247  %CONSTintegerARRAY SYMINIT(97:122) =  %C
#line 247 "regression-compile-tmp/chimp.imp"
const int SYMINIT[26] = { 2, 15, 27, 57, 64, 87, 118, 122, 126, 1, 1, 141, 154, 168, 175, 184, 1, 199, 230, 270, 278, 1, 288, 1, 1, 1,  };
                                                                //    248    2, 15, 27, 57, 64, 87,118,122,126,  1,  1,141,154,168,175,184,
                                                                //    249    1,199,230,270,278,  1,288,  1,  1,  1
                                                                //    250  
                                                                //    251  %CONSTBYTEINTEGERARRAY SYMBOL(1:292) =  %C
#line 251 "regression-compile-tmp/chimp.imp"
const unsigned char SYMBOL[292] = { 128, 114, 114, 97, 121, 163, 108, 105, 97, 115, 174, 110, 100, 192, 101, 103, 105, 110, 133, 121, 116, 101, 153, 105, 116, 153, 111, 110, 116, 105, 110, 117, 101, 134, 121, 99, 108, 101, 150, 109, 109, 101, 110, 116, 171, 115, 116, 97, 110, 116, 152, 152, 114, 111, 108, 170, 121, 110, 97, 109, 105, 99, 152, 110, 100, 129, 108, 115, 101, 132, 120, 105, 116, 134, 118, 101, 110, 116, 172, 116, 101, 114, 110, 97, 108, 152, 105, 110, 105, 115, 104, 131, 97, 108, 115, 101, 136, 111, 114, 109, 97, 116, 159, 110, 160, 117, 110, 99, 116, 105, 111, 110, 160, 147, 108, 101, 167, 111, 116, 111, 139, 97, 108, 102, 153, 102, 144, 110, 116, 101, 103, 101, 114, 155, 99, 108, 117, 100, 101, 173, 97, 98, 101, 108, 151, 111, 110, 103, 154, 105, 115, 116, 169, 111, 110, 105, 116, 111, 114, 141, 105, 116, 101, 153, 97, 112, 160, 97, 109, 101, 164, 111, 116, 175, 110, 143, 119, 110, 152, 102, 166, 114, 193, 114, 101, 100, 105, 99, 97, 116, 101, 161, 111, 103, 114, 97, 109, 168, 101, 112, 101, 97, 116, 130, 111, 117, 116, 105, 110, 101, 161, 116, 117, 114, 110, 135, 115, 117, 108, 116, 137, 97, 108, 156, 99, 111, 114, 100, 158, 116, 111, 112, 138, 105, 103, 110, 97, 108, 140, 121, 115, 116, 101, 109, 152, 104, 111, 114, 116, 153, 112, 101, 99, 162, 119, 105, 116, 99, 104, 165, 97, 114, 116, 149, 114, 105, 110, 103, 157, 114, 117, 101, 136, 104, 101, 110, 148, 110, 108, 101, 115, 115, 144, 116, 105, 108, 146, 104, 105, 108, 101, 145,  };
                                                                //    252  128,114,114, 97,121,163,108,105, 97,115,174,110,100,192,101,103,
                                                                //    253  105,110,133,121,116,101,153,105,116,153,111,110,116,105,110,117,
                                                                //    254  101,134,121, 99,108,101,150,109,109,101,110,116,171,115,116, 97,
                                                                //    255  110,116,152,152,114,111,108,170,121,110, 97,109,105, 99,152,110,
                                                                //    256  100,129,108,115,101,132,120,105,116,134,118,101,110,116,172,116,
                                                                //    257  101,114,110, 97,108,152,105,110,105,115,104,131, 97,108,115,101,
                                                                //    258  136,111,114,109, 97,116,159,110,160,117,110, 99,116,105,111,110,
                                                                //    259  160,147,108,101,167,111,116,111,139, 97,108,102,153,102,144,110,
                                                                //    260  116,101,103,101,114,155, 99,108,117,100,101,173, 97, 98,101,108,
                                                                //    261  151,111,110,103,154,105,115,116,169,111,110,105,116,111,114,141,
                                                                //    262  105,116,101,153, 97,112,160, 97,109,101,164,111,116,175,110,143,
                                                                //    263  119,110,152,102,166,114,193,114,101,100,105, 99, 97,116,101,161,
                                                                //    264  111,103,114, 97,109,168,101,112,101, 97,116,130,111,117,116,105,
                                                                //    265  110,101,161,116,117,114,110,135,115,117,108,116,137, 97,108,156,
                                                                //    266   99,111,114,100,158,116,111,112,138,105,103,110, 97,108,140,121,
                                                                //    267  115,116,101,109,152,104,111,114,116,153,112,101, 99,162,119,105,
                                                                //    268  116, 99,104,165, 97,114,116,149,114,105,110,103,157,114,117,101,
                                                                //    269  136,104,101,110,148,110,108,101,115,115,144,116,105,108,146,104,
                                                                //    270  105,108,101,145
                                                                //    271  
                                                                //    272  %CONSTBYTEINTEGERARRAY ALTDISP(1:292) =  %C
#line 272 "regression-compile-tmp/chimp.imp"
const unsigned char ALTDISP[292] = { 0, 5, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 4, 0, 0, 3, 0, 0, 5, 8, 12, 17, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 3, 0, 0, 4, 0, 0, 0, 4, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 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, 2, 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, 4, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 8, 2, 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, 3, 0, 0, 0, 0, 0, 0, 0, 4, 30, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 40, 5, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,  };
                                                                //    273    0,  5,  0,  0,  0,  0,  5,  0,  0,  0,  0,  0,  0,  0,  5,  0,
                                                                //    274    0,  0,  0,  4,  0,  0,  3,  0,  0,  5,  8, 12, 17, 23,  0,  0,
                                                                //    275    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  4,
                                                                //    276    0,  0,  9,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 40,  3,
                                                                //    277    0,  0,  4,  0,  0,  0,  4,  8,  0,  1,  0,  0,  0,  0,  0,  0,
                                                                //    278    0,  0,  0,  0,  0, 40,  6, 27,  0,  0,  0,  0,  5,  0,  0,  0,
                                                                //    279    0,  6,  0, 14,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,
                                                                //    280    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  2,  0,  0,
                                                                //    281    6,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  5,  0,  0,  0,
                                                                //    282    0,  4,  0,  0,  0,  0,  0,  0,  0,  7,  0,  0,  0,  0,  0,  0,
                                                                //    283    4,  0,  0,  4,  0,  0,  1,  4,  0,  0,  0,  0,  0,  0,  2,  0,
                                                                //    284    3,  0,  8,  2,  0,  0,  0,  0,  8,  0,  0,  0,  0,  0,  0,  1,
                                                                //    285    0,  0,  0,  0,  0,  0,  6, 12,  0,  0,  0,  0,  0,  0,  0,  0,
                                                                //    286    0,  0,  0,  5,  0,  0,  0,  0,  5,  0,  0,  0,  0,  3,  0,  0,
                                                                //    287    0,  0,  0,  0,  0,  4, 30,  0,  0,  6,  0,  0,  0,  0,  0,  6,
                                                                //    288    0,  0,  0,  0, 40,  5,  0,  0,  0,  1,  4,  0,  0,  0,  0,  0,
                                                                //    289    0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,
                                                                //    290    1,  0,  0,  0,  0,  0,  5,  0,  0,  0,  1,  0,  0,  0,  1,  0,
                                                                //    291    0,  0,  0,  0
                                                                //    292  
                                                                //    293  
                                                                //    294  !*!!!!!!   end of generated tables    !!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    295  !
                                                                //    296  %constinteger TERMINATOR=52, CONST=53, IDENT=54,
                                                                //    297                AREF=55, RECREF=56,
                                                                //    298                MODSIGN=57,
                                                                //    299                COLON=58, COMMA=59, RIGHT=60, RIGHTBRACKET=61,
                                                                //    300                DUD=63
                                                                //    301  
                                                                //    302  !Operators (in banks of 8 acc to rank)
                                                                //    303  %constinteger BOOLAND=64, BOOLOR=65, BOOLNOT=66,
                                                                //    304                FLOAT=67, IMOD=68, FMOD=69
                                                                //    305  %constinteger EQUALS=70, NOTEQ=71, LESSEQ=72,
                                                                //    306                LESS=73, GREATEQ=74, GREATER=75,
                                                                //    307                EQEQ=76, NOTEQEQ=77, RESOLVE=79
                                                                //    308  %constinteger PLUS=80, MINUS=81, LOGOR=82,
                                                                //    309                LOGXOR=83, CONCAT=84
                                                                //    310  %constinteger MULT=88, FDIV=89, IDIV=90,
                                                                //    311                LOGAND=91
                                                                //    312  %constinteger FPOWER=96, IPOWER=97,
                                                                //    313                LSHIFT=100, RSHIFT=101, LOGNOT=102
                                                                //    314  %constinteger FCALL=106, MCALL=107
                                                                //    315  %constinteger ATOMMAX=107
                                                                //    316  
                                                                //    317  ! Instruction actions:
                                                                //    318  %constinteger swgoto=35, rcall=mcall+2,
                                                                //    319                assign=41, jamassign=42, plusass=43,
                                                                //    320                compare=44, jump=45, label=46, adecl=47
                                                                //    321  %constinteger actmax=49
                                                                //    322  !
                                                                //    323  !Branch cases ( = machine condition-code)
                                                                //    324  %constinteger EQ=2_0111, NE=2_0110,
                                                                //    325                GT=2_1110, LE=2_1111,
                                                                //    326                LT=2_1101, GE=2_1100,
                                                                //    327                CC=2_0100, CS=2_0101
                                                                //    328  %constinteger DOUBLE=16
                                                                //    329  
                                                                //    330  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    331  ! Perm procedure identifiers which are recognised explicitly and
                                                                //    332  !  either implemented in-line or mapped to system entry-point
                                                                //    333  %constinteger DSHORT=dictmin+6, DLENGTH=dshort+1, DCHARNO=dlength+1,
                                                                //    334                DADDR=dcharno+1, DTOSTR=daddr+1,
                                                                //    335                DREM=dtostr+1,
                                                                //    336                DNEXTSYM=drem+1, DREADSYM=dnextsym+1,
                                                                //    337                DPRINTSTR=dreadsym+3,
                                                                //    338                DREAD=dictmin+27,
                                                                //    339                DNEWLINE=dictmin+41
                                                                //    340  !System entry-points used explicitly
                                                                //    341  %constinteger SIGENTRY=16_1114, SCOMPENTRY=16_1128,
                                                                //    342                BOUNDENTRY=16_1134, AGETENTRY=16_1138,
                                                                //    343                INDEXENTRY=16_113C, IREADENTRY=16_1118
                                                                //    344  
                                                                //    345  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    346  
                                                                //    347  %owninteger STARTS=0, CYCLES=0
#line 347 "regression-compile-tmp/chimp.imp"
static int STARTS = 0;
#line 347 "regression-compile-tmp/chimp.imp"
static int CYCLES = 0;
                                                                //    348  %owninteger LOOPLAB=0
#line 348 "regression-compile-tmp/chimp.imp"
static int LOOPLAB = 0;
                                                                //    349  %owninteger CURLAB=lab1
#line 349 "regression-compile-tmp/chimp.imp"
static int CURLAB = 3235;
                                                                //    350  !
                                                                //    351  %recordformat BLOCKINF(%integer sp, delta, fortemps, flags, type,
#line 351 "regression-compile-tmp/chimp.imp"
typedef struct BLOCKINF BLOCKINF;
struct BLOCKINF {
  int SP;
  int DELTA;
  int FORTEMPS;
  int FLAGS;
  int TYPE;
  int LOCALDPOS;
  int PARLIM;
  int LOCALTEXT;
  int LOCALPC;
  int LOCALSPC;
  int PIDPOS;
  int ACCESS;
  int FORWARD;
  int EVENTS;
  int EVENTPC;
  int FAULTS;
  int RETURN;
  int SHORTS;
};
                                                                //    352                    localdpos, parlim, localtext, localpc,
                                                                //    353                    localspc, pidpos, access, forward, events,
                                                                //    354                    eventpc, faults, return, shorts)
                                                                //    355  !Flag bits (VAR=1 from D_FLAGS)
                                                                //    356  %constinteger WRONGCC=2, NONLOCALREF=4, DYNARRAY=8
                                                                //    357  %constinteger HADON=16_10, HADINST=16_20
                                                                //    358  
                                                                //    359  %constinteger OUTERLEVEL=0, MAXLEVEL=16
                                                                //    360  %owninteger LEVEL=outerlevel;        !current block level
#line 360 "regression-compile-tmp/chimp.imp"
static int LEVEL = 0;
                                                                //    361  %record(blockinf) C;                !info for current block
#line 361 "regression-compile-tmp/chimp.imp"
 BLOCKINF C;
                                                                //    362  %record(blockinf)%array HOLD(0:maxlevel-1); !info for global blocks
#line 362 "regression-compile-tmp/chimp.imp"
 BLOCKINF HOLD[16];
                                                                //    363  
                                                                //    364  ! Final core image
                                                                //    365  %constinteger PUREBOUND=0, OWNBASE=purebound+1,
                                                                //    366                FINALBOUND=ownbase+8191
                                                                //    367  %byteintegerarray FINAL(0:finalbound);  !for switch info only
#line 367 "regression-compile-tmp/chimp.imp"
unsigned char FINAL[8193];
                                                                //    368  %owninteger FINALAD=2, OWNAD=ownbase
#line 368 "regression-compile-tmp/chimp.imp"
static int FINALAD = 2;
#line 368 "regression-compile-tmp/chimp.imp"
static int OWNAD = 1;
                                                                //    369  !%owninteger FIRSTENTRY=finalbound, FIRSTDPOS=dictmax
                                                                //    370  !%ownintegername CONSTAD;  !== ownad or finalad
                                                                //    371  !%owninteger CONSTBOUND=purebound;   !for const/code
                                                                //    372  !                     =finalbound;  !for own
                                                                //    373  %owninteger PC=0, SPC=finalbound;  !for switch info
#line 373 "regression-compile-tmp/chimp.imp"
static int PC = 0;
#line 373 "regression-compile-tmp/chimp.imp"
static int SPC = 8192;
                                                                //    374  
                                                                //    375  !Recognition:-
                                                                //    376  %constinteger CASEMASK=95, CASEBIT=32; !for case conversion
                                                                //    377  
                                                                //    378  !Memo variables for current statement:-
                                                                //    379  %owninteger ITEM=0;          !current operand
#line 379 "regression-compile-tmp/chimp.imp"
static int ITEM = 0;
                                                                //    380  %record(objinfo) T;          !full typeinfo for ITEM
#line 380 "regression-compile-tmp/chimp.imp"
 OBJINFO T;
                                                                //    381  %record(identinfo)%name DITEM
#line 381 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*DITEM;
                                                                //    382  %owninteger ELEMENTS; !range details
#line 382 "regression-compile-tmp/chimp.imp"
static int ELEMENTS;
                                                                //    383  %owninteger HASH
#line 383 "regression-compile-tmp/chimp.imp"
static int HASH;
                                                                //    384  %owninteger SPECCING=0, MCODING=0
#line 384 "regression-compile-tmp/chimp.imp"
static int SPECCING = 0;
#line 384 "regression-compile-tmp/chimp.imp"
static int MCODING = 0;
                                                                //    385  %owninteger DECLMODE, DSIZE
#line 385 "regression-compile-tmp/chimp.imp"
static int DECLMODE;
#line 385 "regression-compile-tmp/chimp.imp"
static int DSIZE;
                                                                //    386  %ownrecord(identinfo) D;            !declaration details
#line 386 "regression-compile-tmp/chimp.imp"
static  IDENTINFO D;
                                                                //    387  
                                                                //    388  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    389  
                                                                //    390  !!  Source file input and listing
                                                                //    391  %owninteger ATOM=0;                 !current lexical atom
#line 391 "regression-compile-tmp/chimp.imp"
static int ATOM = 0;
                                                                //    392  %owninteger MATCHED=1;              !indic that atom has been matched
#line 392 "regression-compile-tmp/chimp.imp"
static int MATCHED = 1;
                                                                //    393  %owninteger SYM=nl;                 !current input symbol
#line 393 "regression-compile-tmp/chimp.imp"
static int SYM = 10;
                                                                //    394  %owninteger LINE=0;                 !current line number
#line 394 "regression-compile-tmp/chimp.imp"
static int LINE = 0;
                                                                //    395  %owninteger MAINLINE=0
#line 395 "regression-compile-tmp/chimp.imp"
static int MAINLINE = 0;
                                                                //    396  %owninteger DIAGLINE=-9999
#line 396 "regression-compile-tmp/chimp.imp"
static int DIAGLINE = (-9999);
                                                                //    397  %owninteger PROLINE=0
#line 397 "regression-compile-tmp/chimp.imp"
static int PROLINE = 0;
                                                                //    398  %owninteger MODESYM='&';            !space or '+' or '&' or '"'
#line 398 "regression-compile-tmp/chimp.imp"
static int MODESYM = 38;
                                                                //    399  !%owninteger OUTCOL=0;               !output line position
                                                                //    400  !   Pointers to source file:
                                                                //    401  %owninteger LINESTART=0
#line 401 "regression-compile-tmp/chimp.imp"
static int LINESTART = 0;
                                                                //    402  %owninteger FP=0;                   !(file pointer) current position
#line 402 "regression-compile-tmp/chimp.imp"
static int FP = 0;
                                                                //    403  %owninteger CHARS=0
#line 403 "regression-compile-tmp/chimp.imp"
static int CHARS = 0;
                                                                //    404  %owninteger ATOMP=0;                !start of current atom
#line 404 "regression-compile-tmp/chimp.imp"
static int ATOMP = 0;
                                                                //    405  %owninteger FAULTP=0;               !fault position
#line 405 "regression-compile-tmp/chimp.imp"
static int FAULTP = 0;
                                                                //    406  %owninteger MAINFP
#line 406 "regression-compile-tmp/chimp.imp"
static int MAINFP;
                                                                //    407  %owninteger STRINGP,EXPP
#line 407 "regression-compile-tmp/chimp.imp"
static int STRINGP;
#line 407 "regression-compile-tmp/chimp.imp"
static int EXPP;
                                                                //    408  %owninteger listout=0
#line 408 "regression-compile-tmp/chimp.imp"
static int LISTOUT = 0;
                                                                //    409  !
                                                                //    410  !! Listing, diagnostic and report routines
                                                                //    411  !
                                                                //    412  %ownstring(255) rep=""
#line 412 "regression-compile-tmp/chimp.imp"
static _imp_string /*%string(255)*/ REP = _imp_str_literal("");
                                                                //    413  !
                                                                //    414  %routine NEWLINE
#line 414 "regression-compile-tmp/chimp.imp"
void NEWLINE( void )
#line 414 "regression-compile-tmp/chimp.imp"
{
                                                                //    415    print string(rep);  print symbol(nl)
#line 415 "regression-compile-tmp/chimp.imp"
_imp_PRINTSTRING(REP);
#line 415 "regression-compile-tmp/chimp.imp"
_imp_PRINTSYMBOL(10);
                                                                //    416    rep = ""
#line 416 "regression-compile-tmp/chimp.imp"
REP = _imp_str_literal("");
                                                                //    417  %end
#line 417 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block NEWLINE at level 2
                                                                //    418  !
                                                                //    419  %routine PUT SYM(%integer k)
#line 419 "regression-compile-tmp/chimp.imp"
void PUTSYM( int K )
#line 419 "regression-compile-tmp/chimp.imp"
{
                                                                //    420    rep = rep.tostring(k) %if length(rep) < 132
#line 420 "regression-compile-tmp/chimp.imp"
if (((*_imp_LENGTH(&REP)) >= (132))) goto L_0002;
#line 420 "regression-compile-tmp/chimp.imp"
REP = _imp_join((_imp_string)REP,(_imp_string)_imp_TOSTRING(K));
#line 420 "regression-compile-tmp/chimp.imp"
L_0002:;
                                                                //    421  %end
#line 421 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTSYM at level 2
                                                                //    422  !
                                                                //    423  %routine PRINT STRING(%string(255) s)
#line 423 "regression-compile-tmp/chimp.imp"
void PRINTSTRING( _imp_string /*%string(255)*/ S )
#line 423 "regression-compile-tmp/chimp.imp"
{
                                                                //    424    rep = rep.s %if length(rep) < 132
#line 424 "regression-compile-tmp/chimp.imp"
if (((*_imp_LENGTH(&REP)) >= (132))) goto L_0003;
#line 424 "regression-compile-tmp/chimp.imp"
REP = _imp_join((_imp_string)REP,(_imp_string)S);
#line 424 "regression-compile-tmp/chimp.imp"
L_0003:;
                                                                //    425  %end
#line 425 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRINTSTRING at level 2
                                                                //    426  !
                                                                //    427  %routine SPACES(%integer n)
#line 427 "regression-compile-tmp/chimp.imp"
void SPACES( int N )
#line 427 "regression-compile-tmp/chimp.imp"
{
                                                                //    428    %while n > 0 %cycle
#line 428 "regression-compile-tmp/chimp.imp"
L_0004:;
#line 428 "regression-compile-tmp/chimp.imp"
if (((N) <= (0))) goto L_0005;
                                                                //    429      rep = rep." ";  n = n-1
#line 429 "regression-compile-tmp/chimp.imp"
REP = _imp_join((_imp_string)REP,(_imp_string)_imp_str_literal(" "));
#line 429 "regression-compile-tmp/chimp.imp"
N = (((int)(N)) - (1));
                                                                //    430    %repeat
#line 430 "regression-compile-tmp/chimp.imp"
goto L_0004;
#line 430 "regression-compile-tmp/chimp.imp"
L_0005:;
                                                                //    431  %end
#line 431 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SPACES at level 2
                                                                //    432  !
                                                                //    433  %routine WRITE(%integer val,p)
#line 433 "regression-compile-tmp/chimp.imp"
void WRITE( int VAL, int P )
#line 433 "regression-compile-tmp/chimp.imp"
{
                                                                //    434  %routine PD(%integer v)
#line 434 "regression-compile-tmp/chimp.imp"
void PD( int V )
#line 434 "regression-compile-tmp/chimp.imp"
{
                                                                //    435    p = p-1
#line 435 "regression-compile-tmp/chimp.imp"
P = (((int)(P)) - (1));
                                                                //    436    pd(v//10) %and v = v-v//10*10 %if v <= -10
#line 436 "regression-compile-tmp/chimp.imp"
if (((V) > ((-10)))) goto L_0007;
#line 436 "regression-compile-tmp/chimp.imp"
PD(((long)((long)((int)(V)) / (long)((int)(10)))));
#line 436 "regression-compile-tmp/chimp.imp"
V = ((V) - (((((long)((long)((int)(V)) / (long)((int)(10))))) * (10))));
#line 436 "regression-compile-tmp/chimp.imp"
L_0007:;
                                                                //    437    spaces(p) %and p = 0 %if p > 0
#line 437 "regression-compile-tmp/chimp.imp"
if (((P) <= (0))) goto L_0008;
#line 437 "regression-compile-tmp/chimp.imp"
SPACES(P);
#line 437 "regression-compile-tmp/chimp.imp"
P = 0;
#line 437 "regression-compile-tmp/chimp.imp"
L_0008:;
                                                                //    438    put sym('0'-v)
#line 438 "regression-compile-tmp/chimp.imp"
PUTSYM((((int)(48)) - (V)));
                                                                //    439  %end
#line 439 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PD at level 3
                                                                //    440    %if val < 0 %start
#line 440 "regression-compile-tmp/chimp.imp"
if (((VAL) >= (0))) goto L_0009;
                                                                //    441      put sym('-');  pd(val)
#line 441 "regression-compile-tmp/chimp.imp"
PUTSYM(45);
#line 441 "regression-compile-tmp/chimp.imp"
PD(VAL);
                                                                //    442    %finish %else pd(-val)
#line 442 "regression-compile-tmp/chimp.imp"
goto L_000a;
#line 442 "regression-compile-tmp/chimp.imp"
L_0009:;
#line 442 "regression-compile-tmp/chimp.imp"
PD((-(VAL)));
#line 442 "regression-compile-tmp/chimp.imp"
L_000a:;
                                                                //    443  %end
#line 443 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block WRITE at level 2
                                                                //    444  
                                                                //    445  !%routine put ident(%integer t)
                                                                //    446  !  rep = rep.string(charbase+t)
                                                                //    447  !!%integer l
                                                                //    448  !  t = t+charbase
                                                                //    449  !  l = byteinteger(t);  l = 11 %if l > 11
                                                                //    450  !  %while l > 0 %cycle
                                                                //    451  !    l = l-1;  t = t+1
                                                                //    452  !    put sym(byteinteger(t))
                                                                //    453  !  %repeat
                                                                //    454  !%end
                                                                //    455  !
                                                                //    456  !%routine mark at(%integer col)
                                                                //    457  !  put sym(' ') %while outcol < col;  put sym('|')
                                                                //    458  !%end
                                                                //    459  !
                                                                //    460  !%routine show dict(%integer from)
                                                                //    461  !%integer f,i
                                                                //    462  !%record(identinfo) d
                                                                //    463  !%constbyteintegerarray flagsym(0:7) =
                                                                //    464  !  'V','L','P','O','S','E', 'A', 'M'
                                                                //    465  !%constbyteintegerarray dsym(0:3) =
                                                                //    466  !  ' ','D','I','!'
                                                                //    467  !%conststring(6)%array typetext(0:7) =
                                                                //    468  !  "NULL  ", "RECORD", "ARRAY ", "STRING",
                                                                //    469  !  "REALY ", "INTY  ", "CHAR  ", "BOOL  "
                                                                //    470  !  %return %if from >= dlim
                                                                //    471  !  newline %and outcol = 0 %if outcol # 0
                                                                //    472  !  print string("          __identifier___flags___type___extra___value___")
                                                                //    473  !  newline;  outcol = 0
                                                                //    474  !  %cycle
                                                                //    475  !    spaces(5);  outcol = 5
                                                                //    476  !    pdec(from);  mark at(10)
                                                                //    477  !    d = dict(from)
                                                                //    478  !    put sym(' ')
                                                                //    479  !    put ident(d_text)
                                                                //    480  !    mark at(23)
                                                                //    481  !    %for i = 7,-1,0 %cycle
                                                                //    482  !      %if d_flags>>i&1 = 0 %then put sym(' ') %c
                                                                //    483  !      %else put sym(flagsym(i))
                                                                //    484  !    %repeat
                                                                //    485  !    put sym('|')
                                                                //    486  !    i = d_type-nulltype
                                                                //    487  !    %if 0 <= i <= 7 %then printstring(typetext(i)) %c
                                                                //    488  !    %else putsym(dsym(d_type>>13)) %and pdec(d_type&puretype)
                                                                //    489  !    mark at(39)
                                                                //    490  !    put sym(' ');  pdec(d_extra);  mark at(47)
                                                                //    491  !    put sym(' ');  pdec(d_val);  mark at(56)
                                                                //    492  !    newline;  outcol = 0
                                                                //    493  !    from = from+1
                                                                //    494  !  %repeat %until from = dlim
                                                                //    495  !  print string("          +----------------------------------------------+")
                                                                //    496  !  newline;  outcol = 0
                                                                //    497  !%end
                                                                //    498  !
                                                                //    499  !%routine show exp(%integer from,to)
                                                                //    500  !![out of date]
                                                                //    501  !%conststring(7)%array acttext(0:63) =
                                                                //    502  !  "?0", "?1", "ADD", "SUB",
                                                                //    503  !  "?4", "LOGAND", "LOGOR", "LOGXOR",
                                                                //    504  !  "NEGATE", "LOGNOT", "LSHIFT", "RSHIFT",
                                                                //    505  !  "IABS", "FABS", "?14", "?15",
                                                                //    506  !  "MULT", "IDIV", "IPOWER", "FPLUS",
                                                                //    507  !  "FMINUS", "FMULT", "FDIV", "FPOWER",
                                                                //    508  !  "FNEGATE", "FLOAT", "CONCAT", "BOOLNOT",
                                                                //    509  !  "BOOLAND", "BOOLOR", "MEMBER", "MODULO",
                                                                //    510  !  "RECREF", "AREF", "INDRECT", "SWJUMP",
                                                                //    511  !  "FCALL", "MCALL", "?38", "RCALL",
                                                                //    512  !  "?40", "ASSIGN", "JAMASS", "PLUSASS",
                                                                //    513  !  "COMPARE", "JUMP", "LABEL", "ADECL",
                                                                //    514  !  "?48", "?49", "?50", "?51",
                                                                //    515  !  "?52", "?53", "?54", "?55",
                                                                //    516  !  "?56", "?57", "?58", "?59",
                                                                //    517  !  "?60", "?61", "?62", "?63"
                                                                //    518  !%routine put operand(%integer i)
                                                                //    519  !  %if dictmin <= i <= dictmax %then put ident(dict(i)_text) %else pdec(i)
                                                                //    520  !%end
                                                                //    521  !  %return %if from >= np
                                                                //    522  !  newline %and outcol = 0 %if outcol # 0
                                                                //    523  !  print string("          __action_____first_______second____")
                                                                //    524  !  newline;  outcol = 0
                                                                //    525  !  %cycle
                                                                //    526  !    spaces(5);  outcol = 5
                                                                //    527  !    pdec(from);  mark at(10)
                                                                //    528  !    put sym(' ');  printstring(acttext(exp(from)_act&63))
                                                                //    529  !    mark at(20);  put sym(' ')
                                                                //    530  !    put operand(exp(from)_x)
                                                                //    531  !    mark at(32);  put sym(' ')
                                                                //    532  !    put operand(exp(from)_y)
                                                                //    533  !    mark at(44)
                                                                //    534  !    newline;  outcol = 0
                                                                //    535  !    from = from+1
                                                                //    536  !    %if from = to %start
                                                                //    537  !      from = explo
                                                                //    538  !      %exit %if from >= oldexplo
                                                                //    539  !      printstring("          |---------------------------------|")
                                                                //    540  !      newline;  outcol = 0
                                                                //    541  !    %finish
                                                                //    542  !  %repeat %until from >= oldexplo
                                                                //    543  !  oldexplo = explo
                                                                //    544  !  print string("          +---------------------------------+")
                                                                //    545  !  newline;  outcol = 0
                                                                //    546  !%end
                                                                //    547  !
                                                                //    548  !! Fault reporting
                                                                //    549  !
                                                                //    550  %routine REPORT(%integer n,joker)
#line 550 "regression-compile-tmp/chimp.imp"
void REPORT( int N, int JOKER )
#line 550 "regression-compile-tmp/chimp.imp"
{
                                                                //    551  %integer mark,start,errline,k,editfp
#line 551 "regression-compile-tmp/chimp.imp"
int MARK;
#line 551 "regression-compile-tmp/chimp.imp"
int START;
#line 551 "regression-compile-tmp/chimp.imp"
int ERRLINE;
#line 551 "regression-compile-tmp/chimp.imp"
int K;
#line 551 "regression-compile-tmp/chimp.imp"
int EDITFP;
                                                                //    552  %routine PRINT IDENT(%integer x)
#line 552 "regression-compile-tmp/chimp.imp"
void PRINTIDENT( int X )
#line 552 "regression-compile-tmp/chimp.imp"
{
                                                                //    553    put sym('"')
#line 553 "regression-compile-tmp/chimp.imp"
PUTSYM(34);
                                                                //    554    print string(string(dict(x)_text+charbase))
#line 554 "regression-compile-tmp/chimp.imp"
PRINTSTRING(*_imp_STRING((((int)(DICT[(((int)(X)) - (2001))].TEXT)) + (CHARBASE))));
                                                                //    555    put sym('"')
#line 555 "regression-compile-tmp/chimp.imp"
PUTSYM(34);
                                                                //    556  %end
#line 556 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRINTIDENT at level 3
                                                                //    557  %routine PRINT TEXT(%integer x,stream)
#line 557 "regression-compile-tmp/chimp.imp"
void PRINTTEXT( int X, int STREAM )
#line 557 "regression-compile-tmp/chimp.imp"
{
                                                                //    558  %constinteger esc=27
                                                                //    559  %integer k,p
#line 559 "regression-compile-tmp/chimp.imp"
int K;
#line 559 "regression-compile-tmp/chimp.imp"
int P;
                                                                //    560  %switch s(0:errmax)
#line 560 "regression-compile-tmp/chimp.imp"
static int sw1_S_idx;
static const void * /*SWITCH*/ sw1_S[47] = { &&sw1_S_0, &&sw1_S_1, &&sw1_S_2, &&sw1_S_3, &&sw1_S_4, &&sw1_S_5, &&sw1_S_6, &&sw1_S_7, &&sw1_S_8, &&sw1_S_9, &&sw1_S_10, &&sw1_S_11, &&sw1_S_12, &&sw1_S_13, &&sw1_S_14, &&sw1_S_15, &&sw1_S_16, &&sw1_S_17, &&sw1_S_18, &&sw1_S_19, &&sw1_S_20, &&sw1_S_21, &&sw1_S_22, &&sw1_S_23, &&sw1_S_24, &&sw1_S_25, &&sw1_S_26, &&sw1_S_27, &&sw1_S_28, &&sw1_S_29, &&sw1_S_30, &&sw1_S_31, &&sw1_S_32, &&sw1_S_33, &&sw1_S_34, &&sw1_S_35, &&sw1_S_36, &&sw1_S_37, &&sw1_S_38, &&sw1_S_39, &&sw1_S_40, &&sw1_S_41, &&sw1_S_42, &&sw1_S_43, &&sw1_S_44, &&sw1_S_45, &&sw1_S_46,  };
                                                                //    561    put sym(mark)
#line 561 "regression-compile-tmp/chimp.imp"
PUTSYM(MARK);
                                                                //    562    write(line,4)
#line 562 "regression-compile-tmp/chimp.imp"
WRITE(LINE, 4);
                                                                //    563    put sym(modesym);  put sym(' ')
#line 563 "regression-compile-tmp/chimp.imp"
PUTSYM(MODESYM);
#line 563 "regression-compile-tmp/chimp.imp"
PUTSYM(32);
                                                                //    564    ->s(n&63)
#line 564 "regression-compile-tmp/chimp.imp"
sw1_S_idx = ((N) & (63)); if ((0 <= sw1_S_idx) && (sw1_S_idx <= 46)) goto *sw1_S[sw1_S_idx]; else {
   /*_imp_signal(8, 2, sw1_S_idx);*/
   fprintf(stderr, "%%SWITCH index S(%d) not in range 0:46 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);
}
                                                                //    565  s(formerr):   printstring("Faulty form");   -> print
#line 565 "regression-compile-tmp/chimp.imp"
sw1_S_0:;
#line 565 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Faulty form"));
#line 565 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    566  s(atomerr):   printstring("Unknown atom");  -> print
#line 566 "regression-compile-tmp/chimp.imp"
sw1_S_1:;
#line 566 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Unknown atom"));
#line 566 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    567  s(namerr):    printstring("Unknown name");  -> print
#line 567 "regression-compile-tmp/chimp.imp"
sw1_S_2:;
#line 567 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Unknown name"));
#line 567 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    568  s(caterr):    printstring("Unsuitable");    -> print
#line 568 "regression-compile-tmp/chimp.imp"
sw1_S_3:;
#line 568 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Unsuitable"));
#line 568 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    569  s(sizerr):    printstring("Size");          -> print
#line 569 "regression-compile-tmp/chimp.imp"
sw1_S_4:;
#line 569 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Size"));
#line 569 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    570  s(typerr):    printstring("Wrong type");    -> print
#line 570 "regression-compile-tmp/chimp.imp"
sw1_S_6:;
#line 570 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Wrong type"));
#line 570 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    571  s(boundserr): printstring("Inside out");    -> print
#line 571 "regression-compile-tmp/chimp.imp"
sw1_S_14:;
#line 571 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Inside out"));
#line 571 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    572  s(unending):  printstring("Endless loop");  -> print
#line 572 "regression-compile-tmp/chimp.imp"
sw1_S_37:;
#line 572 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Endless loop"));
#line 572 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    573  s(indexerr):  printstring("Index");         -> print
#line 573 "regression-compile-tmp/chimp.imp"
sw1_S_24:;
#line 573 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Index"));
#line 573 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    574  s(accesserr): printstring("Not accessible");-> print
#line 574 "regression-compile-tmp/chimp.imp"
sw1_S_15:;
#line 574 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Not accessible"));
#line 574 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    575  s(notinloop): printstring("Not in loop");   -> print
#line 575 "regression-compile-tmp/chimp.imp"
sw1_S_16:;
#line 575 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Not in loop"));
#line 575 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    576  s(notinrout): printstring("Not in routine");-> print
#line 576 "regression-compile-tmp/chimp.imp"
sw1_S_17:;
#line 576 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Not in routine"));
#line 576 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    577  s(notinfun):  printstring("Not in fn/map"); -> print
#line 577 "regression-compile-tmp/chimp.imp"
sw1_S_18:;
#line 577 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Not in fn/map"));
#line 577 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    578  s(notinpred): printstring("Not in pred");   -> print
#line 578 "regression-compile-tmp/chimp.imp"
sw1_S_19:;
#line 578 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Not in pred"));
#line 578 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    579  s(plexerr):   printstring("Too complex!");  -> print
#line 579 "regression-compile-tmp/chimp.imp"
sw1_S_20:;
#line 579 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Too complex!"));
#line 579 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    580  s(duperr):    printstring("Duplicate");     -> print
#line 580 "regression-compile-tmp/chimp.imp"
sw1_S_7:;
#line 580 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Duplicate"));
#line 580 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    581  s(ordererr):  printstring("Out of order");  -> print
#line 581 "regression-compile-tmp/chimp.imp"
sw1_S_10:;
#line 581 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Out of order"));
#line 581 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    582  s(matcherr):  printstring("Mismatch");      -> print
#line 582 "regression-compile-tmp/chimp.imp"
sw1_S_11:;
#line 582 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Mismatch"));
#line 582 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    583  s(rangerr):   printstring("Out of range");  -> print
#line 583 "regression-compile-tmp/chimp.imp"
sw1_S_12:;
#line 583 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Out of range"));
#line 583 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    584  s(nonliteral):printstring("Not literal");   -> print
#line 584 "regression-compile-tmp/chimp.imp"
sw1_S_13:;
#line 584 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Not literal"));
#line 584 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    585  s(nonstand):  printstring("Nonstandard");   -> print
#line 585 "regression-compile-tmp/chimp.imp"
sw1_S_22:;
#line 585 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Nonstandard"));
#line 585 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    586  s(notin):     printstring("Not in yet");    -> print
#line 586 "regression-compile-tmp/chimp.imp"
sw1_S_23:;
#line 586 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Not in yet"));
#line 586 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    587  s(moperr):    printstring("Faulty operand");-> print
#line 587 "regression-compile-tmp/chimp.imp"
sw1_S_27:;
#line 587 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Faulty operand"));
#line 587 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    588  s(nocycle):   printstring("Missing %CYCLE"); -> print
#line 588 "regression-compile-tmp/chimp.imp"
sw1_S_9:;
#line 588 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Missing %CYCLE"));
#line 588 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    589  s(nostart):   printstring("Missing %START"); -> print
#line 589 "regression-compile-tmp/chimp.imp"
sw1_S_8:;
#line 589 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Missing %START"));
#line 589 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    590  s(noif):      printstring("Missing %IF");    -> print
#line 590 "regression-compile-tmp/chimp.imp"
sw1_S_21:;
#line 590 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Missing %IF"));
#line 590 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    591  s(noterm):    printstring("';' missing");    -> print
#line 591 "regression-compile-tmp/chimp.imp"
sw1_S_28:;
#line 591 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("';' missing"));
#line 591 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    592  s(nonstarter):printstring("Non-starter");    -> print
#line 592 "regression-compile-tmp/chimp.imp"
sw1_S_29:;
#line 592 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Non-starter"));
#line 592 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    593  s(nonvar):    printstring("Not variable");   -> print
#line 593 "regression-compile-tmp/chimp.imp"
sw1_S_30:;
#line 593 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Not variable"));
#line 593 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    594  s(nonref):    printstring("Not reference");  -> print
#line 594 "regression-compile-tmp/chimp.imp"
sw1_S_31:;
#line 594 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Not reference"));
#line 594 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    595  s(noparm):    printstring("No parameters");  -> print
#line 595 "regression-compile-tmp/chimp.imp"
sw1_S_35:;
#line 595 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("No parameters"));
#line 595 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    596  s(toofew):    printstring("Too few");        -> print
#line 596 "regression-compile-tmp/chimp.imp"
sw1_S_33:;
#line 596 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Too few"));
#line 596 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    597  s(unwanted):  printstring("Unwanted");       -> print
#line 597 "regression-compile-tmp/chimp.imp"
sw1_S_34:;
#line 597 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Unwanted"));
#line 597 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    598  s(toomany):   printstring("Too many");       -> print
#line 598 "regression-compile-tmp/chimp.imp"
sw1_S_32:;
#line 598 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Too many"));
#line 598 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    599  s(selfref):   printstring("Self-reference"); -> print
#line 599 "regression-compile-tmp/chimp.imp"
sw1_S_38:;
#line 599 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Self-reference"));
#line 599 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    600  s(nobegin):   printstring("Extra %END");     -> print
#line 600 "regression-compile-tmp/chimp.imp"
sw1_S_41:;
#line 600 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Extra %END"));
#line 600 "regression-compile-tmp/chimp.imp"
goto U_1000;
                                                                //    601  print:
#line 601 "regression-compile-tmp/chimp.imp"
U_1000:;
                                                                //    602    spaces(21-length(rep))
#line 602 "regression-compile-tmp/chimp.imp"
SPACES(((21) - (*(int *)(_imp_LENGTH(&REP)))));
                                                                //    603    p = start
#line 603 "regression-compile-tmp/chimp.imp"
P = START;
                                                                //    604    %if p < faultp-50 %then p = faultp-47 %and printstring("...") %c
#line 604 "regression-compile-tmp/chimp.imp"
if (((P) >= ((((int)(FAULTP)) - (50))))) goto L_000b;
#line 604 "regression-compile-tmp/chimp.imp"
P = (((int)(FAULTP)) - (47));
#line 604 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("..."));
#line 604 "regression-compile-tmp/chimp.imp"
goto L_000c;
#line 604 "regression-compile-tmp/chimp.imp"
L_000b:;
#line 604 "regression-compile-tmp/chimp.imp"
PUTSYM(32);
#line 604 "regression-compile-tmp/chimp.imp"
L_000c:;
                                                                //    605    %else put sym(' ')
                                                                //    606    %cycle
#line 606 "regression-compile-tmp/chimp.imp"
L_000d:;
                                                                //    607      k = byteinteger(p);  p = p+1
#line 607 "regression-compile-tmp/chimp.imp"
K = *_imp_BYTEINTEGER(P);
#line 607 "regression-compile-tmp/chimp.imp"
P = (((int)(P)) + (1));
                                                                //    608      %if p = faultp %start
#line 608 "regression-compile-tmp/chimp.imp"
if (((P) != (FAULTP))) goto L_0010;
                                                                //    609  !$IF VAX
                                                                //    610        put sym(esc) %and put sym('F') %if stream = 0
#line 610 "regression-compile-tmp/chimp.imp"
if (((STREAM) != (0))) goto L_0011;
#line 610 "regression-compile-tmp/chimp.imp"
PUTSYM(27);
#line 610 "regression-compile-tmp/chimp.imp"
PUTSYM(70);
#line 610 "regression-compile-tmp/chimp.imp"
L_0011:;
                                                                //    611  !$FINISH
                                                                //    612        put sym('~')
#line 612 "regression-compile-tmp/chimp.imp"
PUTSYM(126);
                                                                //    613  !$IF VAX
                                                                //    614        put sym(esc) %and put sym('G') %if stream = 0
#line 614 "regression-compile-tmp/chimp.imp"
if (((STREAM) != (0))) goto L_0012;
#line 614 "regression-compile-tmp/chimp.imp"
PUTSYM(27);
#line 614 "regression-compile-tmp/chimp.imp"
PUTSYM(71);
#line 614 "regression-compile-tmp/chimp.imp"
L_0012:;
                                                                //    615  !$FINISH
                                                                //    616      %finish
#line 616 "regression-compile-tmp/chimp.imp"
L_0010:;
                                                                //    617      %exit %if k = nl
#line 617 "regression-compile-tmp/chimp.imp"
if (((K) != (10))) goto L_0013;
#line 617 "regression-compile-tmp/chimp.imp"
goto L_000e;
#line 617 "regression-compile-tmp/chimp.imp"
L_0013:;
                                                                //    618      %if ' ' <= k <= '~' %then put sym(k) %c
#line 618 "regression-compile-tmp/chimp.imp"
if ((((32) > (K))) || (((K) > (126)))) goto L_0014;
#line 618 "regression-compile-tmp/chimp.imp"
PUTSYM(K);
#line 618 "regression-compile-tmp/chimp.imp"
goto L_0015;
#line 618 "regression-compile-tmp/chimp.imp"
L_0014:;
#line 618 "regression-compile-tmp/chimp.imp"
PUTSYM(91);
#line 618 "regression-compile-tmp/chimp.imp"
WRITE(K, (-1));
#line 618 "regression-compile-tmp/chimp.imp"
PUTSYM(93);
#line 618 "regression-compile-tmp/chimp.imp"
L_0015:;
                                                                //    619      %else put sym('[') %and write(k,-1) %and put sym(']')
                                                                //    620    %repeat
#line 620 "regression-compile-tmp/chimp.imp"
goto L_000d;
#line 620 "regression-compile-tmp/chimp.imp"
L_000e:;
                                                                //    621    %return
#line 621 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    622  s(noend):     printstring("%END");           ->mend
#line 622 "regression-compile-tmp/chimp.imp"
sw1_S_40:;
#line 622 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("%END"));
#line 622 "regression-compile-tmp/chimp.imp"
goto U_1001;
                                                                //    623  s(noresult):  printstring("Result");         ->mend
#line 623 "regression-compile-tmp/chimp.imp"
sw1_S_46:;
#line 623 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("Result"));
#line 623 "regression-compile-tmp/chimp.imp"
goto U_1001;
                                                                //    624  s(nofinish):  printstring("%FINISH");        ->mend0
#line 624 "regression-compile-tmp/chimp.imp"
sw1_S_43:;
#line 624 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("%FINISH"));
#line 624 "regression-compile-tmp/chimp.imp"
goto U_1002;
                                                                //    625  s(norepeat):  printstring("%REPEAT")
#line 625 "regression-compile-tmp/chimp.imp"
sw1_S_44:;
#line 625 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("%REPEAT"));
                                                                //    626  mend0:        printstring(" etc") %if curlab > lab1+2
#line 626 "regression-compile-tmp/chimp.imp"
U_1002:;
#line 626 "regression-compile-tmp/chimp.imp"
if (((CURLAB) <= (3237))) goto L_0016;
#line 626 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal(" etc"));
#line 626 "regression-compile-tmp/chimp.imp"
L_0016:;
                                                                //    627                -> mend
#line 627 "regression-compile-tmp/chimp.imp"
goto U_1001;
                                                                //    628  s(idmissing):
#line 628 "regression-compile-tmp/chimp.imp"
sw1_S_42:;
                                                                //    629    %cycle
#line 629 "regression-compile-tmp/chimp.imp"
L_0017:;
                                                                //    630  !    newline %and spaces(8) %and outcol = 8 %if outcol > 50
                                                                //    631      put sym(' ')
#line 631 "regression-compile-tmp/chimp.imp"
PUTSYM(32);
                                                                //    632      print ident(x)
#line 632 "regression-compile-tmp/chimp.imp"
PRINTIDENT(X);
                                                                //    633      print string("(?)") %if dict(x)_flags&spec = 0;  !switch
#line 633 "regression-compile-tmp/chimp.imp"
if (((((DICT[(((int)(X)) - (2001))].FLAGS) & (16))) != (0))) goto L_001a;
#line 633 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("(?)"));
#line 633 "regression-compile-tmp/chimp.imp"
L_001a:;
                                                                //    634      x = dict(x)_val
#line 634 "regression-compile-tmp/chimp.imp"
X = DICT[(((int)(X)) - (2001))].VAL;
                                                                //    635    %repeat %until x = 0
#line 635 "regression-compile-tmp/chimp.imp"
if (((X) == (0))) goto L_0018;
#line 635 "regression-compile-tmp/chimp.imp"
goto L_0017;
#line 635 "regression-compile-tmp/chimp.imp"
L_0018:;
                                                                //    636  mend:
#line 636 "regression-compile-tmp/chimp.imp"
U_1001:;
                                                                //    637    printstring(" missing")
#line 637 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal(" missing"));
                                                                //    638    %if c_type # 0 %start
#line 638 "regression-compile-tmp/chimp.imp"
if (((C.TYPE) == (0))) goto L_001b;
                                                                //    639      print string(" at END of ")
#line 639 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal(" at END of "));
                                                                //    640      print ident(c_pidpos)
#line 640 "regression-compile-tmp/chimp.imp"
PRINTIDENT(C.PIDPOS);
                                                                //    641    %finish %else n = 0
#line 641 "regression-compile-tmp/chimp.imp"
goto L_001c;
#line 641 "regression-compile-tmp/chimp.imp"
L_001b:;
#line 641 "regression-compile-tmp/chimp.imp"
N = 0;
#line 641 "regression-compile-tmp/chimp.imp"
L_001c:;
                                                                //    642    %return
#line 642 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    643  s(counterr):
#line 643 "regression-compile-tmp/chimp.imp"
sw1_S_45:;
                                                                //    644    %if elements < 0 %start
#line 644 "regression-compile-tmp/chimp.imp"
if (((ELEMENTS) >= (0))) goto L_001d;
                                                                //    645      write(-elements,0);  printstring(" extra")
#line 645 "regression-compile-tmp/chimp.imp"
WRITE((-(ELEMENTS)), 0);
#line 645 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal(" extra"));
                                                                //    646    %finish %else %start
#line 646 "regression-compile-tmp/chimp.imp"
goto L_001e;
#line 646 "regression-compile-tmp/chimp.imp"
L_001d:;
                                                                //    647      write(elements,0);  printstring(" missing")
#line 647 "regression-compile-tmp/chimp.imp"
WRITE(ELEMENTS, 0);
#line 647 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal(" missing"));
                                                                //    648    %finish
#line 648 "regression-compile-tmp/chimp.imp"
L_001e:;
                                                                //    649    printstring(" value(s) for ")
#line 649 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal(" value(s) for "));
                                                                //    650    print ident(x)
#line 650 "regression-compile-tmp/chimp.imp"
PRINTIDENT(X);
                                                                //    651    %return
#line 651 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    652  s(asserr):
#line 652 "regression-compile-tmp/chimp.imp"
sw1_S_5:;
                                                                //    653    print ident(x)
#line 653 "regression-compile-tmp/chimp.imp"
PRINTIDENT(X);
                                                                //    654    print string(" void")
#line 654 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal(" void"));
                                                                //    655  %end
#line 655 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
sw1_S_25:;
sw1_S_26:;
sw1_S_36:;
sw1_S_39:;
/*_imp_signal(6,3,sw1_S_idx,"SWITCH LABEL NOT SET - sw1_S");*/
fprintf(stderr, "%%SWITCH LABEL NOT SET - sw1_S(%d): at line %s:%d", sw1_S_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__), (_imp_current_line != 0 ? _imp_current_line : __LINE__));
exit(1);
} // End of block PRINTTEXT at level 3
                                                                //    656  
                                                                //    657  !Warning or error
                                                                //    658    mark = '?'
#line 658 "regression-compile-tmp/chimp.imp"
MARK = 63;
                                                                //    659    %if n&warn = 0 %start
#line 659 "regression-compile-tmp/chimp.imp"
if (((((N) & (128))) != (0))) goto L_001f;
                                                                //    660      mark = '*'
#line 660 "regression-compile-tmp/chimp.imp"
MARK = 42;
                                                                //    661      c_faults = c_faults+1;  faults = faults+1
#line 661 "regression-compile-tmp/chimp.imp"
C.FAULTS = (((int)(C.FAULTS)) + (1));
#line 661 "regression-compile-tmp/chimp.imp"
FAULTS = (((int)(FAULTS)) + (1));
                                                                //    662    %finish
#line 662 "regression-compile-tmp/chimp.imp"
L_001f:;
                                                                //    663    faultnum = 0;  c_access = -1
#line 663 "regression-compile-tmp/chimp.imp"
FAULTNUM = 0;
#line 663 "regression-compile-tmp/chimp.imp"
C.ACCESS = (-1);
                                                                //    664  !Ignore uncorrected earlier error
                                                                //    665    %return %if main_start1 <= fp < change
#line 665 "regression-compile-tmp/chimp.imp"
if ((((MAIN->START1) > (FP))) || (((FP) >= (CHANGE)))) goto L_0020;
#line 665 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 665 "regression-compile-tmp/chimp.imp"
L_0020:;
                                                                //    666  !Track back if before current line
                                                                //    667    start = linestart;  errline = line
#line 667 "regression-compile-tmp/chimp.imp"
START = LINESTART;
#line 667 "regression-compile-tmp/chimp.imp"
ERRLINE = LINE;
                                                                //    668    %if n&point = 0 %then faultp = 0 %else %start
#line 668 "regression-compile-tmp/chimp.imp"
if (((((N) & (64))) != (0))) goto L_0021;
#line 668 "regression-compile-tmp/chimp.imp"
FAULTP = 0;
#line 668 "regression-compile-tmp/chimp.imp"
goto L_0022;
#line 668 "regression-compile-tmp/chimp.imp"
L_0021:;
                                                                //    669      faultp = joker %if joker > 0
#line 669 "regression-compile-tmp/chimp.imp"
if (((JOKER) <= (0))) goto L_0023;
#line 669 "regression-compile-tmp/chimp.imp"
FAULTP = JOKER;
#line 669 "regression-compile-tmp/chimp.imp"
L_0023:;
                                                                //    670      %while faultp <= start %cycle
#line 670 "regression-compile-tmp/chimp.imp"
L_0024:;
#line 670 "regression-compile-tmp/chimp.imp"
if (((FAULTP) > (START))) goto L_0025;
                                                                //    671        start = start-1
#line 671 "regression-compile-tmp/chimp.imp"
START = (((int)(START)) - (1));
                                                                //    672        errline = errline-1 %if byteinteger(start) = nl
#line 672 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(START)) != (10))) goto L_0027;
#line 672 "regression-compile-tmp/chimp.imp"
ERRLINE = (((int)(ERRLINE)) - (1));
#line 672 "regression-compile-tmp/chimp.imp"
L_0027:;
                                                                //    673      %repeat
#line 673 "regression-compile-tmp/chimp.imp"
goto L_0024;
#line 673 "regression-compile-tmp/chimp.imp"
L_0025:;
                                                                //    674      start = start-1 %while start # curstart %and byteinteger(start-1) # nl
#line 674 "regression-compile-tmp/chimp.imp"
L_0028:;
#line 674 "regression-compile-tmp/chimp.imp"
if (((START) == (CURSTART))) goto L_0029;
#line 674 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER((((int)(START)) - (1)))) == (10))) goto L_0029;
#line 674 "regression-compile-tmp/chimp.imp"
START = (((int)(START)) - (1));
#line 674 "regression-compile-tmp/chimp.imp"
goto L_0028;
#line 674 "regression-compile-tmp/chimp.imp"
L_0029:;
                                                                //    675    %finish
#line 675 "regression-compile-tmp/chimp.imp"
L_0022:;
                                                                //    676    editfp = start;  editfp = faultp-1 %if faultp > start
#line 676 "regression-compile-tmp/chimp.imp"
EDITFP = START;
#line 676 "regression-compile-tmp/chimp.imp"
if (((FAULTP) <= (START))) goto L_002b;
#line 676 "regression-compile-tmp/chimp.imp"
EDITFP = (((int)(FAULTP)) - (1));
#line 676 "regression-compile-tmp/chimp.imp"
L_002b:;
                                                                //    677    editfp = mainfp %if curlim = extra_lim2
#line 677 "regression-compile-tmp/chimp.imp"
if (((CURLIM) != (EXTRA.LIM2))) goto L_002c;
#line 677 "regression-compile-tmp/chimp.imp"
EDITFP = MAINFP;
#line 677 "regression-compile-tmp/chimp.imp"
L_002c:;
                                                                //    678    start = start+1 %while byteinteger(start) = ' '
#line 678 "regression-compile-tmp/chimp.imp"
L_002d:;
#line 678 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(START)) != (32))) goto L_002e;
#line 678 "regression-compile-tmp/chimp.imp"
START = (((int)(START)) + (1));
#line 678 "regression-compile-tmp/chimp.imp"
goto L_002d;
#line 678 "regression-compile-tmp/chimp.imp"
L_002e:;
                                                                //    679    print text(joker,0)
#line 679 "regression-compile-tmp/chimp.imp"
PRINTTEXT(JOKER, 0);
                                                                //    680    newline %and %return %if n&warn # 0 %or nonstop # 0
#line 680 "regression-compile-tmp/chimp.imp"
if (((((N) & (128))) != (0))) goto L_002f;
#line 680 "regression-compile-tmp/chimp.imp"
if (((NONSTOP) == (0))) goto L_0030;
#line 680 "regression-compile-tmp/chimp.imp"
L_002f:;
#line 680 "regression-compile-tmp/chimp.imp"
NEWLINE();
#line 680 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 680 "regression-compile-tmp/chimp.imp"
L_0030:;
                                                                //    681    main_fp = editfp;  main_line = line
#line 681 "regression-compile-tmp/chimp.imp"
MAIN->FP = EDITFP;
#line 681 "regression-compile-tmp/chimp.imp"
MAIN->LINE = LINE;
                                                                //    682    %if change # 0 %then main_change = 16_7FFFFFFE
#line 682 "regression-compile-tmp/chimp.imp"
if (((CHANGE) == (0))) goto L_0031;
#line 682 "regression-compile-tmp/chimp.imp"
MAIN->CHANGE = 2147483646;
#line 682 "regression-compile-tmp/chimp.imp"
L_0031:;
                                                                //    683    edi(main,null,rep)
#line 683 "regression-compile-tmp/chimp.imp"
EDI(MAIN, &NULL, REP);
                                                                //    684    rep = ""
#line 684 "regression-compile-tmp/chimp.imp"
REP = _imp_str_literal("");
                                                                //    685    nonstop = 1 %if main_flag = 'I'
#line 685 "regression-compile-tmp/chimp.imp"
if (((MAIN->FLAG) != (73))) goto L_0032;
#line 685 "regression-compile-tmp/chimp.imp"
NONSTOP = 1;
#line 685 "regression-compile-tmp/chimp.imp"
L_0032:;
                                                                //    686    %stop %if main_flag < 0
#line 686 "regression-compile-tmp/chimp.imp"
if (((MAIN->FLAG) >= (0))) goto L_0033;
#line 686 "regression-compile-tmp/chimp.imp"
exit(0);
#line 686 "regression-compile-tmp/chimp.imp"
L_0033:;
                                                                //    687    %signal 12 %if main_change < 16_7FFFFFFE {change made}
#line 687 "regression-compile-tmp/chimp.imp"
if (((MAIN->CHANGE) >= (2147483646))) goto L_0034;
#line 687 "regression-compile-tmp/chimp.imp"
_imp_signal(12, 0, 0, "");
#line 687 "regression-compile-tmp/chimp.imp"
L_0034:;
                                                                //    688   %end;  !report
#line 688 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block REPORT at level 2
                                                                //    689  
                                                                //    690  %routine CROAK(%string(255) s)
#line 690 "regression-compile-tmp/chimp.imp"
void CROAK( _imp_string /*%string(255)*/ S )
#line 690 "regression-compile-tmp/chimp.imp"
{
                                                                //    691    print string("** ".s.".  Checking abandoned at line ")
#line 691 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("** "),(_imp_string)S),(_imp_string)_imp_str_literal(".  Checking abandoned at line ")));
                                                                //    692    write(line,0);  newline
#line 692 "regression-compile-tmp/chimp.imp"
WRITE(LINE, 0);
#line 692 "regression-compile-tmp/chimp.imp"
NEWLINE();
                                                                //    693    nonstop = -999
#line 693 "regression-compile-tmp/chimp.imp"
NONSTOP = (-999);
                                                                //    694    %signal 12
#line 694 "regression-compile-tmp/chimp.imp"
_imp_signal(12, 0, 0, "");
                                                                //    695  %end
#line 695 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CROAK at level 2
                                                                //    696  
                                                                //    697  %routine FAULT(%integer n)
#line 697 "regression-compile-tmp/chimp.imp"
void FAULT( int N )
#line 697 "regression-compile-tmp/chimp.imp"
{
                                                                //    698  !Note fault number and position of (earliest) fault
                                                                //    699  ! for subsequent reporting (warnings and weak errors)
                                                                //    700    faultnum = n %and faultp = atomp %if faultnum = 0
#line 700 "regression-compile-tmp/chimp.imp"
if (((FAULTNUM) != (0))) goto L_0035;
#line 700 "regression-compile-tmp/chimp.imp"
FAULTNUM = N;
#line 700 "regression-compile-tmp/chimp.imp"
FAULTP = ATOMP;
#line 700 "regression-compile-tmp/chimp.imp"
L_0035:;
                                                                //    701  %end
#line 701 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FAULT at level 2
                                                                //    702  %routine EXPFAULT(%integer n)
#line 702 "regression-compile-tmp/chimp.imp"
void EXPFAULT( int N )
#line 702 "regression-compile-tmp/chimp.imp"
{
                                                                //    703    faultnum = n!point %and faultp = expp %if faultnum = 0 %or expp < faultp
#line 703 "regression-compile-tmp/chimp.imp"
if (((FAULTNUM) == (0))) goto L_0036;
#line 703 "regression-compile-tmp/chimp.imp"
if (((EXPP) >= (FAULTP))) goto L_0037;
#line 703 "regression-compile-tmp/chimp.imp"
L_0036:;
#line 703 "regression-compile-tmp/chimp.imp"
FAULTNUM = ((N) | (64));
#line 703 "regression-compile-tmp/chimp.imp"
FAULTP = EXPP;
#line 703 "regression-compile-tmp/chimp.imp"
L_0037:;
                                                                //    704  %end
#line 704 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block EXPFAULT at level 2
                                                                //    705  
                                                                //    706  %constinteger pred=1, uparr=1<<1, nocomma=1<<2, overload=1<<3,
                                                                //    707                ranges=1<<4, nolength=1<<5, initass=1<<6, kgoto=1<<7,
                                                                //    708                hyphen=1<<8, naming=1<<9, klabel=1<<10, ibmhex=1<<11,
                                                                //    709                oldcycle=1<<12, loop2=1<<13
                                                                //    710  %routine NONSTANDARD(%integer case)
#line 710 "regression-compile-tmp/chimp.imp"
void NONSTANDARD( int CASE )
#line 710 "regression-compile-tmp/chimp.imp"
{
                                                                //    711  %owninteger hadit=0
#line 711 "regression-compile-tmp/chimp.imp"
static int HADIT = 0;
                                                                //    712    %if control&nonsbit # 0 %and case&hadit = 0 %start
#line 712 "regression-compile-tmp/chimp.imp"
if (((((CONTROL) & (65536))) == (0))) goto L_0038;
#line 712 "regression-compile-tmp/chimp.imp"
if (((((CASE) & (HADIT))) != (0))) goto L_0038;
                                                                //    713      hadit = hadit+case
#line 713 "regression-compile-tmp/chimp.imp"
HADIT = (((int)(HADIT)) + (CASE));
                                                                //    714      fault(nonstand+point+warn)
#line 714 "regression-compile-tmp/chimp.imp"
FAULT(214);
                                                                //    715    %finish
#line 715 "regression-compile-tmp/chimp.imp"
L_0038:;
                                                                //    716  %end
#line 716 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block NONSTANDARD at level 2
                                                                //    717  
                                                                //    718  %routine ERROR(%integer case)
#line 718 "regression-compile-tmp/chimp.imp"
void ERROR( int CASE )
#line 718 "regression-compile-tmp/chimp.imp"
{
                                                                //    719    report(case,atomp)
#line 719 "regression-compile-tmp/chimp.imp"
REPORT(CASE, ATOMP);
                                                                //    720    %signal 14
#line 720 "regression-compile-tmp/chimp.imp"
_imp_signal(14, 0, 0, "");
                                                                //    721  %end
#line 721 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ERROR at level 2
                                                                //    722  
                                                                //    723  %routine NAME ERROR
#line 723 "regression-compile-tmp/chimp.imp"
void NAMEERROR( void )
#line 723 "regression-compile-tmp/chimp.imp"
{
                                                                //    724  !check if the culprit has occurred before
                                                                //    725  !and, if not, add it to the pool of unknowns stored at the
                                                                //    726  !far end of the dictionary.
                                                                //    727    %while item < 0 %c
#line 727 "regression-compile-tmp/chimp.imp"
L_0039:;
#line 727 "regression-compile-tmp/chimp.imp"
if (((ITEM) >= (0))) goto L_003a;
#line 727 "regression-compile-tmp/chimp.imp"
if ((_imp_strcmp(*_imp_STRING((((int)(DICT[(((-(ITEM))) - (2001))].TEXT)) + (CHARBASE))), *_imp_STRING(CHARLIM)) == 0)) goto L_003a;
                                                                //    728       %and string(dict(-item)_text+charbase) # string(charlim) %cycle
                                                                //    729       item = dict(-item)_link
#line 729 "regression-compile-tmp/chimp.imp"
ITEM = DICT[(((-(ITEM))) - (2001))].LINK;
                                                                //    730    %repeat
#line 730 "regression-compile-tmp/chimp.imp"
goto L_0039;
#line 730 "regression-compile-tmp/chimp.imp"
L_003a:;
                                                                //    731    %if item >= 0 %start;  !first time
#line 731 "regression-compile-tmp/chimp.imp"
if (((ITEM) < (0))) goto L_003c;
                                                                //    732      report(namerr+point,atomp)
#line 732 "regression-compile-tmp/chimp.imp"
REPORT(66, ATOMP);
                                                                //    733      %if charmin-newlen-80 >= charlim %start
#line 733 "regression-compile-tmp/chimp.imp"
if ((((((int)((((int)(CHARMIN)) - (NEWLEN)))) - (80))) < (CHARLIM))) goto L_003d;
                                                                //    734        dmin = dmin-1
#line 734 "regression-compile-tmp/chimp.imp"
DMIN = (((int)(DMIN)) - (1));
                                                                //    735        charmin = charmin-newlen-1
#line 735 "regression-compile-tmp/chimp.imp"
CHARMIN = (((int)((((int)(CHARMIN)) - (NEWLEN)))) - (1));
                                                                //    736        string(charmin) = string(charlim)
#line 736 "regression-compile-tmp/chimp.imp"
*_imp_STRING(CHARMIN) = *_imp_STRING(CHARLIM);
                                                                //    737        dict(dmin)_text = charmin-charbase
#line 737 "regression-compile-tmp/chimp.imp"
DICT[(((int)(DMIN)) - (2001))].TEXT = (((int)(CHARMIN)) - (CHARBASE));
                                                                //    738        head == dict(head)_link %while head > 0;  !find last link
#line 738 "regression-compile-tmp/chimp.imp"
L_003e:;
#line 738 "regression-compile-tmp/chimp.imp"
if (((*HEAD) <= (0))) goto L_003f;
#line 738 "regression-compile-tmp/chimp.imp"
HEAD = &DICT[((*(int *)(HEAD)) - (2001))].LINK;
#line 738 "regression-compile-tmp/chimp.imp"
goto L_003e;
#line 738 "regression-compile-tmp/chimp.imp"
L_003f:;
                                                                //    739        dict(dmin)_link = head;  head = -dmin
#line 739 "regression-compile-tmp/chimp.imp"
DICT[(((int)(DMIN)) - (2001))].LINK = *HEAD;
#line 739 "regression-compile-tmp/chimp.imp"
*HEAD = (-(DMIN));
                                                                //    740      %finish
#line 740 "regression-compile-tmp/chimp.imp"
L_003d:;
                                                                //    741    %finish
#line 741 "regression-compile-tmp/chimp.imp"
L_003c:;
                                                                //    742    %signal 14
#line 742 "regression-compile-tmp/chimp.imp"
_imp_signal(14, 0, 0, "");
                                                                //    743  %end
#line 743 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block NAMEERROR at level 2
                                                                //    744  
                                                                //    745  %routine SYNTAX ERROR
#line 745 "regression-compile-tmp/chimp.imp"
void SYNTAXERROR( void )
#line 745 "regression-compile-tmp/chimp.imp"
{
                                                                //    746  %integer e
#line 746 "regression-compile-tmp/chimp.imp"
int E;
                                                                //    747    e = formerr+point;  e = atomerr+point %if atom = dud
#line 747 "regression-compile-tmp/chimp.imp"
E = 64;
#line 747 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (63))) goto L_0041;
#line 747 "regression-compile-tmp/chimp.imp"
E = 65;
#line 747 "regression-compile-tmp/chimp.imp"
L_0041:;
                                                                //    748    report(e,atomp)
#line 748 "regression-compile-tmp/chimp.imp"
REPORT(E, ATOMP);
                                                                //    749    %signal 14
#line 749 "regression-compile-tmp/chimp.imp"
_imp_signal(14, 0, 0, "");
                                                                //    750  %end
#line 750 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SYNTAXERROR at level 2
                                                                //    751  
                                                                //    752  !!!!!!!!!!!!!!!!!!!!   CELL  CONSTRUCTORS  !!!!!!!!!!!!!!!!!!!
                                                                //    753  !
                                                                //    754  !%integerfn litref(%integer v)
                                                                //    755  !%integer i
                                                                //    756  !  %result = v %if smallmin <= v <= smallmax
                                                                //    757  !  litstore(litpos) = v
                                                                //    758  !  i = litmin-1
                                                                //    759  !  i = i+1 %until litstore(i) = v
                                                                //    760  !  %if i = litpos %start
                                                                //    761  !    litpos = litpos+1
                                                                //    762  !    croak("Too many literals") %if litpos >= slitpos
                                                                //    763  !  %finish
                                                                //    764  !  %result = i
                                                                //    765  !%end
                                                                //    766  
                                                                //    767  !%integerfn litval(%integer v)
                                                                //    768  !  %result = v %if v <= smallmax
                                                                //    769  !  %result = litstore(v)
                                                                //    770  !%end
                                                                //    771  
                                                                //    772  %integerfn floated(%integer item)
#line 772 "regression-compile-tmp/chimp.imp"
int FLOATED( int ITEM )
#line 772 "regression-compile-tmp/chimp.imp"
{
                                                                //    773    %result = 0 %if item = 0
#line 773 "regression-compile-tmp/chimp.imp"
if (((ITEM) != (0))) goto L_0042;
#line 773 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 773 "regression-compile-tmp/chimp.imp"
L_0042:;
                                                                //    774    %result = explo;!expref(float,item,0)
#line 774 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return EXPLO;
                                                                //    775  %end
#line 775 "regression-compile-tmp/chimp.imp"
} // End of block FLOATED at level 2
                                                                //    776  
                                                                //    777  !%predicate is short (%integer v)
                                                                //    778  !  %true %if -32768 <= v <= 32767
                                                                //    779  !  %false
                                                                //    780  !%end
                                                                //    781  
                                                                //    782  !%predicate is mite (%integer v)
                                                                //    783  !  %true %if -128 <= v <= 127
                                                                //    784  !  %false
                                                                //    785  !%end
                                                                //    786  
                                                                //    787  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    788  !!!!!!!!!!!!!!!!!    CODE  GENERATION   !!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    789  !
                                                                //    790  %routine forget
#line 790 "regression-compile-tmp/chimp.imp"
void FORGET( void )
#line 790 "regression-compile-tmp/chimp.imp"
{
                                                                //    791  %end
#line 791 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FORGET at level 2
                                                                //    792  %routine forget all
#line 792 "regression-compile-tmp/chimp.imp"
void FORGETALL( void )
#line 792 "regression-compile-tmp/chimp.imp"
{
                                                                //    793  %integer i,j
#line 793 "regression-compile-tmp/chimp.imp"
int I;
#line 793 "regression-compile-tmp/chimp.imp"
int J;
                                                                //    794    litpos = litmin;  explo = expmax+1;  oldexplo = explo
#line 794 "regression-compile-tmp/chimp.imp"
LITPOS = 1001;
#line 794 "regression-compile-tmp/chimp.imp"
EXPLO = 3555;
#line 794 "regression-compile-tmp/chimp.imp"
OLDEXPLO = EXPLO;
                                                                //    795  %end
#line 795 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FORGETALL at level 2
                                                                //    796  !
                                                                //    797  %routine set label(%integer b)
#line 797 "regression-compile-tmp/chimp.imp"
void SETLABEL( int B )
#line 797 "regression-compile-tmp/chimp.imp"
{
                                                                //    798  %end;  !set label
#line 798 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETLABEL at level 2
                                                                //    799  %routine set user label(%integer dpos)
#line 799 "regression-compile-tmp/chimp.imp"
void SETUSERLABEL( int DPOS )
#line 799 "regression-compile-tmp/chimp.imp"
{
                                                                //    800  %end
#line 800 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETUSERLABEL at level 2
                                                                //    801  %routine compile(%integer from,to)
#line 801 "regression-compile-tmp/chimp.imp"
void COMPILE( int FROM, int TO )
#line 801 "regression-compile-tmp/chimp.imp"
{
                                                                //    802  !  show exp(from,to) %if control&explist # 0
                                                                //    803    np = np0
#line 803 "regression-compile-tmp/chimp.imp"
NP = 3255;
                                                                //    804  %end
#line 804 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COMPILE at level 2
                                                                //    805  %routine compile entry
#line 805 "regression-compile-tmp/chimp.imp"
void COMPILEENTRY( void )
#line 805 "regression-compile-tmp/chimp.imp"
{
                                                                //    806  %end
#line 806 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COMPILEENTRY at level 2
                                                                //    807  %routine compile end
#line 807 "regression-compile-tmp/chimp.imp"
void COMPILEEND( void )
#line 807 "regression-compile-tmp/chimp.imp"
{
                                                                //    808  %end;  !compile end
#line 808 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COMPILEEND at level 2
                                                                //    809  !!!!!!!!!!!!!!!  end of Code Generation  !!!!!!!!!!!!!!!!!!!!!!!
                                                                //    810  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    811  
                                                                //    812  %routine PUT3(%integer act,x,y)
#line 812 "regression-compile-tmp/chimp.imp"
void PUT3( int ACT, int X, int Y )
#line 812 "regression-compile-tmp/chimp.imp"
{
                                                                //    813  !  exp(np)_act = act;  exp(np)_x = x;  exp(np)_y = y
                                                                //    814  !  np = np+1
                                                                //    815  %end
#line 815 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUT3 at level 2
                                                                //    816  !
                                                                //    817  %routine PUT2(%integer act,x)
#line 817 "regression-compile-tmp/chimp.imp"
void PUT2( int ACT, int X )
#line 817 "regression-compile-tmp/chimp.imp"
{
                                                                //    818  %end
#line 818 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUT2 at level 2
                                                                //    819  !
                                                                //    820  %integerfn TEMPVAR
#line 820 "regression-compile-tmp/chimp.imp"
int TEMPVAR( void )
#line 820 "regression-compile-tmp/chimp.imp"
{
                                                                //    821    %result = dlim
#line 821 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return DLIM;
                                                                //    822  %end
#line 822 "regression-compile-tmp/chimp.imp"
} // End of block TEMPVAR at level 2
                                                                //    823  
                                                                //    824  %routine OPEN BLOCK(%integer pidpos)
#line 824 "regression-compile-tmp/chimp.imp"
void OPENBLOCK( int PIDPOS )
#line 824 "regression-compile-tmp/chimp.imp"
{
                                                                //    825    forget;  !a bit extreme
#line 825 "regression-compile-tmp/chimp.imp"
FORGET();
                                                                //    826    croak("Too many levels") %if level = maxlevel
#line 826 "regression-compile-tmp/chimp.imp"
if (((LEVEL) != (16))) goto L_0043;
#line 826 "regression-compile-tmp/chimp.imp"
CROAK(_imp_str_literal("Too many levels"));
#line 826 "regression-compile-tmp/chimp.imp"
L_0043:;
                                                                //    827    hold(level) = c;  level = level+1
#line 827 "regression-compile-tmp/chimp.imp"
HOLD[LEVEL] = C;
#line 827 "regression-compile-tmp/chimp.imp"
LEVEL = (((int)(LEVEL)) + (1));
                                                                //    828    c = 0
#line 828 "regression-compile-tmp/chimp.imp"
C = (BLOCKINF){ 0 } /* Assign 0's to all fields of record */;
                                                                //    829    starts = 0;  cycles = 0
#line 829 "regression-compile-tmp/chimp.imp"
STARTS = 0;
#line 829 "regression-compile-tmp/chimp.imp"
CYCLES = 0;
                                                                //    830    curlab = lab1;  looplab = 0
#line 830 "regression-compile-tmp/chimp.imp"
CURLAB = 3235;
#line 830 "regression-compile-tmp/chimp.imp"
LOOPLAB = 0;
                                                                //    831    forget all
#line 831 "regression-compile-tmp/chimp.imp"
FORGETALL();
                                                                //    832    c_flags = 0;  c_type = d_type
#line 832 "regression-compile-tmp/chimp.imp"
C.FLAGS = 0;
#line 832 "regression-compile-tmp/chimp.imp"
C.TYPE = D.TYPE;
                                                                //    833    c_pidpos = pidpos
#line 833 "regression-compile-tmp/chimp.imp"
C.PIDPOS = PIDPOS;
                                                                //    834    c_localdpos = dlim;  c_parlim = dlim;  c_localtext = charlim
#line 834 "regression-compile-tmp/chimp.imp"
C.LOCALDPOS = DLIM;
#line 834 "regression-compile-tmp/chimp.imp"
C.PARLIM = DLIM;
#line 834 "regression-compile-tmp/chimp.imp"
C.LOCALTEXT = CHARLIM;
                                                                //    835    c_localpc = pc;  c_localspc = spc
#line 835 "regression-compile-tmp/chimp.imp"
C.LOCALPC = PC;
#line 835 "regression-compile-tmp/chimp.imp"
C.LOCALSPC = SPC;
                                                                //    836    c_access = 1
#line 836 "regression-compile-tmp/chimp.imp"
C.ACCESS = 1;
                                                                //    837  %end;  !OPEN BLOCK
#line 837 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block OPENBLOCK at level 2
                                                                //    838  
                                                                //    839  %routine CLOSE BLOCK
#line 839 "regression-compile-tmp/chimp.imp"
void CLOSEBLOCK( void )
#line 839 "regression-compile-tmp/chimp.imp"
{
                                                                //    840  %integer i
#line 840 "regression-compile-tmp/chimp.imp"
int I;
                                                                //    841  %integer miss,dpos
#line 841 "regression-compile-tmp/chimp.imp"
int MISS;
#line 841 "regression-compile-tmp/chimp.imp"
int DPOS;
                                                                //    842  %integername p
#line 842 "regression-compile-tmp/chimp.imp"
int /*name*/*P;
                                                                //    843  %record(identinfo)%name dp
#line 843 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*DP;
                                                                //    844    !Check identifier usage
                                                                //    845    miss = 0;  p == miss
#line 845 "regression-compile-tmp/chimp.imp"
MISS = 0;
#line 845 "regression-compile-tmp/chimp.imp"
P = &MISS;
                                                                //    846    dpos = c_localdpos
#line 846 "regression-compile-tmp/chimp.imp"
DPOS = C.LOCALDPOS;
                                                                //    847    %while dpos # dlim %cycle
#line 847 "regression-compile-tmp/chimp.imp"
L_0044:;
#line 847 "regression-compile-tmp/chimp.imp"
if (((DPOS) == (DLIM))) goto L_0045;
                                                                //    848      dp == dict(dpos)
#line 848 "regression-compile-tmp/chimp.imp"
DP = &DICT[(((int)(DPOS)) - (2001))];
                                                                //    849  !    %if (dp_xtype = ptrxtype %and dp_type = dpos)
                                                                //    850      %if dp_flags&(proc+lab) # 0 %and dp_flags&(ext+spec) = spec %start
#line 850 "regression-compile-tmp/chimp.imp"
if (((((DP->FLAGS) & (6))) == (0))) goto L_0047;
#line 850 "regression-compile-tmp/chimp.imp"
if (((((DP->FLAGS) & (48))) != (16))) goto L_0047;
                                                                //    851            p = dpos;  p == dp_val;  p = 0
#line 851 "regression-compile-tmp/chimp.imp"
*P = DPOS;
#line 851 "regression-compile-tmp/chimp.imp"
P = &DP->VAL;
#line 851 "regression-compile-tmp/chimp.imp"
*P = 0;
                                                                //    852      %finish
#line 852 "regression-compile-tmp/chimp.imp"
L_0047:;
                                                                //    853  !    %if hashindex(dp_spare) = dpos %start
                                                                //    854  !      dp_link = dict(dp_link)_link %while dp_link >= c_localdpos
                                                                //    855  !      hashindex(dp_spare) = dp_link
                                                                //    856  !    %finish
                                                                //    857  !    dpos = dp_xtype %if dp_type = 0 %and dp_xtype > dpos;  !skip fields
                                                                //    858      dpos = dpos+1
#line 858 "regression-compile-tmp/chimp.imp"
DPOS = (((int)(DPOS)) + (1));
                                                                //    859    %repeat
#line 859 "regression-compile-tmp/chimp.imp"
goto L_0044;
#line 859 "regression-compile-tmp/chimp.imp"
L_0045:;
                                                                //    860    report(idmissing,miss) %if miss # 0
#line 860 "regression-compile-tmp/chimp.imp"
if (((MISS) == (0))) goto L_0048;
#line 860 "regression-compile-tmp/chimp.imp"
REPORT(42, MISS);
#line 860 "regression-compile-tmp/chimp.imp"
L_0048:;
                                                                //    861    compile end
#line 861 "regression-compile-tmp/chimp.imp"
COMPILEEND();
                                                                //    862    pc = c_localpc;  spc = c_localspc
#line 862 "regression-compile-tmp/chimp.imp"
PC = C.LOCALPC;
#line 862 "regression-compile-tmp/chimp.imp"
SPC = C.LOCALSPC;
                                                                //    863    dlim = c_parlim;  charlim = c_localtext
#line 863 "regression-compile-tmp/chimp.imp"
DLIM = C.PARLIM;
#line 863 "regression-compile-tmp/chimp.imp"
CHARLIM = C.LOCALTEXT;
                                                                //    864    %for i = 0,1,255 %cycle
#line 864 "regression-compile-tmp/chimp.imp"
I = (-1);
if ((((255)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, 255");
L_0049:;
if (I == 255) goto L_004a;
I += 1;
                                                                //    865       hashindex(i) = dict(hashindex(i))_link %while hashindex(i) >= c_localdpos
#line 865 "regression-compile-tmp/chimp.imp"
L_004c:;
#line 865 "regression-compile-tmp/chimp.imp"
if (((HASHINDEX[I]) < (C.LOCALDPOS))) goto L_004d;
#line 865 "regression-compile-tmp/chimp.imp"
HASHINDEX[I] = DICT[(((int)(HASHINDEX[I])) - (2001))].LINK;
#line 865 "regression-compile-tmp/chimp.imp"
goto L_004c;
#line 865 "regression-compile-tmp/chimp.imp"
L_004d:;
                                                                //    866    %repeat
#line 866 "regression-compile-tmp/chimp.imp"
goto L_0049;
#line 866 "regression-compile-tmp/chimp.imp"
L_004a:;
                                                                //    867    level = level-1;  c = hold(level)
#line 867 "regression-compile-tmp/chimp.imp"
LEVEL = (((int)(LEVEL)) - (1));
#line 867 "regression-compile-tmp/chimp.imp"
C = HOLD[LEVEL];
                                                                //    868    starts = 0;  cycles = 0
#line 868 "regression-compile-tmp/chimp.imp"
STARTS = 0;
#line 868 "regression-compile-tmp/chimp.imp"
CYCLES = 0;
                                                                //    869  %end;  !CLOSE BLOCK
#line 869 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLOSEBLOCK at level 2
                                                                //    870  
                                                                //    871  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    872  !!!!!!!!!!!!!!!!!!!!  Source input  !!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    873  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    874  !
                                                                //    875  %routine SWITCH INPUT
#line 875 "regression-compile-tmp/chimp.imp"
void SWITCHINPUT( void )
#line 875 "regression-compile-tmp/chimp.imp"
{
                                                                //    876  !  croak("Input ended") %if fp = main_lim2
                                                                //    877    %signal 12 %if fp = main_lim2
#line 877 "regression-compile-tmp/chimp.imp"
if (((FP) != (MAIN->LIM2))) goto L_004f;
#line 877 "regression-compile-tmp/chimp.imp"
_imp_signal(12, 0, 0, "");
#line 877 "regression-compile-tmp/chimp.imp"
L_004f:;
                                                                //    878    %if nonstop < 0 %start;  !perming
#line 878 "regression-compile-tmp/chimp.imp"
if (((NONSTOP) >= (0))) goto L_0050;
                                                                //    879      nonstop = nonstop+3;  permlim = dlim
#line 879 "regression-compile-tmp/chimp.imp"
NONSTOP = (((int)(NONSTOP)) + (3));
#line 879 "regression-compile-tmp/chimp.imp"
PERMLIM = DLIM;
                                                                //    880      c_localdpos = dlim;  c_parlim = dlim
#line 880 "regression-compile-tmp/chimp.imp"
C.LOCALDPOS = DLIM;
#line 880 "regression-compile-tmp/chimp.imp"
C.PARLIM = DLIM;
                                                                //    881      statements = 0
#line 881 "regression-compile-tmp/chimp.imp"
STATEMENTS = 0;
                                                                //    882    %finish
#line 882 "regression-compile-tmp/chimp.imp"
L_0050:;
                                                                //    883    %if fp # main_lim1 %start
#line 883 "regression-compile-tmp/chimp.imp"
if (((FP) == (MAIN->LIM1))) goto L_0051;
                                                                //    884      nonstop = nonstop-1
#line 884 "regression-compile-tmp/chimp.imp"
NONSTOP = (((int)(NONSTOP)) - (1));
                                                                //    885      fp = mainfp;  line = mainline
#line 885 "regression-compile-tmp/chimp.imp"
FP = MAINFP;
#line 885 "regression-compile-tmp/chimp.imp"
LINE = MAINLINE;
                                                                //    886      curstart = main_start1;  curlim = main_lim1
#line 886 "regression-compile-tmp/chimp.imp"
CURSTART = MAIN->START1;
#line 886 "regression-compile-tmp/chimp.imp"
CURLIM = MAIN->LIM1;
                                                                //    887    %finish %else fp = main_start2
#line 887 "regression-compile-tmp/chimp.imp"
goto L_0052;
#line 887 "regression-compile-tmp/chimp.imp"
L_0051:;
#line 887 "regression-compile-tmp/chimp.imp"
FP = MAIN->START2;
#line 887 "regression-compile-tmp/chimp.imp"
L_0052:;
                                                                //    888    %if main_start2 <= fp <= main_lim2 %start
#line 888 "regression-compile-tmp/chimp.imp"
if ((((MAIN->START2) > (FP))) || (((FP) > (MAIN->LIM2)))) goto L_0053;
                                                                //    889      curstart = main_start2;  curlim = main_lim2
#line 889 "regression-compile-tmp/chimp.imp"
CURSTART = MAIN->START2;
#line 889 "regression-compile-tmp/chimp.imp"
CURLIM = MAIN->LIM2;
                                                                //    890    %finish
#line 890 "regression-compile-tmp/chimp.imp"
L_0053:;
                                                                //    891    modesym = ' ';  sym = nl
#line 891 "regression-compile-tmp/chimp.imp"
MODESYM = 32;
#line 891 "regression-compile-tmp/chimp.imp"
SYM = 10;
                                                                //    892  %end
#line 892 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SWITCHINPUT at level 2
                                                                //    893  
                                                                //    894  %routine READ LINE
#line 894 "regression-compile-tmp/chimp.imp"
void READLINE( void )
#line 894 "regression-compile-tmp/chimp.imp"
{
                                                                //    895  ! Read (or otherwise make available) the next source line
                                                                //    896  !     Skip remnant of previous line if SYM # NL        *NB*
                                                                //    897  !     Set LINESTART to point to start of new line
                                                                //    898    report(faultnum,faultp) %if faultnum # 0
#line 898 "regression-compile-tmp/chimp.imp"
if (((FAULTNUM) == (0))) goto L_0054;
#line 898 "regression-compile-tmp/chimp.imp"
REPORT(FAULTNUM, FAULTP);
#line 898 "regression-compile-tmp/chimp.imp"
L_0054:;
                                                                //    899    %while sym # nl %cycle;               !Skip remnant
#line 899 "regression-compile-tmp/chimp.imp"
L_0055:;
#line 899 "regression-compile-tmp/chimp.imp"
if (((SYM) == (10))) goto L_0056;
                                                                //    900      sym = byteinteger(fp);  fp = fp+1
#line 900 "regression-compile-tmp/chimp.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 900 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
                                                                //    901    %repeat
#line 901 "regression-compile-tmp/chimp.imp"
goto L_0055;
#line 901 "regression-compile-tmp/chimp.imp"
L_0056:;
                                                                //    902    %while fp = curlim %cycle
#line 902 "regression-compile-tmp/chimp.imp"
L_0058:;
#line 902 "regression-compile-tmp/chimp.imp"
if (((FP) != (CURLIM))) goto L_0059;
                                                                //    903      switch input
#line 903 "regression-compile-tmp/chimp.imp"
SWITCHINPUT();
                                                                //    904    %repeat
#line 904 "regression-compile-tmp/chimp.imp"
goto L_0058;
#line 904 "regression-compile-tmp/chimp.imp"
L_0059:;
                                                                //    905    line = line+1;  linestart = fp
#line 905 "regression-compile-tmp/chimp.imp"
LINE = (((int)(LINE)) + (1));
#line 905 "regression-compile-tmp/chimp.imp"
LINESTART = FP;
                                                                //    906    sym = 0
#line 906 "regression-compile-tmp/chimp.imp"
SYM = 0;
                                                                //    907  %end;  !READ LINE
#line 907 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block READLINE at level 2
                                                                //    908  !
                                                                //    909  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    910  !!!!!!!!!!!!!!!!!!!!  Lexical processing  !!!!!!!!!!!!!!!!!!!!!!
                                                                //    911  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    912  
                                                                //    913  %owninteger percent=0, subatom=0
#line 913 "regression-compile-tmp/chimp.imp"
static int PERCENT = 0;
#line 913 "regression-compile-tmp/chimp.imp"
static int SUBATOM = 0;
                                                                //    914  !
                                                                //    915  !Aliases:
                                                                //    916  %constinteger ARROW=resolve
                                                                //    917  %constinteger EXCLAM=logor, EXCLAM2=logxor, DOT=concat
                                                                //    918  %constinteger STAR=mult, SLASH=fdiv, SLASH2=idiv,
                                                                //    919                AMPERSAND=logand
                                                                //    920  %constinteger BACKSLASH=fpower, BACKSLASH2=ipower,
                                                                //    921                UPARROW=fpower,   UPARROW2=ipower,
                                                                //    922                TILDE=lognot
                                                                //    923  %constinteger LEFT=aref, UNDERLINE=recref, LEFTBRACKET=106
                                                                //    924  
                                                                //    925  %constinteger SIMPLE=104, MAJOR=plus,
                                                                //    926                SCOND=equals, COND=keyand
                                                                //    927  !
                                                                //    928  ! Type compatibility vectors:
                                                                //    929  %constinteger RECOK=1<<0, ARROK=1<<1, STRINGOK=1<<2,
                                                                //    930                REALOK=1<<3, INTOK=1<<4, CHAROK=1<<5, 
                                                                //    931                BOOLOK=1<<6, ENUMOK=1<<7, SETOK=1<<8
                                                                //    932  %constinteger ZNOP=1<<9, REFONLY=1<<10, VARONLY=1<<11
                                                                //    933  %constinteger ARITHOK=intok+realok,
                                                                //    934                ORDOK=intok+charok+boolok+enumok,
                                                                //    935                ANY=realok+ordok+stringok+arrok+recok
                                                                //    936  !
                                                                //    937  %constintegerarray opbits(64:atommax) =
#line 937 "regression-compile-tmp/chimp.imp"
const int OPBITS[44] = { 64, 64, 0, 0, 0, 0, 255, 255, 508, 252, 508, 252, 255, 255, 0, 4, 792, 792, 528, 528, 4, 0, 0, 0, 24, 24, 16, 16, 0, 0, 0, 0, 24, 16, 0, 0, 528, 528, 16, 0, 2, 1, 0, 0,  };
                                                                //    938    {BOOLAND}    boolok,
                                                                //    939    {BOOLOR}     boolok,
                                                                //    940                 0, 0, 0, 0,
                                                                //    941    {EQUALS}     any,
                                                                //    942    {NOTEQ}      any,
                                                                //    943    {LESSEQ}     setok+stringok+ordok+realok,
                                                                //    944    {LESS}       stringok+ordok+realok,
                                                                //    945    {GREATEQ}    setok+stringok+ordok+realok,
                                                                //    946    {GREATER}    stringok+ordok+realok,
                                                                //    947                 any,
                                                                //    948                 any,
                                                                //    949                 0,
                                                                //    950    {RESOLVE}    stringok,
                                                                //    951    {PLUS}       znop+setok+arithok,
                                                                //    952    {MINUS}      znop+setok+arithok,
                                                                //    953    {LOGOR}      znop+intok,
                                                                //    954    {LOGXOR}     znop+intok,
                                                                //    955    {CONCAT}     stringok,
                                                                //    956                 0, 0, 0,
                                                                //    957    {MULT}       arithok,
                                                                //    958    {FDIV}       arithok,
                                                                //    959    {IDIV}       intok,
                                                                //    960    {LOGAND}     intok,
                                                                //    961                 0, 0, 0, 0,
                                                                //    962    {FPOWER}     arithok,
                                                                //    963    {IPOWER}     intok,
                                                                //    964                 0, 0,
                                                                //    965    {LSHIFT}     znop+intok,
                                                                //    966    {RSHIFT}     znop+intok,
                                                                //    967    {LOGNOT}     intok,
                                                                //    968                 0,
                                                                //    969    {AREF}       arrok,
                                                                //    970    {RECREF}     recok,
                                                                //    971    {}           0, 0
                                                                //    972  !
                                                                //    973  %integerfn NEXT ATOM
#line 973 "regression-compile-tmp/chimp.imp"
int NEXTATOM( void )
#line 973 "regression-compile-tmp/chimp.imp"
{
                                                                //    974  !Encode next atom from source file
                                                                //    975  ![Time-critical]
                                                                //    976  %switch s(0:255)
#line 976 "regression-compile-tmp/chimp.imp"
static int sw2_S_idx;
static const void * /*SWITCH*/ sw2_S[256] = { &&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, &&sw2_S_22, &&sw2_S_23, &&sw2_S_24, &&sw2_S_25, &&sw2_S_26, &&sw2_S_27, &&sw2_S_28, &&sw2_S_29, &&sw2_S_30, &&sw2_S_31, &&sw2_S_32, &&sw2_S_33, &&sw2_S_34, &&sw2_S_35, &&sw2_S_36, &&sw2_S_37, &&sw2_S_38, &&sw2_S_39, &&sw2_S_40, &&sw2_S_41, &&sw2_S_42, &&sw2_S_43, &&sw2_S_44, &&sw2_S_45, &&sw2_S_46, &&sw2_S_47, &&sw2_S_48, &&sw2_S_49, &&sw2_S_50, &&sw2_S_51, &&sw2_S_52, &&sw2_S_53, &&sw2_S_54, &&sw2_S_55, &&sw2_S_56, &&sw2_S_57, &&sw2_S_58, &&sw2_S_59, &&sw2_S_60, &&sw2_S_61, &&sw2_S_62, &&sw2_S_63, &&sw2_S_64, &&sw2_S_65, &&sw2_S_66, &&sw2_S_67, &&sw2_S_68, &&sw2_S_69, &&sw2_S_70, &&sw2_S_71, &&sw2_S_72, &&sw2_S_73, &&sw2_S_74, &&sw2_S_75, &&sw2_S_76, &&sw2_S_77, &&sw2_S_78, &&sw2_S_79, &&sw2_S_80, &&sw2_S_81, &&sw2_S_82, &&sw2_S_83, &&sw2_S_84, &&sw2_S_85, &&sw2_S_86, &&sw2_S_87, &&sw2_S_88, &&sw2_S_89, &&sw2_S_90, &&sw2_S_91, &&sw2_S_92, &&sw2_S_93, &&sw2_S_94, &&sw2_S_95, &&sw2_S_96, &&sw2_S_97, &&sw2_S_98, &&sw2_S_99, &&sw2_S_100, &&sw2_S_101, &&sw2_S_102, &&sw2_S_103, &&sw2_S_104, &&sw2_S_105, &&sw2_S_106, &&sw2_S_107, &&sw2_S_108, &&sw2_S_109, &&sw2_S_110, &&sw2_S_111, &&sw2_S_112, &&sw2_S_113, &&sw2_S_114, &&sw2_S_115, &&sw2_S_116, &&sw2_S_117, &&sw2_S_118, &&sw2_S_119, &&sw2_S_120, &&sw2_S_121, &&sw2_S_122, &&sw2_S_123, &&sw2_S_124, &&sw2_S_125, &&sw2_S_126, &&sw2_S_127, &&sw2_S_128, &&sw2_S_129, &&sw2_S_130, &&sw2_S_131, &&sw2_S_132, &&sw2_S_133, &&sw2_S_134, &&sw2_S_135, &&sw2_S_136, &&sw2_S_137, &&sw2_S_138, &&sw2_S_139, &&sw2_S_140, &&sw2_S_141, &&sw2_S_142, &&sw2_S_143, &&sw2_S_144, &&sw2_S_145, &&sw2_S_146, &&sw2_S_147, &&sw2_S_148, &&sw2_S_149, &&sw2_S_150, &&sw2_S_151, &&sw2_S_152, &&sw2_S_153, &&sw2_S_154, &&sw2_S_155, &&sw2_S_156, &&sw2_S_157, &&sw2_S_158, &&sw2_S_159, &&sw2_S_160, &&sw2_S_161, &&sw2_S_162, &&sw2_S_163, &&sw2_S_164, &&sw2_S_165, &&sw2_S_166, &&sw2_S_167, &&sw2_S_168, &&sw2_S_169, &&sw2_S_170, &&sw2_S_171, &&sw2_S_172, &&sw2_S_173, &&sw2_S_174, &&sw2_S_175, &&sw2_S_176, &&sw2_S_177, &&sw2_S_178, &&sw2_S_179, &&sw2_S_180, &&sw2_S_181, &&sw2_S_182, &&sw2_S_183, &&sw2_S_184, &&sw2_S_185, &&sw2_S_186, &&sw2_S_187, &&sw2_S_188, &&sw2_S_189, &&sw2_S_190, &&sw2_S_191, &&sw2_S_192, &&sw2_S_193, &&sw2_S_194, &&sw2_S_195, &&sw2_S_196, &&sw2_S_197, &&sw2_S_198, &&sw2_S_199, &&sw2_S_200, &&sw2_S_201, &&sw2_S_202, &&sw2_S_203, &&sw2_S_204, &&sw2_S_205, &&sw2_S_206, &&sw2_S_207, &&sw2_S_208, &&sw2_S_209, &&sw2_S_210, &&sw2_S_211, &&sw2_S_212, &&sw2_S_213, &&sw2_S_214, &&sw2_S_215, &&sw2_S_216, &&sw2_S_217, &&sw2_S_218, &&sw2_S_219, &&sw2_S_220, &&sw2_S_221, &&sw2_S_222, &&sw2_S_223, &&sw2_S_224, &&sw2_S_225, &&sw2_S_226, &&sw2_S_227, &&sw2_S_228, &&sw2_S_229, &&sw2_S_230, &&sw2_S_231, &&sw2_S_232, &&sw2_S_233, &&sw2_S_234, &&sw2_S_235, &&sw2_S_236, &&sw2_S_237, &&sw2_S_238, &&sw2_S_239, &&sw2_S_240, &&sw2_S_241, &&sw2_S_242, &&sw2_S_243, &&sw2_S_244, &&sw2_S_245, &&sw2_S_246, &&sw2_S_247, &&sw2_S_248, &&sw2_S_249, &&sw2_S_250, &&sw2_S_251, &&sw2_S_252, &&sw2_S_253, &&sw2_S_254, &&sw2_S_255,  };
                                                                //    977  %constinteger tab=9
                                                                //    978  %integer i,j,p,radix,digits
#line 978 "regression-compile-tmp/chimp.imp"
int I;
#line 978 "regression-compile-tmp/chimp.imp"
int J;
#line 978 "regression-compile-tmp/chimp.imp"
int P;
#line 978 "regression-compile-tmp/chimp.imp"
int RADIX;
#line 978 "regression-compile-tmp/chimp.imp"
int DIGITS;
                                                                //    979  %real rval
#line 979 "regression-compile-tmp/chimp.imp"
float RVAL;
                                                                //    980  %constbyteintegerarray map(0:127) =
#line 980 "regression-compile-tmp/chimp.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,  };
                                                                //    981    0 ('0'),
                                                                //    982    '0','1','2','3','4','5','6','7','8','9',
                                                                //    983    0, 0, 0, 0, 0, 0, 0,
                                                                //    984    'a','b','c','d','e','f','g','h','i','j','k','l','m',
                                                                //    985    'n','o','p','q','r','s','t','u','v','w','x','y','z',
                                                                //    986    0, 0, 0, 0, 0, 0,
                                                                //    987    'a','b','c','d','e','f','g','h','i','j','k','l','m',
                                                                //    988    'n','o','p','q','r','s','t','u','v','w','x','y','z',
                                                                //    989    0, 0, 0, 0, 0
                                                                //    990  
                                                                //    991  %routine assemble real
#line 991 "regression-compile-tmp/chimp.imp"
void ASSEMBLEREAL( void )
#line 991 "regression-compile-tmp/chimp.imp"
{
                                                                //    992    j = 0
#line 992 "regression-compile-tmp/chimp.imp"
J = 0;
                                                                //    993    %cycle
#line 993 "regression-compile-tmp/chimp.imp"
L_005b:;
                                                                //    994      %cycle
#line 994 "regression-compile-tmp/chimp.imp"
L_005e:;
                                                                //    995        sym = byteinteger(fp);  fp = fp+1
#line 995 "regression-compile-tmp/chimp.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 995 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
                                                                //    996      %repeat %until sym # ' '
#line 996 "regression-compile-tmp/chimp.imp"
if (((SYM) != (32))) goto L_005f;
#line 996 "regression-compile-tmp/chimp.imp"
goto L_005e;
#line 996 "regression-compile-tmp/chimp.imp"
L_005f:;
                                                                //    997      i = sym-'0'
#line 997 "regression-compile-tmp/chimp.imp"
I = (((int)(SYM)) - (48));
                                                                //    998      %return %unless 0 <= i < radix
#line 998 "regression-compile-tmp/chimp.imp"
if ((((0) > (I))) || (((I) < (RADIX)))) goto L_0061;
#line 998 "regression-compile-tmp/chimp.imp"
L_0060:;
#line 998 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 998 "regression-compile-tmp/chimp.imp"
L_0061:;
/*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 */
                                                                //    999      rval = rval*radix+i;  j = j+1
#line 999 "regression-compile-tmp/chimp.imp"
RVAL = ((((RVAL) * ((float)(RADIX)))) + ((I)));
#line 999 "regression-compile-tmp/chimp.imp"
J = (((int)(J)) + (1));
                                                                //   1000    %repeat
#line 1000 "regression-compile-tmp/chimp.imp"
goto L_005b;
                                                                //   1001  %end
#line 1001 "regression-compile-tmp/chimp.imp"
return;
} // End of block ASSEMBLEREAL at level 3
                                                                //   1002  
                                                                //   1003  !  atoms = atoms+1
                                                                //   1004    matched = 0
#line 1004 "regression-compile-tmp/chimp.imp"
MATCHED = 0;
                                                                //   1005  again: s(tab):
#line 1005 "regression-compile-tmp/chimp.imp"
U_1003:;
#line 1005 "regression-compile-tmp/chimp.imp"
sw2_S_9:;
                                                                //   1006    read line %if sym = nl
#line 1006 "regression-compile-tmp/chimp.imp"
if (((SYM) != (10))) goto L_005c;
#line 1006 "regression-compile-tmp/chimp.imp"
READLINE();
#line 1006 "regression-compile-tmp/chimp.imp"
L_005c:;
                                                                //   1007    %cycle
#line 1007 "regression-compile-tmp/chimp.imp"
L_0062:;
                                                                //   1008      sym = byteinteger(fp);  fp = fp+1
#line 1008 "regression-compile-tmp/chimp.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 1008 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
                                                                //   1009    %repeat %until sym # ' '
#line 1009 "regression-compile-tmp/chimp.imp"
if (((SYM) != (32))) goto L_0063;
#line 1009 "regression-compile-tmp/chimp.imp"
goto L_0062;
#line 1009 "regression-compile-tmp/chimp.imp"
L_0063:;
                                                                //   1010    atomp = fp;     !(actually one after)
#line 1010 "regression-compile-tmp/chimp.imp"
ATOMP = FP;
                                                                //   1011    -> s(sym)
#line 1011 "regression-compile-tmp/chimp.imp"
sw2_S_idx = SYM; if ((0 <= sw2_S_idx) && (sw2_S_idx <= 255)) goto *sw2_S[sw2_S_idx]; else {
   /*_imp_signal(8, 2, sw2_S_idx);*/
   fprintf(stderr, "%%SWITCH index S(%d) not in range 0:255 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);
}
                                                                //   1012  linebreak: s(nl):
#line 1012 "regression-compile-tmp/chimp.imp"
U_1004:;
#line 1012 "regression-compile-tmp/chimp.imp"
sw2_S_10:;
                                                                //   1013    %result = terminator %if atom # comma
#line 1013 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (59))) goto L_0065;
#line 1013 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 52;
#line 1013 "regression-compile-tmp/chimp.imp"
L_0065:;
                                                                //   1014    -> again
#line 1014 "regression-compile-tmp/chimp.imp"
goto U_1003;
                                                                //   1015  
                                                                //   1016  s('{'):
#line 1016 "regression-compile-tmp/chimp.imp"
sw2_S_123:;
                                                                //   1017    %cycle
#line 1017 "regression-compile-tmp/chimp.imp"
L_0066:;
                                                                //   1018      sym = byteinteger(fp);  fp = fp+1
#line 1018 "regression-compile-tmp/chimp.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 1018 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
                                                                //   1019      -> linebreak %if sym = nl
#line 1019 "regression-compile-tmp/chimp.imp"
if (((SYM) != (10))) goto L_0069;
#line 1019 "regression-compile-tmp/chimp.imp"
goto U_1004;
#line 1019 "regression-compile-tmp/chimp.imp"
L_0069:;
                                                                //   1020    %repeat %until sym = '}'
#line 1020 "regression-compile-tmp/chimp.imp"
if (((SYM) == (125))) goto L_0067;
#line 1020 "regression-compile-tmp/chimp.imp"
goto L_0066;
#line 1020 "regression-compile-tmp/chimp.imp"
L_0067:;
                                                                //   1021    -> again
#line 1021 "regression-compile-tmp/chimp.imp"
goto U_1003;
                                                                //   1022  
                                                                //   1023  s('+'): %result = plus
#line 1023 "regression-compile-tmp/chimp.imp"
sw2_S_43:;
#line 1023 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 80;
                                                                //   1024  s('-'): fp = fp+1 %and %result = arrow %if byteinteger(fp) = '>'
#line 1024 "regression-compile-tmp/chimp.imp"
sw2_S_45:;
#line 1024 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (62))) goto L_006a;
#line 1024 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
#line 1024 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 79;
#line 1024 "regression-compile-tmp/chimp.imp"
L_006a:;
                                                                //   1025          -> again %if byteinteger(fp) = nl
#line 1025 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (10))) goto L_006b;
#line 1025 "regression-compile-tmp/chimp.imp"
goto U_1003;
#line 1025 "regression-compile-tmp/chimp.imp"
L_006b:;
                                                                //   1026          %result = minus
#line 1026 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 81;
                                                                //   1027  s('*'): %result = star
#line 1027 "regression-compile-tmp/chimp.imp"
sw2_S_42:;
#line 1027 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 88;
                                                                //   1028  s('/'): fp = fp+1 %and %result = slash2 %if byteinteger(fp) = '/'
#line 1028 "regression-compile-tmp/chimp.imp"
sw2_S_47:;
#line 1028 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (47))) goto L_006c;
#line 1028 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
#line 1028 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 90;
#line 1028 "regression-compile-tmp/chimp.imp"
L_006c:;
                                                                //   1029          %result = slash
#line 1029 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 89;
                                                                //   1030  s('\'): fp = fp+1 %and %result = backslash2 %if byteinteger(fp) = '\'
#line 1030 "regression-compile-tmp/chimp.imp"
sw2_S_92:;
#line 1030 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (92))) goto L_006d;
#line 1030 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
#line 1030 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 97;
#line 1030 "regression-compile-tmp/chimp.imp"
L_006d:;
                                                                //   1031          %result = backslash
#line 1031 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 96;
                                                                //   1032  s('^'): nonstandard(uparr)
#line 1032 "regression-compile-tmp/chimp.imp"
sw2_S_94:;
#line 1032 "regression-compile-tmp/chimp.imp"
NONSTANDARD(2);
                                                                //   1033          fp = fp+1 %and %result = uparrow2 %if byteinteger(fp) = '^'
#line 1033 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (94))) goto L_006e;
#line 1033 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
#line 1033 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 97;
#line 1033 "regression-compile-tmp/chimp.imp"
L_006e:;
                                                                //   1034          %result = uparrow
#line 1034 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 96;
                                                                //   1035  s('!'): fp = fp+1 %and %result = exclam2 %if byteinteger(fp) = '!'
#line 1035 "regression-compile-tmp/chimp.imp"
sw2_S_33:;
#line 1035 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (33))) goto L_006f;
#line 1035 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
#line 1035 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 83;
#line 1035 "regression-compile-tmp/chimp.imp"
L_006f:;
                                                                //   1036          %result = exclam
#line 1036 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 82;
                                                                //   1037  s('&'): %result = ampersand
#line 1037 "regression-compile-tmp/chimp.imp"
sw2_S_38:;
#line 1037 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 91;
                                                                //   1038  s('.'): %result = dot
#line 1038 "regression-compile-tmp/chimp.imp"
sw2_S_46:;
#line 1038 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 84;
                                                                //   1039  s('='): fp = fp+1 %and %result = eqeq %if byteinteger(fp) = '='
#line 1039 "regression-compile-tmp/chimp.imp"
sw2_S_61:;
#line 1039 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (61))) goto L_0070;
#line 1039 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
#line 1039 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 76;
#line 1039 "regression-compile-tmp/chimp.imp"
L_0070:;
                                                                //   1040          %result = equals
#line 1040 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 70;
                                                                //   1041  s('#'): fp = fp+1 %and %result = noteqeq %if byteinteger(fp) = '#'
#line 1041 "regression-compile-tmp/chimp.imp"
sw2_S_35:;
#line 1041 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (35))) goto L_0071;
#line 1041 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
#line 1041 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 77;
#line 1041 "regression-compile-tmp/chimp.imp"
L_0071:;
                                                                //   1042          %result = noteq
#line 1042 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 71;
                                                                //   1043  s('<'): fp = fp+1 %and %result = lesseq %if byteinteger(fp) = '='
#line 1043 "regression-compile-tmp/chimp.imp"
sw2_S_60:;
#line 1043 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (61))) goto L_0072;
#line 1043 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
#line 1043 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 72;
#line 1043 "regression-compile-tmp/chimp.imp"
L_0072:;
                                                                //   1044          fp = fp+1 %and %result = noteq %if byteinteger(fp) = '>'
#line 1044 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (62))) goto L_0073;
#line 1044 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
#line 1044 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 71;
#line 1044 "regression-compile-tmp/chimp.imp"
L_0073:;
                                                                //   1045          fp = fp+1 %and %result = lshift %if byteinteger(fp) = '<'
#line 1045 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (60))) goto L_0074;
#line 1045 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
#line 1045 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 100;
#line 1045 "regression-compile-tmp/chimp.imp"
L_0074:;
                                                                //   1046          %result = less
#line 1046 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 73;
                                                                //   1047  s('>'): fp = fp+1 %and %result = greateq %if byteinteger(fp) = '='
#line 1047 "regression-compile-tmp/chimp.imp"
sw2_S_62:;
#line 1047 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (61))) goto L_0075;
#line 1047 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
#line 1047 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 74;
#line 1047 "regression-compile-tmp/chimp.imp"
L_0075:;
                                                                //   1048          fp = fp+1 %and %result = rshift %if byteinteger(fp) = '>'
#line 1048 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (62))) goto L_0076;
#line 1048 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
#line 1048 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 101;
#line 1048 "regression-compile-tmp/chimp.imp"
L_0076:;
                                                                //   1049          %result = greater
#line 1049 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 75;
                                                                //   1050  s('_'): %result = underline
#line 1050 "regression-compile-tmp/chimp.imp"
sw2_S_95:;
#line 1050 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 56;
                                                                //   1051  s(':'): %result = colon
#line 1051 "regression-compile-tmp/chimp.imp"
sw2_S_58:;
#line 1051 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 58;
                                                                //   1052  s(','): %result = comma
#line 1052 "regression-compile-tmp/chimp.imp"
sw2_S_44:;
#line 1052 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 59;
                                                                //   1053  s(';'): %result = terminator
#line 1053 "regression-compile-tmp/chimp.imp"
sw2_S_59:;
#line 1053 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 52;
                                                                //   1054  s('('): %result = left
#line 1054 "regression-compile-tmp/chimp.imp"
sw2_S_40:;
#line 1054 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 55;
                                                                //   1055  s(')'): %result = right
#line 1055 "regression-compile-tmp/chimp.imp"
sw2_S_41:;
#line 1055 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 60;
                                                                //   1056  s('|'): %result = modsign
#line 1056 "regression-compile-tmp/chimp.imp"
sw2_S_124:;
#line 1056 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 57;
                                                                //   1057  
                                                                //   1058  s('E'): s('e'):
#line 1058 "regression-compile-tmp/chimp.imp"
sw2_S_69:;
#line 1058 "regression-compile-tmp/chimp.imp"
sw2_S_101:;
                                                                //   1059    fp = fp+1 %and -> stringconst %if byteinteger(fp) = '"'
#line 1059 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (34))) goto L_0077;
#line 1059 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
#line 1059 "regression-compile-tmp/chimp.imp"
goto U_1005;
#line 1059 "regression-compile-tmp/chimp.imp"
L_0077:;
                                                                //   1060  s('M'): s('m'): s('C'): s('c'):
#line 1060 "regression-compile-tmp/chimp.imp"
sw2_S_77:;
#line 1060 "regression-compile-tmp/chimp.imp"
sw2_S_109:;
#line 1060 "regression-compile-tmp/chimp.imp"
sw2_S_67:;
#line 1060 "regression-compile-tmp/chimp.imp"
sw2_S_99:;
                                                                //   1061    fp = fp+1 %and -> charconst %if byteinteger(fp) = ''''
#line 1061 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (39))) goto L_0078;
#line 1061 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
#line 1061 "regression-compile-tmp/chimp.imp"
goto U_1006;
#line 1061 "regression-compile-tmp/chimp.imp"
L_0078:;
                                                                //   1062  s('A'):s('B'):s('D'):s('F'):s('G'):s('H'):
#line 1062 "regression-compile-tmp/chimp.imp"
sw2_S_65:;
#line 1062 "regression-compile-tmp/chimp.imp"
sw2_S_66:;
#line 1062 "regression-compile-tmp/chimp.imp"
sw2_S_68:;
#line 1062 "regression-compile-tmp/chimp.imp"
sw2_S_70:;
#line 1062 "regression-compile-tmp/chimp.imp"
sw2_S_71:;
#line 1062 "regression-compile-tmp/chimp.imp"
sw2_S_72:;
                                                                //   1063  s('I'):s('J'):s('K'):s('L'):s('N'):s('O'):s('P'):
#line 1063 "regression-compile-tmp/chimp.imp"
sw2_S_73:;
#line 1063 "regression-compile-tmp/chimp.imp"
sw2_S_74:;
#line 1063 "regression-compile-tmp/chimp.imp"
sw2_S_75:;
#line 1063 "regression-compile-tmp/chimp.imp"
sw2_S_76:;
#line 1063 "regression-compile-tmp/chimp.imp"
sw2_S_78:;
#line 1063 "regression-compile-tmp/chimp.imp"
sw2_S_79:;
#line 1063 "regression-compile-tmp/chimp.imp"
sw2_S_80:;
                                                                //   1064  s('Q'):s('R'):s('S'):s('T'):s('U'):s('V'):s('W'):s('X'):
#line 1064 "regression-compile-tmp/chimp.imp"
sw2_S_81:;
#line 1064 "regression-compile-tmp/chimp.imp"
sw2_S_82:;
#line 1064 "regression-compile-tmp/chimp.imp"
sw2_S_83:;
#line 1064 "regression-compile-tmp/chimp.imp"
sw2_S_84:;
#line 1064 "regression-compile-tmp/chimp.imp"
sw2_S_85:;
#line 1064 "regression-compile-tmp/chimp.imp"
sw2_S_86:;
#line 1064 "regression-compile-tmp/chimp.imp"
sw2_S_87:;
#line 1064 "regression-compile-tmp/chimp.imp"
sw2_S_88:;
                                                                //   1065  s('Y'):s('Z'):s('a'):s('b'):s('d'):s('f'):
#line 1065 "regression-compile-tmp/chimp.imp"
sw2_S_89:;
#line 1065 "regression-compile-tmp/chimp.imp"
sw2_S_90:;
#line 1065 "regression-compile-tmp/chimp.imp"
sw2_S_97:;
#line 1065 "regression-compile-tmp/chimp.imp"
sw2_S_98:;
#line 1065 "regression-compile-tmp/chimp.imp"
sw2_S_100:;
#line 1065 "regression-compile-tmp/chimp.imp"
sw2_S_102:;
                                                                //   1066  s('g'):s('h'):s('i'):s('j'):s('k'):s('l'):s('n'):
#line 1066 "regression-compile-tmp/chimp.imp"
sw2_S_103:;
#line 1066 "regression-compile-tmp/chimp.imp"
sw2_S_104:;
#line 1066 "regression-compile-tmp/chimp.imp"
sw2_S_105:;
#line 1066 "regression-compile-tmp/chimp.imp"
sw2_S_106:;
#line 1066 "regression-compile-tmp/chimp.imp"
sw2_S_107:;
#line 1066 "regression-compile-tmp/chimp.imp"
sw2_S_108:;
#line 1066 "regression-compile-tmp/chimp.imp"
sw2_S_110:;
                                                                //   1067  s('o'):s('p'):s('q'):s('r'):s('s'):s('t'):s('u'):s('v'):
#line 1067 "regression-compile-tmp/chimp.imp"
sw2_S_111:;
#line 1067 "regression-compile-tmp/chimp.imp"
sw2_S_112:;
#line 1067 "regression-compile-tmp/chimp.imp"
sw2_S_113:;
#line 1067 "regression-compile-tmp/chimp.imp"
sw2_S_114:;
#line 1067 "regression-compile-tmp/chimp.imp"
sw2_S_115:;
#line 1067 "regression-compile-tmp/chimp.imp"
sw2_S_116:;
#line 1067 "regression-compile-tmp/chimp.imp"
sw2_S_117:;
#line 1067 "regression-compile-tmp/chimp.imp"
sw2_S_118:;
                                                                //   1068  s('w'):s('x'):s('y'):s('z'):
#line 1068 "regression-compile-tmp/chimp.imp"
sw2_S_119:;
#line 1068 "regression-compile-tmp/chimp.imp"
sw2_S_120:;
#line 1068 "regression-compile-tmp/chimp.imp"
sw2_S_121:;
#line 1068 "regression-compile-tmp/chimp.imp"
sw2_S_122:;
                                                                //   1069    -> keyword %if percent # 0
#line 1069 "regression-compile-tmp/chimp.imp"
if (((PERCENT) == (0))) goto L_0079;
#line 1069 "regression-compile-tmp/chimp.imp"
goto U_1007;
#line 1069 "regression-compile-tmp/chimp.imp"
L_0079:;
                                                                //   1070  !  identatoms = identatoms+1
                                                                //   1071    newlen = charlim+1;  hash = sym!casebit;  !lower-case (if letter)
#line 1071 "regression-compile-tmp/chimp.imp"
NEWLEN = (((int)(CHARLIM)) + (1));
#line 1071 "regression-compile-tmp/chimp.imp"
HASH = ((SYM) | (32));
                                                                //   1072    byteinteger(newlen) = hash
#line 1072 "regression-compile-tmp/chimp.imp"
*_imp_BYTEINTEGER(NEWLEN) = HASH;
                                                                //   1073    %cycle
#line 1073 "regression-compile-tmp/chimp.imp"
L_007a:;
                                                                //   1074      sym = byteinteger(fp);  fp = fp+1
#line 1074 "regression-compile-tmp/chimp.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 1074 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
                                                                //   1075    %repeat %until sym # ' '
#line 1075 "regression-compile-tmp/chimp.imp"
if (((SYM) != (32))) goto L_007b;
#line 1075 "regression-compile-tmp/chimp.imp"
goto L_007a;
#line 1075 "regression-compile-tmp/chimp.imp"
L_007b:;
                                                                //   1076  !$IF AMDAHL
                                                                //   1077  {  %if sym = '''' %start
                                                                //   1078  {    radix = 16 %and -> ibm %if hash = 'x'
                                                                //   1079  {    radix = 8 %and -> ibm %if hash = 'k'
                                                                //   1080  {    radix = 2 %and -> ibm %if hash = 'b'
                                                                //   1081  {  %finish
                                                                //   1082  !$FINISH
                                                                //   1083    sym = map(sym)
#line 1083 "regression-compile-tmp/chimp.imp"
SYM = MAP[SYM];
                                                                //   1084    %if sym # 0 %start
#line 1084 "regression-compile-tmp/chimp.imp"
if (((SYM) == (0))) goto L_007d;
                                                                //   1085      %cycle
#line 1085 "regression-compile-tmp/chimp.imp"
L_007e:;
                                                                //   1086        newlen = newlen+1;  byteinteger(newlen) = sym
#line 1086 "regression-compile-tmp/chimp.imp"
NEWLEN = (((int)(NEWLEN)) + (1));
#line 1086 "regression-compile-tmp/chimp.imp"
*_imp_BYTEINTEGER(NEWLEN) = SYM;
                                                                //   1087        hash = hash<<1!!sym
#line 1087 "regression-compile-tmp/chimp.imp"
HASH = ((((HASH) << (1))) ^ (SYM));
                                                                //   1088        %cycle
#line 1088 "regression-compile-tmp/chimp.imp"
L_0081:;
                                                                //   1089          sym = byteinteger(fp);  fp = fp+1
#line 1089 "regression-compile-tmp/chimp.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 1089 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
                                                                //   1090        %repeat %until sym # ' '
#line 1090 "regression-compile-tmp/chimp.imp"
if (((SYM) != (32))) goto L_0082;
#line 1090 "regression-compile-tmp/chimp.imp"
goto L_0081;
#line 1090 "regression-compile-tmp/chimp.imp"
L_0082:;
                                                                //   1091        sym = map(sym)
#line 1091 "regression-compile-tmp/chimp.imp"
SYM = MAP[SYM];
                                                                //   1092      %repeat %until sym = 0
#line 1092 "regression-compile-tmp/chimp.imp"
if (((SYM) == (0))) goto L_007f;
#line 1092 "regression-compile-tmp/chimp.imp"
goto L_007e;
#line 1092 "regression-compile-tmp/chimp.imp"
L_007f:;
                                                                //   1093    %finish
#line 1093 "regression-compile-tmp/chimp.imp"
L_007d:;
                                                                //   1094    fp = fp-1
#line 1094 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) - (1));
                                                                //   1095    newlen = newlen-charlim;  byteinteger(charlim) = newlen
#line 1095 "regression-compile-tmp/chimp.imp"
NEWLEN = (((int)(NEWLEN)) - (CHARLIM));
#line 1095 "regression-compile-tmp/chimp.imp"
*_imp_BYTEINTEGER(CHARLIM) = NEWLEN;
                                                                //   1096    head == hashindex(hash&255)
#line 1096 "regression-compile-tmp/chimp.imp"
HEAD = &HASHINDEX[((HASH) & (255))];
                                                                //   1097    item = head
#line 1097 "regression-compile-tmp/chimp.imp"
ITEM = *HEAD;
                                                                //   1098    %if item > 0 %start
#line 1098 "regression-compile-tmp/chimp.imp"
if (((ITEM) <= (0))) goto L_0084;
                                                                //   1099      %cycle
#line 1099 "regression-compile-tmp/chimp.imp"
L_0085:;
                                                                //   1100        %result = ident %if item <= 0
#line 1100 "regression-compile-tmp/chimp.imp"
if (((ITEM) > (0))) goto L_0088;
#line 1100 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 54;
#line 1100 "regression-compile-tmp/chimp.imp"
L_0088:;
                                                                //   1101        ditem == dict(item)
#line 1101 "regression-compile-tmp/chimp.imp"
DITEM = &DICT[(((int)(ITEM)) - (2001))];
                                                                //   1102        %exit %if string(ditem_text+charbase) = string(charlim)
#line 1102 "regression-compile-tmp/chimp.imp"
if ((_imp_strcmp(*_imp_STRING((((int)(DITEM->TEXT)) + (CHARBASE))), *_imp_STRING(CHARLIM)) != 0)) goto L_0089;
#line 1102 "regression-compile-tmp/chimp.imp"
goto L_0086;
#line 1102 "regression-compile-tmp/chimp.imp"
L_0089:;
                                                                //   1103  !      misses = misses+1
                                                                //   1104        item = ditem_link
#line 1104 "regression-compile-tmp/chimp.imp"
ITEM = DITEM->LINK;
                                                                //   1105      %repeat %until item <= 0
#line 1105 "regression-compile-tmp/chimp.imp"
if (((ITEM) <= (0))) goto L_0086;
#line 1105 "regression-compile-tmp/chimp.imp"
goto L_0085;
#line 1105 "regression-compile-tmp/chimp.imp"
L_0086:;
                                                                //   1106    %finish
#line 1106 "regression-compile-tmp/chimp.imp"
L_0084:;
                                                                //   1107    %result = ident
#line 1107 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 54;
                                                                //   1108  
                                                                //   1109  s('%'):
#line 1109 "regression-compile-tmp/chimp.imp"
sw2_S_37:;
                                                                //   1110    sym = byteinteger(fp)
#line 1110 "regression-compile-tmp/chimp.imp"
SYM = *_imp_BYTEINTEGER(FP);
                                                                //   1111    -> again %unless 'a' <= sym!casebit <= 'z'
#line 1111 "regression-compile-tmp/chimp.imp"
if ((((97) > (((SYM) | (32))))) || (((((SYM) | (32))) <= (122)))) goto L_008a;
#line 1111 "regression-compile-tmp/chimp.imp"
L_007c:;
#line 1111 "regression-compile-tmp/chimp.imp"
goto U_1003;
#line 1111 "regression-compile-tmp/chimp.imp"
L_008a:;
                                                                //   1112    fp = fp+1
#line 1112 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
                                                                //   1113  keyword:
#line 1113 "regression-compile-tmp/chimp.imp"
U_1007:;
                                                                //   1114    percent = 0
#line 1114 "regression-compile-tmp/chimp.imp"
PERCENT = 0;
                                                                //   1115    p = syminit(sym!casebit)
#line 1115 "regression-compile-tmp/chimp.imp"
P = (SYMINIT-97)[((SYM) | (32))];
                                                                //   1116    %cycle
#line 1116 "regression-compile-tmp/chimp.imp"
L_008b:;
                                                                //   1117  !     %cycle
                                                                //   1118  !       sym = byteinteger(fp)!casebit
                                                                //   1119  !       %exit %if symbol(p) # sym
                                                                //   1120      %while symbol(p) = byteinteger(fp)!casebit %cycle
#line 1120 "regression-compile-tmp/chimp.imp"
L_008e:;
#line 1120 "regression-compile-tmp/chimp.imp"
if ((((SYMBOL-1)[P]) != (((*_imp_BYTEINTEGER(FP)) | (32))))) goto L_008f;
                                                                //   1121        p = p+1;  fp = fp+1
#line 1121 "regression-compile-tmp/chimp.imp"
P = (((int)(P)) + (1));
#line 1121 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
                                                                //   1122      %repeat
#line 1122 "regression-compile-tmp/chimp.imp"
goto L_008e;
#line 1122 "regression-compile-tmp/chimp.imp"
L_008f:;
                                                                //   1123      %exit %if symbol(p) >= 128
#line 1123 "regression-compile-tmp/chimp.imp"
if ((((SYMBOL-1)[P]) < (128))) goto L_0091;
#line 1123 "regression-compile-tmp/chimp.imp"
goto L_008c;
#line 1123 "regression-compile-tmp/chimp.imp"
L_0091:;
                                                                //   1124      atom = altdisp(p)
#line 1124 "regression-compile-tmp/chimp.imp"
ATOM = (ALTDISP-1)[P];
                                                                //   1125      %if atom = 0 %start
#line 1125 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (0))) goto L_0092;
                                                                //   1126        %result = dud %unless sym!casebit = 'c' %and byteinteger(fp) = nl
#line 1126 "regression-compile-tmp/chimp.imp"
if (((((SYM) | (32))) != (99))) goto L_0083;
#line 1126 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) == (10))) goto L_0093;
#line 1126 "regression-compile-tmp/chimp.imp"
L_0083:;
#line 1126 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 1126 "regression-compile-tmp/chimp.imp"
L_0093:;
                                                                //   1127        read line
#line 1127 "regression-compile-tmp/chimp.imp"
READLINE();
                                                                //   1128        ->again
#line 1128 "regression-compile-tmp/chimp.imp"
goto U_1003;
                                                                //   1129      %finish
#line 1129 "regression-compile-tmp/chimp.imp"
L_0092:;
                                                                //   1130      p = p+atom
#line 1130 "regression-compile-tmp/chimp.imp"
P = (((int)(P)) + (ATOM));
                                                                //   1131    %repeat
#line 1131 "regression-compile-tmp/chimp.imp"
goto L_008b;
#line 1131 "regression-compile-tmp/chimp.imp"
L_008c:;
                                                                //   1132    percent = 1 %if 'a' <= byteinteger(fp)!casebit <= 'z'
#line 1132 "regression-compile-tmp/chimp.imp"
if ((((97) > (((*_imp_BYTEINTEGER(FP)) | (32))))) || (((((*_imp_BYTEINTEGER(FP)) | (32))) > (122)))) goto L_0094;
#line 1132 "regression-compile-tmp/chimp.imp"
PERCENT = 1;
#line 1132 "regression-compile-tmp/chimp.imp"
L_0094:;
                                                                //   1133    subatom = altdisp(p)
#line 1133 "regression-compile-tmp/chimp.imp"
SUBATOM = (ALTDISP-1)[P];
                                                                //   1134    atom = symbol(p)-128
#line 1134 "regression-compile-tmp/chimp.imp"
ATOM = (((int)((SYMBOL-1)[P])) - (128));
                                                                //   1135    %result = dud %if atom = 0
#line 1135 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (0))) goto L_0095;
#line 1135 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 1135 "regression-compile-tmp/chimp.imp"
L_0095:;
                                                                //   1136    %result = atom
#line 1136 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return ATOM;
                                                                //   1137  
                                                                //   1138  !$IF AMDAHL
                                                                //   1139  {ibm:
                                                                //   1140  {  nonstandard(ibmhex)
                                                                //   1141  {  item = -1;  t_val = 0
                                                                //   1142  {  -> ibm1
                                                                //   1143  !$FINISH
                                                                //   1144  s('0'):s('1'):s('2'):s('3'):s('4'):s('5'):s('6'):s('7'):s('8'):s('9'):
#line 1144 "regression-compile-tmp/chimp.imp"
sw2_S_48:;
#line 1144 "regression-compile-tmp/chimp.imp"
sw2_S_49:;
#line 1144 "regression-compile-tmp/chimp.imp"
sw2_S_50:;
#line 1144 "regression-compile-tmp/chimp.imp"
sw2_S_51:;
#line 1144 "regression-compile-tmp/chimp.imp"
sw2_S_52:;
#line 1144 "regression-compile-tmp/chimp.imp"
sw2_S_53:;
#line 1144 "regression-compile-tmp/chimp.imp"
sw2_S_54:;
#line 1144 "regression-compile-tmp/chimp.imp"
sw2_S_55:;
#line 1144 "regression-compile-tmp/chimp.imp"
sw2_S_56:;
#line 1144 "regression-compile-tmp/chimp.imp"
sw2_S_57:;
                                                                //   1145    item = 0;  t_type = inty
#line 1145 "regression-compile-tmp/chimp.imp"
ITEM = 0;
#line 1145 "regression-compile-tmp/chimp.imp"
T.TYPE = 2046;
                                                                //   1146    radix = 10;  t_val = sym-'0'
#line 1146 "regression-compile-tmp/chimp.imp"
RADIX = 10;
#line 1146 "regression-compile-tmp/chimp.imp"
T.VAL = (((int)(SYM)) - (48));
                                                                //   1147  ibm1:
#line 1147 "regression-compile-tmp/chimp.imp"
U_1008:;
                                                                //   1148    %cycle
#line 1148 "regression-compile-tmp/chimp.imp"
L_0096:;
                                                                //   1149      %cycle
#line 1149 "regression-compile-tmp/chimp.imp"
L_0099:;
                                                                //   1150        %cycle
#line 1150 "regression-compile-tmp/chimp.imp"
L_009c:;
                                                                //   1151          sym = byteinteger(fp);  fp = fp+1
#line 1151 "regression-compile-tmp/chimp.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 1151 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
                                                                //   1152        %repeat %until sym # ' '
#line 1152 "regression-compile-tmp/chimp.imp"
if (((SYM) != (32))) goto L_009d;
#line 1152 "regression-compile-tmp/chimp.imp"
goto L_009c;
#line 1152 "regression-compile-tmp/chimp.imp"
L_009d:;
                                                                //   1153        i = sym-'0'
#line 1153 "regression-compile-tmp/chimp.imp"
I = (((int)(SYM)) - (48));
                                                                //   1154        %if radix = 10 %start
#line 1154 "regression-compile-tmp/chimp.imp"
if (((RADIX) != (10))) goto L_009f;
                                                                //   1155          %exit %if i < 0 %or i >= 10
#line 1155 "regression-compile-tmp/chimp.imp"
if (((I) < (0))) goto L_00a0;
#line 1155 "regression-compile-tmp/chimp.imp"
if (((I) < (10))) goto L_00a1;
#line 1155 "regression-compile-tmp/chimp.imp"
L_00a0:;
#line 1155 "regression-compile-tmp/chimp.imp"
goto L_009a;
#line 1155 "regression-compile-tmp/chimp.imp"
L_00a1:;
                                                                //   1156          %if t_val > max10 %or (t_val=max10 %and i > maxdig) %start
#line 1156 "regression-compile-tmp/chimp.imp"
if (((T.VAL) > (214748364))) goto L_00a2;
#line 1156 "regression-compile-tmp/chimp.imp"
if (((T.VAL) != (214748364))) goto L_00a3;
#line 1156 "regression-compile-tmp/chimp.imp"
if (((I) <= (7))) goto L_00a3;
#line 1156 "regression-compile-tmp/chimp.imp"
L_00a2:;
                                                                //   1157            t_type = realy;  rval = t_val
#line 1157 "regression-compile-tmp/chimp.imp"
T.TYPE = 2045;
#line 1157 "regression-compile-tmp/chimp.imp"
RVAL = T.VAL;
                                                                //   1158            assemble real
#line 1158 "regression-compile-tmp/chimp.imp"
ASSEMBLEREAL();
                                                                //   1159            %exit
#line 1159 "regression-compile-tmp/chimp.imp"
goto L_009a;
                                                                //   1160          %finish
#line 1160 "regression-compile-tmp/chimp.imp"
L_00a3:;
                                                                //   1161          t_val = t_val*10+i
#line 1161 "regression-compile-tmp/chimp.imp"
T.VAL = (((int)((((int)(T.VAL)) * (10)))) + (I));
                                                                //   1162        %finish %else %start
#line 1162 "regression-compile-tmp/chimp.imp"
goto L_00a4;
#line 1162 "regression-compile-tmp/chimp.imp"
L_009f:;
                                                                //   1163          i = sym!casebit-'a'+10 %if i >= 10
#line 1163 "regression-compile-tmp/chimp.imp"
if (((I) < (10))) goto L_00a5;
#line 1163 "regression-compile-tmp/chimp.imp"
I = (((int)((((int)(((SYM) | (32)))) - (97)))) + (10));
#line 1163 "regression-compile-tmp/chimp.imp"
L_00a5:;
                                                                //   1164          %exit %if i < 0 %or i >= radix
#line 1164 "regression-compile-tmp/chimp.imp"
if (((I) < (0))) goto L_00a6;
#line 1164 "regression-compile-tmp/chimp.imp"
if (((I) < (RADIX))) goto L_00a7;
#line 1164 "regression-compile-tmp/chimp.imp"
L_00a6:;
#line 1164 "regression-compile-tmp/chimp.imp"
goto L_009a;
#line 1164 "regression-compile-tmp/chimp.imp"
L_00a7:;
                                                                //   1165          j = radix
#line 1165 "regression-compile-tmp/chimp.imp"
J = RADIX;
                                                                //   1166          %cycle
#line 1166 "regression-compile-tmp/chimp.imp"
L_00a8:;
                                                                //   1167            i = i+t_val %if j&1 # 0
#line 1167 "regression-compile-tmp/chimp.imp"
if (((((J) & (1))) == (0))) goto L_00ab;
#line 1167 "regression-compile-tmp/chimp.imp"
I = (((int)(I)) + (T.VAL));
#line 1167 "regression-compile-tmp/chimp.imp"
L_00ab:;
                                                                //   1168            t_val = t_val<<1;  j = j>>1
#line 1168 "regression-compile-tmp/chimp.imp"
T.VAL = ((T.VAL) << (1));
#line 1168 "regression-compile-tmp/chimp.imp"
J = (int)((((unsigned int)(J)) >> (1)));
                                                                //   1169          %repeat %until j = 0
#line 1169 "regression-compile-tmp/chimp.imp"
if (((J) == (0))) goto L_00a9;
#line 1169 "regression-compile-tmp/chimp.imp"
goto L_00a8;
#line 1169 "regression-compile-tmp/chimp.imp"
L_00a9:;
                                                                //   1170          t_val = i
#line 1170 "regression-compile-tmp/chimp.imp"
T.VAL = I;
                                                                //   1171        %finish
#line 1171 "regression-compile-tmp/chimp.imp"
L_00a4:;
                                                                //   1172      %repeat
#line 1172 "regression-compile-tmp/chimp.imp"
goto L_0099;
#line 1172 "regression-compile-tmp/chimp.imp"
L_009a:;
                                                                //   1173      %exit %unless sym = '_'
#line 1173 "regression-compile-tmp/chimp.imp"
if (((SYM) == (95))) goto L_00ac;
#line 1173 "regression-compile-tmp/chimp.imp"
goto L_0097;
#line 1173 "regression-compile-tmp/chimp.imp"
L_00ac:;
                                                                //   1174      radix = t_val
#line 1174 "regression-compile-tmp/chimp.imp"
RADIX = T.VAL;
                                                                //   1175      %result = dud %if radix = 0
#line 1175 "regression-compile-tmp/chimp.imp"
if (((RADIX) != (0))) goto L_00ad;
#line 1175 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 1175 "regression-compile-tmp/chimp.imp"
L_00ad:;
                                                                //   1176      t_val = 0
#line 1176 "regression-compile-tmp/chimp.imp"
T.VAL = 0;
                                                                //   1177    %repeat
#line 1177 "regression-compile-tmp/chimp.imp"
goto L_0096;
#line 1177 "regression-compile-tmp/chimp.imp"
L_0097:;
                                                                //   1178    %if sym = '.' %start
#line 1178 "regression-compile-tmp/chimp.imp"
if (((SYM) != (46))) goto L_00ae;
                                                                //   1179      t_type = realy %and rval = t_val %if t_type = inty
#line 1179 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) != (2046))) goto L_00af;
#line 1179 "regression-compile-tmp/chimp.imp"
T.TYPE = 2045;
#line 1179 "regression-compile-tmp/chimp.imp"
RVAL = T.VAL;
#line 1179 "regression-compile-tmp/chimp.imp"
L_00af:;
                                                                //   1180      assemble real
#line 1180 "regression-compile-tmp/chimp.imp"
ASSEMBLEREAL();
                                                                //   1181      %result = dud %if j = 0
#line 1181 "regression-compile-tmp/chimp.imp"
if (((J) != (0))) goto L_00b0;
#line 1181 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 1181 "regression-compile-tmp/chimp.imp"
L_00b0:;
                                                                //   1182      rval = rval/radix\j
#line 1182 "regression-compile-tmp/chimp.imp"
RVAL = (double)((double)((float)(RVAL)) / (double)((_imp_REXP(RADIX, J))));
                                                                //   1183    %finish
#line 1183 "regression-compile-tmp/chimp.imp"
L_00ae:;
                                                                //   1184  !  %if t_type = realy %start;  !vax->ieee
                                                                //   1185  !    t_val = integer(addr(rval))
                                                                //   1186  !    t_val = t_val<<16+t_val>>16-16_01000000
                                                                //   1187  !  %finish
                                                                //   1188  !  numatoms = numatoms+1
                                                                //   1189  !$IF AMDAHL
                                                                //   1190  {  %if item < 0 %start
                                                                //   1191  {    %result = dud %if sym # ''''
                                                                //   1192  {    item = 0
                                                                //   1193  {  %finish %else %start
                                                                //   1194  {    fp = fp-1;  sym = 0
                                                                //   1195  {  %finish
                                                                //   1196  !$IF VAX OR APM
                                                                //   1197    fp = fp-1;  sym = 0
#line 1197 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) - (1));
#line 1197 "regression-compile-tmp/chimp.imp"
SYM = 0;
                                                                //   1198  !$FINISH
                                                                //   1199    %result = const
#line 1199 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 53;
                                                                //   1200  
                                                                //   1201  s(''''):
#line 1201 "regression-compile-tmp/chimp.imp"
sw2_S_39:;
                                                                //   1202  charconst:
#line 1202 "regression-compile-tmp/chimp.imp"
U_1006:;
                                                                //   1203    item = 0;  t_type = inty
#line 1203 "regression-compile-tmp/chimp.imp"
ITEM = 0;
#line 1203 "regression-compile-tmp/chimp.imp"
T.TYPE = 2046;
                                                                //   1204    t_val = 0
#line 1204 "regression-compile-tmp/chimp.imp"
T.VAL = 0;
                                                                //   1205    %cycle
#line 1205 "regression-compile-tmp/chimp.imp"
L_00b1:;
                                                                //   1206      sym = byteinteger(fp);  fp = fp+1
#line 1206 "regression-compile-tmp/chimp.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 1206 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
                                                                //   1207      %result = dud %if sym = nl;  !?allow
#line 1207 "regression-compile-tmp/chimp.imp"
if (((SYM) != (10))) goto L_00b4;
#line 1207 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 1207 "regression-compile-tmp/chimp.imp"
L_00b4:;
                                                                //   1208      %if sym = '''' %start
#line 1208 "regression-compile-tmp/chimp.imp"
if (((SYM) != (39))) goto L_00b5;
                                                                //   1209        %exit %unless byteinteger(fp) = ''''
#line 1209 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) == (39))) goto L_00b6;
#line 1209 "regression-compile-tmp/chimp.imp"
goto L_00b2;
#line 1209 "regression-compile-tmp/chimp.imp"
L_00b6:;
                                                                //   1210        fp = fp+1
#line 1210 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
                                                                //   1211      %finish
#line 1211 "regression-compile-tmp/chimp.imp"
L_00b5:;
                                                                //   1212      t_val = t_val<<8+sym
#line 1212 "regression-compile-tmp/chimp.imp"
T.VAL = (((int)(((T.VAL) << (8)))) + (SYM));
                                                                //   1213    %repeat
#line 1213 "regression-compile-tmp/chimp.imp"
goto L_00b1;
#line 1213 "regression-compile-tmp/chimp.imp"
L_00b2:;
                                                                //   1214    %result = const %if t_val # 0
#line 1214 "regression-compile-tmp/chimp.imp"
if (((T.VAL) == (0))) goto L_00b7;
#line 1214 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 53;
#line 1214 "regression-compile-tmp/chimp.imp"
L_00b7:;
                                                                //   1215    %result = dud
#line 1215 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 63;
                                                                //   1216  
                                                                //   1217  s('"'):
#line 1217 "regression-compile-tmp/chimp.imp"
sw2_S_34:;
                                                                //   1218  stringconst:
#line 1218 "regression-compile-tmp/chimp.imp"
U_1005:;
                                                                //   1219    item = 0;  t_type = stringy
#line 1219 "regression-compile-tmp/chimp.imp"
ITEM = 0;
#line 1219 "regression-compile-tmp/chimp.imp"
T.TYPE = 2044;
                                                                //   1220    stringp = atomp;  !for include
#line 1220 "regression-compile-tmp/chimp.imp"
STRINGP = ATOMP;
                                                                //   1221    t_val = 0
#line 1221 "regression-compile-tmp/chimp.imp"
T.VAL = 0;
                                                                //   1222    i = line;  j = linestart
#line 1222 "regression-compile-tmp/chimp.imp"
I = LINE;
#line 1222 "regression-compile-tmp/chimp.imp"
J = LINESTART;
                                                                //   1223    %cycle
#line 1223 "regression-compile-tmp/chimp.imp"
L_00b8:;
                                                                //   1224      sym = byteinteger(fp);  fp = fp+1
#line 1224 "regression-compile-tmp/chimp.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 1224 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
                                                                //   1225      %if sym = '"' %start
#line 1225 "regression-compile-tmp/chimp.imp"
if (((SYM) != (34))) goto L_00bb;
                                                                //   1226        %exit %if byteinteger(fp) # '"'
#line 1226 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) == (34))) goto L_00bc;
#line 1226 "regression-compile-tmp/chimp.imp"
goto L_00b9;
#line 1226 "regression-compile-tmp/chimp.imp"
L_00bc:;
                                                                //   1227        fp = fp+1
#line 1227 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
                                                                //   1228      %finish
#line 1228 "regression-compile-tmp/chimp.imp"
L_00bb:;
                                                                //   1229      t_val = t_val+1
#line 1229 "regression-compile-tmp/chimp.imp"
T.VAL = (((int)(T.VAL)) + (1));
                                                                //   1230      %if t_val > 255 %start
#line 1230 "regression-compile-tmp/chimp.imp"
if (((T.VAL) <= (255))) goto L_00bd;
                                                                //   1231        sym = 0
#line 1231 "regression-compile-tmp/chimp.imp"
SYM = 0;
                                                                //   1232        fp = atomp;  linestart = j
#line 1232 "regression-compile-tmp/chimp.imp"
FP = ATOMP;
#line 1232 "regression-compile-tmp/chimp.imp"
LINESTART = J;
                                                                //   1233        %result = dud
#line 1233 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 63;
                                                                //   1234      %finish
#line 1234 "regression-compile-tmp/chimp.imp"
L_00bd:;
                                                                //   1235      read line %if sym = nl
#line 1235 "regression-compile-tmp/chimp.imp"
if (((SYM) != (10))) goto L_00be;
#line 1235 "regression-compile-tmp/chimp.imp"
READLINE();
#line 1235 "regression-compile-tmp/chimp.imp"
L_00be:;
                                                                //   1236    %repeat
#line 1236 "regression-compile-tmp/chimp.imp"
goto L_00b8;
#line 1236 "regression-compile-tmp/chimp.imp"
L_00b9:;
                                                                //   1237    %result = const
#line 1237 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 53;
                                                                //   1238  
                                                                //   1239  s(*):
#line 1239 "regression-compile-tmp/chimp.imp"
sw2_S_default:;
                                                                //   1240    %result = dud
#line 1240 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 63;
                                                                //   1241  %end;  !NEXT ATOM
#line 1241 "regression-compile-tmp/chimp.imp"
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_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:;
sw2_S_22:;
sw2_S_23:;
sw2_S_24:;
sw2_S_25:;
sw2_S_26:;
sw2_S_27:;
sw2_S_28:;
sw2_S_29:;
sw2_S_30:;
sw2_S_31:;
sw2_S_32:;
sw2_S_36:;
sw2_S_63:;
sw2_S_64:;
sw2_S_91:;
sw2_S_93:;
sw2_S_96:;
sw2_S_125:;
sw2_S_126:;
sw2_S_127:;
sw2_S_128:;
sw2_S_129:;
sw2_S_130:;
sw2_S_131:;
sw2_S_132:;
sw2_S_133:;
sw2_S_134:;
sw2_S_135:;
sw2_S_136:;
sw2_S_137:;
sw2_S_138:;
sw2_S_139:;
sw2_S_140:;
sw2_S_141:;
sw2_S_142:;
sw2_S_143:;
sw2_S_144:;
sw2_S_145:;
sw2_S_146:;
sw2_S_147:;
sw2_S_148:;
sw2_S_149:;
sw2_S_150:;
sw2_S_151:;
sw2_S_152:;
sw2_S_153:;
sw2_S_154:;
sw2_S_155:;
sw2_S_156:;
sw2_S_157:;
sw2_S_158:;
sw2_S_159:;
sw2_S_160:;
sw2_S_161:;
sw2_S_162:;
sw2_S_163:;
sw2_S_164:;
sw2_S_165:;
sw2_S_166:;
sw2_S_167:;
sw2_S_168:;
sw2_S_169:;
sw2_S_170:;
sw2_S_171:;
sw2_S_172:;
sw2_S_173:;
sw2_S_174:;
sw2_S_175:;
sw2_S_176:;
sw2_S_177:;
sw2_S_178:;
sw2_S_179:;
sw2_S_180:;
sw2_S_181:;
sw2_S_182:;
sw2_S_183:;
sw2_S_184:;
sw2_S_185:;
sw2_S_186:;
sw2_S_187:;
sw2_S_188:;
sw2_S_189:;
sw2_S_190:;
sw2_S_191:;
sw2_S_192:;
sw2_S_193:;
sw2_S_194:;
sw2_S_195:;
sw2_S_196:;
sw2_S_197:;
sw2_S_198:;
sw2_S_199:;
sw2_S_200:;
sw2_S_201:;
sw2_S_202:;
sw2_S_203:;
sw2_S_204:;
sw2_S_205:;
sw2_S_206:;
sw2_S_207:;
sw2_S_208:;
sw2_S_209:;
sw2_S_210:;
sw2_S_211:;
sw2_S_212:;
sw2_S_213:;
sw2_S_214:;
sw2_S_215:;
sw2_S_216:;
sw2_S_217:;
sw2_S_218:;
sw2_S_219:;
sw2_S_220:;
sw2_S_221:;
sw2_S_222:;
sw2_S_223:;
sw2_S_224:;
sw2_S_225:;
sw2_S_226:;
sw2_S_227:;
sw2_S_228:;
sw2_S_229:;
sw2_S_230:;
sw2_S_231:;
sw2_S_232:;
sw2_S_233:;
sw2_S_234:;
sw2_S_235:;
sw2_S_236:;
sw2_S_237:;
sw2_S_238:;
sw2_S_239:;
sw2_S_240:;
sw2_S_241:;
sw2_S_242:;
sw2_S_243:;
sw2_S_244:;
sw2_S_245:;
sw2_S_246:;
sw2_S_247:;
sw2_S_248:;
sw2_S_249:;
sw2_S_250:;
sw2_S_251:;
sw2_S_252:;
sw2_S_253:;
sw2_S_254:;
sw2_S_255:;
goto sw2_S_default;
} // End of block NEXTATOM at level 2
                                                                //   1242  
                                                                //   1243  %routine LOOKUP FIELD IDENT(%integer list)
#line 1243 "regression-compile-tmp/chimp.imp"
void LOOKUPFIELDIDENT( int LIST )
#line 1243 "regression-compile-tmp/chimp.imp"
{
                                                                //   1244    item = list;  %return %if item = 0
#line 1244 "regression-compile-tmp/chimp.imp"
ITEM = LIST;
#line 1244 "regression-compile-tmp/chimp.imp"
if (((ITEM) != (0))) goto L_00bf;
#line 1244 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1244 "regression-compile-tmp/chimp.imp"
L_00bf:;
                                                                //   1245    %cycle
#line 1245 "regression-compile-tmp/chimp.imp"
L_00c0:;
                                                                //   1246      ditem == dict(item)
#line 1246 "regression-compile-tmp/chimp.imp"
DITEM = &DICT[(((int)(ITEM)) - (2001))];
                                                                //   1247      %if ditem_flags&typeid = 0 %start
#line 1247 "regression-compile-tmp/chimp.imp"
if (((((DITEM->FLAGS) & (256))) != (0))) goto L_00c3;
                                                                //   1248        %return %if string(ditem_text+charbase) = string(charlim)
#line 1248 "regression-compile-tmp/chimp.imp"
if ((_imp_strcmp(*_imp_STRING((((int)(DITEM->TEXT)) + (CHARBASE))), *_imp_STRING(CHARLIM)) != 0)) goto L_00c4;
#line 1248 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1248 "regression-compile-tmp/chimp.imp"
L_00c4:;
                                                                //   1249        %exit %if ditem_flags&more = 0
#line 1249 "regression-compile-tmp/chimp.imp"
if (((((DITEM->FLAGS) & (128))) != (0))) goto L_00c5;
#line 1249 "regression-compile-tmp/chimp.imp"
goto L_00c1;
#line 1249 "regression-compile-tmp/chimp.imp"
L_00c5:;
                                                                //   1250      %finish
#line 1250 "regression-compile-tmp/chimp.imp"
L_00c3:;
                                                                //   1251      item = item+1;  !misses = misses+1
#line 1251 "regression-compile-tmp/chimp.imp"
ITEM = (((int)(ITEM)) + (1));
                                                                //   1252    %repeat
#line 1252 "regression-compile-tmp/chimp.imp"
goto L_00c0;
#line 1252 "regression-compile-tmp/chimp.imp"
L_00c1:;
                                                                //   1253    item = 0
#line 1253 "regression-compile-tmp/chimp.imp"
ITEM = 0;
                                                                //   1254  %end
#line 1254 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block LOOKUPFIELDIDENT at level 2
                                                                //   1255  
                                                                //   1256  %predicate A (%integer k)
#line 1256 "regression-compile-tmp/chimp.imp"
int /*Boolean*/ A( int K )
#line 1256 "regression-compile-tmp/chimp.imp"
{
                                                                //   1257  !Basic atom-testing predicate
                                                                //   1258    atom = next atom %if matched # 0
#line 1258 "regression-compile-tmp/chimp.imp"
if (((MATCHED) == (0))) goto L_00c6;
#line 1258 "regression-compile-tmp/chimp.imp"
ATOM = NEXTATOM();
#line 1258 "regression-compile-tmp/chimp.imp"
L_00c6:;
                                                                //   1259    %false %if k # atom
#line 1259 "regression-compile-tmp/chimp.imp"
if (((K) == (ATOM))) goto L_00c7;
#line 1259 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1259 "regression-compile-tmp/chimp.imp"
L_00c7:;
                                                                //   1260    matched = 1
#line 1260 "regression-compile-tmp/chimp.imp"
MATCHED = 1;
                                                                //   1261    %true
#line 1261 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   1262  %end
#line 1262 "regression-compile-tmp/chimp.imp"
} // End of block A at level 2
                                                                //   1263  
                                                                //   1264  %routine GET(%integer k)
#line 1264 "regression-compile-tmp/chimp.imp"
void GET( int K )
#line 1264 "regression-compile-tmp/chimp.imp"
{
                                                                //   1265    atom = next atom %if matched # 0
#line 1265 "regression-compile-tmp/chimp.imp"
if (((MATCHED) == (0))) goto L_00c8;
#line 1265 "regression-compile-tmp/chimp.imp"
ATOM = NEXTATOM();
#line 1265 "regression-compile-tmp/chimp.imp"
L_00c8:;
                                                                //   1266    matched = 1
#line 1266 "regression-compile-tmp/chimp.imp"
MATCHED = 1;
                                                                //   1267    %return %if atom = k
#line 1267 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (K))) goto L_00c9;
#line 1267 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1267 "regression-compile-tmp/chimp.imp"
L_00c9:;
                                                                //   1268    syntax error %if atom = dud
#line 1268 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (63))) goto L_00ca;
#line 1268 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 1268 "regression-compile-tmp/chimp.imp"
L_00ca:;
                                                                //   1269    faultp = atomp;  report(formerr+point,-k)
#line 1269 "regression-compile-tmp/chimp.imp"
FAULTP = ATOMP;
#line 1269 "regression-compile-tmp/chimp.imp"
REPORT(64, (-(K)));
                                                                //   1270    %signal 14
#line 1270 "regression-compile-tmp/chimp.imp"
_imp_signal(14, 0, 0, "");
                                                                //   1271  %end
#line 1271 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GET at level 2
                                                                //   1272  
                                                                //   1273  %routine ALLOW(%integer k)
#line 1273 "regression-compile-tmp/chimp.imp"
void ALLOW( int K )
#line 1273 "regression-compile-tmp/chimp.imp"
{
                                                                //   1274    %if a(k) %start
#line 1274 "regression-compile-tmp/chimp.imp"
if (!(A(K))) goto L_00cb;
                                                                //   1275    %finish
#line 1275 "regression-compile-tmp/chimp.imp"
L_00cb:;
                                                                //   1276  %end
#line 1276 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ALLOW at level 2
                                                                //   1277  
                                                                //   1278  %routine DECLARE
#line 1278 "regression-compile-tmp/chimp.imp"
void DECLARE( void )
#line 1278 "regression-compile-tmp/chimp.imp"
{
                                                                //   1279    %if speccing = 0 %start;  !not within spec params
#line 1279 "regression-compile-tmp/chimp.imp"
if (((SPECCING) != (0))) goto L_00cc;
                                                                //   1280      %if item >= c_localdpos %start;  !there already
#line 1280 "regression-compile-tmp/chimp.imp"
if (((ITEM) < (C.LOCALDPOS))) goto L_00cd;
                                                                //   1281        %if d_flags&spec = 0 %and d_flags+spec = ditem_flags %c
#line 1281 "regression-compile-tmp/chimp.imp"
if (((((D.FLAGS) & (16))) != (0))) goto L_00ce;
#line 1281 "regression-compile-tmp/chimp.imp"
if ((((((int)(D.FLAGS)) + (16))) != (DITEM->FLAGS))) goto L_00ce;
#line 1281 "regression-compile-tmp/chimp.imp"
if (((DITEM->TYPE) != (D.TYPE))) goto L_00ce;
                                                                //   1282        %and ditem_type = d_type %start
                                                                //   1283          ditem_flags = ditem_flags-spec
#line 1283 "regression-compile-tmp/chimp.imp"
DITEM->FLAGS = (((int)(DITEM->FLAGS)) - (16));
                                                                //   1284          %return
#line 1284 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1285        %finish
#line 1285 "regression-compile-tmp/chimp.imp"
L_00ce:;
                                                                //   1286        fault(duperr+point)
#line 1286 "regression-compile-tmp/chimp.imp"
FAULT(71);
                                                                //   1287      %finish
#line 1287 "regression-compile-tmp/chimp.imp"
L_00cd:;
                                                                //   1288      d_link = head;  head = dlim;  !insert in list
#line 1288 "regression-compile-tmp/chimp.imp"
D.LINK = *HEAD;
#line 1288 "regression-compile-tmp/chimp.imp"
*HEAD = DLIM;
                                                                //   1289  !    d_spare = hash&255
                                                                //   1290      %if item > 0 %then d_text = ditem_text %c
#line 1290 "regression-compile-tmp/chimp.imp"
if (((ITEM) <= (0))) goto L_00cf;
#line 1290 "regression-compile-tmp/chimp.imp"
D.TEXT = DITEM->TEXT;
#line 1290 "regression-compile-tmp/chimp.imp"
goto L_00d0;
#line 1290 "regression-compile-tmp/chimp.imp"
L_00cf:;
                                                                //   1291      %else %start
                                                                //   1292        d_text = charlim-charbase;  charlim = charlim+newlen+1
#line 1292 "regression-compile-tmp/chimp.imp"
D.TEXT = (((int)(CHARLIM)) - (CHARBASE));
#line 1292 "regression-compile-tmp/chimp.imp"
CHARLIM = (((int)((((int)(CHARLIM)) + (NEWLEN)))) + (1));
                                                                //   1293        croak("Identifier space exhausted") %if charlim+80 >= charmin
#line 1293 "regression-compile-tmp/chimp.imp"
if ((((((int)(CHARLIM)) + (80))) < (CHARMIN))) goto L_00d1;
#line 1293 "regression-compile-tmp/chimp.imp"
CROAK(_imp_str_literal("Identifier space exhausted"));
#line 1293 "regression-compile-tmp/chimp.imp"
L_00d1:;
                                                                //   1294      %finish
#line 1294 "regression-compile-tmp/chimp.imp"
L_00d0:;
                                                                //   1295    %finish %else d_text = 0
#line 1295 "regression-compile-tmp/chimp.imp"
goto L_00d2;
#line 1295 "regression-compile-tmp/chimp.imp"
L_00cc:;
#line 1295 "regression-compile-tmp/chimp.imp"
D.TEXT = 0;
#line 1295 "regression-compile-tmp/chimp.imp"
L_00d2:;
                                                                //   1296    item = dlim;  ditem == dict(item)
#line 1296 "regression-compile-tmp/chimp.imp"
ITEM = DLIM;
#line 1296 "regression-compile-tmp/chimp.imp"
DITEM = &DICT[(((int)(ITEM)) - (2001))];
                                                                //   1297    ditem = d
#line 1297 "regression-compile-tmp/chimp.imp"
*DITEM = D;
                                                                //   1298    dlim = dlim+1;  croak("Too many identifiers") %if dlim >= dmin
#line 1298 "regression-compile-tmp/chimp.imp"
DLIM = (((int)(DLIM)) + (1));
#line 1298 "regression-compile-tmp/chimp.imp"
if (((DLIM) < (DMIN))) goto L_00d3;
#line 1298 "regression-compile-tmp/chimp.imp"
CROAK(_imp_str_literal("Too many identifiers"));
#line 1298 "regression-compile-tmp/chimp.imp"
L_00d3:;
                                                                //   1299  %end;  !DECLARE
#line 1299 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DECLARE at level 2
                                                                //   1300  
                                                                //   1301  %routine DECLARE ANON
#line 1301 "regression-compile-tmp/chimp.imp"
void DECLAREANON( void )
#line 1301 "regression-compile-tmp/chimp.imp"
{
                                                                //   1302    d_text = 0;  d_link = 0
#line 1302 "regression-compile-tmp/chimp.imp"
D.TEXT = 0;
#line 1302 "regression-compile-tmp/chimp.imp"
D.LINK = 0;
                                                                //   1303    dict(dlim) = d
#line 1303 "regression-compile-tmp/chimp.imp"
DICT[(((int)(DLIM)) - (2001))] = D;
                                                                //   1304    dlim = dlim+1;  croak("Too many identifiers") %if dlim >= dmin
#line 1304 "regression-compile-tmp/chimp.imp"
DLIM = (((int)(DLIM)) + (1));
#line 1304 "regression-compile-tmp/chimp.imp"
if (((DLIM) < (DMIN))) goto L_00d4;
#line 1304 "regression-compile-tmp/chimp.imp"
CROAK(_imp_str_literal("Too many identifiers"));
#line 1304 "regression-compile-tmp/chimp.imp"
L_00d4:;
                                                                //   1305  %end
#line 1305 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DECLAREANON at level 2
                                                                //   1306  
                                                                //   1307  %owninteger jammy
#line 1307 "regression-compile-tmp/chimp.imp"
static int JAMMY;
                                                                //   1308  %predicate A ASSOP
#line 1308 "regression-compile-tmp/chimp.imp"
int /*Boolean*/ AASSOP( void )
#line 1308 "regression-compile-tmp/chimp.imp"
{
                                                                //   1309    atom = next atom %if matched # 0
#line 1309 "regression-compile-tmp/chimp.imp"
if (((MATCHED) == (0))) goto L_00d5;
#line 1309 "regression-compile-tmp/chimp.imp"
ATOM = NEXTATOM();
#line 1309 "regression-compile-tmp/chimp.imp"
L_00d5:;
                                                                //   1310    %if atom # equals %and atom # eqeq %start
#line 1310 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (70))) goto L_00d6;
#line 1310 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (76))) goto L_00d6;
                                                                //   1311      %false %unless atom = less %and byteinteger(fp) = '-'
#line 1311 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (73))) goto L_009b;
#line 1311 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) == (45))) goto L_00d7;
#line 1311 "regression-compile-tmp/chimp.imp"
L_009b:;
#line 1311 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1311 "regression-compile-tmp/chimp.imp"
L_00d7:;
                                                                //   1312      jammy = 2;  fp = fp+1
#line 1312 "regression-compile-tmp/chimp.imp"
JAMMY = 2;
#line 1312 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
                                                                //   1313    %finish %else jammy = 0
#line 1313 "regression-compile-tmp/chimp.imp"
goto L_00d8;
#line 1313 "regression-compile-tmp/chimp.imp"
L_00d6:;
#line 1313 "regression-compile-tmp/chimp.imp"
JAMMY = 0;
#line 1313 "regression-compile-tmp/chimp.imp"
L_00d8:;
                                                                //   1314    matched = 1
#line 1314 "regression-compile-tmp/chimp.imp"
MATCHED = 1;
                                                                //   1315    %true
#line 1315 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   1316  %end
#line 1316 "regression-compile-tmp/chimp.imp"
} // End of block AASSOP at level 2
                                                                //   1317  
                                                                //   1318  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   1319  !!!!!!!!!!!!!!!!!!!!  Expressions  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   1320  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   1321  
                                                                //   1322  %owninteger literal=0
#line 1322 "regression-compile-tmp/chimp.imp"
static int LITERAL = 0;
                                                                //   1323  %routinespec get EXPRESSION(%integer rank,control)
#line 1323 "regression-compile-tmp/chimp.imp"
auto void GETEXPRESSION( int RANK, int CONTROL );
                                                                //   1324  
                                                                //   1325  %integerfn COMPAT(%integer control)
#line 1325 "regression-compile-tmp/chimp.imp"
int COMPAT( int CONTROL )
#line 1325 "regression-compile-tmp/chimp.imp"
{
                                                                //   1326    %if t_type = inty %start
#line 1326 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) != (2046))) goto L_00d9;
                                                                //   1327      %if control&intok = 0 %and control&realok # 0 %start
#line 1327 "regression-compile-tmp/chimp.imp"
if (((((CONTROL) & (16))) != (0))) goto L_00da;
#line 1327 "regression-compile-tmp/chimp.imp"
if (((((CONTROL) & (8))) == (0))) goto L_00da;
                                                                //   1328        item = floated(item)
#line 1328 "regression-compile-tmp/chimp.imp"
ITEM = FLOATED(ITEM);
                                                                //   1329        t_type = realy
#line 1329 "regression-compile-tmp/chimp.imp"
T.TYPE = 2045;
                                                                //   1330      %finish
#line 1330 "regression-compile-tmp/chimp.imp"
L_00da:;
                                                                //   1331      %result = control&(intok+realok)
#line 1331 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return ((CONTROL) & (24));
                                                                //   1332    %finish
#line 1332 "regression-compile-tmp/chimp.imp"
L_00d9:;
                                                                //   1333    %result = control&(boolok>>(booltype-t_type)) %if t_type <= booltype
#line 1333 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) > (2048))) goto L_00db;
#line 1333 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return ((CONTROL) & ((int)((((unsigned int)(64)) >> ((((int)(2048)) - (T.TYPE)))))));
#line 1333 "regression-compile-tmp/chimp.imp"
L_00db:;
                                                                //   1334    %result = control&enumok %if t_type < direct
#line 1334 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) >= (8192))) goto L_00dc;
#line 1334 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return ((CONTROL) & (128));
#line 1334 "regression-compile-tmp/chimp.imp"
L_00dc:;
                                                                //   1335    %result = control&arrok
#line 1335 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return ((CONTROL) & (2));
                                                                //   1336  %end
#line 1336 "regression-compile-tmp/chimp.imp"
} // End of block COMPAT at level 2
                                                                //   1337  !
                                                                //   1338  %integerfn LISTMATCH(%integer alist,blist)
#line 1338 "regression-compile-tmp/chimp.imp"
int LISTMATCH( int ALIST, int BLIST )
#line 1338 "regression-compile-tmp/chimp.imp"
{
                                                                //   1339  %record(identinfo)%name ap,bp
#line 1339 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*AP;
#line 1339 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*BP;
                                                                //   1340    %result = 1 %if alist = blist
#line 1340 "regression-compile-tmp/chimp.imp"
if (((ALIST) != (BLIST))) goto L_00dd;
#line 1340 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1340 "regression-compile-tmp/chimp.imp"
L_00dd:;
                                                                //   1341    %result = 0 %if alist < dictmin %or blist < dictmin
#line 1341 "regression-compile-tmp/chimp.imp"
if (((ALIST) < (2041))) goto L_00c2;
#line 1341 "regression-compile-tmp/chimp.imp"
if (((BLIST) >= (2041))) goto L_00de;
#line 1341 "regression-compile-tmp/chimp.imp"
L_00c2:;
#line 1341 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1341 "regression-compile-tmp/chimp.imp"
L_00de:;
                                                                //   1342    %cycle
#line 1342 "regression-compile-tmp/chimp.imp"
L_00df:;
                                                                //   1343      ap == dict(alist);  bp == dict(blist)
#line 1343 "regression-compile-tmp/chimp.imp"
AP = &DICT[(((int)(ALIST)) - (2001))];
#line 1343 "regression-compile-tmp/chimp.imp"
BP = &DICT[(((int)(BLIST)) - (2001))];
                                                                //   1344      %result = 0 %if ap_type # bp_type;  !for now
#line 1344 "regression-compile-tmp/chimp.imp"
if (((AP->TYPE) == (BP->TYPE))) goto L_00e2;
#line 1344 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1344 "regression-compile-tmp/chimp.imp"
L_00e2:;
                                                                //   1345      alist = alist+1;  blist = blist+1
#line 1345 "regression-compile-tmp/chimp.imp"
ALIST = (((int)(ALIST)) + (1));
#line 1345 "regression-compile-tmp/chimp.imp"
BLIST = (((int)(BLIST)) + (1));
                                                                //   1346    %repeat %until ap_flags&bp_flags&more = 0
#line 1346 "regression-compile-tmp/chimp.imp"
if (((((((AP->FLAGS) & (BP->FLAGS))) & (128))) == (0))) goto L_00e0;
#line 1346 "regression-compile-tmp/chimp.imp"
goto L_00df;
#line 1346 "regression-compile-tmp/chimp.imp"
L_00e0:;
                                                                //   1347    %result = 0 %if ap_flags&more # 0 %or bp_flags&more # 0;  !for now
#line 1347 "regression-compile-tmp/chimp.imp"
if (((((AP->FLAGS) & (128))) != (0))) goto L_00e1;
#line 1347 "regression-compile-tmp/chimp.imp"
if (((((BP->FLAGS) & (128))) == (0))) goto L_00e3;
#line 1347 "regression-compile-tmp/chimp.imp"
L_00e1:;
#line 1347 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1347 "regression-compile-tmp/chimp.imp"
L_00e3:;
                                                                //   1348    %result = 1
#line 1348 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   1349  %end
#line 1349 "regression-compile-tmp/chimp.imp"
} // End of block LISTMATCH at level 2
                                                                //   1350  !
                                                                //   1351  %routine GET REFERENCE(%integer reftype)
#line 1351 "regression-compile-tmp/chimp.imp"
void GETREFERENCE( int REFTYPE )
#line 1351 "regression-compile-tmp/chimp.imp"
{
                                                                //   1352  %integer type,temp
#line 1352 "regression-compile-tmp/chimp.imp"
int TYPE;
#line 1352 "regression-compile-tmp/chimp.imp"
int TEMP;
                                                                //   1353    get EXPRESSION(simple,refonly+any)
#line 1353 "regression-compile-tmp/chimp.imp"
GETEXPRESSION(104, 1279);
                                                                //   1354    type = ditem_type&puretype;  reftype = reftype&puretype
#line 1354 "regression-compile-tmp/chimp.imp"
TYPE = ((DITEM->TYPE) & (8191));
#line 1354 "regression-compile-tmp/chimp.imp"
REFTYPE = ((REFTYPE) & (8191));
                                                                //   1355    %return %if reftype = type
#line 1355 "regression-compile-tmp/chimp.imp"
if (((REFTYPE) != (TYPE))) goto L_00e4;
#line 1355 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1355 "regression-compile-tmp/chimp.imp"
L_00e4:;
                                                                //   1356    %if type < reftype %start
#line 1356 "regression-compile-tmp/chimp.imp"
if (((TYPE) >= (REFTYPE))) goto L_00e5;
                                                                //   1357      temp = type;  type = reftype;  reftype = temp
#line 1357 "regression-compile-tmp/chimp.imp"
TEMP = TYPE;
#line 1357 "regression-compile-tmp/chimp.imp"
TYPE = REFTYPE;
#line 1357 "regression-compile-tmp/chimp.imp"
REFTYPE = TEMP;
                                                                //   1358    %finish
#line 1358 "regression-compile-tmp/chimp.imp"
L_00e5:;
                                                                //   1359    %return %if reftype = nulltype;  !untyped %name
#line 1359 "regression-compile-tmp/chimp.imp"
if (((REFTYPE) != (2041))) goto L_00e6;
#line 1359 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1359 "regression-compile-tmp/chimp.imp"
L_00e6:;
                                                                //   1360    type = dict(type)_type
#line 1360 "regression-compile-tmp/chimp.imp"
TYPE = DICT[(((int)(TYPE)) - (2001))].TYPE;
                                                                //   1361    %return %if type <= inty %and type = reftype
#line 1361 "regression-compile-tmp/chimp.imp"
if (((TYPE) > (2046))) goto L_00e7;
#line 1361 "regression-compile-tmp/chimp.imp"
if (((TYPE) != (REFTYPE))) goto L_00e7;
#line 1361 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1361 "regression-compile-tmp/chimp.imp"
L_00e7:;
                                                                //   1362    %return %if type >= direct %and type = dict(reftype)_type;  !aname
#line 1362 "regression-compile-tmp/chimp.imp"
if (((TYPE) < (8192))) goto L_00e8;
#line 1362 "regression-compile-tmp/chimp.imp"
if (((TYPE) != (DICT[(((int)(REFTYPE)) - (2001))].TYPE))) goto L_00e8;
#line 1362 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1362 "regression-compile-tmp/chimp.imp"
L_00e8:;
                                                                //   1363    expfault(typerr+point)
#line 1363 "regression-compile-tmp/chimp.imp"
EXPFAULT(70);
                                                                //   1364  %end
#line 1364 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETREFERENCE at level 2
                                                                //   1365  !
                                                                //   1366  %routine GET VALUE(%integer valtype)
#line 1366 "regression-compile-tmp/chimp.imp"
void GETVALUE( int VALTYPE )
#line 1366 "regression-compile-tmp/chimp.imp"
{
                                                                //   1367  %record(identinfo)%name dp,p
#line 1367 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*DP;
#line 1367 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*P;
                                                                //   1368    get EXPRESSION(major,any)
#line 1368 "regression-compile-tmp/chimp.imp"
GETEXPRESSION(80, 255);
                                                                //   1369    valtype = valtype&puretype
#line 1369 "regression-compile-tmp/chimp.imp"
VALTYPE = ((VALTYPE) & (8191));
                                                                //   1370    dp == dict(valtype)
#line 1370 "regression-compile-tmp/chimp.imp"
DP = &DICT[(((int)(VALTYPE)) - (2001))];
                                                                //   1371    %if t_type # dp_type %start;  !base types differ
#line 1371 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) == (DP->TYPE))) goto L_00e9;
                                                                //   1372      %return %if item = 0 = t_val;  !zero
#line 1372 "regression-compile-tmp/chimp.imp"
if ((((ITEM) != (0))) || (((0) != (T.VAL)))) goto L_00ea;
#line 1372 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1372 "regression-compile-tmp/chimp.imp"
L_00ea:;
                                                                //   1373      %if dp_type = realy %and t_type = inty %start
#line 1373 "regression-compile-tmp/chimp.imp"
if (((DP->TYPE) != (2045))) goto L_00eb;
#line 1373 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) != (2046))) goto L_00eb;
                                                                //   1374        !float
                                                                //   1375        t_type = realy
#line 1375 "regression-compile-tmp/chimp.imp"
T.TYPE = 2045;
                                                                //   1376        %return
#line 1376 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1377      %finish
#line 1377 "regression-compile-tmp/chimp.imp"
L_00eb:;
                                                                //   1378    %else %if t_type >= inty;  !scalar
#line 1378 "regression-compile-tmp/chimp.imp"
goto L_00ec;
#line 1378 "regression-compile-tmp/chimp.imp"
L_00e9:;
#line 1378 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) < (2046))) goto L_00ed;
                                                                //   1379      %if item = 0 %start
#line 1379 "regression-compile-tmp/chimp.imp"
if (((ITEM) != (0))) goto L_00ee;
                                                                //   1380        %return %if dp_low <= t_val <= dp_val
#line 1380 "regression-compile-tmp/chimp.imp"
if ((((DP->LOW) > (T.VAL))) || (((T.VAL) > (DP->VAL)))) goto L_00ef;
#line 1380 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1380 "regression-compile-tmp/chimp.imp"
L_00ef:;
                                                                //   1381        jammy = jammy!1 %if jammy >= 0
#line 1381 "regression-compile-tmp/chimp.imp"
if (((JAMMY) < (0))) goto L_00f0;
#line 1381 "regression-compile-tmp/chimp.imp"
JAMMY = ((JAMMY) | (1));
#line 1381 "regression-compile-tmp/chimp.imp"
L_00f0:;
                                                                //   1382      %finish %else %start
#line 1382 "regression-compile-tmp/chimp.imp"
goto L_00f1;
#line 1382 "regression-compile-tmp/chimp.imp"
L_00ee:;
                                                                //   1383        %if t_low >= dp_low %start
#line 1383 "regression-compile-tmp/chimp.imp"
if (((T.LOW) < (DP->LOW))) goto L_00f2;
                                                                //   1384          %return %if t_val <= dp_val
#line 1384 "regression-compile-tmp/chimp.imp"
if (((T.VAL) > (DP->VAL))) goto L_00f3;
#line 1384 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1384 "regression-compile-tmp/chimp.imp"
L_00f3:;
                                                                //   1385          jammy = jammy!1 %if jammy >= 0
#line 1385 "regression-compile-tmp/chimp.imp"
if (((JAMMY) < (0))) goto L_00f4;
#line 1385 "regression-compile-tmp/chimp.imp"
JAMMY = ((JAMMY) | (1));
#line 1385 "regression-compile-tmp/chimp.imp"
L_00f4:;
                                                                //   1386          %return %if t_low <= dp_val
#line 1386 "regression-compile-tmp/chimp.imp"
if (((T.LOW) > (DP->VAL))) goto L_00f5;
#line 1386 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1386 "regression-compile-tmp/chimp.imp"
L_00f5:;
                                                                //   1387        %finish %else %start
#line 1387 "regression-compile-tmp/chimp.imp"
goto L_00f6;
#line 1387 "regression-compile-tmp/chimp.imp"
L_00f2:;
                                                                //   1388          jammy = jammy!1 %if jammy >= 0
#line 1388 "regression-compile-tmp/chimp.imp"
if (((JAMMY) < (0))) goto L_00f7;
#line 1388 "regression-compile-tmp/chimp.imp"
JAMMY = ((JAMMY) | (1));
#line 1388 "regression-compile-tmp/chimp.imp"
L_00f7:;
                                                                //   1389          %return %if t_val >= dp_low
#line 1389 "regression-compile-tmp/chimp.imp"
if (((T.VAL) < (DP->LOW))) goto L_00f8;
#line 1389 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1389 "regression-compile-tmp/chimp.imp"
L_00f8:;
                                                                //   1390        %finish
#line 1390 "regression-compile-tmp/chimp.imp"
L_00f6:;
                                                                //   1391      %finish
#line 1391 "regression-compile-tmp/chimp.imp"
L_00f1:;
                                                                //   1392      expfault(rangerr+point) %if jammy < 2
#line 1392 "regression-compile-tmp/chimp.imp"
if (((JAMMY) >= (2))) goto L_00f9;
#line 1392 "regression-compile-tmp/chimp.imp"
EXPFAULT(76);
#line 1392 "regression-compile-tmp/chimp.imp"
L_00f9:;
                                                                //   1393      %return
#line 1393 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1394    %else %if t_type = stringy
#line 1394 "regression-compile-tmp/chimp.imp"
L_00ed:;
#line 1394 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) != (2044))) goto L_00fa;
                                                                //   1395      %if t_val > dp_val %start;  !VALUE = LENGTH*
#line 1395 "regression-compile-tmp/chimp.imp"
if (((T.VAL) <= (DP->VAL))) goto L_00fb;
                                                                //   1396        jammy = jammy!1 %if jammy >= 0
#line 1396 "regression-compile-tmp/chimp.imp"
if (((JAMMY) < (0))) goto L_00fc;
#line 1396 "regression-compile-tmp/chimp.imp"
JAMMY = ((JAMMY) | (1));
#line 1396 "regression-compile-tmp/chimp.imp"
L_00fc:;
                                                                //   1397        expfault(rangerr+point) %if item = 0 %and jammy < 2
#line 1397 "regression-compile-tmp/chimp.imp"
if (((ITEM) != (0))) goto L_00fd;
#line 1397 "regression-compile-tmp/chimp.imp"
if (((JAMMY) >= (2))) goto L_00fd;
#line 1397 "regression-compile-tmp/chimp.imp"
EXPFAULT(76);
#line 1397 "regression-compile-tmp/chimp.imp"
L_00fd:;
                                                                //   1398      %finish
#line 1398 "regression-compile-tmp/chimp.imp"
L_00fb:;
                                                                //   1399      %return
#line 1399 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1400    %else %if t_type = recy
#line 1400 "regression-compile-tmp/chimp.imp"
L_00fa:;
#line 1400 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) != (2042))) goto L_00fe;
                                                                //   1401      %return %if t_extra = dp_extra
#line 1401 "regression-compile-tmp/chimp.imp"
if (((T.EXTRA) != (DP->EXTRA))) goto L_00ff;
#line 1401 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1401 "regression-compile-tmp/chimp.imp"
L_00ff:;
                                                                //   1402      jammy = jammy!1 %and %return %if jammy >= 2
#line 1402 "regression-compile-tmp/chimp.imp"
if (((JAMMY) < (2))) goto L_0100;
#line 1402 "regression-compile-tmp/chimp.imp"
JAMMY = ((JAMMY) | (1));
#line 1402 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1402 "regression-compile-tmp/chimp.imp"
L_0100:;
                                                                //   1403      !partial assignment?
                                                                //   1404    %else %if t_type = realy
#line 1404 "regression-compile-tmp/chimp.imp"
goto L_00ec;
#line 1404 "regression-compile-tmp/chimp.imp"
L_00fe:;
#line 1404 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) != (2045))) goto L_0101;
                                                                //   1405      %return
#line 1405 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1406    %finish
#line 1406 "regression-compile-tmp/chimp.imp"
L_0101:;
#line 1406 "regression-compile-tmp/chimp.imp"
L_00ec:;
                                                                //   1407    expfault(typerr+point)
#line 1407 "regression-compile-tmp/chimp.imp"
EXPFAULT(70);
                                                                //   1408  %end;  !GET VALUE
#line 1408 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETVALUE at level 2
                                                                //   1409  !
                                                                //   1410  %routine GET LITERAL(%integer littype)
#line 1410 "regression-compile-tmp/chimp.imp"
void GETLITERAL( int LITTYPE )
#line 1410 "regression-compile-tmp/chimp.imp"
{
                                                                //   1411    literal = literal+1
#line 1411 "regression-compile-tmp/chimp.imp"
LITERAL = (((int)(LITERAL)) + (1));
                                                                //   1412    get VALUE(littype)
#line 1412 "regression-compile-tmp/chimp.imp"
GETVALUE(LITTYPE);
                                                                //   1413    literal = literal-1
#line 1413 "regression-compile-tmp/chimp.imp"
LITERAL = (((int)(LITERAL)) - (1));
                                                                //   1414  %end
#line 1414 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETLITERAL at level 2
                                                                //   1415  !
                                                                //   1416  %routine GET LITINT
#line 1416 "regression-compile-tmp/chimp.imp"
void GETLITINT( void )
#line 1416 "regression-compile-tmp/chimp.imp"
{
                                                                //   1417    literal = literal+1
#line 1417 "regression-compile-tmp/chimp.imp"
LITERAL = (((int)(LITERAL)) + (1));
                                                                //   1418    get EXPRESSION(major,intok)
#line 1418 "regression-compile-tmp/chimp.imp"
GETEXPRESSION(80, 16);
                                                                //   1419    literal = literal-1
#line 1419 "regression-compile-tmp/chimp.imp"
LITERAL = (((int)(LITERAL)) - (1));
                                                                //   1420  %end
#line 1420 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETLITINT at level 2
                                                                //   1421  !
                                                                //   1422  %routine GET LITSTRING
#line 1422 "regression-compile-tmp/chimp.imp"
void GETLITSTRING( void )
#line 1422 "regression-compile-tmp/chimp.imp"
{
                                                                //   1423  %integer holditem
#line 1423 "regression-compile-tmp/chimp.imp"
int HOLDITEM;
                                                                //   1424  !Must be quoted string (for %alias and %include)
                                                                //   1425    holditem = item;  !preserve
#line 1425 "regression-compile-tmp/chimp.imp"
HOLDITEM = ITEM;
                                                                //   1426    get(const)
#line 1426 "regression-compile-tmp/chimp.imp"
GET(53);
                                                                //   1427    error(typerr+point) %if t_type # stringy
#line 1427 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) == (2044))) goto L_0102;
#line 1427 "regression-compile-tmp/chimp.imp"
ERROR(70);
#line 1427 "regression-compile-tmp/chimp.imp"
L_0102:;
                                                                //   1428    item = holditem;  !restore
#line 1428 "regression-compile-tmp/chimp.imp"
ITEM = HOLDITEM;
                                                                //   1429  %end
#line 1429 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETLITSTRING at level 2
                                                                //   1430  !
                                                                //   1431  %routine GET PARMLIST
#line 1431 "regression-compile-tmp/chimp.imp"
void GETPARMLIST( void )
#line 1431 "regression-compile-tmp/chimp.imp"
{
                                                                //   1432  %record(identinfo)%name hp,dp
#line 1432 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*HP;
#line 1432 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*DP;
                                                                //   1433  %integer i,j,headitem,headact,dpos,case,procnp,first
#line 1433 "regression-compile-tmp/chimp.imp"
int I;
#line 1433 "regression-compile-tmp/chimp.imp"
int J;
#line 1433 "regression-compile-tmp/chimp.imp"
int HEADITEM;
#line 1433 "regression-compile-tmp/chimp.imp"
int HEADACT;
#line 1433 "regression-compile-tmp/chimp.imp"
int DPOS;
#line 1433 "regression-compile-tmp/chimp.imp"
int CASE;
#line 1433 "regression-compile-tmp/chimp.imp"
int PROCNP;
#line 1433 "regression-compile-tmp/chimp.imp"
int FIRST;
                                                                //   1434    headitem = item;  hp == ditem
#line 1434 "regression-compile-tmp/chimp.imp"
HEADITEM = ITEM;
#line 1434 "regression-compile-tmp/chimp.imp"
HP = DITEM;
                                                                //   1435    headact = rcall
#line 1435 "regression-compile-tmp/chimp.imp"
HEADACT = 109;
                                                                //   1436    !stack procedure ident
                                                                //   1437  !  procnp = np;  put3(headact,headitem,0)
                                                                //   1438    i = 0;  first = 1
#line 1438 "regression-compile-tmp/chimp.imp"
I = 0;
#line 1438 "regression-compile-tmp/chimp.imp"
FIRST = 1;
                                                                //   1439    dpos = headitem;  dp == hp
#line 1439 "regression-compile-tmp/chimp.imp"
DPOS = HEADITEM;
#line 1439 "regression-compile-tmp/chimp.imp"
DP = HP;
                                                                //   1440    %cycle
#line 1440 "regression-compile-tmp/chimp.imp"
L_0103:;
                                                                //   1441    !Set up expression state from formal param details
                                                                //   1442      error(toomany+point) %if dp_flags&more = 0
#line 1442 "regression-compile-tmp/chimp.imp"
if (((((DP->FLAGS) & (128))) != (0))) goto L_0106;
#line 1442 "regression-compile-tmp/chimp.imp"
ERROR(96);
#line 1442 "regression-compile-tmp/chimp.imp"
L_0106:;
                                                                //   1443      dpos = dpos+1 %and dp == dict(dpos) %until dp_flags&parm # 0
#line 1443 "regression-compile-tmp/chimp.imp"
L_0107:;
#line 1443 "regression-compile-tmp/chimp.imp"
DPOS = (((int)(DPOS)) + (1));
#line 1443 "regression-compile-tmp/chimp.imp"
DP = &DICT[(((int)(DPOS)) - (2001))];
#line 1443 "regression-compile-tmp/chimp.imp"
if (((((DP->FLAGS) & (64))) != (0))) goto L_0108;
#line 1443 "regression-compile-tmp/chimp.imp"
goto L_0107;
#line 1443 "regression-compile-tmp/chimp.imp"
L_0108:;
                                                                //   1444      %if dp_flags&proc # 0 %start
#line 1444 "regression-compile-tmp/chimp.imp"
if (((((DP->FLAGS) & (4))) == (0))) goto L_010a;
                                                                //   1445        get(ident)
#line 1445 "regression-compile-tmp/chimp.imp"
GET(54);
                                                                //   1446        name error %if item <= 0
#line 1446 "regression-compile-tmp/chimp.imp"
if (((ITEM) > (0))) goto L_010b;
#line 1446 "regression-compile-tmp/chimp.imp"
NAMEERROR();
#line 1446 "regression-compile-tmp/chimp.imp"
L_010b:;
                                                                //   1447        fault(typerr+point) %if ditem_flags&proc = 0;  !for now
#line 1447 "regression-compile-tmp/chimp.imp"
if (((((DITEM->FLAGS) & (4))) != (0))) goto L_010c;
#line 1447 "regression-compile-tmp/chimp.imp"
FAULT(70);
#line 1447 "regression-compile-tmp/chimp.imp"
L_010c:;
                                                                //   1448        fault(caterr+point) %if item > headitem
#line 1448 "regression-compile-tmp/chimp.imp"
if (((ITEM) <= (HEADITEM))) goto L_010d;
#line 1448 "regression-compile-tmp/chimp.imp"
FAULT(67);
#line 1448 "regression-compile-tmp/chimp.imp"
L_010d:;
                                                                //   1449      %else %if dp_type < indirect;  !value
#line 1449 "regression-compile-tmp/chimp.imp"
goto L_010e;
#line 1449 "regression-compile-tmp/chimp.imp"
L_010a:;
#line 1449 "regression-compile-tmp/chimp.imp"
if (((DP->TYPE) >= (16384))) goto L_010f;
                                                                //   1450  !      %if pp_type&numericmask # 0 %then case = i&7 %and i = i+1 %c
                                                                //   1451  !      %else case = i>>3+8 %and i = i+8
                                                                //   1452        case = i&7;  i = i+1
#line 1452 "regression-compile-tmp/chimp.imp"
CASE = ((I) & (7));
#line 1452 "regression-compile-tmp/chimp.imp"
I = (((int)(I)) + (1));
                                                                //   1453        get VALUE(dp_type)
#line 1453 "regression-compile-tmp/chimp.imp"
GETVALUE(DP->TYPE);
                                                                //   1454      %finish %else %start;  !name or proc
#line 1454 "regression-compile-tmp/chimp.imp"
goto L_010e;
#line 1454 "regression-compile-tmp/chimp.imp"
L_010f:;
                                                                //   1455        case = i>>3+8;  i = i+8
#line 1455 "regression-compile-tmp/chimp.imp"
CASE = (((int)((int)((((unsigned int)(I)) >> (3))))) + (8));
#line 1455 "regression-compile-tmp/chimp.imp"
I = (((int)(I)) + (8));
                                                                //   1456        get REFERENCE(dp_type)
#line 1456 "regression-compile-tmp/chimp.imp"
GETREFERENCE(DP->TYPE);
                                                                //   1457      %finish
#line 1457 "regression-compile-tmp/chimp.imp"
L_010e:;
                                                                //   1458  !    case = case<<8+headact
                                                                //   1459  !    item = litref(t_val) %if item = 0
                                                                //   1460  !    j = np-1
                                                                //   1461  !    %if first = 0 %start
                                                                //   1462  !      j = np
                                                                //   1463  !      !NB Don't re-order parameters for implicits
                                                                //   1464  !      %if item >= expmin %and headitem > dnewline %start
                                                                //   1465  !        %while j > procnp %and exp(j-1)_y < expmin %cycle
                                                                //   1466  !          exp(j)_act = exp(j-1)_act;  exp(j)_y = exp(j-1)_y
                                                                //   1467  !          j = j-1
                                                                //   1468  !        %repeat
                                                                //   1469  !      %finish
                                                                //   1470  !      exp(np)_x = 0;  np = np+1
                                                                //   1471  !    %finish
                                                                //   1472  !    exp(j)_act =  case;  exp(j)_y = item
                                                                //   1473  !    first = 0
                                                                //   1474    %repeat %until %not a(comma)
#line 1474 "regression-compile-tmp/chimp.imp"
if (!(A(59))) goto L_0104;
#line 1474 "regression-compile-tmp/chimp.imp"
goto L_0103;
#line 1474 "regression-compile-tmp/chimp.imp"
L_0104:;
                                                                //   1475  !  %if hp_type # nulltype %start
                                                                //   1476  !    i = explo
                                                                //   1477  !    %while i <= expmax %cycle
                                                                //   1478  !      %if exp(i)_x = headitem %start;  ![enough?]
                                                                //   1479  !        item = i;  j = procnp
                                                                //   1480  !        %cycle
                                                                //   1481  !          %exit %if exp(i)_y # exp(j)_y
                                                                //   1482  !          i = i+1;  j = j+1
                                                                //   1483  !          ->okf %if j >= np
                                                                //   1484  !        %repeat
                                                                //   1485  !      %finish
                                                                //   1486  !      i = i+1
                                                                //   1487  !    %repeat
                                                                //   1488  !    %cycle
                                                                //   1489  !      explo = explo-1;  np = np-1
                                                                //   1490  !      exp(explo) = exp(np)
                                                                //   1491  !    %repeat %until np = procnp
                                                                //   1492      item = explo
#line 1492 "regression-compile-tmp/chimp.imp"
ITEM = EXPLO;
                                                                //   1493  !okf:np = procnp
                                                                //   1494  !  %finish
                                                                //   1495  %end;  !get PARMLIST
#line 1495 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETPARMLIST at level 2
                                                                //   1496  
                                                                //   1497  %routine GET RESOLUTION
#line 1497 "regression-compile-tmp/chimp.imp"
void GETRESOLUTION( void )
#line 1497 "regression-compile-tmp/chimp.imp"
{
                                                                //   1498    %if %not a(left) %start
#line 1498 "regression-compile-tmp/chimp.imp"
if (A(55)) goto L_0110;
                                                                //   1499      get REFERENCE(anystringvar)
#line 1499 "regression-compile-tmp/chimp.imp"
GETREFERENCE(18428);
                                                                //   1500      get(dot)
#line 1500 "regression-compile-tmp/chimp.imp"
GET(84);
                                                                //   1501      get(left)
#line 1501 "regression-compile-tmp/chimp.imp"
GET(55);
                                                                //   1502    %finish
#line 1502 "regression-compile-tmp/chimp.imp"
L_0110:;
                                                                //   1503    get VALUE(anystring)
#line 1503 "regression-compile-tmp/chimp.imp"
GETVALUE(10236);
                                                                //   1504    get(right)
#line 1504 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   1505    %if a(dot) %start
#line 1505 "regression-compile-tmp/chimp.imp"
if (!(A(84))) goto L_0111;
                                                                //   1506      get REFERENCE(anystringvar)
#line 1506 "regression-compile-tmp/chimp.imp"
GETREFERENCE(18428);
                                                                //   1507    %finish
#line 1507 "regression-compile-tmp/chimp.imp"
L_0111:;
                                                                //   1508  %end
#line 1508 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETRESOLUTION at level 2
                                                                //   1509  !
                                                                //   1510  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   1511  !
                                                                //   1512  %routine GET EXPRESSION(%integer rank,control)
#line 1512 "regression-compile-tmp/chimp.imp"
void GETEXPRESSION( int RANK, int CONTROL )
#line 1512 "regression-compile-tmp/chimp.imp"
{
                                                                //   1513  !Main expression recognition routine
                                                                //   1514  !To bring together the treatment of all binary operators
                                                                //   1515  ! and ensure fast recognition of simple expressions,
                                                                //   1516  ! expressions of different levels are handled by
                                                                //   1517  ! precedence techniques rather than syntactically
                                                                //   1518  !CONTROL defines acceptability
                                                                //   1519  %integer type,f,opok,c1,op,atomp1,item1
#line 1519 "regression-compile-tmp/chimp.imp"
int TYPE;
#line 1519 "regression-compile-tmp/chimp.imp"
int F;
#line 1519 "regression-compile-tmp/chimp.imp"
int OPOK;
#line 1519 "regression-compile-tmp/chimp.imp"
int C1;
#line 1519 "regression-compile-tmp/chimp.imp"
int OP;
#line 1519 "regression-compile-tmp/chimp.imp"
int ATOMP1;
#line 1519 "regression-compile-tmp/chimp.imp"
int ITEM1;
                                                                //   1520  %record(objinfo) t1
#line 1520 "regression-compile-tmp/chimp.imp"
 OBJINFO T1;
                                                                //   1521  %record(identinfo)%name dp
#line 1521 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*DP;
                                                                //   1522  
                                                                //   1523  %integerfn litval
#line 1523 "regression-compile-tmp/chimp.imp"
int LITVAL( void )
#line 1523 "regression-compile-tmp/chimp.imp"
{
                                                                //   1524  %switch lit(64:atommax)
#line 1524 "regression-compile-tmp/chimp.imp"
static int sw3_LIT_idx;
static const void * /*SWITCH*/ sw3_LIT[44] = { &&sw3_LIT_64, &&sw3_LIT_65, &&sw3_LIT_66, &&sw3_LIT_67, &&sw3_LIT_68, &&sw3_LIT_69, &&sw3_LIT_70, &&sw3_LIT_71, &&sw3_LIT_72, &&sw3_LIT_73, &&sw3_LIT_74, &&sw3_LIT_75, &&sw3_LIT_76, &&sw3_LIT_77, &&sw3_LIT_78, &&sw3_LIT_79, &&sw3_LIT_80, &&sw3_LIT_81, &&sw3_LIT_82, &&sw3_LIT_83, &&sw3_LIT_84, &&sw3_LIT_85, &&sw3_LIT_86, &&sw3_LIT_87, &&sw3_LIT_88, &&sw3_LIT_89, &&sw3_LIT_90, &&sw3_LIT_91, &&sw3_LIT_92, &&sw3_LIT_93, &&sw3_LIT_94, &&sw3_LIT_95, &&sw3_LIT_96, &&sw3_LIT_97, &&sw3_LIT_98, &&sw3_LIT_99, &&sw3_LIT_100, &&sw3_LIT_101, &&sw3_LIT_102, &&sw3_LIT_103, &&sw3_LIT_104, &&sw3_LIT_105, &&sw3_LIT_106, &&sw3_LIT_107,  };
                                                                //   1525    -> lit(op)
#line 1525 "regression-compile-tmp/chimp.imp"
sw3_LIT_idx = OP; if ((64 <= sw3_LIT_idx) && (sw3_LIT_idx <= 107)) goto *(sw3_LIT-64)[sw3_LIT_idx];  /* Bounds=64:107 */ else {
   /*_imp_signal(8, 2, sw3_LIT_idx);*/
   fprintf(stderr, "%%SWITCH index LIT(%d) not in range 64:107 at %s:%d\n",
           sw3_LIT_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   1526  lit(plus):    %result = t1_val+t_val
#line 1526 "regression-compile-tmp/chimp.imp"
sw3_LIT_80:;
#line 1526 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(T1.VAL)) + (T.VAL));
                                                                //   1527  lit(minus):   %result = t1_val-t_val
#line 1527 "regression-compile-tmp/chimp.imp"
sw3_LIT_81:;
#line 1527 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(T1.VAL)) - (T.VAL));
                                                                //   1528  lit(mult):    %result = t1_val*t_val
#line 1528 "regression-compile-tmp/chimp.imp"
sw3_LIT_88:;
#line 1528 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(T1.VAL)) * (T.VAL));
                                                                //   1529  lit(idiv):    %result = t1_val//t_val %if t_val # 0
#line 1529 "regression-compile-tmp/chimp.imp"
sw3_LIT_90:;
#line 1529 "regression-compile-tmp/chimp.imp"
if (((T.VAL) == (0))) goto L_0112;
#line 1529 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return ((long)((long)((int)(T1.VAL)) / (long)((int)(_Z(T.VAL)))));
#line 1529 "regression-compile-tmp/chimp.imp"
L_0112:;
                                                                //   1530                fault(rangerr)
#line 1530 "regression-compile-tmp/chimp.imp"
FAULT(12);
                                                                //   1531                %result = 0
#line 1531 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1532  lit(logand):
#line 1532 "regression-compile-tmp/chimp.imp"
sw3_LIT_91:;
                                                                //   1533  lit(booland): %result = t1_val&t_val
#line 1533 "regression-compile-tmp/chimp.imp"
sw3_LIT_64:;
#line 1533 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return ((T1.VAL) & (T.VAL));
                                                                //   1534  lit(logor):
#line 1534 "regression-compile-tmp/chimp.imp"
sw3_LIT_82:;
                                                                //   1535  lit(boolor):  %result = t1_val!t_val
#line 1535 "regression-compile-tmp/chimp.imp"
sw3_LIT_65:;
#line 1535 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return ((T1.VAL) | (T.VAL));
                                                                //   1536  lit(logxor):  %result = t1_val!!t_val
#line 1536 "regression-compile-tmp/chimp.imp"
sw3_LIT_83:;
#line 1536 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return ((T1.VAL) ^ (T.VAL));
                                                                //   1537  lit(lshift):  %result = t1_val<<t_val
#line 1537 "regression-compile-tmp/chimp.imp"
sw3_LIT_100:;
#line 1537 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return ((T1.VAL) << (T.VAL));
                                                                //   1538  lit(rshift):  %result = t1_val>>t_val
#line 1538 "regression-compile-tmp/chimp.imp"
sw3_LIT_101:;
#line 1538 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return (int)((((unsigned int)(T1.VAL)) >> (T.VAL)));
                                                                //   1539  lit(boolnot): %result = t_val!!true
#line 1539 "regression-compile-tmp/chimp.imp"
sw3_LIT_66:;
#line 1539 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return ((T.VAL) ^ (1));
                                                                //   1540  lit(lognot):  %result = \t_val
#line 1540 "regression-compile-tmp/chimp.imp"
sw3_LIT_102:;
#line 1540 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return (~(T.VAL));
                                                                //   1541  !lit(negate):  %result = -t_val
                                                                //   1542  lit(equals):  %result = true %if t1_val = t_val
#line 1542 "regression-compile-tmp/chimp.imp"
sw3_LIT_70:;
#line 1542 "regression-compile-tmp/chimp.imp"
if (((T1.VAL) != (T.VAL))) goto L_0113;
#line 1542 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1542 "regression-compile-tmp/chimp.imp"
L_0113:;
                                                                //   1543                %result = false
#line 1543 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1544  lit(noteq):   %result = true %if t1_val # t_val
#line 1544 "regression-compile-tmp/chimp.imp"
sw3_LIT_71:;
#line 1544 "regression-compile-tmp/chimp.imp"
if (((T1.VAL) == (T.VAL))) goto L_0114;
#line 1544 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1544 "regression-compile-tmp/chimp.imp"
L_0114:;
                                                                //   1545                %result = false
#line 1545 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1546  lit(lesseq):  %result = true %if t1_val <= t_val
#line 1546 "regression-compile-tmp/chimp.imp"
sw3_LIT_72:;
#line 1546 "regression-compile-tmp/chimp.imp"
if (((T1.VAL) > (T.VAL))) goto L_0115;
#line 1546 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1546 "regression-compile-tmp/chimp.imp"
L_0115:;
                                                                //   1547                %result = false
#line 1547 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1548  lit(less):    %result = true %if t1_val < t_val
#line 1548 "regression-compile-tmp/chimp.imp"
sw3_LIT_73:;
#line 1548 "regression-compile-tmp/chimp.imp"
if (((T1.VAL) >= (T.VAL))) goto L_0116;
#line 1548 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1548 "regression-compile-tmp/chimp.imp"
L_0116:;
                                                                //   1549                %result = false
#line 1549 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1550  lit(greateq): %result = true %if t1_val >= t_val
#line 1550 "regression-compile-tmp/chimp.imp"
sw3_LIT_74:;
#line 1550 "regression-compile-tmp/chimp.imp"
if (((T1.VAL) < (T.VAL))) goto L_0117;
#line 1550 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1550 "regression-compile-tmp/chimp.imp"
L_0117:;
                                                                //   1551                %result = false
#line 1551 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1552  lit(greater): %result = true %if t1_val > t_val
#line 1552 "regression-compile-tmp/chimp.imp"
sw3_LIT_75:;
#line 1552 "regression-compile-tmp/chimp.imp"
if (((T1.VAL) <= (T.VAL))) goto L_0118;
#line 1552 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1552 "regression-compile-tmp/chimp.imp"
L_0118:;
                                                                //   1553                %result = false
#line 1553 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1554  lit(concat):  %result = t1_val+t_val
#line 1554 "regression-compile-tmp/chimp.imp"
sw3_LIT_84:;
#line 1554 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(T1.VAL)) + (T.VAL));
                                                                //   1555  lit(*):       !report(notwhat,-op)
#line 1555 "regression-compile-tmp/chimp.imp"
sw3_LIT_default:;
                                                                //   1556                %result = 1
#line 1556 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   1557  %end
#line 1557 "regression-compile-tmp/chimp.imp"
sw3_LIT_67:;
sw3_LIT_68:;
sw3_LIT_69:;
sw3_LIT_76:;
sw3_LIT_77:;
sw3_LIT_78:;
sw3_LIT_79:;
sw3_LIT_85:;
sw3_LIT_86:;
sw3_LIT_87:;
sw3_LIT_89:;
sw3_LIT_92:;
sw3_LIT_93:;
sw3_LIT_94:;
sw3_LIT_95:;
sw3_LIT_96:;
sw3_LIT_97:;
sw3_LIT_98:;
sw3_LIT_99:;
sw3_LIT_103:;
sw3_LIT_104:;
sw3_LIT_105:;
sw3_LIT_106:;
sw3_LIT_107:;
goto sw3_LIT_default;
} // End of block LITVAL at level 3
                                                                //   1558  
                                                                //   1559  !Get leading operand
                                                                //   1560    atom = next atom %if matched # 0
#line 1560 "regression-compile-tmp/chimp.imp"
if (((MATCHED) == (0))) goto L_0119;
#line 1560 "regression-compile-tmp/chimp.imp"
ATOM = NEXTATOM();
#line 1560 "regression-compile-tmp/chimp.imp"
L_0119:;
                                                                //   1561    atomp1 = atomp;  !note position for reports
#line 1561 "regression-compile-tmp/chimp.imp"
ATOMP1 = ATOMP;
                                                                //   1562    %if atom = ident %start
#line 1562 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (54))) goto L_011a;
                                                                //   1563      matched = 1
#line 1563 "regression-compile-tmp/chimp.imp"
MATCHED = 1;
                                                                //   1564      name error %if item <= 0
#line 1564 "regression-compile-tmp/chimp.imp"
if (((ITEM) > (0))) goto L_011b;
#line 1564 "regression-compile-tmp/chimp.imp"
NAMEERROR();
#line 1564 "regression-compile-tmp/chimp.imp"
L_011b:;
                                                                //   1565      fault(selfref+point) %if item >= dlim0
#line 1565 "regression-compile-tmp/chimp.imp"
if (((ITEM) < (DLIM0))) goto L_011c;
#line 1565 "regression-compile-tmp/chimp.imp"
FAULT(102);
#line 1565 "regression-compile-tmp/chimp.imp"
L_011c:;
                                                                //   1566      type = ditem_type
#line 1566 "regression-compile-tmp/chimp.imp"
TYPE = DITEM->TYPE;
                                                                //   1567      %if control&(refonly+varonly) # 0 %start
#line 1567 "regression-compile-tmp/chimp.imp"
if (((((CONTROL) & (3072))) == (0))) goto L_011d;
                                                                //   1568        error(nonvar+point) %if control&varonly # 0 %and f&var = 0
#line 1568 "regression-compile-tmp/chimp.imp"
if (((((CONTROL) & (2048))) == (0))) goto L_011e;
#line 1568 "regression-compile-tmp/chimp.imp"
if (((((F) & (1))) != (0))) goto L_011e;
#line 1568 "regression-compile-tmp/chimp.imp"
ERROR(94);
#line 1568 "regression-compile-tmp/chimp.imp"
L_011e:;
                                                                //   1569        error(nonref+point) %if type < direct
#line 1569 "regression-compile-tmp/chimp.imp"
if (((TYPE) >= (8192))) goto L_011f;
#line 1569 "regression-compile-tmp/chimp.imp"
ERROR(95);
#line 1569 "regression-compile-tmp/chimp.imp"
L_011f:;
                                                                //   1570      %finish
#line 1570 "regression-compile-tmp/chimp.imp"
L_011d:;
                                                                //   1571      f = ditem_flags
#line 1571 "regression-compile-tmp/chimp.imp"
F = DITEM->FLAGS;
                                                                //   1572      %if inty <= type <= booltype %and f&proc = 0 %start;  !literal
#line 1572 "regression-compile-tmp/chimp.imp"
if ((((2046) > (TYPE))) || (((TYPE) > (2048)))) goto L_0120;
#line 1572 "regression-compile-tmp/chimp.imp"
if (((((F) & (4))) != (0))) goto L_0120;
                                                                //   1573        item = 0;  t = ditem_details
#line 1573 "regression-compile-tmp/chimp.imp"
ITEM = 0;
#line 1573 "regression-compile-tmp/chimp.imp"
T = DITEM->DETAILS;
                                                                //   1574      %else
#line 1574 "regression-compile-tmp/chimp.imp"
goto L_0121;
#line 1574 "regression-compile-tmp/chimp.imp"
L_0120:;
                                                                //   1575        fault(nonliteral+point) %if literal > 0
#line 1575 "regression-compile-tmp/chimp.imp"
if (((LITERAL) <= (0))) goto L_0122;
#line 1575 "regression-compile-tmp/chimp.imp"
FAULT(77);
#line 1575 "regression-compile-tmp/chimp.imp"
L_0122:;
                                                                //   1576        %if f&proc # 0 %start
#line 1576 "regression-compile-tmp/chimp.imp"
if (((((F) & (4))) == (0))) goto L_0123;
                                                                //   1577          ditem == dict(type) %and type = ditem_type %if f&parm # 0
#line 1577 "regression-compile-tmp/chimp.imp"
if (((((F) & (64))) == (0))) goto L_0124;
#line 1577 "regression-compile-tmp/chimp.imp"
DITEM = &DICT[(((int)(TYPE)) - (2001))];
#line 1577 "regression-compile-tmp/chimp.imp"
TYPE = DITEM->TYPE;
#line 1577 "regression-compile-tmp/chimp.imp"
L_0124:;
                                                                //   1578          error(caterr+point) %if type = nulltype;  !routine
#line 1578 "regression-compile-tmp/chimp.imp"
if (((TYPE) != (2041))) goto L_0125;
#line 1578 "regression-compile-tmp/chimp.imp"
ERROR(67);
#line 1578 "regression-compile-tmp/chimp.imp"
L_0125:;
                                                                //   1579          %if a(left) %start
#line 1579 "regression-compile-tmp/chimp.imp"
if (!(A(55))) goto L_0126;
                                                                //   1580            dp == ditem
#line 1580 "regression-compile-tmp/chimp.imp"
DP = DITEM;
                                                                //   1581            get PARMLIST;  get(right)
#line 1581 "regression-compile-tmp/chimp.imp"
GETPARMLIST();
#line 1581 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   1582            ditem == dp
#line 1582 "regression-compile-tmp/chimp.imp"
DITEM = DP;
                                                                //   1583          %else
#line 1583 "regression-compile-tmp/chimp.imp"
goto L_0127;
#line 1583 "regression-compile-tmp/chimp.imp"
L_0126:;
                                                                //   1584            error(toofew+point) %if ditem_flags&more # 0
#line 1584 "regression-compile-tmp/chimp.imp"
if (((((DITEM->FLAGS) & (128))) == (0))) goto L_0128;
#line 1584 "regression-compile-tmp/chimp.imp"
ERROR(97);
#line 1584 "regression-compile-tmp/chimp.imp"
L_0128:;
                                                                //   1585            item = explo;!expref(f&var+fcall,item,0)
#line 1585 "regression-compile-tmp/chimp.imp"
ITEM = EXPLO;
                                                                //   1586          %finish
#line 1586 "regression-compile-tmp/chimp.imp"
L_0127:;
                                                                //   1587        %finish
#line 1587 "regression-compile-tmp/chimp.imp"
L_0123:;
                                                                //   1588        %cycle
#line 1588 "regression-compile-tmp/chimp.imp"
L_0129:;
                                                                //   1589          dp == dict(type&puretype);  t = dp_details
#line 1589 "regression-compile-tmp/chimp.imp"
DP = &DICT[(((int)(((TYPE) & (8191)))) - (2001))];
#line 1589 "regression-compile-tmp/chimp.imp"
T = DP->DETAILS;
                                                                //   1590          atom = next atom %if matched # 0
#line 1590 "regression-compile-tmp/chimp.imp"
if (((MATCHED) == (0))) goto L_012c;
#line 1590 "regression-compile-tmp/chimp.imp"
ATOM = NEXTATOM();
#line 1590 "regression-compile-tmp/chimp.imp"
L_012c:;
                                                                //   1591          %exit %if atom # underline %and atom # left
#line 1591 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (56))) goto L_012d;
#line 1591 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (55))) goto L_012d;
#line 1591 "regression-compile-tmp/chimp.imp"
goto L_012a;
#line 1591 "regression-compile-tmp/chimp.imp"
L_012d:;
                                                                //   1592          matched = 1
#line 1592 "regression-compile-tmp/chimp.imp"
MATCHED = 1;
                                                                //   1593          item1 = item
#line 1593 "regression-compile-tmp/chimp.imp"
ITEM1 = ITEM;
                                                                //   1594          %if atom = left %start
#line 1594 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (55))) goto L_012e;
                                                                //   1595            %cycle
#line 1595 "regression-compile-tmp/chimp.imp"
L_012f:;
                                                                //   1596              syntax error %if t_type < direct;  !element type
#line 1596 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) >= (8192))) goto L_0132;
#line 1596 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 1596 "regression-compile-tmp/chimp.imp"
L_0132:;
                                                                //   1597              type = t_type
#line 1597 "regression-compile-tmp/chimp.imp"
TYPE = T.TYPE;
                                                                //   1598              get VALUE(t_val);  !index
#line 1598 "regression-compile-tmp/chimp.imp"
GETVALUE(T.VAL);
                                                                //   1599              item = explo;!expref(aref,item1,item,t_val)
#line 1599 "regression-compile-tmp/chimp.imp"
ITEM = EXPLO;
                                                                //   1600              ditem == dp
#line 1600 "regression-compile-tmp/chimp.imp"
DITEM = DP;
                                                                //   1601              %exit %if %not a(comma)
#line 1601 "regression-compile-tmp/chimp.imp"
if (A(59)) goto L_0133;
#line 1601 "regression-compile-tmp/chimp.imp"
goto L_0130;
#line 1601 "regression-compile-tmp/chimp.imp"
L_0133:;
                                                                //   1602              dp == dict(type&puretype);  t = dp_details
#line 1602 "regression-compile-tmp/chimp.imp"
DP = &DICT[(((int)(((TYPE) & (8191)))) - (2001))];
#line 1602 "regression-compile-tmp/chimp.imp"
T = DP->DETAILS;
                                                                //   1603              item1 = item
#line 1603 "regression-compile-tmp/chimp.imp"
ITEM1 = ITEM;
                                                                //   1604            %repeat
#line 1604 "regression-compile-tmp/chimp.imp"
goto L_012f;
#line 1604 "regression-compile-tmp/chimp.imp"
L_0130:;
                                                                //   1605            get(right)
#line 1605 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   1606          %else;  !rec subfield
#line 1606 "regression-compile-tmp/chimp.imp"
goto L_0134;
#line 1606 "regression-compile-tmp/chimp.imp"
L_012e:;
                                                                //   1607            syntax error %if t_type # recy
#line 1607 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) == (2042))) goto L_0135;
#line 1607 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 1607 "regression-compile-tmp/chimp.imp"
L_0135:;
                                                                //   1608            get(ident)
#line 1608 "regression-compile-tmp/chimp.imp"
GET(54);
                                                                //   1609            lookup field ident(t_extra)
#line 1609 "regression-compile-tmp/chimp.imp"
LOOKUPFIELDIDENT(T.EXTRA);
                                                                //   1610            error(namerr+point) %if item <= 0
#line 1610 "regression-compile-tmp/chimp.imp"
if (((ITEM) > (0))) goto L_0136;
#line 1610 "regression-compile-tmp/chimp.imp"
ERROR(66);
#line 1610 "regression-compile-tmp/chimp.imp"
L_0136:;
                                                                //   1611            type = ditem_type
#line 1611 "regression-compile-tmp/chimp.imp"
TYPE = DITEM->TYPE;
                                                                //   1612            item = explo;!expref(recref,item,item1)
#line 1612 "regression-compile-tmp/chimp.imp"
ITEM = EXPLO;
                                                                //   1613          %finish
#line 1613 "regression-compile-tmp/chimp.imp"
L_0134:;
                                                                //   1614        %repeat
#line 1614 "regression-compile-tmp/chimp.imp"
goto L_0129;
#line 1614 "regression-compile-tmp/chimp.imp"
L_012a:;
                                                                //   1615        -> final %if control&(varonly+refonly) # 0
#line 1615 "regression-compile-tmp/chimp.imp"
if (((((CONTROL) & (3072))) == (0))) goto L_0137;
#line 1615 "regression-compile-tmp/chimp.imp"
goto U_1009;
#line 1615 "regression-compile-tmp/chimp.imp"
L_0137:;
                                                                //   1616      %finish
#line 1616 "regression-compile-tmp/chimp.imp"
L_0121:;
                                                                //   1617    %else
#line 1617 "regression-compile-tmp/chimp.imp"
goto L_0138;
#line 1617 "regression-compile-tmp/chimp.imp"
L_011a:;
                                                                //   1618      error(nonvar+point) %if control&varonly # 0
#line 1618 "regression-compile-tmp/chimp.imp"
if (((((CONTROL) & (2048))) == (0))) goto L_0139;
#line 1618 "regression-compile-tmp/chimp.imp"
ERROR(94);
#line 1618 "regression-compile-tmp/chimp.imp"
L_0139:;
                                                                //   1619      error(nonref+point) %if control&refonly # 0
#line 1619 "regression-compile-tmp/chimp.imp"
if (((((CONTROL) & (1024))) == (0))) goto L_013a;
#line 1619 "regression-compile-tmp/chimp.imp"
ERROR(95);
#line 1619 "regression-compile-tmp/chimp.imp"
L_013a:;
                                                                //   1620      %if a(const) %start
#line 1620 "regression-compile-tmp/chimp.imp"
if (!(A(53))) goto L_013b;
                                                                //   1621      %else %if atom = minus;  !leave unmatched
#line 1621 "regression-compile-tmp/chimp.imp"
goto L_013c;
#line 1621 "regression-compile-tmp/chimp.imp"
L_013b:;
#line 1621 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (81))) goto L_013d;
                                                                //   1622        item = 0;  t = 0;  t_type = inty
#line 1622 "regression-compile-tmp/chimp.imp"
ITEM = 0;
#line 1622 "regression-compile-tmp/chimp.imp"
T = (OBJINFO){ 0 } /* Assign 0's to all fields of record */;
#line 1622 "regression-compile-tmp/chimp.imp"
T.TYPE = 2046;
                                                                //   1623      %else %if a(left)
#line 1623 "regression-compile-tmp/chimp.imp"
goto L_013c;
#line 1623 "regression-compile-tmp/chimp.imp"
L_013d:;
#line 1623 "regression-compile-tmp/chimp.imp"
if (!(A(55))) goto L_013e;
                                                                //   1624        %if rank < major %start;  !condition
#line 1624 "regression-compile-tmp/chimp.imp"
if (((RANK) >= (80))) goto L_013f;
                                                                //   1625          get EXPRESSION(cond,any)
#line 1625 "regression-compile-tmp/chimp.imp"
GETEXPRESSION(64, 255);
                                                                //   1626        %finish %else %start
#line 1626 "regression-compile-tmp/chimp.imp"
goto L_0140;
#line 1626 "regression-compile-tmp/chimp.imp"
L_013f:;
                                                                //   1627          jammy = jammy-4
#line 1627 "regression-compile-tmp/chimp.imp"
JAMMY = (((int)(JAMMY)) - (4));
                                                                //   1628          c1 = control;  c1 = c1!intok %if c1&realok # 0
#line 1628 "regression-compile-tmp/chimp.imp"
C1 = CONTROL;
#line 1628 "regression-compile-tmp/chimp.imp"
if (((((C1) & (8))) == (0))) goto L_0141;
#line 1628 "regression-compile-tmp/chimp.imp"
C1 = ((C1) | (16));
#line 1628 "regression-compile-tmp/chimp.imp"
L_0141:;
                                                                //   1629          get EXPRESSION(major,c1)
#line 1629 "regression-compile-tmp/chimp.imp"
GETEXPRESSION(80, C1);
                                                                //   1630          jammy = jammy+4
#line 1630 "regression-compile-tmp/chimp.imp"
JAMMY = (((int)(JAMMY)) + (4));
                                                                //   1631        %finish
#line 1631 "regression-compile-tmp/chimp.imp"
L_0140:;
                                                                //   1632        get(right)
#line 1632 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   1633      %else %if a(keynot)
#line 1633 "regression-compile-tmp/chimp.imp"
goto L_013c;
#line 1633 "regression-compile-tmp/chimp.imp"
L_013e:;
#line 1633 "regression-compile-tmp/chimp.imp"
if (!(A(47))) goto L_0142;
                                                                //   1634        syntax error %if rank >= major
#line 1634 "regression-compile-tmp/chimp.imp"
if (((RANK) < (80))) goto L_0143;
#line 1634 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 1634 "regression-compile-tmp/chimp.imp"
L_0143:;
                                                                //   1635        get EXPRESSION(scond,any)
#line 1635 "regression-compile-tmp/chimp.imp"
GETEXPRESSION(70, 255);
                                                                //   1636        %if item = 0 %then t_val = t_val!!true %c
#line 1636 "regression-compile-tmp/chimp.imp"
if (((ITEM) != (0))) goto L_0144;
#line 1636 "regression-compile-tmp/chimp.imp"
T.VAL = ((T.VAL) ^ (1));
#line 1636 "regression-compile-tmp/chimp.imp"
goto L_0145;
#line 1636 "regression-compile-tmp/chimp.imp"
L_0144:;
#line 1636 "regression-compile-tmp/chimp.imp"
ITEM = EXPLO;
#line 1636 "regression-compile-tmp/chimp.imp"
L_0145:;
                                                                //   1637        %else item = explo;!expref(boolnot,item,0)
                                                                //   1638      %else %if atom = backslash
#line 1638 "regression-compile-tmp/chimp.imp"
goto L_013c;
#line 1638 "regression-compile-tmp/chimp.imp"
L_0142:;
#line 1638 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (96))) goto L_0146;
                                                                //   1639        item = 0;  t = 0;  t_type = inty
#line 1639 "regression-compile-tmp/chimp.imp"
ITEM = 0;
#line 1639 "regression-compile-tmp/chimp.imp"
T = (OBJINFO){ 0 } /* Assign 0's to all fields of record */;
#line 1639 "regression-compile-tmp/chimp.imp"
T.TYPE = 2046;
                                                                //   1640        atom = tilde
#line 1640 "regression-compile-tmp/chimp.imp"
ATOM = 102;
                                                                //   1641      %else %if a(modsign)
#line 1641 "regression-compile-tmp/chimp.imp"
goto L_013c;
#line 1641 "regression-compile-tmp/chimp.imp"
L_0146:;
#line 1641 "regression-compile-tmp/chimp.imp"
if (!(A(57))) goto L_0147;
                                                                //   1642        fault(typerr+point) %if control&arithok = 0
#line 1642 "regression-compile-tmp/chimp.imp"
if (((((CONTROL) & (24))) != (0))) goto L_0148;
#line 1642 "regression-compile-tmp/chimp.imp"
FAULT(70);
#line 1642 "regression-compile-tmp/chimp.imp"
L_0148:;
                                                                //   1643        get EXPRESSION(major,arithok)
#line 1643 "regression-compile-tmp/chimp.imp"
GETEXPRESSION(80, 24);
                                                                //   1644        get(modsign)
#line 1644 "regression-compile-tmp/chimp.imp"
GET(57);
                                                                //   1645        %if item = 0 %start
#line 1645 "regression-compile-tmp/chimp.imp"
if (((ITEM) != (0))) goto L_0149;
                                                                //   1646          %if t_val < 0 %start
#line 1646 "regression-compile-tmp/chimp.imp"
if (((T.VAL) >= (0))) goto L_014a;
                                                                //   1647            %if t_val # minint %then t_val = -t_val %else expfault(rangerr)
#line 1647 "regression-compile-tmp/chimp.imp"
if (((T.VAL) == ((-2147483648)))) goto L_014b;
#line 1647 "regression-compile-tmp/chimp.imp"
T.VAL = (-(T.VAL));
#line 1647 "regression-compile-tmp/chimp.imp"
goto L_014c;
#line 1647 "regression-compile-tmp/chimp.imp"
L_014b:;
#line 1647 "regression-compile-tmp/chimp.imp"
EXPFAULT(12);
#line 1647 "regression-compile-tmp/chimp.imp"
L_014c:;
                                                                //   1648          %finish
#line 1648 "regression-compile-tmp/chimp.imp"
L_014a:;
                                                                //   1649        %else %if t_type = inty
#line 1649 "regression-compile-tmp/chimp.imp"
goto L_014d;
#line 1649 "regression-compile-tmp/chimp.imp"
L_0149:;
#line 1649 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) != (2046))) goto L_014e;
                                                                //   1650          item = explo;!expref(imod,item,0)
#line 1650 "regression-compile-tmp/chimp.imp"
ITEM = EXPLO;
                                                                //   1651        %else %if t_type = realy
#line 1651 "regression-compile-tmp/chimp.imp"
goto L_014d;
#line 1651 "regression-compile-tmp/chimp.imp"
L_014e:;
#line 1651 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) != (2045))) goto L_014f;
                                                                //   1652          item = explo;!expref(fmod,item,0)
#line 1652 "regression-compile-tmp/chimp.imp"
ITEM = EXPLO;
                                                                //   1653        %else
#line 1653 "regression-compile-tmp/chimp.imp"
goto L_014d;
#line 1653 "regression-compile-tmp/chimp.imp"
L_014f:;
                                                                //   1654          error(typerr)
#line 1654 "regression-compile-tmp/chimp.imp"
ERROR(6);
                                                                //   1655        %finish
#line 1655 "regression-compile-tmp/chimp.imp"
L_014d:;
                                                                //   1656      %else
#line 1656 "regression-compile-tmp/chimp.imp"
goto L_013c;
#line 1656 "regression-compile-tmp/chimp.imp"
L_0147:;
                                                                //   1657        syntax error
#line 1657 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
                                                                //   1658      %finish
#line 1658 "regression-compile-tmp/chimp.imp"
L_013c:;
                                                                //   1659    %finish
#line 1659 "regression-compile-tmp/chimp.imp"
L_0138:;
                                                                //   1660    atom = next atom %if matched # 0
#line 1660 "regression-compile-tmp/chimp.imp"
if (((MATCHED) == (0))) goto L_0150;
#line 1660 "regression-compile-tmp/chimp.imp"
ATOM = NEXTATOM();
#line 1660 "regression-compile-tmp/chimp.imp"
L_0150:;
                                                                //   1661    %while atom >= rank %cycle
#line 1661 "regression-compile-tmp/chimp.imp"
L_0151:;
#line 1661 "regression-compile-tmp/chimp.imp"
if (((ATOM) < (RANK))) goto L_0152;
                                                                //   1662      op = atom;  matched = 1
#line 1662 "regression-compile-tmp/chimp.imp"
OP = ATOM;
#line 1662 "regression-compile-tmp/chimp.imp"
MATCHED = 1;
                                                                //   1663      opok = opbits(op);  c1 = compat(opok);  ![may change ITEM,T_TYPE]
#line 1663 "regression-compile-tmp/chimp.imp"
OPOK = (OPBITS-64)[OP];
#line 1663 "regression-compile-tmp/chimp.imp"
C1 = COMPAT(OPOK);
                                                                //   1664      fault(typerr+point) %if c1 = 0
#line 1664 "regression-compile-tmp/chimp.imp"
if (((C1) != (0))) goto L_0154;
#line 1664 "regression-compile-tmp/chimp.imp"
FAULT(70);
#line 1664 "regression-compile-tmp/chimp.imp"
L_0154:;
                                                                //   1665      item1 = item;  t1 = t
#line 1665 "regression-compile-tmp/chimp.imp"
ITEM1 = ITEM;
#line 1665 "regression-compile-tmp/chimp.imp"
T1 = T;
                                                                //   1666      %if op >= major %start;  !non-conditional
#line 1666 "regression-compile-tmp/chimp.imp"
if (((OP) < (80))) goto L_0155;
                                                                //   1667        %if op = dot %then get EXPRESSION(dot,stringok) {right-associate} %c
#line 1667 "regression-compile-tmp/chimp.imp"
if (((OP) != (84))) goto L_0156;
#line 1667 "regression-compile-tmp/chimp.imp"
GETEXPRESSION(84, 4);
#line 1667 "regression-compile-tmp/chimp.imp"
goto L_0157;
#line 1667 "regression-compile-tmp/chimp.imp"
L_0156:;
#line 1667 "regression-compile-tmp/chimp.imp"
GETEXPRESSION((((int)(((OP) & ((~(7)))))) + (8)), C1);
#line 1667 "regression-compile-tmp/chimp.imp"
L_0157:;
                                                                //   1668        %else get EXPRESSION(op&(\7)+8,c1)
                                                                //   1669        %if t_type = realy %and t1_type = inty %start
#line 1669 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) != (2045))) goto L_0158;
#line 1669 "regression-compile-tmp/chimp.imp"
if (((T1.TYPE) != (2046))) goto L_0158;
                                                                //   1670          item1 = floated(item1);  t1_type = realy
#line 1670 "regression-compile-tmp/chimp.imp"
ITEM1 = FLOATED(ITEM1);
#line 1670 "regression-compile-tmp/chimp.imp"
T1.TYPE = 2045;
                                                                //   1671        %finish
#line 1671 "regression-compile-tmp/chimp.imp"
L_0158:;
                                                                //   1672  !      op = op+? %if t_type = realy %and opok&intok # 0
                                                                //   1673      %else
#line 1673 "regression-compile-tmp/chimp.imp"
goto L_0159;
#line 1673 "regression-compile-tmp/chimp.imp"
L_0155:;
                                                                //   1674         %if op = resolve %start
#line 1674 "regression-compile-tmp/chimp.imp"
if (((OP) != (79))) goto L_015a;
                                                                //   1675           get RESOLUTION
#line 1675 "regression-compile-tmp/chimp.imp"
GETRESOLUTION();
                                                                //   1676        %else %if op >= eqeq
#line 1676 "regression-compile-tmp/chimp.imp"
goto L_015b;
#line 1676 "regression-compile-tmp/chimp.imp"
L_015a:;
#line 1676 "regression-compile-tmp/chimp.imp"
if (((OP) < (76))) goto L_015c;
                                                                //   1677          get EXPRESSION(simple,any+refonly)
#line 1677 "regression-compile-tmp/chimp.imp"
GETEXPRESSION(104, 1279);
                                                                //   1678        %else %if op >= equals
#line 1678 "regression-compile-tmp/chimp.imp"
goto L_015b;
#line 1678 "regression-compile-tmp/chimp.imp"
L_015c:;
#line 1678 "regression-compile-tmp/chimp.imp"
if (((OP) < (70))) goto L_015d;
                                                                //   1679          get EXPRESSION(major,c1)
#line 1679 "regression-compile-tmp/chimp.imp"
GETEXPRESSION(80, C1);
                                                                //   1680          %if equals <= atom < eqeq %start
#line 1680 "regression-compile-tmp/chimp.imp"
if ((((70) > (ATOM))) || (((ATOM) >= (76)))) goto L_015e;
                                                                //   1681            op = atom;  matched = 1
#line 1681 "regression-compile-tmp/chimp.imp"
OP = ATOM;
#line 1681 "regression-compile-tmp/chimp.imp"
MATCHED = 1;
                                                                //   1682            get EXPRESSION(major,c1)
#line 1682 "regression-compile-tmp/chimp.imp"
GETEXPRESSION(80, C1);
                                                                //   1683          %finish
#line 1683 "regression-compile-tmp/chimp.imp"
L_015e:;
                                                                //   1684          %if t_type = realy %and t1_type = inty %start
#line 1684 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) != (2045))) goto L_015f;
#line 1684 "regression-compile-tmp/chimp.imp"
if (((T1.TYPE) != (2046))) goto L_015f;
                                                                //   1685            item1 = floated(item1);  t1_type = realy
#line 1685 "regression-compile-tmp/chimp.imp"
ITEM1 = FLOATED(ITEM1);
#line 1685 "regression-compile-tmp/chimp.imp"
T1.TYPE = 2045;
                                                                //   1686          %finish
#line 1686 "regression-compile-tmp/chimp.imp"
L_015f:;
                                                                //   1687        %else
#line 1687 "regression-compile-tmp/chimp.imp"
goto L_015b;
#line 1687 "regression-compile-tmp/chimp.imp"
L_015d:;
                                                                //   1688          get EXPRESSION(scond,any)
#line 1688 "regression-compile-tmp/chimp.imp"
GETEXPRESSION(70, 255);
                                                                //   1689          %if atom >= cond %start
#line 1689 "regression-compile-tmp/chimp.imp"
if (((ATOM) < (64))) goto L_0160;
                                                                //   1690            syntax error %if atom # op
#line 1690 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (OP))) goto L_0161;
#line 1690 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 1690 "regression-compile-tmp/chimp.imp"
L_0161:;
                                                                //   1691          %finish
#line 1691 "regression-compile-tmp/chimp.imp"
L_0160:;
                                                                //   1692        %finish
#line 1692 "regression-compile-tmp/chimp.imp"
L_015b:;
                                                                //   1693        t_type = booltype
#line 1693 "regression-compile-tmp/chimp.imp"
T.TYPE = 2048;
                                                                //   1694        t_low = 0 %and t_val = 1 %if item # 0
#line 1694 "regression-compile-tmp/chimp.imp"
if (((ITEM) == (0))) goto L_0162;
#line 1694 "regression-compile-tmp/chimp.imp"
T.LOW = 0;
#line 1694 "regression-compile-tmp/chimp.imp"
T.VAL = 1;
#line 1694 "regression-compile-tmp/chimp.imp"
L_0162:;
                                                                //   1695      %finish
#line 1695 "regression-compile-tmp/chimp.imp"
L_0159:;
                                                                //   1696      %if item1 = 0 %start;  !first operand literal
#line 1696 "regression-compile-tmp/chimp.imp"
if (((ITEM1) != (0))) goto L_0163;
                                                                //   1697        %if item = 0 %start;  !both literal
#line 1697 "regression-compile-tmp/chimp.imp"
if (((ITEM) != (0))) goto L_0164;
                                                                //   1698          t_val = litval
#line 1698 "regression-compile-tmp/chimp.imp"
T.VAL = LITVAL();
                                                                //   1699          %continue %if item = 0
#line 1699 "regression-compile-tmp/chimp.imp"
if (((ITEM) != (0))) goto L_0165;
#line 1699 "regression-compile-tmp/chimp.imp"
goto L_0153;
#line 1699 "regression-compile-tmp/chimp.imp"
L_0165:;
                                                                //   1700  !        item1 = litref(t1_val)
                                                                //   1701  !     %else %if inverse(op) # 0;  !invertable
                                                                //   1702  !        op = inverse(op)
                                                                //   1703  !        temp = t;  t = t1;  t1 = temp;  !standardise order
                                                                //   1704  !        item1 = item;  item = 0
                                                                //   1705        %else
#line 1705 "regression-compile-tmp/chimp.imp"
goto L_0166;
#line 1705 "regression-compile-tmp/chimp.imp"
L_0164:;
                                                                //   1706  !        item1 = litref(t1_val)
                                                                //   1707        %finish
#line 1707 "regression-compile-tmp/chimp.imp"
L_0166:;
                                                                //   1708      %finish
#line 1708 "regression-compile-tmp/chimp.imp"
L_0163:;
                                                                //   1709      %if item = 0 %start;  !second operand literal
#line 1709 "regression-compile-tmp/chimp.imp"
if (((ITEM) != (0))) goto L_0167;
                                                                //   1710        %if op = minus %and t_type = inty %start;  !standardise
#line 1710 "regression-compile-tmp/chimp.imp"
if (((OP) != (81))) goto L_0168;
#line 1710 "regression-compile-tmp/chimp.imp"
if (((T.TYPE) != (2046))) goto L_0168;
                                                                //   1711          t_val = -t_val %if t_val # minint;  op = plus
#line 1711 "regression-compile-tmp/chimp.imp"
if (((T.VAL) == ((-2147483648)))) goto L_0169;
#line 1711 "regression-compile-tmp/chimp.imp"
T.VAL = (-(T.VAL));
#line 1711 "regression-compile-tmp/chimp.imp"
L_0169:;
#line 1711 "regression-compile-tmp/chimp.imp"
OP = 80;
                                                                //   1712        %finish
#line 1712 "regression-compile-tmp/chimp.imp"
L_0168:;
                                                                //   1713        item = item1 %and %continue %if t_val = 0 %and opok&znop # 0
#line 1713 "regression-compile-tmp/chimp.imp"
if (((T.VAL) != (0))) goto L_016a;
#line 1713 "regression-compile-tmp/chimp.imp"
if (((((OPOK) & (512))) == (0))) goto L_016a;
#line 1713 "regression-compile-tmp/chimp.imp"
ITEM = ITEM1;
#line 1713 "regression-compile-tmp/chimp.imp"
goto L_0153;
#line 1713 "regression-compile-tmp/chimp.imp"
L_016a:;
                                                                //   1714      %finish
#line 1714 "regression-compile-tmp/chimp.imp"
L_0167:;
                                                                //   1715      item = explo;!expref(op,item1,item,t_val)
#line 1715 "regression-compile-tmp/chimp.imp"
ITEM = EXPLO;
                                                                //   1716      t_low = minint;  t_val = maxint;  !?real
#line 1716 "regression-compile-tmp/chimp.imp"
T.LOW = (-2147483648);
#line 1716 "regression-compile-tmp/chimp.imp"
T.VAL = 2147483647;
                                                                //   1717    %repeat
#line 1717 "regression-compile-tmp/chimp.imp"
L_0153:;
#line 1717 "regression-compile-tmp/chimp.imp"
goto L_0151;
#line 1717 "regression-compile-tmp/chimp.imp"
L_0152:;
                                                                //   1718  final:
#line 1718 "regression-compile-tmp/chimp.imp"
U_1009:;
                                                                //   1719    expp = atomp1;  !restore to start
#line 1719 "regression-compile-tmp/chimp.imp"
EXPP = ATOMP1;
                                                                //   1720    expfault(typerr) %if compat(control) = 0
#line 1720 "regression-compile-tmp/chimp.imp"
if (((COMPAT(CONTROL)) != (0))) goto L_016b;
#line 1720 "regression-compile-tmp/chimp.imp"
EXPFAULT(6);
#line 1720 "regression-compile-tmp/chimp.imp"
L_016b:;
                                                                //   1721  %end;  !get EXPRESSION
#line 1721 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETEXPRESSION at level 2
                                                                //   1722    
                                                                //   1723  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   1724  !!!!!!!!!!!!!!!!!!!!  Conditions and loops  !!!!!!!!!!!!!!!!!!!!
                                                                //   1725  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   1726  !
                                                                //   1727  %routine GET CONDITION
#line 1727 "regression-compile-tmp/chimp.imp"
void GETCONDITION( void )
#line 1727 "regression-compile-tmp/chimp.imp"
{
                                                                //   1728  %integer polarity
#line 1728 "regression-compile-tmp/chimp.imp"
int POLARITY;
                                                                //   1729    polarity = subatom
#line 1729 "regression-compile-tmp/chimp.imp"
POLARITY = SUBATOM;
                                                                //   1730    condnp = np
#line 1730 "regression-compile-tmp/chimp.imp"
CONDNP = NP;
                                                                //   1731    get EXPRESSION(cond,any)
#line 1731 "regression-compile-tmp/chimp.imp"
GETEXPRESSION(64, 255);
                                                                //   1732  !  put3(jump+polarity,item,0)
                                                                //   1733  %end;  !get CONDITION
#line 1733 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETCONDITION at level 2
                                                                //   1734  
                                                                //   1735  %routine GET STATEMENTS(%integer stopper)
#line 1735 "regression-compile-tmp/chimp.imp"
void GETSTATEMENTS( int STOPPER )
#line 1735 "regression-compile-tmp/chimp.imp"
{
                                                                //   1736  %integer holdnp,holdlooplab
#line 1736 "regression-compile-tmp/chimp.imp"
int HOLDNP;
#line 1736 "regression-compile-tmp/chimp.imp"
int HOLDLOOPLAB;
                                                                //   1737  %switch initial(0:atommax)
#line 1737 "regression-compile-tmp/chimp.imp"
static int sw4_INITIAL_idx;
static const void * /*SWITCH*/ sw4_INITIAL[108] = { &&sw4_INITIAL_0, &&sw4_INITIAL_1, &&sw4_INITIAL_2, &&sw4_INITIAL_3, &&sw4_INITIAL_4, &&sw4_INITIAL_5, &&sw4_INITIAL_6, &&sw4_INITIAL_7, &&sw4_INITIAL_8, &&sw4_INITIAL_9, &&sw4_INITIAL_10, &&sw4_INITIAL_11, &&sw4_INITIAL_12, &&sw4_INITIAL_13, &&sw4_INITIAL_14, &&sw4_INITIAL_15, &&sw4_INITIAL_16, &&sw4_INITIAL_17, &&sw4_INITIAL_18, &&sw4_INITIAL_19, &&sw4_INITIAL_20, &&sw4_INITIAL_21, &&sw4_INITIAL_22, &&sw4_INITIAL_23, &&sw4_INITIAL_24, &&sw4_INITIAL_25, &&sw4_INITIAL_26, &&sw4_INITIAL_27, &&sw4_INITIAL_28, &&sw4_INITIAL_29, &&sw4_INITIAL_30, &&sw4_INITIAL_31, &&sw4_INITIAL_32, &&sw4_INITIAL_33, &&sw4_INITIAL_34, &&sw4_INITIAL_35, &&sw4_INITIAL_36, &&sw4_INITIAL_37, &&sw4_INITIAL_38, &&sw4_INITIAL_39, &&sw4_INITIAL_40, &&sw4_INITIAL_41, &&sw4_INITIAL_42, &&sw4_INITIAL_43, &&sw4_INITIAL_44, &&sw4_INITIAL_45, &&sw4_INITIAL_46, &&sw4_INITIAL_47, &&sw4_INITIAL_48, &&sw4_INITIAL_49, &&sw4_INITIAL_50, &&sw4_INITIAL_51, &&sw4_INITIAL_52, &&sw4_INITIAL_53, &&sw4_INITIAL_54, &&sw4_INITIAL_55, &&sw4_INITIAL_56, &&sw4_INITIAL_57, &&sw4_INITIAL_58, &&sw4_INITIAL_59, &&sw4_INITIAL_60, &&sw4_INITIAL_61, &&sw4_INITIAL_62, &&sw4_INITIAL_63, &&sw4_INITIAL_64, &&sw4_INITIAL_65, &&sw4_INITIAL_66, &&sw4_INITIAL_67, &&sw4_INITIAL_68, &&sw4_INITIAL_69, &&sw4_INITIAL_70, &&sw4_INITIAL_71, &&sw4_INITIAL_72, &&sw4_INITIAL_73, &&sw4_INITIAL_74, &&sw4_INITIAL_75, &&sw4_INITIAL_76, &&sw4_INITIAL_77, &&sw4_INITIAL_78, &&sw4_INITIAL_79, &&sw4_INITIAL_80, &&sw4_INITIAL_81, &&sw4_INITIAL_82, &&sw4_INITIAL_83, &&sw4_INITIAL_84, &&sw4_INITIAL_85, &&sw4_INITIAL_86, &&sw4_INITIAL_87, &&sw4_INITIAL_88, &&sw4_INITIAL_89, &&sw4_INITIAL_90, &&sw4_INITIAL_91, &&sw4_INITIAL_92, &&sw4_INITIAL_93, &&sw4_INITIAL_94, &&sw4_INITIAL_95, &&sw4_INITIAL_96, &&sw4_INITIAL_97, &&sw4_INITIAL_98, &&sw4_INITIAL_99, &&sw4_INITIAL_100, &&sw4_INITIAL_101, &&sw4_INITIAL_102, &&sw4_INITIAL_103, &&sw4_INITIAL_104, &&sw4_INITIAL_105, &&sw4_INITIAL_106, &&sw4_INITIAL_107,  };
                                                                //   1738  
                                                                //   1739  %routine GET INSTRUCTION
#line 1739 "regression-compile-tmp/chimp.imp"
void GETINSTRUCTION( void )
#line 1739 "regression-compile-tmp/chimp.imp"
{
                                                                //   1740  %integer item1,hold,act
#line 1740 "regression-compile-tmp/chimp.imp"
int ITEM1;
#line 1740 "regression-compile-tmp/chimp.imp"
int HOLD;
#line 1740 "regression-compile-tmp/chimp.imp"
int ACT;
                                                                //   1741  %record(identinfo)%name ditem1
#line 1741 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*DITEM1;
                                                                //   1742  %routine putact
#line 1742 "regression-compile-tmp/chimp.imp"
void PUTACT( void )
#line 1742 "regression-compile-tmp/chimp.imp"
{
                                                                //   1743  !  put3(act,t_val,hold)
                                                                //   1744  %end
#line 1744 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTACT at level 4
                                                                //   1745  !
                                                                //   1746    %if c_flags < hadinst %start;  !first in block
#line 1746 "regression-compile-tmp/chimp.imp"
if (((C.FLAGS) >= (32))) goto L_016c;
                                                                //   1747      c_flags = c_flags+hadinst
#line 1747 "regression-compile-tmp/chimp.imp"
C.FLAGS = (((int)(C.FLAGS)) + (32));
                                                                //   1748      fault(ordererr) %if level <= outerlevel
#line 1748 "regression-compile-tmp/chimp.imp"
if (((LEVEL) > (0))) goto L_016d;
#line 1748 "regression-compile-tmp/chimp.imp"
FAULT(10);
#line 1748 "regression-compile-tmp/chimp.imp"
L_016d:;
                                                                //   1749    %finish
#line 1749 "regression-compile-tmp/chimp.imp"
L_016c:;
                                                                //   1750    instnp = np
#line 1750 "regression-compile-tmp/chimp.imp"
INSTNP = NP;
                                                                //   1751    %cycle
#line 1751 "regression-compile-tmp/chimp.imp"
L_016e:;
                                                                //   1752      %if a(ident) %start
#line 1752 "regression-compile-tmp/chimp.imp"
if (!(A(54))) goto L_0171;
                                                                //   1753        name error %if item <= 0
#line 1753 "regression-compile-tmp/chimp.imp"
if (((ITEM) > (0))) goto L_0172;
#line 1753 "regression-compile-tmp/chimp.imp"
NAMEERROR();
#line 1753 "regression-compile-tmp/chimp.imp"
L_0172:;
                                                                //   1754        %if ditem_flags&var # 0 %start
#line 1754 "regression-compile-tmp/chimp.imp"
if (((((DITEM->FLAGS) & (1))) == (0))) goto L_0173;
                                                                //   1755          matched = 0
#line 1755 "regression-compile-tmp/chimp.imp"
MATCHED = 0;
                                                                //   1756          get EXPRESSION(simple,any)
#line 1756 "regression-compile-tmp/chimp.imp"
GETEXPRESSION(104, 255);
                                                                //   1757          item1 = item;  ditem1 == ditem
#line 1757 "regression-compile-tmp/chimp.imp"
ITEM1 = ITEM;
#line 1757 "regression-compile-tmp/chimp.imp"
DITEM1 = DITEM;
                                                                //   1758          %if a(equals) %start
#line 1758 "regression-compile-tmp/chimp.imp"
if (!(A(70))) goto L_0174;
                                                                //   1759            get VALUE(ditem1_type)
#line 1759 "regression-compile-tmp/chimp.imp"
GETVALUE(DITEM1->TYPE);
                                                                //   1760  !          put2(assign,item1)
                                                                //   1761         %else %if a(eqeq)
#line 1761 "regression-compile-tmp/chimp.imp"
goto L_0175;
#line 1761 "regression-compile-tmp/chimp.imp"
L_0174:;
#line 1761 "regression-compile-tmp/chimp.imp"
if (!(A(76))) goto L_0176;
                                                                //   1762            syntax error %if ditem1_type < indirect
#line 1762 "regression-compile-tmp/chimp.imp"
if (((DITEM1->TYPE) >= (16384))) goto L_0177;
#line 1762 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 1762 "regression-compile-tmp/chimp.imp"
L_0177:;
                                                                //   1763            get REFERENCE(ditem1_type)
#line 1763 "regression-compile-tmp/chimp.imp"
GETREFERENCE(DITEM1->TYPE);
                                                                //   1764            item = item+ad %if item # 0
#line 1764 "regression-compile-tmp/chimp.imp"
if (((ITEM) == (0))) goto L_0178;
#line 1764 "regression-compile-tmp/chimp.imp"
ITEM = (((int)(ITEM)) + (16384));
#line 1764 "regression-compile-tmp/chimp.imp"
L_0178:;
                                                                //   1765  !          put2(assign,item1+ad)
                                                                //   1766         %else %if atom = less %and byteinteger(fp) = '-'
#line 1766 "regression-compile-tmp/chimp.imp"
goto L_0175;
#line 1766 "regression-compile-tmp/chimp.imp"
L_0176:;
#line 1766 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (73))) goto L_0179;
#line 1766 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (45))) goto L_0179;
                                                                //   1767            fp = fp+1;  matched = 1
#line 1767 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
#line 1767 "regression-compile-tmp/chimp.imp"
MATCHED = 1;
                                                                //   1768            jammy = 2
#line 1768 "regression-compile-tmp/chimp.imp"
JAMMY = 2;
                                                                //   1769            get VALUE(ditem1_type)
#line 1769 "regression-compile-tmp/chimp.imp"
GETVALUE(DITEM1->TYPE);
                                                                //   1770  !          put2(jamassign,item1)
                                                                //   1771          %else
#line 1771 "regression-compile-tmp/chimp.imp"
goto L_0175;
#line 1771 "regression-compile-tmp/chimp.imp"
L_0179:;
                                                                //   1772            syntax error %if %not a(arrow)
#line 1772 "regression-compile-tmp/chimp.imp"
if (A(79)) goto L_017a;
#line 1772 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 1772 "regression-compile-tmp/chimp.imp"
L_017a:;
                                                                //   1773            get RESOLUTION
#line 1773 "regression-compile-tmp/chimp.imp"
GETRESOLUTION();
                                                                //   1774  !          put2(resolve,item1)
                                                                //   1775          %finish
#line 1775 "regression-compile-tmp/chimp.imp"
L_0175:;
                                                                //   1776        %else
#line 1776 "regression-compile-tmp/chimp.imp"
goto L_017b;
#line 1776 "regression-compile-tmp/chimp.imp"
L_0173:;
                                                                //   1777          error(caterr+point) %if ditem_flags&proc = 0
#line 1777 "regression-compile-tmp/chimp.imp"
if (((((DITEM->FLAGS) & (4))) != (0))) goto L_017c;
#line 1777 "regression-compile-tmp/chimp.imp"
ERROR(67);
#line 1777 "regression-compile-tmp/chimp.imp"
L_017c:;
                                                                //   1778          ditem == dict(ditem_type) %if ditem_flags&parm # 0
#line 1778 "regression-compile-tmp/chimp.imp"
if (((((DITEM->FLAGS) & (64))) == (0))) goto L_017d;
#line 1778 "regression-compile-tmp/chimp.imp"
DITEM = &DICT[(((int)(DITEM->TYPE)) - (2001))];
#line 1778 "regression-compile-tmp/chimp.imp"
L_017d:;
                                                                //   1779          error(caterr+point) %if ditem_type # nulltype
#line 1779 "regression-compile-tmp/chimp.imp"
if (((DITEM->TYPE) == (2041))) goto L_017e;
#line 1779 "regression-compile-tmp/chimp.imp"
ERROR(67);
#line 1779 "regression-compile-tmp/chimp.imp"
L_017e:;
                                                                //   1780          %if a(left) %start
#line 1780 "regression-compile-tmp/chimp.imp"
if (!(A(55))) goto L_017f;
                                                                //   1781            get PARMLIST;  get(right)
#line 1781 "regression-compile-tmp/chimp.imp"
GETPARMLIST();
#line 1781 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   1782          %else;  !parameterless routine
#line 1782 "regression-compile-tmp/chimp.imp"
goto L_0180;
#line 1782 "regression-compile-tmp/chimp.imp"
L_017f:;
                                                                //   1783            error(toofew+point) %if ditem_flags&more # 0
#line 1783 "regression-compile-tmp/chimp.imp"
if (((((DITEM->FLAGS) & (128))) == (0))) goto L_0181;
#line 1783 "regression-compile-tmp/chimp.imp"
ERROR(97);
#line 1783 "regression-compile-tmp/chimp.imp"
L_0181:;
                                                                //   1784  !          put3(rcall,item,0)
                                                                //   1785          %finish
#line 1785 "regression-compile-tmp/chimp.imp"
L_0180:;
                                                                //   1786        %finish
#line 1786 "regression-compile-tmp/chimp.imp"
L_017b:;
                                                                //   1787      %finish %else %start
#line 1787 "regression-compile-tmp/chimp.imp"
goto L_0182;
#line 1787 "regression-compile-tmp/chimp.imp"
L_0171:;
                                                                //   1788        act = atom;  hold = subatom;  t_val = 0
#line 1788 "regression-compile-tmp/chimp.imp"
ACT = ATOM;
#line 1788 "regression-compile-tmp/chimp.imp"
HOLD = SUBATOM;
#line 1788 "regression-compile-tmp/chimp.imp"
T.VAL = 0;
                                                                //   1789        c_access = 0
#line 1789 "regression-compile-tmp/chimp.imp"
C.ACCESS = 0;
                                                                //   1790        %if a(monitor) %start
#line 1790 "regression-compile-tmp/chimp.imp"
if (!(A(13))) goto L_0183;
                                                                //   1791          c_access = 1
#line 1791 "regression-compile-tmp/chimp.imp"
C.ACCESS = 1;
                                                                //   1792  !        fault(monitor<<8)
                                                                //   1793        %else %if a(exit);  !%exit, %continue
#line 1793 "regression-compile-tmp/chimp.imp"
goto L_0184;
#line 1793 "regression-compile-tmp/chimp.imp"
L_0183:;
#line 1793 "regression-compile-tmp/chimp.imp"
if (!(A(6))) goto L_0185;
                                                                //   1794          %if looplab = 0 %then fault(notinloop+point) %c
#line 1794 "regression-compile-tmp/chimp.imp"
if (((LOOPLAB) != (0))) goto L_0186;
#line 1794 "regression-compile-tmp/chimp.imp"
FAULT(80);
#line 1794 "regression-compile-tmp/chimp.imp"
goto L_0187;
#line 1794 "regression-compile-tmp/chimp.imp"
L_0186:;
#line 1794 "regression-compile-tmp/chimp.imp"
T.VAL = LOOPLAB;
#line 1794 "regression-compile-tmp/chimp.imp"
PUTACT();
#line 1794 "regression-compile-tmp/chimp.imp"
L_0187:;
                                                                //   1795          %else t_val = looplab %and putact
                                                                //   1796          %exit
#line 1796 "regression-compile-tmp/chimp.imp"
goto L_016f;
                                                                //   1797        %else %if a(return)
#line 1797 "regression-compile-tmp/chimp.imp"
L_0185:;
#line 1797 "regression-compile-tmp/chimp.imp"
if (!(A(7))) goto L_0188;
                                                                //   1798          %if c_type # nulltype %then fault(notinrout+point) %c
#line 1798 "regression-compile-tmp/chimp.imp"
if (((C.TYPE) == (2041))) goto L_0189;
#line 1798 "regression-compile-tmp/chimp.imp"
FAULT(81);
#line 1798 "regression-compile-tmp/chimp.imp"
goto L_018a;
#line 1798 "regression-compile-tmp/chimp.imp"
L_0189:;
#line 1798 "regression-compile-tmp/chimp.imp"
PUTACT();
#line 1798 "regression-compile-tmp/chimp.imp"
L_018a:;
                                                                //   1799          %else putact
                                                                //   1800          %exit
#line 1800 "regression-compile-tmp/chimp.imp"
goto L_016f;
                                                                //   1801        %else %if a(result)
#line 1801 "regression-compile-tmp/chimp.imp"
L_0188:;
#line 1801 "regression-compile-tmp/chimp.imp"
if (!(A(9))) goto L_018b;
                                                                //   1802          error(notinfun+point) %if c_type <= nulltype
#line 1802 "regression-compile-tmp/chimp.imp"
if (((C.TYPE) > (2041))) goto L_018c;
#line 1802 "regression-compile-tmp/chimp.imp"
ERROR(82);
#line 1802 "regression-compile-tmp/chimp.imp"
L_018c:;
                                                                //   1803          syntax error %if %not a assop
#line 1803 "regression-compile-tmp/chimp.imp"
if (AASSOP()) goto L_018d;
#line 1803 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 1803 "regression-compile-tmp/chimp.imp"
L_018d:;
                                                                //   1804          %if c_type < direct %start;  !function
#line 1804 "regression-compile-tmp/chimp.imp"
if (((C.TYPE) >= (8192))) goto L_018e;
                                                                //   1805            fault(caterr+point) %if atom = eqeq
#line 1805 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (76))) goto L_018f;
#line 1805 "regression-compile-tmp/chimp.imp"
FAULT(67);
#line 1805 "regression-compile-tmp/chimp.imp"
L_018f:;
                                                                //   1806            get VALUE(c_type)
#line 1806 "regression-compile-tmp/chimp.imp"
GETVALUE(C.TYPE);
                                                                //   1807  !          put2(result,0)
                                                                //   1808          %else;  !map
#line 1808 "regression-compile-tmp/chimp.imp"
goto L_0190;
#line 1808 "regression-compile-tmp/chimp.imp"
L_018e:;
                                                                //   1809            fault(caterr+point) %if atom # eqeq
#line 1809 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (76))) goto L_0191;
#line 1809 "regression-compile-tmp/chimp.imp"
FAULT(67);
#line 1809 "regression-compile-tmp/chimp.imp"
L_0191:;
                                                                //   1810            get REFERENCE(c_type+(indirect-direct))
#line 1810 "regression-compile-tmp/chimp.imp"
GETREFERENCE(((C.TYPE) + ((int)(8192))));
                                                                //   1811  !          put2(result,0)
                                                                //   1812          %finish
#line 1812 "regression-compile-tmp/chimp.imp"
L_0190:;
                                                                //   1813          %exit
#line 1813 "regression-compile-tmp/chimp.imp"
goto L_016f;
                                                                //   1814        %else %if a(tf);  !%true, %false
#line 1814 "regression-compile-tmp/chimp.imp"
L_018b:;
#line 1814 "regression-compile-tmp/chimp.imp"
if (!(A(8))) goto L_0192;
                                                                //   1815          %if c_type # booltype %then fault(notinpred+point) %c
#line 1815 "regression-compile-tmp/chimp.imp"
if (((C.TYPE) == (2048))) goto L_0193;
#line 1815 "regression-compile-tmp/chimp.imp"
FAULT(83);
#line 1815 "regression-compile-tmp/chimp.imp"
goto L_0194;
#line 1815 "regression-compile-tmp/chimp.imp"
L_0193:;
#line 1815 "regression-compile-tmp/chimp.imp"
PUTACT();
#line 1815 "regression-compile-tmp/chimp.imp"
L_0194:;
                                                                //   1816          %else putact
                                                                //   1817          %exit
#line 1817 "regression-compile-tmp/chimp.imp"
goto L_016f;
                                                                //   1818        %else %if a(arrow) %or a(goto)
#line 1818 "regression-compile-tmp/chimp.imp"
L_0192:;
#line 1818 "regression-compile-tmp/chimp.imp"
if (A(79)) goto L_012b;
#line 1818 "regression-compile-tmp/chimp.imp"
if (!(A(11))) goto L_0195;
#line 1818 "regression-compile-tmp/chimp.imp"
L_012b:;
                                                                //   1819          nonstandard(kgoto) %if atom = goto
#line 1819 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (11))) goto L_0196;
#line 1819 "regression-compile-tmp/chimp.imp"
NONSTANDARD(128);
#line 1819 "regression-compile-tmp/chimp.imp"
L_0196:;
                                                                //   1820          get(ident)
#line 1820 "regression-compile-tmp/chimp.imp"
GET(54);
                                                                //   1821          %if byteinteger(fp) # '(' %start
#line 1821 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) == (40))) goto L_0197;
                                                                //   1822            %if item < c_localdpos %or ditem_flags&lab = 0 %c
#line 1822 "regression-compile-tmp/chimp.imp"
if (((ITEM) < (C.LOCALDPOS))) goto L_0131;
#line 1822 "regression-compile-tmp/chimp.imp"
if (((((DITEM->FLAGS) & (2))) == (0))) goto L_0131;
#line 1822 "regression-compile-tmp/chimp.imp"
if (((DITEM->TYPE) == (2041))) goto L_0198;
#line 1822 "regression-compile-tmp/chimp.imp"
L_0131:;
                                                                //   1823            %or ditem_type # nulltype %start
                                                                //   1824              d_flags = spec+lab;  d_type = nulltype
#line 1824 "regression-compile-tmp/chimp.imp"
D.FLAGS = 18;
#line 1824 "regression-compile-tmp/chimp.imp"
D.TYPE = 2041;
                                                                //   1825              declare
#line 1825 "regression-compile-tmp/chimp.imp"
DECLARE();
                                                                //   1826            %finish
#line 1826 "regression-compile-tmp/chimp.imp"
L_0198:;
                                                                //   1827  !          put3(jump,item,0)
                                                                //   1828          %finish %else %start
#line 1828 "regression-compile-tmp/chimp.imp"
goto L_0199;
#line 1828 "regression-compile-tmp/chimp.imp"
L_0197:;
                                                                //   1829            name error %if item < c_localdpos
#line 1829 "regression-compile-tmp/chimp.imp"
if (((ITEM) >= (C.LOCALDPOS))) goto L_019a;
#line 1829 "regression-compile-tmp/chimp.imp"
NAMEERROR();
#line 1829 "regression-compile-tmp/chimp.imp"
L_019a:;
                                                                //   1830            syntax error %if ditem_flags&lab = 0 %or ditem_type = nulltype
#line 1830 "regression-compile-tmp/chimp.imp"
if (((((DITEM->FLAGS) & (2))) == (0))) goto L_019b;
#line 1830 "regression-compile-tmp/chimp.imp"
if (((DITEM->TYPE) != (2041))) goto L_019c;
#line 1830 "regression-compile-tmp/chimp.imp"
L_019b:;
#line 1830 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 1830 "regression-compile-tmp/chimp.imp"
L_019c:;
                                                                //   1831            get(left)
#line 1831 "regression-compile-tmp/chimp.imp"
GET(55);
                                                                //   1832            get VALUE(ditem_type);  !index
#line 1832 "regression-compile-tmp/chimp.imp"
GETVALUE(DITEM->TYPE);
                                                                //   1833            get(right)
#line 1833 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   1834          %finish
#line 1834 "regression-compile-tmp/chimp.imp"
L_0199:;
                                                                //   1835          %exit
#line 1835 "regression-compile-tmp/chimp.imp"
goto L_016f;
                                                                //   1836        %else %if a(stop)
#line 1836 "regression-compile-tmp/chimp.imp"
L_0195:;
#line 1836 "regression-compile-tmp/chimp.imp"
if (!(A(10))) goto L_019d;
                                                                //   1837          putact
#line 1837 "regression-compile-tmp/chimp.imp"
PUTACT();
                                                                //   1838          %exit
#line 1838 "regression-compile-tmp/chimp.imp"
goto L_016f;
                                                                //   1839        %else %if a(signal)
#line 1839 "regression-compile-tmp/chimp.imp"
L_019d:;
#line 1839 "regression-compile-tmp/chimp.imp"
if (!(A(12))) goto L_019e;
                                                                //   1840          c_access = 1
#line 1840 "regression-compile-tmp/chimp.imp"
C.ACCESS = 1;
                                                                //   1841          allow(keyevent)
#line 1841 "regression-compile-tmp/chimp.imp"
ALLOW(44);
                                                                //   1842          get LITINT
#line 1842 "regression-compile-tmp/chimp.imp"
GETLITINT();
                                                                //   1843          expfault(rangerr+point) %unless 0 <= t_val <= 15
#line 1843 "regression-compile-tmp/chimp.imp"
if ((((0) > (T.VAL))) || (((T.VAL) <= (15)))) goto L_019f;
#line 1843 "regression-compile-tmp/chimp.imp"
L_00aa:;
#line 1843 "regression-compile-tmp/chimp.imp"
EXPFAULT(76);
#line 1843 "regression-compile-tmp/chimp.imp"
L_019f:;
                                                                //   1844          hold = t_val;  t_val = 0
#line 1844 "regression-compile-tmp/chimp.imp"
HOLD = T.VAL;
#line 1844 "regression-compile-tmp/chimp.imp"
T.VAL = 0;
                                                                //   1845          get LITINT %if a(comma)
#line 1845 "regression-compile-tmp/chimp.imp"
if (!(A(59))) goto L_01a0;
#line 1845 "regression-compile-tmp/chimp.imp"
GETLITINT();
#line 1845 "regression-compile-tmp/chimp.imp"
L_01a0:;
                                                                //   1846          hold = t_val<<4+hold
#line 1846 "regression-compile-tmp/chimp.imp"
HOLD = (((int)(((T.VAL) << (4)))) + (HOLD));
                                                                //   1847          item = 0;  t_val = 0
#line 1847 "regression-compile-tmp/chimp.imp"
ITEM = 0;
#line 1847 "regression-compile-tmp/chimp.imp"
T.VAL = 0;
                                                                //   1848          get VALUE(anyint) %if a(comma)
#line 1848 "regression-compile-tmp/chimp.imp"
if (!(A(59))) goto L_01a1;
#line 1848 "regression-compile-tmp/chimp.imp"
GETVALUE(10238);
#line 1848 "regression-compile-tmp/chimp.imp"
L_01a1:;
                                                                //   1849  !        put2(act,hold)
                                                                //   1850          %exit
#line 1850 "regression-compile-tmp/chimp.imp"
goto L_016f;
                                                                //   1851        %else
#line 1851 "regression-compile-tmp/chimp.imp"
L_019e:;
                                                                //   1852          syntax error
#line 1852 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
                                                                //   1853        %finish
#line 1853 "regression-compile-tmp/chimp.imp"
L_0184:;
                                                                //   1854      %finish
#line 1854 "regression-compile-tmp/chimp.imp"
L_0182:;
                                                                //   1855    %repeat %until %not a(keyand)
#line 1855 "regression-compile-tmp/chimp.imp"
if (!(A(64))) goto L_016f;
#line 1855 "regression-compile-tmp/chimp.imp"
goto L_016e;
#line 1855 "regression-compile-tmp/chimp.imp"
L_016f:;
                                                                //   1856  %end;  !GET INSTRUCTION
#line 1856 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETINSTRUCTION at level 3
                                                                //   1857  
                                                                //   1858  %routine GET FOR CLAUSE
#line 1858 "regression-compile-tmp/chimp.imp"
void GETFORCLAUSE( void )
#line 1858 "regression-compile-tmp/chimp.imp"
{
                                                                //   1859  %integer loopvar,k,s,start,sval,i,inc,ival,e,n,temp
#line 1859 "regression-compile-tmp/chimp.imp"
int LOOPVAR;
#line 1859 "regression-compile-tmp/chimp.imp"
int K;
#line 1859 "regression-compile-tmp/chimp.imp"
int S;
#line 1859 "regression-compile-tmp/chimp.imp"
int START;
#line 1859 "regression-compile-tmp/chimp.imp"
int SVAL;
#line 1859 "regression-compile-tmp/chimp.imp"
int I;
#line 1859 "regression-compile-tmp/chimp.imp"
int INC;
#line 1859 "regression-compile-tmp/chimp.imp"
int IVAL;
#line 1859 "regression-compile-tmp/chimp.imp"
int E;
#line 1859 "regression-compile-tmp/chimp.imp"
int N;
#line 1859 "regression-compile-tmp/chimp.imp"
int TEMP;
                                                                //   1860  %integer eval
#line 1860 "regression-compile-tmp/chimp.imp"
int EVAL;
                                                                //   1861  %record(identinfo)%name dp
#line 1861 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*DP;
                                                                //   1862    holdnp = np;  temp = 0
#line 1862 "regression-compile-tmp/chimp.imp"
HOLDNP = NP;
#line 1862 "regression-compile-tmp/chimp.imp"
TEMP = 0;
                                                                //   1863    dict(curlab)_val = 1;  !dummy
#line 1863 "regression-compile-tmp/chimp.imp"
DICT[(((int)(CURLAB)) - (2001))].VAL = 1;
                                                                //   1864    condnp = np
#line 1864 "regression-compile-tmp/chimp.imp"
CONDNP = NP;
                                                                //   1865    get(ident)
#line 1865 "regression-compile-tmp/chimp.imp"
GET(54);
                                                                //   1866    name error %if item <= 0
#line 1866 "regression-compile-tmp/chimp.imp"
if (((ITEM) > (0))) goto L_01a2;
#line 1866 "regression-compile-tmp/chimp.imp"
NAMEERROR();
#line 1866 "regression-compile-tmp/chimp.imp"
L_01a2:;
                                                                //   1867    fault(typerr+point) %if dict(ditem_type&puretype)_type # inty
#line 1867 "regression-compile-tmp/chimp.imp"
if (((DICT[(((int)(((DITEM->TYPE) & (8191)))) - (2001))].TYPE) == (2046))) goto L_01a3;
#line 1867 "regression-compile-tmp/chimp.imp"
FAULT(70);
#line 1867 "regression-compile-tmp/chimp.imp"
L_01a3:;
                                                                //   1868    fault(caterr+point+warn) %if ditem_type # direct+inttype
#line 1868 "regression-compile-tmp/chimp.imp"
if (((DITEM->TYPE) == (10243))) goto L_01a4;
#line 1868 "regression-compile-tmp/chimp.imp"
FAULT(195);
#line 1868 "regression-compile-tmp/chimp.imp"
L_01a4:;
                                                                //   1869    loopvar = item;  dp == ditem
#line 1869 "regression-compile-tmp/chimp.imp"
LOOPVAR = ITEM;
#line 1869 "regression-compile-tmp/chimp.imp"
DP = DITEM;
                                                                //   1870    get(equals)
#line 1870 "regression-compile-tmp/chimp.imp"
GET(70);
                                                                //   1871    get VALUE(ditem_type)
#line 1871 "regression-compile-tmp/chimp.imp"
GETVALUE(DITEM->TYPE);
                                                                //   1872    start = item;  sval = t_val
#line 1872 "regression-compile-tmp/chimp.imp"
START = ITEM;
#line 1872 "regression-compile-tmp/chimp.imp"
SVAL = T.VAL;
                                                                //   1873    get(comma)
#line 1873 "regression-compile-tmp/chimp.imp"
GET(59);
                                                                //   1874    get VALUE(anyint)
#line 1874 "regression-compile-tmp/chimp.imp"
GETVALUE(10238);
                                                                //   1875    inc = item;  ival = t_val
#line 1875 "regression-compile-tmp/chimp.imp"
INC = ITEM;
#line 1875 "regression-compile-tmp/chimp.imp"
IVAL = T.VAL;
                                                                //   1876    expfault(rangerr+point) %and ival = 1 %if inc = 0 = ival
#line 1876 "regression-compile-tmp/chimp.imp"
if ((((INC) != (0))) || (((0) != (IVAL)))) goto L_01a5;
#line 1876 "regression-compile-tmp/chimp.imp"
EXPFAULT(76);
#line 1876 "regression-compile-tmp/chimp.imp"
IVAL = 1;
#line 1876 "regression-compile-tmp/chimp.imp"
L_01a5:;
                                                                //   1877    get(comma)
#line 1877 "regression-compile-tmp/chimp.imp"
GET(59);
                                                                //   1878    get VALUE(ditem_type)
#line 1878 "regression-compile-tmp/chimp.imp"
GETVALUE(DITEM->TYPE);
                                                                //   1879  !Deal with INC and replace START by START-INC
                                                                //   1880  !  k = undef
                                                                //   1881  !  k = exp(start)_y %if start >= expmin %and exp(start)_act = plus
                                                                //   1882    %if inc = 0 %start;  !literal increment
#line 1882 "regression-compile-tmp/chimp.imp"
if (((INC) != (0))) goto L_01a6;
                                                                //   1883      i = 1;  !litref(ival)
#line 1883 "regression-compile-tmp/chimp.imp"
I = 1;
                                                                //   1884      %if start = 0 %start;  !START and INC both literal
#line 1884 "regression-compile-tmp/chimp.imp"
if (((START) != (0))) goto L_01a7;
                                                                //   1885        sval = sval-ival;  s = 1;  !litref(sval)
#line 1885 "regression-compile-tmp/chimp.imp"
SVAL = (((int)(SVAL)) - (IVAL));
#line 1885 "regression-compile-tmp/chimp.imp"
S = 1;
                                                                //   1886  !   %else %if k <= litmax;  !START is x+lit
                                                                //   1887  !      k = ival-litval(k)
                                                                //   1888  !      s = exp(start)_x;  s = explo;!expref(plus,s,litref(k)) %if k # 0
                                                                //   1889      %else
#line 1889 "regression-compile-tmp/chimp.imp"
goto L_01a8;
#line 1889 "regression-compile-tmp/chimp.imp"
L_01a7:;
                                                                //   1890        s = explo;!expref(plus,start,litref(-ival))
#line 1890 "regression-compile-tmp/chimp.imp"
S = EXPLO;
                                                                //   1891      %finish
#line 1891 "regression-compile-tmp/chimp.imp"
L_01a8:;
                                                                //   1892    %finish %else %start;  !allocate temp var
#line 1892 "regression-compile-tmp/chimp.imp"
goto L_01a9;
#line 1892 "regression-compile-tmp/chimp.imp"
L_01a6:;
                                                                //   1893  !    i = tempvar;  put3(assign,i,inc);  temp = temp-4
                                                                //   1894  !    %if start = inc %start;  !identical
                                                                //   1895  !      s = 0;  sval = 0
                                                                //   1896  !   %else %if k = inc;  !START is x+INC
                                                                //   1897  !      s = exp(start)_x
                                                                //   1898  !    %else
                                                                //   1899  !      s = start;  s = litref(sval) %if s = 0
                                                                //   1900        s = explo;!expref(minus,s,i)
#line 1900 "regression-compile-tmp/chimp.imp"
S = EXPLO;
                                                                //   1901  !    %finish
                                                                //   1902    %finish
#line 1902 "regression-compile-tmp/chimp.imp"
L_01a9:;
                                                                //   1903  !  %if item = 0 %start;  !literal end-value
                                                                //   1904  !    e = litref(t_val);  eval = t_val
                                                                //   1905  !  %finish %else %start
                                                                //   1906  !    e = tempvar;  put3(assign,e,item);  temp = temp-4
                                                                //   1907  !  %finish
                                                                //   1908  !  put3(assign,loopvar,s)
                                                                //   1909  !  put3(label,curlab,0)
                                                                //   1910    %if start!inc!item = 0 %start;  !all literal
#line 1910 "regression-compile-tmp/chimp.imp"
if (((((((START) | (INC))) | (ITEM))) != (0))) goto L_01aa;
                                                                //   1911      k = t_val-sval;  n = k//ival
#line 1911 "regression-compile-tmp/chimp.imp"
K = (((int)(T.VAL)) - (SVAL));
#line 1911 "regression-compile-tmp/chimp.imp"
N = (long)((long)((int)(K)) / (long)((int)(_Z(IVAL))));
                                                                //   1912      fault(boundserr) %if n < 0
#line 1912 "regression-compile-tmp/chimp.imp"
if (((N) >= (0))) goto L_01ab;
#line 1912 "regression-compile-tmp/chimp.imp"
FAULT(14);
#line 1912 "regression-compile-tmp/chimp.imp"
L_01ab:;
                                                                //   1913      fault(unending) %if n*ival # k
#line 1913 "regression-compile-tmp/chimp.imp"
if ((((((int)(N)) * (IVAL))) == (K))) goto L_01ac;
#line 1913 "regression-compile-tmp/chimp.imp"
FAULT(37);
#line 1913 "regression-compile-tmp/chimp.imp"
L_01ac:;
                                                                //   1914  !    %if 0 <= t_val <= 32767 %start
                                                                //   1915  !      temp = loopvar
                                                                //   1916  !    %finish
                                                                //   1917    %finish
#line 1917 "regression-compile-tmp/chimp.imp"
L_01aa:;
                                                                //   1918  !  %if temp <= 0 %start
                                                                //   1919  !    c_fortemps = c_fortemps-temp;  !ie increment
                                                                //   1920  !    put3(compare,loopvar,e)
                                                                //   1921  !    put3(eq,0,curlab+1)
                                                                //   1922  !  %finish
                                                                //   1923  !  put3(plusass,loopvar,i)
                                                                //   1924  !  compile(holdnp,np)
                                                                //   1925  %end;  !get FORCLAUSE
#line 1925 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETFORCLAUSE at level 3
                                                                //   1926  
                                                                //   1927  %routine GET SWITCH INDEX
#line 1927 "regression-compile-tmp/chimp.imp"
void GETSWITCHINDEX( void )
#line 1927 "regression-compile-tmp/chimp.imp"
{
                                                                //   1928  %integer item1
#line 1928 "regression-compile-tmp/chimp.imp"
int ITEM1;
                                                                //   1929  %record(identinfo)%name dp
#line 1929 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*DP;
                                                                //   1930    item1 = item;  dp == ditem
#line 1930 "regression-compile-tmp/chimp.imp"
ITEM1 = ITEM;
#line 1930 "regression-compile-tmp/chimp.imp"
DP = DITEM;
                                                                //   1931    get(left)
#line 1931 "regression-compile-tmp/chimp.imp"
GET(55);
                                                                //   1932    item = 1
#line 1932 "regression-compile-tmp/chimp.imp"
ITEM = 1;
                                                                //   1933    %if a(star) %start
#line 1933 "regression-compile-tmp/chimp.imp"
if (!(A(88))) goto L_01ad;
                                                                //   1934      fault(duperr+point) %if dp_spare # 0
#line 1934 "regression-compile-tmp/chimp.imp"
if (((DP->SPARE) == (0))) goto L_01ae;
#line 1934 "regression-compile-tmp/chimp.imp"
FAULT(71);
#line 1934 "regression-compile-tmp/chimp.imp"
L_01ae:;
                                                                //   1935      dp_spare = 1
#line 1935 "regression-compile-tmp/chimp.imp"
DP->SPARE = 1;
                                                                //   1936    %else
#line 1936 "regression-compile-tmp/chimp.imp"
goto L_01af;
#line 1936 "regression-compile-tmp/chimp.imp"
L_01ad:;
                                                                //   1937      get LITERAL(dp_type)
#line 1937 "regression-compile-tmp/chimp.imp"
GETLITERAL(DP->TYPE);
                                                                //   1938     !beware faulty declaration or index
                                                                //   1939      %if dp_type > inttype %and faultnum = 0 %start
#line 1939 "regression-compile-tmp/chimp.imp"
if (((DP->TYPE) <= (2051))) goto L_01b0;
#line 1939 "regression-compile-tmp/chimp.imp"
if (((FAULTNUM) != (0))) goto L_01b0;
                                                                //   1940        t_val = t_val-dict(dp_type)_low+dp_val
#line 1940 "regression-compile-tmp/chimp.imp"
T.VAL = (((int)((((int)(T.VAL)) - (DICT[(((int)(DP->TYPE)) - (2001))].LOW)))) + (DP->VAL));
                                                                //   1941        expfault(duperr+point) %if final(t_val) # 0
#line 1941 "regression-compile-tmp/chimp.imp"
if (((FINAL[T.VAL]) == (0))) goto L_01b1;
#line 1941 "regression-compile-tmp/chimp.imp"
EXPFAULT(71);
#line 1941 "regression-compile-tmp/chimp.imp"
L_01b1:;
                                                                //   1942  !      define jumps(final(t_val));  !in case of lit jumps
                                                                //   1943        final(t_val) = 1
#line 1943 "regression-compile-tmp/chimp.imp"
FINAL[T.VAL] = 1;
                                                                //   1944      %finish
#line 1944 "regression-compile-tmp/chimp.imp"
L_01b0:;
                                                                //   1945    %finish
#line 1945 "regression-compile-tmp/chimp.imp"
L_01af:;
                                                                //   1946    get(right)
#line 1946 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   1947    c_access = 1
#line 1947 "regression-compile-tmp/chimp.imp"
C.ACCESS = 1;
                                                                //   1948  %end
#line 1948 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETSWITCHINDEX at level 3
                                                                //   1949  
                                                                //   1950  ![unsure of efficiency implications of trapping overflow lower down]
                                                                //   1951  %on %event 1,14 %start
#line 1951 "regression-compile-tmp/chimp.imp"
if (!_imp_on_event(1, 14)) goto L_01b2;  /* TO DO: Remove %on %event handler just before L_01b2: if present for this block */
                                                                //   1952  !$IF VAX
                                                                //   1953    report(rangerr,0) %if event_event = 1
#line 1953 "regression-compile-tmp/chimp.imp"
if (((_imp_EVENT().EVENT) != (1))) goto L_01b3;
#line 1953 "regression-compile-tmp/chimp.imp"
REPORT(12, 0);
#line 1953 "regression-compile-tmp/chimp.imp"
L_01b3:;
                                                                //   1954  !$IF AMDAHL
                                                                //   1955  {  report(rangerr,0) %if eventinf>>8 = 1
                                                                //   1956  !$FINISH
                                                                //   1957    -> skip
#line 1957 "regression-compile-tmp/chimp.imp"
goto U_100a;
                                                                //   1958  %finish
#line 1958 "regression-compile-tmp/chimp.imp"
L_01b2:;
                                                                //   1959  !!!!!!!!!!!!!!!!!!!  Start of new statement  !!!!!!!!!!!!!!!!!!!
                                                                //   1960  next:
#line 1960 "regression-compile-tmp/chimp.imp"
U_100b:;
                                                                //   1961    statements = statements+1
#line 1961 "regression-compile-tmp/chimp.imp"
STATEMENTS = (((int)(STATEMENTS)) + (1));
                                                                //   1962  next1:
#line 1962 "regression-compile-tmp/chimp.imp"
U_100c:;
                                                                //   1963    report(faultnum,faultp) %if faultnum # 0
#line 1963 "regression-compile-tmp/chimp.imp"
if (((FAULTNUM) == (0))) goto L_01b4;
#line 1963 "regression-compile-tmp/chimp.imp"
REPORT(FAULTNUM, FAULTP);
#line 1963 "regression-compile-tmp/chimp.imp"
L_01b4:;
                                                                //   1964    d = 0;  declmode = 0;  dsize = 0
#line 1964 "regression-compile-tmp/chimp.imp"
D = (IDENTINFO){ 0 } /* Assign 0's to all fields of record */;
#line 1964 "regression-compile-tmp/chimp.imp"
DECLMODE = 0;
#line 1964 "regression-compile-tmp/chimp.imp"
DSIZE = 0;
                                                                //   1965    dlim0 = dlim;  elements = 0
#line 1965 "regression-compile-tmp/chimp.imp"
DLIM0 = DLIM;
#line 1965 "regression-compile-tmp/chimp.imp"
ELEMENTS = 0;
                                                                //   1966    speccing = 0;  mcoding = 0
#line 1966 "regression-compile-tmp/chimp.imp"
SPECCING = 0;
#line 1966 "regression-compile-tmp/chimp.imp"
MCODING = 0;
                                                                //   1967    literal = 0;  jammy = 0
#line 1967 "regression-compile-tmp/chimp.imp"
LITERAL = 0;
#line 1967 "regression-compile-tmp/chimp.imp"
JAMMY = 0;
                                                                //   1968    dict(curlab)_val = 0;  dict(curlab+1)_val = 0
#line 1968 "regression-compile-tmp/chimp.imp"
DICT[(((int)(CURLAB)) - (2001))].VAL = 0;
#line 1968 "regression-compile-tmp/chimp.imp"
DICT[(((int)((((int)(CURLAB)) + (1)))) - (2001))].VAL = 0;
                                                                //   1969    np = np0;  instnp = np0;  condnp = np0
#line 1969 "regression-compile-tmp/chimp.imp"
NP = 3255;
#line 1969 "regression-compile-tmp/chimp.imp"
INSTNP = 3255;
#line 1969 "regression-compile-tmp/chimp.imp"
CONDNP = 3255;
                                                                //   1970  !  constad == finalad;  constbound = purebound
                                                                //   1971    %if explo < expmin+50 %or litpos > litmax-50 %start
#line 1971 "regression-compile-tmp/chimp.imp"
if (((EXPLO) < (3305))) goto L_0170;
#line 1971 "regression-compile-tmp/chimp.imp"
if (((LITPOS) <= (1950))) goto L_01b5;
#line 1971 "regression-compile-tmp/chimp.imp"
L_0170:;
                                                                //   1972      !zaps = zaps+1;  zaps = zaps+999 %if litpos > litmax-50
                                                                //   1973      forget all
#line 1973 "regression-compile-tmp/chimp.imp"
FORGETALL();
                                                                //   1974    %finish
#line 1974 "regression-compile-tmp/chimp.imp"
L_01b5:;
                                                                //   1975    t_val = 0
#line 1975 "regression-compile-tmp/chimp.imp"
T.VAL = 0;
                                                                //   1976  !
                                                                //   1977  initial(terminator):
#line 1977 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_52:;
                                                                //   1978    atom = next atom;  matched = 1
#line 1978 "regression-compile-tmp/chimp.imp"
ATOM = NEXTATOM();
#line 1978 "regression-compile-tmp/chimp.imp"
MATCHED = 1;
                                                                //   1979    -> initial(atom)
#line 1979 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_idx = ATOM; if ((0 <= sw4_INITIAL_idx) && (sw4_INITIAL_idx <= 107)) goto *sw4_INITIAL[sw4_INITIAL_idx]; else {
   /*_imp_signal(8, 2, sw4_INITIAL_idx);*/
   fprintf(stderr, "%%SWITCH index INITIAL(%d) not in range 0:107 at %s:%d\n",
           sw4_INITIAL_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   1980  initial(star): initial(exclam): initial(exclam2):
#line 1980 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_88:;
#line 1980 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_82:;
#line 1980 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_83:;
                                                                //   1981    read line
#line 1981 "regression-compile-tmp/chimp.imp"
READLINE();
                                                                //   1982    -> next1
#line 1982 "regression-compile-tmp/chimp.imp"
goto U_100c;
                                                                //   1983  term:
#line 1983 "regression-compile-tmp/chimp.imp"
U_1009:;
                                                                //   1984    get(terminator)
#line 1984 "regression-compile-tmp/chimp.imp"
GET(52);
                                                                //   1985    -> next
#line 1985 "regression-compile-tmp/chimp.imp"
goto U_100b;
                                                                //   1986  
                                                                //   1987  skip:
#line 1987 "regression-compile-tmp/chimp.imp"
U_100a:;
                                                                //   1988    c_access = -1
#line 1988 "regression-compile-tmp/chimp.imp"
C.ACCESS = (-1);
                                                                //   1989    %if atom # terminator %start
#line 1989 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (52))) goto L_01b6;
                                                                //   1990      %cycle
#line 1990 "regression-compile-tmp/chimp.imp"
L_01b7:;
                                                                //   1991        subatom = atom;  atom = next atom
#line 1991 "regression-compile-tmp/chimp.imp"
SUBATOM = ATOM;
#line 1991 "regression-compile-tmp/chimp.imp"
ATOM = NEXTATOM();
                                                                //   1992      %repeat %until atom = terminator
#line 1992 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (52))) goto L_01b8;
#line 1992 "regression-compile-tmp/chimp.imp"
goto L_01b7;
#line 1992 "regression-compile-tmp/chimp.imp"
L_01b8:;
                                                                //   1993      starts = starts+1 %if subatom = start
#line 1993 "regression-compile-tmp/chimp.imp"
if (((SUBATOM) != (21))) goto L_01ba;
#line 1993 "regression-compile-tmp/chimp.imp"
STARTS = (((int)(STARTS)) + (1));
#line 1993 "regression-compile-tmp/chimp.imp"
L_01ba:;
                                                                //   1994      cycles = cycles+1 %if subatom = cycle
#line 1994 "regression-compile-tmp/chimp.imp"
if (((SUBATOM) != (22))) goto L_01bb;
#line 1994 "regression-compile-tmp/chimp.imp"
CYCLES = (((int)(CYCLES)) + (1));
#line 1994 "regression-compile-tmp/chimp.imp"
L_01bb:;
                                                                //   1995    %finish
#line 1995 "regression-compile-tmp/chimp.imp"
L_01b6:;
                                                                //   1996    -> next
#line 1996 "regression-compile-tmp/chimp.imp"
goto U_100b;
                                                                //   1997  
                                                                //   1998  initial(dud):
#line 1998 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_63:;
                                                                //   1999    syntax error;  !ie atom error
#line 1999 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
                                                                //   2000  
                                                                //   2001  initial(*):
#line 2001 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_default:;
                                                                //   2002    error(nonstarter+point)
#line 2002 "regression-compile-tmp/chimp.imp"
ERROR(93);
                                                                //   2003  
                                                                //   2004  initial(ident):
#line 2004 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_54:;
                                                                //   2005    %if byteinteger(fp) = ':' %start;  !simple label
#line 2005 "regression-compile-tmp/chimp.imp"
if (((*_imp_BYTEINTEGER(FP)) != (58))) goto L_01bc;
                                                                //   2006      fp = fp+1
#line 2006 "regression-compile-tmp/chimp.imp"
FP = (((int)(FP)) + (1));
                                                                //   2007      d_flags = lab;  d_type = nulltype
#line 2007 "regression-compile-tmp/chimp.imp"
D.FLAGS = 2;
#line 2007 "regression-compile-tmp/chimp.imp"
D.TYPE = 2041;
                                                                //   2008      declare
#line 2008 "regression-compile-tmp/chimp.imp"
DECLARE();
                                                                //   2009      set user label(item)
#line 2009 "regression-compile-tmp/chimp.imp"
SETUSERLABEL(ITEM);
                                                                //   2010      ->next
#line 2010 "regression-compile-tmp/chimp.imp"
goto U_100b;
                                                                //   2011    %finish
#line 2011 "regression-compile-tmp/chimp.imp"
L_01bc:;
                                                                //   2012    name error %if item <= 0
#line 2012 "regression-compile-tmp/chimp.imp"
if (((ITEM) > (0))) goto L_01bd;
#line 2012 "regression-compile-tmp/chimp.imp"
NAMEERROR();
#line 2012 "regression-compile-tmp/chimp.imp"
L_01bd:;
                                                                //   2013    %if ditem_flags&lab # 0 %start
#line 2013 "regression-compile-tmp/chimp.imp"
if (((((DITEM->FLAGS) & (2))) == (0))) goto L_01be;
                                                                //   2014      get SWITCH INDEX
#line 2014 "regression-compile-tmp/chimp.imp"
GETSWITCHINDEX();
                                                                //   2015      get(colon)
#line 2015 "regression-compile-tmp/chimp.imp"
GET(58);
                                                                //   2016      ->next
#line 2016 "regression-compile-tmp/chimp.imp"
goto U_100b;
                                                                //   2017    %finish
#line 2017 "regression-compile-tmp/chimp.imp"
L_01be:;
                                                                //   2018  initial(return): initial(result): initial(tf):
#line 2018 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_7:;
#line 2018 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_9:;
#line 2018 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_8:;
                                                                //   2019  initial(stop): initial(signal): initial(monitor):
#line 2019 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_10:;
#line 2019 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_12:;
#line 2019 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_13:;
                                                                //   2020  initial(exit): initial(goto): initial(arrow):
#line 2020 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_6:;
#line 2020 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_11:;
#line 2020 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_79:;
                                                                //   2021    matched = 0
#line 2021 "regression-compile-tmp/chimp.imp"
MATCHED = 0;
                                                                //   2022    get INSTRUCTION
#line 2022 "regression-compile-tmp/chimp.imp"
GETINSTRUCTION();
                                                                //   2023    -> next %if a(terminator)
#line 2023 "regression-compile-tmp/chimp.imp"
if (!(A(52))) goto L_01bf;
#line 2023 "regression-compile-tmp/chimp.imp"
goto U_100b;
#line 2023 "regression-compile-tmp/chimp.imp"
L_01bf:;
                                                                //   2024    c_access = 1
#line 2024 "regression-compile-tmp/chimp.imp"
C.ACCESS = 1;
                                                                //   2025    %if a(iu) %start
#line 2025 "regression-compile-tmp/chimp.imp"
if (!(A(16))) goto L_01c0;
                                                                //   2026      holdnp = np
#line 2026 "regression-compile-tmp/chimp.imp"
HOLDNP = NP;
                                                                //   2027      get CONDITION
#line 2027 "regression-compile-tmp/chimp.imp"
GETCONDITION();
                                                                //   2028  !    compile(holdnp,np)
                                                                //   2029    %else %if a(while)
#line 2029 "regression-compile-tmp/chimp.imp"
goto L_01c1;
#line 2029 "regression-compile-tmp/chimp.imp"
L_01c0:;
#line 2029 "regression-compile-tmp/chimp.imp"
if (!(A(17))) goto L_01c2;
                                                                //   2030      holdnp = np
#line 2030 "regression-compile-tmp/chimp.imp"
HOLDNP = NP;
                                                                //   2031  !    put3(label,curlab,0)
                                                                //   2032      get CONDITION
#line 2032 "regression-compile-tmp/chimp.imp"
GETCONDITION();
                                                                //   2033  !    compile(holdnp,np)
                                                                //   2034  !    put3(jump,curlab,0)
                                                                //   2035  !    put3(label,curlab+1,0)
                                                                //   2036    %else %if a(for)
#line 2036 "regression-compile-tmp/chimp.imp"
goto L_01c1;
#line 2036 "regression-compile-tmp/chimp.imp"
L_01c2:;
#line 2036 "regression-compile-tmp/chimp.imp"
if (!(A(19))) goto L_01c3;
                                                                //   2037      get FOR CLAUSE
#line 2037 "regression-compile-tmp/chimp.imp"
GETFORCLAUSE();
                                                                //   2038  !    put3(jump,curlab,0)
                                                                //   2039  !    put3(label,curlab+1,0)
                                                                //   2040    %else
#line 2040 "regression-compile-tmp/chimp.imp"
goto L_01c1;
#line 2040 "regression-compile-tmp/chimp.imp"
L_01c3:;
                                                                //   2041      syntax error %if %not a(until)
#line 2041 "regression-compile-tmp/chimp.imp"
if (A(18)) goto L_01c4;
#line 2041 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 2041 "regression-compile-tmp/chimp.imp"
L_01c4:;
                                                                //   2042      get CONDITION
#line 2042 "regression-compile-tmp/chimp.imp"
GETCONDITION();
                                                                //   2043    %finish
#line 2043 "regression-compile-tmp/chimp.imp"
L_01c1:;
                                                                //   2044    -> term
#line 2044 "regression-compile-tmp/chimp.imp"
goto U_1009;
                                                                //   2045  
                                                                //   2046  initial(iu):  !%if, %unless
#line 2046 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_16:;
                                                                //   2047    %cycle
#line 2047 "regression-compile-tmp/chimp.imp"
L_01c5:;
                                                                //   2048      holdnp = np
#line 2048 "regression-compile-tmp/chimp.imp"
HOLDNP = NP;
                                                                //   2049      get CONDITION
#line 2049 "regression-compile-tmp/chimp.imp"
GETCONDITION();
                                                                //   2050  !    compile(holdnp,np)
                                                                //   2051      %if a(then) %start
#line 2051 "regression-compile-tmp/chimp.imp"
if (!(A(20))) goto L_01c8;
                                                                //   2052        -> fudge %if a(start)
#line 2052 "regression-compile-tmp/chimp.imp"
if (!(A(21))) goto L_01c9;
#line 2052 "regression-compile-tmp/chimp.imp"
goto U_100d;
#line 2052 "regression-compile-tmp/chimp.imp"
L_01c9:;
                                                                //   2053        get INSTRUCTION
#line 2053 "regression-compile-tmp/chimp.imp"
GETINSTRUCTION();
                                                                //   2054      %finish %else %start
#line 2054 "regression-compile-tmp/chimp.imp"
goto L_01ca;
#line 2054 "regression-compile-tmp/chimp.imp"
L_01c8:;
                                                                //   2055        get(start)
#line 2055 "regression-compile-tmp/chimp.imp"
GET(21);
                                                                //   2056  fudge:
#line 2056 "regression-compile-tmp/chimp.imp"
U_100d:;
                                                                //   2057        %cycle
#line 2057 "regression-compile-tmp/chimp.imp"
L_01cb:;
                                                                //   2058          get(terminator)
#line 2058 "regression-compile-tmp/chimp.imp"
GET(52);
                                                                //   2059          curlab = curlab+2
#line 2059 "regression-compile-tmp/chimp.imp"
CURLAB = (((int)(CURLAB)) + (2));
                                                                //   2060          get STATEMENTS(else)
#line 2060 "regression-compile-tmp/chimp.imp"
GETSTATEMENTS(4);
                                                                //   2061          curlab = curlab-2
#line 2061 "regression-compile-tmp/chimp.imp"
CURLAB = (((int)(CURLAB)) - (2));
                                                                //   2062          %exit %if atom # else;  !%finish ->
#line 2062 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (4))) goto L_01ce;
#line 2062 "regression-compile-tmp/chimp.imp"
goto L_01cc;
#line 2062 "regression-compile-tmp/chimp.imp"
L_01ce:;
                                                                //   2063          get CONDITION %if a(iu)
#line 2063 "regression-compile-tmp/chimp.imp"
if (!(A(16))) goto L_01cf;
#line 2063 "regression-compile-tmp/chimp.imp"
GETCONDITION();
#line 2063 "regression-compile-tmp/chimp.imp"
L_01cf:;
                                                                //   2064        %repeat
#line 2064 "regression-compile-tmp/chimp.imp"
goto L_01cb;
#line 2064 "regression-compile-tmp/chimp.imp"
L_01cc:;
                                                                //   2065        %return %if atom # finish
#line 2065 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (3))) goto L_01d0;
#line 2065 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2065 "regression-compile-tmp/chimp.imp"
L_01d0:;
                                                                //   2066      %finish
#line 2066 "regression-compile-tmp/chimp.imp"
L_01ca:;
                                                                //   2067      %exit %if %not a(else)
#line 2067 "regression-compile-tmp/chimp.imp"
if (A(4)) goto L_01d1;
#line 2067 "regression-compile-tmp/chimp.imp"
goto L_01c6;
#line 2067 "regression-compile-tmp/chimp.imp"
L_01d1:;
                                                                //   2068      -> fudge %if a(start)
#line 2068 "regression-compile-tmp/chimp.imp"
if (!(A(21))) goto L_01d2;
#line 2068 "regression-compile-tmp/chimp.imp"
goto U_100d;
#line 2068 "regression-compile-tmp/chimp.imp"
L_01d2:;
                                                                //   2069      get INSTRUCTION %and %exit %if %not a(iu)
#line 2069 "regression-compile-tmp/chimp.imp"
if (A(16)) goto L_01d3;
#line 2069 "regression-compile-tmp/chimp.imp"
GETINSTRUCTION();
#line 2069 "regression-compile-tmp/chimp.imp"
goto L_01c6;
#line 2069 "regression-compile-tmp/chimp.imp"
L_01d3:;
                                                                //   2070    %repeat
#line 2070 "regression-compile-tmp/chimp.imp"
goto L_01c5;
#line 2070 "regression-compile-tmp/chimp.imp"
L_01c6:;
                                                                //   2071    -> term
#line 2071 "regression-compile-tmp/chimp.imp"
goto U_1009;
                                                                //   2072  
                                                                //   2073  initial(cycle):
#line 2073 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_22:;
                                                                //   2074    %if a(terminator) %start
#line 2074 "regression-compile-tmp/chimp.imp"
if (!(A(52))) goto L_01d4;
                                                                //   2075      holdlooplab = looplab;  looplab = curlab
#line 2075 "regression-compile-tmp/chimp.imp"
HOLDLOOPLAB = LOOPLAB;
#line 2075 "regression-compile-tmp/chimp.imp"
LOOPLAB = CURLAB;
                                                                //   2076      curlab = curlab+2
#line 2076 "regression-compile-tmp/chimp.imp"
CURLAB = (((int)(CURLAB)) + (2));
                                                                //   2077      get STATEMENTS(repeat)
#line 2077 "regression-compile-tmp/chimp.imp"
GETSTATEMENTS(2);
                                                                //   2078      curlab = curlab-2;  looplab = holdlooplab
#line 2078 "regression-compile-tmp/chimp.imp"
CURLAB = (((int)(CURLAB)) - (2));
#line 2078 "regression-compile-tmp/chimp.imp"
LOOPLAB = HOLDLOOPLAB;
                                                                //   2079      %return %if atom # repeat
#line 2079 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (2))) goto L_01d5;
#line 2079 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2079 "regression-compile-tmp/chimp.imp"
L_01d5:;
                                                                //   2080      get CONDITION %if a(until)
#line 2080 "regression-compile-tmp/chimp.imp"
if (!(A(18))) goto L_01d6;
#line 2080 "regression-compile-tmp/chimp.imp"
GETCONDITION();
#line 2080 "regression-compile-tmp/chimp.imp"
L_01d6:;
                                                                //   2081      -> term
#line 2081 "regression-compile-tmp/chimp.imp"
goto U_1009;
                                                                //   2082    %finish
#line 2082 "regression-compile-tmp/chimp.imp"
L_01d4:;
                                                                //   2083    nonstandard(oldcycle)
#line 2083 "regression-compile-tmp/chimp.imp"
NONSTANDARD(4096);
                                                                //   2084    get FOR CLAUSE
#line 2084 "regression-compile-tmp/chimp.imp"
GETFORCLAUSE();
                                                                //   2085    -> for1
#line 2085 "regression-compile-tmp/chimp.imp"
goto U_100e;
                                                                //   2086  initial(while):
#line 2086 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_17:;
                                                                //   2087    holdnp = np
#line 2087 "regression-compile-tmp/chimp.imp"
HOLDNP = NP;
                                                                //   2088  !  put3(label,curlab,0)
                                                                //   2089    get CONDITION
#line 2089 "regression-compile-tmp/chimp.imp"
GETCONDITION();
                                                                //   2090  !  compile(holdnp,np)
                                                                //   2091    get(cycle)
#line 2091 "regression-compile-tmp/chimp.imp"
GET(22);
                                                                //   2092    get(terminator)
#line 2092 "regression-compile-tmp/chimp.imp"
GET(52);
                                                                //   2093    holdlooplab = looplab;  looplab = curlab
#line 2093 "regression-compile-tmp/chimp.imp"
HOLDLOOPLAB = LOOPLAB;
#line 2093 "regression-compile-tmp/chimp.imp"
LOOPLAB = CURLAB;
                                                                //   2094    curlab = curlab+2
#line 2094 "regression-compile-tmp/chimp.imp"
CURLAB = (((int)(CURLAB)) + (2));
                                                                //   2095    get STATEMENTS(repeat)
#line 2095 "regression-compile-tmp/chimp.imp"
GETSTATEMENTS(2);
                                                                //   2096    curlab = curlab-2;  looplab = holdlooplab
#line 2096 "regression-compile-tmp/chimp.imp"
CURLAB = (((int)(CURLAB)) - (2));
#line 2096 "regression-compile-tmp/chimp.imp"
LOOPLAB = HOLDLOOPLAB;
                                                                //   2097    %return %if atom # repeat
#line 2097 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (2))) goto L_01d7;
#line 2097 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2097 "regression-compile-tmp/chimp.imp"
L_01d7:;
                                                                //   2098    nonstandard(loop2) %and get CONDITION %if a(until)
#line 2098 "regression-compile-tmp/chimp.imp"
if (!(A(18))) goto L_01d8;
#line 2098 "regression-compile-tmp/chimp.imp"
NONSTANDARD(8192);
#line 2098 "regression-compile-tmp/chimp.imp"
GETCONDITION();
#line 2098 "regression-compile-tmp/chimp.imp"
L_01d8:;
                                                                //   2099  !  put3(jump,curlab,0)
                                                                //   2100  !  put3(label,curlab+1,0)
                                                                //   2101    ->term
#line 2101 "regression-compile-tmp/chimp.imp"
goto U_1009;
                                                                //   2102  initial(for):
#line 2102 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_19:;
                                                                //   2103    get FOR CLAUSE
#line 2103 "regression-compile-tmp/chimp.imp"
GETFORCLAUSE();
                                                                //   2104    get(cycle)
#line 2104 "regression-compile-tmp/chimp.imp"
GET(22);
                                                                //   2105  for1:
#line 2105 "regression-compile-tmp/chimp.imp"
U_100e:;
                                                                //   2106    get(terminator)
#line 2106 "regression-compile-tmp/chimp.imp"
GET(52);
                                                                //   2107    holdlooplab = looplab;  looplab = curlab
#line 2107 "regression-compile-tmp/chimp.imp"
HOLDLOOPLAB = LOOPLAB;
#line 2107 "regression-compile-tmp/chimp.imp"
LOOPLAB = CURLAB;
                                                                //   2108    curlab = curlab+2
#line 2108 "regression-compile-tmp/chimp.imp"
CURLAB = (((int)(CURLAB)) + (2));
                                                                //   2109    get STATEMENTS(repeat)
#line 2109 "regression-compile-tmp/chimp.imp"
GETSTATEMENTS(2);
                                                                //   2110    curlab = curlab-2;  looplab = holdlooplab
#line 2110 "regression-compile-tmp/chimp.imp"
CURLAB = (((int)(CURLAB)) - (2));
#line 2110 "regression-compile-tmp/chimp.imp"
LOOPLAB = HOLDLOOPLAB;
                                                                //   2111    %return %if atom # repeat
#line 2111 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (2))) goto L_01d9;
#line 2111 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2111 "regression-compile-tmp/chimp.imp"
L_01d9:;
                                                                //   2112  !  put3(repeat,0,0)
                                                                //   2113    -> term
#line 2113 "regression-compile-tmp/chimp.imp"
goto U_1009;
                                                                //   2114  
                                                                //   2115  initial(on):
#line 2115 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_15:;
                                                                //   2116    fault(ordererr+point) %if c_flags >= hadon %or level <= outerlevel
#line 2116 "regression-compile-tmp/chimp.imp"
if (((C.FLAGS) >= (16))) goto L_01c7;
#line 2116 "regression-compile-tmp/chimp.imp"
if (((LEVEL) > (0))) goto L_01da;
#line 2116 "regression-compile-tmp/chimp.imp"
L_01c7:;
#line 2116 "regression-compile-tmp/chimp.imp"
FAULT(74);
#line 2116 "regression-compile-tmp/chimp.imp"
L_01da:;
                                                                //   2117    c_flags = c_flags!hadon
#line 2117 "regression-compile-tmp/chimp.imp"
C.FLAGS = ((C.FLAGS) | (16));
                                                                //   2118    matched = 1
#line 2118 "regression-compile-tmp/chimp.imp"
MATCHED = 1;
                                                                //   2119    allow(keyevent)
#line 2119 "regression-compile-tmp/chimp.imp"
ALLOW(44);
                                                                //   2120    %cycle
#line 2120 "regression-compile-tmp/chimp.imp"
L_01db:;
                                                                //   2121      get LITINT
#line 2121 "regression-compile-tmp/chimp.imp"
GETLITINT();
                                                                //   2122      expfault(rangerr+point) %unless 0 <= t_val <= 15
#line 2122 "regression-compile-tmp/chimp.imp"
if ((((0) > (T.VAL))) || (((T.VAL) <= (15)))) goto L_01de;
#line 2122 "regression-compile-tmp/chimp.imp"
L_01b9:;
#line 2122 "regression-compile-tmp/chimp.imp"
EXPFAULT(76);
#line 2122 "regression-compile-tmp/chimp.imp"
L_01de:;
                                                                //   2123      c_events = c_events!1<<t_val
#line 2123 "regression-compile-tmp/chimp.imp"
C.EVENTS = ((C.EVENTS) | (((1) << (T.VAL))));
                                                                //   2124    %repeat %until %not a(comma)
#line 2124 "regression-compile-tmp/chimp.imp"
if (!(A(59))) goto L_01dc;
#line 2124 "regression-compile-tmp/chimp.imp"
goto L_01db;
#line 2124 "regression-compile-tmp/chimp.imp"
L_01dc:;
                                                                //   2125    get(start)
#line 2125 "regression-compile-tmp/chimp.imp"
GET(21);
                                                                //   2126  !  put3(on,0,0)
                                                                //   2127    curlab = curlab+2
#line 2127 "regression-compile-tmp/chimp.imp"
CURLAB = (((int)(CURLAB)) + (2));
                                                                //   2128    get STATEMENTS(finish)
#line 2128 "regression-compile-tmp/chimp.imp"
GETSTATEMENTS(3);
                                                                //   2129    curlab = curlab-2
#line 2129 "regression-compile-tmp/chimp.imp"
CURLAB = (((int)(CURLAB)) - (2));
                                                                //   2130    %return %if atom # finish
#line 2130 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (3))) goto L_01df;
#line 2130 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2130 "regression-compile-tmp/chimp.imp"
L_01df:;
                                                                //   2131    -> term
#line 2131 "regression-compile-tmp/chimp.imp"
goto U_1009;
                                                                //   2132  !
                                                                //   2133  initial(else):
#line 2133 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_4:;
                                                                //   2134    -> skip %if starts # 0
#line 2134 "regression-compile-tmp/chimp.imp"
if (((STARTS) == (0))) goto L_01e0;
#line 2134 "regression-compile-tmp/chimp.imp"
goto U_100a;
#line 2134 "regression-compile-tmp/chimp.imp"
L_01e0:;
                                                                //   2135    %return %if stopper = else
#line 2135 "regression-compile-tmp/chimp.imp"
if (((STOPPER) != (4))) goto L_01e1;
#line 2135 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2135 "regression-compile-tmp/chimp.imp"
L_01e1:;
                                                                //   2136    error(noif) %if stopper = finish
#line 2136 "regression-compile-tmp/chimp.imp"
if (((STOPPER) != (3))) goto L_01e2;
#line 2136 "regression-compile-tmp/chimp.imp"
ERROR(21);
#line 2136 "regression-compile-tmp/chimp.imp"
L_01e2:;
                                                                //   2137  initial(finish):
#line 2137 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_3:;
                                                                //   2138    starts = starts-1 %and -> skip %if starts # 0
#line 2138 "regression-compile-tmp/chimp.imp"
if (((STARTS) == (0))) goto L_01e3;
#line 2138 "regression-compile-tmp/chimp.imp"
STARTS = (((int)(STARTS)) - (1));
#line 2138 "regression-compile-tmp/chimp.imp"
goto U_100a;
#line 2138 "regression-compile-tmp/chimp.imp"
L_01e3:;
                                                                //   2139    %return %if stopper = finish %or stopper = else
#line 2139 "regression-compile-tmp/chimp.imp"
if (((STOPPER) == (3))) goto L_01dd;
#line 2139 "regression-compile-tmp/chimp.imp"
if (((STOPPER) != (4))) goto L_01e4;
#line 2139 "regression-compile-tmp/chimp.imp"
L_01dd:;
#line 2139 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2139 "regression-compile-tmp/chimp.imp"
L_01e4:;
                                                                //   2140    error(nostart)
#line 2140 "regression-compile-tmp/chimp.imp"
ERROR(8);
                                                                //   2141  initial(repeat):
#line 2141 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_2:;
                                                                //   2142    cycles = cycles-1 %and -> skip %if cycles # 0
#line 2142 "regression-compile-tmp/chimp.imp"
if (((CYCLES) == (0))) goto L_01e5;
#line 2142 "regression-compile-tmp/chimp.imp"
CYCLES = (((int)(CYCLES)) - (1));
#line 2142 "regression-compile-tmp/chimp.imp"
goto U_100a;
#line 2142 "regression-compile-tmp/chimp.imp"
L_01e5:;
                                                                //   2143    %return %if stopper = repeat
#line 2143 "regression-compile-tmp/chimp.imp"
if (((STOPPER) != (2))) goto L_01e6;
#line 2143 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2143 "regression-compile-tmp/chimp.imp"
L_01e6:;
                                                                //   2144    error(nocycle)
#line 2144 "regression-compile-tmp/chimp.imp"
ERROR(9);
                                                                //   2145  
                                                                //   2146  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   2147  !!!!!!!!!!!!!!!!!!!!  Declarations  !!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   2148  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   2149  !
                                                                //   2150  %integerfn NEWATYPE(%integer eltype,xtype)
#line 2150 "regression-compile-tmp/chimp.imp"
int NEWATYPE( int ELTYPE, int XTYPE )
#line 2150 "regression-compile-tmp/chimp.imp"
{
                                                                //   2151  %integer dpos
#line 2151 "regression-compile-tmp/chimp.imp"
int DPOS;
                                                                //   2152  %record(identinfo)%name dp
#line 2152 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*DP;
                                                                //   2153  %ownrecord(identinfo) d=0
#line 2153 "regression-compile-tmp/chimp.imp"
static  IDENTINFO D = { 0 } /* Initialise all fields of a record to 0. */;
                                                                //   2154    dpos = dictmin
#line 2154 "regression-compile-tmp/chimp.imp"
DPOS = 2041;
                                                                //   2155    %cycle
#line 2155 "regression-compile-tmp/chimp.imp"
L_01e7:;
                                                                //   2156      dp == dict(dpos)
#line 2156 "regression-compile-tmp/chimp.imp"
DP = &DICT[(((int)(DPOS)) - (2001))];
                                                                //   2157      %result = dpos+direct %if dp_flags&typeid # 0 %c
#line 2157 "regression-compile-tmp/chimp.imp"
if (((((DP->FLAGS) & (256))) == (0))) goto L_01ea;
#line 2157 "regression-compile-tmp/chimp.imp"
if (((DP->TYPE) != (ELTYPE))) goto L_01ea;
#line 2157 "regression-compile-tmp/chimp.imp"
if (((DP->VAL) != (XTYPE))) goto L_01ea;
#line 2157 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(DPOS)) + (8192));
#line 2157 "regression-compile-tmp/chimp.imp"
L_01ea:;
                                                                //   2158                     %and dp_type = eltype %and dp_val = xtype
                                                                //   2159      dpos = dpos+1
#line 2159 "regression-compile-tmp/chimp.imp"
DPOS = (((int)(DPOS)) + (1));
                                                                //   2160    %repeat %until dpos = dlim
#line 2160 "regression-compile-tmp/chimp.imp"
if (((DPOS) == (DLIM))) goto L_01e8;
#line 2160 "regression-compile-tmp/chimp.imp"
goto L_01e7;
#line 2160 "regression-compile-tmp/chimp.imp"
L_01e8:;
                                                                //   2161    d_flags = typeid;  d_type = eltype;  d_val = xtype
#line 2161 "regression-compile-tmp/chimp.imp"
D.FLAGS = 256;
#line 2161 "regression-compile-tmp/chimp.imp"
D.TYPE = ELTYPE;
#line 2161 "regression-compile-tmp/chimp.imp"
D.VAL = XTYPE;
                                                                //   2162    dict(dpos) = d
#line 2162 "regression-compile-tmp/chimp.imp"
DICT[(((int)(DPOS)) - (2001))] = D;
                                                                //   2163    dlim = dlim+1;  croak("Too many identifers") %if dlim >= dmin
#line 2163 "regression-compile-tmp/chimp.imp"
DLIM = (((int)(DLIM)) + (1));
#line 2163 "regression-compile-tmp/chimp.imp"
if (((DLIM) < (DMIN))) goto L_01eb;
#line 2163 "regression-compile-tmp/chimp.imp"
CROAK(_imp_str_literal("Too many identifers"));
#line 2163 "regression-compile-tmp/chimp.imp"
L_01eb:;
                                                                //   2164    %result = dpos+direct
#line 2164 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(DPOS)) + (8192));
                                                                //   2165  %end
#line 2165 "regression-compile-tmp/chimp.imp"
} // End of block NEWATYPE at level 3
                                                                //   2166  !
                                                                //   2167  %integerfn NEWSTYPE(%integer max)
#line 2167 "regression-compile-tmp/chimp.imp"
int NEWSTYPE( int MAX )
#line 2167 "regression-compile-tmp/chimp.imp"
{
                                                                //   2168  %integer dpos
#line 2168 "regression-compile-tmp/chimp.imp"
int DPOS;
                                                                //   2169  %record(identinfo)%name dp
#line 2169 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*DP;
                                                                //   2170  %ownrecord(identinfo) d=0
#line 2170 "regression-compile-tmp/chimp.imp"
static  IDENTINFO D = { 0 } /* Initialise all fields of a record to 0. */;
                                                                //   2171    dpos = dictmin
#line 2171 "regression-compile-tmp/chimp.imp"
DPOS = 2041;
                                                                //   2172    %cycle
#line 2172 "regression-compile-tmp/chimp.imp"
L_01ec:;
                                                                //   2173      dp == dict(dpos)
#line 2173 "regression-compile-tmp/chimp.imp"
DP = &DICT[(((int)(DPOS)) - (2001))];
                                                                //   2174      %result = dpos %if dp_type = stringy %and dp_val = max
#line 2174 "regression-compile-tmp/chimp.imp"
if (((DP->TYPE) != (2044))) goto L_01ef;
#line 2174 "regression-compile-tmp/chimp.imp"
if (((DP->VAL) != (MAX))) goto L_01ef;
#line 2174 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return DPOS;
#line 2174 "regression-compile-tmp/chimp.imp"
L_01ef:;
                                                                //   2175      dpos = dpos+1
#line 2175 "regression-compile-tmp/chimp.imp"
DPOS = (((int)(DPOS)) + (1));
                                                                //   2176    %repeat %until dpos = dlim
#line 2176 "regression-compile-tmp/chimp.imp"
if (((DPOS) == (DLIM))) goto L_01ed;
#line 2176 "regression-compile-tmp/chimp.imp"
goto L_01ec;
#line 2176 "regression-compile-tmp/chimp.imp"
L_01ed:;
                                                                //   2177    d_flags = typeid;  d_type = stringy
#line 2177 "regression-compile-tmp/chimp.imp"
D.FLAGS = 256;
#line 2177 "regression-compile-tmp/chimp.imp"
D.TYPE = 2044;
                                                                //   2178    d_val = max
#line 2178 "regression-compile-tmp/chimp.imp"
D.VAL = MAX;
                                                                //   2179    dict(dpos) = d
#line 2179 "regression-compile-tmp/chimp.imp"
DICT[(((int)(DPOS)) - (2001))] = D;
                                                                //   2180    dlim = dlim+1;  croak("Too many identifers") %if dlim >= dmin
#line 2180 "regression-compile-tmp/chimp.imp"
DLIM = (((int)(DLIM)) + (1));
#line 2180 "regression-compile-tmp/chimp.imp"
if (((DLIM) < (DMIN))) goto L_01f0;
#line 2180 "regression-compile-tmp/chimp.imp"
CROAK(_imp_str_literal("Too many identifers"));
#line 2180 "regression-compile-tmp/chimp.imp"
L_01f0:;
                                                                //   2181    %result = dpos
#line 2181 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return DPOS;
                                                                //   2182  %end
#line 2182 "regression-compile-tmp/chimp.imp"
} // End of block NEWSTYPE at level 3
                                                                //   2183  !
                                                                //   2184  %integerfn NEWRANGE(%integer type,lower,upper)
#line 2184 "regression-compile-tmp/chimp.imp"
int NEWRANGE( int TYPE, int LOWER, int UPPER )
#line 2184 "regression-compile-tmp/chimp.imp"
{
                                                                //   2185  %integer dpos
#line 2185 "regression-compile-tmp/chimp.imp"
int DPOS;
                                                                //   2186  %record(identinfo)%name dp
#line 2186 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*DP;
                                                                //   2187  %ownrecord(identinfo) d=0
#line 2187 "regression-compile-tmp/chimp.imp"
static  IDENTINFO D = { 0 } /* Initialise all fields of a record to 0. */;
                                                                //   2188    fault(boundserr) %and upper = lower %if lower > upper
#line 2188 "regression-compile-tmp/chimp.imp"
if (((LOWER) <= (UPPER))) goto L_01f1;
#line 2188 "regression-compile-tmp/chimp.imp"
FAULT(14);
#line 2188 "regression-compile-tmp/chimp.imp"
UPPER = LOWER;
#line 2188 "regression-compile-tmp/chimp.imp"
L_01f1:;
                                                                //   2189    elements = maxint
#line 2189 "regression-compile-tmp/chimp.imp"
ELEMENTS = 2147483647;
                                                                //   2190    elements = upper-lower %if upper!!lower >= 0 %c
#line 2190 "regression-compile-tmp/chimp.imp"
if (((((UPPER) ^ (LOWER))) >= (0))) goto L_01ee;
#line 2190 "regression-compile-tmp/chimp.imp"
if ((((((int)((((int)((-2147483648))) + (UPPER)))) - (LOWER))) >= (0))) goto L_01f2;
#line 2190 "regression-compile-tmp/chimp.imp"
L_01ee:;
#line 2190 "regression-compile-tmp/chimp.imp"
ELEMENTS = (((int)(UPPER)) - (LOWER));
#line 2190 "regression-compile-tmp/chimp.imp"
L_01f2:;
                                                                //   2191      %or minint+upper-lower < 0
                                                                //   2192    elements = elements+1 %if elements # maxint
#line 2192 "regression-compile-tmp/chimp.imp"
if (((ELEMENTS) == (2147483647))) goto L_01f3;
#line 2192 "regression-compile-tmp/chimp.imp"
ELEMENTS = (((int)(ELEMENTS)) + (1));
#line 2192 "regression-compile-tmp/chimp.imp"
L_01f3:;
                                                                //   2193    dpos = dictmin
#line 2193 "regression-compile-tmp/chimp.imp"
DPOS = 2041;
                                                                //   2194    %cycle
#line 2194 "regression-compile-tmp/chimp.imp"
L_01f4:;
                                                                //   2195      dp == dict(dpos)
#line 2195 "regression-compile-tmp/chimp.imp"
DP = &DICT[(((int)(DPOS)) - (2001))];
                                                                //   2196      %result = dpos %if dp_flags = typeid %and dp_type = type %c
#line 2196 "regression-compile-tmp/chimp.imp"
if (((DP->FLAGS) != (256))) goto L_01f7;
#line 2196 "regression-compile-tmp/chimp.imp"
if (((DP->TYPE) != (TYPE))) goto L_01f7;
#line 2196 "regression-compile-tmp/chimp.imp"
if (((DP->LOW) != (LOWER))) goto L_01f7;
#line 2196 "regression-compile-tmp/chimp.imp"
if (((DP->VAL) != (UPPER))) goto L_01f7;
#line 2196 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return DPOS;
#line 2196 "regression-compile-tmp/chimp.imp"
L_01f7:;
                                                                //   2197                     %and dp_low = lower %and dp_val = upper
                                                                //   2198      dpos = dpos+1
#line 2198 "regression-compile-tmp/chimp.imp"
DPOS = (((int)(DPOS)) + (1));
                                                                //   2199    %repeat %until dpos = dlim
#line 2199 "regression-compile-tmp/chimp.imp"
if (((DPOS) == (DLIM))) goto L_01f5;
#line 2199 "regression-compile-tmp/chimp.imp"
goto L_01f4;
#line 2199 "regression-compile-tmp/chimp.imp"
L_01f5:;
                                                                //   2200    d_flags = typeid;  d_type = type
#line 2200 "regression-compile-tmp/chimp.imp"
D.FLAGS = 256;
#line 2200 "regression-compile-tmp/chimp.imp"
D.TYPE = TYPE;
                                                                //   2201    d_low = lower;  d_val = upper
#line 2201 "regression-compile-tmp/chimp.imp"
D.LOW = LOWER;
#line 2201 "regression-compile-tmp/chimp.imp"
D.VAL = UPPER;
                                                                //   2202    dict(dpos) = d
#line 2202 "regression-compile-tmp/chimp.imp"
DICT[(((int)(DPOS)) - (2001))] = D;
                                                                //   2203    dlim = dlim+1;  croak("Too many identifers") %if dlim >= dmin
#line 2203 "regression-compile-tmp/chimp.imp"
DLIM = (((int)(DLIM)) + (1));
#line 2203 "regression-compile-tmp/chimp.imp"
if (((DLIM) < (DMIN))) goto L_01f8;
#line 2203 "regression-compile-tmp/chimp.imp"
CROAK(_imp_str_literal("Too many identifers"));
#line 2203 "regression-compile-tmp/chimp.imp"
L_01f8:;
                                                                //   2204    %result = dpos
#line 2204 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return DPOS;
                                                                //   2205  %end
#line 2205 "regression-compile-tmp/chimp.imp"
} // End of block NEWRANGE at level 3
                                                                //   2206  
                                                                //   2207  %routine GET LITBOUNDS
#line 2207 "regression-compile-tmp/chimp.imp"
void GETLITBOUNDS( void )
#line 2207 "regression-compile-tmp/chimp.imp"
{
                                                                //   2208  %integer lower
#line 2208 "regression-compile-tmp/chimp.imp"
int LOWER;
                                                                //   2209    get(left)
#line 2209 "regression-compile-tmp/chimp.imp"
GET(55);
                                                                //   2210    get LITINT;  lower = t_val
#line 2210 "regression-compile-tmp/chimp.imp"
GETLITINT();
#line 2210 "regression-compile-tmp/chimp.imp"
LOWER = T.VAL;
                                                                //   2211    get(colon)
#line 2211 "regression-compile-tmp/chimp.imp"
GET(58);
                                                                //   2212    get LITINT;
#line 2212 "regression-compile-tmp/chimp.imp"
GETLITINT();
                                                                //   2213    get(right)
#line 2213 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   2214    t_low = lower
#line 2214 "regression-compile-tmp/chimp.imp"
T.LOW = LOWER;
                                                                //   2215    item = newrange(inty,t_low,t_val);  !always integer at present
#line 2215 "regression-compile-tmp/chimp.imp"
ITEM = NEWRANGE(2046, T.LOW, T.VAL);
                                                                //   2216  %end
#line 2216 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETLITBOUNDS at level 3
                                                                //   2217  
                                                                //   2218  %routine GET IDENT
#line 2218 "regression-compile-tmp/chimp.imp"
void GETIDENT( void )
#line 2218 "regression-compile-tmp/chimp.imp"
{
                                                                //   2219    dlim0 = dlim
#line 2219 "regression-compile-tmp/chimp.imp"
DLIM0 = DLIM;
                                                                //   2220    get(ident)
#line 2220 "regression-compile-tmp/chimp.imp"
GET(54);
                                                                //   2221    declare
#line 2221 "regression-compile-tmp/chimp.imp"
DECLARE();
                                                                //   2222    get LITSTRING %if d_flags&ext # 0 %and a(alias)
#line 2222 "regression-compile-tmp/chimp.imp"
if (((((D.FLAGS) & (32))) == (0))) goto L_01f9;
#line 2222 "regression-compile-tmp/chimp.imp"
if (!(A(46))) goto L_01f9;
#line 2222 "regression-compile-tmp/chimp.imp"
GETLITSTRING();
#line 2222 "regression-compile-tmp/chimp.imp"
L_01f9:;
                                                                //   2223  %end
#line 2223 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETIDENT at level 3
                                                                //   2224  
                                                                //   2225  %routine GET IDENTLIST
#line 2225 "regression-compile-tmp/chimp.imp"
void GETIDENTLIST( void )
#line 2225 "regression-compile-tmp/chimp.imp"
{
                                                                //   2226    dlim0 = dlim
#line 2226 "regression-compile-tmp/chimp.imp"
DLIM0 = DLIM;
                                                                //   2227    %cycle
#line 2227 "regression-compile-tmp/chimp.imp"
L_01fa:;
                                                                //   2228      get(ident)
#line 2228 "regression-compile-tmp/chimp.imp"
GET(54);
                                                                //   2229      declare
#line 2229 "regression-compile-tmp/chimp.imp"
DECLARE();
                                                                //   2230      get LITSTRING %if d_flags&ext # 0 %and a(alias)
#line 2230 "regression-compile-tmp/chimp.imp"
if (((((D.FLAGS) & (32))) == (0))) goto L_01fd;
#line 2230 "regression-compile-tmp/chimp.imp"
if (!(A(46))) goto L_01fd;
#line 2230 "regression-compile-tmp/chimp.imp"
GETLITSTRING();
#line 2230 "regression-compile-tmp/chimp.imp"
L_01fd:;
                                                                //   2231     %repeat %until %not a(comma)
#line 2231 "regression-compile-tmp/chimp.imp"
if (!(A(59))) goto L_01fb;
#line 2231 "regression-compile-tmp/chimp.imp"
goto L_01fa;
#line 2231 "regression-compile-tmp/chimp.imp"
L_01fb:;
                                                                //   2232  %end
#line 2232 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETIDENTLIST at level 3
                                                                //   2233  
                                                                //   2234  %routine GET TYPE(%integer flags)
#line 2234 "regression-compile-tmp/chimp.imp"
void GETTYPE( int FLAGS )
#line 2234 "regression-compile-tmp/chimp.imp"
{
                                                                //   2235  %owninteger fbase
#line 2235 "regression-compile-tmp/chimp.imp"
static int FBASE;
                                                                //   2236  %ownrecord(identinfo)%name formp,fieldp
#line 2236 "regression-compile-tmp/chimp.imp"
static  IDENTINFO /*name*/*FORMP;
#line 2236 "regression-compile-tmp/chimp.imp"
static  IDENTINFO /*name*/*FIELDP;
                                                                //   2237  !
                                                                //   2238  %routine GET FORMATDEF;  !(%integername base)
#line 2238 "regression-compile-tmp/chimp.imp"
void GETFORMATDEF( void )
#line 2238 "regression-compile-tmp/chimp.imp"
{
                                                                //   2239  %integer disp,max,base
#line 2239 "regression-compile-tmp/chimp.imp"
int DISP;
#line 2239 "regression-compile-tmp/chimp.imp"
int MAX;
#line 2239 "regression-compile-tmp/chimp.imp"
int BASE;
                                                                //   2240  %routine GET FIELD IDENT
#line 2240 "regression-compile-tmp/chimp.imp"
void GETFIELDIDENT( void )
#line 2240 "regression-compile-tmp/chimp.imp"
{
                                                                //   2241    get(ident)
#line 2241 "regression-compile-tmp/chimp.imp"
GET(54);
                                                                //   2242    %if item > 0 %then d_text = ditem_text %c
#line 2242 "regression-compile-tmp/chimp.imp"
if (((ITEM) <= (0))) goto L_01fe;
#line 2242 "regression-compile-tmp/chimp.imp"
D.TEXT = DITEM->TEXT;
#line 2242 "regression-compile-tmp/chimp.imp"
goto L_01ff;
#line 2242 "regression-compile-tmp/chimp.imp"
L_01fe:;
                                                                //   2243    %else %start
                                                                //   2244      d_text = charlim-charbase;  charlim = charlim+newlen+1
#line 2244 "regression-compile-tmp/chimp.imp"
D.TEXT = (((int)(CHARLIM)) - (CHARBASE));
#line 2244 "regression-compile-tmp/chimp.imp"
CHARLIM = (((int)((((int)(CHARLIM)) + (NEWLEN)))) + (1));
                                                                //   2245      croak("Identifier space exhausted") %if charlim+80 >= charmin
#line 2245 "regression-compile-tmp/chimp.imp"
if ((((((int)(CHARLIM)) + (80))) < (CHARMIN))) goto L_0200;
#line 2245 "regression-compile-tmp/chimp.imp"
CROAK(_imp_str_literal("Identifier space exhausted"));
#line 2245 "regression-compile-tmp/chimp.imp"
L_0200:;
                                                                //   2246    %finish
#line 2246 "regression-compile-tmp/chimp.imp"
L_01ff:;
                                                                //   2247    ditem == dict(dlim);  fieldp == ditem
#line 2247 "regression-compile-tmp/chimp.imp"
DITEM = &DICT[(((int)(DLIM)) - (2001))];
#line 2247 "regression-compile-tmp/chimp.imp"
FIELDP = DITEM;
                                                                //   2248    ditem = d
#line 2248 "regression-compile-tmp/chimp.imp"
*DITEM = D;
                                                                //   2249    %if formp_extra = 0 %then formp_extra = dlim %c
#line 2249 "regression-compile-tmp/chimp.imp"
if (((FORMP->EXTRA) != (0))) goto L_0201;
#line 2249 "regression-compile-tmp/chimp.imp"
FORMP->EXTRA = DLIM;
#line 2249 "regression-compile-tmp/chimp.imp"
goto L_0202;
#line 2249 "regression-compile-tmp/chimp.imp"
L_0201:;
                                                                //   2250    %else %start
                                                                //   2251  !    lookup field ident(formp_extra)
                                                                //   2252  !    fault(duperr+point) %and item = dlim %if item # dlim
                                                                //   2253    %finish
#line 2253 "regression-compile-tmp/chimp.imp"
L_0202:;
                                                                //   2254    dlim = dlim+1;  croak("Too many identifiers") %if dlim >= dmin
#line 2254 "regression-compile-tmp/chimp.imp"
DLIM = (((int)(DLIM)) + (1));
#line 2254 "regression-compile-tmp/chimp.imp"
if (((DLIM) < (DMIN))) goto L_0203;
#line 2254 "regression-compile-tmp/chimp.imp"
CROAK(_imp_str_literal("Too many identifiers"));
#line 2254 "regression-compile-tmp/chimp.imp"
L_0203:;
                                                                //   2255  %end
#line 2255 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETFIELDIDENT at level 5
                                                                //   2256  %routine get UNIT
#line 2256 "regression-compile-tmp/chimp.imp"
void GETUNIT( void )
#line 2256 "regression-compile-tmp/chimp.imp"
{
                                                                //   2257    %cycle
#line 2257 "regression-compile-tmp/chimp.imp"
L_0204:;
                                                                //   2258      %if a(left) %start
#line 2258 "regression-compile-tmp/chimp.imp"
if (!(A(55))) goto L_0207;
                                                                //   2259        get FORMATDEF;  get(right)
#line 2259 "regression-compile-tmp/chimp.imp"
GETFORMATDEF();
#line 2259 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   2260        %return %if %not a(comma)
#line 2260 "regression-compile-tmp/chimp.imp"
if (A(59)) goto L_0208;
#line 2260 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2260 "regression-compile-tmp/chimp.imp"
L_0208:;
                                                                //   2261      %else
#line 2261 "regression-compile-tmp/chimp.imp"
goto L_0209;
#line 2261 "regression-compile-tmp/chimp.imp"
L_0207:;
                                                                //   2262        get TYPE(static+more)
#line 2262 "regression-compile-tmp/chimp.imp"
GETTYPE(136);
                                                                //   2263        %if d_flags&parm = 0 %start;  !not array
#line 2263 "regression-compile-tmp/chimp.imp"
if (((((D.FLAGS) & (64))) != (0))) goto L_020a;
                                                                //   2264          %cycle
#line 2264 "regression-compile-tmp/chimp.imp"
L_020b:;
                                                                //   2265            disp = disp+1 %if disp&1 # 0 %and dsize # 1
#line 2265 "regression-compile-tmp/chimp.imp"
if (((((DISP) & (1))) == (0))) goto L_020e;
#line 2265 "regression-compile-tmp/chimp.imp"
if (((DSIZE) == (1))) goto L_020e;
#line 2265 "regression-compile-tmp/chimp.imp"
DISP = (((int)(DISP)) + (1));
#line 2265 "regression-compile-tmp/chimp.imp"
L_020e:;
                                                                //   2266            d_val = disp
#line 2266 "regression-compile-tmp/chimp.imp"
D.VAL = DISP;
                                                                //   2267            disp = disp+dsize
#line 2267 "regression-compile-tmp/chimp.imp"
DISP = (((int)(DISP)) + (DSIZE));
                                                                //   2268            get FIELD IDENT
#line 2268 "regression-compile-tmp/chimp.imp"
GETFIELDIDENT();
                                                                //   2269            %return %if %not a(comma)
#line 2269 "regression-compile-tmp/chimp.imp"
if (A(59)) goto L_020f;
#line 2269 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2269 "regression-compile-tmp/chimp.imp"
L_020f:;
                                                                //   2270            atom = next atom
#line 2270 "regression-compile-tmp/chimp.imp"
ATOM = NEXTATOM();
                                                                //   2271          %repeat %until atom # ident
#line 2271 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (54))) goto L_020c;
#line 2271 "regression-compile-tmp/chimp.imp"
goto L_020b;
#line 2271 "regression-compile-tmp/chimp.imp"
L_020c:;
                                                                //   2272        %else;  !array
#line 2272 "regression-compile-tmp/chimp.imp"
goto L_0210;
#line 2272 "regression-compile-tmp/chimp.imp"
L_020a:;
                                                                //   2273          d_flags = d_flags-parm
#line 2273 "regression-compile-tmp/chimp.imp"
D.FLAGS = (((int)(D.FLAGS)) - (64));
                                                                //   2274          disp = disp+1 %if disp&1 # 0;  d_val = disp
#line 2274 "regression-compile-tmp/chimp.imp"
if (((((DISP) & (1))) == (0))) goto L_0211;
#line 2274 "regression-compile-tmp/chimp.imp"
DISP = (((int)(DISP)) + (1));
#line 2274 "regression-compile-tmp/chimp.imp"
L_0211:;
#line 2274 "regression-compile-tmp/chimp.imp"
D.VAL = DISP;
                                                                //   2275          get FIELD IDENT
#line 2275 "regression-compile-tmp/chimp.imp"
GETFIELDIDENT();
                                                                //   2276          get LITBOUNDS
#line 2276 "regression-compile-tmp/chimp.imp"
GETLITBOUNDS();
                                                                //   2277          fieldp_type = newatype(d_type,item)
#line 2277 "regression-compile-tmp/chimp.imp"
FIELDP->TYPE = NEWATYPE(D.TYPE, ITEM);
                                                                //   2278          disp = disp+dsize*elements
#line 2278 "regression-compile-tmp/chimp.imp"
DISP = ((DISP) + ((int)((((int)(DSIZE)) * (ELEMENTS)))));
                                                                //   2279          %return %if %not a(comma)
#line 2279 "regression-compile-tmp/chimp.imp"
if (A(59)) goto L_0212;
#line 2279 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2279 "regression-compile-tmp/chimp.imp"
L_0212:;
                                                                //   2280        %finish
#line 2280 "regression-compile-tmp/chimp.imp"
L_0210:;
                                                                //   2281      %finish
#line 2281 "regression-compile-tmp/chimp.imp"
L_0209:;
                                                                //   2282    %repeat
#line 2282 "regression-compile-tmp/chimp.imp"
goto L_0204;
                                                                //   2283  %end
#line 2283 "regression-compile-tmp/chimp.imp"
return;
} // End of block GETUNIT at level 5
                                                                //   2284    max = 0;  base = 0
#line 2284 "regression-compile-tmp/chimp.imp"
MAX = 0;
#line 2284 "regression-compile-tmp/chimp.imp"
BASE = 0;
                                                                //   2285    %cycle
#line 2285 "regression-compile-tmp/chimp.imp"
L_0213:;
                                                                //   2286      disp = base
#line 2286 "regression-compile-tmp/chimp.imp"
DISP = BASE;
                                                                //   2287      get UNIT
#line 2287 "regression-compile-tmp/chimp.imp"
GETUNIT();
                                                                //   2288      max = disp %if max < disp
#line 2288 "regression-compile-tmp/chimp.imp"
if (((MAX) >= (DISP))) goto L_0216;
#line 2288 "regression-compile-tmp/chimp.imp"
MAX = DISP;
#line 2288 "regression-compile-tmp/chimp.imp"
L_0216:;
                                                                //   2289    %repeat %until %not a(keyor)
#line 2289 "regression-compile-tmp/chimp.imp"
if (!(A(65))) goto L_0214;
#line 2289 "regression-compile-tmp/chimp.imp"
goto L_0213;
#line 2289 "regression-compile-tmp/chimp.imp"
L_0214:;
                                                                //   2290    base = max
#line 2290 "regression-compile-tmp/chimp.imp"
BASE = MAX;
                                                                //   2291  %end;  !get FORMATDEF
#line 2291 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETFORMATDEF at level 4
                                                                //   2292  
                                                                //   2293    dsize = 0;  d_mode = 0;  d_val = 0
#line 2293 "regression-compile-tmp/chimp.imp"
DSIZE = 0;
#line 2293 "regression-compile-tmp/chimp.imp"
D.MODE = 0;
#line 2293 "regression-compile-tmp/chimp.imp"
D.VAL = 0;
                                                                //   2294    d_type = nulltype
#line 2294 "regression-compile-tmp/chimp.imp"
D.TYPE = 2041;
                                                                //   2295    %if a(rpred) %start;  !%routine,(%integerfn)
#line 2295 "regression-compile-tmp/chimp.imp"
if (!(A(33))) goto L_0217;
                                                                //   2296      flags = flags&(\static) %if flags&ext # 0
#line 2296 "regression-compile-tmp/chimp.imp"
if (((((FLAGS) & (32))) == (0))) goto L_0218;
#line 2296 "regression-compile-tmp/chimp.imp"
FLAGS = ((FLAGS) & ((~(8))));
#line 2296 "regression-compile-tmp/chimp.imp"
L_0218:;
                                                                //   2297      syntax error %if flags&static # 0
#line 2297 "regression-compile-tmp/chimp.imp"
if (((((FLAGS) & (8))) == (0))) goto L_0219;
#line 2297 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 2297 "regression-compile-tmp/chimp.imp"
L_0219:;
                                                                //   2298      nonstandard(pred) %and d_type = booltype %if subatom # 0
#line 2298 "regression-compile-tmp/chimp.imp"
if (((SUBATOM) == (0))) goto L_021a;
#line 2298 "regression-compile-tmp/chimp.imp"
NONSTANDARD(1);
#line 2298 "regression-compile-tmp/chimp.imp"
D.TYPE = 2048;
#line 2298 "regression-compile-tmp/chimp.imp"
L_021a:;
                                                                //   2299      d_flags = flags+proc;  declmode = declmode+pcmode
#line 2299 "regression-compile-tmp/chimp.imp"
D.FLAGS = (((int)(FLAGS)) + (4));
#line 2299 "regression-compile-tmp/chimp.imp"
DECLMODE = (((int)(DECLMODE)) + (58));
                                                                //   2300      %return
#line 2300 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2301    %finish
#line 2301 "regression-compile-tmp/chimp.imp"
L_0217:;
                                                                //   2302    %if a(krange) %start;                 !%byte,%short,%half,%mite
#line 2302 "regression-compile-tmp/chimp.imp"
if (!(A(25))) goto L_021b;
                                                                //   2303      d_type = inttype+subatom;  dsize = 1
#line 2303 "regression-compile-tmp/chimp.imp"
D.TYPE = (((int)(2051)) + (SUBATOM));
#line 2303 "regression-compile-tmp/chimp.imp"
DSIZE = 1;
                                                                //   2304      dsize = 2 %if d_type = shorttype %or d_type = halftype
#line 2304 "regression-compile-tmp/chimp.imp"
if (((D.TYPE) == (2052))) goto L_021c;
#line 2304 "regression-compile-tmp/chimp.imp"
if (((D.TYPE) != (2053))) goto L_021d;
#line 2304 "regression-compile-tmp/chimp.imp"
L_021c:;
#line 2304 "regression-compile-tmp/chimp.imp"
DSIZE = 2;
#line 2304 "regression-compile-tmp/chimp.imp"
L_021d:;
                                                                //   2305      nonstandard(ranges) %if d_type >= mitetype
#line 2305 "regression-compile-tmp/chimp.imp"
if (((D.TYPE) < (2055))) goto L_021e;
#line 2305 "regression-compile-tmp/chimp.imp"
NONSTANDARD(16);
#line 2305 "regression-compile-tmp/chimp.imp"
L_021e:;
                                                                //   2306      allow(keyinteger)
#line 2306 "regression-compile-tmp/chimp.imp"
ALLOW(27);
                                                                //   2307    %else %if a(keyinteger);                    !%integer
#line 2307 "regression-compile-tmp/chimp.imp"
goto L_021f;
#line 2307 "regression-compile-tmp/chimp.imp"
L_021b:;
#line 2307 "regression-compile-tmp/chimp.imp"
if (!(A(27))) goto L_0220;
                                                                //   2308      d_type = inttype;  dsize = 4
#line 2308 "regression-compile-tmp/chimp.imp"
D.TYPE = 2051;
#line 2308 "regression-compile-tmp/chimp.imp"
DSIZE = 4;
                                                                //   2309      atom = next atom
#line 2309 "regression-compile-tmp/chimp.imp"
ATOM = NEXTATOM();
                                                                //   2310      %if atom = left %start
#line 2310 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (55))) goto L_0221;
                                                                //   2311        get LITBOUNDS
#line 2311 "regression-compile-tmp/chimp.imp"
GETLITBOUNDS();
                                                                //   2312        d_type = item
#line 2312 "regression-compile-tmp/chimp.imp"
D.TYPE = ITEM;
                                                                //   2313        dsize = 2 %if elements <= 65536 %and t_low >= -32768
#line 2313 "regression-compile-tmp/chimp.imp"
if (((ELEMENTS) > (65536))) goto L_0222;
#line 2313 "regression-compile-tmp/chimp.imp"
if (((T.LOW) < ((-32768)))) goto L_0222;
#line 2313 "regression-compile-tmp/chimp.imp"
DSIZE = 2;
#line 2313 "regression-compile-tmp/chimp.imp"
L_0222:;
                                                                //   2314        dsize = 1 %if elements <= 256 %and t_low >= -128
#line 2314 "regression-compile-tmp/chimp.imp"
if (((ELEMENTS) > (256))) goto L_0223;
#line 2314 "regression-compile-tmp/chimp.imp"
if (((T.LOW) < ((-128)))) goto L_0223;
#line 2314 "regression-compile-tmp/chimp.imp"
DSIZE = 1;
#line 2314 "regression-compile-tmp/chimp.imp"
L_0223:;
                                                                //   2315      %finish
#line 2315 "regression-compile-tmp/chimp.imp"
L_0221:;
                                                                //   2316    %else %if a(keylong);                   !%long
#line 2316 "regression-compile-tmp/chimp.imp"
goto L_021f;
#line 2316 "regression-compile-tmp/chimp.imp"
L_0220:;
#line 2316 "regression-compile-tmp/chimp.imp"
if (!(A(26))) goto L_0224;
                                                                //   2317      d_type = longinttype;  dsize = 8
#line 2317 "regression-compile-tmp/chimp.imp"
D.TYPE = 2057;
#line 2317 "regression-compile-tmp/chimp.imp"
DSIZE = 8;
                                                                //   2318      d_type = longrealtype %and get(keyreal) %if %not a(keyinteger)
#line 2318 "regression-compile-tmp/chimp.imp"
if (A(27)) goto L_0225;
#line 2318 "regression-compile-tmp/chimp.imp"
D.TYPE = 2059;
#line 2318 "regression-compile-tmp/chimp.imp"
GET(28);
#line 2318 "regression-compile-tmp/chimp.imp"
L_0225:;
                                                                //   2319    %else %if a(keyreal);                   !%real
#line 2319 "regression-compile-tmp/chimp.imp"
goto L_021f;
#line 2319 "regression-compile-tmp/chimp.imp"
L_0224:;
#line 2319 "regression-compile-tmp/chimp.imp"
if (!(A(28))) goto L_0226;
                                                                //   2320      d_type = realtype;  dsize = 4
#line 2320 "regression-compile-tmp/chimp.imp"
D.TYPE = 2058;
#line 2320 "regression-compile-tmp/chimp.imp"
DSIZE = 4;
                                                                //   2321    %else %if a(keystring);                 !%string
#line 2321 "regression-compile-tmp/chimp.imp"
goto L_021f;
#line 2321 "regression-compile-tmp/chimp.imp"
L_0226:;
#line 2321 "regression-compile-tmp/chimp.imp"
if (!(A(29))) goto L_0227;
                                                                //   2322      d_type = stringy
#line 2322 "regression-compile-tmp/chimp.imp"
D.TYPE = 2044;
                                                                //   2323      t_val = 255;  dsize = 256
#line 2323 "regression-compile-tmp/chimp.imp"
T.VAL = 255;
#line 2323 "regression-compile-tmp/chimp.imp"
DSIZE = 256;
                                                                //   2324      %if a(left) %start
#line 2324 "regression-compile-tmp/chimp.imp"
if (!(A(55))) goto L_0228;
                                                                //   2325        t_val = 0
#line 2325 "regression-compile-tmp/chimp.imp"
T.VAL = 0;
                                                                //   2326        %if %not a(star) %start
#line 2326 "regression-compile-tmp/chimp.imp"
if (A(88)) goto L_0229;
                                                                //   2327          get LITINT
#line 2327 "regression-compile-tmp/chimp.imp"
GETLITINT();
                                                                //   2328          expfault(rangerr+point) %and t_val = 255 %unless 0 < t_val <= 255
#line 2328 "regression-compile-tmp/chimp.imp"
if ((((0) >= (T.VAL))) || (((T.VAL) <= (255)))) goto L_022a;
#line 2328 "regression-compile-tmp/chimp.imp"
L_020d:;
#line 2328 "regression-compile-tmp/chimp.imp"
EXPFAULT(76);
#line 2328 "regression-compile-tmp/chimp.imp"
T.VAL = 255;
#line 2328 "regression-compile-tmp/chimp.imp"
L_022a:;
                                                                //   2329        %finish
#line 2329 "regression-compile-tmp/chimp.imp"
L_0229:;
                                                                //   2330        get(right)
#line 2330 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   2331      %finish %else nonstandard(nolength)
#line 2331 "regression-compile-tmp/chimp.imp"
goto L_022b;
#line 2331 "regression-compile-tmp/chimp.imp"
L_0228:;
#line 2331 "regression-compile-tmp/chimp.imp"
NONSTANDARD(32);
#line 2331 "regression-compile-tmp/chimp.imp"
L_022b:;
                                                                //   2332      %if t_val # 0 %start
#line 2332 "regression-compile-tmp/chimp.imp"
if (((T.VAL) == (0))) goto L_022c;
                                                                //   2333        d_type = newstype(t_val)
#line 2333 "regression-compile-tmp/chimp.imp"
D.TYPE = NEWSTYPE(T.VAL);
                                                                //   2334        dsize = (t_val+2)&(\1);  !+1 & evened up
#line 2334 "regression-compile-tmp/chimp.imp"
DSIZE = (((((int)(T.VAL)) + (2))) & ((~(1))));
                                                                //   2335      %finish
#line 2335 "regression-compile-tmp/chimp.imp"
L_022c:;
                                                                //   2336    %else %if a(keyrecord);                    !%record
#line 2336 "regression-compile-tmp/chimp.imp"
goto L_021f;
#line 2336 "regression-compile-tmp/chimp.imp"
L_0227:;
#line 2336 "regression-compile-tmp/chimp.imp"
if (!(A(30))) goto L_022d;
                                                                //   2337      d_type = recy
#line 2337 "regression-compile-tmp/chimp.imp"
D.TYPE = 2042;
                                                                //   2338      %if a(keyformat) %start
#line 2338 "regression-compile-tmp/chimp.imp"
if (!(A(31))) goto L_022e;
                                                                //   2339        syntax error %if flags&(static+ext) # 0
#line 2339 "regression-compile-tmp/chimp.imp"
if (((((FLAGS) & (40))) == (0))) goto L_022f;
#line 2339 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 2339 "regression-compile-tmp/chimp.imp"
L_022f:;
                                                                //   2340        %if a(keyspec) %start
#line 2340 "regression-compile-tmp/chimp.imp"
if (!(A(34))) goto L_0230;
                                                                //   2341          d_flags = typeid+spec
#line 2341 "regression-compile-tmp/chimp.imp"
D.FLAGS = 272;
                                                                //   2342          get IDENT
#line 2342 "regression-compile-tmp/chimp.imp"
GETIDENT();
                                                                //   2343        %finish %else %start
#line 2343 "regression-compile-tmp/chimp.imp"
goto L_0231;
#line 2343 "regression-compile-tmp/chimp.imp"
L_0230:;
                                                                //   2344          d_flags = typeid
#line 2344 "regression-compile-tmp/chimp.imp"
D.FLAGS = 256;
                                                                //   2345          get IDENT
#line 2345 "regression-compile-tmp/chimp.imp"
GETIDENT();
                                                                //   2346          formp == ditem
#line 2346 "regression-compile-tmp/chimp.imp"
FORMP = DITEM;
                                                                //   2347          get(left)
#line 2347 "regression-compile-tmp/chimp.imp"
GET(55);
                                                                //   2348          fbase = 0
#line 2348 "regression-compile-tmp/chimp.imp"
FBASE = 0;
                                                                //   2349          get FORMATDEF
#line 2349 "regression-compile-tmp/chimp.imp"
GETFORMATDEF();
                                                                //   2350          fieldp_flags = fieldp_flags-more
#line 2350 "regression-compile-tmp/chimp.imp"
FIELDP->FLAGS = (((int)(FIELDP->FLAGS)) - (128));
                                                                //   2351          get(right)
#line 2351 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   2352        %finish
#line 2352 "regression-compile-tmp/chimp.imp"
L_0231:;
                                                                //   2353        d_flags = typeid
#line 2353 "regression-compile-tmp/chimp.imp"
D.FLAGS = 256;
                                                                //   2354        %return
#line 2354 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2355      %finish
#line 2355 "regression-compile-tmp/chimp.imp"
L_022e:;
                                                                //   2356      get(left)
#line 2356 "regression-compile-tmp/chimp.imp"
GET(55);
                                                                //   2357      %if %not a(star) %start
#line 2357 "regression-compile-tmp/chimp.imp"
if (A(88)) goto L_0232;
                                                                //   2358        %if %not a(ident) %start
#line 2358 "regression-compile-tmp/chimp.imp"
if (A(54)) goto L_0233;
                                                                //   2359          get FORMATDEF
#line 2359 "regression-compile-tmp/chimp.imp"
GETFORMATDEF();
                                                                //   2360          fieldp_flags = fieldp_flags-more
#line 2360 "regression-compile-tmp/chimp.imp"
FIELDP->FLAGS = (((int)(FIELDP->FLAGS)) - (128));
                                                                //   2361          get(right)
#line 2361 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   2362          d_flags = typeid
#line 2362 "regression-compile-tmp/chimp.imp"
D.FLAGS = 256;
                                                                //   2363          declare anon
#line 2363 "regression-compile-tmp/chimp.imp"
DECLAREANON();
                                                                //   2364        %finish
#line 2364 "regression-compile-tmp/chimp.imp"
L_0233:;
                                                                //   2365        name error %if item <= 0
#line 2365 "regression-compile-tmp/chimp.imp"
if (((ITEM) > (0))) goto L_0234;
#line 2365 "regression-compile-tmp/chimp.imp"
NAMEERROR();
#line 2365 "regression-compile-tmp/chimp.imp"
L_0234:;
                                                                //   2366        syntax error %if ditem_type # recy
#line 2366 "regression-compile-tmp/chimp.imp"
if (((DITEM->TYPE) == (2042))) goto L_0235;
#line 2366 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 2366 "regression-compile-tmp/chimp.imp"
L_0235:;
                                                                //   2367        d_type = item;  dsize = ditem_val
#line 2367 "regression-compile-tmp/chimp.imp"
D.TYPE = ITEM;
#line 2367 "regression-compile-tmp/chimp.imp"
DSIZE = DITEM->VAL;
                                                                //   2368      %finish
#line 2368 "regression-compile-tmp/chimp.imp"
L_0232:;
                                                                //   2369      get(right)
#line 2369 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   2370    %else
#line 2370 "regression-compile-tmp/chimp.imp"
goto L_021f;
#line 2370 "regression-compile-tmp/chimp.imp"
L_022d:;
                                                                //   2371      syntax error %if atom # keyname;            !untyped %name
#line 2371 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (36))) goto L_0236;
#line 2371 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 2371 "regression-compile-tmp/chimp.imp"
L_0236:;
                                                                //   2372    %finish
#line 2372 "regression-compile-tmp/chimp.imp"
L_021f:;
                                                                //   2373    !End of basic type info: set item size in DECLMODE
                                                                //   2374    %if dsize <= 4 %start
#line 2374 "regression-compile-tmp/chimp.imp"
if (((DSIZE) > (4))) goto L_0237;
                                                                //   2375      %if dsize <= 2 %then declmode = dsize<<sizeshift %c
#line 2375 "regression-compile-tmp/chimp.imp"
if (((DSIZE) > (2))) goto L_0238;
#line 2375 "regression-compile-tmp/chimp.imp"
DECLMODE = ((DSIZE) << (6));
#line 2375 "regression-compile-tmp/chimp.imp"
goto L_0239;
#line 2375 "regression-compile-tmp/chimp.imp"
L_0238:;
#line 2375 "regression-compile-tmp/chimp.imp"
DECLMODE = ((3) << (6));
#line 2375 "regression-compile-tmp/chimp.imp"
L_0239:;
                                                                //   2376      %else declmode = longsize<<sizeshift
                                                                //   2377    %finish
#line 2377 "regression-compile-tmp/chimp.imp"
L_0237:;
                                                                //   2378    !Appendages
                                                                //   2379    %if a(fnmap) %start;  !%fn, %map
#line 2379 "regression-compile-tmp/chimp.imp"
if (!(A(32))) goto L_023a;
                                                                //   2380      flags = flags&(\static) %if flags&ext # 0
#line 2380 "regression-compile-tmp/chimp.imp"
if (((((FLAGS) & (32))) == (0))) goto L_023b;
#line 2380 "regression-compile-tmp/chimp.imp"
FLAGS = ((FLAGS) & ((~(8))));
#line 2380 "regression-compile-tmp/chimp.imp"
L_023b:;
                                                                //   2381      syntax error %if flags&static # 0
#line 2381 "regression-compile-tmp/chimp.imp"
if (((((FLAGS) & (8))) == (0))) goto L_023c;
#line 2381 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 2381 "regression-compile-tmp/chimp.imp"
L_023c:;
                                                                //   2382      flags = flags+var %and d_type = d_type+direct %if subatom # 0;  !map
#line 2382 "regression-compile-tmp/chimp.imp"
if (((SUBATOM) == (0))) goto L_023d;
#line 2382 "regression-compile-tmp/chimp.imp"
FLAGS = (((int)(FLAGS)) + (1));
#line 2382 "regression-compile-tmp/chimp.imp"
D.TYPE = (((int)(D.TYPE)) + (8192));
#line 2382 "regression-compile-tmp/chimp.imp"
L_023d:;
                                                                //   2383      d_flags = flags+proc;  declmode = declmode+pcmode
#line 2383 "regression-compile-tmp/chimp.imp"
D.FLAGS = (((int)(FLAGS)) + (4));
#line 2383 "regression-compile-tmp/chimp.imp"
DECLMODE = (((int)(DECLMODE)) + (58));
                                                                //   2384      %return
#line 2384 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2385    %finish
#line 2385 "regression-compile-tmp/chimp.imp"
L_023a:;
                                                                //   2386    d_type = d_type+direct
#line 2386 "regression-compile-tmp/chimp.imp"
D.TYPE = (((int)(D.TYPE)) + (8192));
                                                                //   2387    %while a(keyarray) %or a(keyname) %cycle
#line 2387 "regression-compile-tmp/chimp.imp"
L_023e:;
#line 2387 "regression-compile-tmp/chimp.imp"
if (A(35)) goto L_0240;
#line 2387 "regression-compile-tmp/chimp.imp"
if (!(A(36))) goto L_023f;
#line 2387 "regression-compile-tmp/chimp.imp"
L_0240:;
                                                                //   2388      %if atom = keyarray %start;                  !%array
#line 2388 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (35))) goto L_0241;
                                                                //   2389        nonstandard(naming) %if d_type >= indirect
#line 2389 "regression-compile-tmp/chimp.imp"
if (((D.TYPE) < (16384))) goto L_0242;
#line 2389 "regression-compile-tmp/chimp.imp"
NONSTANDARD(512);
#line 2389 "regression-compile-tmp/chimp.imp"
L_0242:;
                                                                //   2390        %if %not a(keyname) %start
#line 2390 "regression-compile-tmp/chimp.imp"
if (A(36)) goto L_0243;
                                                                //   2391          syntax error %if flags&parm # 0
#line 2391 "regression-compile-tmp/chimp.imp"
if (((((FLAGS) & (64))) == (0))) goto L_0244;
#line 2391 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 2391 "regression-compile-tmp/chimp.imp"
L_0244:;
                                                                //   2392          flags = flags+parm;  !as indic
#line 2392 "regression-compile-tmp/chimp.imp"
FLAGS = (((int)(FLAGS)) + (64));
                                                                //   2393          %exit
#line 2393 "regression-compile-tmp/chimp.imp"
goto L_023f;
                                                                //   2394        %finish
#line 2394 "regression-compile-tmp/chimp.imp"
L_0243:;
                                                                //   2395        d_type = newatype(d_type,inty)
#line 2395 "regression-compile-tmp/chimp.imp"
D.TYPE = NEWATYPE(D.TYPE, 2046);
                                                                //   2396      %finish
#line 2396 "regression-compile-tmp/chimp.imp"
L_0241:;
                                                                //   2397      syntax error %if d_type >= indirect
#line 2397 "regression-compile-tmp/chimp.imp"
if (((D.TYPE) < (16384))) goto L_0245;
#line 2397 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 2397 "regression-compile-tmp/chimp.imp"
L_0245:;
                                                                //   2398      d_type = d_type+(indirect-direct)
#line 2398 "regression-compile-tmp/chimp.imp"
D.TYPE = ((D.TYPE) + ((int)(8192)));
                                                                //   2399      dsize = 4
#line 2399 "regression-compile-tmp/chimp.imp"
DSIZE = 4;
                                                                //   2400    %repeat
#line 2400 "regression-compile-tmp/chimp.imp"
goto L_023e;
#line 2400 "regression-compile-tmp/chimp.imp"
L_023f:;
                                                                //   2401    d_flags = flags!!var
#line 2401 "regression-compile-tmp/chimp.imp"
D.FLAGS = ((FLAGS) ^ (1));
                                                                //   2402  %end;  !GET TYPE
#line 2402 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETTYPE at level 3
                                                                //   2403  !
                                                                //   2404  %routine GET OWN ARRAY DECLARATION
#line 2404 "regression-compile-tmp/chimp.imp"
void GETOWNARRAYDECLARATION( void )
#line 2404 "regression-compile-tmp/chimp.imp"
{
                                                                //   2405  %integer holdval,dpos
#line 2405 "regression-compile-tmp/chimp.imp"
int HOLDVAL;
#line 2405 "regression-compile-tmp/chimp.imp"
int DPOS;
                                                                //   2406  %record(identinfo)%name dp
#line 2406 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*DP;
                                                                //   2407  !  constad = constad+1 %if constad&1 # 0
                                                                //   2408  !  d_val = constad
                                                                //   2409  !  d_val = d_val-ownbase %if d_val >= ownbase
                                                                //   2410    get IDENT
#line 2410 "regression-compile-tmp/chimp.imp"
GETIDENT();
                                                                //   2411    dpos = item;  dp == ditem
#line 2411 "regression-compile-tmp/chimp.imp"
DPOS = ITEM;
#line 2411 "regression-compile-tmp/chimp.imp"
DP = DITEM;
                                                                //   2412    get LITBOUNDS
#line 2412 "regression-compile-tmp/chimp.imp"
GETLITBOUNDS();
                                                                //   2413    dp_type = newatype(d_type,item)
#line 2413 "regression-compile-tmp/chimp.imp"
DP->TYPE = NEWATYPE(D.TYPE, ITEM);
                                                                //   2414    %if a assop %start
#line 2414 "regression-compile-tmp/chimp.imp"
if (!(AASSOP())) goto L_0246;
                                                                //   2415      allow(terminator)
#line 2415 "regression-compile-tmp/chimp.imp"
ALLOW(52);
                                                                //   2416      %cycle
#line 2416 "regression-compile-tmp/chimp.imp"
L_0247:;
                                                                //   2417        get LITERAL(d_type)
#line 2417 "regression-compile-tmp/chimp.imp"
GETLITERAL(D.TYPE);
                                                                //   2418        faultnum = rangerr+point+warn %if faultnum = rangerr+point
#line 2418 "regression-compile-tmp/chimp.imp"
if (((FAULTNUM) != (76))) goto L_024a;
#line 2418 "regression-compile-tmp/chimp.imp"
FAULTNUM = 204;
#line 2418 "regression-compile-tmp/chimp.imp"
L_024a:;
                                                                //   2419        holdval = t_val
#line 2419 "regression-compile-tmp/chimp.imp"
HOLDVAL = T.VAL;
                                                                //   2420        t_val = 1
#line 2420 "regression-compile-tmp/chimp.imp"
T.VAL = 1;
                                                                //   2421        %if a(left) %start
#line 2421 "regression-compile-tmp/chimp.imp"
if (!(A(55))) goto L_024b;
                                                                //   2422          t_val = elements
#line 2422 "regression-compile-tmp/chimp.imp"
T.VAL = ELEMENTS;
                                                                //   2423          get LITINT %if %not a(star)
#line 2423 "regression-compile-tmp/chimp.imp"
if (A(88)) goto L_024c;
#line 2423 "regression-compile-tmp/chimp.imp"
GETLITINT();
#line 2423 "regression-compile-tmp/chimp.imp"
L_024c:;
                                                                //   2424          get(right)
#line 2424 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   2425        %finish
#line 2425 "regression-compile-tmp/chimp.imp"
L_024b:;
                                                                //   2426  !      plant const(holdval,t_val)
                                                                //   2427        elements = elements-t_val
#line 2427 "regression-compile-tmp/chimp.imp"
ELEMENTS = (((int)(ELEMENTS)) - (T.VAL));
                                                                //   2428      %repeat %until %not a(comma)
#line 2428 "regression-compile-tmp/chimp.imp"
if (!(A(59))) goto L_0248;
#line 2428 "regression-compile-tmp/chimp.imp"
goto L_0247;
#line 2428 "regression-compile-tmp/chimp.imp"
L_0248:;
                                                                //   2429      report(counterr,dpos) %if elements # 0 %and faultnum = 0
#line 2429 "regression-compile-tmp/chimp.imp"
if (((ELEMENTS) == (0))) goto L_024d;
#line 2429 "regression-compile-tmp/chimp.imp"
if (((FAULTNUM) != (0))) goto L_024d;
#line 2429 "regression-compile-tmp/chimp.imp"
REPORT(45, DPOS);
#line 2429 "regression-compile-tmp/chimp.imp"
L_024d:;
                                                                //   2430    %finish
#line 2430 "regression-compile-tmp/chimp.imp"
L_0246:;
                                                                //   2431  !  plant const(0,elements) %if elements > 0
                                                                //   2432  %end;  !get OWN ADECL
#line 2432 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETOWNARRAYDECLARATION at level 3
                                                                //   2433  
                                                                //   2434  %routine GET ARRAY DECLARATION
#line 2434 "regression-compile-tmp/chimp.imp"
void GETARRAYDECLARATION( void )
#line 2434 "regression-compile-tmp/chimp.imp"
{
                                                                //   2435  !ie get IDENTLISTS and BOUNDS
                                                                //   2436  %integer i,dlim1,hold,holdval,type
#line 2436 "regression-compile-tmp/chimp.imp"
int I;
#line 2436 "regression-compile-tmp/chimp.imp"
int DLIM1;
#line 2436 "regression-compile-tmp/chimp.imp"
int HOLD;
#line 2436 "regression-compile-tmp/chimp.imp"
int HOLDVAL;
#line 2436 "regression-compile-tmp/chimp.imp"
int TYPE;
                                                                //   2437  
                                                                //   2438  !%routine put bound pair
                                                                //   2439  !  hold = litref(holdval) %if hold = 0
                                                                //   2440  !  item = litref(t_val) %if item = 0
                                                                //   2441  !  put3(r,hold,item);  !(range),lower,upper
                                                                //   2442  !%end
                                                                //   2443  
                                                                //   2444  %routine GET BOUNDS
#line 2444 "regression-compile-tmp/chimp.imp"
void GETBOUNDS( void )
#line 2444 "regression-compile-tmp/chimp.imp"
{
                                                                //   2445  %integer range
#line 2445 "regression-compile-tmp/chimp.imp"
int RANGE;
                                                                //   2446    get VALUE(anyint)
#line 2446 "regression-compile-tmp/chimp.imp"
GETVALUE(10238);
                                                                //   2447    hold = item;  t_val = minint %if hold # 0
#line 2447 "regression-compile-tmp/chimp.imp"
HOLD = ITEM;
#line 2447 "regression-compile-tmp/chimp.imp"
if (((HOLD) == (0))) goto L_024e;
#line 2447 "regression-compile-tmp/chimp.imp"
T.VAL = (-2147483648);
#line 2447 "regression-compile-tmp/chimp.imp"
L_024e:;
                                                                //   2448    holdval = t_val
#line 2448 "regression-compile-tmp/chimp.imp"
HOLDVAL = T.VAL;
                                                                //   2449    get(colon)
#line 2449 "regression-compile-tmp/chimp.imp"
GET(58);
                                                                //   2450    get VALUE(anyint)
#line 2450 "regression-compile-tmp/chimp.imp"
GETVALUE(10238);
                                                                //   2451    t_val = maxint %if item # 0
#line 2451 "regression-compile-tmp/chimp.imp"
if (((ITEM) == (0))) goto L_024f;
#line 2451 "regression-compile-tmp/chimp.imp"
T.VAL = 2147483647;
#line 2451 "regression-compile-tmp/chimp.imp"
L_024f:;
                                                                //   2452    range = newrange(inty,holdval,t_val)
#line 2452 "regression-compile-tmp/chimp.imp"
RANGE = NEWRANGE(2046, HOLDVAL, T.VAL);
                                                                //   2453    GET BOUNDS %if a(comma)
#line 2453 "regression-compile-tmp/chimp.imp"
if (!(A(59))) goto L_0250;
#line 2453 "regression-compile-tmp/chimp.imp"
GETBOUNDS();
#line 2453 "regression-compile-tmp/chimp.imp"
L_0250:;
                                                                //   2454    type = newatype(type,range)
#line 2454 "regression-compile-tmp/chimp.imp"
TYPE = NEWATYPE(TYPE, RANGE);
                                                                //   2455  %end
#line 2455 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETBOUNDS at level 4
                                                                //   2456  
                                                                //   2457  %cycle
#line 2457 "regression-compile-tmp/chimp.imp"
L_0251:;
                                                                //   2458    type = d_type
#line 2458 "regression-compile-tmp/chimp.imp"
TYPE = D.TYPE;
                                                                //   2459    get IDENTLIST
#line 2459 "regression-compile-tmp/chimp.imp"
GETIDENTLIST();
                                                                //   2460    dlim1 = dlim
#line 2460 "regression-compile-tmp/chimp.imp"
DLIM1 = DLIM;
                                                                //   2461    get(left)
#line 2461 "regression-compile-tmp/chimp.imp"
GET(55);
                                                                //   2462    GET BOUNDS
#line 2462 "regression-compile-tmp/chimp.imp"
GETBOUNDS();
                                                                //   2463    get(right)
#line 2463 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   2464  !  %if hold = 0 = item {both literal} %and np = np0 {1-dim} %c
                                                                //   2465  !  %and elements <= 32767 {safe to multiply?} %c
                                                                //   2466  !  %and (elements*dsize*(dlim-dpos))<<1-c_sp-c_delta <= 32000 %start
                                                                //   2467  !     d_par = parref(inty,0,r,0)
                                                                //   2468  !  %finish %else %start
                                                                //   2469  !    put bound pair
                                                                //   2470  !     d_par = 0
                                                                //   2471  !    i = np
                                                                //   2472  !    %while i # np0 %cycle
                                                                //   2473  !      i = i-1
                                                                //   2474  !       d_par = parref(inty,0,exp(i)_act,d_par)
                                                                //   2475  !    %repeat
                                                                //   2476  !    exp(np0)_act = adecl
                                                                //   2477  !  %finish
                                                                //   2478  !  i = np
                                                                //   2479    %while dlim0 # dlim1 %cycle
#line 2479 "regression-compile-tmp/chimp.imp"
L_0254:;
#line 2479 "regression-compile-tmp/chimp.imp"
if (((DLIM0) == (DLIM1))) goto L_0255;
                                                                //   2480  !    %if i = np0 %start
                                                                //   2481  !      c_delta = c_delta-elements*dsize
                                                                //   2482  !      c_delta = c_delta-1 %if c_delta&1 # 0
                                                                //   2483  !      dict(dlim0)_flags = dict(dlim0)_flags!static
                                                                //   2484  !    %finish %else %start
                                                                //   2485  !      np = i;  compile(np0,np0)
                                                                //   2486  !      c_flags = c_flags!dynarray
                                                                //   2487  !    %finish
                                                                //   2488  !    dict(dlim0)_val = c_sp+c_delta
                                                                //   2489      dict(dlim0)_type = type
#line 2489 "regression-compile-tmp/chimp.imp"
DICT[(((int)(DLIM0)) - (2001))].TYPE = TYPE;
                                                                //   2490      dlim0 = dlim0+1
#line 2490 "regression-compile-tmp/chimp.imp"
DLIM0 = (((int)(DLIM0)) + (1));
                                                                //   2491    %repeat
#line 2491 "regression-compile-tmp/chimp.imp"
goto L_0254;
#line 2491 "regression-compile-tmp/chimp.imp"
L_0255:;
                                                                //   2492  %repeat %until %not a(comma)
#line 2492 "regression-compile-tmp/chimp.imp"
if (!(A(59))) goto L_0252;
#line 2492 "regression-compile-tmp/chimp.imp"
goto L_0251;
#line 2492 "regression-compile-tmp/chimp.imp"
L_0252:;
                                                                //   2493  %end;  !get BOUNDS
#line 2493 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETARRAYDECLARATION at level 3
                                                                //   2494  
                                                                //   2495  %routine GET PARMDEF
#line 2495 "regression-compile-tmp/chimp.imp"
void GETPARMDEF( void )
#line 2495 "regression-compile-tmp/chimp.imp"
{
                                                                //   2496  %integer headitem,dpos,dlim1
#line 2496 "regression-compile-tmp/chimp.imp"
int HEADITEM;
#line 2496 "regression-compile-tmp/chimp.imp"
int DPOS;
#line 2496 "regression-compile-tmp/chimp.imp"
int DLIM1;
                                                                //   2497  %record(identinfo)%name headditem,dp
#line 2497 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*HEADDITEM;
#line 2497 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*DP;
                                                                //   2498  %integerfn PARMMATCH(%integer apos)
#line 2498 "regression-compile-tmp/chimp.imp"
int PARMMATCH( int APOS )
#line 2498 "regression-compile-tmp/chimp.imp"
{
                                                                //   2499  %integer bpos
#line 2499 "regression-compile-tmp/chimp.imp"
int BPOS;
                                                                //   2500  %record(identinfo)%name ap,bp
#line 2500 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*AP;
#line 2500 "regression-compile-tmp/chimp.imp"
 IDENTINFO /*name*/*BP;
                                                                //   2501    bpos = dlim1
#line 2501 "regression-compile-tmp/chimp.imp"
BPOS = DLIM1;
                                                                //   2502    ap == dict(apos)
#line 2502 "regression-compile-tmp/chimp.imp"
AP = &DICT[(((int)(APOS)) - (2001))];
                                                                //   2503    %while bpos # dlim %cycle
#line 2503 "regression-compile-tmp/chimp.imp"
L_0257:;
#line 2503 "regression-compile-tmp/chimp.imp"
if (((BPOS) == (DLIM))) goto L_0258;
                                                                //   2504      %result = 0 %if ap_flags&more = 0
#line 2504 "regression-compile-tmp/chimp.imp"
if (((((AP->FLAGS) & (128))) != (0))) goto L_025a;
#line 2504 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2504 "regression-compile-tmp/chimp.imp"
L_025a:;
                                                                //   2505      apos = apos+1 %and ap == dict(apos) %until ap_flags&parm # 0
#line 2505 "regression-compile-tmp/chimp.imp"
L_025b:;
#line 2505 "regression-compile-tmp/chimp.imp"
APOS = (((int)(APOS)) + (1));
#line 2505 "regression-compile-tmp/chimp.imp"
AP = &DICT[(((int)(APOS)) - (2001))];
#line 2505 "regression-compile-tmp/chimp.imp"
if (((((AP->FLAGS) & (64))) != (0))) goto L_025c;
#line 2505 "regression-compile-tmp/chimp.imp"
goto L_025b;
#line 2505 "regression-compile-tmp/chimp.imp"
L_025c:;
                                                                //   2506      bp == dict(bpos)
#line 2506 "regression-compile-tmp/chimp.imp"
BP = &DICT[(((int)(BPOS)) - (2001))];
                                                                //   2507      %result = 0 %if ap_type # bp_type;  !for now
#line 2507 "regression-compile-tmp/chimp.imp"
if (((AP->TYPE) == (BP->TYPE))) goto L_025e;
#line 2507 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2507 "regression-compile-tmp/chimp.imp"
L_025e:;
                                                                //   2508      bpos = bpos+1
#line 2508 "regression-compile-tmp/chimp.imp"
BPOS = (((int)(BPOS)) + (1));
                                                                //   2509    %repeat
#line 2509 "regression-compile-tmp/chimp.imp"
goto L_0257;
#line 2509 "regression-compile-tmp/chimp.imp"
L_0258:;
                                                                //   2510    %result = 1 %if ap_flags&more = 0
#line 2510 "regression-compile-tmp/chimp.imp"
if (((((AP->FLAGS) & (128))) != (0))) goto L_025f;
#line 2510 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 2510 "regression-compile-tmp/chimp.imp"
L_025f:;
                                                                //   2511    %result = 0
#line 2511 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   2512  %end
#line 2512 "regression-compile-tmp/chimp.imp"
} // End of block PARMMATCH at level 4
                                                                //   2513  !
                                                                //   2514    headitem = item;  headditem == ditem
#line 2514 "regression-compile-tmp/chimp.imp"
HEADITEM = ITEM;
#line 2514 "regression-compile-tmp/chimp.imp"
HEADDITEM = DITEM;
                                                                //   2515    dlim1 = dlim
#line 2515 "regression-compile-tmp/chimp.imp"
DLIM1 = DLIM;
                                                                //   2516    %if a(left) %start
#line 2516 "regression-compile-tmp/chimp.imp"
if (!(A(55))) goto L_0260;
                                                                //   2517      %cycle
#line 2517 "regression-compile-tmp/chimp.imp"
L_0261:;
                                                                //   2518        get TYPE(parm!more) %if atom # ident
#line 2518 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (54))) goto L_0264;
#line 2518 "regression-compile-tmp/chimp.imp"
GETTYPE(((64) | (128)));
#line 2518 "regression-compile-tmp/chimp.imp"
L_0264:;
                                                                //   2519        %if d_flags&proc = 0 %start
#line 2519 "regression-compile-tmp/chimp.imp"
if (((((D.FLAGS) & (4))) != (0))) goto L_0265;
                                                                //   2520          get IDENT
#line 2520 "regression-compile-tmp/chimp.imp"
GETIDENT();
                                                                //   2521          %exit %if %not a(comma) %and atom = right
#line 2521 "regression-compile-tmp/chimp.imp"
if (A(59)) goto L_0266;
#line 2521 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (60))) goto L_0266;
#line 2521 "regression-compile-tmp/chimp.imp"
goto L_0262;
#line 2521 "regression-compile-tmp/chimp.imp"
L_0266:;
                                                                //   2522          %if atom # comma %then nonstandard(nocomma) %c
#line 2522 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (59))) goto L_0267;
#line 2522 "regression-compile-tmp/chimp.imp"
NONSTANDARD(4);
#line 2522 "regression-compile-tmp/chimp.imp"
goto L_0268;
#line 2522 "regression-compile-tmp/chimp.imp"
L_0267:;
#line 2522 "regression-compile-tmp/chimp.imp"
ATOM = NEXTATOM();
#line 2522 "regression-compile-tmp/chimp.imp"
L_0268:;
                                                                //   2523          %else atom = next atom
                                                                //   2524        %finish %else %start
#line 2524 "regression-compile-tmp/chimp.imp"
goto L_0269;
#line 2524 "regression-compile-tmp/chimp.imp"
L_0265:;
                                                                //   2525          get IDENT
#line 2525 "regression-compile-tmp/chimp.imp"
GETIDENT();
                                                                //   2526          speccing = speccing+2
#line 2526 "regression-compile-tmp/chimp.imp"
SPECCING = (((int)(SPECCING)) + (2));
                                                                //   2527          get PARMDEF
#line 2527 "regression-compile-tmp/chimp.imp"
GETPARMDEF();
                                                                //   2528          speccing = speccing-2
#line 2528 "regression-compile-tmp/chimp.imp"
SPECCING = (((int)(SPECCING)) - (2));
                                                                //   2529          %exit %if %not a(comma)
#line 2529 "regression-compile-tmp/chimp.imp"
if (A(59)) goto L_026a;
#line 2529 "regression-compile-tmp/chimp.imp"
goto L_0262;
#line 2529 "regression-compile-tmp/chimp.imp"
L_026a:;
                                                                //   2530        %finish
#line 2530 "regression-compile-tmp/chimp.imp"
L_0269:;
                                                                //   2531      %repeat
#line 2531 "regression-compile-tmp/chimp.imp"
goto L_0261;
#line 2531 "regression-compile-tmp/chimp.imp"
L_0262:;
                                                                //   2532      dict(dlim-1)_flags = dict(dlim-1)_flags-more
#line 2532 "regression-compile-tmp/chimp.imp"
DICT[(((int)((((int)(DLIM)) - (1)))) - (2001))].FLAGS = (((int)(DICT[(((int)((((int)(DLIM)) - (1)))) - (2001))].FLAGS)) - (128));
                                                                //   2533      get(right)
#line 2533 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   2534    %finish
#line 2534 "regression-compile-tmp/chimp.imp"
L_0260:;
                                                                //   2535    %if speccing >= 2 %start
#line 2535 "regression-compile-tmp/chimp.imp"
if (((SPECCING) < (2))) goto L_026b;
                                                                //   2536      dpos = dictmin
#line 2536 "regression-compile-tmp/chimp.imp"
DPOS = 2041;
                                                                //   2537      %cycle
#line 2537 "regression-compile-tmp/chimp.imp"
L_026c:;
                                                                //   2538        dp == dict(dpos)
#line 2538 "regression-compile-tmp/chimp.imp"
DP = &DICT[(((int)(DPOS)) - (2001))];
                                                                //   2539        %if dp_flags&proc # 0 %and dp_type = headditem_type %start
#line 2539 "regression-compile-tmp/chimp.imp"
if (((((DP->FLAGS) & (4))) == (0))) goto L_026f;
#line 2539 "regression-compile-tmp/chimp.imp"
if (((DP->TYPE) != (HEADDITEM->TYPE))) goto L_026f;
                                                                //   2540          %if parmmatch(dpos) # 0 %start
#line 2540 "regression-compile-tmp/chimp.imp"
if (((PARMMATCH(DPOS)) == (0))) goto L_0270;
                                                                //   2541            headditem_type = dpos;  dlim = dlim1
#line 2541 "regression-compile-tmp/chimp.imp"
HEADDITEM->TYPE = DPOS;
#line 2541 "regression-compile-tmp/chimp.imp"
DLIM = DLIM1;
                                                                //   2542            %return
#line 2542 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2543          %finish
#line 2543 "regression-compile-tmp/chimp.imp"
L_0270:;
                                                                //   2544        %finish
#line 2544 "regression-compile-tmp/chimp.imp"
L_026f:;
                                                                //   2545        dpos = dpos+1
#line 2545 "regression-compile-tmp/chimp.imp"
DPOS = (((int)(DPOS)) + (1));
                                                                //   2546      %repeat %until dpos >= headitem
#line 2546 "regression-compile-tmp/chimp.imp"
if (((DPOS) >= (HEADITEM))) goto L_026d;
#line 2546 "regression-compile-tmp/chimp.imp"
goto L_026c;
#line 2546 "regression-compile-tmp/chimp.imp"
L_026d:;
                                                                //   2547      fault(caterr);  dlim = dlim1
#line 2547 "regression-compile-tmp/chimp.imp"
FAULT(3);
#line 2547 "regression-compile-tmp/chimp.imp"
DLIM = DLIM1;
                                                                //   2548      %return
#line 2548 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2549    %finish
#line 2549 "regression-compile-tmp/chimp.imp"
L_026b:;
                                                                //   2550    %if speccing = 0 %and headditem_flags&spec # 0 %start
#line 2550 "regression-compile-tmp/chimp.imp"
if (((SPECCING) != (0))) goto L_0271;
#line 2550 "regression-compile-tmp/chimp.imp"
if (((((HEADDITEM->FLAGS) & (16))) == (0))) goto L_0271;
                                                                //   2551      headditem_flags = headditem_flags-spec
#line 2551 "regression-compile-tmp/chimp.imp"
HEADDITEM->FLAGS = (((int)(HEADDITEM->FLAGS)) - (16));
                                                                //   2552      fault(matcherr) %if parmmatch(headitem) = 0
#line 2552 "regression-compile-tmp/chimp.imp"
if (((PARMMATCH(HEADITEM)) != (0))) goto L_0272;
#line 2552 "regression-compile-tmp/chimp.imp"
FAULT(11);
#line 2552 "regression-compile-tmp/chimp.imp"
L_0272:;
                                                                //   2553    %else
#line 2553 "regression-compile-tmp/chimp.imp"
goto L_0273;
#line 2553 "regression-compile-tmp/chimp.imp"
L_0271:;
                                                                //   2554      headditem_flags = headditem_flags!more %if dlim # dlim1
#line 2554 "regression-compile-tmp/chimp.imp"
if (((DLIM) == (DLIM1))) goto L_0274;
#line 2554 "regression-compile-tmp/chimp.imp"
HEADDITEM->FLAGS = ((HEADDITEM->FLAGS) | (128));
#line 2554 "regression-compile-tmp/chimp.imp"
L_0274:;
                                                                //   2555    %finish
#line 2555 "regression-compile-tmp/chimp.imp"
L_0273:;
                                                                //   2556  %end;  !get PARMDEF
#line 2556 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETPARMDEF at level 3
                                                                //   2557  
                                                                //   2558  initial(keylabel):  nonstandard(klabel)
#line 2558 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_23:;
#line 2558 "regression-compile-tmp/chimp.imp"
NONSTANDARD(1024);
                                                                //   2559    d_flags = lab+spec;  d_type = nulltype
#line 2559 "regression-compile-tmp/chimp.imp"
D.FLAGS = 18;
#line 2559 "regression-compile-tmp/chimp.imp"
D.TYPE = 2041;
                                                                //   2560    get IDENTLIST
#line 2560 "regression-compile-tmp/chimp.imp"
GETIDENTLIST();
                                                                //   2561    -> term
#line 2561 "regression-compile-tmp/chimp.imp"
goto U_1009;
                                                                //   2562  
                                                                //   2563  initial(prefix):
#line 2563 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_24:;
                                                                //   2564    d_flags = subatom;  ! !wflag!okflag
#line 2564 "regression-compile-tmp/chimp.imp"
D.FLAGS = SUBATOM;
                                                                //   2565  !  fault(prefix<<8) %if d_flags&extmask # 0
                                                                //   2566    atom = next atom
#line 2566 "regression-compile-tmp/chimp.imp"
ATOM = NEXTATOM();
                                                                //   2567  initial(krange): initial(keylong):
#line 2567 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_25:;
#line 2567 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_26:;
                                                                //   2568  initial(keyinteger): initial(keyreal):
#line 2568 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_27:;
#line 2568 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_28:;
                                                                //   2569  initial(keystring):  initial(keyrecord):
#line 2569 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_29:;
#line 2569 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_30:;
                                                                //   2570  initial(rpred):
#line 2570 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_33:;
                                                                //   2571    matched = 0
#line 2571 "regression-compile-tmp/chimp.imp"
MATCHED = 0;
                                                                //   2572    get TYPE(d_flags)
#line 2572 "regression-compile-tmp/chimp.imp"
GETTYPE(D.FLAGS);
                                                                //   2573    %if a(keyspec) %start
#line 2573 "regression-compile-tmp/chimp.imp"
if (!(A(34))) goto L_0275;
                                                                //   2574      %if a(left) %start
#line 2574 "regression-compile-tmp/chimp.imp"
if (!(A(55))) goto L_0276;
                                                                //   2575        get LITINT;  get(right)
#line 2575 "regression-compile-tmp/chimp.imp"
GETLITINT();
#line 2575 "regression-compile-tmp/chimp.imp"
GET(60);
                                                                //   2576        declmode = declmode&sizemask+absmode
#line 2576 "regression-compile-tmp/chimp.imp"
DECLMODE = (((int)(((DECLMODE) & (192)))) + (56));
                                                                //   2577        d_val = t_val
#line 2577 "regression-compile-tmp/chimp.imp"
D.VAL = T.VAL;
                                                                //   2578        get IDENT
#line 2578 "regression-compile-tmp/chimp.imp"
GETIDENT();
                                                                //   2579        speccing = 1 %and get PARMDEF %if d_flags&proc # 0
#line 2579 "regression-compile-tmp/chimp.imp"
if (((((D.FLAGS) & (4))) == (0))) goto L_0277;
#line 2579 "regression-compile-tmp/chimp.imp"
SPECCING = 1;
#line 2579 "regression-compile-tmp/chimp.imp"
GETPARMDEF();
#line 2579 "regression-compile-tmp/chimp.imp"
L_0277:;
                                                                //   2580        -> term
#line 2580 "regression-compile-tmp/chimp.imp"
goto U_1009;
                                                                //   2581      %finish
#line 2581 "regression-compile-tmp/chimp.imp"
L_0276:;
                                                                //   2582      d_flags = d_flags+spec
#line 2582 "regression-compile-tmp/chimp.imp"
D.FLAGS = (((int)(D.FLAGS)) + (16));
                                                                //   2583      get IDENTLIST %and -> term %if d_flags&proc = 0
#line 2583 "regression-compile-tmp/chimp.imp"
if (((((D.FLAGS) & (4))) != (0))) goto L_0278;
#line 2583 "regression-compile-tmp/chimp.imp"
GETIDENTLIST();
#line 2583 "regression-compile-tmp/chimp.imp"
goto U_1009;
#line 2583 "regression-compile-tmp/chimp.imp"
L_0278:;
                                                                //   2584    %finish
#line 2584 "regression-compile-tmp/chimp.imp"
L_0275:;
                                                                //   2585    %if d_flags&proc # 0 %start
#line 2585 "regression-compile-tmp/chimp.imp"
if (((((D.FLAGS) & (4))) == (0))) goto L_0279;
                                                                //   2586      get(ident)
#line 2586 "regression-compile-tmp/chimp.imp"
GET(54);
                                                                //   2587      %if item >= c_localdpos %and ditem_type = d_type %c
#line 2587 "regression-compile-tmp/chimp.imp"
if (((ITEM) < (C.LOCALDPOS))) goto L_027a;
#line 2587 "regression-compile-tmp/chimp.imp"
if (((DITEM->TYPE) != (D.TYPE))) goto L_027a;
#line 2587 "regression-compile-tmp/chimp.imp"
if (((((DITEM->FLAGS) & (4))) == (0))) goto L_027a;
                                                                //   2588      %and ditem_flags&proc # 0 %start
                                                                //   2589        %if ditem_flags&spec = 0 %or d_flags&spec # 0 %start
#line 2589 "regression-compile-tmp/chimp.imp"
if (((((DITEM->FLAGS) & (16))) == (0))) goto L_01cd;
#line 2589 "regression-compile-tmp/chimp.imp"
if (((((D.FLAGS) & (16))) == (0))) goto L_027b;
#line 2589 "regression-compile-tmp/chimp.imp"
L_01cd:;
                                                                //   2590          item = 0;  d_flags = d_flags+alt
#line 2590 "regression-compile-tmp/chimp.imp"
ITEM = 0;
#line 2590 "regression-compile-tmp/chimp.imp"
D.FLAGS = (((int)(D.FLAGS)) + (2048));
                                                                //   2591          declare
#line 2591 "regression-compile-tmp/chimp.imp"
DECLARE();
                                                                //   2592        %finish
#line 2592 "regression-compile-tmp/chimp.imp"
L_027b:;
                                                                //   2593      %finish %else declare
#line 2593 "regression-compile-tmp/chimp.imp"
goto L_027c;
#line 2593 "regression-compile-tmp/chimp.imp"
L_027a:;
#line 2593 "regression-compile-tmp/chimp.imp"
DECLARE();
#line 2593 "regression-compile-tmp/chimp.imp"
L_027c:;
                                                                //   2594      get LITSTRING %if d_flags&ext # 0 %and a(alias)
#line 2594 "regression-compile-tmp/chimp.imp"
if (((((D.FLAGS) & (32))) == (0))) goto L_027d;
#line 2594 "regression-compile-tmp/chimp.imp"
if (!(A(46))) goto L_027d;
#line 2594 "regression-compile-tmp/chimp.imp"
GETLITSTRING();
#line 2594 "regression-compile-tmp/chimp.imp"
L_027d:;
                                                                //   2595      %if d_flags&spec # 0 %start
#line 2595 "regression-compile-tmp/chimp.imp"
if (((((D.FLAGS) & (16))) == (0))) goto L_027e;
                                                                //   2596        speccing = 1
#line 2596 "regression-compile-tmp/chimp.imp"
SPECCING = 1;
                                                                //   2597        get PARMDEF
#line 2597 "regression-compile-tmp/chimp.imp"
GETPARMDEF();
                                                                //   2598      %finish %else %start
#line 2598 "regression-compile-tmp/chimp.imp"
goto L_027f;
#line 2598 "regression-compile-tmp/chimp.imp"
L_027e:;
                                                                //   2599        open block(item)
#line 2599 "regression-compile-tmp/chimp.imp"
OPENBLOCK(ITEM);
                                                                //   2600        get PARMDEF
#line 2600 "regression-compile-tmp/chimp.imp"
GETPARMDEF();
                                                                //   2601        c_parlim = dlim
#line 2601 "regression-compile-tmp/chimp.imp"
C.PARLIM = DLIM;
                                                                //   2602        compile entry
#line 2602 "regression-compile-tmp/chimp.imp"
COMPILEENTRY();
                                                                //   2603        get(terminator)
#line 2603 "regression-compile-tmp/chimp.imp"
GET(52);
                                                                //   2604        get STATEMENTS(end)
#line 2604 "regression-compile-tmp/chimp.imp"
GETSTATEMENTS(1);
                                                                //   2605  !      %if c_access > 0 %start
                                                                //   2606  !        report(noresult,0) %if c_type > nulltype;  !fn/map/pred
                                                                //   2607  !      %finish
                                                                //   2608        close block
#line 2608 "regression-compile-tmp/chimp.imp"
CLOSEBLOCK();
                                                                //   2609      %finish
#line 2609 "regression-compile-tmp/chimp.imp"
L_027f:;
                                                                //   2610    %else %if d_flags = typeid {dealt with}
#line 2610 "regression-compile-tmp/chimp.imp"
goto L_0280;
#line 2610 "regression-compile-tmp/chimp.imp"
L_0279:;
#line 2610 "regression-compile-tmp/chimp.imp"
if (((D.FLAGS) != (256))) goto L_0281;
                                                                //   2611    %else %if d_flags&parm # 0;  !array
#line 2611 "regression-compile-tmp/chimp.imp"
goto L_0280;
#line 2611 "regression-compile-tmp/chimp.imp"
L_0281:;
#line 2611 "regression-compile-tmp/chimp.imp"
if (((((D.FLAGS) & (64))) == (0))) goto L_0282;
                                                                //   2612      d_flags = d_flags-parm
#line 2612 "regression-compile-tmp/chimp.imp"
D.FLAGS = (((int)(D.FLAGS)) - (64));
                                                                //   2613      %if d_flags&static # 0 %start
#line 2613 "regression-compile-tmp/chimp.imp"
if (((((D.FLAGS) & (8))) == (0))) goto L_0283;
                                                                //   2614        get OWN ARRAY DECLARATION
#line 2614 "regression-compile-tmp/chimp.imp"
GETOWNARRAYDECLARATION();
                                                                //   2615      %finish %else %start
#line 2615 "regression-compile-tmp/chimp.imp"
goto L_0284;
#line 2615 "regression-compile-tmp/chimp.imp"
L_0283:;
                                                                //   2616        %if d_flags&static = 0 %and c_flags >= hadon %start
#line 2616 "regression-compile-tmp/chimp.imp"
if (((((D.FLAGS) & (8))) != (0))) goto L_0285;
#line 2616 "regression-compile-tmp/chimp.imp"
if (((C.FLAGS) < (16))) goto L_0285;
                                                                //   2617          fault(ordererr);  c_flags = c_flags&(\(hadon+hadinst))
#line 2617 "regression-compile-tmp/chimp.imp"
FAULT(10);
#line 2617 "regression-compile-tmp/chimp.imp"
C.FLAGS = ((C.FLAGS) & ((~(48))));
                                                                //   2618        %finish
#line 2618 "regression-compile-tmp/chimp.imp"
L_0285:;
                                                                //   2619        get ARRAY DECLARATION
#line 2619 "regression-compile-tmp/chimp.imp"
GETARRAYDECLARATION();
                                                                //   2620      %finish
#line 2620 "regression-compile-tmp/chimp.imp"
L_0284:;
                                                                //   2621    %else %if d_flags = static {const}
#line 2621 "regression-compile-tmp/chimp.imp"
goto L_0280;
#line 2621 "regression-compile-tmp/chimp.imp"
L_0282:;
#line 2621 "regression-compile-tmp/chimp.imp"
if (((D.FLAGS) != (8))) goto L_0286;
                                                                //   2622      d_type = dict(d_type&puretype)_type
#line 2622 "regression-compile-tmp/chimp.imp"
D.TYPE = DICT[(((int)(((D.TYPE) & (8191)))) - (2001))].TYPE;
                                                                //   2623      d_type = d_type+direct %if d_type = recy %or d_type = stringy
#line 2623 "regression-compile-tmp/chimp.imp"
if (((D.TYPE) == (2042))) goto L_026e;
#line 2623 "regression-compile-tmp/chimp.imp"
if (((D.TYPE) != (2044))) goto L_0287;
#line 2623 "regression-compile-tmp/chimp.imp"
L_026e:;
#line 2623 "regression-compile-tmp/chimp.imp"
D.TYPE = (((int)(D.TYPE)) + (8192));
#line 2623 "regression-compile-tmp/chimp.imp"
L_0287:;
                                                                //   2624      %cycle
#line 2624 "regression-compile-tmp/chimp.imp"
L_0288:;
                                                                //   2625        get IDENT
#line 2625 "regression-compile-tmp/chimp.imp"
GETIDENT();
                                                                //   2626        syntax error %if %not a assop
#line 2626 "regression-compile-tmp/chimp.imp"
if (AASSOP()) goto L_028b;
#line 2626 "regression-compile-tmp/chimp.imp"
SYNTAXERROR();
#line 2626 "regression-compile-tmp/chimp.imp"
L_028b:;
                                                                //   2627        get LITERAL(d_type)
#line 2627 "regression-compile-tmp/chimp.imp"
GETLITERAL(D.TYPE);
                                                                //   2628        faultnum = rangerr+point+warn %if faultnum = rangerr+point
#line 2628 "regression-compile-tmp/chimp.imp"
if (((FAULTNUM) != (76))) goto L_028c;
#line 2628 "regression-compile-tmp/chimp.imp"
FAULTNUM = 204;
#line 2628 "regression-compile-tmp/chimp.imp"
L_028c:;
                                                                //   2629        dict(dlim-1)_val = t_val
#line 2629 "regression-compile-tmp/chimp.imp"
DICT[(((int)((((int)(DLIM)) - (1)))) - (2001))].VAL = T.VAL;
                                                                //   2630      %repeat %until %not a(comma)
#line 2630 "regression-compile-tmp/chimp.imp"
if (!(A(59))) goto L_0289;
#line 2630 "regression-compile-tmp/chimp.imp"
goto L_0288;
#line 2630 "regression-compile-tmp/chimp.imp"
L_0289:;
                                                                //   2631    %else %if d_flags&static # 0 {own}
#line 2631 "regression-compile-tmp/chimp.imp"
goto L_0280;
#line 2631 "regression-compile-tmp/chimp.imp"
L_0286:;
#line 2631 "regression-compile-tmp/chimp.imp"
if (((((D.FLAGS) & (8))) == (0))) goto L_028d;
                                                                //   2632  !    constad == ownad;  constbound = finalbound
                                                                //   2633      declmode = declmode+ownmode
#line 2633 "regression-compile-tmp/chimp.imp"
DECLMODE = (((int)(DECLMODE)) + (46));
                                                                //   2634      %cycle
#line 2634 "regression-compile-tmp/chimp.imp"
L_028e:;
                                                                //   2635  !      constad = constad+1 %if constad&1 # 0 %and dsize # 1
                                                                //   2636  !      t_val = constad-ownbase
                                                                //   2637        get IDENT
#line 2637 "regression-compile-tmp/chimp.imp"
GETIDENT();
                                                                //   2638        t_val = 0
#line 2638 "regression-compile-tmp/chimp.imp"
T.VAL = 0;
                                                                //   2639        %if a assop %start
#line 2639 "regression-compile-tmp/chimp.imp"
if (!(AASSOP())) goto L_0291;
                                                                //   2640  !        %if d_flags&direct = 0
                                                                //   2641          get LITERAL(d_type)
#line 2641 "regression-compile-tmp/chimp.imp"
GETLITERAL(D.TYPE);
                                                                //   2642          faultnum = rangerr+point+warn %if faultnum = rangerr+point
#line 2642 "regression-compile-tmp/chimp.imp"
if (((FAULTNUM) != (76))) goto L_0292;
#line 2642 "regression-compile-tmp/chimp.imp"
FAULTNUM = 204;
#line 2642 "regression-compile-tmp/chimp.imp"
L_0292:;
                                                                //   2643        %finish
#line 2643 "regression-compile-tmp/chimp.imp"
L_0291:;
                                                                //   2644        elements = 1
#line 2644 "regression-compile-tmp/chimp.imp"
ELEMENTS = 1;
                                                                //   2645      !      plant const(t_val,1)
                                                                //   2646      %repeat %until %not a(comma)
#line 2646 "regression-compile-tmp/chimp.imp"
if (!(A(59))) goto L_028f;
#line 2646 "regression-compile-tmp/chimp.imp"
goto L_028e;
#line 2646 "regression-compile-tmp/chimp.imp"
L_028f:;
                                                                //   2647    %else;      !dynamic variable
#line 2647 "regression-compile-tmp/chimp.imp"
goto L_0280;
#line 2647 "regression-compile-tmp/chimp.imp"
L_028d:;
                                                                //   2648  !    declmode = declmode+dispmode+level
                                                                //   2649      %if d_flags&static = 0 %and c_flags >= hadon %start
#line 2649 "regression-compile-tmp/chimp.imp"
if (((((D.FLAGS) & (8))) != (0))) goto L_0293;
#line 2649 "regression-compile-tmp/chimp.imp"
if (((C.FLAGS) < (16))) goto L_0293;
                                                                //   2650        fault(ordererr);  c_flags = c_flags&(\(hadon+hadinst))
#line 2650 "regression-compile-tmp/chimp.imp"
FAULT(10);
#line 2650 "regression-compile-tmp/chimp.imp"
C.FLAGS = ((C.FLAGS) & ((~(48))));
                                                                //   2651      %finish
#line 2651 "regression-compile-tmp/chimp.imp"
L_0293:;
                                                                //   2652      %cycle
#line 2652 "regression-compile-tmp/chimp.imp"
L_0294:;
                                                                //   2653  !problematic c_delta = c_delta-1 %if c_delta&1 # 0 %and dsize # 1
                                                                //   2654        c_delta = c_delta-dsize
#line 2654 "regression-compile-tmp/chimp.imp"
C.DELTA = (((int)(C.DELTA)) - (DSIZE));
                                                                //   2655        c_delta = c_delta-1 %if c_delta&1 # 0
#line 2655 "regression-compile-tmp/chimp.imp"
if (((((C.DELTA) & (1))) == (0))) goto L_0297;
#line 2655 "regression-compile-tmp/chimp.imp"
C.DELTA = (((int)(C.DELTA)) - (1));
#line 2655 "regression-compile-tmp/chimp.imp"
L_0297:;
                                                                //   2656        t_val = c_sp+c_delta
#line 2656 "regression-compile-tmp/chimp.imp"
T.VAL = (((int)(C.SP)) + (C.DELTA));
                                                                //   2657        get IDENT
#line 2657 "regression-compile-tmp/chimp.imp"
GETIDENT();
                                                                //   2658        %if a assop %start
#line 2658 "regression-compile-tmp/chimp.imp"
if (!(AASSOP())) goto L_0298;
                                                                //   2659          nonstandard(initass)
#line 2659 "regression-compile-tmp/chimp.imp"
NONSTANDARD(64);
                                                                //   2660          %if d_type >= indirect %start
#line 2660 "regression-compile-tmp/chimp.imp"
if (((D.TYPE) < (16384))) goto L_0299;
                                                                //   2661            fault(caterr+point) %if atom # eqeq
#line 2661 "regression-compile-tmp/chimp.imp"
if (((ATOM) == (76))) goto L_029a;
#line 2661 "regression-compile-tmp/chimp.imp"
FAULT(67);
#line 2661 "regression-compile-tmp/chimp.imp"
L_029a:;
                                                                //   2662            get REFERENCE(d_type)
#line 2662 "regression-compile-tmp/chimp.imp"
GETREFERENCE(D.TYPE);
                                                                //   2663            item = item+ad %if item # 0
#line 2663 "regression-compile-tmp/chimp.imp"
if (((ITEM) == (0))) goto L_029b;
#line 2663 "regression-compile-tmp/chimp.imp"
ITEM = (((int)(ITEM)) + (16384));
#line 2663 "regression-compile-tmp/chimp.imp"
L_029b:;
                                                                //   2664  !          put3(assign,dlim-1+ad,item)
                                                                //   2665          %finish %else %start
#line 2665 "regression-compile-tmp/chimp.imp"
goto L_029c;
#line 2665 "regression-compile-tmp/chimp.imp"
L_0299:;
                                                                //   2666            fault(caterr+point) %if atom = eqeq
#line 2666 "regression-compile-tmp/chimp.imp"
if (((ATOM) != (76))) goto L_029d;
#line 2666 "regression-compile-tmp/chimp.imp"
FAULT(67);
#line 2666 "regression-compile-tmp/chimp.imp"
L_029d:;
                                                                //   2667            get VALUE(d_type)
#line 2667 "regression-compile-tmp/chimp.imp"
GETVALUE(D.TYPE);
                                                                //   2668  !          put2(assign,dlim-1)
                                                                //   2669          %finish
#line 2669 "regression-compile-tmp/chimp.imp"
L_029c:;
                                                                //   2670  !        compile(np0,np0)
                                                                //   2671        %finish
#line 2671 "regression-compile-tmp/chimp.imp"
L_0298:;
                                                                //   2672      %repeat %until %not a(comma)
#line 2672 "regression-compile-tmp/chimp.imp"
if (!(A(59))) goto L_0295;
#line 2672 "regression-compile-tmp/chimp.imp"
goto L_0294;
#line 2672 "regression-compile-tmp/chimp.imp"
L_0295:;
                                                                //   2673    %finish
#line 2673 "regression-compile-tmp/chimp.imp"
L_0280:;
                                                                //   2674    -> term
#line 2674 "regression-compile-tmp/chimp.imp"
goto U_1009;
                                                                //   2675  
                                                                //   2676  %routine GET SWITCH DECLARATION
#line 2676 "regression-compile-tmp/chimp.imp"
void GETSWITCHDECLARATION( void )
#line 2676 "regression-compile-tmp/chimp.imp"
{
                                                                //   2677  %integer i,j,dlim1
#line 2677 "regression-compile-tmp/chimp.imp"
int I;
#line 2677 "regression-compile-tmp/chimp.imp"
int J;
#line 2677 "regression-compile-tmp/chimp.imp"
int DLIM1;
                                                                //   2678    matched = 1
#line 2678 "regression-compile-tmp/chimp.imp"
MATCHED = 1;
                                                                //   2679    %cycle
#line 2679 "regression-compile-tmp/chimp.imp"
L_029e:;
                                                                //   2680      d_flags = lab;  d_type = nulltype
#line 2680 "regression-compile-tmp/chimp.imp"
D.FLAGS = 2;
#line 2680 "regression-compile-tmp/chimp.imp"
D.TYPE = 2041;
                                                                //   2681      declmode = pcmode+wordsize<<sizeshift
#line 2681 "regression-compile-tmp/chimp.imp"
DECLMODE = ((58) + ((int)(((2) << (6)))));
                                                                //   2682      get IDENTLIST
#line 2682 "regression-compile-tmp/chimp.imp"
GETIDENTLIST();
                                                                //   2683      dlim1 = dlim
#line 2683 "regression-compile-tmp/chimp.imp"
DLIM1 = DLIM;
                                                                //   2684      get LITBOUNDS
#line 2684 "regression-compile-tmp/chimp.imp"
GETLITBOUNDS();
                                                                //   2685      %cycle;  !For each ident in group
#line 2685 "regression-compile-tmp/chimp.imp"
L_02a1:;
                                                                //   2686        %exit %if spc-elements <= 0;  !ignore if too many
#line 2686 "regression-compile-tmp/chimp.imp"
if ((((((int)(SPC)) - (ELEMENTS))) > (0))) goto L_02a4;
#line 2686 "regression-compile-tmp/chimp.imp"
goto L_02a2;
#line 2686 "regression-compile-tmp/chimp.imp"
L_02a4:;
                                                                //   2687        %for i = 1,1,elements %cycle
#line 2687 "regression-compile-tmp/chimp.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = ELEMENTS; I = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle I = 1, 1, ELEMENTS");
I -= _increment; _control -= _increment;
L_02a5:;
if (I == _final) goto L_02a6;
I += _increment; _control += _increment;
if (I != _control) _imp_signal(4,2,0,"Corrupt control variable I"); /* FOR loop control variable corrupted */
}
                                                                //   2688          spc = spc-1;  final(spc) = 0
#line 2688 "regression-compile-tmp/chimp.imp"
SPC = (((int)(SPC)) - (1));
#line 2688 "regression-compile-tmp/chimp.imp"
FINAL[SPC] = 0;
                                                                //   2689        %repeat
#line 2689 "regression-compile-tmp/chimp.imp"
goto L_02a5;
#line 2689 "regression-compile-tmp/chimp.imp"
L_02a6:;
                                                                //   2690        dict(dlim0)_val = spc
#line 2690 "regression-compile-tmp/chimp.imp"
DICT[(((int)(DLIM0)) - (2001))].VAL = SPC;
                                                                //   2691        dict(dlim0)_type = item
#line 2691 "regression-compile-tmp/chimp.imp"
DICT[(((int)(DLIM0)) - (2001))].TYPE = ITEM;
                                                                //   2692        dlim0 = dlim0+1
#line 2692 "regression-compile-tmp/chimp.imp"
DLIM0 = (((int)(DLIM0)) + (1));
                                                                //   2693      %repeat %until dlim0 = dlim1
#line 2693 "regression-compile-tmp/chimp.imp"
if (((DLIM0) == (DLIM1))) goto L_02a2;
#line 2693 "regression-compile-tmp/chimp.imp"
goto L_02a1;
#line 2693 "regression-compile-tmp/chimp.imp"
L_02a2:;
                                                                //   2694    %repeat %until %not a(comma)
#line 2694 "regression-compile-tmp/chimp.imp"
if (!(A(59))) goto L_029f;
#line 2694 "regression-compile-tmp/chimp.imp"
goto L_029e;
#line 2694 "regression-compile-tmp/chimp.imp"
L_029f:;
                                                                //   2695  %end
#line 2695 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETSWITCHDECLARATION at level 3
                                                                //   2696  initial(keyswitch):
#line 2696 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_37:;
                                                                //   2697    get SWITCH DECLARATION
#line 2697 "regression-compile-tmp/chimp.imp"
GETSWITCHDECLARATION();
                                                                //   2698    ->term
#line 2698 "regression-compile-tmp/chimp.imp"
goto U_1009;
                                                                //   2699  
                                                                //   2700  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   2701  !!!!!!!!!!!!!!!  Control statements  !!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   2702  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   2703  !
                                                                //   2704  initial(keycontrol):
#line 2704 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_42:;
                                                                //   2705    get LITINT
#line 2705 "regression-compile-tmp/chimp.imp"
GETLITINT();
                                                                //   2706    control = 0 %if t_val = 0
#line 2706 "regression-compile-tmp/chimp.imp"
if (((T.VAL) != (0))) goto L_02a8;
#line 2706 "regression-compile-tmp/chimp.imp"
CONTROL = 0;
#line 2706 "regression-compile-tmp/chimp.imp"
L_02a8:;
                                                                //   2707    control = control!!t_val
#line 2707 "regression-compile-tmp/chimp.imp"
CONTROL = ((CONTROL) ^ (T.VAL));
                                                                //   2708    ->term
#line 2708 "regression-compile-tmp/chimp.imp"
goto U_1009;
                                                                //   2709  
                                                                //   2710  initial(include):
#line 2710 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_45:;
                                                                //   2711    get LITSTRING
#line 2711 "regression-compile-tmp/chimp.imp"
GETLITSTRING();
                                                                //   2712    extra_name = ""
#line 2712 "regression-compile-tmp/chimp.imp"
EXTRA.NAME = _imp_str_literal("");
                                                                //   2713    %while t_val > 0 %cycle
#line 2713 "regression-compile-tmp/chimp.imp"
L_02a9:;
#line 2713 "regression-compile-tmp/chimp.imp"
if (((T.VAL) <= (0))) goto L_02aa;
                                                                //   2714      extra_name = extra_name.tostring(byteinteger(atomp))
#line 2714 "regression-compile-tmp/chimp.imp"
EXTRA.NAME = _imp_join((_imp_string)EXTRA.NAME,(_imp_string)_imp_TOSTRING(*_imp_BYTEINTEGER(ATOMP)));
                                                                //   2715      atomp = atomp+1;  t_val = t_val-1
#line 2715 "regression-compile-tmp/chimp.imp"
ATOMP = (((int)(ATOMP)) + (1));
#line 2715 "regression-compile-tmp/chimp.imp"
T.VAL = (((int)(T.VAL)) - (1));
                                                                //   2716    %repeat
#line 2716 "regression-compile-tmp/chimp.imp"
goto L_02a9;
#line 2716 "regression-compile-tmp/chimp.imp"
L_02aa:;
                                                                //   2717    get(terminator)
#line 2717 "regression-compile-tmp/chimp.imp"
GET(52);
                                                                //   2718    %if faultnum = 0 %start
#line 2718 "regression-compile-tmp/chimp.imp"
if (((FAULTNUM) != (0))) goto L_02ac;
                                                                //   2719      connect edfile(extra)
#line 2719 "regression-compile-tmp/chimp.imp"
CONNECTEDFILE(&EXTRA);
                                                                //   2720      nonstop = -999 %and %signal 12 %if extra_flag # 0
#line 2720 "regression-compile-tmp/chimp.imp"
if (((EXTRA.FLAG) == (0))) goto L_02ad;
#line 2720 "regression-compile-tmp/chimp.imp"
NONSTOP = (-999);
#line 2720 "regression-compile-tmp/chimp.imp"
_imp_signal(12, 0, 0, "");
#line 2720 "regression-compile-tmp/chimp.imp"
L_02ad:;
                                                                //   2721      mainfp = fp;  mainline = line
#line 2721 "regression-compile-tmp/chimp.imp"
MAINFP = FP;
#line 2721 "regression-compile-tmp/chimp.imp"
MAINLINE = LINE;
                                                                //   2722      line = 0;  sym = nl
#line 2722 "regression-compile-tmp/chimp.imp"
LINE = 0;
#line 2722 "regression-compile-tmp/chimp.imp"
SYM = 10;
                                                                //   2723      fp = extra_start2;  curstart = fp;  curlim = extra_lim2
#line 2723 "regression-compile-tmp/chimp.imp"
FP = EXTRA.START2;
#line 2723 "regression-compile-tmp/chimp.imp"
CURSTART = FP;
#line 2723 "regression-compile-tmp/chimp.imp"
CURLIM = EXTRA.LIM2;
                                                                //   2724      modesym = '&';  nonstop = nonstop+1
#line 2724 "regression-compile-tmp/chimp.imp"
MODESYM = 38;
#line 2724 "regression-compile-tmp/chimp.imp"
NONSTOP = (((int)(NONSTOP)) + (1));
                                                                //   2725    %finish
#line 2725 "regression-compile-tmp/chimp.imp"
L_02ac:;
                                                                //   2726    ->next
#line 2726 "regression-compile-tmp/chimp.imp"
goto U_100b;
                                                                //   2727  
                                                                //   2728  initial(keylist):
#line 2728 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_41:;
                                                                //   2729    ->term
#line 2729 "regression-compile-tmp/chimp.imp"
goto U_1009;
                                                                //   2730  
                                                                //   2731  initial(begin):
#line 2731 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_5:;
                                                                //   2732    c_sp = -8
#line 2732 "regression-compile-tmp/chimp.imp"
C.SP = (-8);
                                                                //   2733    get(terminator)
#line 2733 "regression-compile-tmp/chimp.imp"
GET(52);
                                                                //   2734    open block(0)
#line 2734 "regression-compile-tmp/chimp.imp"
OPENBLOCK(0);
                                                                //   2735    get STATEMENTS(0)
#line 2735 "regression-compile-tmp/chimp.imp"
GETSTATEMENTS(0);
                                                                //   2736    close block
#line 2736 "regression-compile-tmp/chimp.imp"
CLOSEBLOCK();
                                                                //   2737    -> term %if stopper >= 0
#line 2737 "regression-compile-tmp/chimp.imp"
if (((STOPPER) < (0))) goto L_02ae;
#line 2737 "regression-compile-tmp/chimp.imp"
goto U_1009;
#line 2737 "regression-compile-tmp/chimp.imp"
L_02ae:;
                                                                //   2738    %return
#line 2738 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2739  
                                                                //   2740  initial(end):
#line 2740 "regression-compile-tmp/chimp.imp"
sw4_INITIAL_1:;
                                                                //   2741    %if %not a(of) %start
#line 2741 "regression-compile-tmp/chimp.imp"
if (A(38)) goto L_02af;
                                                                //   2742      fault(nofinish) %if stopper = else %or stopper = finish
#line 2742 "regression-compile-tmp/chimp.imp"
if (((STOPPER) == (4))) goto L_02a3;
#line 2742 "regression-compile-tmp/chimp.imp"
if (((STOPPER) != (3))) goto L_02b0;
#line 2742 "regression-compile-tmp/chimp.imp"
L_02a3:;
#line 2742 "regression-compile-tmp/chimp.imp"
FAULT(43);
#line 2742 "regression-compile-tmp/chimp.imp"
L_02b0:;
                                                                //   2743      fault(norepeat) %if stopper = repeat
#line 2743 "regression-compile-tmp/chimp.imp"
if (((STOPPER) != (2))) goto L_02b1;
#line 2743 "regression-compile-tmp/chimp.imp"
FAULT(44);
#line 2743 "regression-compile-tmp/chimp.imp"
L_02b1:;
                                                                //   2744      %return %if stopper >= 0
#line 2744 "regression-compile-tmp/chimp.imp"
if (((STOPPER) < (0))) goto L_02b2;
#line 2744 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2744 "regression-compile-tmp/chimp.imp"
L_02b2:;
                                                                //   2745      fault(nobegin)
#line 2745 "regression-compile-tmp/chimp.imp"
FAULT(41);
                                                                //   2746      ->term
#line 2746 "regression-compile-tmp/chimp.imp"
goto U_1009;
                                                                //   2747    %finish
#line 2747 "regression-compile-tmp/chimp.imp"
L_02af:;
                                                                //   2748    %if a(keylist) %start
#line 2748 "regression-compile-tmp/chimp.imp"
if (!(A(41))) goto L_02b3;
                                                                //   2749      ->term
#line 2749 "regression-compile-tmp/chimp.imp"
goto U_1009;
                                                                //   2750    %finish
#line 2750 "regression-compile-tmp/chimp.imp"
L_02b3:;
                                                                //   2751    %if a(keyfile) %start
#line 2751 "regression-compile-tmp/chimp.imp"
if (!(A(39))) goto L_02b4;
                                                                //   2752      %if curlim = extra_lim2 %start
#line 2752 "regression-compile-tmp/chimp.imp"
if (((CURLIM) != (EXTRA.LIM2))) goto L_02b5;
                                                                //   2753        switch input
#line 2753 "regression-compile-tmp/chimp.imp"
SWITCHINPUT();
                                                                //   2754        ->next
#line 2754 "regression-compile-tmp/chimp.imp"
goto U_100b;
                                                                //   2755      %finish
#line 2755 "regression-compile-tmp/chimp.imp"
L_02b5:;
                                                                //   2756    %finish %else get(program)
#line 2756 "regression-compile-tmp/chimp.imp"
goto L_02b6;
#line 2756 "regression-compile-tmp/chimp.imp"
L_02b4:;
#line 2756 "regression-compile-tmp/chimp.imp"
GET(40);
#line 2756 "regression-compile-tmp/chimp.imp"
L_02b6:;
                                                                //   2757  %end;  !GET STATEMENTS
#line 2757 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
sw4_INITIAL_0:;
sw4_INITIAL_14:;
sw4_INITIAL_18:;
sw4_INITIAL_20:;
sw4_INITIAL_21:;
sw4_INITIAL_31:;
sw4_INITIAL_32:;
sw4_INITIAL_34:;
sw4_INITIAL_35:;
sw4_INITIAL_36:;
sw4_INITIAL_38:;
sw4_INITIAL_39:;
sw4_INITIAL_40:;
sw4_INITIAL_43:;
sw4_INITIAL_44:;
sw4_INITIAL_46:;
sw4_INITIAL_47:;
sw4_INITIAL_48:;
sw4_INITIAL_49:;
sw4_INITIAL_50:;
sw4_INITIAL_51:;
sw4_INITIAL_53:;
sw4_INITIAL_55:;
sw4_INITIAL_56:;
sw4_INITIAL_57:;
sw4_INITIAL_58:;
sw4_INITIAL_59:;
sw4_INITIAL_60:;
sw4_INITIAL_61:;
sw4_INITIAL_62:;
sw4_INITIAL_64:;
sw4_INITIAL_65:;
sw4_INITIAL_66:;
sw4_INITIAL_67:;
sw4_INITIAL_68:;
sw4_INITIAL_69:;
sw4_INITIAL_70:;
sw4_INITIAL_71:;
sw4_INITIAL_72:;
sw4_INITIAL_73:;
sw4_INITIAL_74:;
sw4_INITIAL_75:;
sw4_INITIAL_76:;
sw4_INITIAL_77:;
sw4_INITIAL_78:;
sw4_INITIAL_80:;
sw4_INITIAL_81:;
sw4_INITIAL_84:;
sw4_INITIAL_85:;
sw4_INITIAL_86:;
sw4_INITIAL_87:;
sw4_INITIAL_89:;
sw4_INITIAL_90:;
sw4_INITIAL_91:;
sw4_INITIAL_92:;
sw4_INITIAL_93:;
sw4_INITIAL_94:;
sw4_INITIAL_95:;
sw4_INITIAL_96:;
sw4_INITIAL_97:;
sw4_INITIAL_98:;
sw4_INITIAL_99:;
sw4_INITIAL_100:;
sw4_INITIAL_101:;
sw4_INITIAL_102:;
sw4_INITIAL_103:;
sw4_INITIAL_104:;
sw4_INITIAL_105:;
sw4_INITIAL_106:;
sw4_INITIAL_107:;
goto sw4_INITIAL_default;
} // End of block GETSTATEMENTS at level 2
                                                                //   2758  
                                                                //   2759  %routine INIT(%integer t,l,h)
#line 2759 "regression-compile-tmp/chimp.imp"
void INIT( int T, int L, int H )
#line 2759 "regression-compile-tmp/chimp.imp"
{
                                                                //   2760    d_flags = typeid;  d_type = t;  d_low = l;  d_val = h
#line 2760 "regression-compile-tmp/chimp.imp"
D.FLAGS = 256;
#line 2760 "regression-compile-tmp/chimp.imp"
D.TYPE = T;
#line 2760 "regression-compile-tmp/chimp.imp"
D.LOW = L;
#line 2760 "regression-compile-tmp/chimp.imp"
D.VAL = H;
                                                                //   2761    dict(dlim) = d;  dlim = dlim+1
#line 2761 "regression-compile-tmp/chimp.imp"
DICT[(((int)(DLIM)) - (2001))] = D;
#line 2761 "regression-compile-tmp/chimp.imp"
DLIM = (((int)(DLIM)) + (1));
                                                                //   2762  %end
#line 2762 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block INIT at level 2
                                                                //   2763  
                                                                //   2764  %on %event 12 %start
#line 2764 "regression-compile-tmp/chimp.imp"
if (!_imp_on_event(12)) goto L_02b7;  /* TO DO: Remove %on %event handler just before L_02b7: if present for this block */
                                                                //   2765    -> printout %if fp = main_lim2
#line 2765 "regression-compile-tmp/chimp.imp"
if (((FP) != (MAIN->LIM2))) goto L_02b8;
#line 2765 "regression-compile-tmp/chimp.imp"
goto U_100f;
#line 2765 "regression-compile-tmp/chimp.imp"
L_02b8:;
                                                                //   2766    -> ended %if main_flag < 0 %or nonstop = -999;  !abandon or CROAK
#line 2766 "regression-compile-tmp/chimp.imp"
if (((MAIN->FLAG) < (0))) goto L_02b9;
#line 2766 "regression-compile-tmp/chimp.imp"
if (((NONSTOP) != ((-999)))) goto L_02ba;
#line 2766 "regression-compile-tmp/chimp.imp"
L_02b9:;
#line 2766 "regression-compile-tmp/chimp.imp"
goto U_1010;
#line 2766 "regression-compile-tmp/chimp.imp"
L_02ba:;
                                                                //   2767    change = main_change
#line 2767 "regression-compile-tmp/chimp.imp"
CHANGE = MAIN->CHANGE;
                                                                //   2768  %finish
#line 2768 "regression-compile-tmp/chimp.imp"
L_02b7:;
                                                                //   2769  
                                                                //   2770    printstring("  IMP Checker  ");  newline
#line 2770 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal("  IMP Checker  "));
#line 2770 "regression-compile-tmp/chimp.imp"
NEWLINE();
                                                                //   2771    hashindex(i) = 0 %for i = 0,1,255;  !hash table empty
#line 2771 "regression-compile-tmp/chimp.imp"
I = (-1);
if ((((255)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, 255");
L_02bb:;
if (I == 255) goto L_02bc;
I += 1;
#line 2771 "regression-compile-tmp/chimp.imp"
HASHINDEX[I] = 0;
#line 2771 "regression-compile-tmp/chimp.imp"
goto L_02bb;
#line 2771 "regression-compile-tmp/chimp.imp"
L_02bc:;
                                                                //   2772    charbase = addr(char(0));  byteinteger(charbase) = 0;  !for anon ident
#line 2772 "regression-compile-tmp/chimp.imp"
CHARBASE = _imp_ADDR(&CHAR[0]);
#line 2772 "regression-compile-tmp/chimp.imp"
*_imp_BYTEINTEGER(CHARBASE) = 0;
                                                                //   2773    charlim = charbase+1
#line 2773 "regression-compile-tmp/chimp.imp"
CHARLIM = (((int)(CHARBASE)) + (1));
                                                                //   2774    charmin = charlim+charbound;  !(1 over top)
#line 2774 "regression-compile-tmp/chimp.imp"
CHARMIN = (((int)(CHARLIM)) + (6000));
                                                                //   2775    dict(i)_val = 0 %for i = d0,1,labmax
#line 2775 "regression-compile-tmp/chimp.imp"
I = 2000;
if ((((3254)-(2001)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 2001, 1, 3254");
L_02be:;
if (I == 3254) goto L_02bf;
I += 1;
#line 2775 "regression-compile-tmp/chimp.imp"
DICT[(((int)(I)) - (2001))].VAL = 0;
#line 2775 "regression-compile-tmp/chimp.imp"
goto L_02be;
#line 2775 "regression-compile-tmp/chimp.imp"
L_02bf:;
                                                                //   2776    d_flags = typeid;  d_low = minint;  d_val = maxint
#line 2776 "regression-compile-tmp/chimp.imp"
D.FLAGS = 256;
#line 2776 "regression-compile-tmp/chimp.imp"
D.LOW = (-2147483648);
#line 2776 "regression-compile-tmp/chimp.imp"
D.VAL = 2147483647;
                                                                //   2777    dmin = dictmax-1;  dlim = dictmin
#line 2777 "regression-compile-tmp/chimp.imp"
DMIN = 3232;
#line 2777 "regression-compile-tmp/chimp.imp"
DLIM = 2041;
                                                                //   2778    %cycle
#line 2778 "regression-compile-tmp/chimp.imp"
L_02c1:;
                                                                //   2779      d_type = dlim;  dict(dlim) = d
#line 2779 "regression-compile-tmp/chimp.imp"
D.TYPE = DLIM;
#line 2779 "regression-compile-tmp/chimp.imp"
DICT[(((int)(DLIM)) - (2001))] = D;
                                                                //   2780      dlim = dlim+1
#line 2780 "regression-compile-tmp/chimp.imp"
DLIM = (((int)(DLIM)) + (1));
                                                                //   2781    %repeat %until dlim > booltype
#line 2781 "regression-compile-tmp/chimp.imp"
if (((DLIM) > (2048))) goto L_02c2;
#line 2781 "regression-compile-tmp/chimp.imp"
goto L_02c1;
#line 2781 "regression-compile-tmp/chimp.imp"
L_02c2:;
                                                                //   2782    d_flags = 0
#line 2782 "regression-compile-tmp/chimp.imp"
D.FLAGS = 0;
                                                                //   2783    init(booltype,0,0)
#line 2783 "regression-compile-tmp/chimp.imp"
INIT(2048, 0, 0);
                                                                //   2784    init(booltype,0,1)
#line 2784 "regression-compile-tmp/chimp.imp"
INIT(2048, 0, 1);
                                                                //   2785    d_flags = typeid
#line 2785 "regression-compile-tmp/chimp.imp"
D.FLAGS = 256;
                                                                //   2786    init(inty,minint,maxint)
#line 2786 "regression-compile-tmp/chimp.imp"
INIT(2046, (-2147483648), 2147483647);
                                                                //   2787    init(inty,-32768,32767)
#line 2787 "regression-compile-tmp/chimp.imp"
INIT(2046, (-32768), 32767);
                                                                //   2788    init(inty,0,65535)
#line 2788 "regression-compile-tmp/chimp.imp"
INIT(2046, 0, 65535);
                                                                //   2789    init(inty,0,255)
#line 2789 "regression-compile-tmp/chimp.imp"
INIT(2046, 0, 255);
                                                                //   2790    init(inty,-128,127)
#line 2790 "regression-compile-tmp/chimp.imp"
INIT(2046, (-128), 127);
                                                                //   2791    init(inty,0,1)
#line 2791 "regression-compile-tmp/chimp.imp"
INIT(2046, 0, 1);
                                                                //   2792    init(inty,minint,maxint)
#line 2792 "regression-compile-tmp/chimp.imp"
INIT(2046, (-2147483648), 2147483647);
                                                                //   2793    init(realy,minint,maxint)
#line 2793 "regression-compile-tmp/chimp.imp"
INIT(2045, (-2147483648), 2147483647);
                                                                //   2794    init(realy,minint,maxint)
#line 2794 "regression-compile-tmp/chimp.imp"
INIT(2045, (-2147483648), 2147483647);
                                                                //   2795    c = 0;  c_localdpos = dlim;  c_parlim = dlim
#line 2795 "regression-compile-tmp/chimp.imp"
C = (BLOCKINF){ 0 } /* Assign 0's to all fields of record */;
#line 2795 "regression-compile-tmp/chimp.imp"
C.LOCALDPOS = DLIM;
#line 2795 "regression-compile-tmp/chimp.imp"
C.PARLIM = DLIM;
                                                                //   2796    level = outerlevel
#line 2796 "regression-compile-tmp/chimp.imp"
LEVEL = 0;
                                                                //   2797    spc = finalbound
#line 2797 "regression-compile-tmp/chimp.imp"
SPC = 8192;
                                                                //   2798    faults = 0;  line = 0;  mainline = 0
#line 2798 "regression-compile-tmp/chimp.imp"
FAULTS = 0;
#line 2798 "regression-compile-tmp/chimp.imp"
LINE = 0;
#line 2798 "regression-compile-tmp/chimp.imp"
MAINLINE = 0;
                                                                //   2799  !
                                                                //   2800    mainfp = main_start1
#line 2800 "regression-compile-tmp/chimp.imp"
MAINFP = MAIN->START1;
                                                                //   2801    extra_name = permfile
#line 2801 "regression-compile-tmp/chimp.imp"
EXTRA.NAME = PERMFILE;
                                                                //   2802    connect edfile(extra)
#line 2802 "regression-compile-tmp/chimp.imp"
CONNECTEDFILE(&EXTRA);
                                                                //   2803    nonstop = -999 %and %signal 12 %if extra_flag # 0
#line 2803 "regression-compile-tmp/chimp.imp"
if (((EXTRA.FLAG) == (0))) goto L_02c4;
#line 2803 "regression-compile-tmp/chimp.imp"
NONSTOP = (-999);
#line 2803 "regression-compile-tmp/chimp.imp"
_imp_signal(12, 0, 0, "");
#line 2803 "regression-compile-tmp/chimp.imp"
L_02c4:;
                                                                //   2804    fp = extra_start2;  curstart = fp;  curlim = extra_lim2
#line 2804 "regression-compile-tmp/chimp.imp"
FP = EXTRA.START2;
#line 2804 "regression-compile-tmp/chimp.imp"
CURSTART = FP;
#line 2804 "regression-compile-tmp/chimp.imp"
CURLIM = EXTRA.LIM2;
                                                                //   2805    nonstop = -2;  nonstop = -1 %if main_flag = 'I'
#line 2805 "regression-compile-tmp/chimp.imp"
NONSTOP = (-2);
#line 2805 "regression-compile-tmp/chimp.imp"
if (((MAIN->FLAG) != (73))) goto L_02c5;
#line 2805 "regression-compile-tmp/chimp.imp"
NONSTOP = (-1);
#line 2805 "regression-compile-tmp/chimp.imp"
L_02c5:;
                                                                //   2806    sym = nl
#line 2806 "regression-compile-tmp/chimp.imp"
SYM = 10;
                                                                //   2807    get STATEMENTS(-1)
#line 2807 "regression-compile-tmp/chimp.imp"
GETSTATEMENTS((-1));
                                                                //   2808  !  report(noend,0) %if level < mainlevel
                                                                //   2809  !  report(nobegin,0) %if level > mainlevel
                                                                //   2810  !  compile end %while level >= mainlevel
                                                                //   2811  printout:
#line 2811 "regression-compile-tmp/chimp.imp"
U_100f:;
                                                                //   2812  !  time2 = cputime
                                                                //   2813    %if faults = 0 %start
#line 2813 "regression-compile-tmp/chimp.imp"
if (((FAULTS) != (0))) goto L_02c6;
                                                                //   2814      write(statements,1)
#line 2814 "regression-compile-tmp/chimp.imp"
WRITE(STATEMENTS, 1);
                                                                //   2815      print string(" statements checked  ")
#line 2815 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal(" statements checked  "));
                                                                //   2816    %finish %else %start
#line 2816 "regression-compile-tmp/chimp.imp"
goto L_02c7;
#line 2816 "regression-compile-tmp/chimp.imp"
L_02c6:;
                                                                //   2817      write(faults,1)
#line 2817 "regression-compile-tmp/chimp.imp"
WRITE(FAULTS, 1);
                                                                //   2818      print string(" fault")
#line 2818 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal(" fault"));
                                                                //   2819      put sym('s') %if faults > 1
#line 2819 "regression-compile-tmp/chimp.imp"
if (((FAULTS) <= (1))) goto L_02c8;
#line 2819 "regression-compile-tmp/chimp.imp"
PUTSYM(115);
#line 2819 "regression-compile-tmp/chimp.imp"
L_02c8:;
                                                                //   2820      print string(" reported  ")
#line 2820 "regression-compile-tmp/chimp.imp"
PRINTSTRING(_imp_str_literal(" reported  "));
                                                                //   2821    %finish
#line 2821 "regression-compile-tmp/chimp.imp"
L_02c7:;
                                                                //   2822    newline
#line 2822 "regression-compile-tmp/chimp.imp"
NEWLINE();
                                                                //   2823  ended:
#line 2823 "regression-compile-tmp/chimp.imp"
U_1010:;
                                                                //   2824    newline;  !*for now to ensure message not erased*
#line 2824 "regression-compile-tmp/chimp.imp"
NEWLINE();
                                                                //   2825  !  %if control&logbit # 0 %start
                                                                //   2826  !!    write(zaps,1);  print symbol('Z')
                                                                //   2827  !    write(statements,1);  print symbol('S')
                                                                //   2828  !    statements = 1 %if statements = 0
                                                                //   2829  !    atoms = atoms+statements
                                                                //   2830  !    print(atoms/statements,1,1);  print symbol('A')
                                                                //   2831  !    print(numatoms/statements,1,1);  print symbol('N')
                                                                //   2832  !    print(identatoms/statements,1,1);  print symbol('I')
                                                                //   2833  !    print(misses/identatoms,1,2);  print symbol('H')
                                                                //   2834  !    print((time2-time1)/statements,3,3);  print symbol('M')
                                                                //   2835  !!    write(finalad,1);  print symbol('B')
                                                                //   2836  !!    write(ownad-ownbase,1);  print symbol('O')
                                                                //   2837  !    newline
                                                                //   2838  !  %finish
                                                                //   2839  
                                                                //   2840  %end;  !of ECCECI
#line 2840 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ECCECI at level 1
                                                                //   2841  
                                                                //   2842  %BEGIN
#line 2842 "regression-compile-tmp/chimp.imp"
int main(int argc, char **argv) {
  _imp_initialise(argc, argv);
                                                                //   2843  %END
#line 2843 "regression-compile-tmp/chimp.imp"
/* Remove %on %event handler here if present for this block */
return 0;
} // End of block _imp_main at level 1
                                                                //   2844  
                                                                //   2845  %endoffile
#line 2845 "regression-compile-tmp/chimp.imp"
// End of file
