#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/chimps.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%spec EDI(%record(edfile)%name main,sec,
#line 21 "regression-compile-tmp/chimps.imp"
extern void EDI(  EDFILE /*name*/*MAIN,  EDFILE /*name*/*SEC, _imp_string /*%string(255)*/ MESSAGE );
                                                                //     22                           %string(255) message)
                                                                //     23  %external%routine%spec CONNECT EDFILE(%record(edfile)%name f)
#line 23 "regression-compile-tmp/chimps.imp"
extern void CONNECTEDFILE(  EDFILE /*name*/*F );
                                                                //     24  %external%routine%spec DISCONNECT EDFILE(%record(edfile)%name f)
#line 24 "regression-compile-tmp/chimps.imp"
extern void DISCONNECTEDFILE(  EDFILE /*name*/*F );
                                                                //     25  !
                                                                //     26  !$IF VAX
                                                                //     27  %conststring(13) permfile="ECCE_PERM"
#line 27 "regression-compile-tmp/chimps.imp"
const _imp_string /*%string(13)*/ PERMFILE = _imp_str_literal("ECCE_PERM");
                                                                //     28  !$IF AMDAHL
                                                                //     29  {%conststring(18) permfile="ERCLIB:VECCE.IPERM"
                                                                //     30  !$FINISH
                                                                //     31  
                                                                //     32  !!  control
                                                                //     33  %constinteger logbit=   16_00040000 {print log},
                                                                //     34                warnbit=  16_00020000 {print warnings},
                                                                //     35                nonsbit=  16_00010000 {print nonstandard reports},
                                                                //     36                DICTLIST= 16_00001000 {list dict entries},
                                                                //     37                EXPLIST=  16_00000800 {list EXP entries}
                                                                //     38  %owninteger control=warnbit+nonsbit
#line 38 "regression-compile-tmp/chimps.imp"
static int CONTROL = 196608;
                                                                //     39  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //     40  %externalroutine ECCECI(%record(edfile)%name main)
#line 40 "regression-compile-tmp/chimps.imp"
void ECCECI(  EDFILE /*name*/*MAIN )
#line 40 "regression-compile-tmp/chimps.imp"
{
                                                                //     41  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //     42  %ownstring(maxname) extraname
#line 42 "regression-compile-tmp/chimps.imp"
static _imp_string /*%string(127)*/ EXTRANAME;
                                                                //     43  %ownrecord(edfile) extra=0,null=0
#line 43 "regression-compile-tmp/chimps.imp"
static  EDFILE EXTRA = { 0 } /* Initialise all fields of a record to 0. */;
#line 43 "regression-compile-tmp/chimps.imp"
static  EDFILE NULL = { 0 } /* Initialise all fields of a record to 0. */;
                                                                //     44  %integer curstart,curlim
#line 44 "regression-compile-tmp/chimps.imp"
int CURSTART;
#line 44 "regression-compile-tmp/chimps.imp"
int CURLIM;
                                                                //     45  %integer nonstop
#line 45 "regression-compile-tmp/chimps.imp"
int NONSTOP;
                                                                //     46  %owninteger change=0
#line 46 "regression-compile-tmp/chimps.imp"
static int CHANGE = 0;
                                                                //     47  !!  Fault numbers
                                                                //     48  %constinteger FORMERR=0, ATOMERR=1, NAMERR=2, CATERR=3, SIZERR=4,
                                                                //     49                ASSERR=5, TYPERR=6, DUPERR=7,
                                                                //     50                NOSTART=8, NOCYCLE=9,
                                                                //     51                ORDERERR=10, MATCHERR=11, RANGERR=12, NONLITERAL=13,
                                                                //     52                BOUNDSERR=14, ACCESSERR=15, NOTINLOOP=16,
                                                                //     53                NOTINROUT=17, NOTINFUN=18, NOTINPRED=19,
                                                                //     54                PLEXERR=20, NOIF=21, NONSTAND=22, NOTIN=23,
                                                                //     55                INDEXERR=24,
                                                                //     56                MOPERR=27, NOTERM=28, NONSTARTER=29,
                                                                //     57                NONVAR=30, NONREF=31, TOOMANY=32, TOOFEW=33,
                                                                //     58                UNWANTED=34, NOPARM=35, UNENDING=37,
                                                                //     59                SELFREF=38
                                                                //     60  %constinteger NOEND=40, NOBEGIN=41,
                                                                //     61                IDMISSING=42, NOFINISH=43, NOREPEAT=44,
                                                                //     62                COUNTERR=45, NORESULT=46
                                                                //     63  %constinteger ERRMAX=46
                                                                //     64  %constinteger POINT=64,WARN=128
                                                                //     65  %owninteger FAULTNUM=0
#line 65 "regression-compile-tmp/chimps.imp"
static int FAULTNUM = 0;
                                                                //     66  %owninteger FAULTS=0;          !fault count
#line 66 "regression-compile-tmp/chimps.imp"
static int FAULTS = 0;
                                                                //     67  !
                                                                //     68  %constinteger MAXINT=16_7FFFFFFF, MININT=\MAXINT,
                                                                //     69                MAX10=maxint//10, MAXDIG=maxint-max10*10
                                                                //     70  %constinteger FALSE=0, TRUE=1
                                                                //     71  %integer I
#line 71 "regression-compile-tmp/chimps.imp"
int I;
                                                                //     72  !
                                                                //     73  !!  Program statistics
                                                                //     74  %owninteger STATEMENTS=0;           !statement count
#line 74 "regression-compile-tmp/chimps.imp"
static int STATEMENTS = 0;
                                                                //     75  !%owninteger ATOMS=0;                !atom count
                                                                //     76  !%owninteger IDENTATOMS=0;           !identifier count
                                                                //     77  !%owninteger NUMATOMS=0;             !numeric atom count
                                                                //     78  !%owninteger MISSES=0;               !ident mismatches
                                                                //     79  !%owninteger ZAPS=0
                                                                //     80  !
                                                                //     81  !!!!!!!!!!!!!!!!   Operand Representation  !!!!!!!!!!!!!!!!!!!
                                                                //     82  
                                                                //     83  %constinteger SMALLMIN=-1000, SMALLMAX=1000,
                                                                //     84                LITMIN=smallmax+1, LITMAX=smallmax+1000,
                                                                //     85                D0=litmax+1, D1=d0+1, D2=d0+2, D6=d0+6, D7=d0+7,
                                                                //     86                A0=d0+8, A1=a0+1, A6=a0+6, A7=a0+7,
                                                                //     87                INDA0=a0+8,
                                                                //     88                POSTA0=inda0+8, POSTA7=posta0+7,
                                                                //     89                PREA0=posta0+8, PREA7=prea0+7,
                                                                //     90                DICTMIN=prea0+8, DICTMAX=prea0+1200,
                                                                //     91                LABMIN=dictmax+1, LAB1=labmin+1, LABMAX=labmin+20,
                                                                //     92                EXPMIN=labmax+1, EXPMAX=labmax+300,
                                                                //     93                UNDEF=expmax+1, AD=16_4000
                                                                //     94  %constinteger MAXDREG=d0+4, MAXAREG=a0+3
                                                                //     95  %constinteger D0B=1, D1B=2, D2B=4,
                                                                //     96                A0B=16_100, A1B=16_200, A2B=16_400
                                                                //     97  %constinteger ALLREGS=2_0000111100011111;  !a3:a0 & d4:d0
                                                                //     98  %owninteger FREE=allregs
#line 98 "regression-compile-tmp/chimps.imp"
static int FREE = 3871;
                                                                //     99  %constinteger NULLTYPE=dictmin,
                                                                //    100                RECY=nulltype+1, ARRY=recy+1, STRINGY=arry+1,
                                                                //    101                REALY=stringy+1, INTY=realy+1,
                                                                //    102                CHARTYPE=inty+1, BOOLTYPE=chartype+1,
                                                                //    103                FALSECONST=booltype+1, TRUECONST=booltype+2,
                                                                //    104                INTTYPE=trueconst+1, SHORTTYPE=inttype+1,
                                                                //    105                HALFTYPE=shorttype+1, BYTETYPE=halftype+1,
                                                                //    106                MITETYPE=bytetype+1, BITTYPE=MITETYPE+1,
                                                                //    107                LONGINTTYPE=bittype+1,
                                                                //    108                REALTYPE=longinttype+1, LONGREALTYPE=realtype+1
                                                                //    109  %constinteger PURETYPE=8191, DIRECT=8192, INDIRECT=16384
                                                                //    110  %constinteger ANYINT=inty+direct, ANYINTVAR=inty+indirect,
                                                                //    111                ANYSTRING=stringy+direct, ANYSTRINGVAR=stringy+indirect
                                                                //    112  %constinteger ANYNAME=nulltype+indirect
                                                                //    113  
                                                                //    114  !
                                                                //    115  %owninteger dictshown=dictmin
#line 115 "regression-compile-tmp/chimps.imp"
static int DICTSHOWN = 2041;
                                                                //    116  
                                                                //    117  !!!!!!!!!!!!!!!!!!!!!!!   Big Literals  !!!!!!!!!!!!!!!!!!!!!!!
                                                                //    118  %owninteger LITPOS=litmin, SLITPOS=litmax
#line 118 "regression-compile-tmp/chimps.imp"
static int LITPOS = 1001;
#line 118 "regression-compile-tmp/chimps.imp"
static int SLITPOS = 2000;
                                                                //    119  %integerarray LITSTORE(litmin:litmax)
#line 119 "regression-compile-tmp/chimps.imp"
int LITSTORE[1000];
                                                                //    120  !
                                                                //    121  !!!!!!!!!!!!!!!!!!!!!!!!!!  MODE VALUES  !!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    122  !Size codes:
                                                                //    123  %constinteger bytesize=1, wordsize=2, longsize=3
                                                                //    124  %constinteger sizemask=16_C0, sizeshift=6
                                                                //    125  !Address modes:
                                                                //    126  %constinteger dmode=0, amode=2_001000,
                                                                //    127                indmode=2_010000, postmode=2_011000, premode=2_100000,
                                                                //    128                dispmode=2_101000, indexmode=2_110000, absmode=2_111000,
                                                                //    129                pcmode=2_111010, litmode=2_111100
                                                                //    130  %constinteger ownmode=dispmode+6;  !d(A6)
                                                                //    131  !
                                                                //    132  !!!!!!!!!!!!!!!!!!!!!!!!  Identifiers  !!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    133  !
                                                                //    134  %recordformat OBJINFO %C
#line 134 "regression-compile-tmp/chimps.imp"
typedef struct OBJINFO OBJINFO;
struct OBJINFO {
  int FLAGS;
  int TYPE;
  int EXTRA;
  unsigned char SPARE;
  unsigned char MODE;
  int LOW;
  int VAL;
};
                                                                //    135    (%integer flags,type,
                                                                //    136      (%integer extra, %byteinteger spare,mode %or %integer low),
                                                                //    137     %integer val)
                                                                //    138  %recordformat IDENTINFO %C
#line 138 "regression-compile-tmp/chimps.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;
};
                                                                //    139    ((%integer flags,type,
                                                                //    140      (%integer extra, %byteinteger spare,mode %or %integer low),
                                                                //    141     %integer val %or %record(objinfo) details),
                                                                //    142     %integer text,link)
                                                                //    143  !
                                                                //    144  ! Significance of FLAGS:
                                                                //    145  %constinteger VAR=16_0001, LAB=16_0002, PROC=16_0004, STATIC=16_0008,
                                                                //    146                SPEC=16_0010, EXT=16_0020, PARM=16_0040, MORE=16_0080,
                                                                //    147                TYPEID=16_0100, OKFLAG=16_0200, ALT=16_0800,
                                                                //    148                RFLAG=16_1000,WFLAG=16_2000
                                                                //    149  !
                                                                //    150  ! Significance of VAL:
                                                                //    151  !  for literal               : the actual value
                                                                //    152  !  for variable              : machine address (displacement)
                                                                //    153  !  for undefined label       : reference chain
                                                                //    154  !  for undefined procedure   :       "
                                                                //    155  !  for base type             : (index to) range
                                                                //    156  !  for record type           : size of record in bytes
                                                                //    157  !
                                                                //    158  !  Identifier dictionary:
                                                                //    159  %record(identinfo)%array DICT(d0:labmax)
#line 159 "regression-compile-tmp/chimps.imp"
 IDENTINFO DICT[1254];
                                                                //    160  !  indexing DICT:
                                                                //    161  %owninteger DLIM=trueconst+1;         !dict limit (up)
#line 161 "regression-compile-tmp/chimps.imp"
static int DLIM = 2051;
                                                                //    162  %owninteger DLIM0
#line 162 "regression-compile-tmp/chimps.imp"
static int DLIM0;
                                                                //    163  %owninteger PERMLIM=dictmin
#line 163 "regression-compile-tmp/chimps.imp"
static int PERMLIM = 2041;
                                                                //    164  %owninteger DMIN=dictmax-1;       !dict upper limit (down)
#line 164 "regression-compile-tmp/chimps.imp"
static int DMIN = 3232;
                                                                //    165  
                                                                //    166  !  Text of identifiers (indexed by _TEXT):
                                                                //    167  %constinteger CHARBOUND=6000
                                                                //    168  %byteintegerarray CHAR(0:charbound)
#line 168 "regression-compile-tmp/chimps.imp"
unsigned char CHAR[6001];
                                                                //    169  %integer CHARBASE,CHARLIM,CHARMIN;  !pointers
#line 169 "regression-compile-tmp/chimps.imp"
int CHARBASE;
#line 169 "regression-compile-tmp/chimps.imp"
int CHARLIM;
#line 169 "regression-compile-tmp/chimps.imp"
int CHARMIN;
                                                                //    170  %integer NEWLEN
#line 170 "regression-compile-tmp/chimps.imp"
int NEWLEN;
                                                                //    171  
                                                                //    172  !  Hash index to DICT:
                                                                //    173  %integerarray HASHINDEX(0:255)
#line 173 "regression-compile-tmp/chimps.imp"
int HASHINDEX[256];
                                                                //    174  %integername HEAD;                  !head of ident search list
#line 174 "regression-compile-tmp/chimps.imp"
int /*name*/*HEAD;
                                                                //    175  !
                                                                //    176  !!!!!!!!!!!!!!!!!!!!!  Complex operands  !!!!!!!!!!!!!!!!!!!!!!!
                                                                //    177  !%recordformat EXPINFO(%integer act,x,y)
                                                                //    178  !%record(expinfo)%array EXP(expmin:expmax)
                                                                //    179  %owninteger EXPLO=expmax+1, OLDEXPLO=expmax+1
#line 179 "regression-compile-tmp/chimps.imp"
static int EXPLO = 3555;
#line 179 "regression-compile-tmp/chimps.imp"
static int OLDEXPLO = 3555;
                                                                //    180  %constinteger NP0=expmin
                                                                //    181  %owninteger NP,CONDNP,INSTNP
#line 181 "regression-compile-tmp/chimps.imp"
static int NP;
#line 181 "regression-compile-tmp/chimps.imp"
static int CONDNP;
#line 181 "regression-compile-tmp/chimps.imp"
static int INSTNP;
                                                                //    182  
                                                                //    183  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    184  !!!!!!!!!!!!!!!!!!  Keywords and operators  !!!!!!!!!!!!!!!!!!!!
                                                                //    185  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    186  !*!!!!!!!  Keyword codes -- used by KEYGEN to produce tables  !!
                                                                //    187  %constinteger END=1 {end},
                                                                //    188    REPEAT=2       {repeat},
                                                                //    189    FINISH=3       {finish},
                                                                //    190    ELSE=4         {else},
                                                                //    191    BEGIN=5        {begin},
                                                                //    192    EXIT=6         {exit_1,continue_0},
                                                                //    193    RETURN=7       {return},
                                                                //    194    TF=8           {true_1,false_0},
                                                                //    195    RESULT=9       {result},
                                                                //    196    STOP=10        {stop},
                                                                //    197    GOTO=11        {goto},
                                                                //    198    SIGNAL=12      {signal},
                                                                //    199    MONITOR=13     {monitor},
                                                                //    200    ON=15          {on},
                                                                //    201    IU=16          {if_0,unless_1},
                                                                //    202    WHILE=17       {while},
                                                                //    203    UNTIL=18       {until_1},
                                                                //    204    FOR=19         {for},
                                                                //    205    THEN=20        {then},
                                                                //    206    START=21       {start},
                                                                //    207    CYCLE=22       {cycle},
                                                                //    208    KEYLABEL=23    {label},
                                                                //    209    PREFIX=24 {const_9,constant_9,own_8,external_40,system_40,dynamic_40},
                                                                //    210    KRANGE=25      {short_1,half_2,byte_3,mite_4,bit_5},
                                                                //    211    KEYLONG=26     {long},
                                                                //    212    KEYINTEGER=27  {integer},
                                                                //    213    KEYREAL=28     {real},
                                                                //    214    KEYSTRING=29   {string},
                                                                //    215    KEYRECORD=30   {record},
                                                                //    216    KEYFORMAT=31   {format},
                                                                //    217    FNMAP=32       {fn_0,function_0,map_1},
                                                                //    218    RPRED=33       {routine_0,predicate_1},
                                                                //    219    KEYSPEC=34     {spec},
                                                                //    220    KEYARRAY=35    {array},
                                                                //    221    KEYNAME=36     {name},
                                                                //    222    KEYSWITCH=37   {switch},
                                                                //    223    OF=38          {of},
                                                                //    224    KEYFILE=39     {file},
                                                                //    225    PROGRAM=40     {program},
                                                                //    226    KEYLIST=41     {list},
                                                                //    227    KEYCONTROL=42  {control},
                                                                //    228    COMMENT=43     {comment},
                                                                //    229    KEYEVENT=44    {event},
                                                                //    230    INCLUDE=45     {include},
                                                                //    231    ALIAS=46       {alias},
                                                                //    232    KEYNOT=47      {not},
                                                                //    233    KEYAND=64      {and},
                                                                //    234    KEYOR=65       {or}
                                                                //    235  %CONSTintegerARRAY SYMINIT(97:122) =  %C
#line 235 "regression-compile-tmp/chimps.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,  };
                                                                //    236    2, 15, 27, 57, 64, 87,118,122,126,  1,  1,141,154,168,175,184,
                                                                //    237    1,199,230,270,278,  1,288,  1,  1,  1
                                                                //    238  
                                                                //    239  %CONSTBYTEINTEGERARRAY SYMBOL(1:292) =  %C
#line 239 "regression-compile-tmp/chimps.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,  };
                                                                //    240  128,114,114, 97,121,163,108,105, 97,115,174,110,100,192,101,103,
                                                                //    241  105,110,133,121,116,101,153,105,116,153,111,110,116,105,110,117,
                                                                //    242  101,134,121, 99,108,101,150,109,109,101,110,116,171,115,116, 97,
                                                                //    243  110,116,152,152,114,111,108,170,121,110, 97,109,105, 99,152,110,
                                                                //    244  100,129,108,115,101,132,120,105,116,134,118,101,110,116,172,116,
                                                                //    245  101,114,110, 97,108,152,105,110,105,115,104,131, 97,108,115,101,
                                                                //    246  136,111,114,109, 97,116,159,110,160,117,110, 99,116,105,111,110,
                                                                //    247  160,147,108,101,167,111,116,111,139, 97,108,102,153,102,144,110,
                                                                //    248  116,101,103,101,114,155, 99,108,117,100,101,173, 97, 98,101,108,
                                                                //    249  151,111,110,103,154,105,115,116,169,111,110,105,116,111,114,141,
                                                                //    250  105,116,101,153, 97,112,160, 97,109,101,164,111,116,175,110,143,
                                                                //    251  119,110,152,102,166,114,193,114,101,100,105, 99, 97,116,101,161,
                                                                //    252  111,103,114, 97,109,168,101,112,101, 97,116,130,111,117,116,105,
                                                                //    253  110,101,161,116,117,114,110,135,115,117,108,116,137, 97,108,156,
                                                                //    254   99,111,114,100,158,116,111,112,138,105,103,110, 97,108,140,121,
                                                                //    255  115,116,101,109,152,104,111,114,116,153,112,101, 99,162,119,105,
                                                                //    256  116, 99,104,165, 97,114,116,149,114,105,110,103,157,114,117,101,
                                                                //    257  136,104,101,110,148,110,108,101,115,115,144,116,105,108,146,104,
                                                                //    258  105,108,101,145
                                                                //    259  
                                                                //    260  %CONSTBYTEINTEGERARRAY ALTDISP(1:292) =  %C
#line 260 "regression-compile-tmp/chimps.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,  };
                                                                //    261    0,  5,  0,  0,  0,  0,  5,  0,  0,  0,  0,  0,  0,  0,  5,  0,
                                                                //    262    0,  0,  0,  4,  0,  0,  3,  0,  0,  5,  8, 12, 17, 23,  0,  0,
                                                                //    263    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  4,
                                                                //    264    0,  0,  9,  9,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 40,  3,
                                                                //    265    0,  0,  4,  0,  0,  0,  4,  8,  0,  1,  0,  0,  0,  0,  0,  0,
                                                                //    266    0,  0,  0,  0,  0, 40,  6, 27,  0,  0,  0,  0,  5,  0,  0,  0,
                                                                //    267    0,  6,  0, 14,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,
                                                                //    268    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  2,  2,  0,  0,
                                                                //    269    6,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  5,  0,  0,  0,
                                                                //    270    0,  4,  0,  0,  0,  0,  0,  0,  0,  7,  0,  0,  0,  0,  0,  0,
                                                                //    271    4,  0,  0,  4,  0,  0,  1,  4,  0,  0,  0,  0,  0,  0,  2,  0,
                                                                //    272    3,  0,  8,  2,  0,  0,  0,  0,  8,  0,  0,  0,  0,  0,  0,  1,
                                                                //    273    0,  0,  0,  0,  0,  0,  6, 12,  0,  0,  0,  0,  0,  0,  0,  0,
                                                                //    274    0,  0,  0,  5,  0,  0,  0,  0,  5,  0,  0,  0,  0,  3,  0,  0,
                                                                //    275    0,  0,  0,  0,  0,  4, 30,  0,  0,  6,  0,  0,  0,  0,  0,  6,
                                                                //    276    0,  0,  0,  0, 40,  5,  0,  0,  0,  1,  4,  0,  0,  0,  0,  0,
                                                                //    277    0,  0,  0,  0,  4,  0,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,
                                                                //    278    1,  0,  0,  0,  0,  0,  5,  0,  0,  0,  1,  0,  0,  0,  1,  0,
                                                                //    279    0,  0,  0,  0
                                                                //    280  
                                                                //    281  
                                                                //    282  !*!!!!!!   end of generated tables    !!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    283  !
                                                                //    284  %constinteger TERMINATOR=52, CONST=53, IDENT=54,
                                                                //    285                AREF=55, RECREF=56,
                                                                //    286                MODSIGN=57,
                                                                //    287                COLON=58, COMMA=59, RIGHT=60, RIGHTBRACKET=61,
                                                                //    288                DUD=63
                                                                //    289  
                                                                //    290  !Operators (in banks of 8 acc to rank)
                                                                //    291  %constinteger BOOLAND=64, BOOLOR=65, BOOLNOT=66,
                                                                //    292                FLOAT=67, IMOD=68, FMOD=69
                                                                //    293  %constinteger EQUALS=70, NOTEQ=71, LESSEQ=72,
                                                                //    294                LESS=73, GREATEQ=74, GREATER=75,
                                                                //    295                EQEQ=76, NOTEQEQ=77, RESOLVE=79
                                                                //    296  %constinteger PLUS=80, MINUS=81, LOGOR=82,
                                                                //    297                LOGXOR=83, CONCAT=84
                                                                //    298  %constinteger MULT=88, FDIV=89, IDIV=90,
                                                                //    299                LOGAND=91
                                                                //    300  %constinteger FPOWER=96, IPOWER=97,
                                                                //    301                LSHIFT=100, RSHIFT=101, LOGNOT=102
                                                                //    302  %constinteger FCALL=106, MCALL=107
                                                                //    303  %constinteger ATOMMAX=107
                                                                //    304  
                                                                //    305  ! Instruction actions:
                                                                //    306  %constinteger swgoto=35, rcall=mcall+2,
                                                                //    307                assign=41, jamassign=42, plusass=43,
                                                                //    308                compare=44, jump=45, label=46, adecl=47
                                                                //    309  %constinteger actmax=49
                                                                //    310  !
                                                                //    311  !Branch cases ( = machine condition-code)
                                                                //    312  %constinteger EQ=2_0111, NE=2_0110,
                                                                //    313                GT=2_1110, LE=2_1111,
                                                                //    314                LT=2_1101, GE=2_1100,
                                                                //    315                CC=2_0100, CS=2_0101
                                                                //    316  %constinteger DOUBLE=16
                                                                //    317  
                                                                //    318  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    319  ! Perm procedure identifiers which are recognised explicitly and
                                                                //    320  !  either implemented in-line or mapped to system entry-point
                                                                //    321  %constinteger DSHORT=dictmin+6, DLENGTH=dshort+1, DCHARNO=dlength+1,
                                                                //    322                DADDR=dcharno+1, DTOSTR=daddr+1,
                                                                //    323                DREM=dtostr+1,
                                                                //    324                DNEXTSYM=drem+1, DREADSYM=dnextsym+1,
                                                                //    325                DPRINTSTR=dreadsym+3,
                                                                //    326                DREAD=dictmin+27,
                                                                //    327                DNEWLINE=dictmin+41
                                                                //    328  !System entry-points used explicitly
                                                                //    329  %constinteger SIGENTRY=16_1114, SCOMPENTRY=16_1128,
                                                                //    330                BOUNDENTRY=16_1134, AGETENTRY=16_1138,
                                                                //    331                INDEXENTRY=16_113C, IREADENTRY=16_1118
                                                                //    332  
                                                                //    333  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    334  
                                                                //    335  %owninteger STARTS=0, CYCLES=0
#line 335 "regression-compile-tmp/chimps.imp"
static int STARTS = 0;
#line 335 "regression-compile-tmp/chimps.imp"
static int CYCLES = 0;
                                                                //    336  %owninteger LOOPLAB=0
#line 336 "regression-compile-tmp/chimps.imp"
static int LOOPLAB = 0;
                                                                //    337  %owninteger CURLAB=lab1
#line 337 "regression-compile-tmp/chimps.imp"
static int CURLAB = 3235;
                                                                //    338  !
                                                                //    339  %recordformat BLOCKINF(%integer sp, delta, fortemps, flags, type,
#line 339 "regression-compile-tmp/chimps.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;
};
                                                                //    340                    localdpos, parlim, localtext, localpc,
                                                                //    341                    localspc, pidpos, access, forward, events,
                                                                //    342                    eventpc, faults, return, shorts)
                                                                //    343  !Flag bits (VAR=1 from D_FLAGS)
                                                                //    344  %constinteger WRONGCC=2, NONLOCALREF=4, DYNARRAY=8
                                                                //    345  %constinteger HADON=16_10, HADINST=16_20
                                                                //    346  
                                                                //    347  %constinteger OUTERLEVEL=0, MAXLEVEL=16
                                                                //    348  %owninteger LEVEL=outerlevel;        !current block level
#line 348 "regression-compile-tmp/chimps.imp"
static int LEVEL = 0;
                                                                //    349  %record(blockinf) C;                !info for current block
#line 349 "regression-compile-tmp/chimps.imp"
 BLOCKINF C;
                                                                //    350  %record(blockinf)%array HOLD(0:maxlevel-1); !info for global blocks
#line 350 "regression-compile-tmp/chimps.imp"
 BLOCKINF HOLD[16];
                                                                //    351  
                                                                //    352  ! Final core image
                                                                //    353  %constinteger PUREBOUND=0, OWNBASE=purebound+1,
                                                                //    354                FINALBOUND=ownbase+8191
                                                                //    355  %byteintegerarray FINAL(0:finalbound);  !for switch info only
#line 355 "regression-compile-tmp/chimps.imp"
unsigned char FINAL[8193];
                                                                //    356  %owninteger FINALAD=2, OWNAD=ownbase
#line 356 "regression-compile-tmp/chimps.imp"
static int FINALAD = 2;
#line 356 "regression-compile-tmp/chimps.imp"
static int OWNAD = 1;
                                                                //    357  !%owninteger FIRSTENTRY=finalbound, FIRSTDPOS=dictmax
                                                                //    358  !%ownintegername CONSTAD;  !== ownad or finalad
                                                                //    359  !%owninteger CONSTBOUND=purebound;   !for const/code
                                                                //    360  !                     =finalbound;  !for own
                                                                //    361  %owninteger PC=0, SPC=finalbound;  !for switch info
#line 361 "regression-compile-tmp/chimps.imp"
static int PC = 0;
#line 361 "regression-compile-tmp/chimps.imp"
static int SPC = 8192;
                                                                //    362  
                                                                //    363  !Recognition:-
                                                                //    364  %constinteger CASEMASK=95, CASEBIT=32; !for case conversion
                                                                //    365  
                                                                //    366  !Memo variables for current statement:-
                                                                //    367  %owninteger ITEM=0;          !current operand
#line 367 "regression-compile-tmp/chimps.imp"
static int ITEM = 0;
                                                                //    368  %record(objinfo) T;          !full typeinfo for ITEM
#line 368 "regression-compile-tmp/chimps.imp"
 OBJINFO T;
                                                                //    369  %record(identinfo)%name DITEM
#line 369 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*DITEM;
                                                                //    370  %owninteger ELEMENTS; !range details
#line 370 "regression-compile-tmp/chimps.imp"
static int ELEMENTS;
                                                                //    371  %owninteger HASH
#line 371 "regression-compile-tmp/chimps.imp"
static int HASH;
                                                                //    372  %owninteger SPECCING=0, MCODING=0
#line 372 "regression-compile-tmp/chimps.imp"
static int SPECCING = 0;
#line 372 "regression-compile-tmp/chimps.imp"
static int MCODING = 0;
                                                                //    373  %owninteger DECLMODE, DSIZE
#line 373 "regression-compile-tmp/chimps.imp"
static int DECLMODE;
#line 373 "regression-compile-tmp/chimps.imp"
static int DSIZE;
                                                                //    374  %ownrecord(identinfo) D;            !declaration details
#line 374 "regression-compile-tmp/chimps.imp"
static  IDENTINFO D;
                                                                //    375  
                                                                //    376  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    377  
                                                                //    378  !!  Source file input and listing
                                                                //    379  %owninteger ATOM=0;                 !current lexical atom
#line 379 "regression-compile-tmp/chimps.imp"
static int ATOM = 0;
                                                                //    380  %owninteger MATCHED=1;              !indic that atom has been matched
#line 380 "regression-compile-tmp/chimps.imp"
static int MATCHED = 1;
                                                                //    381  %owninteger SYM=nl;                 !current input symbol
#line 381 "regression-compile-tmp/chimps.imp"
static int SYM = 10;
                                                                //    382  %owninteger LINE=0;                 !current line number
#line 382 "regression-compile-tmp/chimps.imp"
static int LINE = 0;
                                                                //    383  %owninteger MAINLINE=0
#line 383 "regression-compile-tmp/chimps.imp"
static int MAINLINE = 0;
                                                                //    384  %owninteger DIAGLINE=-9999
#line 384 "regression-compile-tmp/chimps.imp"
static int DIAGLINE = (-9999);
                                                                //    385  %owninteger PROLINE=0
#line 385 "regression-compile-tmp/chimps.imp"
static int PROLINE = 0;
                                                                //    386  %owninteger MODESYM='&';            !space or '+' or '&' or '"'
#line 386 "regression-compile-tmp/chimps.imp"
static int MODESYM = 38;
                                                                //    387  !%owninteger OUTCOL=0;               !output line position
                                                                //    388  !   Pointers to source file:
                                                                //    389  %owninteger LINESTART=0
#line 389 "regression-compile-tmp/chimps.imp"
static int LINESTART = 0;
                                                                //    390  %owninteger FP=0;                   !(file pointer) current position
#line 390 "regression-compile-tmp/chimps.imp"
static int FP = 0;
                                                                //    391  %owninteger CHARS=0
#line 391 "regression-compile-tmp/chimps.imp"
static int CHARS = 0;
                                                                //    392  %owninteger ATOMP=0;                !start of current atom
#line 392 "regression-compile-tmp/chimps.imp"
static int ATOMP = 0;
                                                                //    393  %owninteger FAULTP=0;               !fault position
#line 393 "regression-compile-tmp/chimps.imp"
static int FAULTP = 0;
                                                                //    394  %owninteger MAINFP
#line 394 "regression-compile-tmp/chimps.imp"
static int MAINFP;
                                                                //    395  %owninteger STRINGP,EXPP
#line 395 "regression-compile-tmp/chimps.imp"
static int STRINGP;
#line 395 "regression-compile-tmp/chimps.imp"
static int EXPP;
                                                                //    396  %owninteger listout=0
#line 396 "regression-compile-tmp/chimps.imp"
static int LISTOUT = 0;
                                                                //    397  !
                                                                //    398  !! Listing, diagnostic and report routines
                                                                //    399  !
                                                                //    400  %ownstring(255) rep=""
#line 400 "regression-compile-tmp/chimps.imp"
static _imp_string /*%string(255)*/ REP = _imp_str_literal("");
                                                                //    401  !
                                                                //    402  %routine NEWLINE
#line 402 "regression-compile-tmp/chimps.imp"
void NEWLINE( void )
#line 402 "regression-compile-tmp/chimps.imp"
{
                                                                //    403    print string(rep);  print symbol(nl)
#line 403 "regression-compile-tmp/chimps.imp"
_imp_PRINTSTRING(REP);
#line 403 "regression-compile-tmp/chimps.imp"
_imp_PRINTSYMBOL(10);
                                                                //    404    rep = ""
#line 404 "regression-compile-tmp/chimps.imp"
REP = _imp_str_literal("");
                                                                //    405  %end
#line 405 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block NEWLINE at level 2
                                                                //    406  !
                                                                //    407  %routine PUT SYM(%integer k)
#line 407 "regression-compile-tmp/chimps.imp"
void PUTSYM( int K )
#line 407 "regression-compile-tmp/chimps.imp"
{
                                                                //    408    rep = rep.tostring(k) %if length(rep) < 132
#line 408 "regression-compile-tmp/chimps.imp"
if (((*_imp_LENGTH(&REP)) >= (132))) goto L_0002;
#line 408 "regression-compile-tmp/chimps.imp"
REP = _imp_join((_imp_string)REP,(_imp_string)_imp_TOSTRING(K));
#line 408 "regression-compile-tmp/chimps.imp"
L_0002:;
                                                                //    409  %end
#line 409 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTSYM at level 2
                                                                //    410  !
                                                                //    411  %routine PRINT STRING(%string(255) s)
#line 411 "regression-compile-tmp/chimps.imp"
void PRINTSTRING( _imp_string /*%string(255)*/ S )
#line 411 "regression-compile-tmp/chimps.imp"
{
                                                                //    412    rep = rep.s %if length(rep) < 132
#line 412 "regression-compile-tmp/chimps.imp"
if (((*_imp_LENGTH(&REP)) >= (132))) goto L_0003;
#line 412 "regression-compile-tmp/chimps.imp"
REP = _imp_join((_imp_string)REP,(_imp_string)S);
#line 412 "regression-compile-tmp/chimps.imp"
L_0003:;
                                                                //    413  %end
#line 413 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRINTSTRING at level 2
                                                                //    414  !
                                                                //    415  %routine SPACES(%integer n)
#line 415 "regression-compile-tmp/chimps.imp"
void SPACES( int N )
#line 415 "regression-compile-tmp/chimps.imp"
{
                                                                //    416    %while n > 0 %cycle
#line 416 "regression-compile-tmp/chimps.imp"
L_0004:;
#line 416 "regression-compile-tmp/chimps.imp"
if (((N) <= (0))) goto L_0005;
                                                                //    417      rep = rep." ";  n = n-1
#line 417 "regression-compile-tmp/chimps.imp"
REP = _imp_join((_imp_string)REP,(_imp_string)_imp_str_literal(" "));
#line 417 "regression-compile-tmp/chimps.imp"
N = (((int)(N)) - (1));
                                                                //    418    %repeat
#line 418 "regression-compile-tmp/chimps.imp"
goto L_0004;
#line 418 "regression-compile-tmp/chimps.imp"
L_0005:;
                                                                //    419  %end
#line 419 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SPACES at level 2
                                                                //    420  !
                                                                //    421  %routine WRITE(%integer val,p)
#line 421 "regression-compile-tmp/chimps.imp"
void WRITE( int VAL, int P )
#line 421 "regression-compile-tmp/chimps.imp"
{
                                                                //    422  %routine PD(%integer v)
#line 422 "regression-compile-tmp/chimps.imp"
void PD( int V )
#line 422 "regression-compile-tmp/chimps.imp"
{
                                                                //    423    p = p-1
#line 423 "regression-compile-tmp/chimps.imp"
P = (((int)(P)) - (1));
                                                                //    424    pd(v//10) %and v = v-v//10*10 %if v <= -10
#line 424 "regression-compile-tmp/chimps.imp"
if (((V) > ((-10)))) goto L_0007;
#line 424 "regression-compile-tmp/chimps.imp"
PD(((long)((long)((int)(V)) / (long)((int)(10)))));
#line 424 "regression-compile-tmp/chimps.imp"
V = ((V) - (((((long)((long)((int)(V)) / (long)((int)(10))))) * (10))));
#line 424 "regression-compile-tmp/chimps.imp"
L_0007:;
                                                                //    425    spaces(p) %and p = 0 %if p > 0
#line 425 "regression-compile-tmp/chimps.imp"
if (((P) <= (0))) goto L_0008;
#line 425 "regression-compile-tmp/chimps.imp"
SPACES(P);
#line 425 "regression-compile-tmp/chimps.imp"
P = 0;
#line 425 "regression-compile-tmp/chimps.imp"
L_0008:;
                                                                //    426    put sym('0'-v)
#line 426 "regression-compile-tmp/chimps.imp"
PUTSYM((((int)(48)) - (V)));
                                                                //    427  %end
#line 427 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PD at level 3
                                                                //    428    %if val < 0 %start
#line 428 "regression-compile-tmp/chimps.imp"
if (((VAL) >= (0))) goto L_0009;
                                                                //    429      put sym('-');  pd(val)
#line 429 "regression-compile-tmp/chimps.imp"
PUTSYM(45);
#line 429 "regression-compile-tmp/chimps.imp"
PD(VAL);
                                                                //    430    %finish %else pd(-val)
#line 430 "regression-compile-tmp/chimps.imp"
goto L_000a;
#line 430 "regression-compile-tmp/chimps.imp"
L_0009:;
#line 430 "regression-compile-tmp/chimps.imp"
PD((-(VAL)));
#line 430 "regression-compile-tmp/chimps.imp"
L_000a:;
                                                                //    431  %end
#line 431 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block WRITE at level 2
                                                                //    432  
                                                                //    433  !%routine put ident(%integer t)
                                                                //    434  !  rep = rep.string(charbase+t)
                                                                //    435  !!%integer l
                                                                //    436  !  t = t+charbase
                                                                //    437  !  l = byteinteger(t);  l = 11 %if l > 11
                                                                //    438  !  %while l > 0 %cycle
                                                                //    439  !    l = l-1;  t = t+1
                                                                //    440  !    put sym(byteinteger(t))
                                                                //    441  !  %repeat
                                                                //    442  !%end
                                                                //    443  !
                                                                //    444  !%routine mark at(%integer col)
                                                                //    445  !  put sym(' ') %while outcol < col;  put sym('|')
                                                                //    446  !%end
                                                                //    447  !
                                                                //    448  !%routine show dict(%integer from)
                                                                //    449  !%integer f,i
                                                                //    450  !%record(identinfo) d
                                                                //    451  !%constbyteintegerarray flagsym(0:7) =
                                                                //    452  !  'V','L','P','O','S','E', 'A', 'M'
                                                                //    453  !%constbyteintegerarray dsym(0:3) =
                                                                //    454  !  ' ','D','I','!'
                                                                //    455  !%conststring(6)%array typetext(0:7) =
                                                                //    456  !  "NULL  ", "RECORD", "ARRAY ", "STRING",
                                                                //    457  !  "REALY ", "INTY  ", "CHAR  ", "BOOL  "
                                                                //    458  !  %return %if from >= dlim
                                                                //    459  !  newline %and outcol = 0 %if outcol # 0
                                                                //    460  !  print string("          __identifier___flags___type___extra___value___")
                                                                //    461  !  newline;  outcol = 0
                                                                //    462  !  %cycle
                                                                //    463  !    spaces(5);  outcol = 5
                                                                //    464  !    pdec(from);  mark at(10)
                                                                //    465  !    d = dict(from)
                                                                //    466  !    put sym(' ')
                                                                //    467  !    put ident(d_text)
                                                                //    468  !    mark at(23)
                                                                //    469  !    %for i = 7,-1,0 %cycle
                                                                //    470  !      %if d_flags>>i&1 = 0 %then put sym(' ') %c
                                                                //    471  !      %else put sym(flagsym(i))
                                                                //    472  !    %repeat
                                                                //    473  !    put sym('|')
                                                                //    474  !    i = d_type-nulltype
                                                                //    475  !    %if 0 <= i <= 7 %then printstring(typetext(i)) %c
                                                                //    476  !    %else putsym(dsym(d_type>>13)) %and pdec(d_type&puretype)
                                                                //    477  !    mark at(39)
                                                                //    478  !    put sym(' ');  pdec(d_extra);  mark at(47)
                                                                //    479  !    put sym(' ');  pdec(d_val);  mark at(56)
                                                                //    480  !    newline;  outcol = 0
                                                                //    481  !    from = from+1
                                                                //    482  !  %repeat %until from = dlim
                                                                //    483  !  print string("          +----------------------------------------------+")
                                                                //    484  !  newline;  outcol = 0
                                                                //    485  !%end
                                                                //    486  !
                                                                //    487  !%routine show exp(%integer from,to)
                                                                //    488  !![out of date]
                                                                //    489  !%conststring(7)%array acttext(0:63) =
                                                                //    490  !  "?0", "?1", "ADD", "SUB",
                                                                //    491  !  "?4", "LOGAND", "LOGOR", "LOGXOR",
                                                                //    492  !  "NEGATE", "LOGNOT", "LSHIFT", "RSHIFT",
                                                                //    493  !  "IABS", "FABS", "?14", "?15",
                                                                //    494  !  "MULT", "IDIV", "IPOWER", "FPLUS",
                                                                //    495  !  "FMINUS", "FMULT", "FDIV", "FPOWER",
                                                                //    496  !  "FNEGATE", "FLOAT", "CONCAT", "BOOLNOT",
                                                                //    497  !  "BOOLAND", "BOOLOR", "MEMBER", "MODULO",
                                                                //    498  !  "RECREF", "AREF", "INDRECT", "SWJUMP",
                                                                //    499  !  "FCALL", "MCALL", "?38", "RCALL",
                                                                //    500  !  "?40", "ASSIGN", "JAMASS", "PLUSASS",
                                                                //    501  !  "COMPARE", "JUMP", "LABEL", "ADECL",
                                                                //    502  !  "?48", "?49", "?50", "?51",
                                                                //    503  !  "?52", "?53", "?54", "?55",
                                                                //    504  !  "?56", "?57", "?58", "?59",
                                                                //    505  !  "?60", "?61", "?62", "?63"
                                                                //    506  !%routine put operand(%integer i)
                                                                //    507  !  %if dictmin <= i <= dictmax %then put ident(dict(i)_text) %else pdec(i)
                                                                //    508  !%end
                                                                //    509  !  %return %if from >= np
                                                                //    510  !  newline %and outcol = 0 %if outcol # 0
                                                                //    511  !  print string("          __action_____first_______second____")
                                                                //    512  !  newline;  outcol = 0
                                                                //    513  !  %cycle
                                                                //    514  !    spaces(5);  outcol = 5
                                                                //    515  !    pdec(from);  mark at(10)
                                                                //    516  !    put sym(' ');  printstring(acttext(exp(from)_act&63))
                                                                //    517  !    mark at(20);  put sym(' ')
                                                                //    518  !    put operand(exp(from)_x)
                                                                //    519  !    mark at(32);  put sym(' ')
                                                                //    520  !    put operand(exp(from)_y)
                                                                //    521  !    mark at(44)
                                                                //    522  !    newline;  outcol = 0
                                                                //    523  !    from = from+1
                                                                //    524  !    %if from = to %start
                                                                //    525  !      from = explo
                                                                //    526  !      %exit %if from >= oldexplo
                                                                //    527  !      printstring("          |---------------------------------|")
                                                                //    528  !      newline;  outcol = 0
                                                                //    529  !    %finish
                                                                //    530  !  %repeat %until from >= oldexplo
                                                                //    531  !  oldexplo = explo
                                                                //    532  !  print string("          +---------------------------------+")
                                                                //    533  !  newline;  outcol = 0
                                                                //    534  !%end
                                                                //    535  !
                                                                //    536  !! Fault reporting
                                                                //    537  !
                                                                //    538  %routine REPORT(%integer n,joker)
#line 538 "regression-compile-tmp/chimps.imp"
void REPORT( int N, int JOKER )
#line 538 "regression-compile-tmp/chimps.imp"
{
                                                                //    539  %integer mark,start,errline,k,editfp
#line 539 "regression-compile-tmp/chimps.imp"
int MARK;
#line 539 "regression-compile-tmp/chimps.imp"
int START;
#line 539 "regression-compile-tmp/chimps.imp"
int ERRLINE;
#line 539 "regression-compile-tmp/chimps.imp"
int K;
#line 539 "regression-compile-tmp/chimps.imp"
int EDITFP;
                                                                //    540  %routine PRINT IDENT(%integer x)
#line 540 "regression-compile-tmp/chimps.imp"
void PRINTIDENT( int X )
#line 540 "regression-compile-tmp/chimps.imp"
{
                                                                //    541    put sym('"')
#line 541 "regression-compile-tmp/chimps.imp"
PUTSYM(34);
                                                                //    542    print string(string(dict(x)_text+charbase))
#line 542 "regression-compile-tmp/chimps.imp"
PRINTSTRING(*_imp_STRING((((int)(DICT[(((int)(X)) - (2001))].TEXT)) + (CHARBASE))));
                                                                //    543    put sym('"')
#line 543 "regression-compile-tmp/chimps.imp"
PUTSYM(34);
                                                                //    544  %end
#line 544 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRINTIDENT at level 3
                                                                //    545  %routine PRINT TEXT(%integer x,stream)
#line 545 "regression-compile-tmp/chimps.imp"
void PRINTTEXT( int X, int STREAM )
#line 545 "regression-compile-tmp/chimps.imp"
{
                                                                //    546  %constinteger esc=27
                                                                //    547  %integer k,p
#line 547 "regression-compile-tmp/chimps.imp"
int K;
#line 547 "regression-compile-tmp/chimps.imp"
int P;
                                                                //    548  %switch s(0:errmax)
#line 548 "regression-compile-tmp/chimps.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,  };
                                                                //    549    put sym(mark)
#line 549 "regression-compile-tmp/chimps.imp"
PUTSYM(MARK);
                                                                //    550    write(line,4)
#line 550 "regression-compile-tmp/chimps.imp"
WRITE(LINE, 4);
                                                                //    551    put sym(modesym);  put sym(' ')
#line 551 "regression-compile-tmp/chimps.imp"
PUTSYM(MODESYM);
#line 551 "regression-compile-tmp/chimps.imp"
PUTSYM(32);
                                                                //    552    ->s(n&63)
#line 552 "regression-compile-tmp/chimps.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);
}
                                                                //    553  s(formerr):   printstring("Faulty form");   -> print
#line 553 "regression-compile-tmp/chimps.imp"
sw1_S_0:;
#line 553 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Faulty form"));
#line 553 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    554  s(atomerr):   printstring("Unknown atom");  -> print
#line 554 "regression-compile-tmp/chimps.imp"
sw1_S_1:;
#line 554 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Unknown atom"));
#line 554 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    555  s(namerr):    printstring("Unknown name");  -> print
#line 555 "regression-compile-tmp/chimps.imp"
sw1_S_2:;
#line 555 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Unknown name"));
#line 555 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    556  s(caterr):    printstring("Unsuitable");    -> print
#line 556 "regression-compile-tmp/chimps.imp"
sw1_S_3:;
#line 556 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Unsuitable"));
#line 556 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    557  s(sizerr):    printstring("Size");          -> print
#line 557 "regression-compile-tmp/chimps.imp"
sw1_S_4:;
#line 557 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Size"));
#line 557 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    558  s(typerr):    printstring("Wrong type");    -> print
#line 558 "regression-compile-tmp/chimps.imp"
sw1_S_6:;
#line 558 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Wrong type"));
#line 558 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    559  s(boundserr): printstring("Inside out");    -> print
#line 559 "regression-compile-tmp/chimps.imp"
sw1_S_14:;
#line 559 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Inside out"));
#line 559 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    560  s(unending):  printstring("Endless loop");  -> print
#line 560 "regression-compile-tmp/chimps.imp"
sw1_S_37:;
#line 560 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Endless loop"));
#line 560 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    561  s(indexerr):  printstring("Index");         -> print
#line 561 "regression-compile-tmp/chimps.imp"
sw1_S_24:;
#line 561 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Index"));
#line 561 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    562  s(accesserr): printstring("Not accessible");-> print
#line 562 "regression-compile-tmp/chimps.imp"
sw1_S_15:;
#line 562 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Not accessible"));
#line 562 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    563  s(notinloop): printstring("Not in loop");   -> print
#line 563 "regression-compile-tmp/chimps.imp"
sw1_S_16:;
#line 563 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Not in loop"));
#line 563 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    564  s(notinrout): printstring("Not in routine");-> print
#line 564 "regression-compile-tmp/chimps.imp"
sw1_S_17:;
#line 564 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Not in routine"));
#line 564 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    565  s(notinfun):  printstring("Not in fn/map"); -> print
#line 565 "regression-compile-tmp/chimps.imp"
sw1_S_18:;
#line 565 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Not in fn/map"));
#line 565 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    566  s(notinpred): printstring("Not in pred");   -> print
#line 566 "regression-compile-tmp/chimps.imp"
sw1_S_19:;
#line 566 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Not in pred"));
#line 566 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    567  s(plexerr):   printstring("Too complex!");  -> print
#line 567 "regression-compile-tmp/chimps.imp"
sw1_S_20:;
#line 567 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Too complex!"));
#line 567 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    568  s(duperr):    printstring("Duplicate");     -> print
#line 568 "regression-compile-tmp/chimps.imp"
sw1_S_7:;
#line 568 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Duplicate"));
#line 568 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    569  s(ordererr):  printstring("Out of order");  -> print
#line 569 "regression-compile-tmp/chimps.imp"
sw1_S_10:;
#line 569 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Out of order"));
#line 569 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    570  s(matcherr):  printstring("Mismatch");      -> print
#line 570 "regression-compile-tmp/chimps.imp"
sw1_S_11:;
#line 570 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Mismatch"));
#line 570 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    571  s(rangerr):   printstring("Out of range");  -> print
#line 571 "regression-compile-tmp/chimps.imp"
sw1_S_12:;
#line 571 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Out of range"));
#line 571 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    572  s(nonliteral):printstring("Not literal");   -> print
#line 572 "regression-compile-tmp/chimps.imp"
sw1_S_13:;
#line 572 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Not literal"));
#line 572 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    573  s(nonstand):  printstring("Nonstandard");   -> print
#line 573 "regression-compile-tmp/chimps.imp"
sw1_S_22:;
#line 573 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Nonstandard"));
#line 573 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    574  s(notin):     printstring("Not in yet");    -> print
#line 574 "regression-compile-tmp/chimps.imp"
sw1_S_23:;
#line 574 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Not in yet"));
#line 574 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    575  s(moperr):    printstring("Faulty operand");-> print
#line 575 "regression-compile-tmp/chimps.imp"
sw1_S_27:;
#line 575 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Faulty operand"));
#line 575 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    576  s(nocycle):   printstring("Missing %CYCLE"); -> print
#line 576 "regression-compile-tmp/chimps.imp"
sw1_S_9:;
#line 576 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Missing %CYCLE"));
#line 576 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    577  s(nostart):   printstring("Missing %START"); -> print
#line 577 "regression-compile-tmp/chimps.imp"
sw1_S_8:;
#line 577 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Missing %START"));
#line 577 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    578  s(noif):      printstring("Missing %IF");    -> print
#line 578 "regression-compile-tmp/chimps.imp"
sw1_S_21:;
#line 578 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Missing %IF"));
#line 578 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    579  s(noterm):    printstring("';' missing");    -> print
#line 579 "regression-compile-tmp/chimps.imp"
sw1_S_28:;
#line 579 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("';' missing"));
#line 579 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    580  s(nonstarter):printstring("Non-starter");    -> print
#line 580 "regression-compile-tmp/chimps.imp"
sw1_S_29:;
#line 580 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Non-starter"));
#line 580 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    581  s(nonvar):    printstring("Not variable");   -> print
#line 581 "regression-compile-tmp/chimps.imp"
sw1_S_30:;
#line 581 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Not variable"));
#line 581 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    582  s(nonref):    printstring("Not reference");  -> print
#line 582 "regression-compile-tmp/chimps.imp"
sw1_S_31:;
#line 582 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Not reference"));
#line 582 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    583  s(noparm):    printstring("No parameters");  -> print
#line 583 "regression-compile-tmp/chimps.imp"
sw1_S_35:;
#line 583 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("No parameters"));
#line 583 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    584  s(toofew):    printstring("Too few");        -> print
#line 584 "regression-compile-tmp/chimps.imp"
sw1_S_33:;
#line 584 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Too few"));
#line 584 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    585  s(unwanted):  printstring("Unwanted");       -> print
#line 585 "regression-compile-tmp/chimps.imp"
sw1_S_34:;
#line 585 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Unwanted"));
#line 585 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    586  s(toomany):   printstring("Too many");       -> print
#line 586 "regression-compile-tmp/chimps.imp"
sw1_S_32:;
#line 586 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Too many"));
#line 586 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    587  s(selfref):   printstring("Self-reference"); -> print
#line 587 "regression-compile-tmp/chimps.imp"
sw1_S_38:;
#line 587 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Self-reference"));
#line 587 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    588  s(nobegin):   printstring("Extra %END");     -> print
#line 588 "regression-compile-tmp/chimps.imp"
sw1_S_41:;
#line 588 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Extra %END"));
#line 588 "regression-compile-tmp/chimps.imp"
goto U_1000;
                                                                //    589  print:
#line 589 "regression-compile-tmp/chimps.imp"
U_1000:;
                                                                //    590    spaces(21-length(rep))
#line 590 "regression-compile-tmp/chimps.imp"
SPACES(((21) - (*(int *)(_imp_LENGTH(&REP)))));
                                                                //    591    p = start
#line 591 "regression-compile-tmp/chimps.imp"
P = START;
                                                                //    592    %if p < faultp-50 %then p = faultp-47 %and printstring("...") %c
#line 592 "regression-compile-tmp/chimps.imp"
if (((P) >= ((((int)(FAULTP)) - (50))))) goto L_000b;
#line 592 "regression-compile-tmp/chimps.imp"
P = (((int)(FAULTP)) - (47));
#line 592 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("..."));
#line 592 "regression-compile-tmp/chimps.imp"
goto L_000c;
#line 592 "regression-compile-tmp/chimps.imp"
L_000b:;
#line 592 "regression-compile-tmp/chimps.imp"
PUTSYM(32);
#line 592 "regression-compile-tmp/chimps.imp"
L_000c:;
                                                                //    593    %else put sym(' ')
                                                                //    594    %cycle
#line 594 "regression-compile-tmp/chimps.imp"
L_000d:;
                                                                //    595      k = byteinteger(p);  p = p+1
#line 595 "regression-compile-tmp/chimps.imp"
K = *_imp_BYTEINTEGER(P);
#line 595 "regression-compile-tmp/chimps.imp"
P = (((int)(P)) + (1));
                                                                //    596      %if p = faultp %start
#line 596 "regression-compile-tmp/chimps.imp"
if (((P) != (FAULTP))) goto L_0010;
                                                                //    597  !$IF VAX
                                                                //    598        put sym(esc) %and put sym('F') %if stream = 0
#line 598 "regression-compile-tmp/chimps.imp"
if (((STREAM) != (0))) goto L_0011;
#line 598 "regression-compile-tmp/chimps.imp"
PUTSYM(27);
#line 598 "regression-compile-tmp/chimps.imp"
PUTSYM(70);
#line 598 "regression-compile-tmp/chimps.imp"
L_0011:;
                                                                //    599  !$FINISH
                                                                //    600        put sym('~')
#line 600 "regression-compile-tmp/chimps.imp"
PUTSYM(126);
                                                                //    601  !$IF VAX
                                                                //    602        put sym(esc) %and put sym('G') %if stream = 0
#line 602 "regression-compile-tmp/chimps.imp"
if (((STREAM) != (0))) goto L_0012;
#line 602 "regression-compile-tmp/chimps.imp"
PUTSYM(27);
#line 602 "regression-compile-tmp/chimps.imp"
PUTSYM(71);
#line 602 "regression-compile-tmp/chimps.imp"
L_0012:;
                                                                //    603  !$FINISH
                                                                //    604      %finish
#line 604 "regression-compile-tmp/chimps.imp"
L_0010:;
                                                                //    605      %exit %if k = nl
#line 605 "regression-compile-tmp/chimps.imp"
if (((K) != (10))) goto L_0013;
#line 605 "regression-compile-tmp/chimps.imp"
goto L_000e;
#line 605 "regression-compile-tmp/chimps.imp"
L_0013:;
                                                                //    606      %if ' ' <= k <= '~' %then put sym(k) %c
#line 606 "regression-compile-tmp/chimps.imp"
if ((((32) > (K))) || (((K) > (126)))) goto L_0014;
#line 606 "regression-compile-tmp/chimps.imp"
PUTSYM(K);
#line 606 "regression-compile-tmp/chimps.imp"
goto L_0015;
#line 606 "regression-compile-tmp/chimps.imp"
L_0014:;
#line 606 "regression-compile-tmp/chimps.imp"
PUTSYM(91);
#line 606 "regression-compile-tmp/chimps.imp"
WRITE(K, (-1));
#line 606 "regression-compile-tmp/chimps.imp"
PUTSYM(93);
#line 606 "regression-compile-tmp/chimps.imp"
L_0015:;
                                                                //    607      %else put sym('[') %and write(k,-1) %and put sym(']')
                                                                //    608    %repeat
#line 608 "regression-compile-tmp/chimps.imp"
goto L_000d;
#line 608 "regression-compile-tmp/chimps.imp"
L_000e:;
                                                                //    609    %return
#line 609 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    610  s(noend):     printstring("%END");           ->mend
#line 610 "regression-compile-tmp/chimps.imp"
sw1_S_40:;
#line 610 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("%END"));
#line 610 "regression-compile-tmp/chimps.imp"
goto U_1001;
                                                                //    611  s(noresult):  printstring("Result");         ->mend
#line 611 "regression-compile-tmp/chimps.imp"
sw1_S_46:;
#line 611 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("Result"));
#line 611 "regression-compile-tmp/chimps.imp"
goto U_1001;
                                                                //    612  s(nofinish):  printstring("%FINISH");        ->mend0
#line 612 "regression-compile-tmp/chimps.imp"
sw1_S_43:;
#line 612 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("%FINISH"));
#line 612 "regression-compile-tmp/chimps.imp"
goto U_1002;
                                                                //    613  s(norepeat):  printstring("%REPEAT")
#line 613 "regression-compile-tmp/chimps.imp"
sw1_S_44:;
#line 613 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("%REPEAT"));
                                                                //    614  mend0:        printstring(" etc") %if curlab > lab1+2
#line 614 "regression-compile-tmp/chimps.imp"
U_1002:;
#line 614 "regression-compile-tmp/chimps.imp"
if (((CURLAB) <= (3237))) goto L_0016;
#line 614 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal(" etc"));
#line 614 "regression-compile-tmp/chimps.imp"
L_0016:;
                                                                //    615                -> mend
#line 615 "regression-compile-tmp/chimps.imp"
goto U_1001;
                                                                //    616  s(idmissing):
#line 616 "regression-compile-tmp/chimps.imp"
sw1_S_42:;
                                                                //    617    %cycle
#line 617 "regression-compile-tmp/chimps.imp"
L_0017:;
                                                                //    618  !    newline %and spaces(8) %and outcol = 8 %if outcol > 50
                                                                //    619      put sym(' ')
#line 619 "regression-compile-tmp/chimps.imp"
PUTSYM(32);
                                                                //    620      print ident(x)
#line 620 "regression-compile-tmp/chimps.imp"
PRINTIDENT(X);
                                                                //    621      print string("(?)") %if dict(x)_flags&spec = 0;  !switch
#line 621 "regression-compile-tmp/chimps.imp"
if (((((DICT[(((int)(X)) - (2001))].FLAGS) & (16))) != (0))) goto L_001a;
#line 621 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("(?)"));
#line 621 "regression-compile-tmp/chimps.imp"
L_001a:;
                                                                //    622      x = dict(x)_val
#line 622 "regression-compile-tmp/chimps.imp"
X = DICT[(((int)(X)) - (2001))].VAL;
                                                                //    623    %repeat %until x = 0
#line 623 "regression-compile-tmp/chimps.imp"
if (((X) == (0))) goto L_0018;
#line 623 "regression-compile-tmp/chimps.imp"
goto L_0017;
#line 623 "regression-compile-tmp/chimps.imp"
L_0018:;
                                                                //    624  mend:
#line 624 "regression-compile-tmp/chimps.imp"
U_1001:;
                                                                //    625    printstring(" missing")
#line 625 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal(" missing"));
                                                                //    626    %if c_type # 0 %start
#line 626 "regression-compile-tmp/chimps.imp"
if (((C.TYPE) == (0))) goto L_001b;
                                                                //    627      print string(" at END of ")
#line 627 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal(" at END of "));
                                                                //    628      print ident(c_pidpos)
#line 628 "regression-compile-tmp/chimps.imp"
PRINTIDENT(C.PIDPOS);
                                                                //    629    %finish %else n = 0
#line 629 "regression-compile-tmp/chimps.imp"
goto L_001c;
#line 629 "regression-compile-tmp/chimps.imp"
L_001b:;
#line 629 "regression-compile-tmp/chimps.imp"
N = 0;
#line 629 "regression-compile-tmp/chimps.imp"
L_001c:;
                                                                //    630    %return
#line 630 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    631  s(counterr):
#line 631 "regression-compile-tmp/chimps.imp"
sw1_S_45:;
                                                                //    632    %if elements < 0 %start
#line 632 "regression-compile-tmp/chimps.imp"
if (((ELEMENTS) >= (0))) goto L_001d;
                                                                //    633      write(-elements,0);  printstring(" extra")
#line 633 "regression-compile-tmp/chimps.imp"
WRITE((-(ELEMENTS)), 0);
#line 633 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal(" extra"));
                                                                //    634    %finish %else %start
#line 634 "regression-compile-tmp/chimps.imp"
goto L_001e;
#line 634 "regression-compile-tmp/chimps.imp"
L_001d:;
                                                                //    635      write(elements,0);  printstring(" missing")
#line 635 "regression-compile-tmp/chimps.imp"
WRITE(ELEMENTS, 0);
#line 635 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal(" missing"));
                                                                //    636    %finish
#line 636 "regression-compile-tmp/chimps.imp"
L_001e:;
                                                                //    637    printstring(" value(s) for ")
#line 637 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal(" value(s) for "));
                                                                //    638    print ident(x)
#line 638 "regression-compile-tmp/chimps.imp"
PRINTIDENT(X);
                                                                //    639    %return
#line 639 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    640  s(asserr):
#line 640 "regression-compile-tmp/chimps.imp"
sw1_S_5:;
                                                                //    641    print ident(x)
#line 641 "regression-compile-tmp/chimps.imp"
PRINTIDENT(X);
                                                                //    642    print string(" void")
#line 642 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal(" void"));
                                                                //    643  %end
#line 643 "regression-compile-tmp/chimps.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
                                                                //    644  
                                                                //    645  !Warning or error
                                                                //    646    mark = '?'
#line 646 "regression-compile-tmp/chimps.imp"
MARK = 63;
                                                                //    647    %if n&warn = 0 %start
#line 647 "regression-compile-tmp/chimps.imp"
if (((((N) & (128))) != (0))) goto L_001f;
                                                                //    648      mark = '*'
#line 648 "regression-compile-tmp/chimps.imp"
MARK = 42;
                                                                //    649      c_faults = c_faults+1;  faults = faults+1
#line 649 "regression-compile-tmp/chimps.imp"
C.FAULTS = (((int)(C.FAULTS)) + (1));
#line 649 "regression-compile-tmp/chimps.imp"
FAULTS = (((int)(FAULTS)) + (1));
                                                                //    650    %finish
#line 650 "regression-compile-tmp/chimps.imp"
L_001f:;
                                                                //    651    faultnum = 0;  c_access = -1
#line 651 "regression-compile-tmp/chimps.imp"
FAULTNUM = 0;
#line 651 "regression-compile-tmp/chimps.imp"
C.ACCESS = (-1);
                                                                //    652  !Ignore uncorrected earlier error
                                                                //    653    %return %if main_start1 <= fp < change
#line 653 "regression-compile-tmp/chimps.imp"
if ((((MAIN->START1) > (FP))) || (((FP) >= (CHANGE)))) goto L_0020;
#line 653 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 653 "regression-compile-tmp/chimps.imp"
L_0020:;
                                                                //    654  !Track back if before current line
                                                                //    655    start = linestart;  errline = line
#line 655 "regression-compile-tmp/chimps.imp"
START = LINESTART;
#line 655 "regression-compile-tmp/chimps.imp"
ERRLINE = LINE;
                                                                //    656    %if n&point = 0 %then faultp = 0 %else %start
#line 656 "regression-compile-tmp/chimps.imp"
if (((((N) & (64))) != (0))) goto L_0021;
#line 656 "regression-compile-tmp/chimps.imp"
FAULTP = 0;
#line 656 "regression-compile-tmp/chimps.imp"
goto L_0022;
#line 656 "regression-compile-tmp/chimps.imp"
L_0021:;
                                                                //    657      faultp = joker %if joker > 0
#line 657 "regression-compile-tmp/chimps.imp"
if (((JOKER) <= (0))) goto L_0023;
#line 657 "regression-compile-tmp/chimps.imp"
FAULTP = JOKER;
#line 657 "regression-compile-tmp/chimps.imp"
L_0023:;
                                                                //    658      %while faultp <= start %cycle
#line 658 "regression-compile-tmp/chimps.imp"
L_0024:;
#line 658 "regression-compile-tmp/chimps.imp"
if (((FAULTP) > (START))) goto L_0025;
                                                                //    659        start = start-1
#line 659 "regression-compile-tmp/chimps.imp"
START = (((int)(START)) - (1));
                                                                //    660        errline = errline-1 %if byteinteger(start) = nl
#line 660 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(START)) != (10))) goto L_0027;
#line 660 "regression-compile-tmp/chimps.imp"
ERRLINE = (((int)(ERRLINE)) - (1));
#line 660 "regression-compile-tmp/chimps.imp"
L_0027:;
                                                                //    661      %repeat
#line 661 "regression-compile-tmp/chimps.imp"
goto L_0024;
#line 661 "regression-compile-tmp/chimps.imp"
L_0025:;
                                                                //    662      start = start-1 %while start # curstart %and byteinteger(start-1) # nl
#line 662 "regression-compile-tmp/chimps.imp"
L_0028:;
#line 662 "regression-compile-tmp/chimps.imp"
if (((START) == (CURSTART))) goto L_0029;
#line 662 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER((((int)(START)) - (1)))) == (10))) goto L_0029;
#line 662 "regression-compile-tmp/chimps.imp"
START = (((int)(START)) - (1));
#line 662 "regression-compile-tmp/chimps.imp"
goto L_0028;
#line 662 "regression-compile-tmp/chimps.imp"
L_0029:;
                                                                //    663    %finish
#line 663 "regression-compile-tmp/chimps.imp"
L_0022:;
                                                                //    664    editfp = start;  editfp = faultp-1 %if faultp > start
#line 664 "regression-compile-tmp/chimps.imp"
EDITFP = START;
#line 664 "regression-compile-tmp/chimps.imp"
if (((FAULTP) <= (START))) goto L_002b;
#line 664 "regression-compile-tmp/chimps.imp"
EDITFP = (((int)(FAULTP)) - (1));
#line 664 "regression-compile-tmp/chimps.imp"
L_002b:;
                                                                //    665    editfp = mainfp %if curlim = extra_lim2
#line 665 "regression-compile-tmp/chimps.imp"
if (((CURLIM) != (EXTRA.LIM2))) goto L_002c;
#line 665 "regression-compile-tmp/chimps.imp"
EDITFP = MAINFP;
#line 665 "regression-compile-tmp/chimps.imp"
L_002c:;
                                                                //    666    start = start+1 %while byteinteger(start) = ' '
#line 666 "regression-compile-tmp/chimps.imp"
L_002d:;
#line 666 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(START)) != (32))) goto L_002e;
#line 666 "regression-compile-tmp/chimps.imp"
START = (((int)(START)) + (1));
#line 666 "regression-compile-tmp/chimps.imp"
goto L_002d;
#line 666 "regression-compile-tmp/chimps.imp"
L_002e:;
                                                                //    667    print text(joker,0)
#line 667 "regression-compile-tmp/chimps.imp"
PRINTTEXT(JOKER, 0);
                                                                //    668    newline %and %return %if n&warn # 0 %or nonstop # 0
#line 668 "regression-compile-tmp/chimps.imp"
if (((((N) & (128))) != (0))) goto L_002f;
#line 668 "regression-compile-tmp/chimps.imp"
if (((NONSTOP) == (0))) goto L_0030;
#line 668 "regression-compile-tmp/chimps.imp"
L_002f:;
#line 668 "regression-compile-tmp/chimps.imp"
NEWLINE();
#line 668 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 668 "regression-compile-tmp/chimps.imp"
L_0030:;
                                                                //    669    main_fp = editfp;  main_line = line
#line 669 "regression-compile-tmp/chimps.imp"
MAIN->FP = EDITFP;
#line 669 "regression-compile-tmp/chimps.imp"
MAIN->LINE = LINE;
                                                                //    670    %if change # 0 %then main_change = 16_7FFFFFFE
#line 670 "regression-compile-tmp/chimps.imp"
if (((CHANGE) == (0))) goto L_0031;
#line 670 "regression-compile-tmp/chimps.imp"
MAIN->CHANGE = 2147483646;
#line 670 "regression-compile-tmp/chimps.imp"
L_0031:;
                                                                //    671    edi(main,null,rep)
#line 671 "regression-compile-tmp/chimps.imp"
EDI(MAIN, &NULL, REP);
                                                                //    672    rep = ""
#line 672 "regression-compile-tmp/chimps.imp"
REP = _imp_str_literal("");
                                                                //    673    nonstop = 1 %if main_flag = 'I'
#line 673 "regression-compile-tmp/chimps.imp"
if (((MAIN->FLAG) != (73))) goto L_0032;
#line 673 "regression-compile-tmp/chimps.imp"
NONSTOP = 1;
#line 673 "regression-compile-tmp/chimps.imp"
L_0032:;
                                                                //    674    %stop %if main_flag < 0
#line 674 "regression-compile-tmp/chimps.imp"
if (((MAIN->FLAG) >= (0))) goto L_0033;
#line 674 "regression-compile-tmp/chimps.imp"
exit(0);
#line 674 "regression-compile-tmp/chimps.imp"
L_0033:;
                                                                //    675    %signal 12 %if main_change < 16_7FFFFFFE {change made}
#line 675 "regression-compile-tmp/chimps.imp"
if (((MAIN->CHANGE) >= (2147483646))) goto L_0034;
#line 675 "regression-compile-tmp/chimps.imp"
_imp_signal(12, 0, 0, "");
#line 675 "regression-compile-tmp/chimps.imp"
L_0034:;
                                                                //    676   %end;  !report
#line 676 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block REPORT at level 2
                                                                //    677  
                                                                //    678  %routine CROAK(%string(255) s)
#line 678 "regression-compile-tmp/chimps.imp"
void CROAK( _imp_string /*%string(255)*/ S )
#line 678 "regression-compile-tmp/chimps.imp"
{
                                                                //    679    print string("** ".s.".  Checking abandoned at line ")
#line 679 "regression-compile-tmp/chimps.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 ")));
                                                                //    680    write(line,0);  newline
#line 680 "regression-compile-tmp/chimps.imp"
WRITE(LINE, 0);
#line 680 "regression-compile-tmp/chimps.imp"
NEWLINE();
                                                                //    681    nonstop = -999
#line 681 "regression-compile-tmp/chimps.imp"
NONSTOP = (-999);
                                                                //    682    %signal 12
#line 682 "regression-compile-tmp/chimps.imp"
_imp_signal(12, 0, 0, "");
                                                                //    683  %end
#line 683 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CROAK at level 2
                                                                //    684  
                                                                //    685  %routine FAULT(%integer n)
#line 685 "regression-compile-tmp/chimps.imp"
void FAULT( int N )
#line 685 "regression-compile-tmp/chimps.imp"
{
                                                                //    686  !Note fault number and position of (earliest) fault
                                                                //    687  ! for subsequent reporting (warnings and weak errors)
                                                                //    688    faultnum = n %and faultp = atomp %if faultnum = 0
#line 688 "regression-compile-tmp/chimps.imp"
if (((FAULTNUM) != (0))) goto L_0035;
#line 688 "regression-compile-tmp/chimps.imp"
FAULTNUM = N;
#line 688 "regression-compile-tmp/chimps.imp"
FAULTP = ATOMP;
#line 688 "regression-compile-tmp/chimps.imp"
L_0035:;
                                                                //    689  %end
#line 689 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FAULT at level 2
                                                                //    690  %routine EXPFAULT(%integer n)
#line 690 "regression-compile-tmp/chimps.imp"
void EXPFAULT( int N )
#line 690 "regression-compile-tmp/chimps.imp"
{
                                                                //    691    faultnum = n!point %and faultp = expp %if faultnum = 0 %or expp < faultp
#line 691 "regression-compile-tmp/chimps.imp"
if (((FAULTNUM) == (0))) goto L_0036;
#line 691 "regression-compile-tmp/chimps.imp"
if (((EXPP) >= (FAULTP))) goto L_0037;
#line 691 "regression-compile-tmp/chimps.imp"
L_0036:;
#line 691 "regression-compile-tmp/chimps.imp"
FAULTNUM = ((N) | (64));
#line 691 "regression-compile-tmp/chimps.imp"
FAULTP = EXPP;
#line 691 "regression-compile-tmp/chimps.imp"
L_0037:;
                                                                //    692  %end
#line 692 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block EXPFAULT at level 2
                                                                //    693  
                                                                //    694  %constinteger pred=1, uparr=1<<1, nocomma=1<<2, overload=1<<3,
                                                                //    695                ranges=1<<4, nolength=1<<5, initass=1<<6, kgoto=1<<7,
                                                                //    696                hyphen=1<<8, naming=1<<9, klabel=1<<10, ibmhex=1<<11,
                                                                //    697                oldcycle=1<<12, loop2=1<<13
                                                                //    698  %routine NONSTANDARD(%integer case)
#line 698 "regression-compile-tmp/chimps.imp"
void NONSTANDARD( int CASE )
#line 698 "regression-compile-tmp/chimps.imp"
{
                                                                //    699  %owninteger hadit=0
#line 699 "regression-compile-tmp/chimps.imp"
static int HADIT = 0;
                                                                //    700    %if control&nonsbit # 0 %and case&hadit = 0 %start
#line 700 "regression-compile-tmp/chimps.imp"
if (((((CONTROL) & (65536))) == (0))) goto L_0038;
#line 700 "regression-compile-tmp/chimps.imp"
if (((((CASE) & (HADIT))) != (0))) goto L_0038;
                                                                //    701      hadit = hadit+case
#line 701 "regression-compile-tmp/chimps.imp"
HADIT = (((int)(HADIT)) + (CASE));
                                                                //    702      fault(nonstand+point+warn)
#line 702 "regression-compile-tmp/chimps.imp"
FAULT(214);
                                                                //    703    %finish
#line 703 "regression-compile-tmp/chimps.imp"
L_0038:;
                                                                //    704  %end
#line 704 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block NONSTANDARD at level 2
                                                                //    705  
                                                                //    706  %routine ERROR(%integer case)
#line 706 "regression-compile-tmp/chimps.imp"
void ERROR( int CASE )
#line 706 "regression-compile-tmp/chimps.imp"
{
                                                                //    707    report(case,atomp)
#line 707 "regression-compile-tmp/chimps.imp"
REPORT(CASE, ATOMP);
                                                                //    708    %signal 14
#line 708 "regression-compile-tmp/chimps.imp"
_imp_signal(14, 0, 0, "");
                                                                //    709  %end
#line 709 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ERROR at level 2
                                                                //    710  
                                                                //    711  %routine NAME ERROR
#line 711 "regression-compile-tmp/chimps.imp"
void NAMEERROR( void )
#line 711 "regression-compile-tmp/chimps.imp"
{
                                                                //    712  !check if the culprit has occurred before
                                                                //    713  !and, if not, add it to the pool of unknowns stored at the
                                                                //    714  !far end of the dictionary.
                                                                //    715    %while item < 0 %c
#line 715 "regression-compile-tmp/chimps.imp"
L_0039:;
#line 715 "regression-compile-tmp/chimps.imp"
if (((ITEM) >= (0))) goto L_003a;
#line 715 "regression-compile-tmp/chimps.imp"
if ((_imp_strcmp(*_imp_STRING((((int)(DICT[(((-(ITEM))) - (2001))].TEXT)) + (CHARBASE))), *_imp_STRING(CHARLIM)) == 0)) goto L_003a;
                                                                //    716       %and string(dict(-item)_text+charbase) # string(charlim) %cycle
                                                                //    717       item = dict(-item)_link
#line 717 "regression-compile-tmp/chimps.imp"
ITEM = DICT[(((-(ITEM))) - (2001))].LINK;
                                                                //    718    %repeat
#line 718 "regression-compile-tmp/chimps.imp"
goto L_0039;
#line 718 "regression-compile-tmp/chimps.imp"
L_003a:;
                                                                //    719    %if item >= 0 %start;  !first time
#line 719 "regression-compile-tmp/chimps.imp"
if (((ITEM) < (0))) goto L_003c;
                                                                //    720      report(namerr+point,atomp)
#line 720 "regression-compile-tmp/chimps.imp"
REPORT(66, ATOMP);
                                                                //    721      %if charmin-newlen-80 >= charlim %start
#line 721 "regression-compile-tmp/chimps.imp"
if ((((((int)((((int)(CHARMIN)) - (NEWLEN)))) - (80))) < (CHARLIM))) goto L_003d;
                                                                //    722        dmin = dmin-1
#line 722 "regression-compile-tmp/chimps.imp"
DMIN = (((int)(DMIN)) - (1));
                                                                //    723        charmin = charmin-newlen-1
#line 723 "regression-compile-tmp/chimps.imp"
CHARMIN = (((int)((((int)(CHARMIN)) - (NEWLEN)))) - (1));
                                                                //    724        string(charmin) = string(charlim)
#line 724 "regression-compile-tmp/chimps.imp"
*_imp_STRING(CHARMIN) = *_imp_STRING(CHARLIM);
                                                                //    725        dict(dmin)_text = charmin-charbase
#line 725 "regression-compile-tmp/chimps.imp"
DICT[(((int)(DMIN)) - (2001))].TEXT = (((int)(CHARMIN)) - (CHARBASE));
                                                                //    726        head == dict(head)_link %while head > 0;  !find last link
#line 726 "regression-compile-tmp/chimps.imp"
L_003e:;
#line 726 "regression-compile-tmp/chimps.imp"
if (((*HEAD) <= (0))) goto L_003f;
#line 726 "regression-compile-tmp/chimps.imp"
HEAD = &DICT[((*(int *)(HEAD)) - (2001))].LINK;
#line 726 "regression-compile-tmp/chimps.imp"
goto L_003e;
#line 726 "regression-compile-tmp/chimps.imp"
L_003f:;
                                                                //    727        dict(dmin)_link = head;  head = -dmin
#line 727 "regression-compile-tmp/chimps.imp"
DICT[(((int)(DMIN)) - (2001))].LINK = *HEAD;
#line 727 "regression-compile-tmp/chimps.imp"
*HEAD = (-(DMIN));
                                                                //    728      %finish
#line 728 "regression-compile-tmp/chimps.imp"
L_003d:;
                                                                //    729    %finish
#line 729 "regression-compile-tmp/chimps.imp"
L_003c:;
                                                                //    730    %signal 14
#line 730 "regression-compile-tmp/chimps.imp"
_imp_signal(14, 0, 0, "");
                                                                //    731  %end
#line 731 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block NAMEERROR at level 2
                                                                //    732  
                                                                //    733  %routine SYNTAX ERROR
#line 733 "regression-compile-tmp/chimps.imp"
void SYNTAXERROR( void )
#line 733 "regression-compile-tmp/chimps.imp"
{
                                                                //    734  %integer e
#line 734 "regression-compile-tmp/chimps.imp"
int E;
                                                                //    735    e = formerr+point;  e = atomerr+point %if atom = dud
#line 735 "regression-compile-tmp/chimps.imp"
E = 64;
#line 735 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (63))) goto L_0041;
#line 735 "regression-compile-tmp/chimps.imp"
E = 65;
#line 735 "regression-compile-tmp/chimps.imp"
L_0041:;
                                                                //    736    report(e,atomp)
#line 736 "regression-compile-tmp/chimps.imp"
REPORT(E, ATOMP);
                                                                //    737    %signal 14
#line 737 "regression-compile-tmp/chimps.imp"
_imp_signal(14, 0, 0, "");
                                                                //    738  %end
#line 738 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SYNTAXERROR at level 2
                                                                //    739  
                                                                //    740  !!!!!!!!!!!!!!!!!!!!   CELL  CONSTRUCTORS  !!!!!!!!!!!!!!!!!!!
                                                                //    741  !
                                                                //    742  !%integerfn litref(%integer v)
                                                                //    743  !%integer i
                                                                //    744  !  %result = v %if smallmin <= v <= smallmax
                                                                //    745  !  litstore(litpos) = v
                                                                //    746  !  i = litmin-1
                                                                //    747  !  i = i+1 %until litstore(i) = v
                                                                //    748  !  %if i = litpos %start
                                                                //    749  !    litpos = litpos+1
                                                                //    750  !    croak("Too many literals") %if litpos >= slitpos
                                                                //    751  !  %finish
                                                                //    752  !  %result = i
                                                                //    753  !%end
                                                                //    754  
                                                                //    755  !%integerfn litval(%integer v)
                                                                //    756  !  %result = v %if v <= smallmax
                                                                //    757  !  %result = litstore(v)
                                                                //    758  !%end
                                                                //    759  
                                                                //    760  %integerfn floated(%integer item)
#line 760 "regression-compile-tmp/chimps.imp"
int FLOATED( int ITEM )
#line 760 "regression-compile-tmp/chimps.imp"
{
                                                                //    761    %result = 0 %if item = 0
#line 761 "regression-compile-tmp/chimps.imp"
if (((ITEM) != (0))) goto L_0042;
#line 761 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 761 "regression-compile-tmp/chimps.imp"
L_0042:;
                                                                //    762    %result = explo;!expref(float,item,0)
#line 762 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return EXPLO;
                                                                //    763  %end
#line 763 "regression-compile-tmp/chimps.imp"
} // End of block FLOATED at level 2
                                                                //    764  
                                                                //    765  !%predicate is short (%integer v)
                                                                //    766  !  %true %if -32768 <= v <= 32767
                                                                //    767  !  %false
                                                                //    768  !%end
                                                                //    769  
                                                                //    770  !%predicate is mite (%integer v)
                                                                //    771  !  %true %if -128 <= v <= 127
                                                                //    772  !  %false
                                                                //    773  !%end
                                                                //    774  
                                                                //    775  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    776  !!!!!!!!!!!!!!!!!    CODE  GENERATION   !!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    777  !
                                                                //    778  %routine forget
#line 778 "regression-compile-tmp/chimps.imp"
void FORGET( void )
#line 778 "regression-compile-tmp/chimps.imp"
{
                                                                //    779  %end
#line 779 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FORGET at level 2
                                                                //    780  %routine forget all
#line 780 "regression-compile-tmp/chimps.imp"
void FORGETALL( void )
#line 780 "regression-compile-tmp/chimps.imp"
{
                                                                //    781  %integer i,j
#line 781 "regression-compile-tmp/chimps.imp"
int I;
#line 781 "regression-compile-tmp/chimps.imp"
int J;
                                                                //    782    litpos = litmin;  explo = expmax+1;  oldexplo = explo
#line 782 "regression-compile-tmp/chimps.imp"
LITPOS = 1001;
#line 782 "regression-compile-tmp/chimps.imp"
EXPLO = 3555;
#line 782 "regression-compile-tmp/chimps.imp"
OLDEXPLO = EXPLO;
                                                                //    783  %end
#line 783 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FORGETALL at level 2
                                                                //    784  !
                                                                //    785  %routine set label(%integer b)
#line 785 "regression-compile-tmp/chimps.imp"
void SETLABEL( int B )
#line 785 "regression-compile-tmp/chimps.imp"
{
                                                                //    786  %end;  !set label
#line 786 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETLABEL at level 2
                                                                //    787  %routine set user label(%integer dpos)
#line 787 "regression-compile-tmp/chimps.imp"
void SETUSERLABEL( int DPOS )
#line 787 "regression-compile-tmp/chimps.imp"
{
                                                                //    788  %end
#line 788 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETUSERLABEL at level 2
                                                                //    789  %routine compile(%integer from,to)
#line 789 "regression-compile-tmp/chimps.imp"
void COMPILE( int FROM, int TO )
#line 789 "regression-compile-tmp/chimps.imp"
{
                                                                //    790  !  show exp(from,to) %if control&explist # 0
                                                                //    791    np = np0
#line 791 "regression-compile-tmp/chimps.imp"
NP = 3255;
                                                                //    792  %end
#line 792 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COMPILE at level 2
                                                                //    793  %routine compile entry
#line 793 "regression-compile-tmp/chimps.imp"
void COMPILEENTRY( void )
#line 793 "regression-compile-tmp/chimps.imp"
{
                                                                //    794  %end
#line 794 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COMPILEENTRY at level 2
                                                                //    795  %routine compile end
#line 795 "regression-compile-tmp/chimps.imp"
void COMPILEEND( void )
#line 795 "regression-compile-tmp/chimps.imp"
{
                                                                //    796  %end;  !compile end
#line 796 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COMPILEEND at level 2
                                                                //    797  !!!!!!!!!!!!!!!  end of Code Generation  !!!!!!!!!!!!!!!!!!!!!!!
                                                                //    798  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    799  
                                                                //    800  %routine PUT3(%integer act,x,y)
#line 800 "regression-compile-tmp/chimps.imp"
void PUT3( int ACT, int X, int Y )
#line 800 "regression-compile-tmp/chimps.imp"
{
                                                                //    801  !  exp(np)_act = act;  exp(np)_x = x;  exp(np)_y = y
                                                                //    802  !  np = np+1
                                                                //    803  %end
#line 803 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUT3 at level 2
                                                                //    804  !
                                                                //    805  %routine PUT2(%integer act,x)
#line 805 "regression-compile-tmp/chimps.imp"
void PUT2( int ACT, int X )
#line 805 "regression-compile-tmp/chimps.imp"
{
                                                                //    806  %end
#line 806 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUT2 at level 2
                                                                //    807  !
                                                                //    808  %integerfn TEMPVAR
#line 808 "regression-compile-tmp/chimps.imp"
int TEMPVAR( void )
#line 808 "regression-compile-tmp/chimps.imp"
{
                                                                //    809    %result = dlim
#line 809 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return DLIM;
                                                                //    810  %end
#line 810 "regression-compile-tmp/chimps.imp"
} // End of block TEMPVAR at level 2
                                                                //    811  
                                                                //    812  %routine OPEN BLOCK(%integer pidpos)
#line 812 "regression-compile-tmp/chimps.imp"
void OPENBLOCK( int PIDPOS )
#line 812 "regression-compile-tmp/chimps.imp"
{
                                                                //    813    forget;  !a bit extreme
#line 813 "regression-compile-tmp/chimps.imp"
FORGET();
                                                                //    814    croak("Too many levels") %if level = maxlevel
#line 814 "regression-compile-tmp/chimps.imp"
if (((LEVEL) != (16))) goto L_0043;
#line 814 "regression-compile-tmp/chimps.imp"
CROAK(_imp_str_literal("Too many levels"));
#line 814 "regression-compile-tmp/chimps.imp"
L_0043:;
                                                                //    815    hold(level) = c;  level = level+1
#line 815 "regression-compile-tmp/chimps.imp"
HOLD[LEVEL] = C;
#line 815 "regression-compile-tmp/chimps.imp"
LEVEL = (((int)(LEVEL)) + (1));
                                                                //    816    c = 0
#line 816 "regression-compile-tmp/chimps.imp"
C = (BLOCKINF){ 0 } /* Assign 0's to all fields of record */;
                                                                //    817    starts = 0;  cycles = 0
#line 817 "regression-compile-tmp/chimps.imp"
STARTS = 0;
#line 817 "regression-compile-tmp/chimps.imp"
CYCLES = 0;
                                                                //    818    curlab = lab1;  looplab = 0
#line 818 "regression-compile-tmp/chimps.imp"
CURLAB = 3235;
#line 818 "regression-compile-tmp/chimps.imp"
LOOPLAB = 0;
                                                                //    819    forget all
#line 819 "regression-compile-tmp/chimps.imp"
FORGETALL();
                                                                //    820    c_flags = 0;  c_type = d_type
#line 820 "regression-compile-tmp/chimps.imp"
C.FLAGS = 0;
#line 820 "regression-compile-tmp/chimps.imp"
C.TYPE = D.TYPE;
                                                                //    821    c_pidpos = pidpos
#line 821 "regression-compile-tmp/chimps.imp"
C.PIDPOS = PIDPOS;
                                                                //    822    c_localdpos = dlim;  c_parlim = dlim;  c_localtext = charlim
#line 822 "regression-compile-tmp/chimps.imp"
C.LOCALDPOS = DLIM;
#line 822 "regression-compile-tmp/chimps.imp"
C.PARLIM = DLIM;
#line 822 "regression-compile-tmp/chimps.imp"
C.LOCALTEXT = CHARLIM;
                                                                //    823    c_localpc = pc;  c_localspc = spc
#line 823 "regression-compile-tmp/chimps.imp"
C.LOCALPC = PC;
#line 823 "regression-compile-tmp/chimps.imp"
C.LOCALSPC = SPC;
                                                                //    824    c_access = 1
#line 824 "regression-compile-tmp/chimps.imp"
C.ACCESS = 1;
                                                                //    825  %end;  !OPEN BLOCK
#line 825 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block OPENBLOCK at level 2
                                                                //    826  
                                                                //    827  %routine CLOSE BLOCK
#line 827 "regression-compile-tmp/chimps.imp"
void CLOSEBLOCK( void )
#line 827 "regression-compile-tmp/chimps.imp"
{
                                                                //    828  %integer i
#line 828 "regression-compile-tmp/chimps.imp"
int I;
                                                                //    829  %integer miss,dpos
#line 829 "regression-compile-tmp/chimps.imp"
int MISS;
#line 829 "regression-compile-tmp/chimps.imp"
int DPOS;
                                                                //    830  %integername p
#line 830 "regression-compile-tmp/chimps.imp"
int /*name*/*P;
                                                                //    831  %record(identinfo)%name dp
#line 831 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*DP;
                                                                //    832    !Check identifier usage
                                                                //    833    miss = 0;  p == miss
#line 833 "regression-compile-tmp/chimps.imp"
MISS = 0;
#line 833 "regression-compile-tmp/chimps.imp"
P = &MISS;
                                                                //    834    dpos = c_localdpos
#line 834 "regression-compile-tmp/chimps.imp"
DPOS = C.LOCALDPOS;
                                                                //    835    %while dpos # dlim %cycle
#line 835 "regression-compile-tmp/chimps.imp"
L_0044:;
#line 835 "regression-compile-tmp/chimps.imp"
if (((DPOS) == (DLIM))) goto L_0045;
                                                                //    836      dp == dict(dpos)
#line 836 "regression-compile-tmp/chimps.imp"
DP = &DICT[(((int)(DPOS)) - (2001))];
                                                                //    837  !    %if (dp_xtype = ptrxtype %and dp_type = dpos)
                                                                //    838      %if dp_flags&(proc+lab) # 0 %and dp_flags&(ext+spec) = spec %start
#line 838 "regression-compile-tmp/chimps.imp"
if (((((DP->FLAGS) & (6))) == (0))) goto L_0047;
#line 838 "regression-compile-tmp/chimps.imp"
if (((((DP->FLAGS) & (48))) != (16))) goto L_0047;
                                                                //    839            p = dpos;  p == dp_val;  p = 0
#line 839 "regression-compile-tmp/chimps.imp"
*P = DPOS;
#line 839 "regression-compile-tmp/chimps.imp"
P = &DP->VAL;
#line 839 "regression-compile-tmp/chimps.imp"
*P = 0;
                                                                //    840      %finish
#line 840 "regression-compile-tmp/chimps.imp"
L_0047:;
                                                                //    841  !    %if hashindex(dp_spare) = dpos %start
                                                                //    842  !      dp_link = dict(dp_link)_link %while dp_link >= c_localdpos
                                                                //    843  !      hashindex(dp_spare) = dp_link
                                                                //    844  !    %finish
                                                                //    845  !    dpos = dp_xtype %if dp_type = 0 %and dp_xtype > dpos;  !skip fields
                                                                //    846      dpos = dpos+1
#line 846 "regression-compile-tmp/chimps.imp"
DPOS = (((int)(DPOS)) + (1));
                                                                //    847    %repeat
#line 847 "regression-compile-tmp/chimps.imp"
goto L_0044;
#line 847 "regression-compile-tmp/chimps.imp"
L_0045:;
                                                                //    848    report(idmissing,miss) %if miss # 0
#line 848 "regression-compile-tmp/chimps.imp"
if (((MISS) == (0))) goto L_0048;
#line 848 "regression-compile-tmp/chimps.imp"
REPORT(42, MISS);
#line 848 "regression-compile-tmp/chimps.imp"
L_0048:;
                                                                //    849    compile end
#line 849 "regression-compile-tmp/chimps.imp"
COMPILEEND();
                                                                //    850    pc = c_localpc;  spc = c_localspc
#line 850 "regression-compile-tmp/chimps.imp"
PC = C.LOCALPC;
#line 850 "regression-compile-tmp/chimps.imp"
SPC = C.LOCALSPC;
                                                                //    851    dlim = c_parlim;  charlim = c_localtext
#line 851 "regression-compile-tmp/chimps.imp"
DLIM = C.PARLIM;
#line 851 "regression-compile-tmp/chimps.imp"
CHARLIM = C.LOCALTEXT;
                                                                //    852    %for i = 0,1,255 %cycle
#line 852 "regression-compile-tmp/chimps.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;
                                                                //    853       hashindex(i) = dict(hashindex(i))_link %while hashindex(i) >= c_localdpos
#line 853 "regression-compile-tmp/chimps.imp"
L_004c:;
#line 853 "regression-compile-tmp/chimps.imp"
if (((HASHINDEX[I]) < (C.LOCALDPOS))) goto L_004d;
#line 853 "regression-compile-tmp/chimps.imp"
HASHINDEX[I] = DICT[(((int)(HASHINDEX[I])) - (2001))].LINK;
#line 853 "regression-compile-tmp/chimps.imp"
goto L_004c;
#line 853 "regression-compile-tmp/chimps.imp"
L_004d:;
                                                                //    854    %repeat
#line 854 "regression-compile-tmp/chimps.imp"
goto L_0049;
#line 854 "regression-compile-tmp/chimps.imp"
L_004a:;
                                                                //    855    level = level-1;  c = hold(level)
#line 855 "regression-compile-tmp/chimps.imp"
LEVEL = (((int)(LEVEL)) - (1));
#line 855 "regression-compile-tmp/chimps.imp"
C = HOLD[LEVEL];
                                                                //    856    starts = 0;  cycles = 0
#line 856 "regression-compile-tmp/chimps.imp"
STARTS = 0;
#line 856 "regression-compile-tmp/chimps.imp"
CYCLES = 0;
                                                                //    857  %end;  !CLOSE BLOCK
#line 857 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLOSEBLOCK at level 2
                                                                //    858  
                                                                //    859  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    860  !!!!!!!!!!!!!!!!!!!!  Source input  !!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    861  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    862  !
                                                                //    863  %routine SWITCH INPUT
#line 863 "regression-compile-tmp/chimps.imp"
void SWITCHINPUT( void )
#line 863 "regression-compile-tmp/chimps.imp"
{
                                                                //    864  !  croak("Input ended") %if fp = main_lim2
                                                                //    865    %signal 12 %if fp = main_lim2
#line 865 "regression-compile-tmp/chimps.imp"
if (((FP) != (MAIN->LIM2))) goto L_004f;
#line 865 "regression-compile-tmp/chimps.imp"
_imp_signal(12, 0, 0, "");
#line 865 "regression-compile-tmp/chimps.imp"
L_004f:;
                                                                //    866    %if nonstop < 0 %start;  !perming
#line 866 "regression-compile-tmp/chimps.imp"
if (((NONSTOP) >= (0))) goto L_0050;
                                                                //    867      nonstop = nonstop+3;  permlim = dlim
#line 867 "regression-compile-tmp/chimps.imp"
NONSTOP = (((int)(NONSTOP)) + (3));
#line 867 "regression-compile-tmp/chimps.imp"
PERMLIM = DLIM;
                                                                //    868      c_localdpos = dlim;  c_parlim = dlim
#line 868 "regression-compile-tmp/chimps.imp"
C.LOCALDPOS = DLIM;
#line 868 "regression-compile-tmp/chimps.imp"
C.PARLIM = DLIM;
                                                                //    869      statements = 0
#line 869 "regression-compile-tmp/chimps.imp"
STATEMENTS = 0;
                                                                //    870    %finish
#line 870 "regression-compile-tmp/chimps.imp"
L_0050:;
                                                                //    871    %if fp # main_lim1 %start
#line 871 "regression-compile-tmp/chimps.imp"
if (((FP) == (MAIN->LIM1))) goto L_0051;
                                                                //    872      nonstop = nonstop-1
#line 872 "regression-compile-tmp/chimps.imp"
NONSTOP = (((int)(NONSTOP)) - (1));
                                                                //    873      fp = mainfp;  line = mainline
#line 873 "regression-compile-tmp/chimps.imp"
FP = MAINFP;
#line 873 "regression-compile-tmp/chimps.imp"
LINE = MAINLINE;
                                                                //    874      curstart = main_start1;  curlim = main_lim1
#line 874 "regression-compile-tmp/chimps.imp"
CURSTART = MAIN->START1;
#line 874 "regression-compile-tmp/chimps.imp"
CURLIM = MAIN->LIM1;
                                                                //    875    %finish %else fp = main_start2
#line 875 "regression-compile-tmp/chimps.imp"
goto L_0052;
#line 875 "regression-compile-tmp/chimps.imp"
L_0051:;
#line 875 "regression-compile-tmp/chimps.imp"
FP = MAIN->START2;
#line 875 "regression-compile-tmp/chimps.imp"
L_0052:;
                                                                //    876    %if main_start2 <= fp <= main_lim2 %start
#line 876 "regression-compile-tmp/chimps.imp"
if ((((MAIN->START2) > (FP))) || (((FP) > (MAIN->LIM2)))) goto L_0053;
                                                                //    877      curstart = main_start2;  curlim = main_lim2
#line 877 "regression-compile-tmp/chimps.imp"
CURSTART = MAIN->START2;
#line 877 "regression-compile-tmp/chimps.imp"
CURLIM = MAIN->LIM2;
                                                                //    878    %finish
#line 878 "regression-compile-tmp/chimps.imp"
L_0053:;
                                                                //    879    modesym = ' ';  sym = nl
#line 879 "regression-compile-tmp/chimps.imp"
MODESYM = 32;
#line 879 "regression-compile-tmp/chimps.imp"
SYM = 10;
                                                                //    880  %end
#line 880 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SWITCHINPUT at level 2
                                                                //    881  
                                                                //    882  %routine READ LINE
#line 882 "regression-compile-tmp/chimps.imp"
void READLINE( void )
#line 882 "regression-compile-tmp/chimps.imp"
{
                                                                //    883  ! Read (or otherwise make available) the next source line
                                                                //    884  !     Skip remnant of previous line if SYM # NL        *NB*
                                                                //    885  !     Set LINESTART to point to start of new line
                                                                //    886    report(faultnum,faultp) %if faultnum # 0
#line 886 "regression-compile-tmp/chimps.imp"
if (((FAULTNUM) == (0))) goto L_0054;
#line 886 "regression-compile-tmp/chimps.imp"
REPORT(FAULTNUM, FAULTP);
#line 886 "regression-compile-tmp/chimps.imp"
L_0054:;
                                                                //    887    %while sym # nl %cycle;               !Skip remnant
#line 887 "regression-compile-tmp/chimps.imp"
L_0055:;
#line 887 "regression-compile-tmp/chimps.imp"
if (((SYM) == (10))) goto L_0056;
                                                                //    888      sym = byteinteger(fp);  fp = fp+1
#line 888 "regression-compile-tmp/chimps.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 888 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
                                                                //    889    %repeat
#line 889 "regression-compile-tmp/chimps.imp"
goto L_0055;
#line 889 "regression-compile-tmp/chimps.imp"
L_0056:;
                                                                //    890    %while fp = curlim %cycle
#line 890 "regression-compile-tmp/chimps.imp"
L_0058:;
#line 890 "regression-compile-tmp/chimps.imp"
if (((FP) != (CURLIM))) goto L_0059;
                                                                //    891      switch input
#line 891 "regression-compile-tmp/chimps.imp"
SWITCHINPUT();
                                                                //    892    %repeat
#line 892 "regression-compile-tmp/chimps.imp"
goto L_0058;
#line 892 "regression-compile-tmp/chimps.imp"
L_0059:;
                                                                //    893    line = line+1;  linestart = fp
#line 893 "regression-compile-tmp/chimps.imp"
LINE = (((int)(LINE)) + (1));
#line 893 "regression-compile-tmp/chimps.imp"
LINESTART = FP;
                                                                //    894    sym = 0
#line 894 "regression-compile-tmp/chimps.imp"
SYM = 0;
                                                                //    895  %end;  !READ LINE
#line 895 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block READLINE at level 2
                                                                //    896  !
                                                                //    897  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    898  !!!!!!!!!!!!!!!!!!!!  Lexical processing  !!!!!!!!!!!!!!!!!!!!!!
                                                                //    899  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //    900  
                                                                //    901  %owninteger percent=0, subatom=0
#line 901 "regression-compile-tmp/chimps.imp"
static int PERCENT = 0;
#line 901 "regression-compile-tmp/chimps.imp"
static int SUBATOM = 0;
                                                                //    902  !
                                                                //    903  !Aliases:
                                                                //    904  %constinteger ARROW=resolve
                                                                //    905  %constinteger EXCLAM=logor, EXCLAM2=logxor, DOT=concat
                                                                //    906  %constinteger STAR=mult, SLASH=fdiv, SLASH2=idiv,
                                                                //    907                AMPERSAND=logand
                                                                //    908  %constinteger BACKSLASH=fpower, BACKSLASH2=ipower,
                                                                //    909                UPARROW=fpower,   UPARROW2=ipower,
                                                                //    910                TILDE=lognot
                                                                //    911  %constinteger LEFT=aref, UNDERLINE=recref, LEFTBRACKET=106
                                                                //    912  
                                                                //    913  %constinteger SIMPLE=104, MAJOR=plus,
                                                                //    914                SCOND=equals, COND=keyand
                                                                //    915  !
                                                                //    916  ! Type compatibility vectors:
                                                                //    917  %constinteger RECOK=1<<0, ARROK=1<<1, STRINGOK=1<<2,
                                                                //    918                REALOK=1<<3, INTOK=1<<4, CHAROK=1<<5, 
                                                                //    919                BOOLOK=1<<6, ENUMOK=1<<7, SETOK=1<<8
                                                                //    920  %constinteger ZNOP=1<<9, REFONLY=1<<10, VARONLY=1<<11
                                                                //    921  %constinteger ARITHOK=intok+realok,
                                                                //    922                ORDOK=intok+charok+boolok+enumok,
                                                                //    923                ANY=realok+ordok+stringok+arrok+recok
                                                                //    924  !
                                                                //    925  %constintegerarray opbits(64:atommax) =
#line 925 "regression-compile-tmp/chimps.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,  };
                                                                //    926    {BOOLAND}    boolok,
                                                                //    927    {BOOLOR}     boolok,
                                                                //    928                 0, 0, 0, 0,
                                                                //    929    {EQUALS}     any,
                                                                //    930    {NOTEQ}      any,
                                                                //    931    {LESSEQ}     setok+stringok+ordok+realok,
                                                                //    932    {LESS}       stringok+ordok+realok,
                                                                //    933    {GREATEQ}    setok+stringok+ordok+realok,
                                                                //    934    {GREATER}    stringok+ordok+realok,
                                                                //    935                 any,
                                                                //    936                 any,
                                                                //    937                 0,
                                                                //    938    {RESOLVE}    stringok,
                                                                //    939    {PLUS}       znop+setok+arithok,
                                                                //    940    {MINUS}      znop+setok+arithok,
                                                                //    941    {LOGOR}      znop+intok,
                                                                //    942    {LOGXOR}     znop+intok,
                                                                //    943    {CONCAT}     stringok,
                                                                //    944                 0, 0, 0,
                                                                //    945    {MULT}       arithok,
                                                                //    946    {FDIV}       arithok,
                                                                //    947    {IDIV}       intok,
                                                                //    948    {LOGAND}     intok,
                                                                //    949                 0, 0, 0, 0,
                                                                //    950    {FPOWER}     arithok,
                                                                //    951    {IPOWER}     intok,
                                                                //    952                 0, 0,
                                                                //    953    {LSHIFT}     znop+intok,
                                                                //    954    {RSHIFT}     znop+intok,
                                                                //    955    {LOGNOT}     intok,
                                                                //    956                 0,
                                                                //    957    {AREF}       arrok,
                                                                //    958    {RECREF}     recok,
                                                                //    959    {}           0, 0
                                                                //    960  !
                                                                //    961  %integerfn NEXT ATOM
#line 961 "regression-compile-tmp/chimps.imp"
int NEXTATOM( void )
#line 961 "regression-compile-tmp/chimps.imp"
{
                                                                //    962  !Encode next atom from source file
                                                                //    963  ![Time-critical]
                                                                //    964  %switch s(0:255)
#line 964 "regression-compile-tmp/chimps.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,  };
                                                                //    965  %constinteger tab=9
                                                                //    966  %integer i,j,p,radix,digits
#line 966 "regression-compile-tmp/chimps.imp"
int I;
#line 966 "regression-compile-tmp/chimps.imp"
int J;
#line 966 "regression-compile-tmp/chimps.imp"
int P;
#line 966 "regression-compile-tmp/chimps.imp"
int RADIX;
#line 966 "regression-compile-tmp/chimps.imp"
int DIGITS;
                                                                //    967  %real rval
#line 967 "regression-compile-tmp/chimps.imp"
float RVAL;
                                                                //    968  %constbyteintegerarray map(0:127) =
#line 968 "regression-compile-tmp/chimps.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,  };
                                                                //    969    0 ('0'),
                                                                //    970    '0','1','2','3','4','5','6','7','8','9',
                                                                //    971    0, 0, 0, 0, 0, 0, 0,
                                                                //    972    'a','b','c','d','e','f','g','h','i','j','k','l','m',
                                                                //    973    'n','o','p','q','r','s','t','u','v','w','x','y','z',
                                                                //    974    0, 0, 0, 0, 0, 0,
                                                                //    975    'a','b','c','d','e','f','g','h','i','j','k','l','m',
                                                                //    976    'n','o','p','q','r','s','t','u','v','w','x','y','z',
                                                                //    977    0, 0, 0, 0, 0
                                                                //    978  
                                                                //    979  %routine assemble real
#line 979 "regression-compile-tmp/chimps.imp"
void ASSEMBLEREAL( void )
#line 979 "regression-compile-tmp/chimps.imp"
{
                                                                //    980    j = 0
#line 980 "regression-compile-tmp/chimps.imp"
J = 0;
                                                                //    981    %cycle
#line 981 "regression-compile-tmp/chimps.imp"
L_005b:;
                                                                //    982      %cycle
#line 982 "regression-compile-tmp/chimps.imp"
L_005e:;
                                                                //    983        sym = byteinteger(fp);  fp = fp+1
#line 983 "regression-compile-tmp/chimps.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 983 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
                                                                //    984      %repeat %until sym # ' '
#line 984 "regression-compile-tmp/chimps.imp"
if (((SYM) != (32))) goto L_005f;
#line 984 "regression-compile-tmp/chimps.imp"
goto L_005e;
#line 984 "regression-compile-tmp/chimps.imp"
L_005f:;
                                                                //    985      i = sym-'0'
#line 985 "regression-compile-tmp/chimps.imp"
I = (((int)(SYM)) - (48));
                                                                //    986      %return %unless 0 <= i < radix
#line 986 "regression-compile-tmp/chimps.imp"
if ((((0) > (I))) || (((I) < (RADIX)))) goto L_0061;
#line 986 "regression-compile-tmp/chimps.imp"
L_0060:;
#line 986 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 986 "regression-compile-tmp/chimps.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 */
                                                                //    987      rval = rval*radix+i;  j = j+1
#line 987 "regression-compile-tmp/chimps.imp"
RVAL = ((((RVAL) * ((float)(RADIX)))) + ((I)));
#line 987 "regression-compile-tmp/chimps.imp"
J = (((int)(J)) + (1));
                                                                //    988    %repeat
#line 988 "regression-compile-tmp/chimps.imp"
goto L_005b;
                                                                //    989  %end
#line 989 "regression-compile-tmp/chimps.imp"
return;
} // End of block ASSEMBLEREAL at level 3
                                                                //    990  
                                                                //    991  !  atoms = atoms+1
                                                                //    992    matched = 0
#line 992 "regression-compile-tmp/chimps.imp"
MATCHED = 0;
                                                                //    993  again: s(tab):
#line 993 "regression-compile-tmp/chimps.imp"
U_1003:;
#line 993 "regression-compile-tmp/chimps.imp"
sw2_S_9:;
                                                                //    994    read line %if sym = nl
#line 994 "regression-compile-tmp/chimps.imp"
if (((SYM) != (10))) goto L_005c;
#line 994 "regression-compile-tmp/chimps.imp"
READLINE();
#line 994 "regression-compile-tmp/chimps.imp"
L_005c:;
                                                                //    995    %cycle
#line 995 "regression-compile-tmp/chimps.imp"
L_0062:;
                                                                //    996      sym = byteinteger(fp);  fp = fp+1
#line 996 "regression-compile-tmp/chimps.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 996 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
                                                                //    997    %repeat %until sym # ' '
#line 997 "regression-compile-tmp/chimps.imp"
if (((SYM) != (32))) goto L_0063;
#line 997 "regression-compile-tmp/chimps.imp"
goto L_0062;
#line 997 "regression-compile-tmp/chimps.imp"
L_0063:;
                                                                //    998    atomp = fp;     !(actually one after)
#line 998 "regression-compile-tmp/chimps.imp"
ATOMP = FP;
                                                                //    999    -> s(sym)
#line 999 "regression-compile-tmp/chimps.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);
}
                                                                //   1000  linebreak: s(nl):
#line 1000 "regression-compile-tmp/chimps.imp"
U_1004:;
#line 1000 "regression-compile-tmp/chimps.imp"
sw2_S_10:;
                                                                //   1001    %result = terminator %if atom # comma
#line 1001 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (59))) goto L_0065;
#line 1001 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 52;
#line 1001 "regression-compile-tmp/chimps.imp"
L_0065:;
                                                                //   1002    -> again
#line 1002 "regression-compile-tmp/chimps.imp"
goto U_1003;
                                                                //   1003  
                                                                //   1004  s('{'):
#line 1004 "regression-compile-tmp/chimps.imp"
sw2_S_123:;
                                                                //   1005    %cycle
#line 1005 "regression-compile-tmp/chimps.imp"
L_0066:;
                                                                //   1006      sym = byteinteger(fp);  fp = fp+1
#line 1006 "regression-compile-tmp/chimps.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 1006 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
                                                                //   1007      -> linebreak %if sym = nl
#line 1007 "regression-compile-tmp/chimps.imp"
if (((SYM) != (10))) goto L_0069;
#line 1007 "regression-compile-tmp/chimps.imp"
goto U_1004;
#line 1007 "regression-compile-tmp/chimps.imp"
L_0069:;
                                                                //   1008    %repeat %until sym = '}'
#line 1008 "regression-compile-tmp/chimps.imp"
if (((SYM) == (125))) goto L_0067;
#line 1008 "regression-compile-tmp/chimps.imp"
goto L_0066;
#line 1008 "regression-compile-tmp/chimps.imp"
L_0067:;
                                                                //   1009    -> again
#line 1009 "regression-compile-tmp/chimps.imp"
goto U_1003;
                                                                //   1010  
                                                                //   1011  s('+'): %result = plus
#line 1011 "regression-compile-tmp/chimps.imp"
sw2_S_43:;
#line 1011 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 80;
                                                                //   1012  s('-'): fp = fp+1 %and %result = arrow %if byteinteger(fp) = '>'
#line 1012 "regression-compile-tmp/chimps.imp"
sw2_S_45:;
#line 1012 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (62))) goto L_006a;
#line 1012 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
#line 1012 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 79;
#line 1012 "regression-compile-tmp/chimps.imp"
L_006a:;
                                                                //   1013          -> again %if byteinteger(fp) = nl
#line 1013 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (10))) goto L_006b;
#line 1013 "regression-compile-tmp/chimps.imp"
goto U_1003;
#line 1013 "regression-compile-tmp/chimps.imp"
L_006b:;
                                                                //   1014          %result = minus
#line 1014 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 81;
                                                                //   1015  s('*'): %result = star
#line 1015 "regression-compile-tmp/chimps.imp"
sw2_S_42:;
#line 1015 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 88;
                                                                //   1016  s('/'): fp = fp+1 %and %result = slash2 %if byteinteger(fp) = '/'
#line 1016 "regression-compile-tmp/chimps.imp"
sw2_S_47:;
#line 1016 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (47))) goto L_006c;
#line 1016 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
#line 1016 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 90;
#line 1016 "regression-compile-tmp/chimps.imp"
L_006c:;
                                                                //   1017          %result = slash
#line 1017 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 89;
                                                                //   1018  s('\'): fp = fp+1 %and %result = backslash2 %if byteinteger(fp) = '\'
#line 1018 "regression-compile-tmp/chimps.imp"
sw2_S_92:;
#line 1018 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (92))) goto L_006d;
#line 1018 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
#line 1018 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 97;
#line 1018 "regression-compile-tmp/chimps.imp"
L_006d:;
                                                                //   1019          %result = backslash
#line 1019 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 96;
                                                                //   1020  s('^'): nonstandard(uparr)
#line 1020 "regression-compile-tmp/chimps.imp"
sw2_S_94:;
#line 1020 "regression-compile-tmp/chimps.imp"
NONSTANDARD(2);
                                                                //   1021          fp = fp+1 %and %result = uparrow2 %if byteinteger(fp) = '^'
#line 1021 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (94))) goto L_006e;
#line 1021 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
#line 1021 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 97;
#line 1021 "regression-compile-tmp/chimps.imp"
L_006e:;
                                                                //   1022          %result = uparrow
#line 1022 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 96;
                                                                //   1023  s('!'): fp = fp+1 %and %result = exclam2 %if byteinteger(fp) = '!'
#line 1023 "regression-compile-tmp/chimps.imp"
sw2_S_33:;
#line 1023 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (33))) goto L_006f;
#line 1023 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
#line 1023 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 83;
#line 1023 "regression-compile-tmp/chimps.imp"
L_006f:;
                                                                //   1024          %result = exclam
#line 1024 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 82;
                                                                //   1025  s('&'): %result = ampersand
#line 1025 "regression-compile-tmp/chimps.imp"
sw2_S_38:;
#line 1025 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 91;
                                                                //   1026  s('.'): %result = dot
#line 1026 "regression-compile-tmp/chimps.imp"
sw2_S_46:;
#line 1026 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 84;
                                                                //   1027  s('='): fp = fp+1 %and %result = eqeq %if byteinteger(fp) = '='
#line 1027 "regression-compile-tmp/chimps.imp"
sw2_S_61:;
#line 1027 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (61))) goto L_0070;
#line 1027 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
#line 1027 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 76;
#line 1027 "regression-compile-tmp/chimps.imp"
L_0070:;
                                                                //   1028          %result = equals
#line 1028 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 70;
                                                                //   1029  s('#'): fp = fp+1 %and %result = noteqeq %if byteinteger(fp) = '#'
#line 1029 "regression-compile-tmp/chimps.imp"
sw2_S_35:;
#line 1029 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (35))) goto L_0071;
#line 1029 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
#line 1029 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 77;
#line 1029 "regression-compile-tmp/chimps.imp"
L_0071:;
                                                                //   1030          %result = noteq
#line 1030 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 71;
                                                                //   1031  s('<'): fp = fp+1 %and %result = lesseq %if byteinteger(fp) = '='
#line 1031 "regression-compile-tmp/chimps.imp"
sw2_S_60:;
#line 1031 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (61))) goto L_0072;
#line 1031 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
#line 1031 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 72;
#line 1031 "regression-compile-tmp/chimps.imp"
L_0072:;
                                                                //   1032          fp = fp+1 %and %result = noteq %if byteinteger(fp) = '>'
#line 1032 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (62))) goto L_0073;
#line 1032 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
#line 1032 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 71;
#line 1032 "regression-compile-tmp/chimps.imp"
L_0073:;
                                                                //   1033          fp = fp+1 %and %result = lshift %if byteinteger(fp) = '<'
#line 1033 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (60))) goto L_0074;
#line 1033 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
#line 1033 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 100;
#line 1033 "regression-compile-tmp/chimps.imp"
L_0074:;
                                                                //   1034          %result = less
#line 1034 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 73;
                                                                //   1035  s('>'): fp = fp+1 %and %result = greateq %if byteinteger(fp) = '='
#line 1035 "regression-compile-tmp/chimps.imp"
sw2_S_62:;
#line 1035 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (61))) goto L_0075;
#line 1035 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
#line 1035 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 74;
#line 1035 "regression-compile-tmp/chimps.imp"
L_0075:;
                                                                //   1036          fp = fp+1 %and %result = rshift %if byteinteger(fp) = '>'
#line 1036 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (62))) goto L_0076;
#line 1036 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
#line 1036 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 101;
#line 1036 "regression-compile-tmp/chimps.imp"
L_0076:;
                                                                //   1037          %result = greater
#line 1037 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 75;
                                                                //   1038  s('_'): %result = underline
#line 1038 "regression-compile-tmp/chimps.imp"
sw2_S_95:;
#line 1038 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 56;
                                                                //   1039  s(':'): %result = colon
#line 1039 "regression-compile-tmp/chimps.imp"
sw2_S_58:;
#line 1039 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 58;
                                                                //   1040  s(','): %result = comma
#line 1040 "regression-compile-tmp/chimps.imp"
sw2_S_44:;
#line 1040 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 59;
                                                                //   1041  s(';'): %result = terminator
#line 1041 "regression-compile-tmp/chimps.imp"
sw2_S_59:;
#line 1041 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 52;
                                                                //   1042  s('('): %result = left
#line 1042 "regression-compile-tmp/chimps.imp"
sw2_S_40:;
#line 1042 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 55;
                                                                //   1043  s(')'): %result = right
#line 1043 "regression-compile-tmp/chimps.imp"
sw2_S_41:;
#line 1043 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 60;
                                                                //   1044  s('|'): %result = modsign
#line 1044 "regression-compile-tmp/chimps.imp"
sw2_S_124:;
#line 1044 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 57;
                                                                //   1045  
                                                                //   1046  s('E'): s('e'):
#line 1046 "regression-compile-tmp/chimps.imp"
sw2_S_69:;
#line 1046 "regression-compile-tmp/chimps.imp"
sw2_S_101:;
                                                                //   1047    fp = fp+1 %and -> stringconst %if byteinteger(fp) = '"'
#line 1047 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (34))) goto L_0077;
#line 1047 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
#line 1047 "regression-compile-tmp/chimps.imp"
goto U_1005;
#line 1047 "regression-compile-tmp/chimps.imp"
L_0077:;
                                                                //   1048  s('M'): s('m'): s('C'): s('c'):
#line 1048 "regression-compile-tmp/chimps.imp"
sw2_S_77:;
#line 1048 "regression-compile-tmp/chimps.imp"
sw2_S_109:;
#line 1048 "regression-compile-tmp/chimps.imp"
sw2_S_67:;
#line 1048 "regression-compile-tmp/chimps.imp"
sw2_S_99:;
                                                                //   1049    fp = fp+1 %and -> charconst %if byteinteger(fp) = ''''
#line 1049 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (39))) goto L_0078;
#line 1049 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
#line 1049 "regression-compile-tmp/chimps.imp"
goto U_1006;
#line 1049 "regression-compile-tmp/chimps.imp"
L_0078:;
                                                                //   1050  s('A'):s('B'):s('D'):s('F'):s('G'):s('H'):
#line 1050 "regression-compile-tmp/chimps.imp"
sw2_S_65:;
#line 1050 "regression-compile-tmp/chimps.imp"
sw2_S_66:;
#line 1050 "regression-compile-tmp/chimps.imp"
sw2_S_68:;
#line 1050 "regression-compile-tmp/chimps.imp"
sw2_S_70:;
#line 1050 "regression-compile-tmp/chimps.imp"
sw2_S_71:;
#line 1050 "regression-compile-tmp/chimps.imp"
sw2_S_72:;
                                                                //   1051  s('I'):s('J'):s('K'):s('L'):s('N'):s('O'):s('P'):
#line 1051 "regression-compile-tmp/chimps.imp"
sw2_S_73:;
#line 1051 "regression-compile-tmp/chimps.imp"
sw2_S_74:;
#line 1051 "regression-compile-tmp/chimps.imp"
sw2_S_75:;
#line 1051 "regression-compile-tmp/chimps.imp"
sw2_S_76:;
#line 1051 "regression-compile-tmp/chimps.imp"
sw2_S_78:;
#line 1051 "regression-compile-tmp/chimps.imp"
sw2_S_79:;
#line 1051 "regression-compile-tmp/chimps.imp"
sw2_S_80:;
                                                                //   1052  s('Q'):s('R'):s('S'):s('T'):s('U'):s('V'):s('W'):s('X'):
#line 1052 "regression-compile-tmp/chimps.imp"
sw2_S_81:;
#line 1052 "regression-compile-tmp/chimps.imp"
sw2_S_82:;
#line 1052 "regression-compile-tmp/chimps.imp"
sw2_S_83:;
#line 1052 "regression-compile-tmp/chimps.imp"
sw2_S_84:;
#line 1052 "regression-compile-tmp/chimps.imp"
sw2_S_85:;
#line 1052 "regression-compile-tmp/chimps.imp"
sw2_S_86:;
#line 1052 "regression-compile-tmp/chimps.imp"
sw2_S_87:;
#line 1052 "regression-compile-tmp/chimps.imp"
sw2_S_88:;
                                                                //   1053  s('Y'):s('Z'):s('a'):s('b'):s('d'):s('f'):
#line 1053 "regression-compile-tmp/chimps.imp"
sw2_S_89:;
#line 1053 "regression-compile-tmp/chimps.imp"
sw2_S_90:;
#line 1053 "regression-compile-tmp/chimps.imp"
sw2_S_97:;
#line 1053 "regression-compile-tmp/chimps.imp"
sw2_S_98:;
#line 1053 "regression-compile-tmp/chimps.imp"
sw2_S_100:;
#line 1053 "regression-compile-tmp/chimps.imp"
sw2_S_102:;
                                                                //   1054  s('g'):s('h'):s('i'):s('j'):s('k'):s('l'):s('n'):
#line 1054 "regression-compile-tmp/chimps.imp"
sw2_S_103:;
#line 1054 "regression-compile-tmp/chimps.imp"
sw2_S_104:;
#line 1054 "regression-compile-tmp/chimps.imp"
sw2_S_105:;
#line 1054 "regression-compile-tmp/chimps.imp"
sw2_S_106:;
#line 1054 "regression-compile-tmp/chimps.imp"
sw2_S_107:;
#line 1054 "regression-compile-tmp/chimps.imp"
sw2_S_108:;
#line 1054 "regression-compile-tmp/chimps.imp"
sw2_S_110:;
                                                                //   1055  s('o'):s('p'):s('q'):s('r'):s('s'):s('t'):s('u'):s('v'):
#line 1055 "regression-compile-tmp/chimps.imp"
sw2_S_111:;
#line 1055 "regression-compile-tmp/chimps.imp"
sw2_S_112:;
#line 1055 "regression-compile-tmp/chimps.imp"
sw2_S_113:;
#line 1055 "regression-compile-tmp/chimps.imp"
sw2_S_114:;
#line 1055 "regression-compile-tmp/chimps.imp"
sw2_S_115:;
#line 1055 "regression-compile-tmp/chimps.imp"
sw2_S_116:;
#line 1055 "regression-compile-tmp/chimps.imp"
sw2_S_117:;
#line 1055 "regression-compile-tmp/chimps.imp"
sw2_S_118:;
                                                                //   1056  s('w'):s('x'):s('y'):s('z'):
#line 1056 "regression-compile-tmp/chimps.imp"
sw2_S_119:;
#line 1056 "regression-compile-tmp/chimps.imp"
sw2_S_120:;
#line 1056 "regression-compile-tmp/chimps.imp"
sw2_S_121:;
#line 1056 "regression-compile-tmp/chimps.imp"
sw2_S_122:;
                                                                //   1057    -> keyword %if percent # 0
#line 1057 "regression-compile-tmp/chimps.imp"
if (((PERCENT) == (0))) goto L_0079;
#line 1057 "regression-compile-tmp/chimps.imp"
goto U_1007;
#line 1057 "regression-compile-tmp/chimps.imp"
L_0079:;
                                                                //   1058  !  identatoms = identatoms+1
                                                                //   1059    newlen = charlim+1;  hash = sym!casebit;  !lower-case (if letter)
#line 1059 "regression-compile-tmp/chimps.imp"
NEWLEN = (((int)(CHARLIM)) + (1));
#line 1059 "regression-compile-tmp/chimps.imp"
HASH = ((SYM) | (32));
                                                                //   1060    byteinteger(newlen) = hash
#line 1060 "regression-compile-tmp/chimps.imp"
*_imp_BYTEINTEGER(NEWLEN) = HASH;
                                                                //   1061    %cycle
#line 1061 "regression-compile-tmp/chimps.imp"
L_007a:;
                                                                //   1062      sym = byteinteger(fp);  fp = fp+1
#line 1062 "regression-compile-tmp/chimps.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 1062 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
                                                                //   1063    %repeat %until sym # ' '
#line 1063 "regression-compile-tmp/chimps.imp"
if (((SYM) != (32))) goto L_007b;
#line 1063 "regression-compile-tmp/chimps.imp"
goto L_007a;
#line 1063 "regression-compile-tmp/chimps.imp"
L_007b:;
                                                                //   1064  !$IF AMDAHL
                                                                //   1065  {  %if sym = '''' %start
                                                                //   1066  {    radix = 16 %and -> ibm %if hash = 'x'
                                                                //   1067  {    radix = 8 %and -> ibm %if hash = 'k'
                                                                //   1068  {    radix = 2 %and -> ibm %if hash = 'b'
                                                                //   1069  {  %finish
                                                                //   1070  !$FINISH
                                                                //   1071    sym = map(sym)
#line 1071 "regression-compile-tmp/chimps.imp"
SYM = MAP[SYM];
                                                                //   1072    %if sym # 0 %start
#line 1072 "regression-compile-tmp/chimps.imp"
if (((SYM) == (0))) goto L_007d;
                                                                //   1073      %cycle
#line 1073 "regression-compile-tmp/chimps.imp"
L_007e:;
                                                                //   1074        newlen = newlen+1;  byteinteger(newlen) = sym
#line 1074 "regression-compile-tmp/chimps.imp"
NEWLEN = (((int)(NEWLEN)) + (1));
#line 1074 "regression-compile-tmp/chimps.imp"
*_imp_BYTEINTEGER(NEWLEN) = SYM;
                                                                //   1075        hash = hash<<1!!sym
#line 1075 "regression-compile-tmp/chimps.imp"
HASH = ((((HASH) << (1))) ^ (SYM));
                                                                //   1076        %cycle
#line 1076 "regression-compile-tmp/chimps.imp"
L_0081:;
                                                                //   1077          sym = byteinteger(fp);  fp = fp+1
#line 1077 "regression-compile-tmp/chimps.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 1077 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
                                                                //   1078        %repeat %until sym # ' '
#line 1078 "regression-compile-tmp/chimps.imp"
if (((SYM) != (32))) goto L_0082;
#line 1078 "regression-compile-tmp/chimps.imp"
goto L_0081;
#line 1078 "regression-compile-tmp/chimps.imp"
L_0082:;
                                                                //   1079        sym = map(sym)
#line 1079 "regression-compile-tmp/chimps.imp"
SYM = MAP[SYM];
                                                                //   1080      %repeat %until sym = 0
#line 1080 "regression-compile-tmp/chimps.imp"
if (((SYM) == (0))) goto L_007f;
#line 1080 "regression-compile-tmp/chimps.imp"
goto L_007e;
#line 1080 "regression-compile-tmp/chimps.imp"
L_007f:;
                                                                //   1081    %finish
#line 1081 "regression-compile-tmp/chimps.imp"
L_007d:;
                                                                //   1082    fp = fp-1
#line 1082 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) - (1));
                                                                //   1083    newlen = newlen-charlim;  byteinteger(charlim) = newlen
#line 1083 "regression-compile-tmp/chimps.imp"
NEWLEN = (((int)(NEWLEN)) - (CHARLIM));
#line 1083 "regression-compile-tmp/chimps.imp"
*_imp_BYTEINTEGER(CHARLIM) = NEWLEN;
                                                                //   1084    head == hashindex(hash&255)
#line 1084 "regression-compile-tmp/chimps.imp"
HEAD = &HASHINDEX[((HASH) & (255))];
                                                                //   1085    item = head
#line 1085 "regression-compile-tmp/chimps.imp"
ITEM = *HEAD;
                                                                //   1086    %if item > 0 %start
#line 1086 "regression-compile-tmp/chimps.imp"
if (((ITEM) <= (0))) goto L_0084;
                                                                //   1087      %cycle
#line 1087 "regression-compile-tmp/chimps.imp"
L_0085:;
                                                                //   1088        %result = ident %if item <= 0
#line 1088 "regression-compile-tmp/chimps.imp"
if (((ITEM) > (0))) goto L_0088;
#line 1088 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 54;
#line 1088 "regression-compile-tmp/chimps.imp"
L_0088:;
                                                                //   1089        ditem == dict(item)
#line 1089 "regression-compile-tmp/chimps.imp"
DITEM = &DICT[(((int)(ITEM)) - (2001))];
                                                                //   1090        %exit %if string(ditem_text+charbase) = string(charlim)
#line 1090 "regression-compile-tmp/chimps.imp"
if ((_imp_strcmp(*_imp_STRING((((int)(DITEM->TEXT)) + (CHARBASE))), *_imp_STRING(CHARLIM)) != 0)) goto L_0089;
#line 1090 "regression-compile-tmp/chimps.imp"
goto L_0086;
#line 1090 "regression-compile-tmp/chimps.imp"
L_0089:;
                                                                //   1091  !      misses = misses+1
                                                                //   1092        item = ditem_link
#line 1092 "regression-compile-tmp/chimps.imp"
ITEM = DITEM->LINK;
                                                                //   1093      %repeat %until item <= 0
#line 1093 "regression-compile-tmp/chimps.imp"
if (((ITEM) <= (0))) goto L_0086;
#line 1093 "regression-compile-tmp/chimps.imp"
goto L_0085;
#line 1093 "regression-compile-tmp/chimps.imp"
L_0086:;
                                                                //   1094    %finish
#line 1094 "regression-compile-tmp/chimps.imp"
L_0084:;
                                                                //   1095    %result = ident
#line 1095 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 54;
                                                                //   1096  
                                                                //   1097  s('%'):
#line 1097 "regression-compile-tmp/chimps.imp"
sw2_S_37:;
                                                                //   1098    sym = byteinteger(fp)
#line 1098 "regression-compile-tmp/chimps.imp"
SYM = *_imp_BYTEINTEGER(FP);
                                                                //   1099    -> again %unless 'a' <= sym!casebit <= 'z'
#line 1099 "regression-compile-tmp/chimps.imp"
if ((((97) > (((SYM) | (32))))) || (((((SYM) | (32))) <= (122)))) goto L_008a;
#line 1099 "regression-compile-tmp/chimps.imp"
L_007c:;
#line 1099 "regression-compile-tmp/chimps.imp"
goto U_1003;
#line 1099 "regression-compile-tmp/chimps.imp"
L_008a:;
                                                                //   1100    fp = fp+1
#line 1100 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
                                                                //   1101  keyword:
#line 1101 "regression-compile-tmp/chimps.imp"
U_1007:;
                                                                //   1102    percent = 0
#line 1102 "regression-compile-tmp/chimps.imp"
PERCENT = 0;
                                                                //   1103    p = syminit(sym!casebit)
#line 1103 "regression-compile-tmp/chimps.imp"
P = (SYMINIT-97)[((SYM) | (32))];
                                                                //   1104    %cycle
#line 1104 "regression-compile-tmp/chimps.imp"
L_008b:;
                                                                //   1105  !     %cycle
                                                                //   1106  !       sym = byteinteger(fp)!casebit
                                                                //   1107  !       %exit %if symbol(p) # sym
                                                                //   1108      %while symbol(p) = byteinteger(fp)!casebit %cycle
#line 1108 "regression-compile-tmp/chimps.imp"
L_008e:;
#line 1108 "regression-compile-tmp/chimps.imp"
if ((((SYMBOL-1)[P]) != (((*_imp_BYTEINTEGER(FP)) | (32))))) goto L_008f;
                                                                //   1109        p = p+1;  fp = fp+1
#line 1109 "regression-compile-tmp/chimps.imp"
P = (((int)(P)) + (1));
#line 1109 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
                                                                //   1110      %repeat
#line 1110 "regression-compile-tmp/chimps.imp"
goto L_008e;
#line 1110 "regression-compile-tmp/chimps.imp"
L_008f:;
                                                                //   1111      %exit %if symbol(p) >= 128
#line 1111 "regression-compile-tmp/chimps.imp"
if ((((SYMBOL-1)[P]) < (128))) goto L_0091;
#line 1111 "regression-compile-tmp/chimps.imp"
goto L_008c;
#line 1111 "regression-compile-tmp/chimps.imp"
L_0091:;
                                                                //   1112      atom = altdisp(p)
#line 1112 "regression-compile-tmp/chimps.imp"
ATOM = (ALTDISP-1)[P];
                                                                //   1113      %if atom = 0 %start
#line 1113 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (0))) goto L_0092;
                                                                //   1114        %result = dud %unless sym!casebit = 'c' %and byteinteger(fp) = nl
#line 1114 "regression-compile-tmp/chimps.imp"
if (((((SYM) | (32))) != (99))) goto L_0083;
#line 1114 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) == (10))) goto L_0093;
#line 1114 "regression-compile-tmp/chimps.imp"
L_0083:;
#line 1114 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 1114 "regression-compile-tmp/chimps.imp"
L_0093:;
                                                                //   1115        read line
#line 1115 "regression-compile-tmp/chimps.imp"
READLINE();
                                                                //   1116        ->again
#line 1116 "regression-compile-tmp/chimps.imp"
goto U_1003;
                                                                //   1117      %finish
#line 1117 "regression-compile-tmp/chimps.imp"
L_0092:;
                                                                //   1118      p = p+atom
#line 1118 "regression-compile-tmp/chimps.imp"
P = (((int)(P)) + (ATOM));
                                                                //   1119    %repeat
#line 1119 "regression-compile-tmp/chimps.imp"
goto L_008b;
#line 1119 "regression-compile-tmp/chimps.imp"
L_008c:;
                                                                //   1120    percent = 1 %if 'a' <= byteinteger(fp)!casebit <= 'z'
#line 1120 "regression-compile-tmp/chimps.imp"
if ((((97) > (((*_imp_BYTEINTEGER(FP)) | (32))))) || (((((*_imp_BYTEINTEGER(FP)) | (32))) > (122)))) goto L_0094;
#line 1120 "regression-compile-tmp/chimps.imp"
PERCENT = 1;
#line 1120 "regression-compile-tmp/chimps.imp"
L_0094:;
                                                                //   1121    subatom = altdisp(p)
#line 1121 "regression-compile-tmp/chimps.imp"
SUBATOM = (ALTDISP-1)[P];
                                                                //   1122    atom = symbol(p)-128
#line 1122 "regression-compile-tmp/chimps.imp"
ATOM = (((int)((SYMBOL-1)[P])) - (128));
                                                                //   1123    %result = dud %if atom = 0
#line 1123 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (0))) goto L_0095;
#line 1123 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 1123 "regression-compile-tmp/chimps.imp"
L_0095:;
                                                                //   1124    %result = atom
#line 1124 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return ATOM;
                                                                //   1125  
                                                                //   1126  !$IF AMDAHL
                                                                //   1127  {ibm:
                                                                //   1128  {  nonstandard(ibmhex)
                                                                //   1129  {  item = -1;  t_val = 0
                                                                //   1130  {  -> ibm1
                                                                //   1131  !$FINISH
                                                                //   1132  s('0'):s('1'):s('2'):s('3'):s('4'):s('5'):s('6'):s('7'):s('8'):s('9'):
#line 1132 "regression-compile-tmp/chimps.imp"
sw2_S_48:;
#line 1132 "regression-compile-tmp/chimps.imp"
sw2_S_49:;
#line 1132 "regression-compile-tmp/chimps.imp"
sw2_S_50:;
#line 1132 "regression-compile-tmp/chimps.imp"
sw2_S_51:;
#line 1132 "regression-compile-tmp/chimps.imp"
sw2_S_52:;
#line 1132 "regression-compile-tmp/chimps.imp"
sw2_S_53:;
#line 1132 "regression-compile-tmp/chimps.imp"
sw2_S_54:;
#line 1132 "regression-compile-tmp/chimps.imp"
sw2_S_55:;
#line 1132 "regression-compile-tmp/chimps.imp"
sw2_S_56:;
#line 1132 "regression-compile-tmp/chimps.imp"
sw2_S_57:;
                                                                //   1133    item = 0;  t_type = inty
#line 1133 "regression-compile-tmp/chimps.imp"
ITEM = 0;
#line 1133 "regression-compile-tmp/chimps.imp"
T.TYPE = 2046;
                                                                //   1134    radix = 10;  t_val = sym-'0'
#line 1134 "regression-compile-tmp/chimps.imp"
RADIX = 10;
#line 1134 "regression-compile-tmp/chimps.imp"
T.VAL = (((int)(SYM)) - (48));
                                                                //   1135  ibm1:
#line 1135 "regression-compile-tmp/chimps.imp"
U_1008:;
                                                                //   1136    %cycle
#line 1136 "regression-compile-tmp/chimps.imp"
L_0096:;
                                                                //   1137      %cycle
#line 1137 "regression-compile-tmp/chimps.imp"
L_0099:;
                                                                //   1138        %cycle
#line 1138 "regression-compile-tmp/chimps.imp"
L_009c:;
                                                                //   1139          sym = byteinteger(fp);  fp = fp+1
#line 1139 "regression-compile-tmp/chimps.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 1139 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
                                                                //   1140        %repeat %until sym # ' '
#line 1140 "regression-compile-tmp/chimps.imp"
if (((SYM) != (32))) goto L_009d;
#line 1140 "regression-compile-tmp/chimps.imp"
goto L_009c;
#line 1140 "regression-compile-tmp/chimps.imp"
L_009d:;
                                                                //   1141        i = sym-'0'
#line 1141 "regression-compile-tmp/chimps.imp"
I = (((int)(SYM)) - (48));
                                                                //   1142        %if radix = 10 %start
#line 1142 "regression-compile-tmp/chimps.imp"
if (((RADIX) != (10))) goto L_009f;
                                                                //   1143          %exit %if i < 0 %or i >= 10
#line 1143 "regression-compile-tmp/chimps.imp"
if (((I) < (0))) goto L_00a0;
#line 1143 "regression-compile-tmp/chimps.imp"
if (((I) < (10))) goto L_00a1;
#line 1143 "regression-compile-tmp/chimps.imp"
L_00a0:;
#line 1143 "regression-compile-tmp/chimps.imp"
goto L_009a;
#line 1143 "regression-compile-tmp/chimps.imp"
L_00a1:;
                                                                //   1144          %if t_val > max10 %or (t_val=max10 %and i > maxdig) %start
#line 1144 "regression-compile-tmp/chimps.imp"
if (((T.VAL) > (214748364))) goto L_00a2;
#line 1144 "regression-compile-tmp/chimps.imp"
if (((T.VAL) != (214748364))) goto L_00a3;
#line 1144 "regression-compile-tmp/chimps.imp"
if (((I) <= (7))) goto L_00a3;
#line 1144 "regression-compile-tmp/chimps.imp"
L_00a2:;
                                                                //   1145            t_type = realy;  rval = t_val
#line 1145 "regression-compile-tmp/chimps.imp"
T.TYPE = 2045;
#line 1145 "regression-compile-tmp/chimps.imp"
RVAL = T.VAL;
                                                                //   1146            assemble real
#line 1146 "regression-compile-tmp/chimps.imp"
ASSEMBLEREAL();
                                                                //   1147            %exit
#line 1147 "regression-compile-tmp/chimps.imp"
goto L_009a;
                                                                //   1148          %finish
#line 1148 "regression-compile-tmp/chimps.imp"
L_00a3:;
                                                                //   1149          t_val = t_val*10+i
#line 1149 "regression-compile-tmp/chimps.imp"
T.VAL = (((int)((((int)(T.VAL)) * (10)))) + (I));
                                                                //   1150        %finish %else %start
#line 1150 "regression-compile-tmp/chimps.imp"
goto L_00a4;
#line 1150 "regression-compile-tmp/chimps.imp"
L_009f:;
                                                                //   1151          i = sym!casebit-'a'+10 %if i >= 10
#line 1151 "regression-compile-tmp/chimps.imp"
if (((I) < (10))) goto L_00a5;
#line 1151 "regression-compile-tmp/chimps.imp"
I = (((int)((((int)(((SYM) | (32)))) - (97)))) + (10));
#line 1151 "regression-compile-tmp/chimps.imp"
L_00a5:;
                                                                //   1152          %exit %if i < 0 %or i >= radix
#line 1152 "regression-compile-tmp/chimps.imp"
if (((I) < (0))) goto L_00a6;
#line 1152 "regression-compile-tmp/chimps.imp"
if (((I) < (RADIX))) goto L_00a7;
#line 1152 "regression-compile-tmp/chimps.imp"
L_00a6:;
#line 1152 "regression-compile-tmp/chimps.imp"
goto L_009a;
#line 1152 "regression-compile-tmp/chimps.imp"
L_00a7:;
                                                                //   1153          j = radix
#line 1153 "regression-compile-tmp/chimps.imp"
J = RADIX;
                                                                //   1154          %cycle
#line 1154 "regression-compile-tmp/chimps.imp"
L_00a8:;
                                                                //   1155            i = i+t_val %if j&1 # 0
#line 1155 "regression-compile-tmp/chimps.imp"
if (((((J) & (1))) == (0))) goto L_00ab;
#line 1155 "regression-compile-tmp/chimps.imp"
I = (((int)(I)) + (T.VAL));
#line 1155 "regression-compile-tmp/chimps.imp"
L_00ab:;
                                                                //   1156            t_val = t_val<<1;  j = j>>1
#line 1156 "regression-compile-tmp/chimps.imp"
T.VAL = ((T.VAL) << (1));
#line 1156 "regression-compile-tmp/chimps.imp"
J = (int)((((unsigned int)(J)) >> (1)));
                                                                //   1157          %repeat %until j = 0
#line 1157 "regression-compile-tmp/chimps.imp"
if (((J) == (0))) goto L_00a9;
#line 1157 "regression-compile-tmp/chimps.imp"
goto L_00a8;
#line 1157 "regression-compile-tmp/chimps.imp"
L_00a9:;
                                                                //   1158          t_val = i
#line 1158 "regression-compile-tmp/chimps.imp"
T.VAL = I;
                                                                //   1159        %finish
#line 1159 "regression-compile-tmp/chimps.imp"
L_00a4:;
                                                                //   1160      %repeat
#line 1160 "regression-compile-tmp/chimps.imp"
goto L_0099;
#line 1160 "regression-compile-tmp/chimps.imp"
L_009a:;
                                                                //   1161      %exit %unless sym = '_'
#line 1161 "regression-compile-tmp/chimps.imp"
if (((SYM) == (95))) goto L_00ac;
#line 1161 "regression-compile-tmp/chimps.imp"
goto L_0097;
#line 1161 "regression-compile-tmp/chimps.imp"
L_00ac:;
                                                                //   1162      radix = t_val
#line 1162 "regression-compile-tmp/chimps.imp"
RADIX = T.VAL;
                                                                //   1163      %result = dud %if radix = 0
#line 1163 "regression-compile-tmp/chimps.imp"
if (((RADIX) != (0))) goto L_00ad;
#line 1163 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 1163 "regression-compile-tmp/chimps.imp"
L_00ad:;
                                                                //   1164      t_val = 0
#line 1164 "regression-compile-tmp/chimps.imp"
T.VAL = 0;
                                                                //   1165    %repeat
#line 1165 "regression-compile-tmp/chimps.imp"
goto L_0096;
#line 1165 "regression-compile-tmp/chimps.imp"
L_0097:;
                                                                //   1166    %if sym = '.' %start
#line 1166 "regression-compile-tmp/chimps.imp"
if (((SYM) != (46))) goto L_00ae;
                                                                //   1167      t_type = realy %and rval = t_val %if t_type = inty
#line 1167 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) != (2046))) goto L_00af;
#line 1167 "regression-compile-tmp/chimps.imp"
T.TYPE = 2045;
#line 1167 "regression-compile-tmp/chimps.imp"
RVAL = T.VAL;
#line 1167 "regression-compile-tmp/chimps.imp"
L_00af:;
                                                                //   1168      assemble real
#line 1168 "regression-compile-tmp/chimps.imp"
ASSEMBLEREAL();
                                                                //   1169      %result = dud %if j = 0
#line 1169 "regression-compile-tmp/chimps.imp"
if (((J) != (0))) goto L_00b0;
#line 1169 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 1169 "regression-compile-tmp/chimps.imp"
L_00b0:;
                                                                //   1170      rval = rval/radix\j
#line 1170 "regression-compile-tmp/chimps.imp"
RVAL = (double)((double)((float)(RVAL)) / (double)((_imp_REXP(RADIX, J))));
                                                                //   1171    %finish
#line 1171 "regression-compile-tmp/chimps.imp"
L_00ae:;
                                                                //   1172  !  %if t_type = realy %start;  !vax->ieee
                                                                //   1173  !    t_val = integer(addr(rval))
                                                                //   1174  !    t_val = t_val<<16+t_val>>16-16_01000000
                                                                //   1175  !  %finish
                                                                //   1176  !  numatoms = numatoms+1
                                                                //   1177  !$IF AMDAHL
                                                                //   1178  {  %if item < 0 %start
                                                                //   1179  {    %result = dud %if sym # ''''
                                                                //   1180  {    item = 0
                                                                //   1181  {  %finish %else %start
                                                                //   1182  {    fp = fp-1;  sym = 0
                                                                //   1183  {  %finish
                                                                //   1184  !$IF VAX OR APM
                                                                //   1185    fp = fp-1;  sym = 0
#line 1185 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) - (1));
#line 1185 "regression-compile-tmp/chimps.imp"
SYM = 0;
                                                                //   1186  !$FINISH
                                                                //   1187    %result = const
#line 1187 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 53;
                                                                //   1188  
                                                                //   1189  s(''''):
#line 1189 "regression-compile-tmp/chimps.imp"
sw2_S_39:;
                                                                //   1190  charconst:
#line 1190 "regression-compile-tmp/chimps.imp"
U_1006:;
                                                                //   1191    item = 0;  t_type = inty
#line 1191 "regression-compile-tmp/chimps.imp"
ITEM = 0;
#line 1191 "regression-compile-tmp/chimps.imp"
T.TYPE = 2046;
                                                                //   1192    t_val = 0
#line 1192 "regression-compile-tmp/chimps.imp"
T.VAL = 0;
                                                                //   1193    %cycle
#line 1193 "regression-compile-tmp/chimps.imp"
L_00b1:;
                                                                //   1194      sym = byteinteger(fp);  fp = fp+1
#line 1194 "regression-compile-tmp/chimps.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 1194 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
                                                                //   1195      %result = dud %if sym = nl;  !?allow
#line 1195 "regression-compile-tmp/chimps.imp"
if (((SYM) != (10))) goto L_00b4;
#line 1195 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 63;
#line 1195 "regression-compile-tmp/chimps.imp"
L_00b4:;
                                                                //   1196      %if sym = '''' %start
#line 1196 "regression-compile-tmp/chimps.imp"
if (((SYM) != (39))) goto L_00b5;
                                                                //   1197        %exit %unless byteinteger(fp) = ''''
#line 1197 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) == (39))) goto L_00b6;
#line 1197 "regression-compile-tmp/chimps.imp"
goto L_00b2;
#line 1197 "regression-compile-tmp/chimps.imp"
L_00b6:;
                                                                //   1198        fp = fp+1
#line 1198 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
                                                                //   1199      %finish
#line 1199 "regression-compile-tmp/chimps.imp"
L_00b5:;
                                                                //   1200      t_val = t_val<<8+sym
#line 1200 "regression-compile-tmp/chimps.imp"
T.VAL = (((int)(((T.VAL) << (8)))) + (SYM));
                                                                //   1201    %repeat
#line 1201 "regression-compile-tmp/chimps.imp"
goto L_00b1;
#line 1201 "regression-compile-tmp/chimps.imp"
L_00b2:;
                                                                //   1202    %result = const %if t_val # 0
#line 1202 "regression-compile-tmp/chimps.imp"
if (((T.VAL) == (0))) goto L_00b7;
#line 1202 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 53;
#line 1202 "regression-compile-tmp/chimps.imp"
L_00b7:;
                                                                //   1203    %result = dud
#line 1203 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 63;
                                                                //   1204  
                                                                //   1205  s('"'):
#line 1205 "regression-compile-tmp/chimps.imp"
sw2_S_34:;
                                                                //   1206  stringconst:
#line 1206 "regression-compile-tmp/chimps.imp"
U_1005:;
                                                                //   1207    item = 0;  t_type = stringy
#line 1207 "regression-compile-tmp/chimps.imp"
ITEM = 0;
#line 1207 "regression-compile-tmp/chimps.imp"
T.TYPE = 2044;
                                                                //   1208    stringp = atomp;  !for include
#line 1208 "regression-compile-tmp/chimps.imp"
STRINGP = ATOMP;
                                                                //   1209    t_val = 0
#line 1209 "regression-compile-tmp/chimps.imp"
T.VAL = 0;
                                                                //   1210    i = line;  j = linestart
#line 1210 "regression-compile-tmp/chimps.imp"
I = LINE;
#line 1210 "regression-compile-tmp/chimps.imp"
J = LINESTART;
                                                                //   1211    %cycle
#line 1211 "regression-compile-tmp/chimps.imp"
L_00b8:;
                                                                //   1212      sym = byteinteger(fp);  fp = fp+1
#line 1212 "regression-compile-tmp/chimps.imp"
SYM = *_imp_BYTEINTEGER(FP);
#line 1212 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
                                                                //   1213      %if sym = '"' %start
#line 1213 "regression-compile-tmp/chimps.imp"
if (((SYM) != (34))) goto L_00bb;
                                                                //   1214        %exit %if byteinteger(fp) # '"'
#line 1214 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) == (34))) goto L_00bc;
#line 1214 "regression-compile-tmp/chimps.imp"
goto L_00b9;
#line 1214 "regression-compile-tmp/chimps.imp"
L_00bc:;
                                                                //   1215        fp = fp+1
#line 1215 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
                                                                //   1216      %finish
#line 1216 "regression-compile-tmp/chimps.imp"
L_00bb:;
                                                                //   1217      t_val = t_val+1
#line 1217 "regression-compile-tmp/chimps.imp"
T.VAL = (((int)(T.VAL)) + (1));
                                                                //   1218      %if t_val > 255 %start
#line 1218 "regression-compile-tmp/chimps.imp"
if (((T.VAL) <= (255))) goto L_00bd;
                                                                //   1219        sym = 0
#line 1219 "regression-compile-tmp/chimps.imp"
SYM = 0;
                                                                //   1220        fp = atomp;  linestart = j
#line 1220 "regression-compile-tmp/chimps.imp"
FP = ATOMP;
#line 1220 "regression-compile-tmp/chimps.imp"
LINESTART = J;
                                                                //   1221        %result = dud
#line 1221 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 63;
                                                                //   1222      %finish
#line 1222 "regression-compile-tmp/chimps.imp"
L_00bd:;
                                                                //   1223      read line %if sym = nl
#line 1223 "regression-compile-tmp/chimps.imp"
if (((SYM) != (10))) goto L_00be;
#line 1223 "regression-compile-tmp/chimps.imp"
READLINE();
#line 1223 "regression-compile-tmp/chimps.imp"
L_00be:;
                                                                //   1224    %repeat
#line 1224 "regression-compile-tmp/chimps.imp"
goto L_00b8;
#line 1224 "regression-compile-tmp/chimps.imp"
L_00b9:;
                                                                //   1225    %result = const
#line 1225 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 53;
                                                                //   1226  
                                                                //   1227  s(*):
#line 1227 "regression-compile-tmp/chimps.imp"
sw2_S_default:;
                                                                //   1228    %result = dud
#line 1228 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 63;
                                                                //   1229  %end;  !NEXT ATOM
#line 1229 "regression-compile-tmp/chimps.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
                                                                //   1230  
                                                                //   1231  %routine LOOKUP FIELD IDENT(%integer list)
#line 1231 "regression-compile-tmp/chimps.imp"
void LOOKUPFIELDIDENT( int LIST )
#line 1231 "regression-compile-tmp/chimps.imp"
{
                                                                //   1232    item = list;  %return %if item = 0
#line 1232 "regression-compile-tmp/chimps.imp"
ITEM = LIST;
#line 1232 "regression-compile-tmp/chimps.imp"
if (((ITEM) != (0))) goto L_00bf;
#line 1232 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1232 "regression-compile-tmp/chimps.imp"
L_00bf:;
                                                                //   1233    %cycle
#line 1233 "regression-compile-tmp/chimps.imp"
L_00c0:;
                                                                //   1234      ditem == dict(item)
#line 1234 "regression-compile-tmp/chimps.imp"
DITEM = &DICT[(((int)(ITEM)) - (2001))];
                                                                //   1235      %if ditem_flags&typeid = 0 %start
#line 1235 "regression-compile-tmp/chimps.imp"
if (((((DITEM->FLAGS) & (256))) != (0))) goto L_00c3;
                                                                //   1236        %return %if string(ditem_text+charbase) = string(charlim)
#line 1236 "regression-compile-tmp/chimps.imp"
if ((_imp_strcmp(*_imp_STRING((((int)(DITEM->TEXT)) + (CHARBASE))), *_imp_STRING(CHARLIM)) != 0)) goto L_00c4;
#line 1236 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1236 "regression-compile-tmp/chimps.imp"
L_00c4:;
                                                                //   1237        %exit %if ditem_flags&more = 0
#line 1237 "regression-compile-tmp/chimps.imp"
if (((((DITEM->FLAGS) & (128))) != (0))) goto L_00c5;
#line 1237 "regression-compile-tmp/chimps.imp"
goto L_00c1;
#line 1237 "regression-compile-tmp/chimps.imp"
L_00c5:;
                                                                //   1238      %finish
#line 1238 "regression-compile-tmp/chimps.imp"
L_00c3:;
                                                                //   1239      item = item+1;  !misses = misses+1
#line 1239 "regression-compile-tmp/chimps.imp"
ITEM = (((int)(ITEM)) + (1));
                                                                //   1240    %repeat
#line 1240 "regression-compile-tmp/chimps.imp"
goto L_00c0;
#line 1240 "regression-compile-tmp/chimps.imp"
L_00c1:;
                                                                //   1241    item = 0
#line 1241 "regression-compile-tmp/chimps.imp"
ITEM = 0;
                                                                //   1242  %end
#line 1242 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block LOOKUPFIELDIDENT at level 2
                                                                //   1243  
                                                                //   1244  %predicate A (%integer k)
#line 1244 "regression-compile-tmp/chimps.imp"
int /*Boolean*/ A( int K )
#line 1244 "regression-compile-tmp/chimps.imp"
{
                                                                //   1245  !Basic atom-testing predicate
                                                                //   1246    atom = next atom %if matched # 0
#line 1246 "regression-compile-tmp/chimps.imp"
if (((MATCHED) == (0))) goto L_00c6;
#line 1246 "regression-compile-tmp/chimps.imp"
ATOM = NEXTATOM();
#line 1246 "regression-compile-tmp/chimps.imp"
L_00c6:;
                                                                //   1247    %false %if k # atom
#line 1247 "regression-compile-tmp/chimps.imp"
if (((K) == (ATOM))) goto L_00c7;
#line 1247 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1247 "regression-compile-tmp/chimps.imp"
L_00c7:;
                                                                //   1248    matched = 1
#line 1248 "regression-compile-tmp/chimps.imp"
MATCHED = 1;
                                                                //   1249    %true
#line 1249 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   1250  %end
#line 1250 "regression-compile-tmp/chimps.imp"
} // End of block A at level 2
                                                                //   1251  
                                                                //   1252  %routine GET(%integer k)
#line 1252 "regression-compile-tmp/chimps.imp"
void GET( int K )
#line 1252 "regression-compile-tmp/chimps.imp"
{
                                                                //   1253    atom = next atom %if matched # 0
#line 1253 "regression-compile-tmp/chimps.imp"
if (((MATCHED) == (0))) goto L_00c8;
#line 1253 "regression-compile-tmp/chimps.imp"
ATOM = NEXTATOM();
#line 1253 "regression-compile-tmp/chimps.imp"
L_00c8:;
                                                                //   1254    matched = 1
#line 1254 "regression-compile-tmp/chimps.imp"
MATCHED = 1;
                                                                //   1255    %return %if atom = k
#line 1255 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (K))) goto L_00c9;
#line 1255 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1255 "regression-compile-tmp/chimps.imp"
L_00c9:;
                                                                //   1256    syntax error %if atom = dud
#line 1256 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (63))) goto L_00ca;
#line 1256 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 1256 "regression-compile-tmp/chimps.imp"
L_00ca:;
                                                                //   1257    faultp = atomp;  report(formerr+point,-k)
#line 1257 "regression-compile-tmp/chimps.imp"
FAULTP = ATOMP;
#line 1257 "regression-compile-tmp/chimps.imp"
REPORT(64, (-(K)));
                                                                //   1258    %signal 14
#line 1258 "regression-compile-tmp/chimps.imp"
_imp_signal(14, 0, 0, "");
                                                                //   1259  %end
#line 1259 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GET at level 2
                                                                //   1260  
                                                                //   1261  %routine ALLOW(%integer k)
#line 1261 "regression-compile-tmp/chimps.imp"
void ALLOW( int K )
#line 1261 "regression-compile-tmp/chimps.imp"
{
                                                                //   1262    %if a(k) %start
#line 1262 "regression-compile-tmp/chimps.imp"
if (!(A(K))) goto L_00cb;
                                                                //   1263    %finish
#line 1263 "regression-compile-tmp/chimps.imp"
L_00cb:;
                                                                //   1264  %end
#line 1264 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ALLOW at level 2
                                                                //   1265  
                                                                //   1266  %routine DECLARE
#line 1266 "regression-compile-tmp/chimps.imp"
void DECLARE( void )
#line 1266 "regression-compile-tmp/chimps.imp"
{
                                                                //   1267    %if speccing = 0 %start;  !not within spec params
#line 1267 "regression-compile-tmp/chimps.imp"
if (((SPECCING) != (0))) goto L_00cc;
                                                                //   1268      %if item >= c_localdpos %start;  !there already
#line 1268 "regression-compile-tmp/chimps.imp"
if (((ITEM) < (C.LOCALDPOS))) goto L_00cd;
                                                                //   1269        %if d_flags&spec = 0 %and d_flags+spec = ditem_flags %c
#line 1269 "regression-compile-tmp/chimps.imp"
if (((((D.FLAGS) & (16))) != (0))) goto L_00ce;
#line 1269 "regression-compile-tmp/chimps.imp"
if ((((((int)(D.FLAGS)) + (16))) != (DITEM->FLAGS))) goto L_00ce;
#line 1269 "regression-compile-tmp/chimps.imp"
if (((DITEM->TYPE) != (D.TYPE))) goto L_00ce;
                                                                //   1270        %and ditem_type = d_type %start
                                                                //   1271          ditem_flags = ditem_flags-spec
#line 1271 "regression-compile-tmp/chimps.imp"
DITEM->FLAGS = (((int)(DITEM->FLAGS)) - (16));
                                                                //   1272          %return
#line 1272 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1273        %finish
#line 1273 "regression-compile-tmp/chimps.imp"
L_00ce:;
                                                                //   1274        fault(duperr+point)
#line 1274 "regression-compile-tmp/chimps.imp"
FAULT(71);
                                                                //   1275      %finish
#line 1275 "regression-compile-tmp/chimps.imp"
L_00cd:;
                                                                //   1276      d_link = head;  head = dlim;  !insert in list
#line 1276 "regression-compile-tmp/chimps.imp"
D.LINK = *HEAD;
#line 1276 "regression-compile-tmp/chimps.imp"
*HEAD = DLIM;
                                                                //   1277  !    d_spare = hash&255
                                                                //   1278      %if item > 0 %then d_text = ditem_text %c
#line 1278 "regression-compile-tmp/chimps.imp"
if (((ITEM) <= (0))) goto L_00cf;
#line 1278 "regression-compile-tmp/chimps.imp"
D.TEXT = DITEM->TEXT;
#line 1278 "regression-compile-tmp/chimps.imp"
goto L_00d0;
#line 1278 "regression-compile-tmp/chimps.imp"
L_00cf:;
                                                                //   1279      %else %start
                                                                //   1280        d_text = charlim-charbase;  charlim = charlim+newlen+1
#line 1280 "regression-compile-tmp/chimps.imp"
D.TEXT = (((int)(CHARLIM)) - (CHARBASE));
#line 1280 "regression-compile-tmp/chimps.imp"
CHARLIM = (((int)((((int)(CHARLIM)) + (NEWLEN)))) + (1));
                                                                //   1281        croak("Identifier space exhausted") %if charlim+80 >= charmin
#line 1281 "regression-compile-tmp/chimps.imp"
if ((((((int)(CHARLIM)) + (80))) < (CHARMIN))) goto L_00d1;
#line 1281 "regression-compile-tmp/chimps.imp"
CROAK(_imp_str_literal("Identifier space exhausted"));
#line 1281 "regression-compile-tmp/chimps.imp"
L_00d1:;
                                                                //   1282      %finish
#line 1282 "regression-compile-tmp/chimps.imp"
L_00d0:;
                                                                //   1283    %finish %else d_text = 0
#line 1283 "regression-compile-tmp/chimps.imp"
goto L_00d2;
#line 1283 "regression-compile-tmp/chimps.imp"
L_00cc:;
#line 1283 "regression-compile-tmp/chimps.imp"
D.TEXT = 0;
#line 1283 "regression-compile-tmp/chimps.imp"
L_00d2:;
                                                                //   1284    item = dlim;  ditem == dict(item)
#line 1284 "regression-compile-tmp/chimps.imp"
ITEM = DLIM;
#line 1284 "regression-compile-tmp/chimps.imp"
DITEM = &DICT[(((int)(ITEM)) - (2001))];
                                                                //   1285    ditem = d
#line 1285 "regression-compile-tmp/chimps.imp"
*DITEM = D;
                                                                //   1286    dlim = dlim+1;  croak("Too many identifiers") %if dlim >= dmin
#line 1286 "regression-compile-tmp/chimps.imp"
DLIM = (((int)(DLIM)) + (1));
#line 1286 "regression-compile-tmp/chimps.imp"
if (((DLIM) < (DMIN))) goto L_00d3;
#line 1286 "regression-compile-tmp/chimps.imp"
CROAK(_imp_str_literal("Too many identifiers"));
#line 1286 "regression-compile-tmp/chimps.imp"
L_00d3:;
                                                                //   1287  %end;  !DECLARE
#line 1287 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DECLARE at level 2
                                                                //   1288  
                                                                //   1289  %routine DECLARE ANON
#line 1289 "regression-compile-tmp/chimps.imp"
void DECLAREANON( void )
#line 1289 "regression-compile-tmp/chimps.imp"
{
                                                                //   1290    d_text = 0;  d_link = 0
#line 1290 "regression-compile-tmp/chimps.imp"
D.TEXT = 0;
#line 1290 "regression-compile-tmp/chimps.imp"
D.LINK = 0;
                                                                //   1291    dict(dlim) = d
#line 1291 "regression-compile-tmp/chimps.imp"
DICT[(((int)(DLIM)) - (2001))] = D;
                                                                //   1292    dlim = dlim+1;  croak("Too many identifiers") %if dlim >= dmin
#line 1292 "regression-compile-tmp/chimps.imp"
DLIM = (((int)(DLIM)) + (1));
#line 1292 "regression-compile-tmp/chimps.imp"
if (((DLIM) < (DMIN))) goto L_00d4;
#line 1292 "regression-compile-tmp/chimps.imp"
CROAK(_imp_str_literal("Too many identifiers"));
#line 1292 "regression-compile-tmp/chimps.imp"
L_00d4:;
                                                                //   1293  %end
#line 1293 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DECLAREANON at level 2
                                                                //   1294  
                                                                //   1295  %owninteger jammy
#line 1295 "regression-compile-tmp/chimps.imp"
static int JAMMY;
                                                                //   1296  %predicate A ASSOP
#line 1296 "regression-compile-tmp/chimps.imp"
int /*Boolean*/ AASSOP( void )
#line 1296 "regression-compile-tmp/chimps.imp"
{
                                                                //   1297    atom = next atom %if matched # 0
#line 1297 "regression-compile-tmp/chimps.imp"
if (((MATCHED) == (0))) goto L_00d5;
#line 1297 "regression-compile-tmp/chimps.imp"
ATOM = NEXTATOM();
#line 1297 "regression-compile-tmp/chimps.imp"
L_00d5:;
                                                                //   1298    %if atom # equals %and atom # eqeq %start
#line 1298 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (70))) goto L_00d6;
#line 1298 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (76))) goto L_00d6;
                                                                //   1299      %false %unless atom = less %and byteinteger(fp) = '-'
#line 1299 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (73))) goto L_009b;
#line 1299 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) == (45))) goto L_00d7;
#line 1299 "regression-compile-tmp/chimps.imp"
L_009b:;
#line 1299 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1299 "regression-compile-tmp/chimps.imp"
L_00d7:;
                                                                //   1300      jammy = 2;  fp = fp+1
#line 1300 "regression-compile-tmp/chimps.imp"
JAMMY = 2;
#line 1300 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
                                                                //   1301    %finish %else jammy = 0
#line 1301 "regression-compile-tmp/chimps.imp"
goto L_00d8;
#line 1301 "regression-compile-tmp/chimps.imp"
L_00d6:;
#line 1301 "regression-compile-tmp/chimps.imp"
JAMMY = 0;
#line 1301 "regression-compile-tmp/chimps.imp"
L_00d8:;
                                                                //   1302    matched = 1
#line 1302 "regression-compile-tmp/chimps.imp"
MATCHED = 1;
                                                                //   1303    %true
#line 1303 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   1304  %end
#line 1304 "regression-compile-tmp/chimps.imp"
} // End of block AASSOP at level 2
                                                                //   1305  
                                                                //   1306  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   1307  !!!!!!!!!!!!!!!!!!!!  Expressions  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   1308  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   1309  
                                                                //   1310  %owninteger literal=0
#line 1310 "regression-compile-tmp/chimps.imp"
static int LITERAL = 0;
                                                                //   1311  %routinespec get EXPRESSION(%integer rank,control)
#line 1311 "regression-compile-tmp/chimps.imp"
auto void GETEXPRESSION( int RANK, int CONTROL );
                                                                //   1312  
                                                                //   1313  %integerfn COMPAT(%integer control)
#line 1313 "regression-compile-tmp/chimps.imp"
int COMPAT( int CONTROL )
#line 1313 "regression-compile-tmp/chimps.imp"
{
                                                                //   1314    %if t_type = inty %start
#line 1314 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) != (2046))) goto L_00d9;
                                                                //   1315      %if control&intok = 0 %and control&realok # 0 %start
#line 1315 "regression-compile-tmp/chimps.imp"
if (((((CONTROL) & (16))) != (0))) goto L_00da;
#line 1315 "regression-compile-tmp/chimps.imp"
if (((((CONTROL) & (8))) == (0))) goto L_00da;
                                                                //   1316        item = floated(item)
#line 1316 "regression-compile-tmp/chimps.imp"
ITEM = FLOATED(ITEM);
                                                                //   1317        t_type = realy
#line 1317 "regression-compile-tmp/chimps.imp"
T.TYPE = 2045;
                                                                //   1318      %finish
#line 1318 "regression-compile-tmp/chimps.imp"
L_00da:;
                                                                //   1319      %result = control&(intok+realok)
#line 1319 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return ((CONTROL) & (24));
                                                                //   1320    %finish
#line 1320 "regression-compile-tmp/chimps.imp"
L_00d9:;
                                                                //   1321    %result = control&(boolok>>(booltype-t_type)) %if t_type <= booltype
#line 1321 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) > (2048))) goto L_00db;
#line 1321 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return ((CONTROL) & ((int)((((unsigned int)(64)) >> ((((int)(2048)) - (T.TYPE)))))));
#line 1321 "regression-compile-tmp/chimps.imp"
L_00db:;
                                                                //   1322    %result = control&enumok %if t_type < direct
#line 1322 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) >= (8192))) goto L_00dc;
#line 1322 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return ((CONTROL) & (128));
#line 1322 "regression-compile-tmp/chimps.imp"
L_00dc:;
                                                                //   1323    %result = control&arrok
#line 1323 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return ((CONTROL) & (2));
                                                                //   1324  %end
#line 1324 "regression-compile-tmp/chimps.imp"
} // End of block COMPAT at level 2
                                                                //   1325  !
                                                                //   1326  %integerfn LISTMATCH(%integer alist,blist)
#line 1326 "regression-compile-tmp/chimps.imp"
int LISTMATCH( int ALIST, int BLIST )
#line 1326 "regression-compile-tmp/chimps.imp"
{
                                                                //   1327  %record(identinfo)%name ap,bp
#line 1327 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*AP;
#line 1327 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*BP;
                                                                //   1328    %result = 1 %if alist = blist
#line 1328 "regression-compile-tmp/chimps.imp"
if (((ALIST) != (BLIST))) goto L_00dd;
#line 1328 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1328 "regression-compile-tmp/chimps.imp"
L_00dd:;
                                                                //   1329    %result = 0 %if alist < dictmin %or blist < dictmin
#line 1329 "regression-compile-tmp/chimps.imp"
if (((ALIST) < (2041))) goto L_00c2;
#line 1329 "regression-compile-tmp/chimps.imp"
if (((BLIST) >= (2041))) goto L_00de;
#line 1329 "regression-compile-tmp/chimps.imp"
L_00c2:;
#line 1329 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1329 "regression-compile-tmp/chimps.imp"
L_00de:;
                                                                //   1330    %cycle
#line 1330 "regression-compile-tmp/chimps.imp"
L_00df:;
                                                                //   1331      ap == dict(alist);  bp == dict(blist)
#line 1331 "regression-compile-tmp/chimps.imp"
AP = &DICT[(((int)(ALIST)) - (2001))];
#line 1331 "regression-compile-tmp/chimps.imp"
BP = &DICT[(((int)(BLIST)) - (2001))];
                                                                //   1332      %result = 0 %if ap_type # bp_type;  !for now
#line 1332 "regression-compile-tmp/chimps.imp"
if (((AP->TYPE) == (BP->TYPE))) goto L_00e2;
#line 1332 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1332 "regression-compile-tmp/chimps.imp"
L_00e2:;
                                                                //   1333      alist = alist+1;  blist = blist+1
#line 1333 "regression-compile-tmp/chimps.imp"
ALIST = (((int)(ALIST)) + (1));
#line 1333 "regression-compile-tmp/chimps.imp"
BLIST = (((int)(BLIST)) + (1));
                                                                //   1334    %repeat %until ap_flags&bp_flags&more = 0
#line 1334 "regression-compile-tmp/chimps.imp"
if (((((((AP->FLAGS) & (BP->FLAGS))) & (128))) == (0))) goto L_00e0;
#line 1334 "regression-compile-tmp/chimps.imp"
goto L_00df;
#line 1334 "regression-compile-tmp/chimps.imp"
L_00e0:;
                                                                //   1335    %result = 0 %if ap_flags&more # 0 %or bp_flags&more # 0;  !for now
#line 1335 "regression-compile-tmp/chimps.imp"
if (((((AP->FLAGS) & (128))) != (0))) goto L_00e1;
#line 1335 "regression-compile-tmp/chimps.imp"
if (((((BP->FLAGS) & (128))) == (0))) goto L_00e3;
#line 1335 "regression-compile-tmp/chimps.imp"
L_00e1:;
#line 1335 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1335 "regression-compile-tmp/chimps.imp"
L_00e3:;
                                                                //   1336    %result = 1
#line 1336 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   1337  %end
#line 1337 "regression-compile-tmp/chimps.imp"
} // End of block LISTMATCH at level 2
                                                                //   1338  !
                                                                //   1339  %routine GET REFERENCE(%integer reftype)
#line 1339 "regression-compile-tmp/chimps.imp"
void GETREFERENCE( int REFTYPE )
#line 1339 "regression-compile-tmp/chimps.imp"
{
                                                                //   1340  %integer type,temp
#line 1340 "regression-compile-tmp/chimps.imp"
int TYPE;
#line 1340 "regression-compile-tmp/chimps.imp"
int TEMP;
                                                                //   1341    get EXPRESSION(simple,refonly+any)
#line 1341 "regression-compile-tmp/chimps.imp"
GETEXPRESSION(104, 1279);
                                                                //   1342    type = ditem_type&puretype;  reftype = reftype&puretype
#line 1342 "regression-compile-tmp/chimps.imp"
TYPE = ((DITEM->TYPE) & (8191));
#line 1342 "regression-compile-tmp/chimps.imp"
REFTYPE = ((REFTYPE) & (8191));
                                                                //   1343    %return %if reftype = type
#line 1343 "regression-compile-tmp/chimps.imp"
if (((REFTYPE) != (TYPE))) goto L_00e4;
#line 1343 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1343 "regression-compile-tmp/chimps.imp"
L_00e4:;
                                                                //   1344    %if type < reftype %start
#line 1344 "regression-compile-tmp/chimps.imp"
if (((TYPE) >= (REFTYPE))) goto L_00e5;
                                                                //   1345      temp = type;  type = reftype;  reftype = temp
#line 1345 "regression-compile-tmp/chimps.imp"
TEMP = TYPE;
#line 1345 "regression-compile-tmp/chimps.imp"
TYPE = REFTYPE;
#line 1345 "regression-compile-tmp/chimps.imp"
REFTYPE = TEMP;
                                                                //   1346    %finish
#line 1346 "regression-compile-tmp/chimps.imp"
L_00e5:;
                                                                //   1347    %return %if reftype = nulltype;  !untyped %name
#line 1347 "regression-compile-tmp/chimps.imp"
if (((REFTYPE) != (2041))) goto L_00e6;
#line 1347 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1347 "regression-compile-tmp/chimps.imp"
L_00e6:;
                                                                //   1348    type = dict(type)_type
#line 1348 "regression-compile-tmp/chimps.imp"
TYPE = DICT[(((int)(TYPE)) - (2001))].TYPE;
                                                                //   1349    %return %if type <= inty %and type = reftype
#line 1349 "regression-compile-tmp/chimps.imp"
if (((TYPE) > (2046))) goto L_00e7;
#line 1349 "regression-compile-tmp/chimps.imp"
if (((TYPE) != (REFTYPE))) goto L_00e7;
#line 1349 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1349 "regression-compile-tmp/chimps.imp"
L_00e7:;
                                                                //   1350    %return %if type >= direct %and type = dict(reftype)_type;  !aname
#line 1350 "regression-compile-tmp/chimps.imp"
if (((TYPE) < (8192))) goto L_00e8;
#line 1350 "regression-compile-tmp/chimps.imp"
if (((TYPE) != (DICT[(((int)(REFTYPE)) - (2001))].TYPE))) goto L_00e8;
#line 1350 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1350 "regression-compile-tmp/chimps.imp"
L_00e8:;
                                                                //   1351    expfault(typerr+point)
#line 1351 "regression-compile-tmp/chimps.imp"
EXPFAULT(70);
                                                                //   1352  %end
#line 1352 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETREFERENCE at level 2
                                                                //   1353  !
                                                                //   1354  %routine GET VALUE(%integer valtype)
#line 1354 "regression-compile-tmp/chimps.imp"
void GETVALUE( int VALTYPE )
#line 1354 "regression-compile-tmp/chimps.imp"
{
                                                                //   1355  %record(identinfo)%name dp,p
#line 1355 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*DP;
#line 1355 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*P;
                                                                //   1356    get EXPRESSION(major,any)
#line 1356 "regression-compile-tmp/chimps.imp"
GETEXPRESSION(80, 255);
                                                                //   1357    valtype = valtype&puretype
#line 1357 "regression-compile-tmp/chimps.imp"
VALTYPE = ((VALTYPE) & (8191));
                                                                //   1358    dp == dict(valtype)
#line 1358 "regression-compile-tmp/chimps.imp"
DP = &DICT[(((int)(VALTYPE)) - (2001))];
                                                                //   1359    %if t_type # dp_type %start;  !base types differ
#line 1359 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) == (DP->TYPE))) goto L_00e9;
                                                                //   1360      %return %if item = 0 = t_val;  !zero
#line 1360 "regression-compile-tmp/chimps.imp"
if ((((ITEM) != (0))) || (((0) != (T.VAL)))) goto L_00ea;
#line 1360 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1360 "regression-compile-tmp/chimps.imp"
L_00ea:;
                                                                //   1361      %if dp_type = realy %and t_type = inty %start
#line 1361 "regression-compile-tmp/chimps.imp"
if (((DP->TYPE) != (2045))) goto L_00eb;
#line 1361 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) != (2046))) goto L_00eb;
                                                                //   1362        !float
                                                                //   1363        t_type = realy
#line 1363 "regression-compile-tmp/chimps.imp"
T.TYPE = 2045;
                                                                //   1364        %return
#line 1364 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1365      %finish
#line 1365 "regression-compile-tmp/chimps.imp"
L_00eb:;
                                                                //   1366    %else %if t_type >= inty;  !scalar
#line 1366 "regression-compile-tmp/chimps.imp"
goto L_00ec;
#line 1366 "regression-compile-tmp/chimps.imp"
L_00e9:;
#line 1366 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) < (2046))) goto L_00ed;
                                                                //   1367      %if item = 0 %start
#line 1367 "regression-compile-tmp/chimps.imp"
if (((ITEM) != (0))) goto L_00ee;
                                                                //   1368        %return %if dp_low <= t_val <= dp_val
#line 1368 "regression-compile-tmp/chimps.imp"
if ((((DP->LOW) > (T.VAL))) || (((T.VAL) > (DP->VAL)))) goto L_00ef;
#line 1368 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1368 "regression-compile-tmp/chimps.imp"
L_00ef:;
                                                                //   1369        jammy = jammy!1 %if jammy >= 0
#line 1369 "regression-compile-tmp/chimps.imp"
if (((JAMMY) < (0))) goto L_00f0;
#line 1369 "regression-compile-tmp/chimps.imp"
JAMMY = ((JAMMY) | (1));
#line 1369 "regression-compile-tmp/chimps.imp"
L_00f0:;
                                                                //   1370      %finish %else %start
#line 1370 "regression-compile-tmp/chimps.imp"
goto L_00f1;
#line 1370 "regression-compile-tmp/chimps.imp"
L_00ee:;
                                                                //   1371        %if t_low >= dp_low %start
#line 1371 "regression-compile-tmp/chimps.imp"
if (((T.LOW) < (DP->LOW))) goto L_00f2;
                                                                //   1372          %return %if t_val <= dp_val
#line 1372 "regression-compile-tmp/chimps.imp"
if (((T.VAL) > (DP->VAL))) goto L_00f3;
#line 1372 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1372 "regression-compile-tmp/chimps.imp"
L_00f3:;
                                                                //   1373          jammy = jammy!1 %if jammy >= 0
#line 1373 "regression-compile-tmp/chimps.imp"
if (((JAMMY) < (0))) goto L_00f4;
#line 1373 "regression-compile-tmp/chimps.imp"
JAMMY = ((JAMMY) | (1));
#line 1373 "regression-compile-tmp/chimps.imp"
L_00f4:;
                                                                //   1374          %return %if t_low <= dp_val
#line 1374 "regression-compile-tmp/chimps.imp"
if (((T.LOW) > (DP->VAL))) goto L_00f5;
#line 1374 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1374 "regression-compile-tmp/chimps.imp"
L_00f5:;
                                                                //   1375        %finish %else %start
#line 1375 "regression-compile-tmp/chimps.imp"
goto L_00f6;
#line 1375 "regression-compile-tmp/chimps.imp"
L_00f2:;
                                                                //   1376          jammy = jammy!1 %if jammy >= 0
#line 1376 "regression-compile-tmp/chimps.imp"
if (((JAMMY) < (0))) goto L_00f7;
#line 1376 "regression-compile-tmp/chimps.imp"
JAMMY = ((JAMMY) | (1));
#line 1376 "regression-compile-tmp/chimps.imp"
L_00f7:;
                                                                //   1377          %return %if t_val >= dp_low
#line 1377 "regression-compile-tmp/chimps.imp"
if (((T.VAL) < (DP->LOW))) goto L_00f8;
#line 1377 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1377 "regression-compile-tmp/chimps.imp"
L_00f8:;
                                                                //   1378        %finish
#line 1378 "regression-compile-tmp/chimps.imp"
L_00f6:;
                                                                //   1379      %finish
#line 1379 "regression-compile-tmp/chimps.imp"
L_00f1:;
                                                                //   1380      expfault(rangerr+point) %if jammy < 2
#line 1380 "regression-compile-tmp/chimps.imp"
if (((JAMMY) >= (2))) goto L_00f9;
#line 1380 "regression-compile-tmp/chimps.imp"
EXPFAULT(76);
#line 1380 "regression-compile-tmp/chimps.imp"
L_00f9:;
                                                                //   1381      %return
#line 1381 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1382    %else %if t_type = stringy
#line 1382 "regression-compile-tmp/chimps.imp"
L_00ed:;
#line 1382 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) != (2044))) goto L_00fa;
                                                                //   1383      %if t_val > dp_val %start;  !VALUE = LENGTH*
#line 1383 "regression-compile-tmp/chimps.imp"
if (((T.VAL) <= (DP->VAL))) goto L_00fb;
                                                                //   1384        jammy = jammy!1 %if jammy >= 0
#line 1384 "regression-compile-tmp/chimps.imp"
if (((JAMMY) < (0))) goto L_00fc;
#line 1384 "regression-compile-tmp/chimps.imp"
JAMMY = ((JAMMY) | (1));
#line 1384 "regression-compile-tmp/chimps.imp"
L_00fc:;
                                                                //   1385        expfault(rangerr+point) %if item = 0 %and jammy < 2
#line 1385 "regression-compile-tmp/chimps.imp"
if (((ITEM) != (0))) goto L_00fd;
#line 1385 "regression-compile-tmp/chimps.imp"
if (((JAMMY) >= (2))) goto L_00fd;
#line 1385 "regression-compile-tmp/chimps.imp"
EXPFAULT(76);
#line 1385 "regression-compile-tmp/chimps.imp"
L_00fd:;
                                                                //   1386      %finish
#line 1386 "regression-compile-tmp/chimps.imp"
L_00fb:;
                                                                //   1387      %return
#line 1387 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1388    %else %if t_type = recy
#line 1388 "regression-compile-tmp/chimps.imp"
L_00fa:;
#line 1388 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) != (2042))) goto L_00fe;
                                                                //   1389      %return %if t_extra = dp_extra
#line 1389 "regression-compile-tmp/chimps.imp"
if (((T.EXTRA) != (DP->EXTRA))) goto L_00ff;
#line 1389 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1389 "regression-compile-tmp/chimps.imp"
L_00ff:;
                                                                //   1390      jammy = jammy!1 %and %return %if jammy >= 2
#line 1390 "regression-compile-tmp/chimps.imp"
if (((JAMMY) < (2))) goto L_0100;
#line 1390 "regression-compile-tmp/chimps.imp"
JAMMY = ((JAMMY) | (1));
#line 1390 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1390 "regression-compile-tmp/chimps.imp"
L_0100:;
                                                                //   1391      !partial assignment?
                                                                //   1392    %else %if t_type = realy
#line 1392 "regression-compile-tmp/chimps.imp"
goto L_00ec;
#line 1392 "regression-compile-tmp/chimps.imp"
L_00fe:;
#line 1392 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) != (2045))) goto L_0101;
                                                                //   1393      %return
#line 1393 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1394    %finish
#line 1394 "regression-compile-tmp/chimps.imp"
L_0101:;
#line 1394 "regression-compile-tmp/chimps.imp"
L_00ec:;
                                                                //   1395    expfault(typerr+point)
#line 1395 "regression-compile-tmp/chimps.imp"
EXPFAULT(70);
                                                                //   1396  %end;  !GET VALUE
#line 1396 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETVALUE at level 2
                                                                //   1397  !
                                                                //   1398  %routine GET LITERAL(%integer littype)
#line 1398 "regression-compile-tmp/chimps.imp"
void GETLITERAL( int LITTYPE )
#line 1398 "regression-compile-tmp/chimps.imp"
{
                                                                //   1399    literal = literal+1
#line 1399 "regression-compile-tmp/chimps.imp"
LITERAL = (((int)(LITERAL)) + (1));
                                                                //   1400    get VALUE(littype)
#line 1400 "regression-compile-tmp/chimps.imp"
GETVALUE(LITTYPE);
                                                                //   1401    literal = literal-1
#line 1401 "regression-compile-tmp/chimps.imp"
LITERAL = (((int)(LITERAL)) - (1));
                                                                //   1402  %end
#line 1402 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETLITERAL at level 2
                                                                //   1403  !
                                                                //   1404  %routine GET LITINT
#line 1404 "regression-compile-tmp/chimps.imp"
void GETLITINT( void )
#line 1404 "regression-compile-tmp/chimps.imp"
{
                                                                //   1405    literal = literal+1
#line 1405 "regression-compile-tmp/chimps.imp"
LITERAL = (((int)(LITERAL)) + (1));
                                                                //   1406    get EXPRESSION(major,intok)
#line 1406 "regression-compile-tmp/chimps.imp"
GETEXPRESSION(80, 16);
                                                                //   1407    literal = literal-1
#line 1407 "regression-compile-tmp/chimps.imp"
LITERAL = (((int)(LITERAL)) - (1));
                                                                //   1408  %end
#line 1408 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETLITINT at level 2
                                                                //   1409  !
                                                                //   1410  %routine GET LITSTRING
#line 1410 "regression-compile-tmp/chimps.imp"
void GETLITSTRING( void )
#line 1410 "regression-compile-tmp/chimps.imp"
{
                                                                //   1411  %integer holditem
#line 1411 "regression-compile-tmp/chimps.imp"
int HOLDITEM;
                                                                //   1412  !Must be quoted string (for %alias and %include)
                                                                //   1413    holditem = item;  !preserve
#line 1413 "regression-compile-tmp/chimps.imp"
HOLDITEM = ITEM;
                                                                //   1414    get(const)
#line 1414 "regression-compile-tmp/chimps.imp"
GET(53);
                                                                //   1415    error(typerr+point) %if t_type # stringy
#line 1415 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) == (2044))) goto L_0102;
#line 1415 "regression-compile-tmp/chimps.imp"
ERROR(70);
#line 1415 "regression-compile-tmp/chimps.imp"
L_0102:;
                                                                //   1416    item = holditem;  !restore
#line 1416 "regression-compile-tmp/chimps.imp"
ITEM = HOLDITEM;
                                                                //   1417  %end
#line 1417 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETLITSTRING at level 2
                                                                //   1418  !
                                                                //   1419  %routine GET PARMLIST
#line 1419 "regression-compile-tmp/chimps.imp"
void GETPARMLIST( void )
#line 1419 "regression-compile-tmp/chimps.imp"
{
                                                                //   1420  %record(identinfo)%name hp,dp
#line 1420 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*HP;
#line 1420 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*DP;
                                                                //   1421  %integer i,j,headitem,headact,dpos,case,procnp,first
#line 1421 "regression-compile-tmp/chimps.imp"
int I;
#line 1421 "regression-compile-tmp/chimps.imp"
int J;
#line 1421 "regression-compile-tmp/chimps.imp"
int HEADITEM;
#line 1421 "regression-compile-tmp/chimps.imp"
int HEADACT;
#line 1421 "regression-compile-tmp/chimps.imp"
int DPOS;
#line 1421 "regression-compile-tmp/chimps.imp"
int CASE;
#line 1421 "regression-compile-tmp/chimps.imp"
int PROCNP;
#line 1421 "regression-compile-tmp/chimps.imp"
int FIRST;
                                                                //   1422    headitem = item;  hp == ditem
#line 1422 "regression-compile-tmp/chimps.imp"
HEADITEM = ITEM;
#line 1422 "regression-compile-tmp/chimps.imp"
HP = DITEM;
                                                                //   1423    headact = rcall
#line 1423 "regression-compile-tmp/chimps.imp"
HEADACT = 109;
                                                                //   1424    !stack procedure ident
                                                                //   1425  !  procnp = np;  put3(headact,headitem,0)
                                                                //   1426    i = 0;  first = 1
#line 1426 "regression-compile-tmp/chimps.imp"
I = 0;
#line 1426 "regression-compile-tmp/chimps.imp"
FIRST = 1;
                                                                //   1427    dpos = headitem;  dp == hp
#line 1427 "regression-compile-tmp/chimps.imp"
DPOS = HEADITEM;
#line 1427 "regression-compile-tmp/chimps.imp"
DP = HP;
                                                                //   1428    %cycle
#line 1428 "regression-compile-tmp/chimps.imp"
L_0103:;
                                                                //   1429    !Set up expression state from formal param details
                                                                //   1430      error(toomany+point) %if dp_flags&more = 0
#line 1430 "regression-compile-tmp/chimps.imp"
if (((((DP->FLAGS) & (128))) != (0))) goto L_0106;
#line 1430 "regression-compile-tmp/chimps.imp"
ERROR(96);
#line 1430 "regression-compile-tmp/chimps.imp"
L_0106:;
                                                                //   1431      dpos = dpos+1 %and dp == dict(dpos) %until dp_flags&parm # 0
#line 1431 "regression-compile-tmp/chimps.imp"
L_0107:;
#line 1431 "regression-compile-tmp/chimps.imp"
DPOS = (((int)(DPOS)) + (1));
#line 1431 "regression-compile-tmp/chimps.imp"
DP = &DICT[(((int)(DPOS)) - (2001))];
#line 1431 "regression-compile-tmp/chimps.imp"
if (((((DP->FLAGS) & (64))) != (0))) goto L_0108;
#line 1431 "regression-compile-tmp/chimps.imp"
goto L_0107;
#line 1431 "regression-compile-tmp/chimps.imp"
L_0108:;
                                                                //   1432      %if dp_flags&proc # 0 %start
#line 1432 "regression-compile-tmp/chimps.imp"
if (((((DP->FLAGS) & (4))) == (0))) goto L_010a;
                                                                //   1433        get(ident)
#line 1433 "regression-compile-tmp/chimps.imp"
GET(54);
                                                                //   1434        name error %if item <= 0
#line 1434 "regression-compile-tmp/chimps.imp"
if (((ITEM) > (0))) goto L_010b;
#line 1434 "regression-compile-tmp/chimps.imp"
NAMEERROR();
#line 1434 "regression-compile-tmp/chimps.imp"
L_010b:;
                                                                //   1435        fault(typerr+point) %if ditem_flags&proc = 0;  !for now
#line 1435 "regression-compile-tmp/chimps.imp"
if (((((DITEM->FLAGS) & (4))) != (0))) goto L_010c;
#line 1435 "regression-compile-tmp/chimps.imp"
FAULT(70);
#line 1435 "regression-compile-tmp/chimps.imp"
L_010c:;
                                                                //   1436        fault(caterr+point) %if item > headitem
#line 1436 "regression-compile-tmp/chimps.imp"
if (((ITEM) <= (HEADITEM))) goto L_010d;
#line 1436 "regression-compile-tmp/chimps.imp"
FAULT(67);
#line 1436 "regression-compile-tmp/chimps.imp"
L_010d:;
                                                                //   1437      %else %if dp_type < indirect;  !value
#line 1437 "regression-compile-tmp/chimps.imp"
goto L_010e;
#line 1437 "regression-compile-tmp/chimps.imp"
L_010a:;
#line 1437 "regression-compile-tmp/chimps.imp"
if (((DP->TYPE) >= (16384))) goto L_010f;
                                                                //   1438  !      %if pp_type&numericmask # 0 %then case = i&7 %and i = i+1 %c
                                                                //   1439  !      %else case = i>>3+8 %and i = i+8
                                                                //   1440        case = i&7;  i = i+1
#line 1440 "regression-compile-tmp/chimps.imp"
CASE = ((I) & (7));
#line 1440 "regression-compile-tmp/chimps.imp"
I = (((int)(I)) + (1));
                                                                //   1441        get VALUE(dp_type)
#line 1441 "regression-compile-tmp/chimps.imp"
GETVALUE(DP->TYPE);
                                                                //   1442      %finish %else %start;  !name or proc
#line 1442 "regression-compile-tmp/chimps.imp"
goto L_010e;
#line 1442 "regression-compile-tmp/chimps.imp"
L_010f:;
                                                                //   1443        case = i>>3+8;  i = i+8
#line 1443 "regression-compile-tmp/chimps.imp"
CASE = (((int)((int)((((unsigned int)(I)) >> (3))))) + (8));
#line 1443 "regression-compile-tmp/chimps.imp"
I = (((int)(I)) + (8));
                                                                //   1444        get REFERENCE(dp_type)
#line 1444 "regression-compile-tmp/chimps.imp"
GETREFERENCE(DP->TYPE);
                                                                //   1445      %finish
#line 1445 "regression-compile-tmp/chimps.imp"
L_010e:;
                                                                //   1446  !    case = case<<8+headact
                                                                //   1447  !    item = litref(t_val) %if item = 0
                                                                //   1448  !    j = np-1
                                                                //   1449  !    %if first = 0 %start
                                                                //   1450  !      j = np
                                                                //   1451  !      !NB Don't re-order parameters for implicits
                                                                //   1452  !      %if item >= expmin %and headitem > dnewline %start
                                                                //   1453  !        %while j > procnp %and exp(j-1)_y < expmin %cycle
                                                                //   1454  !          exp(j)_act = exp(j-1)_act;  exp(j)_y = exp(j-1)_y
                                                                //   1455  !          j = j-1
                                                                //   1456  !        %repeat
                                                                //   1457  !      %finish
                                                                //   1458  !      exp(np)_x = 0;  np = np+1
                                                                //   1459  !    %finish
                                                                //   1460  !    exp(j)_act =  case;  exp(j)_y = item
                                                                //   1461  !    first = 0
                                                                //   1462    %repeat %until %not a(comma)
#line 1462 "regression-compile-tmp/chimps.imp"
if (!(A(59))) goto L_0104;
#line 1462 "regression-compile-tmp/chimps.imp"
goto L_0103;
#line 1462 "regression-compile-tmp/chimps.imp"
L_0104:;
                                                                //   1463  !  %if hp_type # nulltype %start
                                                                //   1464  !    i = explo
                                                                //   1465  !    %while i <= expmax %cycle
                                                                //   1466  !      %if exp(i)_x = headitem %start;  ![enough?]
                                                                //   1467  !        item = i;  j = procnp
                                                                //   1468  !        %cycle
                                                                //   1469  !          %exit %if exp(i)_y # exp(j)_y
                                                                //   1470  !          i = i+1;  j = j+1
                                                                //   1471  !          ->okf %if j >= np
                                                                //   1472  !        %repeat
                                                                //   1473  !      %finish
                                                                //   1474  !      i = i+1
                                                                //   1475  !    %repeat
                                                                //   1476  !    %cycle
                                                                //   1477  !      explo = explo-1;  np = np-1
                                                                //   1478  !      exp(explo) = exp(np)
                                                                //   1479  !    %repeat %until np = procnp
                                                                //   1480      item = explo
#line 1480 "regression-compile-tmp/chimps.imp"
ITEM = EXPLO;
                                                                //   1481  !okf:np = procnp
                                                                //   1482  !  %finish
                                                                //   1483  %end;  !get PARMLIST
#line 1483 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETPARMLIST at level 2
                                                                //   1484  
                                                                //   1485  %routine GET RESOLUTION
#line 1485 "regression-compile-tmp/chimps.imp"
void GETRESOLUTION( void )
#line 1485 "regression-compile-tmp/chimps.imp"
{
                                                                //   1486    %if %not a(left) %start
#line 1486 "regression-compile-tmp/chimps.imp"
if (A(55)) goto L_0110;
                                                                //   1487      get REFERENCE(anystringvar)
#line 1487 "regression-compile-tmp/chimps.imp"
GETREFERENCE(18428);
                                                                //   1488      get(dot)
#line 1488 "regression-compile-tmp/chimps.imp"
GET(84);
                                                                //   1489      get(left)
#line 1489 "regression-compile-tmp/chimps.imp"
GET(55);
                                                                //   1490    %finish
#line 1490 "regression-compile-tmp/chimps.imp"
L_0110:;
                                                                //   1491    get VALUE(anystring)
#line 1491 "regression-compile-tmp/chimps.imp"
GETVALUE(10236);
                                                                //   1492    get(right)
#line 1492 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   1493    %if a(dot) %start
#line 1493 "regression-compile-tmp/chimps.imp"
if (!(A(84))) goto L_0111;
                                                                //   1494      get REFERENCE(anystringvar)
#line 1494 "regression-compile-tmp/chimps.imp"
GETREFERENCE(18428);
                                                                //   1495    %finish
#line 1495 "regression-compile-tmp/chimps.imp"
L_0111:;
                                                                //   1496  %end
#line 1496 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETRESOLUTION at level 2
                                                                //   1497  !
                                                                //   1498  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   1499  !
                                                                //   1500  %routine GET EXPRESSION(%integer rank,control)
#line 1500 "regression-compile-tmp/chimps.imp"
void GETEXPRESSION( int RANK, int CONTROL )
#line 1500 "regression-compile-tmp/chimps.imp"
{
                                                                //   1501  !Main expression recognition routine
                                                                //   1502  !To bring together the treatment of all binary operators
                                                                //   1503  ! and ensure fast recognition of simple expressions,
                                                                //   1504  ! expressions of different levels are handled by
                                                                //   1505  ! precedence techniques rather than syntactically
                                                                //   1506  !CONTROL defines acceptability
                                                                //   1507  %integer type,f,opok,c1,op,atomp1,item1
#line 1507 "regression-compile-tmp/chimps.imp"
int TYPE;
#line 1507 "regression-compile-tmp/chimps.imp"
int F;
#line 1507 "regression-compile-tmp/chimps.imp"
int OPOK;
#line 1507 "regression-compile-tmp/chimps.imp"
int C1;
#line 1507 "regression-compile-tmp/chimps.imp"
int OP;
#line 1507 "regression-compile-tmp/chimps.imp"
int ATOMP1;
#line 1507 "regression-compile-tmp/chimps.imp"
int ITEM1;
                                                                //   1508  %record(objinfo) t1
#line 1508 "regression-compile-tmp/chimps.imp"
 OBJINFO T1;
                                                                //   1509  %record(identinfo)%name dp
#line 1509 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*DP;
                                                                //   1510  
                                                                //   1511  %integerfn litval
#line 1511 "regression-compile-tmp/chimps.imp"
int LITVAL( void )
#line 1511 "regression-compile-tmp/chimps.imp"
{
                                                                //   1512  %switch lit(64:atommax)
#line 1512 "regression-compile-tmp/chimps.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,  };
                                                                //   1513    -> lit(op)
#line 1513 "regression-compile-tmp/chimps.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);
}
                                                                //   1514  lit(plus):    %result = t1_val+t_val
#line 1514 "regression-compile-tmp/chimps.imp"
sw3_LIT_80:;
#line 1514 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(T1.VAL)) + (T.VAL));
                                                                //   1515  lit(minus):   %result = t1_val-t_val
#line 1515 "regression-compile-tmp/chimps.imp"
sw3_LIT_81:;
#line 1515 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(T1.VAL)) - (T.VAL));
                                                                //   1516  lit(mult):    %result = t1_val*t_val
#line 1516 "regression-compile-tmp/chimps.imp"
sw3_LIT_88:;
#line 1516 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(T1.VAL)) * (T.VAL));
                                                                //   1517  lit(idiv):    %result = t1_val//t_val %if t_val # 0
#line 1517 "regression-compile-tmp/chimps.imp"
sw3_LIT_90:;
#line 1517 "regression-compile-tmp/chimps.imp"
if (((T.VAL) == (0))) goto L_0112;
#line 1517 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return ((long)((long)((int)(T1.VAL)) / (long)((int)(_Z(T.VAL)))));
#line 1517 "regression-compile-tmp/chimps.imp"
L_0112:;
                                                                //   1518                fault(rangerr)
#line 1518 "regression-compile-tmp/chimps.imp"
FAULT(12);
                                                                //   1519                %result = 0
#line 1519 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1520  lit(logand):
#line 1520 "regression-compile-tmp/chimps.imp"
sw3_LIT_91:;
                                                                //   1521  lit(booland): %result = t1_val&t_val
#line 1521 "regression-compile-tmp/chimps.imp"
sw3_LIT_64:;
#line 1521 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return ((T1.VAL) & (T.VAL));
                                                                //   1522  lit(logor):
#line 1522 "regression-compile-tmp/chimps.imp"
sw3_LIT_82:;
                                                                //   1523  lit(boolor):  %result = t1_val!t_val
#line 1523 "regression-compile-tmp/chimps.imp"
sw3_LIT_65:;
#line 1523 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return ((T1.VAL) | (T.VAL));
                                                                //   1524  lit(logxor):  %result = t1_val!!t_val
#line 1524 "regression-compile-tmp/chimps.imp"
sw3_LIT_83:;
#line 1524 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return ((T1.VAL) ^ (T.VAL));
                                                                //   1525  lit(lshift):  %result = t1_val<<t_val
#line 1525 "regression-compile-tmp/chimps.imp"
sw3_LIT_100:;
#line 1525 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return ((T1.VAL) << (T.VAL));
                                                                //   1526  lit(rshift):  %result = t1_val>>t_val
#line 1526 "regression-compile-tmp/chimps.imp"
sw3_LIT_101:;
#line 1526 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return (int)((((unsigned int)(T1.VAL)) >> (T.VAL)));
                                                                //   1527  lit(boolnot): %result = t_val!!true
#line 1527 "regression-compile-tmp/chimps.imp"
sw3_LIT_66:;
#line 1527 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return ((T.VAL) ^ (1));
                                                                //   1528  lit(lognot):  %result = \t_val
#line 1528 "regression-compile-tmp/chimps.imp"
sw3_LIT_102:;
#line 1528 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return (~(T.VAL));
                                                                //   1529  !lit(negate):  %result = -t_val
                                                                //   1530  lit(equals):  %result = true %if t1_val = t_val
#line 1530 "regression-compile-tmp/chimps.imp"
sw3_LIT_70:;
#line 1530 "regression-compile-tmp/chimps.imp"
if (((T1.VAL) != (T.VAL))) goto L_0113;
#line 1530 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1530 "regression-compile-tmp/chimps.imp"
L_0113:;
                                                                //   1531                %result = false
#line 1531 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1532  lit(noteq):   %result = true %if t1_val # t_val
#line 1532 "regression-compile-tmp/chimps.imp"
sw3_LIT_71:;
#line 1532 "regression-compile-tmp/chimps.imp"
if (((T1.VAL) == (T.VAL))) goto L_0114;
#line 1532 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1532 "regression-compile-tmp/chimps.imp"
L_0114:;
                                                                //   1533                %result = false
#line 1533 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1534  lit(lesseq):  %result = true %if t1_val <= t_val
#line 1534 "regression-compile-tmp/chimps.imp"
sw3_LIT_72:;
#line 1534 "regression-compile-tmp/chimps.imp"
if (((T1.VAL) > (T.VAL))) goto L_0115;
#line 1534 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1534 "regression-compile-tmp/chimps.imp"
L_0115:;
                                                                //   1535                %result = false
#line 1535 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1536  lit(less):    %result = true %if t1_val < t_val
#line 1536 "regression-compile-tmp/chimps.imp"
sw3_LIT_73:;
#line 1536 "regression-compile-tmp/chimps.imp"
if (((T1.VAL) >= (T.VAL))) goto L_0116;
#line 1536 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1536 "regression-compile-tmp/chimps.imp"
L_0116:;
                                                                //   1537                %result = false
#line 1537 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1538  lit(greateq): %result = true %if t1_val >= t_val
#line 1538 "regression-compile-tmp/chimps.imp"
sw3_LIT_74:;
#line 1538 "regression-compile-tmp/chimps.imp"
if (((T1.VAL) < (T.VAL))) goto L_0117;
#line 1538 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1538 "regression-compile-tmp/chimps.imp"
L_0117:;
                                                                //   1539                %result = false
#line 1539 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1540  lit(greater): %result = true %if t1_val > t_val
#line 1540 "regression-compile-tmp/chimps.imp"
sw3_LIT_75:;
#line 1540 "regression-compile-tmp/chimps.imp"
if (((T1.VAL) <= (T.VAL))) goto L_0118;
#line 1540 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1540 "regression-compile-tmp/chimps.imp"
L_0118:;
                                                                //   1541                %result = false
#line 1541 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1542  lit(concat):  %result = t1_val+t_val
#line 1542 "regression-compile-tmp/chimps.imp"
sw3_LIT_84:;
#line 1542 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(T1.VAL)) + (T.VAL));
                                                                //   1543  lit(*):       !report(notwhat,-op)
#line 1543 "regression-compile-tmp/chimps.imp"
sw3_LIT_default:;
                                                                //   1544                %result = 1
#line 1544 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   1545  %end
#line 1545 "regression-compile-tmp/chimps.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
                                                                //   1546  
                                                                //   1547  !Get leading operand
                                                                //   1548    atom = next atom %if matched # 0
#line 1548 "regression-compile-tmp/chimps.imp"
if (((MATCHED) == (0))) goto L_0119;
#line 1548 "regression-compile-tmp/chimps.imp"
ATOM = NEXTATOM();
#line 1548 "regression-compile-tmp/chimps.imp"
L_0119:;
                                                                //   1549    atomp1 = atomp;  !note position for reports
#line 1549 "regression-compile-tmp/chimps.imp"
ATOMP1 = ATOMP;
                                                                //   1550    %if atom = ident %start
#line 1550 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (54))) goto L_011a;
                                                                //   1551      matched = 1
#line 1551 "regression-compile-tmp/chimps.imp"
MATCHED = 1;
                                                                //   1552      name error %if item <= 0
#line 1552 "regression-compile-tmp/chimps.imp"
if (((ITEM) > (0))) goto L_011b;
#line 1552 "regression-compile-tmp/chimps.imp"
NAMEERROR();
#line 1552 "regression-compile-tmp/chimps.imp"
L_011b:;
                                                                //   1553      fault(selfref+point) %if item >= dlim0
#line 1553 "regression-compile-tmp/chimps.imp"
if (((ITEM) < (DLIM0))) goto L_011c;
#line 1553 "regression-compile-tmp/chimps.imp"
FAULT(102);
#line 1553 "regression-compile-tmp/chimps.imp"
L_011c:;
                                                                //   1554      type = ditem_type
#line 1554 "regression-compile-tmp/chimps.imp"
TYPE = DITEM->TYPE;
                                                                //   1555      %if control&(refonly+varonly) # 0 %start
#line 1555 "regression-compile-tmp/chimps.imp"
if (((((CONTROL) & (3072))) == (0))) goto L_011d;
                                                                //   1556        error(nonvar+point) %if control&varonly # 0 %and f&var = 0
#line 1556 "regression-compile-tmp/chimps.imp"
if (((((CONTROL) & (2048))) == (0))) goto L_011e;
#line 1556 "regression-compile-tmp/chimps.imp"
if (((((F) & (1))) != (0))) goto L_011e;
#line 1556 "regression-compile-tmp/chimps.imp"
ERROR(94);
#line 1556 "regression-compile-tmp/chimps.imp"
L_011e:;
                                                                //   1557        error(nonref+point) %if type < direct
#line 1557 "regression-compile-tmp/chimps.imp"
if (((TYPE) >= (8192))) goto L_011f;
#line 1557 "regression-compile-tmp/chimps.imp"
ERROR(95);
#line 1557 "regression-compile-tmp/chimps.imp"
L_011f:;
                                                                //   1558      %finish
#line 1558 "regression-compile-tmp/chimps.imp"
L_011d:;
                                                                //   1559      f = ditem_flags
#line 1559 "regression-compile-tmp/chimps.imp"
F = DITEM->FLAGS;
                                                                //   1560      %if inty <= type <= booltype %and f&proc = 0 %start;  !literal
#line 1560 "regression-compile-tmp/chimps.imp"
if ((((2046) > (TYPE))) || (((TYPE) > (2048)))) goto L_0120;
#line 1560 "regression-compile-tmp/chimps.imp"
if (((((F) & (4))) != (0))) goto L_0120;
                                                                //   1561        item = 0;  t = ditem_details
#line 1561 "regression-compile-tmp/chimps.imp"
ITEM = 0;
#line 1561 "regression-compile-tmp/chimps.imp"
T = DITEM->DETAILS;
                                                                //   1562      %else
#line 1562 "regression-compile-tmp/chimps.imp"
goto L_0121;
#line 1562 "regression-compile-tmp/chimps.imp"
L_0120:;
                                                                //   1563        fault(nonliteral+point) %if literal > 0
#line 1563 "regression-compile-tmp/chimps.imp"
if (((LITERAL) <= (0))) goto L_0122;
#line 1563 "regression-compile-tmp/chimps.imp"
FAULT(77);
#line 1563 "regression-compile-tmp/chimps.imp"
L_0122:;
                                                                //   1564        %if f&proc # 0 %start
#line 1564 "regression-compile-tmp/chimps.imp"
if (((((F) & (4))) == (0))) goto L_0123;
                                                                //   1565          ditem == dict(type) %and type = ditem_type %if f&parm # 0
#line 1565 "regression-compile-tmp/chimps.imp"
if (((((F) & (64))) == (0))) goto L_0124;
#line 1565 "regression-compile-tmp/chimps.imp"
DITEM = &DICT[(((int)(TYPE)) - (2001))];
#line 1565 "regression-compile-tmp/chimps.imp"
TYPE = DITEM->TYPE;
#line 1565 "regression-compile-tmp/chimps.imp"
L_0124:;
                                                                //   1566          error(caterr+point) %if type = nulltype;  !routine
#line 1566 "regression-compile-tmp/chimps.imp"
if (((TYPE) != (2041))) goto L_0125;
#line 1566 "regression-compile-tmp/chimps.imp"
ERROR(67);
#line 1566 "regression-compile-tmp/chimps.imp"
L_0125:;
                                                                //   1567          %if a(left) %start
#line 1567 "regression-compile-tmp/chimps.imp"
if (!(A(55))) goto L_0126;
                                                                //   1568            dp == ditem
#line 1568 "regression-compile-tmp/chimps.imp"
DP = DITEM;
                                                                //   1569            get PARMLIST;  get(right)
#line 1569 "regression-compile-tmp/chimps.imp"
GETPARMLIST();
#line 1569 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   1570            ditem == dp
#line 1570 "regression-compile-tmp/chimps.imp"
DITEM = DP;
                                                                //   1571          %else
#line 1571 "regression-compile-tmp/chimps.imp"
goto L_0127;
#line 1571 "regression-compile-tmp/chimps.imp"
L_0126:;
                                                                //   1572            error(toofew+point) %if ditem_flags&more # 0
#line 1572 "regression-compile-tmp/chimps.imp"
if (((((DITEM->FLAGS) & (128))) == (0))) goto L_0128;
#line 1572 "regression-compile-tmp/chimps.imp"
ERROR(97);
#line 1572 "regression-compile-tmp/chimps.imp"
L_0128:;
                                                                //   1573            item = explo;!expref(f&var+fcall,item,0)
#line 1573 "regression-compile-tmp/chimps.imp"
ITEM = EXPLO;
                                                                //   1574          %finish
#line 1574 "regression-compile-tmp/chimps.imp"
L_0127:;
                                                                //   1575        %finish
#line 1575 "regression-compile-tmp/chimps.imp"
L_0123:;
                                                                //   1576        %cycle
#line 1576 "regression-compile-tmp/chimps.imp"
L_0129:;
                                                                //   1577          dp == dict(type&puretype);  t = dp_details
#line 1577 "regression-compile-tmp/chimps.imp"
DP = &DICT[(((int)(((TYPE) & (8191)))) - (2001))];
#line 1577 "regression-compile-tmp/chimps.imp"
T = DP->DETAILS;
                                                                //   1578          atom = next atom %if matched # 0
#line 1578 "regression-compile-tmp/chimps.imp"
if (((MATCHED) == (0))) goto L_012c;
#line 1578 "regression-compile-tmp/chimps.imp"
ATOM = NEXTATOM();
#line 1578 "regression-compile-tmp/chimps.imp"
L_012c:;
                                                                //   1579          %exit %if atom # underline %and atom # left
#line 1579 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (56))) goto L_012d;
#line 1579 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (55))) goto L_012d;
#line 1579 "regression-compile-tmp/chimps.imp"
goto L_012a;
#line 1579 "regression-compile-tmp/chimps.imp"
L_012d:;
                                                                //   1580          matched = 1
#line 1580 "regression-compile-tmp/chimps.imp"
MATCHED = 1;
                                                                //   1581          item1 = item
#line 1581 "regression-compile-tmp/chimps.imp"
ITEM1 = ITEM;
                                                                //   1582          %if atom = left %start
#line 1582 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (55))) goto L_012e;
                                                                //   1583            %cycle
#line 1583 "regression-compile-tmp/chimps.imp"
L_012f:;
                                                                //   1584              syntax error %if t_type < direct;  !element type
#line 1584 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) >= (8192))) goto L_0132;
#line 1584 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 1584 "regression-compile-tmp/chimps.imp"
L_0132:;
                                                                //   1585              type = t_type
#line 1585 "regression-compile-tmp/chimps.imp"
TYPE = T.TYPE;
                                                                //   1586              get VALUE(t_val);  !index
#line 1586 "regression-compile-tmp/chimps.imp"
GETVALUE(T.VAL);
                                                                //   1587              item = explo;!expref(aref,item1,item,t_val)
#line 1587 "regression-compile-tmp/chimps.imp"
ITEM = EXPLO;
                                                                //   1588              ditem == dp
#line 1588 "regression-compile-tmp/chimps.imp"
DITEM = DP;
                                                                //   1589              %exit %if %not a(comma)
#line 1589 "regression-compile-tmp/chimps.imp"
if (A(59)) goto L_0133;
#line 1589 "regression-compile-tmp/chimps.imp"
goto L_0130;
#line 1589 "regression-compile-tmp/chimps.imp"
L_0133:;
                                                                //   1590              dp == dict(type&puretype);  t = dp_details
#line 1590 "regression-compile-tmp/chimps.imp"
DP = &DICT[(((int)(((TYPE) & (8191)))) - (2001))];
#line 1590 "regression-compile-tmp/chimps.imp"
T = DP->DETAILS;
                                                                //   1591              item1 = item
#line 1591 "regression-compile-tmp/chimps.imp"
ITEM1 = ITEM;
                                                                //   1592            %repeat
#line 1592 "regression-compile-tmp/chimps.imp"
goto L_012f;
#line 1592 "regression-compile-tmp/chimps.imp"
L_0130:;
                                                                //   1593            get(right)
#line 1593 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   1594          %else;  !rec subfield
#line 1594 "regression-compile-tmp/chimps.imp"
goto L_0134;
#line 1594 "regression-compile-tmp/chimps.imp"
L_012e:;
                                                                //   1595            syntax error %if t_type # recy
#line 1595 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) == (2042))) goto L_0135;
#line 1595 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 1595 "regression-compile-tmp/chimps.imp"
L_0135:;
                                                                //   1596            get(ident)
#line 1596 "regression-compile-tmp/chimps.imp"
GET(54);
                                                                //   1597            lookup field ident(t_extra)
#line 1597 "regression-compile-tmp/chimps.imp"
LOOKUPFIELDIDENT(T.EXTRA);
                                                                //   1598            error(namerr+point) %if item <= 0
#line 1598 "regression-compile-tmp/chimps.imp"
if (((ITEM) > (0))) goto L_0136;
#line 1598 "regression-compile-tmp/chimps.imp"
ERROR(66);
#line 1598 "regression-compile-tmp/chimps.imp"
L_0136:;
                                                                //   1599            type = ditem_type
#line 1599 "regression-compile-tmp/chimps.imp"
TYPE = DITEM->TYPE;
                                                                //   1600            item = explo;!expref(recref,item,item1)
#line 1600 "regression-compile-tmp/chimps.imp"
ITEM = EXPLO;
                                                                //   1601          %finish
#line 1601 "regression-compile-tmp/chimps.imp"
L_0134:;
                                                                //   1602        %repeat
#line 1602 "regression-compile-tmp/chimps.imp"
goto L_0129;
#line 1602 "regression-compile-tmp/chimps.imp"
L_012a:;
                                                                //   1603        -> final %if control&(varonly+refonly) # 0
#line 1603 "regression-compile-tmp/chimps.imp"
if (((((CONTROL) & (3072))) == (0))) goto L_0137;
#line 1603 "regression-compile-tmp/chimps.imp"
goto U_1009;
#line 1603 "regression-compile-tmp/chimps.imp"
L_0137:;
                                                                //   1604      %finish
#line 1604 "regression-compile-tmp/chimps.imp"
L_0121:;
                                                                //   1605    %else
#line 1605 "regression-compile-tmp/chimps.imp"
goto L_0138;
#line 1605 "regression-compile-tmp/chimps.imp"
L_011a:;
                                                                //   1606      error(nonvar+point) %if control&varonly # 0
#line 1606 "regression-compile-tmp/chimps.imp"
if (((((CONTROL) & (2048))) == (0))) goto L_0139;
#line 1606 "regression-compile-tmp/chimps.imp"
ERROR(94);
#line 1606 "regression-compile-tmp/chimps.imp"
L_0139:;
                                                                //   1607      error(nonref+point) %if control&refonly # 0
#line 1607 "regression-compile-tmp/chimps.imp"
if (((((CONTROL) & (1024))) == (0))) goto L_013a;
#line 1607 "regression-compile-tmp/chimps.imp"
ERROR(95);
#line 1607 "regression-compile-tmp/chimps.imp"
L_013a:;
                                                                //   1608      %if a(const) %start
#line 1608 "regression-compile-tmp/chimps.imp"
if (!(A(53))) goto L_013b;
                                                                //   1609      %else %if atom = minus;  !leave unmatched
#line 1609 "regression-compile-tmp/chimps.imp"
goto L_013c;
#line 1609 "regression-compile-tmp/chimps.imp"
L_013b:;
#line 1609 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (81))) goto L_013d;
                                                                //   1610        item = 0;  t = 0;  t_type = inty
#line 1610 "regression-compile-tmp/chimps.imp"
ITEM = 0;
#line 1610 "regression-compile-tmp/chimps.imp"
T = (OBJINFO){ 0 } /* Assign 0's to all fields of record */;
#line 1610 "regression-compile-tmp/chimps.imp"
T.TYPE = 2046;
                                                                //   1611      %else %if a(left)
#line 1611 "regression-compile-tmp/chimps.imp"
goto L_013c;
#line 1611 "regression-compile-tmp/chimps.imp"
L_013d:;
#line 1611 "regression-compile-tmp/chimps.imp"
if (!(A(55))) goto L_013e;
                                                                //   1612        %if rank < major %start;  !condition
#line 1612 "regression-compile-tmp/chimps.imp"
if (((RANK) >= (80))) goto L_013f;
                                                                //   1613          get EXPRESSION(cond,any)
#line 1613 "regression-compile-tmp/chimps.imp"
GETEXPRESSION(64, 255);
                                                                //   1614        %finish %else %start
#line 1614 "regression-compile-tmp/chimps.imp"
goto L_0140;
#line 1614 "regression-compile-tmp/chimps.imp"
L_013f:;
                                                                //   1615          jammy = jammy-4
#line 1615 "regression-compile-tmp/chimps.imp"
JAMMY = (((int)(JAMMY)) - (4));
                                                                //   1616          c1 = control;  c1 = c1!intok %if c1&realok # 0
#line 1616 "regression-compile-tmp/chimps.imp"
C1 = CONTROL;
#line 1616 "regression-compile-tmp/chimps.imp"
if (((((C1) & (8))) == (0))) goto L_0141;
#line 1616 "regression-compile-tmp/chimps.imp"
C1 = ((C1) | (16));
#line 1616 "regression-compile-tmp/chimps.imp"
L_0141:;
                                                                //   1617          get EXPRESSION(major,c1)
#line 1617 "regression-compile-tmp/chimps.imp"
GETEXPRESSION(80, C1);
                                                                //   1618          jammy = jammy+4
#line 1618 "regression-compile-tmp/chimps.imp"
JAMMY = (((int)(JAMMY)) + (4));
                                                                //   1619        %finish
#line 1619 "regression-compile-tmp/chimps.imp"
L_0140:;
                                                                //   1620        get(right)
#line 1620 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   1621      %else %if a(keynot)
#line 1621 "regression-compile-tmp/chimps.imp"
goto L_013c;
#line 1621 "regression-compile-tmp/chimps.imp"
L_013e:;
#line 1621 "regression-compile-tmp/chimps.imp"
if (!(A(47))) goto L_0142;
                                                                //   1622        syntax error %if rank >= major
#line 1622 "regression-compile-tmp/chimps.imp"
if (((RANK) < (80))) goto L_0143;
#line 1622 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 1622 "regression-compile-tmp/chimps.imp"
L_0143:;
                                                                //   1623        get EXPRESSION(scond,any)
#line 1623 "regression-compile-tmp/chimps.imp"
GETEXPRESSION(70, 255);
                                                                //   1624        %if item = 0 %then t_val = t_val!!true %c
#line 1624 "regression-compile-tmp/chimps.imp"
if (((ITEM) != (0))) goto L_0144;
#line 1624 "regression-compile-tmp/chimps.imp"
T.VAL = ((T.VAL) ^ (1));
#line 1624 "regression-compile-tmp/chimps.imp"
goto L_0145;
#line 1624 "regression-compile-tmp/chimps.imp"
L_0144:;
#line 1624 "regression-compile-tmp/chimps.imp"
ITEM = EXPLO;
#line 1624 "regression-compile-tmp/chimps.imp"
L_0145:;
                                                                //   1625        %else item = explo;!expref(boolnot,item,0)
                                                                //   1626      %else %if atom = backslash
#line 1626 "regression-compile-tmp/chimps.imp"
goto L_013c;
#line 1626 "regression-compile-tmp/chimps.imp"
L_0142:;
#line 1626 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (96))) goto L_0146;
                                                                //   1627        item = 0;  t = 0;  t_type = inty
#line 1627 "regression-compile-tmp/chimps.imp"
ITEM = 0;
#line 1627 "regression-compile-tmp/chimps.imp"
T = (OBJINFO){ 0 } /* Assign 0's to all fields of record */;
#line 1627 "regression-compile-tmp/chimps.imp"
T.TYPE = 2046;
                                                                //   1628        atom = tilde
#line 1628 "regression-compile-tmp/chimps.imp"
ATOM = 102;
                                                                //   1629      %else %if a(modsign)
#line 1629 "regression-compile-tmp/chimps.imp"
goto L_013c;
#line 1629 "regression-compile-tmp/chimps.imp"
L_0146:;
#line 1629 "regression-compile-tmp/chimps.imp"
if (!(A(57))) goto L_0147;
                                                                //   1630        fault(typerr+point) %if control&arithok = 0
#line 1630 "regression-compile-tmp/chimps.imp"
if (((((CONTROL) & (24))) != (0))) goto L_0148;
#line 1630 "regression-compile-tmp/chimps.imp"
FAULT(70);
#line 1630 "regression-compile-tmp/chimps.imp"
L_0148:;
                                                                //   1631        get EXPRESSION(major,arithok)
#line 1631 "regression-compile-tmp/chimps.imp"
GETEXPRESSION(80, 24);
                                                                //   1632        get(modsign)
#line 1632 "regression-compile-tmp/chimps.imp"
GET(57);
                                                                //   1633        %if item = 0 %start
#line 1633 "regression-compile-tmp/chimps.imp"
if (((ITEM) != (0))) goto L_0149;
                                                                //   1634          %if t_val < 0 %start
#line 1634 "regression-compile-tmp/chimps.imp"
if (((T.VAL) >= (0))) goto L_014a;
                                                                //   1635            %if t_val # minint %then t_val = -t_val %else expfault(rangerr)
#line 1635 "regression-compile-tmp/chimps.imp"
if (((T.VAL) == ((-2147483648)))) goto L_014b;
#line 1635 "regression-compile-tmp/chimps.imp"
T.VAL = (-(T.VAL));
#line 1635 "regression-compile-tmp/chimps.imp"
goto L_014c;
#line 1635 "regression-compile-tmp/chimps.imp"
L_014b:;
#line 1635 "regression-compile-tmp/chimps.imp"
EXPFAULT(12);
#line 1635 "regression-compile-tmp/chimps.imp"
L_014c:;
                                                                //   1636          %finish
#line 1636 "regression-compile-tmp/chimps.imp"
L_014a:;
                                                                //   1637        %else %if t_type = inty
#line 1637 "regression-compile-tmp/chimps.imp"
goto L_014d;
#line 1637 "regression-compile-tmp/chimps.imp"
L_0149:;
#line 1637 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) != (2046))) goto L_014e;
                                                                //   1638          item = explo;!expref(imod,item,0)
#line 1638 "regression-compile-tmp/chimps.imp"
ITEM = EXPLO;
                                                                //   1639        %else %if t_type = realy
#line 1639 "regression-compile-tmp/chimps.imp"
goto L_014d;
#line 1639 "regression-compile-tmp/chimps.imp"
L_014e:;
#line 1639 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) != (2045))) goto L_014f;
                                                                //   1640          item = explo;!expref(fmod,item,0)
#line 1640 "regression-compile-tmp/chimps.imp"
ITEM = EXPLO;
                                                                //   1641        %else
#line 1641 "regression-compile-tmp/chimps.imp"
goto L_014d;
#line 1641 "regression-compile-tmp/chimps.imp"
L_014f:;
                                                                //   1642          error(typerr)
#line 1642 "regression-compile-tmp/chimps.imp"
ERROR(6);
                                                                //   1643        %finish
#line 1643 "regression-compile-tmp/chimps.imp"
L_014d:;
                                                                //   1644      %else
#line 1644 "regression-compile-tmp/chimps.imp"
goto L_013c;
#line 1644 "regression-compile-tmp/chimps.imp"
L_0147:;
                                                                //   1645        syntax error
#line 1645 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
                                                                //   1646      %finish
#line 1646 "regression-compile-tmp/chimps.imp"
L_013c:;
                                                                //   1647    %finish
#line 1647 "regression-compile-tmp/chimps.imp"
L_0138:;
                                                                //   1648    atom = next atom %if matched # 0
#line 1648 "regression-compile-tmp/chimps.imp"
if (((MATCHED) == (0))) goto L_0150;
#line 1648 "regression-compile-tmp/chimps.imp"
ATOM = NEXTATOM();
#line 1648 "regression-compile-tmp/chimps.imp"
L_0150:;
                                                                //   1649    %while atom >= rank %cycle
#line 1649 "regression-compile-tmp/chimps.imp"
L_0151:;
#line 1649 "regression-compile-tmp/chimps.imp"
if (((ATOM) < (RANK))) goto L_0152;
                                                                //   1650      op = atom;  matched = 1
#line 1650 "regression-compile-tmp/chimps.imp"
OP = ATOM;
#line 1650 "regression-compile-tmp/chimps.imp"
MATCHED = 1;
                                                                //   1651      opok = opbits(op);  c1 = compat(opok);  ![may change ITEM,T_TYPE]
#line 1651 "regression-compile-tmp/chimps.imp"
OPOK = (OPBITS-64)[OP];
#line 1651 "regression-compile-tmp/chimps.imp"
C1 = COMPAT(OPOK);
                                                                //   1652      fault(typerr+point) %if c1 = 0
#line 1652 "regression-compile-tmp/chimps.imp"
if (((C1) != (0))) goto L_0154;
#line 1652 "regression-compile-tmp/chimps.imp"
FAULT(70);
#line 1652 "regression-compile-tmp/chimps.imp"
L_0154:;
                                                                //   1653      item1 = item;  t1 = t
#line 1653 "regression-compile-tmp/chimps.imp"
ITEM1 = ITEM;
#line 1653 "regression-compile-tmp/chimps.imp"
T1 = T;
                                                                //   1654      %if op >= major %start;  !non-conditional
#line 1654 "regression-compile-tmp/chimps.imp"
if (((OP) < (80))) goto L_0155;
                                                                //   1655        %if op = dot %then get EXPRESSION(dot,stringok) {right-associate} %c
#line 1655 "regression-compile-tmp/chimps.imp"
if (((OP) != (84))) goto L_0156;
#line 1655 "regression-compile-tmp/chimps.imp"
GETEXPRESSION(84, 4);
#line 1655 "regression-compile-tmp/chimps.imp"
goto L_0157;
#line 1655 "regression-compile-tmp/chimps.imp"
L_0156:;
#line 1655 "regression-compile-tmp/chimps.imp"
GETEXPRESSION((((int)(((OP) & ((~(7)))))) + (8)), C1);
#line 1655 "regression-compile-tmp/chimps.imp"
L_0157:;
                                                                //   1656        %else get EXPRESSION(op&(\7)+8,c1)
                                                                //   1657        %if t_type = realy %and t1_type = inty %start
#line 1657 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) != (2045))) goto L_0158;
#line 1657 "regression-compile-tmp/chimps.imp"
if (((T1.TYPE) != (2046))) goto L_0158;
                                                                //   1658          item1 = floated(item1);  t1_type = realy
#line 1658 "regression-compile-tmp/chimps.imp"
ITEM1 = FLOATED(ITEM1);
#line 1658 "regression-compile-tmp/chimps.imp"
T1.TYPE = 2045;
                                                                //   1659        %finish
#line 1659 "regression-compile-tmp/chimps.imp"
L_0158:;
                                                                //   1660  !      op = op+? %if t_type = realy %and opok&intok # 0
                                                                //   1661      %else
#line 1661 "regression-compile-tmp/chimps.imp"
goto L_0159;
#line 1661 "regression-compile-tmp/chimps.imp"
L_0155:;
                                                                //   1662         %if op = resolve %start
#line 1662 "regression-compile-tmp/chimps.imp"
if (((OP) != (79))) goto L_015a;
                                                                //   1663           get RESOLUTION
#line 1663 "regression-compile-tmp/chimps.imp"
GETRESOLUTION();
                                                                //   1664        %else %if op >= eqeq
#line 1664 "regression-compile-tmp/chimps.imp"
goto L_015b;
#line 1664 "regression-compile-tmp/chimps.imp"
L_015a:;
#line 1664 "regression-compile-tmp/chimps.imp"
if (((OP) < (76))) goto L_015c;
                                                                //   1665          get EXPRESSION(simple,any+refonly)
#line 1665 "regression-compile-tmp/chimps.imp"
GETEXPRESSION(104, 1279);
                                                                //   1666        %else %if op >= equals
#line 1666 "regression-compile-tmp/chimps.imp"
goto L_015b;
#line 1666 "regression-compile-tmp/chimps.imp"
L_015c:;
#line 1666 "regression-compile-tmp/chimps.imp"
if (((OP) < (70))) goto L_015d;
                                                                //   1667          get EXPRESSION(major,c1)
#line 1667 "regression-compile-tmp/chimps.imp"
GETEXPRESSION(80, C1);
                                                                //   1668          %if equals <= atom < eqeq %start
#line 1668 "regression-compile-tmp/chimps.imp"
if ((((70) > (ATOM))) || (((ATOM) >= (76)))) goto L_015e;
                                                                //   1669            op = atom;  matched = 1
#line 1669 "regression-compile-tmp/chimps.imp"
OP = ATOM;
#line 1669 "regression-compile-tmp/chimps.imp"
MATCHED = 1;
                                                                //   1670            get EXPRESSION(major,c1)
#line 1670 "regression-compile-tmp/chimps.imp"
GETEXPRESSION(80, C1);
                                                                //   1671          %finish
#line 1671 "regression-compile-tmp/chimps.imp"
L_015e:;
                                                                //   1672          %if t_type = realy %and t1_type = inty %start
#line 1672 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) != (2045))) goto L_015f;
#line 1672 "regression-compile-tmp/chimps.imp"
if (((T1.TYPE) != (2046))) goto L_015f;
                                                                //   1673            item1 = floated(item1);  t1_type = realy
#line 1673 "regression-compile-tmp/chimps.imp"
ITEM1 = FLOATED(ITEM1);
#line 1673 "regression-compile-tmp/chimps.imp"
T1.TYPE = 2045;
                                                                //   1674          %finish
#line 1674 "regression-compile-tmp/chimps.imp"
L_015f:;
                                                                //   1675        %else
#line 1675 "regression-compile-tmp/chimps.imp"
goto L_015b;
#line 1675 "regression-compile-tmp/chimps.imp"
L_015d:;
                                                                //   1676          get EXPRESSION(scond,any)
#line 1676 "regression-compile-tmp/chimps.imp"
GETEXPRESSION(70, 255);
                                                                //   1677          %if atom >= cond %start
#line 1677 "regression-compile-tmp/chimps.imp"
if (((ATOM) < (64))) goto L_0160;
                                                                //   1678            syntax error %if atom # op
#line 1678 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (OP))) goto L_0161;
#line 1678 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 1678 "regression-compile-tmp/chimps.imp"
L_0161:;
                                                                //   1679          %finish
#line 1679 "regression-compile-tmp/chimps.imp"
L_0160:;
                                                                //   1680        %finish
#line 1680 "regression-compile-tmp/chimps.imp"
L_015b:;
                                                                //   1681        t_type = booltype
#line 1681 "regression-compile-tmp/chimps.imp"
T.TYPE = 2048;
                                                                //   1682        t_low = 0 %and t_val = 1 %if item # 0
#line 1682 "regression-compile-tmp/chimps.imp"
if (((ITEM) == (0))) goto L_0162;
#line 1682 "regression-compile-tmp/chimps.imp"
T.LOW = 0;
#line 1682 "regression-compile-tmp/chimps.imp"
T.VAL = 1;
#line 1682 "regression-compile-tmp/chimps.imp"
L_0162:;
                                                                //   1683      %finish
#line 1683 "regression-compile-tmp/chimps.imp"
L_0159:;
                                                                //   1684      %if item1 = 0 %start;  !first operand literal
#line 1684 "regression-compile-tmp/chimps.imp"
if (((ITEM1) != (0))) goto L_0163;
                                                                //   1685        %if item = 0 %start;  !both literal
#line 1685 "regression-compile-tmp/chimps.imp"
if (((ITEM) != (0))) goto L_0164;
                                                                //   1686          t_val = litval
#line 1686 "regression-compile-tmp/chimps.imp"
T.VAL = LITVAL();
                                                                //   1687          %continue %if item = 0
#line 1687 "regression-compile-tmp/chimps.imp"
if (((ITEM) != (0))) goto L_0165;
#line 1687 "regression-compile-tmp/chimps.imp"
goto L_0153;
#line 1687 "regression-compile-tmp/chimps.imp"
L_0165:;
                                                                //   1688  !        item1 = litref(t1_val)
                                                                //   1689  !     %else %if inverse(op) # 0;  !invertable
                                                                //   1690  !        op = inverse(op)
                                                                //   1691  !        temp = t;  t = t1;  t1 = temp;  !standardise order
                                                                //   1692  !        item1 = item;  item = 0
                                                                //   1693        %else
#line 1693 "regression-compile-tmp/chimps.imp"
goto L_0166;
#line 1693 "regression-compile-tmp/chimps.imp"
L_0164:;
                                                                //   1694  !        item1 = litref(t1_val)
                                                                //   1695        %finish
#line 1695 "regression-compile-tmp/chimps.imp"
L_0166:;
                                                                //   1696      %finish
#line 1696 "regression-compile-tmp/chimps.imp"
L_0163:;
                                                                //   1697      %if item = 0 %start;  !second operand literal
#line 1697 "regression-compile-tmp/chimps.imp"
if (((ITEM) != (0))) goto L_0167;
                                                                //   1698        %if op = minus %and t_type = inty %start;  !standardise
#line 1698 "regression-compile-tmp/chimps.imp"
if (((OP) != (81))) goto L_0168;
#line 1698 "regression-compile-tmp/chimps.imp"
if (((T.TYPE) != (2046))) goto L_0168;
                                                                //   1699          t_val = -t_val %if t_val # minint;  op = plus
#line 1699 "regression-compile-tmp/chimps.imp"
if (((T.VAL) == ((-2147483648)))) goto L_0169;
#line 1699 "regression-compile-tmp/chimps.imp"
T.VAL = (-(T.VAL));
#line 1699 "regression-compile-tmp/chimps.imp"
L_0169:;
#line 1699 "regression-compile-tmp/chimps.imp"
OP = 80;
                                                                //   1700        %finish
#line 1700 "regression-compile-tmp/chimps.imp"
L_0168:;
                                                                //   1701        item = item1 %and %continue %if t_val = 0 %and opok&znop # 0
#line 1701 "regression-compile-tmp/chimps.imp"
if (((T.VAL) != (0))) goto L_016a;
#line 1701 "regression-compile-tmp/chimps.imp"
if (((((OPOK) & (512))) == (0))) goto L_016a;
#line 1701 "regression-compile-tmp/chimps.imp"
ITEM = ITEM1;
#line 1701 "regression-compile-tmp/chimps.imp"
goto L_0153;
#line 1701 "regression-compile-tmp/chimps.imp"
L_016a:;
                                                                //   1702      %finish
#line 1702 "regression-compile-tmp/chimps.imp"
L_0167:;
                                                                //   1703      item = explo;!expref(op,item1,item,t_val)
#line 1703 "regression-compile-tmp/chimps.imp"
ITEM = EXPLO;
                                                                //   1704      t_low = minint;  t_val = maxint;  !?real
#line 1704 "regression-compile-tmp/chimps.imp"
T.LOW = (-2147483648);
#line 1704 "regression-compile-tmp/chimps.imp"
T.VAL = 2147483647;
                                                                //   1705    %repeat
#line 1705 "regression-compile-tmp/chimps.imp"
L_0153:;
#line 1705 "regression-compile-tmp/chimps.imp"
goto L_0151;
#line 1705 "regression-compile-tmp/chimps.imp"
L_0152:;
                                                                //   1706  final:
#line 1706 "regression-compile-tmp/chimps.imp"
U_1009:;
                                                                //   1707    expp = atomp1;  !restore to start
#line 1707 "regression-compile-tmp/chimps.imp"
EXPP = ATOMP1;
                                                                //   1708    expfault(typerr) %if compat(control) = 0
#line 1708 "regression-compile-tmp/chimps.imp"
if (((COMPAT(CONTROL)) != (0))) goto L_016b;
#line 1708 "regression-compile-tmp/chimps.imp"
EXPFAULT(6);
#line 1708 "regression-compile-tmp/chimps.imp"
L_016b:;
                                                                //   1709  %end;  !get EXPRESSION
#line 1709 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETEXPRESSION at level 2
                                                                //   1710    
                                                                //   1711  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   1712  !!!!!!!!!!!!!!!!!!!!  Conditions and loops  !!!!!!!!!!!!!!!!!!!!
                                                                //   1713  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   1714  !
                                                                //   1715  %routine GET CONDITION
#line 1715 "regression-compile-tmp/chimps.imp"
void GETCONDITION( void )
#line 1715 "regression-compile-tmp/chimps.imp"
{
                                                                //   1716  %integer polarity
#line 1716 "regression-compile-tmp/chimps.imp"
int POLARITY;
                                                                //   1717    polarity = subatom
#line 1717 "regression-compile-tmp/chimps.imp"
POLARITY = SUBATOM;
                                                                //   1718    condnp = np
#line 1718 "regression-compile-tmp/chimps.imp"
CONDNP = NP;
                                                                //   1719    get EXPRESSION(cond,any)
#line 1719 "regression-compile-tmp/chimps.imp"
GETEXPRESSION(64, 255);
                                                                //   1720  !  put3(jump+polarity,item,0)
                                                                //   1721  %end;  !get CONDITION
#line 1721 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETCONDITION at level 2
                                                                //   1722  
                                                                //   1723  %routine GET STATEMENTS(%integer stopper)
#line 1723 "regression-compile-tmp/chimps.imp"
void GETSTATEMENTS( int STOPPER )
#line 1723 "regression-compile-tmp/chimps.imp"
{
                                                                //   1724  %integer holdnp,holdlooplab
#line 1724 "regression-compile-tmp/chimps.imp"
int HOLDNP;
#line 1724 "regression-compile-tmp/chimps.imp"
int HOLDLOOPLAB;
                                                                //   1725  %switch initial(0:atommax)
#line 1725 "regression-compile-tmp/chimps.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,  };
                                                                //   1726  
                                                                //   1727  %routine GET INSTRUCTION
#line 1727 "regression-compile-tmp/chimps.imp"
void GETINSTRUCTION( void )
#line 1727 "regression-compile-tmp/chimps.imp"
{
                                                                //   1728  %integer item1,hold,act
#line 1728 "regression-compile-tmp/chimps.imp"
int ITEM1;
#line 1728 "regression-compile-tmp/chimps.imp"
int HOLD;
#line 1728 "regression-compile-tmp/chimps.imp"
int ACT;
                                                                //   1729  %record(identinfo)%name ditem1
#line 1729 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*DITEM1;
                                                                //   1730  %routine putact
#line 1730 "regression-compile-tmp/chimps.imp"
void PUTACT( void )
#line 1730 "regression-compile-tmp/chimps.imp"
{
                                                                //   1731  !  put3(act,t_val,hold)
                                                                //   1732  %end
#line 1732 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTACT at level 4
                                                                //   1733  !
                                                                //   1734    %if c_flags < hadinst %start;  !first in block
#line 1734 "regression-compile-tmp/chimps.imp"
if (((C.FLAGS) >= (32))) goto L_016c;
                                                                //   1735      c_flags = c_flags+hadinst
#line 1735 "regression-compile-tmp/chimps.imp"
C.FLAGS = (((int)(C.FLAGS)) + (32));
                                                                //   1736      fault(ordererr) %if level <= outerlevel
#line 1736 "regression-compile-tmp/chimps.imp"
if (((LEVEL) > (0))) goto L_016d;
#line 1736 "regression-compile-tmp/chimps.imp"
FAULT(10);
#line 1736 "regression-compile-tmp/chimps.imp"
L_016d:;
                                                                //   1737    %finish
#line 1737 "regression-compile-tmp/chimps.imp"
L_016c:;
                                                                //   1738    instnp = np
#line 1738 "regression-compile-tmp/chimps.imp"
INSTNP = NP;
                                                                //   1739    %cycle
#line 1739 "regression-compile-tmp/chimps.imp"
L_016e:;
                                                                //   1740      %if a(ident) %start
#line 1740 "regression-compile-tmp/chimps.imp"
if (!(A(54))) goto L_0171;
                                                                //   1741        name error %if item <= 0
#line 1741 "regression-compile-tmp/chimps.imp"
if (((ITEM) > (0))) goto L_0172;
#line 1741 "regression-compile-tmp/chimps.imp"
NAMEERROR();
#line 1741 "regression-compile-tmp/chimps.imp"
L_0172:;
                                                                //   1742        %if ditem_flags&var # 0 %start
#line 1742 "regression-compile-tmp/chimps.imp"
if (((((DITEM->FLAGS) & (1))) == (0))) goto L_0173;
                                                                //   1743          matched = 0
#line 1743 "regression-compile-tmp/chimps.imp"
MATCHED = 0;
                                                                //   1744          get EXPRESSION(simple,any)
#line 1744 "regression-compile-tmp/chimps.imp"
GETEXPRESSION(104, 255);
                                                                //   1745          item1 = item;  ditem1 == ditem
#line 1745 "regression-compile-tmp/chimps.imp"
ITEM1 = ITEM;
#line 1745 "regression-compile-tmp/chimps.imp"
DITEM1 = DITEM;
                                                                //   1746          %if a(equals) %start
#line 1746 "regression-compile-tmp/chimps.imp"
if (!(A(70))) goto L_0174;
                                                                //   1747            get VALUE(ditem1_type)
#line 1747 "regression-compile-tmp/chimps.imp"
GETVALUE(DITEM1->TYPE);
                                                                //   1748  !          put2(assign,item1)
                                                                //   1749         %else %if a(eqeq)
#line 1749 "regression-compile-tmp/chimps.imp"
goto L_0175;
#line 1749 "regression-compile-tmp/chimps.imp"
L_0174:;
#line 1749 "regression-compile-tmp/chimps.imp"
if (!(A(76))) goto L_0176;
                                                                //   1750            syntax error %if ditem1_type < indirect
#line 1750 "regression-compile-tmp/chimps.imp"
if (((DITEM1->TYPE) >= (16384))) goto L_0177;
#line 1750 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 1750 "regression-compile-tmp/chimps.imp"
L_0177:;
                                                                //   1751            get REFERENCE(ditem1_type)
#line 1751 "regression-compile-tmp/chimps.imp"
GETREFERENCE(DITEM1->TYPE);
                                                                //   1752            item = item+ad %if item # 0
#line 1752 "regression-compile-tmp/chimps.imp"
if (((ITEM) == (0))) goto L_0178;
#line 1752 "regression-compile-tmp/chimps.imp"
ITEM = (((int)(ITEM)) + (16384));
#line 1752 "regression-compile-tmp/chimps.imp"
L_0178:;
                                                                //   1753  !          put2(assign,item1+ad)
                                                                //   1754         %else %if atom = less %and byteinteger(fp) = '-'
#line 1754 "regression-compile-tmp/chimps.imp"
goto L_0175;
#line 1754 "regression-compile-tmp/chimps.imp"
L_0176:;
#line 1754 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (73))) goto L_0179;
#line 1754 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (45))) goto L_0179;
                                                                //   1755            fp = fp+1;  matched = 1
#line 1755 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
#line 1755 "regression-compile-tmp/chimps.imp"
MATCHED = 1;
                                                                //   1756            jammy = 2
#line 1756 "regression-compile-tmp/chimps.imp"
JAMMY = 2;
                                                                //   1757            get VALUE(ditem1_type)
#line 1757 "regression-compile-tmp/chimps.imp"
GETVALUE(DITEM1->TYPE);
                                                                //   1758  !          put2(jamassign,item1)
                                                                //   1759          %else
#line 1759 "regression-compile-tmp/chimps.imp"
goto L_0175;
#line 1759 "regression-compile-tmp/chimps.imp"
L_0179:;
                                                                //   1760            syntax error %if %not a(arrow)
#line 1760 "regression-compile-tmp/chimps.imp"
if (A(79)) goto L_017a;
#line 1760 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 1760 "regression-compile-tmp/chimps.imp"
L_017a:;
                                                                //   1761            get RESOLUTION
#line 1761 "regression-compile-tmp/chimps.imp"
GETRESOLUTION();
                                                                //   1762  !          put2(resolve,item1)
                                                                //   1763          %finish
#line 1763 "regression-compile-tmp/chimps.imp"
L_0175:;
                                                                //   1764        %else
#line 1764 "regression-compile-tmp/chimps.imp"
goto L_017b;
#line 1764 "regression-compile-tmp/chimps.imp"
L_0173:;
                                                                //   1765          error(caterr+point) %if ditem_flags&proc = 0
#line 1765 "regression-compile-tmp/chimps.imp"
if (((((DITEM->FLAGS) & (4))) != (0))) goto L_017c;
#line 1765 "regression-compile-tmp/chimps.imp"
ERROR(67);
#line 1765 "regression-compile-tmp/chimps.imp"
L_017c:;
                                                                //   1766          ditem == dict(ditem_type) %if ditem_flags&parm # 0
#line 1766 "regression-compile-tmp/chimps.imp"
if (((((DITEM->FLAGS) & (64))) == (0))) goto L_017d;
#line 1766 "regression-compile-tmp/chimps.imp"
DITEM = &DICT[(((int)(DITEM->TYPE)) - (2001))];
#line 1766 "regression-compile-tmp/chimps.imp"
L_017d:;
                                                                //   1767          error(caterr+point) %if ditem_type # nulltype
#line 1767 "regression-compile-tmp/chimps.imp"
if (((DITEM->TYPE) == (2041))) goto L_017e;
#line 1767 "regression-compile-tmp/chimps.imp"
ERROR(67);
#line 1767 "regression-compile-tmp/chimps.imp"
L_017e:;
                                                                //   1768          %if a(left) %start
#line 1768 "regression-compile-tmp/chimps.imp"
if (!(A(55))) goto L_017f;
                                                                //   1769            get PARMLIST;  get(right)
#line 1769 "regression-compile-tmp/chimps.imp"
GETPARMLIST();
#line 1769 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   1770          %else;  !parameterless routine
#line 1770 "regression-compile-tmp/chimps.imp"
goto L_0180;
#line 1770 "regression-compile-tmp/chimps.imp"
L_017f:;
                                                                //   1771            error(toofew+point) %if ditem_flags&more # 0
#line 1771 "regression-compile-tmp/chimps.imp"
if (((((DITEM->FLAGS) & (128))) == (0))) goto L_0181;
#line 1771 "regression-compile-tmp/chimps.imp"
ERROR(97);
#line 1771 "regression-compile-tmp/chimps.imp"
L_0181:;
                                                                //   1772  !          put3(rcall,item,0)
                                                                //   1773          %finish
#line 1773 "regression-compile-tmp/chimps.imp"
L_0180:;
                                                                //   1774        %finish
#line 1774 "regression-compile-tmp/chimps.imp"
L_017b:;
                                                                //   1775      %finish %else %start
#line 1775 "regression-compile-tmp/chimps.imp"
goto L_0182;
#line 1775 "regression-compile-tmp/chimps.imp"
L_0171:;
                                                                //   1776        act = atom;  hold = subatom;  t_val = 0
#line 1776 "regression-compile-tmp/chimps.imp"
ACT = ATOM;
#line 1776 "regression-compile-tmp/chimps.imp"
HOLD = SUBATOM;
#line 1776 "regression-compile-tmp/chimps.imp"
T.VAL = 0;
                                                                //   1777        c_access = 0
#line 1777 "regression-compile-tmp/chimps.imp"
C.ACCESS = 0;
                                                                //   1778        %if a(monitor) %start
#line 1778 "regression-compile-tmp/chimps.imp"
if (!(A(13))) goto L_0183;
                                                                //   1779          c_access = 1
#line 1779 "regression-compile-tmp/chimps.imp"
C.ACCESS = 1;
                                                                //   1780  !        fault(monitor<<8)
                                                                //   1781        %else %if a(exit);  !%exit, %continue
#line 1781 "regression-compile-tmp/chimps.imp"
goto L_0184;
#line 1781 "regression-compile-tmp/chimps.imp"
L_0183:;
#line 1781 "regression-compile-tmp/chimps.imp"
if (!(A(6))) goto L_0185;
                                                                //   1782          %if looplab = 0 %then fault(notinloop+point) %c
#line 1782 "regression-compile-tmp/chimps.imp"
if (((LOOPLAB) != (0))) goto L_0186;
#line 1782 "regression-compile-tmp/chimps.imp"
FAULT(80);
#line 1782 "regression-compile-tmp/chimps.imp"
goto L_0187;
#line 1782 "regression-compile-tmp/chimps.imp"
L_0186:;
#line 1782 "regression-compile-tmp/chimps.imp"
T.VAL = LOOPLAB;
#line 1782 "regression-compile-tmp/chimps.imp"
PUTACT();
#line 1782 "regression-compile-tmp/chimps.imp"
L_0187:;
                                                                //   1783          %else t_val = looplab %and putact
                                                                //   1784          %exit
#line 1784 "regression-compile-tmp/chimps.imp"
goto L_016f;
                                                                //   1785        %else %if a(return)
#line 1785 "regression-compile-tmp/chimps.imp"
L_0185:;
#line 1785 "regression-compile-tmp/chimps.imp"
if (!(A(7))) goto L_0188;
                                                                //   1786          %if c_type # nulltype %then fault(notinrout+point) %c
#line 1786 "regression-compile-tmp/chimps.imp"
if (((C.TYPE) == (2041))) goto L_0189;
#line 1786 "regression-compile-tmp/chimps.imp"
FAULT(81);
#line 1786 "regression-compile-tmp/chimps.imp"
goto L_018a;
#line 1786 "regression-compile-tmp/chimps.imp"
L_0189:;
#line 1786 "regression-compile-tmp/chimps.imp"
PUTACT();
#line 1786 "regression-compile-tmp/chimps.imp"
L_018a:;
                                                                //   1787          %else putact
                                                                //   1788          %exit
#line 1788 "regression-compile-tmp/chimps.imp"
goto L_016f;
                                                                //   1789        %else %if a(result)
#line 1789 "regression-compile-tmp/chimps.imp"
L_0188:;
#line 1789 "regression-compile-tmp/chimps.imp"
if (!(A(9))) goto L_018b;
                                                                //   1790          error(notinfun+point) %if c_type <= nulltype
#line 1790 "regression-compile-tmp/chimps.imp"
if (((C.TYPE) > (2041))) goto L_018c;
#line 1790 "regression-compile-tmp/chimps.imp"
ERROR(82);
#line 1790 "regression-compile-tmp/chimps.imp"
L_018c:;
                                                                //   1791          syntax error %if %not a assop
#line 1791 "regression-compile-tmp/chimps.imp"
if (AASSOP()) goto L_018d;
#line 1791 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 1791 "regression-compile-tmp/chimps.imp"
L_018d:;
                                                                //   1792          %if c_type < direct %start;  !function
#line 1792 "regression-compile-tmp/chimps.imp"
if (((C.TYPE) >= (8192))) goto L_018e;
                                                                //   1793            fault(caterr+point) %if atom = eqeq
#line 1793 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (76))) goto L_018f;
#line 1793 "regression-compile-tmp/chimps.imp"
FAULT(67);
#line 1793 "regression-compile-tmp/chimps.imp"
L_018f:;
                                                                //   1794            get VALUE(c_type)
#line 1794 "regression-compile-tmp/chimps.imp"
GETVALUE(C.TYPE);
                                                                //   1795  !          put2(result,0)
                                                                //   1796          %else;  !map
#line 1796 "regression-compile-tmp/chimps.imp"
goto L_0190;
#line 1796 "regression-compile-tmp/chimps.imp"
L_018e:;
                                                                //   1797            fault(caterr+point) %if atom # eqeq
#line 1797 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (76))) goto L_0191;
#line 1797 "regression-compile-tmp/chimps.imp"
FAULT(67);
#line 1797 "regression-compile-tmp/chimps.imp"
L_0191:;
                                                                //   1798            get REFERENCE(c_type+(indirect-direct))
#line 1798 "regression-compile-tmp/chimps.imp"
GETREFERENCE(((C.TYPE) + ((int)(8192))));
                                                                //   1799  !          put2(result,0)
                                                                //   1800          %finish
#line 1800 "regression-compile-tmp/chimps.imp"
L_0190:;
                                                                //   1801          %exit
#line 1801 "regression-compile-tmp/chimps.imp"
goto L_016f;
                                                                //   1802        %else %if a(tf);  !%true, %false
#line 1802 "regression-compile-tmp/chimps.imp"
L_018b:;
#line 1802 "regression-compile-tmp/chimps.imp"
if (!(A(8))) goto L_0192;
                                                                //   1803          %if c_type # booltype %then fault(notinpred+point) %c
#line 1803 "regression-compile-tmp/chimps.imp"
if (((C.TYPE) == (2048))) goto L_0193;
#line 1803 "regression-compile-tmp/chimps.imp"
FAULT(83);
#line 1803 "regression-compile-tmp/chimps.imp"
goto L_0194;
#line 1803 "regression-compile-tmp/chimps.imp"
L_0193:;
#line 1803 "regression-compile-tmp/chimps.imp"
PUTACT();
#line 1803 "regression-compile-tmp/chimps.imp"
L_0194:;
                                                                //   1804          %else putact
                                                                //   1805          %exit
#line 1805 "regression-compile-tmp/chimps.imp"
goto L_016f;
                                                                //   1806        %else %if a(arrow) %or a(goto)
#line 1806 "regression-compile-tmp/chimps.imp"
L_0192:;
#line 1806 "regression-compile-tmp/chimps.imp"
if (A(79)) goto L_012b;
#line 1806 "regression-compile-tmp/chimps.imp"
if (!(A(11))) goto L_0195;
#line 1806 "regression-compile-tmp/chimps.imp"
L_012b:;
                                                                //   1807          nonstandard(kgoto) %if atom = goto
#line 1807 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (11))) goto L_0196;
#line 1807 "regression-compile-tmp/chimps.imp"
NONSTANDARD(128);
#line 1807 "regression-compile-tmp/chimps.imp"
L_0196:;
                                                                //   1808          get(ident)
#line 1808 "regression-compile-tmp/chimps.imp"
GET(54);
                                                                //   1809          %if byteinteger(fp) # '(' %start
#line 1809 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) == (40))) goto L_0197;
                                                                //   1810            %if item < c_localdpos %or ditem_flags&lab = 0 %c
#line 1810 "regression-compile-tmp/chimps.imp"
if (((ITEM) < (C.LOCALDPOS))) goto L_0131;
#line 1810 "regression-compile-tmp/chimps.imp"
if (((((DITEM->FLAGS) & (2))) == (0))) goto L_0131;
#line 1810 "regression-compile-tmp/chimps.imp"
if (((DITEM->TYPE) == (2041))) goto L_0198;
#line 1810 "regression-compile-tmp/chimps.imp"
L_0131:;
                                                                //   1811            %or ditem_type # nulltype %start
                                                                //   1812              d_flags = spec+lab;  d_type = nulltype
#line 1812 "regression-compile-tmp/chimps.imp"
D.FLAGS = 18;
#line 1812 "regression-compile-tmp/chimps.imp"
D.TYPE = 2041;
                                                                //   1813              declare
#line 1813 "regression-compile-tmp/chimps.imp"
DECLARE();
                                                                //   1814            %finish
#line 1814 "regression-compile-tmp/chimps.imp"
L_0198:;
                                                                //   1815  !          put3(jump,item,0)
                                                                //   1816          %finish %else %start
#line 1816 "regression-compile-tmp/chimps.imp"
goto L_0199;
#line 1816 "regression-compile-tmp/chimps.imp"
L_0197:;
                                                                //   1817            name error %if item < c_localdpos
#line 1817 "regression-compile-tmp/chimps.imp"
if (((ITEM) >= (C.LOCALDPOS))) goto L_019a;
#line 1817 "regression-compile-tmp/chimps.imp"
NAMEERROR();
#line 1817 "regression-compile-tmp/chimps.imp"
L_019a:;
                                                                //   1818            syntax error %if ditem_flags&lab = 0 %or ditem_type = nulltype
#line 1818 "regression-compile-tmp/chimps.imp"
if (((((DITEM->FLAGS) & (2))) == (0))) goto L_019b;
#line 1818 "regression-compile-tmp/chimps.imp"
if (((DITEM->TYPE) != (2041))) goto L_019c;
#line 1818 "regression-compile-tmp/chimps.imp"
L_019b:;
#line 1818 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 1818 "regression-compile-tmp/chimps.imp"
L_019c:;
                                                                //   1819            get(left)
#line 1819 "regression-compile-tmp/chimps.imp"
GET(55);
                                                                //   1820            get VALUE(ditem_type);  !index
#line 1820 "regression-compile-tmp/chimps.imp"
GETVALUE(DITEM->TYPE);
                                                                //   1821            get(right)
#line 1821 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   1822          %finish
#line 1822 "regression-compile-tmp/chimps.imp"
L_0199:;
                                                                //   1823          %exit
#line 1823 "regression-compile-tmp/chimps.imp"
goto L_016f;
                                                                //   1824        %else %if a(stop)
#line 1824 "regression-compile-tmp/chimps.imp"
L_0195:;
#line 1824 "regression-compile-tmp/chimps.imp"
if (!(A(10))) goto L_019d;
                                                                //   1825          putact
#line 1825 "regression-compile-tmp/chimps.imp"
PUTACT();
                                                                //   1826          %exit
#line 1826 "regression-compile-tmp/chimps.imp"
goto L_016f;
                                                                //   1827        %else %if a(signal)
#line 1827 "regression-compile-tmp/chimps.imp"
L_019d:;
#line 1827 "regression-compile-tmp/chimps.imp"
if (!(A(12))) goto L_019e;
                                                                //   1828          c_access = 1
#line 1828 "regression-compile-tmp/chimps.imp"
C.ACCESS = 1;
                                                                //   1829          allow(keyevent)
#line 1829 "regression-compile-tmp/chimps.imp"
ALLOW(44);
                                                                //   1830          get LITINT
#line 1830 "regression-compile-tmp/chimps.imp"
GETLITINT();
                                                                //   1831          expfault(rangerr+point) %unless 0 <= t_val <= 15
#line 1831 "regression-compile-tmp/chimps.imp"
if ((((0) > (T.VAL))) || (((T.VAL) <= (15)))) goto L_019f;
#line 1831 "regression-compile-tmp/chimps.imp"
L_00aa:;
#line 1831 "regression-compile-tmp/chimps.imp"
EXPFAULT(76);
#line 1831 "regression-compile-tmp/chimps.imp"
L_019f:;
                                                                //   1832          hold = t_val;  t_val = 0
#line 1832 "regression-compile-tmp/chimps.imp"
HOLD = T.VAL;
#line 1832 "regression-compile-tmp/chimps.imp"
T.VAL = 0;
                                                                //   1833          get LITINT %if a(comma)
#line 1833 "regression-compile-tmp/chimps.imp"
if (!(A(59))) goto L_01a0;
#line 1833 "regression-compile-tmp/chimps.imp"
GETLITINT();
#line 1833 "regression-compile-tmp/chimps.imp"
L_01a0:;
                                                                //   1834          hold = t_val<<4+hold
#line 1834 "regression-compile-tmp/chimps.imp"
HOLD = (((int)(((T.VAL) << (4)))) + (HOLD));
                                                                //   1835          item = 0;  t_val = 0
#line 1835 "regression-compile-tmp/chimps.imp"
ITEM = 0;
#line 1835 "regression-compile-tmp/chimps.imp"
T.VAL = 0;
                                                                //   1836          get VALUE(anyint) %if a(comma)
#line 1836 "regression-compile-tmp/chimps.imp"
if (!(A(59))) goto L_01a1;
#line 1836 "regression-compile-tmp/chimps.imp"
GETVALUE(10238);
#line 1836 "regression-compile-tmp/chimps.imp"
L_01a1:;
                                                                //   1837  !        put2(act,hold)
                                                                //   1838          %exit
#line 1838 "regression-compile-tmp/chimps.imp"
goto L_016f;
                                                                //   1839        %else
#line 1839 "regression-compile-tmp/chimps.imp"
L_019e:;
                                                                //   1840          syntax error
#line 1840 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
                                                                //   1841        %finish
#line 1841 "regression-compile-tmp/chimps.imp"
L_0184:;
                                                                //   1842      %finish
#line 1842 "regression-compile-tmp/chimps.imp"
L_0182:;
                                                                //   1843    %repeat %until %not a(keyand)
#line 1843 "regression-compile-tmp/chimps.imp"
if (!(A(64))) goto L_016f;
#line 1843 "regression-compile-tmp/chimps.imp"
goto L_016e;
#line 1843 "regression-compile-tmp/chimps.imp"
L_016f:;
                                                                //   1844  %end;  !GET INSTRUCTION
#line 1844 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETINSTRUCTION at level 3
                                                                //   1845  
                                                                //   1846  %routine GET FOR CLAUSE
#line 1846 "regression-compile-tmp/chimps.imp"
void GETFORCLAUSE( void )
#line 1846 "regression-compile-tmp/chimps.imp"
{
                                                                //   1847  %integer loopvar,k,s,start,sval,i,inc,ival,e,n,temp
#line 1847 "regression-compile-tmp/chimps.imp"
int LOOPVAR;
#line 1847 "regression-compile-tmp/chimps.imp"
int K;
#line 1847 "regression-compile-tmp/chimps.imp"
int S;
#line 1847 "regression-compile-tmp/chimps.imp"
int START;
#line 1847 "regression-compile-tmp/chimps.imp"
int SVAL;
#line 1847 "regression-compile-tmp/chimps.imp"
int I;
#line 1847 "regression-compile-tmp/chimps.imp"
int INC;
#line 1847 "regression-compile-tmp/chimps.imp"
int IVAL;
#line 1847 "regression-compile-tmp/chimps.imp"
int E;
#line 1847 "regression-compile-tmp/chimps.imp"
int N;
#line 1847 "regression-compile-tmp/chimps.imp"
int TEMP;
                                                                //   1848  %integer eval
#line 1848 "regression-compile-tmp/chimps.imp"
int EVAL;
                                                                //   1849  %record(identinfo)%name dp
#line 1849 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*DP;
                                                                //   1850    holdnp = np;  temp = 0
#line 1850 "regression-compile-tmp/chimps.imp"
HOLDNP = NP;
#line 1850 "regression-compile-tmp/chimps.imp"
TEMP = 0;
                                                                //   1851    dict(curlab)_val = 1;  !dummy
#line 1851 "regression-compile-tmp/chimps.imp"
DICT[(((int)(CURLAB)) - (2001))].VAL = 1;
                                                                //   1852    condnp = np
#line 1852 "regression-compile-tmp/chimps.imp"
CONDNP = NP;
                                                                //   1853    get(ident)
#line 1853 "regression-compile-tmp/chimps.imp"
GET(54);
                                                                //   1854    name error %if item <= 0
#line 1854 "regression-compile-tmp/chimps.imp"
if (((ITEM) > (0))) goto L_01a2;
#line 1854 "regression-compile-tmp/chimps.imp"
NAMEERROR();
#line 1854 "regression-compile-tmp/chimps.imp"
L_01a2:;
                                                                //   1855    fault(typerr+point) %if dict(ditem_type&puretype)_type # inty
#line 1855 "regression-compile-tmp/chimps.imp"
if (((DICT[(((int)(((DITEM->TYPE) & (8191)))) - (2001))].TYPE) == (2046))) goto L_01a3;
#line 1855 "regression-compile-tmp/chimps.imp"
FAULT(70);
#line 1855 "regression-compile-tmp/chimps.imp"
L_01a3:;
                                                                //   1856    fault(caterr+point+warn) %if ditem_type # direct+inttype
#line 1856 "regression-compile-tmp/chimps.imp"
if (((DITEM->TYPE) == (10243))) goto L_01a4;
#line 1856 "regression-compile-tmp/chimps.imp"
FAULT(195);
#line 1856 "regression-compile-tmp/chimps.imp"
L_01a4:;
                                                                //   1857    loopvar = item;  dp == ditem
#line 1857 "regression-compile-tmp/chimps.imp"
LOOPVAR = ITEM;
#line 1857 "regression-compile-tmp/chimps.imp"
DP = DITEM;
                                                                //   1858    get(equals)
#line 1858 "regression-compile-tmp/chimps.imp"
GET(70);
                                                                //   1859    get VALUE(ditem_type)
#line 1859 "regression-compile-tmp/chimps.imp"
GETVALUE(DITEM->TYPE);
                                                                //   1860    start = item;  sval = t_val
#line 1860 "regression-compile-tmp/chimps.imp"
START = ITEM;
#line 1860 "regression-compile-tmp/chimps.imp"
SVAL = T.VAL;
                                                                //   1861    get(comma)
#line 1861 "regression-compile-tmp/chimps.imp"
GET(59);
                                                                //   1862    get VALUE(anyint)
#line 1862 "regression-compile-tmp/chimps.imp"
GETVALUE(10238);
                                                                //   1863    inc = item;  ival = t_val
#line 1863 "regression-compile-tmp/chimps.imp"
INC = ITEM;
#line 1863 "regression-compile-tmp/chimps.imp"
IVAL = T.VAL;
                                                                //   1864    expfault(rangerr+point) %and ival = 1 %if inc = 0 = ival
#line 1864 "regression-compile-tmp/chimps.imp"
if ((((INC) != (0))) || (((0) != (IVAL)))) goto L_01a5;
#line 1864 "regression-compile-tmp/chimps.imp"
EXPFAULT(76);
#line 1864 "regression-compile-tmp/chimps.imp"
IVAL = 1;
#line 1864 "regression-compile-tmp/chimps.imp"
L_01a5:;
                                                                //   1865    get(comma)
#line 1865 "regression-compile-tmp/chimps.imp"
GET(59);
                                                                //   1866    get VALUE(ditem_type)
#line 1866 "regression-compile-tmp/chimps.imp"
GETVALUE(DITEM->TYPE);
                                                                //   1867  !Deal with INC and replace START by START-INC
                                                                //   1868  !  k = undef
                                                                //   1869  !  k = exp(start)_y %if start >= expmin %and exp(start)_act = plus
                                                                //   1870    %if inc = 0 %start;  !literal increment
#line 1870 "regression-compile-tmp/chimps.imp"
if (((INC) != (0))) goto L_01a6;
                                                                //   1871      i = 1;  !litref(ival)
#line 1871 "regression-compile-tmp/chimps.imp"
I = 1;
                                                                //   1872      %if start = 0 %start;  !START and INC both literal
#line 1872 "regression-compile-tmp/chimps.imp"
if (((START) != (0))) goto L_01a7;
                                                                //   1873        sval = sval-ival;  s = 1;  !litref(sval)
#line 1873 "regression-compile-tmp/chimps.imp"
SVAL = (((int)(SVAL)) - (IVAL));
#line 1873 "regression-compile-tmp/chimps.imp"
S = 1;
                                                                //   1874  !   %else %if k <= litmax;  !START is x+lit
                                                                //   1875  !      k = ival-litval(k)
                                                                //   1876  !      s = exp(start)_x;  s = explo;!expref(plus,s,litref(k)) %if k # 0
                                                                //   1877      %else
#line 1877 "regression-compile-tmp/chimps.imp"
goto L_01a8;
#line 1877 "regression-compile-tmp/chimps.imp"
L_01a7:;
                                                                //   1878        s = explo;!expref(plus,start,litref(-ival))
#line 1878 "regression-compile-tmp/chimps.imp"
S = EXPLO;
                                                                //   1879      %finish
#line 1879 "regression-compile-tmp/chimps.imp"
L_01a8:;
                                                                //   1880    %finish %else %start;  !allocate temp var
#line 1880 "regression-compile-tmp/chimps.imp"
goto L_01a9;
#line 1880 "regression-compile-tmp/chimps.imp"
L_01a6:;
                                                                //   1881  !    i = tempvar;  put3(assign,i,inc);  temp = temp-4
                                                                //   1882  !    %if start = inc %start;  !identical
                                                                //   1883  !      s = 0;  sval = 0
                                                                //   1884  !   %else %if k = inc;  !START is x+INC
                                                                //   1885  !      s = exp(start)_x
                                                                //   1886  !    %else
                                                                //   1887  !      s = start;  s = litref(sval) %if s = 0
                                                                //   1888        s = explo;!expref(minus,s,i)
#line 1888 "regression-compile-tmp/chimps.imp"
S = EXPLO;
                                                                //   1889  !    %finish
                                                                //   1890    %finish
#line 1890 "regression-compile-tmp/chimps.imp"
L_01a9:;
                                                                //   1891  !  %if item = 0 %start;  !literal end-value
                                                                //   1892  !    e = litref(t_val);  eval = t_val
                                                                //   1893  !  %finish %else %start
                                                                //   1894  !    e = tempvar;  put3(assign,e,item);  temp = temp-4
                                                                //   1895  !  %finish
                                                                //   1896  !  put3(assign,loopvar,s)
                                                                //   1897  !  put3(label,curlab,0)
                                                                //   1898    %if start!inc!item = 0 %start;  !all literal
#line 1898 "regression-compile-tmp/chimps.imp"
if (((((((START) | (INC))) | (ITEM))) != (0))) goto L_01aa;
                                                                //   1899      k = t_val-sval;  n = k//ival
#line 1899 "regression-compile-tmp/chimps.imp"
K = (((int)(T.VAL)) - (SVAL));
#line 1899 "regression-compile-tmp/chimps.imp"
N = (long)((long)((int)(K)) / (long)((int)(_Z(IVAL))));
                                                                //   1900      fault(boundserr) %if n < 0
#line 1900 "regression-compile-tmp/chimps.imp"
if (((N) >= (0))) goto L_01ab;
#line 1900 "regression-compile-tmp/chimps.imp"
FAULT(14);
#line 1900 "regression-compile-tmp/chimps.imp"
L_01ab:;
                                                                //   1901      fault(unending) %if n*ival # k
#line 1901 "regression-compile-tmp/chimps.imp"
if ((((((int)(N)) * (IVAL))) == (K))) goto L_01ac;
#line 1901 "regression-compile-tmp/chimps.imp"
FAULT(37);
#line 1901 "regression-compile-tmp/chimps.imp"
L_01ac:;
                                                                //   1902  !    %if 0 <= t_val <= 32767 %start
                                                                //   1903  !      temp = loopvar
                                                                //   1904  !    %finish
                                                                //   1905    %finish
#line 1905 "regression-compile-tmp/chimps.imp"
L_01aa:;
                                                                //   1906  !  %if temp <= 0 %start
                                                                //   1907  !    c_fortemps = c_fortemps-temp;  !ie increment
                                                                //   1908  !    put3(compare,loopvar,e)
                                                                //   1909  !    put3(eq,0,curlab+1)
                                                                //   1910  !  %finish
                                                                //   1911  !  put3(plusass,loopvar,i)
                                                                //   1912  !  compile(holdnp,np)
                                                                //   1913  %end;  !get FORCLAUSE
#line 1913 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETFORCLAUSE at level 3
                                                                //   1914  
                                                                //   1915  %routine GET SWITCH INDEX
#line 1915 "regression-compile-tmp/chimps.imp"
void GETSWITCHINDEX( void )
#line 1915 "regression-compile-tmp/chimps.imp"
{
                                                                //   1916  %integer item1
#line 1916 "regression-compile-tmp/chimps.imp"
int ITEM1;
                                                                //   1917  %record(identinfo)%name dp
#line 1917 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*DP;
                                                                //   1918    item1 = item;  dp == ditem
#line 1918 "regression-compile-tmp/chimps.imp"
ITEM1 = ITEM;
#line 1918 "regression-compile-tmp/chimps.imp"
DP = DITEM;
                                                                //   1919    get(left)
#line 1919 "regression-compile-tmp/chimps.imp"
GET(55);
                                                                //   1920    item = 1
#line 1920 "regression-compile-tmp/chimps.imp"
ITEM = 1;
                                                                //   1921    %if a(star) %start
#line 1921 "regression-compile-tmp/chimps.imp"
if (!(A(88))) goto L_01ad;
                                                                //   1922      fault(duperr+point) %if dp_spare # 0
#line 1922 "regression-compile-tmp/chimps.imp"
if (((DP->SPARE) == (0))) goto L_01ae;
#line 1922 "regression-compile-tmp/chimps.imp"
FAULT(71);
#line 1922 "regression-compile-tmp/chimps.imp"
L_01ae:;
                                                                //   1923      dp_spare = 1
#line 1923 "regression-compile-tmp/chimps.imp"
DP->SPARE = 1;
                                                                //   1924    %else
#line 1924 "regression-compile-tmp/chimps.imp"
goto L_01af;
#line 1924 "regression-compile-tmp/chimps.imp"
L_01ad:;
                                                                //   1925      get LITERAL(dp_type)
#line 1925 "regression-compile-tmp/chimps.imp"
GETLITERAL(DP->TYPE);
                                                                //   1926     !beware faulty declaration or index
                                                                //   1927      %if dp_type > inttype %and faultnum = 0 %start
#line 1927 "regression-compile-tmp/chimps.imp"
if (((DP->TYPE) <= (2051))) goto L_01b0;
#line 1927 "regression-compile-tmp/chimps.imp"
if (((FAULTNUM) != (0))) goto L_01b0;
                                                                //   1928        t_val = t_val-dict(dp_type)_low+dp_val
#line 1928 "regression-compile-tmp/chimps.imp"
T.VAL = (((int)((((int)(T.VAL)) - (DICT[(((int)(DP->TYPE)) - (2001))].LOW)))) + (DP->VAL));
                                                                //   1929        expfault(duperr+point) %if final(t_val) # 0
#line 1929 "regression-compile-tmp/chimps.imp"
if (((FINAL[T.VAL]) == (0))) goto L_01b1;
#line 1929 "regression-compile-tmp/chimps.imp"
EXPFAULT(71);
#line 1929 "regression-compile-tmp/chimps.imp"
L_01b1:;
                                                                //   1930  !      define jumps(final(t_val));  !in case of lit jumps
                                                                //   1931        final(t_val) = 1
#line 1931 "regression-compile-tmp/chimps.imp"
FINAL[T.VAL] = 1;
                                                                //   1932      %finish
#line 1932 "regression-compile-tmp/chimps.imp"
L_01b0:;
                                                                //   1933    %finish
#line 1933 "regression-compile-tmp/chimps.imp"
L_01af:;
                                                                //   1934    get(right)
#line 1934 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   1935    c_access = 1
#line 1935 "regression-compile-tmp/chimps.imp"
C.ACCESS = 1;
                                                                //   1936  %end
#line 1936 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETSWITCHINDEX at level 3
                                                                //   1937  
                                                                //   1938  ![unsure of efficiency implications of trapping overflow lower down]
                                                                //   1939  %on %event 1,14 %start
#line 1939 "regression-compile-tmp/chimps.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 */
                                                                //   1940  !$IF VAX
                                                                //   1941    report(rangerr,0) %if event_event = 1
#line 1941 "regression-compile-tmp/chimps.imp"
if (((_imp_EVENT().EVENT) != (1))) goto L_01b3;
#line 1941 "regression-compile-tmp/chimps.imp"
REPORT(12, 0);
#line 1941 "regression-compile-tmp/chimps.imp"
L_01b3:;
                                                                //   1942  !$IF AMDAHL
                                                                //   1943  {  report(rangerr,0) %if eventinf>>8 = 1
                                                                //   1944  !$FINISH
                                                                //   1945    -> skip
#line 1945 "regression-compile-tmp/chimps.imp"
goto U_100a;
                                                                //   1946  %finish
#line 1946 "regression-compile-tmp/chimps.imp"
L_01b2:;
                                                                //   1947  !!!!!!!!!!!!!!!!!!!  Start of new statement  !!!!!!!!!!!!!!!!!!!
                                                                //   1948  next:
#line 1948 "regression-compile-tmp/chimps.imp"
U_100b:;
                                                                //   1949    statements = statements+1
#line 1949 "regression-compile-tmp/chimps.imp"
STATEMENTS = (((int)(STATEMENTS)) + (1));
                                                                //   1950  next1:
#line 1950 "regression-compile-tmp/chimps.imp"
U_100c:;
                                                                //   1951    report(faultnum,faultp) %if faultnum # 0
#line 1951 "regression-compile-tmp/chimps.imp"
if (((FAULTNUM) == (0))) goto L_01b4;
#line 1951 "regression-compile-tmp/chimps.imp"
REPORT(FAULTNUM, FAULTP);
#line 1951 "regression-compile-tmp/chimps.imp"
L_01b4:;
                                                                //   1952    d = 0;  declmode = 0;  dsize = 0
#line 1952 "regression-compile-tmp/chimps.imp"
D = (IDENTINFO){ 0 } /* Assign 0's to all fields of record */;
#line 1952 "regression-compile-tmp/chimps.imp"
DECLMODE = 0;
#line 1952 "regression-compile-tmp/chimps.imp"
DSIZE = 0;
                                                                //   1953    dlim0 = dlim;  elements = 0
#line 1953 "regression-compile-tmp/chimps.imp"
DLIM0 = DLIM;
#line 1953 "regression-compile-tmp/chimps.imp"
ELEMENTS = 0;
                                                                //   1954    speccing = 0;  mcoding = 0
#line 1954 "regression-compile-tmp/chimps.imp"
SPECCING = 0;
#line 1954 "regression-compile-tmp/chimps.imp"
MCODING = 0;
                                                                //   1955    literal = 0;  jammy = 0
#line 1955 "regression-compile-tmp/chimps.imp"
LITERAL = 0;
#line 1955 "regression-compile-tmp/chimps.imp"
JAMMY = 0;
                                                                //   1956    dict(curlab)_val = 0;  dict(curlab+1)_val = 0
#line 1956 "regression-compile-tmp/chimps.imp"
DICT[(((int)(CURLAB)) - (2001))].VAL = 0;
#line 1956 "regression-compile-tmp/chimps.imp"
DICT[(((int)((((int)(CURLAB)) + (1)))) - (2001))].VAL = 0;
                                                                //   1957    np = np0;  instnp = np0;  condnp = np0
#line 1957 "regression-compile-tmp/chimps.imp"
NP = 3255;
#line 1957 "regression-compile-tmp/chimps.imp"
INSTNP = 3255;
#line 1957 "regression-compile-tmp/chimps.imp"
CONDNP = 3255;
                                                                //   1958  !  constad == finalad;  constbound = purebound
                                                                //   1959    %if explo < expmin+50 %or litpos > litmax-50 %start
#line 1959 "regression-compile-tmp/chimps.imp"
if (((EXPLO) < (3305))) goto L_0170;
#line 1959 "regression-compile-tmp/chimps.imp"
if (((LITPOS) <= (1950))) goto L_01b5;
#line 1959 "regression-compile-tmp/chimps.imp"
L_0170:;
                                                                //   1960      !zaps = zaps+1;  zaps = zaps+999 %if litpos > litmax-50
                                                                //   1961      forget all
#line 1961 "regression-compile-tmp/chimps.imp"
FORGETALL();
                                                                //   1962    %finish
#line 1962 "regression-compile-tmp/chimps.imp"
L_01b5:;
                                                                //   1963    t_val = 0
#line 1963 "regression-compile-tmp/chimps.imp"
T.VAL = 0;
                                                                //   1964  !
                                                                //   1965  initial(terminator):
#line 1965 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_52:;
                                                                //   1966    atom = next atom;  matched = 1
#line 1966 "regression-compile-tmp/chimps.imp"
ATOM = NEXTATOM();
#line 1966 "regression-compile-tmp/chimps.imp"
MATCHED = 1;
                                                                //   1967    -> initial(atom)
#line 1967 "regression-compile-tmp/chimps.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);
}
                                                                //   1968  initial(star): initial(exclam): initial(exclam2):
#line 1968 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_88:;
#line 1968 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_82:;
#line 1968 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_83:;
                                                                //   1969    read line
#line 1969 "regression-compile-tmp/chimps.imp"
READLINE();
                                                                //   1970    -> next1
#line 1970 "regression-compile-tmp/chimps.imp"
goto U_100c;
                                                                //   1971  term:
#line 1971 "regression-compile-tmp/chimps.imp"
U_1009:;
                                                                //   1972    get(terminator)
#line 1972 "regression-compile-tmp/chimps.imp"
GET(52);
                                                                //   1973    -> next
#line 1973 "regression-compile-tmp/chimps.imp"
goto U_100b;
                                                                //   1974  
                                                                //   1975  skip:
#line 1975 "regression-compile-tmp/chimps.imp"
U_100a:;
                                                                //   1976    c_access = -1
#line 1976 "regression-compile-tmp/chimps.imp"
C.ACCESS = (-1);
                                                                //   1977    %if atom # terminator %start
#line 1977 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (52))) goto L_01b6;
                                                                //   1978      %cycle
#line 1978 "regression-compile-tmp/chimps.imp"
L_01b7:;
                                                                //   1979        subatom = atom;  atom = next atom
#line 1979 "regression-compile-tmp/chimps.imp"
SUBATOM = ATOM;
#line 1979 "regression-compile-tmp/chimps.imp"
ATOM = NEXTATOM();
                                                                //   1980      %repeat %until atom = terminator
#line 1980 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (52))) goto L_01b8;
#line 1980 "regression-compile-tmp/chimps.imp"
goto L_01b7;
#line 1980 "regression-compile-tmp/chimps.imp"
L_01b8:;
                                                                //   1981      starts = starts+1 %if subatom = start
#line 1981 "regression-compile-tmp/chimps.imp"
if (((SUBATOM) != (21))) goto L_01ba;
#line 1981 "regression-compile-tmp/chimps.imp"
STARTS = (((int)(STARTS)) + (1));
#line 1981 "regression-compile-tmp/chimps.imp"
L_01ba:;
                                                                //   1982      cycles = cycles+1 %if subatom = cycle
#line 1982 "regression-compile-tmp/chimps.imp"
if (((SUBATOM) != (22))) goto L_01bb;
#line 1982 "regression-compile-tmp/chimps.imp"
CYCLES = (((int)(CYCLES)) + (1));
#line 1982 "regression-compile-tmp/chimps.imp"
L_01bb:;
                                                                //   1983    %finish
#line 1983 "regression-compile-tmp/chimps.imp"
L_01b6:;
                                                                //   1984    -> next
#line 1984 "regression-compile-tmp/chimps.imp"
goto U_100b;
                                                                //   1985  
                                                                //   1986  initial(dud):
#line 1986 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_63:;
                                                                //   1987    syntax error;  !ie atom error
#line 1987 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
                                                                //   1988  
                                                                //   1989  initial(*):
#line 1989 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_default:;
                                                                //   1990    error(nonstarter+point)
#line 1990 "regression-compile-tmp/chimps.imp"
ERROR(93);
                                                                //   1991  
                                                                //   1992  initial(ident):
#line 1992 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_54:;
                                                                //   1993    %if byteinteger(fp) = ':' %start;  !simple label
#line 1993 "regression-compile-tmp/chimps.imp"
if (((*_imp_BYTEINTEGER(FP)) != (58))) goto L_01bc;
                                                                //   1994      fp = fp+1
#line 1994 "regression-compile-tmp/chimps.imp"
FP = (((int)(FP)) + (1));
                                                                //   1995      d_flags = lab;  d_type = nulltype
#line 1995 "regression-compile-tmp/chimps.imp"
D.FLAGS = 2;
#line 1995 "regression-compile-tmp/chimps.imp"
D.TYPE = 2041;
                                                                //   1996      declare
#line 1996 "regression-compile-tmp/chimps.imp"
DECLARE();
                                                                //   1997      set user label(item)
#line 1997 "regression-compile-tmp/chimps.imp"
SETUSERLABEL(ITEM);
                                                                //   1998      ->next
#line 1998 "regression-compile-tmp/chimps.imp"
goto U_100b;
                                                                //   1999    %finish
#line 1999 "regression-compile-tmp/chimps.imp"
L_01bc:;
                                                                //   2000    name error %if item <= 0
#line 2000 "regression-compile-tmp/chimps.imp"
if (((ITEM) > (0))) goto L_01bd;
#line 2000 "regression-compile-tmp/chimps.imp"
NAMEERROR();
#line 2000 "regression-compile-tmp/chimps.imp"
L_01bd:;
                                                                //   2001    %if ditem_flags&lab # 0 %start
#line 2001 "regression-compile-tmp/chimps.imp"
if (((((DITEM->FLAGS) & (2))) == (0))) goto L_01be;
                                                                //   2002      get SWITCH INDEX
#line 2002 "regression-compile-tmp/chimps.imp"
GETSWITCHINDEX();
                                                                //   2003      get(colon)
#line 2003 "regression-compile-tmp/chimps.imp"
GET(58);
                                                                //   2004      ->next
#line 2004 "regression-compile-tmp/chimps.imp"
goto U_100b;
                                                                //   2005    %finish
#line 2005 "regression-compile-tmp/chimps.imp"
L_01be:;
                                                                //   2006  initial(return): initial(result): initial(tf):
#line 2006 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_7:;
#line 2006 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_9:;
#line 2006 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_8:;
                                                                //   2007  initial(stop): initial(signal): initial(monitor):
#line 2007 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_10:;
#line 2007 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_12:;
#line 2007 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_13:;
                                                                //   2008  initial(exit): initial(goto): initial(arrow):
#line 2008 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_6:;
#line 2008 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_11:;
#line 2008 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_79:;
                                                                //   2009    matched = 0
#line 2009 "regression-compile-tmp/chimps.imp"
MATCHED = 0;
                                                                //   2010    get INSTRUCTION
#line 2010 "regression-compile-tmp/chimps.imp"
GETINSTRUCTION();
                                                                //   2011    -> next %if a(terminator)
#line 2011 "regression-compile-tmp/chimps.imp"
if (!(A(52))) goto L_01bf;
#line 2011 "regression-compile-tmp/chimps.imp"
goto U_100b;
#line 2011 "regression-compile-tmp/chimps.imp"
L_01bf:;
                                                                //   2012    c_access = 1
#line 2012 "regression-compile-tmp/chimps.imp"
C.ACCESS = 1;
                                                                //   2013    %if a(iu) %start
#line 2013 "regression-compile-tmp/chimps.imp"
if (!(A(16))) goto L_01c0;
                                                                //   2014      holdnp = np
#line 2014 "regression-compile-tmp/chimps.imp"
HOLDNP = NP;
                                                                //   2015      get CONDITION
#line 2015 "regression-compile-tmp/chimps.imp"
GETCONDITION();
                                                                //   2016  !    compile(holdnp,np)
                                                                //   2017    %else %if a(while)
#line 2017 "regression-compile-tmp/chimps.imp"
goto L_01c1;
#line 2017 "regression-compile-tmp/chimps.imp"
L_01c0:;
#line 2017 "regression-compile-tmp/chimps.imp"
if (!(A(17))) goto L_01c2;
                                                                //   2018      holdnp = np
#line 2018 "regression-compile-tmp/chimps.imp"
HOLDNP = NP;
                                                                //   2019  !    put3(label,curlab,0)
                                                                //   2020      get CONDITION
#line 2020 "regression-compile-tmp/chimps.imp"
GETCONDITION();
                                                                //   2021  !    compile(holdnp,np)
                                                                //   2022  !    put3(jump,curlab,0)
                                                                //   2023  !    put3(label,curlab+1,0)
                                                                //   2024    %else %if a(for)
#line 2024 "regression-compile-tmp/chimps.imp"
goto L_01c1;
#line 2024 "regression-compile-tmp/chimps.imp"
L_01c2:;
#line 2024 "regression-compile-tmp/chimps.imp"
if (!(A(19))) goto L_01c3;
                                                                //   2025      get FOR CLAUSE
#line 2025 "regression-compile-tmp/chimps.imp"
GETFORCLAUSE();
                                                                //   2026  !    put3(jump,curlab,0)
                                                                //   2027  !    put3(label,curlab+1,0)
                                                                //   2028    %else
#line 2028 "regression-compile-tmp/chimps.imp"
goto L_01c1;
#line 2028 "regression-compile-tmp/chimps.imp"
L_01c3:;
                                                                //   2029      syntax error %if %not a(until)
#line 2029 "regression-compile-tmp/chimps.imp"
if (A(18)) goto L_01c4;
#line 2029 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 2029 "regression-compile-tmp/chimps.imp"
L_01c4:;
                                                                //   2030      get CONDITION
#line 2030 "regression-compile-tmp/chimps.imp"
GETCONDITION();
                                                                //   2031    %finish
#line 2031 "regression-compile-tmp/chimps.imp"
L_01c1:;
                                                                //   2032    -> term
#line 2032 "regression-compile-tmp/chimps.imp"
goto U_1009;
                                                                //   2033  
                                                                //   2034  initial(iu):  !%if, %unless
#line 2034 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_16:;
                                                                //   2035    %cycle
#line 2035 "regression-compile-tmp/chimps.imp"
L_01c5:;
                                                                //   2036      holdnp = np
#line 2036 "regression-compile-tmp/chimps.imp"
HOLDNP = NP;
                                                                //   2037      get CONDITION
#line 2037 "regression-compile-tmp/chimps.imp"
GETCONDITION();
                                                                //   2038  !    compile(holdnp,np)
                                                                //   2039      %if a(then) %start
#line 2039 "regression-compile-tmp/chimps.imp"
if (!(A(20))) goto L_01c8;
                                                                //   2040        -> fudge %if a(start)
#line 2040 "regression-compile-tmp/chimps.imp"
if (!(A(21))) goto L_01c9;
#line 2040 "regression-compile-tmp/chimps.imp"
goto U_100d;
#line 2040 "regression-compile-tmp/chimps.imp"
L_01c9:;
                                                                //   2041        get INSTRUCTION
#line 2041 "regression-compile-tmp/chimps.imp"
GETINSTRUCTION();
                                                                //   2042      %finish %else %start
#line 2042 "regression-compile-tmp/chimps.imp"
goto L_01ca;
#line 2042 "regression-compile-tmp/chimps.imp"
L_01c8:;
                                                                //   2043        get(start)
#line 2043 "regression-compile-tmp/chimps.imp"
GET(21);
                                                                //   2044  fudge:
#line 2044 "regression-compile-tmp/chimps.imp"
U_100d:;
                                                                //   2045        %cycle
#line 2045 "regression-compile-tmp/chimps.imp"
L_01cb:;
                                                                //   2046          get(terminator)
#line 2046 "regression-compile-tmp/chimps.imp"
GET(52);
                                                                //   2047          curlab = curlab+2
#line 2047 "regression-compile-tmp/chimps.imp"
CURLAB = (((int)(CURLAB)) + (2));
                                                                //   2048          get STATEMENTS(else)
#line 2048 "regression-compile-tmp/chimps.imp"
GETSTATEMENTS(4);
                                                                //   2049          curlab = curlab-2
#line 2049 "regression-compile-tmp/chimps.imp"
CURLAB = (((int)(CURLAB)) - (2));
                                                                //   2050          %exit %if atom # else;  !%finish ->
#line 2050 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (4))) goto L_01ce;
#line 2050 "regression-compile-tmp/chimps.imp"
goto L_01cc;
#line 2050 "regression-compile-tmp/chimps.imp"
L_01ce:;
                                                                //   2051          get CONDITION %if a(iu)
#line 2051 "regression-compile-tmp/chimps.imp"
if (!(A(16))) goto L_01cf;
#line 2051 "regression-compile-tmp/chimps.imp"
GETCONDITION();
#line 2051 "regression-compile-tmp/chimps.imp"
L_01cf:;
                                                                //   2052        %repeat
#line 2052 "regression-compile-tmp/chimps.imp"
goto L_01cb;
#line 2052 "regression-compile-tmp/chimps.imp"
L_01cc:;
                                                                //   2053        %return %if atom # finish
#line 2053 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (3))) goto L_01d0;
#line 2053 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2053 "regression-compile-tmp/chimps.imp"
L_01d0:;
                                                                //   2054      %finish
#line 2054 "regression-compile-tmp/chimps.imp"
L_01ca:;
                                                                //   2055      %exit %if %not a(else)
#line 2055 "regression-compile-tmp/chimps.imp"
if (A(4)) goto L_01d1;
#line 2055 "regression-compile-tmp/chimps.imp"
goto L_01c6;
#line 2055 "regression-compile-tmp/chimps.imp"
L_01d1:;
                                                                //   2056      -> fudge %if a(start)
#line 2056 "regression-compile-tmp/chimps.imp"
if (!(A(21))) goto L_01d2;
#line 2056 "regression-compile-tmp/chimps.imp"
goto U_100d;
#line 2056 "regression-compile-tmp/chimps.imp"
L_01d2:;
                                                                //   2057      get INSTRUCTION %and %exit %if %not a(iu)
#line 2057 "regression-compile-tmp/chimps.imp"
if (A(16)) goto L_01d3;
#line 2057 "regression-compile-tmp/chimps.imp"
GETINSTRUCTION();
#line 2057 "regression-compile-tmp/chimps.imp"
goto L_01c6;
#line 2057 "regression-compile-tmp/chimps.imp"
L_01d3:;
                                                                //   2058    %repeat
#line 2058 "regression-compile-tmp/chimps.imp"
goto L_01c5;
#line 2058 "regression-compile-tmp/chimps.imp"
L_01c6:;
                                                                //   2059    -> term
#line 2059 "regression-compile-tmp/chimps.imp"
goto U_1009;
                                                                //   2060  
                                                                //   2061  initial(cycle):
#line 2061 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_22:;
                                                                //   2062    %if a(terminator) %start
#line 2062 "regression-compile-tmp/chimps.imp"
if (!(A(52))) goto L_01d4;
                                                                //   2063      holdlooplab = looplab;  looplab = curlab
#line 2063 "regression-compile-tmp/chimps.imp"
HOLDLOOPLAB = LOOPLAB;
#line 2063 "regression-compile-tmp/chimps.imp"
LOOPLAB = CURLAB;
                                                                //   2064      curlab = curlab+2
#line 2064 "regression-compile-tmp/chimps.imp"
CURLAB = (((int)(CURLAB)) + (2));
                                                                //   2065      get STATEMENTS(repeat)
#line 2065 "regression-compile-tmp/chimps.imp"
GETSTATEMENTS(2);
                                                                //   2066      curlab = curlab-2;  looplab = holdlooplab
#line 2066 "regression-compile-tmp/chimps.imp"
CURLAB = (((int)(CURLAB)) - (2));
#line 2066 "regression-compile-tmp/chimps.imp"
LOOPLAB = HOLDLOOPLAB;
                                                                //   2067      %return %if atom # repeat
#line 2067 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (2))) goto L_01d5;
#line 2067 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2067 "regression-compile-tmp/chimps.imp"
L_01d5:;
                                                                //   2068      get CONDITION %if a(until)
#line 2068 "regression-compile-tmp/chimps.imp"
if (!(A(18))) goto L_01d6;
#line 2068 "regression-compile-tmp/chimps.imp"
GETCONDITION();
#line 2068 "regression-compile-tmp/chimps.imp"
L_01d6:;
                                                                //   2069      -> term
#line 2069 "regression-compile-tmp/chimps.imp"
goto U_1009;
                                                                //   2070    %finish
#line 2070 "regression-compile-tmp/chimps.imp"
L_01d4:;
                                                                //   2071    nonstandard(oldcycle)
#line 2071 "regression-compile-tmp/chimps.imp"
NONSTANDARD(4096);
                                                                //   2072    get FOR CLAUSE
#line 2072 "regression-compile-tmp/chimps.imp"
GETFORCLAUSE();
                                                                //   2073    -> for1
#line 2073 "regression-compile-tmp/chimps.imp"
goto U_100e;
                                                                //   2074  initial(while):
#line 2074 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_17:;
                                                                //   2075    holdnp = np
#line 2075 "regression-compile-tmp/chimps.imp"
HOLDNP = NP;
                                                                //   2076  !  put3(label,curlab,0)
                                                                //   2077    get CONDITION
#line 2077 "regression-compile-tmp/chimps.imp"
GETCONDITION();
                                                                //   2078  !  compile(holdnp,np)
                                                                //   2079    get(cycle)
#line 2079 "regression-compile-tmp/chimps.imp"
GET(22);
                                                                //   2080    get(terminator)
#line 2080 "regression-compile-tmp/chimps.imp"
GET(52);
                                                                //   2081    holdlooplab = looplab;  looplab = curlab
#line 2081 "regression-compile-tmp/chimps.imp"
HOLDLOOPLAB = LOOPLAB;
#line 2081 "regression-compile-tmp/chimps.imp"
LOOPLAB = CURLAB;
                                                                //   2082    curlab = curlab+2
#line 2082 "regression-compile-tmp/chimps.imp"
CURLAB = (((int)(CURLAB)) + (2));
                                                                //   2083    get STATEMENTS(repeat)
#line 2083 "regression-compile-tmp/chimps.imp"
GETSTATEMENTS(2);
                                                                //   2084    curlab = curlab-2;  looplab = holdlooplab
#line 2084 "regression-compile-tmp/chimps.imp"
CURLAB = (((int)(CURLAB)) - (2));
#line 2084 "regression-compile-tmp/chimps.imp"
LOOPLAB = HOLDLOOPLAB;
                                                                //   2085    %return %if atom # repeat
#line 2085 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (2))) goto L_01d7;
#line 2085 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2085 "regression-compile-tmp/chimps.imp"
L_01d7:;
                                                                //   2086    nonstandard(loop2) %and get CONDITION %if a(until)
#line 2086 "regression-compile-tmp/chimps.imp"
if (!(A(18))) goto L_01d8;
#line 2086 "regression-compile-tmp/chimps.imp"
NONSTANDARD(8192);
#line 2086 "regression-compile-tmp/chimps.imp"
GETCONDITION();
#line 2086 "regression-compile-tmp/chimps.imp"
L_01d8:;
                                                                //   2087  !  put3(jump,curlab,0)
                                                                //   2088  !  put3(label,curlab+1,0)
                                                                //   2089    ->term
#line 2089 "regression-compile-tmp/chimps.imp"
goto U_1009;
                                                                //   2090  initial(for):
#line 2090 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_19:;
                                                                //   2091    get FOR CLAUSE
#line 2091 "regression-compile-tmp/chimps.imp"
GETFORCLAUSE();
                                                                //   2092    get(cycle)
#line 2092 "regression-compile-tmp/chimps.imp"
GET(22);
                                                                //   2093  for1:
#line 2093 "regression-compile-tmp/chimps.imp"
U_100e:;
                                                                //   2094    get(terminator)
#line 2094 "regression-compile-tmp/chimps.imp"
GET(52);
                                                                //   2095    holdlooplab = looplab;  looplab = curlab
#line 2095 "regression-compile-tmp/chimps.imp"
HOLDLOOPLAB = LOOPLAB;
#line 2095 "regression-compile-tmp/chimps.imp"
LOOPLAB = CURLAB;
                                                                //   2096    curlab = curlab+2
#line 2096 "regression-compile-tmp/chimps.imp"
CURLAB = (((int)(CURLAB)) + (2));
                                                                //   2097    get STATEMENTS(repeat)
#line 2097 "regression-compile-tmp/chimps.imp"
GETSTATEMENTS(2);
                                                                //   2098    curlab = curlab-2;  looplab = holdlooplab
#line 2098 "regression-compile-tmp/chimps.imp"
CURLAB = (((int)(CURLAB)) - (2));
#line 2098 "regression-compile-tmp/chimps.imp"
LOOPLAB = HOLDLOOPLAB;
                                                                //   2099    %return %if atom # repeat
#line 2099 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (2))) goto L_01d9;
#line 2099 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2099 "regression-compile-tmp/chimps.imp"
L_01d9:;
                                                                //   2100  !  put3(repeat,0,0)
                                                                //   2101    -> term
#line 2101 "regression-compile-tmp/chimps.imp"
goto U_1009;
                                                                //   2102  
                                                                //   2103  initial(on):
#line 2103 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_15:;
                                                                //   2104    fault(ordererr+point) %if c_flags >= hadon %or level <= outerlevel
#line 2104 "regression-compile-tmp/chimps.imp"
if (((C.FLAGS) >= (16))) goto L_01c7;
#line 2104 "regression-compile-tmp/chimps.imp"
if (((LEVEL) > (0))) goto L_01da;
#line 2104 "regression-compile-tmp/chimps.imp"
L_01c7:;
#line 2104 "regression-compile-tmp/chimps.imp"
FAULT(74);
#line 2104 "regression-compile-tmp/chimps.imp"
L_01da:;
                                                                //   2105    c_flags = c_flags!hadon
#line 2105 "regression-compile-tmp/chimps.imp"
C.FLAGS = ((C.FLAGS) | (16));
                                                                //   2106    matched = 1
#line 2106 "regression-compile-tmp/chimps.imp"
MATCHED = 1;
                                                                //   2107    allow(keyevent)
#line 2107 "regression-compile-tmp/chimps.imp"
ALLOW(44);
                                                                //   2108    %cycle
#line 2108 "regression-compile-tmp/chimps.imp"
L_01db:;
                                                                //   2109      get LITINT
#line 2109 "regression-compile-tmp/chimps.imp"
GETLITINT();
                                                                //   2110      expfault(rangerr+point) %unless 0 <= t_val <= 15
#line 2110 "regression-compile-tmp/chimps.imp"
if ((((0) > (T.VAL))) || (((T.VAL) <= (15)))) goto L_01de;
#line 2110 "regression-compile-tmp/chimps.imp"
L_01b9:;
#line 2110 "regression-compile-tmp/chimps.imp"
EXPFAULT(76);
#line 2110 "regression-compile-tmp/chimps.imp"
L_01de:;
                                                                //   2111      c_events = c_events!1<<t_val
#line 2111 "regression-compile-tmp/chimps.imp"
C.EVENTS = ((C.EVENTS) | (((1) << (T.VAL))));
                                                                //   2112    %repeat %until %not a(comma)
#line 2112 "regression-compile-tmp/chimps.imp"
if (!(A(59))) goto L_01dc;
#line 2112 "regression-compile-tmp/chimps.imp"
goto L_01db;
#line 2112 "regression-compile-tmp/chimps.imp"
L_01dc:;
                                                                //   2113    get(start)
#line 2113 "regression-compile-tmp/chimps.imp"
GET(21);
                                                                //   2114  !  put3(on,0,0)
                                                                //   2115    curlab = curlab+2
#line 2115 "regression-compile-tmp/chimps.imp"
CURLAB = (((int)(CURLAB)) + (2));
                                                                //   2116    get STATEMENTS(finish)
#line 2116 "regression-compile-tmp/chimps.imp"
GETSTATEMENTS(3);
                                                                //   2117    curlab = curlab-2
#line 2117 "regression-compile-tmp/chimps.imp"
CURLAB = (((int)(CURLAB)) - (2));
                                                                //   2118    %return %if atom # finish
#line 2118 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (3))) goto L_01df;
#line 2118 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2118 "regression-compile-tmp/chimps.imp"
L_01df:;
                                                                //   2119    -> term
#line 2119 "regression-compile-tmp/chimps.imp"
goto U_1009;
                                                                //   2120  !
                                                                //   2121  initial(else):
#line 2121 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_4:;
                                                                //   2122    -> skip %if starts # 0
#line 2122 "regression-compile-tmp/chimps.imp"
if (((STARTS) == (0))) goto L_01e0;
#line 2122 "regression-compile-tmp/chimps.imp"
goto U_100a;
#line 2122 "regression-compile-tmp/chimps.imp"
L_01e0:;
                                                                //   2123    %return %if stopper = else
#line 2123 "regression-compile-tmp/chimps.imp"
if (((STOPPER) != (4))) goto L_01e1;
#line 2123 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2123 "regression-compile-tmp/chimps.imp"
L_01e1:;
                                                                //   2124    error(noif) %if stopper = finish
#line 2124 "regression-compile-tmp/chimps.imp"
if (((STOPPER) != (3))) goto L_01e2;
#line 2124 "regression-compile-tmp/chimps.imp"
ERROR(21);
#line 2124 "regression-compile-tmp/chimps.imp"
L_01e2:;
                                                                //   2125  initial(finish):
#line 2125 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_3:;
                                                                //   2126    starts = starts-1 %and -> skip %if starts # 0
#line 2126 "regression-compile-tmp/chimps.imp"
if (((STARTS) == (0))) goto L_01e3;
#line 2126 "regression-compile-tmp/chimps.imp"
STARTS = (((int)(STARTS)) - (1));
#line 2126 "regression-compile-tmp/chimps.imp"
goto U_100a;
#line 2126 "regression-compile-tmp/chimps.imp"
L_01e3:;
                                                                //   2127    %return %if stopper = finish %or stopper = else
#line 2127 "regression-compile-tmp/chimps.imp"
if (((STOPPER) == (3))) goto L_01dd;
#line 2127 "regression-compile-tmp/chimps.imp"
if (((STOPPER) != (4))) goto L_01e4;
#line 2127 "regression-compile-tmp/chimps.imp"
L_01dd:;
#line 2127 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2127 "regression-compile-tmp/chimps.imp"
L_01e4:;
                                                                //   2128    error(nostart)
#line 2128 "regression-compile-tmp/chimps.imp"
ERROR(8);
                                                                //   2129  initial(repeat):
#line 2129 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_2:;
                                                                //   2130    cycles = cycles-1 %and -> skip %if cycles # 0
#line 2130 "regression-compile-tmp/chimps.imp"
if (((CYCLES) == (0))) goto L_01e5;
#line 2130 "regression-compile-tmp/chimps.imp"
CYCLES = (((int)(CYCLES)) - (1));
#line 2130 "regression-compile-tmp/chimps.imp"
goto U_100a;
#line 2130 "regression-compile-tmp/chimps.imp"
L_01e5:;
                                                                //   2131    %return %if stopper = repeat
#line 2131 "regression-compile-tmp/chimps.imp"
if (((STOPPER) != (2))) goto L_01e6;
#line 2131 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2131 "regression-compile-tmp/chimps.imp"
L_01e6:;
                                                                //   2132    error(nocycle)
#line 2132 "regression-compile-tmp/chimps.imp"
ERROR(9);
                                                                //   2133  
                                                                //   2134  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   2135  !!!!!!!!!!!!!!!!!!!!  Declarations  !!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   2136  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   2137  !
                                                                //   2138  %integerfn NEWATYPE(%integer eltype,xtype)
#line 2138 "regression-compile-tmp/chimps.imp"
int NEWATYPE( int ELTYPE, int XTYPE )
#line 2138 "regression-compile-tmp/chimps.imp"
{
                                                                //   2139  %integer dpos
#line 2139 "regression-compile-tmp/chimps.imp"
int DPOS;
                                                                //   2140  %record(identinfo)%name dp
#line 2140 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*DP;
                                                                //   2141  %ownrecord(identinfo) d=0
#line 2141 "regression-compile-tmp/chimps.imp"
static  IDENTINFO D = { 0 } /* Initialise all fields of a record to 0. */;
                                                                //   2142    dpos = dictmin
#line 2142 "regression-compile-tmp/chimps.imp"
DPOS = 2041;
                                                                //   2143    %cycle
#line 2143 "regression-compile-tmp/chimps.imp"
L_01e7:;
                                                                //   2144      dp == dict(dpos)
#line 2144 "regression-compile-tmp/chimps.imp"
DP = &DICT[(((int)(DPOS)) - (2001))];
                                                                //   2145      %result = dpos+direct %if dp_flags&typeid # 0 %c
#line 2145 "regression-compile-tmp/chimps.imp"
if (((((DP->FLAGS) & (256))) == (0))) goto L_01ea;
#line 2145 "regression-compile-tmp/chimps.imp"
if (((DP->TYPE) != (ELTYPE))) goto L_01ea;
#line 2145 "regression-compile-tmp/chimps.imp"
if (((DP->VAL) != (XTYPE))) goto L_01ea;
#line 2145 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(DPOS)) + (8192));
#line 2145 "regression-compile-tmp/chimps.imp"
L_01ea:;
                                                                //   2146                     %and dp_type = eltype %and dp_val = xtype
                                                                //   2147      dpos = dpos+1
#line 2147 "regression-compile-tmp/chimps.imp"
DPOS = (((int)(DPOS)) + (1));
                                                                //   2148    %repeat %until dpos = dlim
#line 2148 "regression-compile-tmp/chimps.imp"
if (((DPOS) == (DLIM))) goto L_01e8;
#line 2148 "regression-compile-tmp/chimps.imp"
goto L_01e7;
#line 2148 "regression-compile-tmp/chimps.imp"
L_01e8:;
                                                                //   2149    d_flags = typeid;  d_type = eltype;  d_val = xtype
#line 2149 "regression-compile-tmp/chimps.imp"
D.FLAGS = 256;
#line 2149 "regression-compile-tmp/chimps.imp"
D.TYPE = ELTYPE;
#line 2149 "regression-compile-tmp/chimps.imp"
D.VAL = XTYPE;
                                                                //   2150    dict(dpos) = d
#line 2150 "regression-compile-tmp/chimps.imp"
DICT[(((int)(DPOS)) - (2001))] = D;
                                                                //   2151    dlim = dlim+1;  croak("Too many identifers") %if dlim >= dmin
#line 2151 "regression-compile-tmp/chimps.imp"
DLIM = (((int)(DLIM)) + (1));
#line 2151 "regression-compile-tmp/chimps.imp"
if (((DLIM) < (DMIN))) goto L_01eb;
#line 2151 "regression-compile-tmp/chimps.imp"
CROAK(_imp_str_literal("Too many identifers"));
#line 2151 "regression-compile-tmp/chimps.imp"
L_01eb:;
                                                                //   2152    %result = dpos+direct
#line 2152 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return (((int)(DPOS)) + (8192));
                                                                //   2153  %end
#line 2153 "regression-compile-tmp/chimps.imp"
} // End of block NEWATYPE at level 3
                                                                //   2154  !
                                                                //   2155  %integerfn NEWSTYPE(%integer max)
#line 2155 "regression-compile-tmp/chimps.imp"
int NEWSTYPE( int MAX )
#line 2155 "regression-compile-tmp/chimps.imp"
{
                                                                //   2156  %integer dpos
#line 2156 "regression-compile-tmp/chimps.imp"
int DPOS;
                                                                //   2157  %record(identinfo)%name dp
#line 2157 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*DP;
                                                                //   2158  %ownrecord(identinfo) d=0
#line 2158 "regression-compile-tmp/chimps.imp"
static  IDENTINFO D = { 0 } /* Initialise all fields of a record to 0. */;
                                                                //   2159    dpos = dictmin
#line 2159 "regression-compile-tmp/chimps.imp"
DPOS = 2041;
                                                                //   2160    %cycle
#line 2160 "regression-compile-tmp/chimps.imp"
L_01ec:;
                                                                //   2161      dp == dict(dpos)
#line 2161 "regression-compile-tmp/chimps.imp"
DP = &DICT[(((int)(DPOS)) - (2001))];
                                                                //   2162      %result = dpos %if dp_type = stringy %and dp_val = max
#line 2162 "regression-compile-tmp/chimps.imp"
if (((DP->TYPE) != (2044))) goto L_01ef;
#line 2162 "regression-compile-tmp/chimps.imp"
if (((DP->VAL) != (MAX))) goto L_01ef;
#line 2162 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return DPOS;
#line 2162 "regression-compile-tmp/chimps.imp"
L_01ef:;
                                                                //   2163      dpos = dpos+1
#line 2163 "regression-compile-tmp/chimps.imp"
DPOS = (((int)(DPOS)) + (1));
                                                                //   2164    %repeat %until dpos = dlim
#line 2164 "regression-compile-tmp/chimps.imp"
if (((DPOS) == (DLIM))) goto L_01ed;
#line 2164 "regression-compile-tmp/chimps.imp"
goto L_01ec;
#line 2164 "regression-compile-tmp/chimps.imp"
L_01ed:;
                                                                //   2165    d_flags = typeid;  d_type = stringy
#line 2165 "regression-compile-tmp/chimps.imp"
D.FLAGS = 256;
#line 2165 "regression-compile-tmp/chimps.imp"
D.TYPE = 2044;
                                                                //   2166    d_val = max
#line 2166 "regression-compile-tmp/chimps.imp"
D.VAL = MAX;
                                                                //   2167    dict(dpos) = d
#line 2167 "regression-compile-tmp/chimps.imp"
DICT[(((int)(DPOS)) - (2001))] = D;
                                                                //   2168    dlim = dlim+1;  croak("Too many identifers") %if dlim >= dmin
#line 2168 "regression-compile-tmp/chimps.imp"
DLIM = (((int)(DLIM)) + (1));
#line 2168 "regression-compile-tmp/chimps.imp"
if (((DLIM) < (DMIN))) goto L_01f0;
#line 2168 "regression-compile-tmp/chimps.imp"
CROAK(_imp_str_literal("Too many identifers"));
#line 2168 "regression-compile-tmp/chimps.imp"
L_01f0:;
                                                                //   2169    %result = dpos
#line 2169 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return DPOS;
                                                                //   2170  %end
#line 2170 "regression-compile-tmp/chimps.imp"
} // End of block NEWSTYPE at level 3
                                                                //   2171  !
                                                                //   2172  %integerfn NEWRANGE(%integer type,lower,upper)
#line 2172 "regression-compile-tmp/chimps.imp"
int NEWRANGE( int TYPE, int LOWER, int UPPER )
#line 2172 "regression-compile-tmp/chimps.imp"
{
                                                                //   2173  %integer dpos
#line 2173 "regression-compile-tmp/chimps.imp"
int DPOS;
                                                                //   2174  %record(identinfo)%name dp
#line 2174 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*DP;
                                                                //   2175  %ownrecord(identinfo) d=0
#line 2175 "regression-compile-tmp/chimps.imp"
static  IDENTINFO D = { 0 } /* Initialise all fields of a record to 0. */;
                                                                //   2176    fault(boundserr) %and upper = lower %if lower > upper
#line 2176 "regression-compile-tmp/chimps.imp"
if (((LOWER) <= (UPPER))) goto L_01f1;
#line 2176 "regression-compile-tmp/chimps.imp"
FAULT(14);
#line 2176 "regression-compile-tmp/chimps.imp"
UPPER = LOWER;
#line 2176 "regression-compile-tmp/chimps.imp"
L_01f1:;
                                                                //   2177    elements = maxint
#line 2177 "regression-compile-tmp/chimps.imp"
ELEMENTS = 2147483647;
                                                                //   2178    elements = upper-lower %if upper!!lower >= 0 %c
#line 2178 "regression-compile-tmp/chimps.imp"
if (((((UPPER) ^ (LOWER))) >= (0))) goto L_01ee;
#line 2178 "regression-compile-tmp/chimps.imp"
if ((((((int)((((int)((-2147483648))) + (UPPER)))) - (LOWER))) >= (0))) goto L_01f2;
#line 2178 "regression-compile-tmp/chimps.imp"
L_01ee:;
#line 2178 "regression-compile-tmp/chimps.imp"
ELEMENTS = (((int)(UPPER)) - (LOWER));
#line 2178 "regression-compile-tmp/chimps.imp"
L_01f2:;
                                                                //   2179      %or minint+upper-lower < 0
                                                                //   2180    elements = elements+1 %if elements # maxint
#line 2180 "regression-compile-tmp/chimps.imp"
if (((ELEMENTS) == (2147483647))) goto L_01f3;
#line 2180 "regression-compile-tmp/chimps.imp"
ELEMENTS = (((int)(ELEMENTS)) + (1));
#line 2180 "regression-compile-tmp/chimps.imp"
L_01f3:;
                                                                //   2181    dpos = dictmin
#line 2181 "regression-compile-tmp/chimps.imp"
DPOS = 2041;
                                                                //   2182    %cycle
#line 2182 "regression-compile-tmp/chimps.imp"
L_01f4:;
                                                                //   2183      dp == dict(dpos)
#line 2183 "regression-compile-tmp/chimps.imp"
DP = &DICT[(((int)(DPOS)) - (2001))];
                                                                //   2184      %result = dpos %if dp_flags = typeid %and dp_type = type %c
#line 2184 "regression-compile-tmp/chimps.imp"
if (((DP->FLAGS) != (256))) goto L_01f7;
#line 2184 "regression-compile-tmp/chimps.imp"
if (((DP->TYPE) != (TYPE))) goto L_01f7;
#line 2184 "regression-compile-tmp/chimps.imp"
if (((DP->LOW) != (LOWER))) goto L_01f7;
#line 2184 "regression-compile-tmp/chimps.imp"
if (((DP->VAL) != (UPPER))) goto L_01f7;
#line 2184 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return DPOS;
#line 2184 "regression-compile-tmp/chimps.imp"
L_01f7:;
                                                                //   2185                     %and dp_low = lower %and dp_val = upper
                                                                //   2186      dpos = dpos+1
#line 2186 "regression-compile-tmp/chimps.imp"
DPOS = (((int)(DPOS)) + (1));
                                                                //   2187    %repeat %until dpos = dlim
#line 2187 "regression-compile-tmp/chimps.imp"
if (((DPOS) == (DLIM))) goto L_01f5;
#line 2187 "regression-compile-tmp/chimps.imp"
goto L_01f4;
#line 2187 "regression-compile-tmp/chimps.imp"
L_01f5:;
                                                                //   2188    d_flags = typeid;  d_type = type
#line 2188 "regression-compile-tmp/chimps.imp"
D.FLAGS = 256;
#line 2188 "regression-compile-tmp/chimps.imp"
D.TYPE = TYPE;
                                                                //   2189    d_low = lower;  d_val = upper
#line 2189 "regression-compile-tmp/chimps.imp"
D.LOW = LOWER;
#line 2189 "regression-compile-tmp/chimps.imp"
D.VAL = UPPER;
                                                                //   2190    dict(dpos) = d
#line 2190 "regression-compile-tmp/chimps.imp"
DICT[(((int)(DPOS)) - (2001))] = D;
                                                                //   2191    dlim = dlim+1;  croak("Too many identifers") %if dlim >= dmin
#line 2191 "regression-compile-tmp/chimps.imp"
DLIM = (((int)(DLIM)) + (1));
#line 2191 "regression-compile-tmp/chimps.imp"
if (((DLIM) < (DMIN))) goto L_01f8;
#line 2191 "regression-compile-tmp/chimps.imp"
CROAK(_imp_str_literal("Too many identifers"));
#line 2191 "regression-compile-tmp/chimps.imp"
L_01f8:;
                                                                //   2192    %result = dpos
#line 2192 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return DPOS;
                                                                //   2193  %end
#line 2193 "regression-compile-tmp/chimps.imp"
} // End of block NEWRANGE at level 3
                                                                //   2194  
                                                                //   2195  %routine GET LITBOUNDS
#line 2195 "regression-compile-tmp/chimps.imp"
void GETLITBOUNDS( void )
#line 2195 "regression-compile-tmp/chimps.imp"
{
                                                                //   2196  %integer lower
#line 2196 "regression-compile-tmp/chimps.imp"
int LOWER;
                                                                //   2197    get(left)
#line 2197 "regression-compile-tmp/chimps.imp"
GET(55);
                                                                //   2198    get LITINT;  lower = t_val
#line 2198 "regression-compile-tmp/chimps.imp"
GETLITINT();
#line 2198 "regression-compile-tmp/chimps.imp"
LOWER = T.VAL;
                                                                //   2199    get(colon)
#line 2199 "regression-compile-tmp/chimps.imp"
GET(58);
                                                                //   2200    get LITINT;
#line 2200 "regression-compile-tmp/chimps.imp"
GETLITINT();
                                                                //   2201    get(right)
#line 2201 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   2202    t_low = lower
#line 2202 "regression-compile-tmp/chimps.imp"
T.LOW = LOWER;
                                                                //   2203    item = newrange(inty,t_low,t_val);  !always integer at present
#line 2203 "regression-compile-tmp/chimps.imp"
ITEM = NEWRANGE(2046, T.LOW, T.VAL);
                                                                //   2204  %end
#line 2204 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETLITBOUNDS at level 3
                                                                //   2205  
                                                                //   2206  %routine GET IDENT
#line 2206 "regression-compile-tmp/chimps.imp"
void GETIDENT( void )
#line 2206 "regression-compile-tmp/chimps.imp"
{
                                                                //   2207    dlim0 = dlim
#line 2207 "regression-compile-tmp/chimps.imp"
DLIM0 = DLIM;
                                                                //   2208    get(ident)
#line 2208 "regression-compile-tmp/chimps.imp"
GET(54);
                                                                //   2209    declare
#line 2209 "regression-compile-tmp/chimps.imp"
DECLARE();
                                                                //   2210    get LITSTRING %if d_flags&ext # 0 %and a(alias)
#line 2210 "regression-compile-tmp/chimps.imp"
if (((((D.FLAGS) & (32))) == (0))) goto L_01f9;
#line 2210 "regression-compile-tmp/chimps.imp"
if (!(A(46))) goto L_01f9;
#line 2210 "regression-compile-tmp/chimps.imp"
GETLITSTRING();
#line 2210 "regression-compile-tmp/chimps.imp"
L_01f9:;
                                                                //   2211  %end
#line 2211 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETIDENT at level 3
                                                                //   2212  
                                                                //   2213  %routine GET IDENTLIST
#line 2213 "regression-compile-tmp/chimps.imp"
void GETIDENTLIST( void )
#line 2213 "regression-compile-tmp/chimps.imp"
{
                                                                //   2214    dlim0 = dlim
#line 2214 "regression-compile-tmp/chimps.imp"
DLIM0 = DLIM;
                                                                //   2215    %cycle
#line 2215 "regression-compile-tmp/chimps.imp"
L_01fa:;
                                                                //   2216      get(ident)
#line 2216 "regression-compile-tmp/chimps.imp"
GET(54);
                                                                //   2217      declare
#line 2217 "regression-compile-tmp/chimps.imp"
DECLARE();
                                                                //   2218      get LITSTRING %if d_flags&ext # 0 %and a(alias)
#line 2218 "regression-compile-tmp/chimps.imp"
if (((((D.FLAGS) & (32))) == (0))) goto L_01fd;
#line 2218 "regression-compile-tmp/chimps.imp"
if (!(A(46))) goto L_01fd;
#line 2218 "regression-compile-tmp/chimps.imp"
GETLITSTRING();
#line 2218 "regression-compile-tmp/chimps.imp"
L_01fd:;
                                                                //   2219     %repeat %until %not a(comma)
#line 2219 "regression-compile-tmp/chimps.imp"
if (!(A(59))) goto L_01fb;
#line 2219 "regression-compile-tmp/chimps.imp"
goto L_01fa;
#line 2219 "regression-compile-tmp/chimps.imp"
L_01fb:;
                                                                //   2220  %end
#line 2220 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETIDENTLIST at level 3
                                                                //   2221  
                                                                //   2222  %routine GET TYPE(%integer flags)
#line 2222 "regression-compile-tmp/chimps.imp"
void GETTYPE( int FLAGS )
#line 2222 "regression-compile-tmp/chimps.imp"
{
                                                                //   2223  %owninteger fbase
#line 2223 "regression-compile-tmp/chimps.imp"
static int FBASE;
                                                                //   2224  %ownrecord(identinfo)%name formp,fieldp
#line 2224 "regression-compile-tmp/chimps.imp"
static  IDENTINFO /*name*/*FORMP;
#line 2224 "regression-compile-tmp/chimps.imp"
static  IDENTINFO /*name*/*FIELDP;
                                                                //   2225  !
                                                                //   2226  %routine GET FORMATDEF;  !(%integername base)
#line 2226 "regression-compile-tmp/chimps.imp"
void GETFORMATDEF( void )
#line 2226 "regression-compile-tmp/chimps.imp"
{
                                                                //   2227  %integer disp,max,base
#line 2227 "regression-compile-tmp/chimps.imp"
int DISP;
#line 2227 "regression-compile-tmp/chimps.imp"
int MAX;
#line 2227 "regression-compile-tmp/chimps.imp"
int BASE;
                                                                //   2228  %routine GET FIELD IDENT
#line 2228 "regression-compile-tmp/chimps.imp"
void GETFIELDIDENT( void )
#line 2228 "regression-compile-tmp/chimps.imp"
{
                                                                //   2229    get(ident)
#line 2229 "regression-compile-tmp/chimps.imp"
GET(54);
                                                                //   2230    %if item > 0 %then d_text = ditem_text %c
#line 2230 "regression-compile-tmp/chimps.imp"
if (((ITEM) <= (0))) goto L_01fe;
#line 2230 "regression-compile-tmp/chimps.imp"
D.TEXT = DITEM->TEXT;
#line 2230 "regression-compile-tmp/chimps.imp"
goto L_01ff;
#line 2230 "regression-compile-tmp/chimps.imp"
L_01fe:;
                                                                //   2231    %else %start
                                                                //   2232      d_text = charlim-charbase;  charlim = charlim+newlen+1
#line 2232 "regression-compile-tmp/chimps.imp"
D.TEXT = (((int)(CHARLIM)) - (CHARBASE));
#line 2232 "regression-compile-tmp/chimps.imp"
CHARLIM = (((int)((((int)(CHARLIM)) + (NEWLEN)))) + (1));
                                                                //   2233      croak("Identifier space exhausted") %if charlim+80 >= charmin
#line 2233 "regression-compile-tmp/chimps.imp"
if ((((((int)(CHARLIM)) + (80))) < (CHARMIN))) goto L_0200;
#line 2233 "regression-compile-tmp/chimps.imp"
CROAK(_imp_str_literal("Identifier space exhausted"));
#line 2233 "regression-compile-tmp/chimps.imp"
L_0200:;
                                                                //   2234    %finish
#line 2234 "regression-compile-tmp/chimps.imp"
L_01ff:;
                                                                //   2235    ditem == dict(dlim);  fieldp == ditem
#line 2235 "regression-compile-tmp/chimps.imp"
DITEM = &DICT[(((int)(DLIM)) - (2001))];
#line 2235 "regression-compile-tmp/chimps.imp"
FIELDP = DITEM;
                                                                //   2236    ditem = d
#line 2236 "regression-compile-tmp/chimps.imp"
*DITEM = D;
                                                                //   2237    %if formp_extra = 0 %then formp_extra = dlim %c
#line 2237 "regression-compile-tmp/chimps.imp"
if (((FORMP->EXTRA) != (0))) goto L_0201;
#line 2237 "regression-compile-tmp/chimps.imp"
FORMP->EXTRA = DLIM;
#line 2237 "regression-compile-tmp/chimps.imp"
goto L_0202;
#line 2237 "regression-compile-tmp/chimps.imp"
L_0201:;
                                                                //   2238    %else %start
                                                                //   2239  !    lookup field ident(formp_extra)
                                                                //   2240  !    fault(duperr+point) %and item = dlim %if item # dlim
                                                                //   2241    %finish
#line 2241 "regression-compile-tmp/chimps.imp"
L_0202:;
                                                                //   2242    dlim = dlim+1;  croak("Too many identifiers") %if dlim >= dmin
#line 2242 "regression-compile-tmp/chimps.imp"
DLIM = (((int)(DLIM)) + (1));
#line 2242 "regression-compile-tmp/chimps.imp"
if (((DLIM) < (DMIN))) goto L_0203;
#line 2242 "regression-compile-tmp/chimps.imp"
CROAK(_imp_str_literal("Too many identifiers"));
#line 2242 "regression-compile-tmp/chimps.imp"
L_0203:;
                                                                //   2243  %end
#line 2243 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETFIELDIDENT at level 5
                                                                //   2244  %routine get UNIT
#line 2244 "regression-compile-tmp/chimps.imp"
void GETUNIT( void )
#line 2244 "regression-compile-tmp/chimps.imp"
{
                                                                //   2245    %cycle
#line 2245 "regression-compile-tmp/chimps.imp"
L_0204:;
                                                                //   2246      %if a(left) %start
#line 2246 "regression-compile-tmp/chimps.imp"
if (!(A(55))) goto L_0207;
                                                                //   2247        get FORMATDEF;  get(right)
#line 2247 "regression-compile-tmp/chimps.imp"
GETFORMATDEF();
#line 2247 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   2248        %return %if %not a(comma)
#line 2248 "regression-compile-tmp/chimps.imp"
if (A(59)) goto L_0208;
#line 2248 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2248 "regression-compile-tmp/chimps.imp"
L_0208:;
                                                                //   2249      %else
#line 2249 "regression-compile-tmp/chimps.imp"
goto L_0209;
#line 2249 "regression-compile-tmp/chimps.imp"
L_0207:;
                                                                //   2250        get TYPE(static+more)
#line 2250 "regression-compile-tmp/chimps.imp"
GETTYPE(136);
                                                                //   2251        %if d_flags&parm = 0 %start;  !not array
#line 2251 "regression-compile-tmp/chimps.imp"
if (((((D.FLAGS) & (64))) != (0))) goto L_020a;
                                                                //   2252          %cycle
#line 2252 "regression-compile-tmp/chimps.imp"
L_020b:;
                                                                //   2253            disp = disp+1 %if disp&1 # 0 %and dsize # 1
#line 2253 "regression-compile-tmp/chimps.imp"
if (((((DISP) & (1))) == (0))) goto L_020e;
#line 2253 "regression-compile-tmp/chimps.imp"
if (((DSIZE) == (1))) goto L_020e;
#line 2253 "regression-compile-tmp/chimps.imp"
DISP = (((int)(DISP)) + (1));
#line 2253 "regression-compile-tmp/chimps.imp"
L_020e:;
                                                                //   2254            d_val = disp
#line 2254 "regression-compile-tmp/chimps.imp"
D.VAL = DISP;
                                                                //   2255            disp = disp+dsize
#line 2255 "regression-compile-tmp/chimps.imp"
DISP = (((int)(DISP)) + (DSIZE));
                                                                //   2256            get FIELD IDENT
#line 2256 "regression-compile-tmp/chimps.imp"
GETFIELDIDENT();
                                                                //   2257            %return %if %not a(comma)
#line 2257 "regression-compile-tmp/chimps.imp"
if (A(59)) goto L_020f;
#line 2257 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2257 "regression-compile-tmp/chimps.imp"
L_020f:;
                                                                //   2258            atom = next atom
#line 2258 "regression-compile-tmp/chimps.imp"
ATOM = NEXTATOM();
                                                                //   2259          %repeat %until atom # ident
#line 2259 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (54))) goto L_020c;
#line 2259 "regression-compile-tmp/chimps.imp"
goto L_020b;
#line 2259 "regression-compile-tmp/chimps.imp"
L_020c:;
                                                                //   2260        %else;  !array
#line 2260 "regression-compile-tmp/chimps.imp"
goto L_0210;
#line 2260 "regression-compile-tmp/chimps.imp"
L_020a:;
                                                                //   2261          d_flags = d_flags-parm
#line 2261 "regression-compile-tmp/chimps.imp"
D.FLAGS = (((int)(D.FLAGS)) - (64));
                                                                //   2262          disp = disp+1 %if disp&1 # 0;  d_val = disp
#line 2262 "regression-compile-tmp/chimps.imp"
if (((((DISP) & (1))) == (0))) goto L_0211;
#line 2262 "regression-compile-tmp/chimps.imp"
DISP = (((int)(DISP)) + (1));
#line 2262 "regression-compile-tmp/chimps.imp"
L_0211:;
#line 2262 "regression-compile-tmp/chimps.imp"
D.VAL = DISP;
                                                                //   2263          get FIELD IDENT
#line 2263 "regression-compile-tmp/chimps.imp"
GETFIELDIDENT();
                                                                //   2264          get LITBOUNDS
#line 2264 "regression-compile-tmp/chimps.imp"
GETLITBOUNDS();
                                                                //   2265          fieldp_type = newatype(d_type,item)
#line 2265 "regression-compile-tmp/chimps.imp"
FIELDP->TYPE = NEWATYPE(D.TYPE, ITEM);
                                                                //   2266          disp = disp+dsize*elements
#line 2266 "regression-compile-tmp/chimps.imp"
DISP = ((DISP) + ((int)((((int)(DSIZE)) * (ELEMENTS)))));
                                                                //   2267          %return %if %not a(comma)
#line 2267 "regression-compile-tmp/chimps.imp"
if (A(59)) goto L_0212;
#line 2267 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2267 "regression-compile-tmp/chimps.imp"
L_0212:;
                                                                //   2268        %finish
#line 2268 "regression-compile-tmp/chimps.imp"
L_0210:;
                                                                //   2269      %finish
#line 2269 "regression-compile-tmp/chimps.imp"
L_0209:;
                                                                //   2270    %repeat
#line 2270 "regression-compile-tmp/chimps.imp"
goto L_0204;
                                                                //   2271  %end
#line 2271 "regression-compile-tmp/chimps.imp"
return;
} // End of block GETUNIT at level 5
                                                                //   2272    max = 0;  base = 0
#line 2272 "regression-compile-tmp/chimps.imp"
MAX = 0;
#line 2272 "regression-compile-tmp/chimps.imp"
BASE = 0;
                                                                //   2273    %cycle
#line 2273 "regression-compile-tmp/chimps.imp"
L_0213:;
                                                                //   2274      disp = base
#line 2274 "regression-compile-tmp/chimps.imp"
DISP = BASE;
                                                                //   2275      get UNIT
#line 2275 "regression-compile-tmp/chimps.imp"
GETUNIT();
                                                                //   2276      max = disp %if max < disp
#line 2276 "regression-compile-tmp/chimps.imp"
if (((MAX) >= (DISP))) goto L_0216;
#line 2276 "regression-compile-tmp/chimps.imp"
MAX = DISP;
#line 2276 "regression-compile-tmp/chimps.imp"
L_0216:;
                                                                //   2277    %repeat %until %not a(keyor)
#line 2277 "regression-compile-tmp/chimps.imp"
if (!(A(65))) goto L_0214;
#line 2277 "regression-compile-tmp/chimps.imp"
goto L_0213;
#line 2277 "regression-compile-tmp/chimps.imp"
L_0214:;
                                                                //   2278    base = max
#line 2278 "regression-compile-tmp/chimps.imp"
BASE = MAX;
                                                                //   2279  %end;  !get FORMATDEF
#line 2279 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETFORMATDEF at level 4
                                                                //   2280  
                                                                //   2281    dsize = 0;  d_mode = 0;  d_val = 0
#line 2281 "regression-compile-tmp/chimps.imp"
DSIZE = 0;
#line 2281 "regression-compile-tmp/chimps.imp"
D.MODE = 0;
#line 2281 "regression-compile-tmp/chimps.imp"
D.VAL = 0;
                                                                //   2282    d_type = nulltype
#line 2282 "regression-compile-tmp/chimps.imp"
D.TYPE = 2041;
                                                                //   2283    %if a(rpred) %start;  !%routine,(%integerfn)
#line 2283 "regression-compile-tmp/chimps.imp"
if (!(A(33))) goto L_0217;
                                                                //   2284      flags = flags&(\static) %if flags&ext # 0
#line 2284 "regression-compile-tmp/chimps.imp"
if (((((FLAGS) & (32))) == (0))) goto L_0218;
#line 2284 "regression-compile-tmp/chimps.imp"
FLAGS = ((FLAGS) & ((~(8))));
#line 2284 "regression-compile-tmp/chimps.imp"
L_0218:;
                                                                //   2285      syntax error %if flags&static # 0
#line 2285 "regression-compile-tmp/chimps.imp"
if (((((FLAGS) & (8))) == (0))) goto L_0219;
#line 2285 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 2285 "regression-compile-tmp/chimps.imp"
L_0219:;
                                                                //   2286      nonstandard(pred) %and d_type = booltype %if subatom # 0
#line 2286 "regression-compile-tmp/chimps.imp"
if (((SUBATOM) == (0))) goto L_021a;
#line 2286 "regression-compile-tmp/chimps.imp"
NONSTANDARD(1);
#line 2286 "regression-compile-tmp/chimps.imp"
D.TYPE = 2048;
#line 2286 "regression-compile-tmp/chimps.imp"
L_021a:;
                                                                //   2287      d_flags = flags+proc;  declmode = declmode+pcmode
#line 2287 "regression-compile-tmp/chimps.imp"
D.FLAGS = (((int)(FLAGS)) + (4));
#line 2287 "regression-compile-tmp/chimps.imp"
DECLMODE = (((int)(DECLMODE)) + (58));
                                                                //   2288      %return
#line 2288 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2289    %finish
#line 2289 "regression-compile-tmp/chimps.imp"
L_0217:;
                                                                //   2290    %if a(krange) %start;                 !%byte,%short,%half,%mite
#line 2290 "regression-compile-tmp/chimps.imp"
if (!(A(25))) goto L_021b;
                                                                //   2291      d_type = inttype+subatom;  dsize = 1
#line 2291 "regression-compile-tmp/chimps.imp"
D.TYPE = (((int)(2051)) + (SUBATOM));
#line 2291 "regression-compile-tmp/chimps.imp"
DSIZE = 1;
                                                                //   2292      dsize = 2 %if d_type = shorttype %or d_type = halftype
#line 2292 "regression-compile-tmp/chimps.imp"
if (((D.TYPE) == (2052))) goto L_021c;
#line 2292 "regression-compile-tmp/chimps.imp"
if (((D.TYPE) != (2053))) goto L_021d;
#line 2292 "regression-compile-tmp/chimps.imp"
L_021c:;
#line 2292 "regression-compile-tmp/chimps.imp"
DSIZE = 2;
#line 2292 "regression-compile-tmp/chimps.imp"
L_021d:;
                                                                //   2293      nonstandard(ranges) %if d_type >= mitetype
#line 2293 "regression-compile-tmp/chimps.imp"
if (((D.TYPE) < (2055))) goto L_021e;
#line 2293 "regression-compile-tmp/chimps.imp"
NONSTANDARD(16);
#line 2293 "regression-compile-tmp/chimps.imp"
L_021e:;
                                                                //   2294      allow(keyinteger)
#line 2294 "regression-compile-tmp/chimps.imp"
ALLOW(27);
                                                                //   2295    %else %if a(keyinteger);                    !%integer
#line 2295 "regression-compile-tmp/chimps.imp"
goto L_021f;
#line 2295 "regression-compile-tmp/chimps.imp"
L_021b:;
#line 2295 "regression-compile-tmp/chimps.imp"
if (!(A(27))) goto L_0220;
                                                                //   2296      d_type = inttype;  dsize = 4
#line 2296 "regression-compile-tmp/chimps.imp"
D.TYPE = 2051;
#line 2296 "regression-compile-tmp/chimps.imp"
DSIZE = 4;
                                                                //   2297      atom = next atom
#line 2297 "regression-compile-tmp/chimps.imp"
ATOM = NEXTATOM();
                                                                //   2298      %if atom = left %start
#line 2298 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (55))) goto L_0221;
                                                                //   2299        get LITBOUNDS
#line 2299 "regression-compile-tmp/chimps.imp"
GETLITBOUNDS();
                                                                //   2300        d_type = item
#line 2300 "regression-compile-tmp/chimps.imp"
D.TYPE = ITEM;
                                                                //   2301        dsize = 2 %if elements <= 65536 %and t_low >= -32768
#line 2301 "regression-compile-tmp/chimps.imp"
if (((ELEMENTS) > (65536))) goto L_0222;
#line 2301 "regression-compile-tmp/chimps.imp"
if (((T.LOW) < ((-32768)))) goto L_0222;
#line 2301 "regression-compile-tmp/chimps.imp"
DSIZE = 2;
#line 2301 "regression-compile-tmp/chimps.imp"
L_0222:;
                                                                //   2302        dsize = 1 %if elements <= 256 %and t_low >= -128
#line 2302 "regression-compile-tmp/chimps.imp"
if (((ELEMENTS) > (256))) goto L_0223;
#line 2302 "regression-compile-tmp/chimps.imp"
if (((T.LOW) < ((-128)))) goto L_0223;
#line 2302 "regression-compile-tmp/chimps.imp"
DSIZE = 1;
#line 2302 "regression-compile-tmp/chimps.imp"
L_0223:;
                                                                //   2303      %finish
#line 2303 "regression-compile-tmp/chimps.imp"
L_0221:;
                                                                //   2304    %else %if a(keylong);                   !%long
#line 2304 "regression-compile-tmp/chimps.imp"
goto L_021f;
#line 2304 "regression-compile-tmp/chimps.imp"
L_0220:;
#line 2304 "regression-compile-tmp/chimps.imp"
if (!(A(26))) goto L_0224;
                                                                //   2305      d_type = longinttype;  dsize = 8
#line 2305 "regression-compile-tmp/chimps.imp"
D.TYPE = 2057;
#line 2305 "regression-compile-tmp/chimps.imp"
DSIZE = 8;
                                                                //   2306      d_type = longrealtype %and get(keyreal) %if %not a(keyinteger)
#line 2306 "regression-compile-tmp/chimps.imp"
if (A(27)) goto L_0225;
#line 2306 "regression-compile-tmp/chimps.imp"
D.TYPE = 2059;
#line 2306 "regression-compile-tmp/chimps.imp"
GET(28);
#line 2306 "regression-compile-tmp/chimps.imp"
L_0225:;
                                                                //   2307    %else %if a(keyreal);                   !%real
#line 2307 "regression-compile-tmp/chimps.imp"
goto L_021f;
#line 2307 "regression-compile-tmp/chimps.imp"
L_0224:;
#line 2307 "regression-compile-tmp/chimps.imp"
if (!(A(28))) goto L_0226;
                                                                //   2308      d_type = realtype;  dsize = 4
#line 2308 "regression-compile-tmp/chimps.imp"
D.TYPE = 2058;
#line 2308 "regression-compile-tmp/chimps.imp"
DSIZE = 4;
                                                                //   2309    %else %if a(keystring);                 !%string
#line 2309 "regression-compile-tmp/chimps.imp"
goto L_021f;
#line 2309 "regression-compile-tmp/chimps.imp"
L_0226:;
#line 2309 "regression-compile-tmp/chimps.imp"
if (!(A(29))) goto L_0227;
                                                                //   2310      d_type = stringy
#line 2310 "regression-compile-tmp/chimps.imp"
D.TYPE = 2044;
                                                                //   2311      t_val = 255;  dsize = 256
#line 2311 "regression-compile-tmp/chimps.imp"
T.VAL = 255;
#line 2311 "regression-compile-tmp/chimps.imp"
DSIZE = 256;
                                                                //   2312      %if a(left) %start
#line 2312 "regression-compile-tmp/chimps.imp"
if (!(A(55))) goto L_0228;
                                                                //   2313        t_val = 0
#line 2313 "regression-compile-tmp/chimps.imp"
T.VAL = 0;
                                                                //   2314        %if %not a(star) %start
#line 2314 "regression-compile-tmp/chimps.imp"
if (A(88)) goto L_0229;
                                                                //   2315          get LITINT
#line 2315 "regression-compile-tmp/chimps.imp"
GETLITINT();
                                                                //   2316          expfault(rangerr+point) %and t_val = 255 %unless 0 < t_val <= 255
#line 2316 "regression-compile-tmp/chimps.imp"
if ((((0) >= (T.VAL))) || (((T.VAL) <= (255)))) goto L_022a;
#line 2316 "regression-compile-tmp/chimps.imp"
L_020d:;
#line 2316 "regression-compile-tmp/chimps.imp"
EXPFAULT(76);
#line 2316 "regression-compile-tmp/chimps.imp"
T.VAL = 255;
#line 2316 "regression-compile-tmp/chimps.imp"
L_022a:;
                                                                //   2317        %finish
#line 2317 "regression-compile-tmp/chimps.imp"
L_0229:;
                                                                //   2318        get(right)
#line 2318 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   2319      %finish %else nonstandard(nolength)
#line 2319 "regression-compile-tmp/chimps.imp"
goto L_022b;
#line 2319 "regression-compile-tmp/chimps.imp"
L_0228:;
#line 2319 "regression-compile-tmp/chimps.imp"
NONSTANDARD(32);
#line 2319 "regression-compile-tmp/chimps.imp"
L_022b:;
                                                                //   2320      %if t_val # 0 %start
#line 2320 "regression-compile-tmp/chimps.imp"
if (((T.VAL) == (0))) goto L_022c;
                                                                //   2321        d_type = newstype(t_val)
#line 2321 "regression-compile-tmp/chimps.imp"
D.TYPE = NEWSTYPE(T.VAL);
                                                                //   2322        dsize = (t_val+2)&(\1);  !+1 & evened up
#line 2322 "regression-compile-tmp/chimps.imp"
DSIZE = (((((int)(T.VAL)) + (2))) & ((~(1))));
                                                                //   2323      %finish
#line 2323 "regression-compile-tmp/chimps.imp"
L_022c:;
                                                                //   2324    %else %if a(keyrecord);                    !%record
#line 2324 "regression-compile-tmp/chimps.imp"
goto L_021f;
#line 2324 "regression-compile-tmp/chimps.imp"
L_0227:;
#line 2324 "regression-compile-tmp/chimps.imp"
if (!(A(30))) goto L_022d;
                                                                //   2325      d_type = recy
#line 2325 "regression-compile-tmp/chimps.imp"
D.TYPE = 2042;
                                                                //   2326      %if a(keyformat) %start
#line 2326 "regression-compile-tmp/chimps.imp"
if (!(A(31))) goto L_022e;
                                                                //   2327        syntax error %if flags&(static+ext) # 0
#line 2327 "regression-compile-tmp/chimps.imp"
if (((((FLAGS) & (40))) == (0))) goto L_022f;
#line 2327 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 2327 "regression-compile-tmp/chimps.imp"
L_022f:;
                                                                //   2328        %if a(keyspec) %start
#line 2328 "regression-compile-tmp/chimps.imp"
if (!(A(34))) goto L_0230;
                                                                //   2329          d_flags = typeid+spec
#line 2329 "regression-compile-tmp/chimps.imp"
D.FLAGS = 272;
                                                                //   2330          get IDENT
#line 2330 "regression-compile-tmp/chimps.imp"
GETIDENT();
                                                                //   2331        %finish %else %start
#line 2331 "regression-compile-tmp/chimps.imp"
goto L_0231;
#line 2331 "regression-compile-tmp/chimps.imp"
L_0230:;
                                                                //   2332          d_flags = typeid
#line 2332 "regression-compile-tmp/chimps.imp"
D.FLAGS = 256;
                                                                //   2333          get IDENT
#line 2333 "regression-compile-tmp/chimps.imp"
GETIDENT();
                                                                //   2334          formp == ditem
#line 2334 "regression-compile-tmp/chimps.imp"
FORMP = DITEM;
                                                                //   2335          get(left)
#line 2335 "regression-compile-tmp/chimps.imp"
GET(55);
                                                                //   2336          fbase = 0
#line 2336 "regression-compile-tmp/chimps.imp"
FBASE = 0;
                                                                //   2337          get FORMATDEF
#line 2337 "regression-compile-tmp/chimps.imp"
GETFORMATDEF();
                                                                //   2338          fieldp_flags = fieldp_flags-more
#line 2338 "regression-compile-tmp/chimps.imp"
FIELDP->FLAGS = (((int)(FIELDP->FLAGS)) - (128));
                                                                //   2339          get(right)
#line 2339 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   2340        %finish
#line 2340 "regression-compile-tmp/chimps.imp"
L_0231:;
                                                                //   2341        d_flags = typeid
#line 2341 "regression-compile-tmp/chimps.imp"
D.FLAGS = 256;
                                                                //   2342        %return
#line 2342 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2343      %finish
#line 2343 "regression-compile-tmp/chimps.imp"
L_022e:;
                                                                //   2344      get(left)
#line 2344 "regression-compile-tmp/chimps.imp"
GET(55);
                                                                //   2345      %if %not a(star) %start
#line 2345 "regression-compile-tmp/chimps.imp"
if (A(88)) goto L_0232;
                                                                //   2346        %if %not a(ident) %start
#line 2346 "regression-compile-tmp/chimps.imp"
if (A(54)) goto L_0233;
                                                                //   2347          get FORMATDEF
#line 2347 "regression-compile-tmp/chimps.imp"
GETFORMATDEF();
                                                                //   2348          fieldp_flags = fieldp_flags-more
#line 2348 "regression-compile-tmp/chimps.imp"
FIELDP->FLAGS = (((int)(FIELDP->FLAGS)) - (128));
                                                                //   2349          get(right)
#line 2349 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   2350          d_flags = typeid
#line 2350 "regression-compile-tmp/chimps.imp"
D.FLAGS = 256;
                                                                //   2351          declare anon
#line 2351 "regression-compile-tmp/chimps.imp"
DECLAREANON();
                                                                //   2352        %finish
#line 2352 "regression-compile-tmp/chimps.imp"
L_0233:;
                                                                //   2353        name error %if item <= 0
#line 2353 "regression-compile-tmp/chimps.imp"
if (((ITEM) > (0))) goto L_0234;
#line 2353 "regression-compile-tmp/chimps.imp"
NAMEERROR();
#line 2353 "regression-compile-tmp/chimps.imp"
L_0234:;
                                                                //   2354        syntax error %if ditem_type # recy
#line 2354 "regression-compile-tmp/chimps.imp"
if (((DITEM->TYPE) == (2042))) goto L_0235;
#line 2354 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 2354 "regression-compile-tmp/chimps.imp"
L_0235:;
                                                                //   2355        d_type = item;  dsize = ditem_val
#line 2355 "regression-compile-tmp/chimps.imp"
D.TYPE = ITEM;
#line 2355 "regression-compile-tmp/chimps.imp"
DSIZE = DITEM->VAL;
                                                                //   2356      %finish
#line 2356 "regression-compile-tmp/chimps.imp"
L_0232:;
                                                                //   2357      get(right)
#line 2357 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   2358    %else
#line 2358 "regression-compile-tmp/chimps.imp"
goto L_021f;
#line 2358 "regression-compile-tmp/chimps.imp"
L_022d:;
                                                                //   2359      syntax error %if atom # keyname;            !untyped %name
#line 2359 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (36))) goto L_0236;
#line 2359 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 2359 "regression-compile-tmp/chimps.imp"
L_0236:;
                                                                //   2360    %finish
#line 2360 "regression-compile-tmp/chimps.imp"
L_021f:;
                                                                //   2361    !End of basic type info: set item size in DECLMODE
                                                                //   2362    %if dsize <= 4 %start
#line 2362 "regression-compile-tmp/chimps.imp"
if (((DSIZE) > (4))) goto L_0237;
                                                                //   2363      %if dsize <= 2 %then declmode = dsize<<sizeshift %c
#line 2363 "regression-compile-tmp/chimps.imp"
if (((DSIZE) > (2))) goto L_0238;
#line 2363 "regression-compile-tmp/chimps.imp"
DECLMODE = ((DSIZE) << (6));
#line 2363 "regression-compile-tmp/chimps.imp"
goto L_0239;
#line 2363 "regression-compile-tmp/chimps.imp"
L_0238:;
#line 2363 "regression-compile-tmp/chimps.imp"
DECLMODE = ((3) << (6));
#line 2363 "regression-compile-tmp/chimps.imp"
L_0239:;
                                                                //   2364      %else declmode = longsize<<sizeshift
                                                                //   2365    %finish
#line 2365 "regression-compile-tmp/chimps.imp"
L_0237:;
                                                                //   2366    !Appendages
                                                                //   2367    %if a(fnmap) %start;  !%fn, %map
#line 2367 "regression-compile-tmp/chimps.imp"
if (!(A(32))) goto L_023a;
                                                                //   2368      flags = flags&(\static) %if flags&ext # 0
#line 2368 "regression-compile-tmp/chimps.imp"
if (((((FLAGS) & (32))) == (0))) goto L_023b;
#line 2368 "regression-compile-tmp/chimps.imp"
FLAGS = ((FLAGS) & ((~(8))));
#line 2368 "regression-compile-tmp/chimps.imp"
L_023b:;
                                                                //   2369      syntax error %if flags&static # 0
#line 2369 "regression-compile-tmp/chimps.imp"
if (((((FLAGS) & (8))) == (0))) goto L_023c;
#line 2369 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 2369 "regression-compile-tmp/chimps.imp"
L_023c:;
                                                                //   2370      flags = flags+var %and d_type = d_type+direct %if subatom # 0;  !map
#line 2370 "regression-compile-tmp/chimps.imp"
if (((SUBATOM) == (0))) goto L_023d;
#line 2370 "regression-compile-tmp/chimps.imp"
FLAGS = (((int)(FLAGS)) + (1));
#line 2370 "regression-compile-tmp/chimps.imp"
D.TYPE = (((int)(D.TYPE)) + (8192));
#line 2370 "regression-compile-tmp/chimps.imp"
L_023d:;
                                                                //   2371      d_flags = flags+proc;  declmode = declmode+pcmode
#line 2371 "regression-compile-tmp/chimps.imp"
D.FLAGS = (((int)(FLAGS)) + (4));
#line 2371 "regression-compile-tmp/chimps.imp"
DECLMODE = (((int)(DECLMODE)) + (58));
                                                                //   2372      %return
#line 2372 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2373    %finish
#line 2373 "regression-compile-tmp/chimps.imp"
L_023a:;
                                                                //   2374    d_type = d_type+direct
#line 2374 "regression-compile-tmp/chimps.imp"
D.TYPE = (((int)(D.TYPE)) + (8192));
                                                                //   2375    %while a(keyarray) %or a(keyname) %cycle
#line 2375 "regression-compile-tmp/chimps.imp"
L_023e:;
#line 2375 "regression-compile-tmp/chimps.imp"
if (A(35)) goto L_0240;
#line 2375 "regression-compile-tmp/chimps.imp"
if (!(A(36))) goto L_023f;
#line 2375 "regression-compile-tmp/chimps.imp"
L_0240:;
                                                                //   2376      %if atom = keyarray %start;                  !%array
#line 2376 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (35))) goto L_0241;
                                                                //   2377        nonstandard(naming) %if d_type >= indirect
#line 2377 "regression-compile-tmp/chimps.imp"
if (((D.TYPE) < (16384))) goto L_0242;
#line 2377 "regression-compile-tmp/chimps.imp"
NONSTANDARD(512);
#line 2377 "regression-compile-tmp/chimps.imp"
L_0242:;
                                                                //   2378        %if %not a(keyname) %start
#line 2378 "regression-compile-tmp/chimps.imp"
if (A(36)) goto L_0243;
                                                                //   2379          syntax error %if flags&parm # 0
#line 2379 "regression-compile-tmp/chimps.imp"
if (((((FLAGS) & (64))) == (0))) goto L_0244;
#line 2379 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 2379 "regression-compile-tmp/chimps.imp"
L_0244:;
                                                                //   2380          flags = flags+parm;  !as indic
#line 2380 "regression-compile-tmp/chimps.imp"
FLAGS = (((int)(FLAGS)) + (64));
                                                                //   2381          %exit
#line 2381 "regression-compile-tmp/chimps.imp"
goto L_023f;
                                                                //   2382        %finish
#line 2382 "regression-compile-tmp/chimps.imp"
L_0243:;
                                                                //   2383        d_type = newatype(d_type,inty)
#line 2383 "regression-compile-tmp/chimps.imp"
D.TYPE = NEWATYPE(D.TYPE, 2046);
                                                                //   2384      %finish
#line 2384 "regression-compile-tmp/chimps.imp"
L_0241:;
                                                                //   2385      syntax error %if d_type >= indirect
#line 2385 "regression-compile-tmp/chimps.imp"
if (((D.TYPE) < (16384))) goto L_0245;
#line 2385 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 2385 "regression-compile-tmp/chimps.imp"
L_0245:;
                                                                //   2386      d_type = d_type+(indirect-direct)
#line 2386 "regression-compile-tmp/chimps.imp"
D.TYPE = ((D.TYPE) + ((int)(8192)));
                                                                //   2387      dsize = 4
#line 2387 "regression-compile-tmp/chimps.imp"
DSIZE = 4;
                                                                //   2388    %repeat
#line 2388 "regression-compile-tmp/chimps.imp"
goto L_023e;
#line 2388 "regression-compile-tmp/chimps.imp"
L_023f:;
                                                                //   2389    d_flags = flags!!var
#line 2389 "regression-compile-tmp/chimps.imp"
D.FLAGS = ((FLAGS) ^ (1));
                                                                //   2390  %end;  !GET TYPE
#line 2390 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETTYPE at level 3
                                                                //   2391  !
                                                                //   2392  %routine GET OWN ARRAY DECLARATION
#line 2392 "regression-compile-tmp/chimps.imp"
void GETOWNARRAYDECLARATION( void )
#line 2392 "regression-compile-tmp/chimps.imp"
{
                                                                //   2393  %integer holdval,dpos
#line 2393 "regression-compile-tmp/chimps.imp"
int HOLDVAL;
#line 2393 "regression-compile-tmp/chimps.imp"
int DPOS;
                                                                //   2394  %record(identinfo)%name dp
#line 2394 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*DP;
                                                                //   2395  !  constad = constad+1 %if constad&1 # 0
                                                                //   2396  !  d_val = constad
                                                                //   2397  !  d_val = d_val-ownbase %if d_val >= ownbase
                                                                //   2398    get IDENT
#line 2398 "regression-compile-tmp/chimps.imp"
GETIDENT();
                                                                //   2399    dpos = item;  dp == ditem
#line 2399 "regression-compile-tmp/chimps.imp"
DPOS = ITEM;
#line 2399 "regression-compile-tmp/chimps.imp"
DP = DITEM;
                                                                //   2400    get LITBOUNDS
#line 2400 "regression-compile-tmp/chimps.imp"
GETLITBOUNDS();
                                                                //   2401    dp_type = newatype(d_type,item)
#line 2401 "regression-compile-tmp/chimps.imp"
DP->TYPE = NEWATYPE(D.TYPE, ITEM);
                                                                //   2402    %if a assop %start
#line 2402 "regression-compile-tmp/chimps.imp"
if (!(AASSOP())) goto L_0246;
                                                                //   2403      allow(terminator)
#line 2403 "regression-compile-tmp/chimps.imp"
ALLOW(52);
                                                                //   2404      %cycle
#line 2404 "regression-compile-tmp/chimps.imp"
L_0247:;
                                                                //   2405        get LITERAL(d_type)
#line 2405 "regression-compile-tmp/chimps.imp"
GETLITERAL(D.TYPE);
                                                                //   2406        faultnum = rangerr+point+warn %if faultnum = rangerr+point
#line 2406 "regression-compile-tmp/chimps.imp"
if (((FAULTNUM) != (76))) goto L_024a;
#line 2406 "regression-compile-tmp/chimps.imp"
FAULTNUM = 204;
#line 2406 "regression-compile-tmp/chimps.imp"
L_024a:;
                                                                //   2407        holdval = t_val
#line 2407 "regression-compile-tmp/chimps.imp"
HOLDVAL = T.VAL;
                                                                //   2408        t_val = 1
#line 2408 "regression-compile-tmp/chimps.imp"
T.VAL = 1;
                                                                //   2409        %if a(left) %start
#line 2409 "regression-compile-tmp/chimps.imp"
if (!(A(55))) goto L_024b;
                                                                //   2410          t_val = elements
#line 2410 "regression-compile-tmp/chimps.imp"
T.VAL = ELEMENTS;
                                                                //   2411          get LITINT %if %not a(star)
#line 2411 "regression-compile-tmp/chimps.imp"
if (A(88)) goto L_024c;
#line 2411 "regression-compile-tmp/chimps.imp"
GETLITINT();
#line 2411 "regression-compile-tmp/chimps.imp"
L_024c:;
                                                                //   2412          get(right)
#line 2412 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   2413        %finish
#line 2413 "regression-compile-tmp/chimps.imp"
L_024b:;
                                                                //   2414  !      plant const(holdval,t_val)
                                                                //   2415        elements = elements-t_val
#line 2415 "regression-compile-tmp/chimps.imp"
ELEMENTS = (((int)(ELEMENTS)) - (T.VAL));
                                                                //   2416      %repeat %until %not a(comma)
#line 2416 "regression-compile-tmp/chimps.imp"
if (!(A(59))) goto L_0248;
#line 2416 "regression-compile-tmp/chimps.imp"
goto L_0247;
#line 2416 "regression-compile-tmp/chimps.imp"
L_0248:;
                                                                //   2417      report(counterr,dpos) %if elements # 0 %and faultnum = 0
#line 2417 "regression-compile-tmp/chimps.imp"
if (((ELEMENTS) == (0))) goto L_024d;
#line 2417 "regression-compile-tmp/chimps.imp"
if (((FAULTNUM) != (0))) goto L_024d;
#line 2417 "regression-compile-tmp/chimps.imp"
REPORT(45, DPOS);
#line 2417 "regression-compile-tmp/chimps.imp"
L_024d:;
                                                                //   2418    %finish
#line 2418 "regression-compile-tmp/chimps.imp"
L_0246:;
                                                                //   2419  !  plant const(0,elements) %if elements > 0
                                                                //   2420  %end;  !get OWN ADECL
#line 2420 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETOWNARRAYDECLARATION at level 3
                                                                //   2421  
                                                                //   2422  %routine GET ARRAY DECLARATION
#line 2422 "regression-compile-tmp/chimps.imp"
void GETARRAYDECLARATION( void )
#line 2422 "regression-compile-tmp/chimps.imp"
{
                                                                //   2423  !ie get IDENTLISTS and BOUNDS
                                                                //   2424  %integer i,dlim1,hold,holdval,type
#line 2424 "regression-compile-tmp/chimps.imp"
int I;
#line 2424 "regression-compile-tmp/chimps.imp"
int DLIM1;
#line 2424 "regression-compile-tmp/chimps.imp"
int HOLD;
#line 2424 "regression-compile-tmp/chimps.imp"
int HOLDVAL;
#line 2424 "regression-compile-tmp/chimps.imp"
int TYPE;
                                                                //   2425  
                                                                //   2426  !%routine put bound pair
                                                                //   2427  !  hold = litref(holdval) %if hold = 0
                                                                //   2428  !  item = litref(t_val) %if item = 0
                                                                //   2429  !  put3(r,hold,item);  !(range),lower,upper
                                                                //   2430  !%end
                                                                //   2431  
                                                                //   2432  %routine GET BOUNDS
#line 2432 "regression-compile-tmp/chimps.imp"
void GETBOUNDS( void )
#line 2432 "regression-compile-tmp/chimps.imp"
{
                                                                //   2433  %integer range
#line 2433 "regression-compile-tmp/chimps.imp"
int RANGE;
                                                                //   2434    get VALUE(anyint)
#line 2434 "regression-compile-tmp/chimps.imp"
GETVALUE(10238);
                                                                //   2435    hold = item;  t_val = minint %if hold # 0
#line 2435 "regression-compile-tmp/chimps.imp"
HOLD = ITEM;
#line 2435 "regression-compile-tmp/chimps.imp"
if (((HOLD) == (0))) goto L_024e;
#line 2435 "regression-compile-tmp/chimps.imp"
T.VAL = (-2147483648);
#line 2435 "regression-compile-tmp/chimps.imp"
L_024e:;
                                                                //   2436    holdval = t_val
#line 2436 "regression-compile-tmp/chimps.imp"
HOLDVAL = T.VAL;
                                                                //   2437    get(colon)
#line 2437 "regression-compile-tmp/chimps.imp"
GET(58);
                                                                //   2438    get VALUE(anyint)
#line 2438 "regression-compile-tmp/chimps.imp"
GETVALUE(10238);
                                                                //   2439    t_val = maxint %if item # 0
#line 2439 "regression-compile-tmp/chimps.imp"
if (((ITEM) == (0))) goto L_024f;
#line 2439 "regression-compile-tmp/chimps.imp"
T.VAL = 2147483647;
#line 2439 "regression-compile-tmp/chimps.imp"
L_024f:;
                                                                //   2440    range = newrange(inty,holdval,t_val)
#line 2440 "regression-compile-tmp/chimps.imp"
RANGE = NEWRANGE(2046, HOLDVAL, T.VAL);
                                                                //   2441    GET BOUNDS %if a(comma)
#line 2441 "regression-compile-tmp/chimps.imp"
if (!(A(59))) goto L_0250;
#line 2441 "regression-compile-tmp/chimps.imp"
GETBOUNDS();
#line 2441 "regression-compile-tmp/chimps.imp"
L_0250:;
                                                                //   2442    type = newatype(type,range)
#line 2442 "regression-compile-tmp/chimps.imp"
TYPE = NEWATYPE(TYPE, RANGE);
                                                                //   2443  %end
#line 2443 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETBOUNDS at level 4
                                                                //   2444  
                                                                //   2445  %cycle
#line 2445 "regression-compile-tmp/chimps.imp"
L_0251:;
                                                                //   2446    type = d_type
#line 2446 "regression-compile-tmp/chimps.imp"
TYPE = D.TYPE;
                                                                //   2447    get IDENTLIST
#line 2447 "regression-compile-tmp/chimps.imp"
GETIDENTLIST();
                                                                //   2448    dlim1 = dlim
#line 2448 "regression-compile-tmp/chimps.imp"
DLIM1 = DLIM;
                                                                //   2449    get(left)
#line 2449 "regression-compile-tmp/chimps.imp"
GET(55);
                                                                //   2450    GET BOUNDS
#line 2450 "regression-compile-tmp/chimps.imp"
GETBOUNDS();
                                                                //   2451    get(right)
#line 2451 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   2452  !  %if hold = 0 = item {both literal} %and np = np0 {1-dim} %c
                                                                //   2453  !  %and elements <= 32767 {safe to multiply?} %c
                                                                //   2454  !  %and (elements*dsize*(dlim-dpos))<<1-c_sp-c_delta <= 32000 %start
                                                                //   2455  !     d_par = parref(inty,0,r,0)
                                                                //   2456  !  %finish %else %start
                                                                //   2457  !    put bound pair
                                                                //   2458  !     d_par = 0
                                                                //   2459  !    i = np
                                                                //   2460  !    %while i # np0 %cycle
                                                                //   2461  !      i = i-1
                                                                //   2462  !       d_par = parref(inty,0,exp(i)_act,d_par)
                                                                //   2463  !    %repeat
                                                                //   2464  !    exp(np0)_act = adecl
                                                                //   2465  !  %finish
                                                                //   2466  !  i = np
                                                                //   2467    %while dlim0 # dlim1 %cycle
#line 2467 "regression-compile-tmp/chimps.imp"
L_0254:;
#line 2467 "regression-compile-tmp/chimps.imp"
if (((DLIM0) == (DLIM1))) goto L_0255;
                                                                //   2468  !    %if i = np0 %start
                                                                //   2469  !      c_delta = c_delta-elements*dsize
                                                                //   2470  !      c_delta = c_delta-1 %if c_delta&1 # 0
                                                                //   2471  !      dict(dlim0)_flags = dict(dlim0)_flags!static
                                                                //   2472  !    %finish %else %start
                                                                //   2473  !      np = i;  compile(np0,np0)
                                                                //   2474  !      c_flags = c_flags!dynarray
                                                                //   2475  !    %finish
                                                                //   2476  !    dict(dlim0)_val = c_sp+c_delta
                                                                //   2477      dict(dlim0)_type = type
#line 2477 "regression-compile-tmp/chimps.imp"
DICT[(((int)(DLIM0)) - (2001))].TYPE = TYPE;
                                                                //   2478      dlim0 = dlim0+1
#line 2478 "regression-compile-tmp/chimps.imp"
DLIM0 = (((int)(DLIM0)) + (1));
                                                                //   2479    %repeat
#line 2479 "regression-compile-tmp/chimps.imp"
goto L_0254;
#line 2479 "regression-compile-tmp/chimps.imp"
L_0255:;
                                                                //   2480  %repeat %until %not a(comma)
#line 2480 "regression-compile-tmp/chimps.imp"
if (!(A(59))) goto L_0252;
#line 2480 "regression-compile-tmp/chimps.imp"
goto L_0251;
#line 2480 "regression-compile-tmp/chimps.imp"
L_0252:;
                                                                //   2481  %end;  !get BOUNDS
#line 2481 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETARRAYDECLARATION at level 3
                                                                //   2482  
                                                                //   2483  %routine GET PARMDEF
#line 2483 "regression-compile-tmp/chimps.imp"
void GETPARMDEF( void )
#line 2483 "regression-compile-tmp/chimps.imp"
{
                                                                //   2484  %integer headitem,dpos,dlim1
#line 2484 "regression-compile-tmp/chimps.imp"
int HEADITEM;
#line 2484 "regression-compile-tmp/chimps.imp"
int DPOS;
#line 2484 "regression-compile-tmp/chimps.imp"
int DLIM1;
                                                                //   2485  %record(identinfo)%name headditem,dp
#line 2485 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*HEADDITEM;
#line 2485 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*DP;
                                                                //   2486  %integerfn PARMMATCH(%integer apos)
#line 2486 "regression-compile-tmp/chimps.imp"
int PARMMATCH( int APOS )
#line 2486 "regression-compile-tmp/chimps.imp"
{
                                                                //   2487  %integer bpos
#line 2487 "regression-compile-tmp/chimps.imp"
int BPOS;
                                                                //   2488  %record(identinfo)%name ap,bp
#line 2488 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*AP;
#line 2488 "regression-compile-tmp/chimps.imp"
 IDENTINFO /*name*/*BP;
                                                                //   2489    bpos = dlim1
#line 2489 "regression-compile-tmp/chimps.imp"
BPOS = DLIM1;
                                                                //   2490    ap == dict(apos)
#line 2490 "regression-compile-tmp/chimps.imp"
AP = &DICT[(((int)(APOS)) - (2001))];
                                                                //   2491    %while bpos # dlim %cycle
#line 2491 "regression-compile-tmp/chimps.imp"
L_0257:;
#line 2491 "regression-compile-tmp/chimps.imp"
if (((BPOS) == (DLIM))) goto L_0258;
                                                                //   2492      %result = 0 %if ap_flags&more = 0
#line 2492 "regression-compile-tmp/chimps.imp"
if (((((AP->FLAGS) & (128))) != (0))) goto L_025a;
#line 2492 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2492 "regression-compile-tmp/chimps.imp"
L_025a:;
                                                                //   2493      apos = apos+1 %and ap == dict(apos) %until ap_flags&parm # 0
#line 2493 "regression-compile-tmp/chimps.imp"
L_025b:;
#line 2493 "regression-compile-tmp/chimps.imp"
APOS = (((int)(APOS)) + (1));
#line 2493 "regression-compile-tmp/chimps.imp"
AP = &DICT[(((int)(APOS)) - (2001))];
#line 2493 "regression-compile-tmp/chimps.imp"
if (((((AP->FLAGS) & (64))) != (0))) goto L_025c;
#line 2493 "regression-compile-tmp/chimps.imp"
goto L_025b;
#line 2493 "regression-compile-tmp/chimps.imp"
L_025c:;
                                                                //   2494      bp == dict(bpos)
#line 2494 "regression-compile-tmp/chimps.imp"
BP = &DICT[(((int)(BPOS)) - (2001))];
                                                                //   2495      %result = 0 %if ap_type # bp_type;  !for now
#line 2495 "regression-compile-tmp/chimps.imp"
if (((AP->TYPE) == (BP->TYPE))) goto L_025e;
#line 2495 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2495 "regression-compile-tmp/chimps.imp"
L_025e:;
                                                                //   2496      bpos = bpos+1
#line 2496 "regression-compile-tmp/chimps.imp"
BPOS = (((int)(BPOS)) + (1));
                                                                //   2497    %repeat
#line 2497 "regression-compile-tmp/chimps.imp"
goto L_0257;
#line 2497 "regression-compile-tmp/chimps.imp"
L_0258:;
                                                                //   2498    %result = 1 %if ap_flags&more = 0
#line 2498 "regression-compile-tmp/chimps.imp"
if (((((AP->FLAGS) & (128))) != (0))) goto L_025f;
#line 2498 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 2498 "regression-compile-tmp/chimps.imp"
L_025f:;
                                                                //   2499    %result = 0
#line 2499 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   2500  %end
#line 2500 "regression-compile-tmp/chimps.imp"
} // End of block PARMMATCH at level 4
                                                                //   2501  !
                                                                //   2502    headitem = item;  headditem == ditem
#line 2502 "regression-compile-tmp/chimps.imp"
HEADITEM = ITEM;
#line 2502 "regression-compile-tmp/chimps.imp"
HEADDITEM = DITEM;
                                                                //   2503    dlim1 = dlim
#line 2503 "regression-compile-tmp/chimps.imp"
DLIM1 = DLIM;
                                                                //   2504    %if a(left) %start
#line 2504 "regression-compile-tmp/chimps.imp"
if (!(A(55))) goto L_0260;
                                                                //   2505      %cycle
#line 2505 "regression-compile-tmp/chimps.imp"
L_0261:;
                                                                //   2506        get TYPE(parm!more) %if atom # ident
#line 2506 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (54))) goto L_0264;
#line 2506 "regression-compile-tmp/chimps.imp"
GETTYPE(((64) | (128)));
#line 2506 "regression-compile-tmp/chimps.imp"
L_0264:;
                                                                //   2507        %if d_flags&proc = 0 %start
#line 2507 "regression-compile-tmp/chimps.imp"
if (((((D.FLAGS) & (4))) != (0))) goto L_0265;
                                                                //   2508          get IDENT
#line 2508 "regression-compile-tmp/chimps.imp"
GETIDENT();
                                                                //   2509          %exit %if %not a(comma) %and atom = right
#line 2509 "regression-compile-tmp/chimps.imp"
if (A(59)) goto L_0266;
#line 2509 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (60))) goto L_0266;
#line 2509 "regression-compile-tmp/chimps.imp"
goto L_0262;
#line 2509 "regression-compile-tmp/chimps.imp"
L_0266:;
                                                                //   2510          %if atom # comma %then nonstandard(nocomma) %c
#line 2510 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (59))) goto L_0267;
#line 2510 "regression-compile-tmp/chimps.imp"
NONSTANDARD(4);
#line 2510 "regression-compile-tmp/chimps.imp"
goto L_0268;
#line 2510 "regression-compile-tmp/chimps.imp"
L_0267:;
#line 2510 "regression-compile-tmp/chimps.imp"
ATOM = NEXTATOM();
#line 2510 "regression-compile-tmp/chimps.imp"
L_0268:;
                                                                //   2511          %else atom = next atom
                                                                //   2512        %finish %else %start
#line 2512 "regression-compile-tmp/chimps.imp"
goto L_0269;
#line 2512 "regression-compile-tmp/chimps.imp"
L_0265:;
                                                                //   2513          get IDENT
#line 2513 "regression-compile-tmp/chimps.imp"
GETIDENT();
                                                                //   2514          speccing = speccing+2
#line 2514 "regression-compile-tmp/chimps.imp"
SPECCING = (((int)(SPECCING)) + (2));
                                                                //   2515          get PARMDEF
#line 2515 "regression-compile-tmp/chimps.imp"
GETPARMDEF();
                                                                //   2516          speccing = speccing-2
#line 2516 "regression-compile-tmp/chimps.imp"
SPECCING = (((int)(SPECCING)) - (2));
                                                                //   2517          %exit %if %not a(comma)
#line 2517 "regression-compile-tmp/chimps.imp"
if (A(59)) goto L_026a;
#line 2517 "regression-compile-tmp/chimps.imp"
goto L_0262;
#line 2517 "regression-compile-tmp/chimps.imp"
L_026a:;
                                                                //   2518        %finish
#line 2518 "regression-compile-tmp/chimps.imp"
L_0269:;
                                                                //   2519      %repeat
#line 2519 "regression-compile-tmp/chimps.imp"
goto L_0261;
#line 2519 "regression-compile-tmp/chimps.imp"
L_0262:;
                                                                //   2520      dict(dlim-1)_flags = dict(dlim-1)_flags-more
#line 2520 "regression-compile-tmp/chimps.imp"
DICT[(((int)((((int)(DLIM)) - (1)))) - (2001))].FLAGS = (((int)(DICT[(((int)((((int)(DLIM)) - (1)))) - (2001))].FLAGS)) - (128));
                                                                //   2521      get(right)
#line 2521 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   2522    %finish
#line 2522 "regression-compile-tmp/chimps.imp"
L_0260:;
                                                                //   2523    %if speccing >= 2 %start
#line 2523 "regression-compile-tmp/chimps.imp"
if (((SPECCING) < (2))) goto L_026b;
                                                                //   2524      dpos = dictmin
#line 2524 "regression-compile-tmp/chimps.imp"
DPOS = 2041;
                                                                //   2525      %cycle
#line 2525 "regression-compile-tmp/chimps.imp"
L_026c:;
                                                                //   2526        dp == dict(dpos)
#line 2526 "regression-compile-tmp/chimps.imp"
DP = &DICT[(((int)(DPOS)) - (2001))];
                                                                //   2527        %if dp_flags&proc # 0 %and dp_type = headditem_type %start
#line 2527 "regression-compile-tmp/chimps.imp"
if (((((DP->FLAGS) & (4))) == (0))) goto L_026f;
#line 2527 "regression-compile-tmp/chimps.imp"
if (((DP->TYPE) != (HEADDITEM->TYPE))) goto L_026f;
                                                                //   2528          %if parmmatch(dpos) # 0 %start
#line 2528 "regression-compile-tmp/chimps.imp"
if (((PARMMATCH(DPOS)) == (0))) goto L_0270;
                                                                //   2529            headditem_type = dpos;  dlim = dlim1
#line 2529 "regression-compile-tmp/chimps.imp"
HEADDITEM->TYPE = DPOS;
#line 2529 "regression-compile-tmp/chimps.imp"
DLIM = DLIM1;
                                                                //   2530            %return
#line 2530 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2531          %finish
#line 2531 "regression-compile-tmp/chimps.imp"
L_0270:;
                                                                //   2532        %finish
#line 2532 "regression-compile-tmp/chimps.imp"
L_026f:;
                                                                //   2533        dpos = dpos+1
#line 2533 "regression-compile-tmp/chimps.imp"
DPOS = (((int)(DPOS)) + (1));
                                                                //   2534      %repeat %until dpos >= headitem
#line 2534 "regression-compile-tmp/chimps.imp"
if (((DPOS) >= (HEADITEM))) goto L_026d;
#line 2534 "regression-compile-tmp/chimps.imp"
goto L_026c;
#line 2534 "regression-compile-tmp/chimps.imp"
L_026d:;
                                                                //   2535      fault(caterr);  dlim = dlim1
#line 2535 "regression-compile-tmp/chimps.imp"
FAULT(3);
#line 2535 "regression-compile-tmp/chimps.imp"
DLIM = DLIM1;
                                                                //   2536      %return
#line 2536 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2537    %finish
#line 2537 "regression-compile-tmp/chimps.imp"
L_026b:;
                                                                //   2538    %if speccing = 0 %and headditem_flags&spec # 0 %start
#line 2538 "regression-compile-tmp/chimps.imp"
if (((SPECCING) != (0))) goto L_0271;
#line 2538 "regression-compile-tmp/chimps.imp"
if (((((HEADDITEM->FLAGS) & (16))) == (0))) goto L_0271;
                                                                //   2539      headditem_flags = headditem_flags-spec
#line 2539 "regression-compile-tmp/chimps.imp"
HEADDITEM->FLAGS = (((int)(HEADDITEM->FLAGS)) - (16));
                                                                //   2540      fault(matcherr) %if parmmatch(headitem) = 0
#line 2540 "regression-compile-tmp/chimps.imp"
if (((PARMMATCH(HEADITEM)) != (0))) goto L_0272;
#line 2540 "regression-compile-tmp/chimps.imp"
FAULT(11);
#line 2540 "regression-compile-tmp/chimps.imp"
L_0272:;
                                                                //   2541    %else
#line 2541 "regression-compile-tmp/chimps.imp"
goto L_0273;
#line 2541 "regression-compile-tmp/chimps.imp"
L_0271:;
                                                                //   2542      headditem_flags = headditem_flags!more %if dlim # dlim1
#line 2542 "regression-compile-tmp/chimps.imp"
if (((DLIM) == (DLIM1))) goto L_0274;
#line 2542 "regression-compile-tmp/chimps.imp"
HEADDITEM->FLAGS = ((HEADDITEM->FLAGS) | (128));
#line 2542 "regression-compile-tmp/chimps.imp"
L_0274:;
                                                                //   2543    %finish
#line 2543 "regression-compile-tmp/chimps.imp"
L_0273:;
                                                                //   2544  %end;  !get PARMDEF
#line 2544 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETPARMDEF at level 3
                                                                //   2545  
                                                                //   2546  initial(keylabel):  nonstandard(klabel)
#line 2546 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_23:;
#line 2546 "regression-compile-tmp/chimps.imp"
NONSTANDARD(1024);
                                                                //   2547    d_flags = lab+spec;  d_type = nulltype
#line 2547 "regression-compile-tmp/chimps.imp"
D.FLAGS = 18;
#line 2547 "regression-compile-tmp/chimps.imp"
D.TYPE = 2041;
                                                                //   2548    get IDENTLIST
#line 2548 "regression-compile-tmp/chimps.imp"
GETIDENTLIST();
                                                                //   2549    -> term
#line 2549 "regression-compile-tmp/chimps.imp"
goto U_1009;
                                                                //   2550  
                                                                //   2551  initial(prefix):
#line 2551 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_24:;
                                                                //   2552    d_flags = subatom;  ! !wflag!okflag
#line 2552 "regression-compile-tmp/chimps.imp"
D.FLAGS = SUBATOM;
                                                                //   2553  !  fault(prefix<<8) %if d_flags&extmask # 0
                                                                //   2554    atom = next atom
#line 2554 "regression-compile-tmp/chimps.imp"
ATOM = NEXTATOM();
                                                                //   2555  initial(krange): initial(keylong):
#line 2555 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_25:;
#line 2555 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_26:;
                                                                //   2556  initial(keyinteger): initial(keyreal):
#line 2556 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_27:;
#line 2556 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_28:;
                                                                //   2557  initial(keystring):  initial(keyrecord):
#line 2557 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_29:;
#line 2557 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_30:;
                                                                //   2558  initial(rpred):
#line 2558 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_33:;
                                                                //   2559    matched = 0
#line 2559 "regression-compile-tmp/chimps.imp"
MATCHED = 0;
                                                                //   2560    get TYPE(d_flags)
#line 2560 "regression-compile-tmp/chimps.imp"
GETTYPE(D.FLAGS);
                                                                //   2561    %if a(keyspec) %start
#line 2561 "regression-compile-tmp/chimps.imp"
if (!(A(34))) goto L_0275;
                                                                //   2562      %if a(left) %start
#line 2562 "regression-compile-tmp/chimps.imp"
if (!(A(55))) goto L_0276;
                                                                //   2563        get LITINT;  get(right)
#line 2563 "regression-compile-tmp/chimps.imp"
GETLITINT();
#line 2563 "regression-compile-tmp/chimps.imp"
GET(60);
                                                                //   2564        declmode = declmode&sizemask+absmode
#line 2564 "regression-compile-tmp/chimps.imp"
DECLMODE = (((int)(((DECLMODE) & (192)))) + (56));
                                                                //   2565        d_val = t_val
#line 2565 "regression-compile-tmp/chimps.imp"
D.VAL = T.VAL;
                                                                //   2566        get IDENT
#line 2566 "regression-compile-tmp/chimps.imp"
GETIDENT();
                                                                //   2567        speccing = 1 %and get PARMDEF %if d_flags&proc # 0
#line 2567 "regression-compile-tmp/chimps.imp"
if (((((D.FLAGS) & (4))) == (0))) goto L_0277;
#line 2567 "regression-compile-tmp/chimps.imp"
SPECCING = 1;
#line 2567 "regression-compile-tmp/chimps.imp"
GETPARMDEF();
#line 2567 "regression-compile-tmp/chimps.imp"
L_0277:;
                                                                //   2568        -> term
#line 2568 "regression-compile-tmp/chimps.imp"
goto U_1009;
                                                                //   2569      %finish
#line 2569 "regression-compile-tmp/chimps.imp"
L_0276:;
                                                                //   2570      d_flags = d_flags+spec
#line 2570 "regression-compile-tmp/chimps.imp"
D.FLAGS = (((int)(D.FLAGS)) + (16));
                                                                //   2571      get IDENTLIST %and -> term %if d_flags&proc = 0
#line 2571 "regression-compile-tmp/chimps.imp"
if (((((D.FLAGS) & (4))) != (0))) goto L_0278;
#line 2571 "regression-compile-tmp/chimps.imp"
GETIDENTLIST();
#line 2571 "regression-compile-tmp/chimps.imp"
goto U_1009;
#line 2571 "regression-compile-tmp/chimps.imp"
L_0278:;
                                                                //   2572    %finish
#line 2572 "regression-compile-tmp/chimps.imp"
L_0275:;
                                                                //   2573    %if d_flags&proc # 0 %start
#line 2573 "regression-compile-tmp/chimps.imp"
if (((((D.FLAGS) & (4))) == (0))) goto L_0279;
                                                                //   2574      get(ident)
#line 2574 "regression-compile-tmp/chimps.imp"
GET(54);
                                                                //   2575      %if item >= c_localdpos %and ditem_type = d_type %c
#line 2575 "regression-compile-tmp/chimps.imp"
if (((ITEM) < (C.LOCALDPOS))) goto L_027a;
#line 2575 "regression-compile-tmp/chimps.imp"
if (((DITEM->TYPE) != (D.TYPE))) goto L_027a;
#line 2575 "regression-compile-tmp/chimps.imp"
if (((((DITEM->FLAGS) & (4))) == (0))) goto L_027a;
                                                                //   2576      %and ditem_flags&proc # 0 %start
                                                                //   2577        %if ditem_flags&spec = 0 %or d_flags&spec # 0 %start
#line 2577 "regression-compile-tmp/chimps.imp"
if (((((DITEM->FLAGS) & (16))) == (0))) goto L_01cd;
#line 2577 "regression-compile-tmp/chimps.imp"
if (((((D.FLAGS) & (16))) == (0))) goto L_027b;
#line 2577 "regression-compile-tmp/chimps.imp"
L_01cd:;
                                                                //   2578          item = 0;  d_flags = d_flags+alt
#line 2578 "regression-compile-tmp/chimps.imp"
ITEM = 0;
#line 2578 "regression-compile-tmp/chimps.imp"
D.FLAGS = (((int)(D.FLAGS)) + (2048));
                                                                //   2579          declare
#line 2579 "regression-compile-tmp/chimps.imp"
DECLARE();
                                                                //   2580        %finish
#line 2580 "regression-compile-tmp/chimps.imp"
L_027b:;
                                                                //   2581      %finish %else declare
#line 2581 "regression-compile-tmp/chimps.imp"
goto L_027c;
#line 2581 "regression-compile-tmp/chimps.imp"
L_027a:;
#line 2581 "regression-compile-tmp/chimps.imp"
DECLARE();
#line 2581 "regression-compile-tmp/chimps.imp"
L_027c:;
                                                                //   2582      get LITSTRING %if d_flags&ext # 0 %and a(alias)
#line 2582 "regression-compile-tmp/chimps.imp"
if (((((D.FLAGS) & (32))) == (0))) goto L_027d;
#line 2582 "regression-compile-tmp/chimps.imp"
if (!(A(46))) goto L_027d;
#line 2582 "regression-compile-tmp/chimps.imp"
GETLITSTRING();
#line 2582 "regression-compile-tmp/chimps.imp"
L_027d:;
                                                                //   2583      %if d_flags&spec # 0 %start
#line 2583 "regression-compile-tmp/chimps.imp"
if (((((D.FLAGS) & (16))) == (0))) goto L_027e;
                                                                //   2584        speccing = 1
#line 2584 "regression-compile-tmp/chimps.imp"
SPECCING = 1;
                                                                //   2585        get PARMDEF
#line 2585 "regression-compile-tmp/chimps.imp"
GETPARMDEF();
                                                                //   2586      %finish %else %start
#line 2586 "regression-compile-tmp/chimps.imp"
goto L_027f;
#line 2586 "regression-compile-tmp/chimps.imp"
L_027e:;
                                                                //   2587        open block(item)
#line 2587 "regression-compile-tmp/chimps.imp"
OPENBLOCK(ITEM);
                                                                //   2588        get PARMDEF
#line 2588 "regression-compile-tmp/chimps.imp"
GETPARMDEF();
                                                                //   2589        c_parlim = dlim
#line 2589 "regression-compile-tmp/chimps.imp"
C.PARLIM = DLIM;
                                                                //   2590        compile entry
#line 2590 "regression-compile-tmp/chimps.imp"
COMPILEENTRY();
                                                                //   2591        get(terminator)
#line 2591 "regression-compile-tmp/chimps.imp"
GET(52);
                                                                //   2592        get STATEMENTS(end)
#line 2592 "regression-compile-tmp/chimps.imp"
GETSTATEMENTS(1);
                                                                //   2593  !      %if c_access > 0 %start
                                                                //   2594  !        report(noresult,0) %if c_type > nulltype;  !fn/map/pred
                                                                //   2595  !      %finish
                                                                //   2596        close block
#line 2596 "regression-compile-tmp/chimps.imp"
CLOSEBLOCK();
                                                                //   2597      %finish
#line 2597 "regression-compile-tmp/chimps.imp"
L_027f:;
                                                                //   2598    %else %if d_flags = typeid {dealt with}
#line 2598 "regression-compile-tmp/chimps.imp"
goto L_0280;
#line 2598 "regression-compile-tmp/chimps.imp"
L_0279:;
#line 2598 "regression-compile-tmp/chimps.imp"
if (((D.FLAGS) != (256))) goto L_0281;
                                                                //   2599    %else %if d_flags&parm # 0;  !array
#line 2599 "regression-compile-tmp/chimps.imp"
goto L_0280;
#line 2599 "regression-compile-tmp/chimps.imp"
L_0281:;
#line 2599 "regression-compile-tmp/chimps.imp"
if (((((D.FLAGS) & (64))) == (0))) goto L_0282;
                                                                //   2600      d_flags = d_flags-parm
#line 2600 "regression-compile-tmp/chimps.imp"
D.FLAGS = (((int)(D.FLAGS)) - (64));
                                                                //   2601      %if d_flags&static # 0 %start
#line 2601 "regression-compile-tmp/chimps.imp"
if (((((D.FLAGS) & (8))) == (0))) goto L_0283;
                                                                //   2602        get OWN ARRAY DECLARATION
#line 2602 "regression-compile-tmp/chimps.imp"
GETOWNARRAYDECLARATION();
                                                                //   2603      %finish %else %start
#line 2603 "regression-compile-tmp/chimps.imp"
goto L_0284;
#line 2603 "regression-compile-tmp/chimps.imp"
L_0283:;
                                                                //   2604        %if d_flags&static = 0 %and c_flags >= hadon %start
#line 2604 "regression-compile-tmp/chimps.imp"
if (((((D.FLAGS) & (8))) != (0))) goto L_0285;
#line 2604 "regression-compile-tmp/chimps.imp"
if (((C.FLAGS) < (16))) goto L_0285;
                                                                //   2605          fault(ordererr);  c_flags = c_flags&(\(hadon+hadinst))
#line 2605 "regression-compile-tmp/chimps.imp"
FAULT(10);
#line 2605 "regression-compile-tmp/chimps.imp"
C.FLAGS = ((C.FLAGS) & ((~(48))));
                                                                //   2606        %finish
#line 2606 "regression-compile-tmp/chimps.imp"
L_0285:;
                                                                //   2607        get ARRAY DECLARATION
#line 2607 "regression-compile-tmp/chimps.imp"
GETARRAYDECLARATION();
                                                                //   2608      %finish
#line 2608 "regression-compile-tmp/chimps.imp"
L_0284:;
                                                                //   2609    %else %if d_flags = static {const}
#line 2609 "regression-compile-tmp/chimps.imp"
goto L_0280;
#line 2609 "regression-compile-tmp/chimps.imp"
L_0282:;
#line 2609 "regression-compile-tmp/chimps.imp"
if (((D.FLAGS) != (8))) goto L_0286;
                                                                //   2610      d_type = dict(d_type&puretype)_type
#line 2610 "regression-compile-tmp/chimps.imp"
D.TYPE = DICT[(((int)(((D.TYPE) & (8191)))) - (2001))].TYPE;
                                                                //   2611      d_type = d_type+direct %if d_type = recy %or d_type = stringy
#line 2611 "regression-compile-tmp/chimps.imp"
if (((D.TYPE) == (2042))) goto L_026e;
#line 2611 "regression-compile-tmp/chimps.imp"
if (((D.TYPE) != (2044))) goto L_0287;
#line 2611 "regression-compile-tmp/chimps.imp"
L_026e:;
#line 2611 "regression-compile-tmp/chimps.imp"
D.TYPE = (((int)(D.TYPE)) + (8192));
#line 2611 "regression-compile-tmp/chimps.imp"
L_0287:;
                                                                //   2612      %cycle
#line 2612 "regression-compile-tmp/chimps.imp"
L_0288:;
                                                                //   2613        get IDENT
#line 2613 "regression-compile-tmp/chimps.imp"
GETIDENT();
                                                                //   2614        syntax error %if %not a assop
#line 2614 "regression-compile-tmp/chimps.imp"
if (AASSOP()) goto L_028b;
#line 2614 "regression-compile-tmp/chimps.imp"
SYNTAXERROR();
#line 2614 "regression-compile-tmp/chimps.imp"
L_028b:;
                                                                //   2615        get LITERAL(d_type)
#line 2615 "regression-compile-tmp/chimps.imp"
GETLITERAL(D.TYPE);
                                                                //   2616        faultnum = rangerr+point+warn %if faultnum = rangerr+point
#line 2616 "regression-compile-tmp/chimps.imp"
if (((FAULTNUM) != (76))) goto L_028c;
#line 2616 "regression-compile-tmp/chimps.imp"
FAULTNUM = 204;
#line 2616 "regression-compile-tmp/chimps.imp"
L_028c:;
                                                                //   2617        dict(dlim-1)_val = t_val
#line 2617 "regression-compile-tmp/chimps.imp"
DICT[(((int)((((int)(DLIM)) - (1)))) - (2001))].VAL = T.VAL;
                                                                //   2618      %repeat %until %not a(comma)
#line 2618 "regression-compile-tmp/chimps.imp"
if (!(A(59))) goto L_0289;
#line 2618 "regression-compile-tmp/chimps.imp"
goto L_0288;
#line 2618 "regression-compile-tmp/chimps.imp"
L_0289:;
                                                                //   2619    %else %if d_flags&static # 0 {own}
#line 2619 "regression-compile-tmp/chimps.imp"
goto L_0280;
#line 2619 "regression-compile-tmp/chimps.imp"
L_0286:;
#line 2619 "regression-compile-tmp/chimps.imp"
if (((((D.FLAGS) & (8))) == (0))) goto L_028d;
                                                                //   2620  !    constad == ownad;  constbound = finalbound
                                                                //   2621      declmode = declmode+ownmode
#line 2621 "regression-compile-tmp/chimps.imp"
DECLMODE = (((int)(DECLMODE)) + (46));
                                                                //   2622      %cycle
#line 2622 "regression-compile-tmp/chimps.imp"
L_028e:;
                                                                //   2623  !      constad = constad+1 %if constad&1 # 0 %and dsize # 1
                                                                //   2624  !      t_val = constad-ownbase
                                                                //   2625        get IDENT
#line 2625 "regression-compile-tmp/chimps.imp"
GETIDENT();
                                                                //   2626        t_val = 0
#line 2626 "regression-compile-tmp/chimps.imp"
T.VAL = 0;
                                                                //   2627        %if a assop %start
#line 2627 "regression-compile-tmp/chimps.imp"
if (!(AASSOP())) goto L_0291;
                                                                //   2628  !        %if d_flags&direct = 0
                                                                //   2629          get LITERAL(d_type)
#line 2629 "regression-compile-tmp/chimps.imp"
GETLITERAL(D.TYPE);
                                                                //   2630          faultnum = rangerr+point+warn %if faultnum = rangerr+point
#line 2630 "regression-compile-tmp/chimps.imp"
if (((FAULTNUM) != (76))) goto L_0292;
#line 2630 "regression-compile-tmp/chimps.imp"
FAULTNUM = 204;
#line 2630 "regression-compile-tmp/chimps.imp"
L_0292:;
                                                                //   2631        %finish
#line 2631 "regression-compile-tmp/chimps.imp"
L_0291:;
                                                                //   2632        elements = 1
#line 2632 "regression-compile-tmp/chimps.imp"
ELEMENTS = 1;
                                                                //   2633      !      plant const(t_val,1)
                                                                //   2634      %repeat %until %not a(comma)
#line 2634 "regression-compile-tmp/chimps.imp"
if (!(A(59))) goto L_028f;
#line 2634 "regression-compile-tmp/chimps.imp"
goto L_028e;
#line 2634 "regression-compile-tmp/chimps.imp"
L_028f:;
                                                                //   2635    %else;      !dynamic variable
#line 2635 "regression-compile-tmp/chimps.imp"
goto L_0280;
#line 2635 "regression-compile-tmp/chimps.imp"
L_028d:;
                                                                //   2636  !    declmode = declmode+dispmode+level
                                                                //   2637      %if d_flags&static = 0 %and c_flags >= hadon %start
#line 2637 "regression-compile-tmp/chimps.imp"
if (((((D.FLAGS) & (8))) != (0))) goto L_0293;
#line 2637 "regression-compile-tmp/chimps.imp"
if (((C.FLAGS) < (16))) goto L_0293;
                                                                //   2638        fault(ordererr);  c_flags = c_flags&(\(hadon+hadinst))
#line 2638 "regression-compile-tmp/chimps.imp"
FAULT(10);
#line 2638 "regression-compile-tmp/chimps.imp"
C.FLAGS = ((C.FLAGS) & ((~(48))));
                                                                //   2639      %finish
#line 2639 "regression-compile-tmp/chimps.imp"
L_0293:;
                                                                //   2640      %cycle
#line 2640 "regression-compile-tmp/chimps.imp"
L_0294:;
                                                                //   2641  !problematic c_delta = c_delta-1 %if c_delta&1 # 0 %and dsize # 1
                                                                //   2642        c_delta = c_delta-dsize
#line 2642 "regression-compile-tmp/chimps.imp"
C.DELTA = (((int)(C.DELTA)) - (DSIZE));
                                                                //   2643        c_delta = c_delta-1 %if c_delta&1 # 0
#line 2643 "regression-compile-tmp/chimps.imp"
if (((((C.DELTA) & (1))) == (0))) goto L_0297;
#line 2643 "regression-compile-tmp/chimps.imp"
C.DELTA = (((int)(C.DELTA)) - (1));
#line 2643 "regression-compile-tmp/chimps.imp"
L_0297:;
                                                                //   2644        t_val = c_sp+c_delta
#line 2644 "regression-compile-tmp/chimps.imp"
T.VAL = (((int)(C.SP)) + (C.DELTA));
                                                                //   2645        get IDENT
#line 2645 "regression-compile-tmp/chimps.imp"
GETIDENT();
                                                                //   2646        %if a assop %start
#line 2646 "regression-compile-tmp/chimps.imp"
if (!(AASSOP())) goto L_0298;
                                                                //   2647          nonstandard(initass)
#line 2647 "regression-compile-tmp/chimps.imp"
NONSTANDARD(64);
                                                                //   2648          %if d_type >= indirect %start
#line 2648 "regression-compile-tmp/chimps.imp"
if (((D.TYPE) < (16384))) goto L_0299;
                                                                //   2649            fault(caterr+point) %if atom # eqeq
#line 2649 "regression-compile-tmp/chimps.imp"
if (((ATOM) == (76))) goto L_029a;
#line 2649 "regression-compile-tmp/chimps.imp"
FAULT(67);
#line 2649 "regression-compile-tmp/chimps.imp"
L_029a:;
                                                                //   2650            get REFERENCE(d_type)
#line 2650 "regression-compile-tmp/chimps.imp"
GETREFERENCE(D.TYPE);
                                                                //   2651            item = item+ad %if item # 0
#line 2651 "regression-compile-tmp/chimps.imp"
if (((ITEM) == (0))) goto L_029b;
#line 2651 "regression-compile-tmp/chimps.imp"
ITEM = (((int)(ITEM)) + (16384));
#line 2651 "regression-compile-tmp/chimps.imp"
L_029b:;
                                                                //   2652  !          put3(assign,dlim-1+ad,item)
                                                                //   2653          %finish %else %start
#line 2653 "regression-compile-tmp/chimps.imp"
goto L_029c;
#line 2653 "regression-compile-tmp/chimps.imp"
L_0299:;
                                                                //   2654            fault(caterr+point) %if atom = eqeq
#line 2654 "regression-compile-tmp/chimps.imp"
if (((ATOM) != (76))) goto L_029d;
#line 2654 "regression-compile-tmp/chimps.imp"
FAULT(67);
#line 2654 "regression-compile-tmp/chimps.imp"
L_029d:;
                                                                //   2655            get VALUE(d_type)
#line 2655 "regression-compile-tmp/chimps.imp"
GETVALUE(D.TYPE);
                                                                //   2656  !          put2(assign,dlim-1)
                                                                //   2657          %finish
#line 2657 "regression-compile-tmp/chimps.imp"
L_029c:;
                                                                //   2658  !        compile(np0,np0)
                                                                //   2659        %finish
#line 2659 "regression-compile-tmp/chimps.imp"
L_0298:;
                                                                //   2660      %repeat %until %not a(comma)
#line 2660 "regression-compile-tmp/chimps.imp"
if (!(A(59))) goto L_0295;
#line 2660 "regression-compile-tmp/chimps.imp"
goto L_0294;
#line 2660 "regression-compile-tmp/chimps.imp"
L_0295:;
                                                                //   2661    %finish
#line 2661 "regression-compile-tmp/chimps.imp"
L_0280:;
                                                                //   2662    -> term
#line 2662 "regression-compile-tmp/chimps.imp"
goto U_1009;
                                                                //   2663  
                                                                //   2664  %routine GET SWITCH DECLARATION
#line 2664 "regression-compile-tmp/chimps.imp"
void GETSWITCHDECLARATION( void )
#line 2664 "regression-compile-tmp/chimps.imp"
{
                                                                //   2665  %integer i,j,dlim1
#line 2665 "regression-compile-tmp/chimps.imp"
int I;
#line 2665 "regression-compile-tmp/chimps.imp"
int J;
#line 2665 "regression-compile-tmp/chimps.imp"
int DLIM1;
                                                                //   2666    matched = 1
#line 2666 "regression-compile-tmp/chimps.imp"
MATCHED = 1;
                                                                //   2667    %cycle
#line 2667 "regression-compile-tmp/chimps.imp"
L_029e:;
                                                                //   2668      d_flags = lab;  d_type = nulltype
#line 2668 "regression-compile-tmp/chimps.imp"
D.FLAGS = 2;
#line 2668 "regression-compile-tmp/chimps.imp"
D.TYPE = 2041;
                                                                //   2669      declmode = pcmode+wordsize<<sizeshift
#line 2669 "regression-compile-tmp/chimps.imp"
DECLMODE = ((58) + ((int)(((2) << (6)))));
                                                                //   2670      get IDENTLIST
#line 2670 "regression-compile-tmp/chimps.imp"
GETIDENTLIST();
                                                                //   2671      dlim1 = dlim
#line 2671 "regression-compile-tmp/chimps.imp"
DLIM1 = DLIM;
                                                                //   2672      get LITBOUNDS
#line 2672 "regression-compile-tmp/chimps.imp"
GETLITBOUNDS();
                                                                //   2673      %cycle;  !For each ident in group
#line 2673 "regression-compile-tmp/chimps.imp"
L_02a1:;
                                                                //   2674        %exit %if spc-elements <= 0;  !ignore if too many
#line 2674 "regression-compile-tmp/chimps.imp"
if ((((((int)(SPC)) - (ELEMENTS))) > (0))) goto L_02a4;
#line 2674 "regression-compile-tmp/chimps.imp"
goto L_02a2;
#line 2674 "regression-compile-tmp/chimps.imp"
L_02a4:;
                                                                //   2675        %for i = 1,1,elements %cycle
#line 2675 "regression-compile-tmp/chimps.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 */
}
                                                                //   2676          spc = spc-1;  final(spc) = 0
#line 2676 "regression-compile-tmp/chimps.imp"
SPC = (((int)(SPC)) - (1));
#line 2676 "regression-compile-tmp/chimps.imp"
FINAL[SPC] = 0;
                                                                //   2677        %repeat
#line 2677 "regression-compile-tmp/chimps.imp"
goto L_02a5;
#line 2677 "regression-compile-tmp/chimps.imp"
L_02a6:;
                                                                //   2678        dict(dlim0)_val = spc
#line 2678 "regression-compile-tmp/chimps.imp"
DICT[(((int)(DLIM0)) - (2001))].VAL = SPC;
                                                                //   2679        dict(dlim0)_type = item
#line 2679 "regression-compile-tmp/chimps.imp"
DICT[(((int)(DLIM0)) - (2001))].TYPE = ITEM;
                                                                //   2680        dlim0 = dlim0+1
#line 2680 "regression-compile-tmp/chimps.imp"
DLIM0 = (((int)(DLIM0)) + (1));
                                                                //   2681      %repeat %until dlim0 = dlim1
#line 2681 "regression-compile-tmp/chimps.imp"
if (((DLIM0) == (DLIM1))) goto L_02a2;
#line 2681 "regression-compile-tmp/chimps.imp"
goto L_02a1;
#line 2681 "regression-compile-tmp/chimps.imp"
L_02a2:;
                                                                //   2682    %repeat %until %not a(comma)
#line 2682 "regression-compile-tmp/chimps.imp"
if (!(A(59))) goto L_029f;
#line 2682 "regression-compile-tmp/chimps.imp"
goto L_029e;
#line 2682 "regression-compile-tmp/chimps.imp"
L_029f:;
                                                                //   2683  %end
#line 2683 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETSWITCHDECLARATION at level 3
                                                                //   2684  initial(keyswitch):
#line 2684 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_37:;
                                                                //   2685    get SWITCH DECLARATION
#line 2685 "regression-compile-tmp/chimps.imp"
GETSWITCHDECLARATION();
                                                                //   2686    ->term
#line 2686 "regression-compile-tmp/chimps.imp"
goto U_1009;
                                                                //   2687  
                                                                //   2688  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   2689  !!!!!!!!!!!!!!!  Control statements  !!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   2690  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                                //   2691  !
                                                                //   2692  initial(keycontrol):
#line 2692 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_42:;
                                                                //   2693    get LITINT
#line 2693 "regression-compile-tmp/chimps.imp"
GETLITINT();
                                                                //   2694    control = 0 %if t_val = 0
#line 2694 "regression-compile-tmp/chimps.imp"
if (((T.VAL) != (0))) goto L_02a8;
#line 2694 "regression-compile-tmp/chimps.imp"
CONTROL = 0;
#line 2694 "regression-compile-tmp/chimps.imp"
L_02a8:;
                                                                //   2695    control = control!!t_val
#line 2695 "regression-compile-tmp/chimps.imp"
CONTROL = ((CONTROL) ^ (T.VAL));
                                                                //   2696    ->term
#line 2696 "regression-compile-tmp/chimps.imp"
goto U_1009;
                                                                //   2697  
                                                                //   2698  initial(include):
#line 2698 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_45:;
                                                                //   2699    get LITSTRING
#line 2699 "regression-compile-tmp/chimps.imp"
GETLITSTRING();
                                                                //   2700    extra_name = ""
#line 2700 "regression-compile-tmp/chimps.imp"
EXTRA.NAME = _imp_str_literal("");
                                                                //   2701    %while t_val > 0 %cycle
#line 2701 "regression-compile-tmp/chimps.imp"
L_02a9:;
#line 2701 "regression-compile-tmp/chimps.imp"
if (((T.VAL) <= (0))) goto L_02aa;
                                                                //   2702      extra_name = extra_name.tostring(byteinteger(atomp))
#line 2702 "regression-compile-tmp/chimps.imp"
EXTRA.NAME = _imp_join((_imp_string)EXTRA.NAME,(_imp_string)_imp_TOSTRING(*_imp_BYTEINTEGER(ATOMP)));
                                                                //   2703      atomp = atomp+1;  t_val = t_val-1
#line 2703 "regression-compile-tmp/chimps.imp"
ATOMP = (((int)(ATOMP)) + (1));
#line 2703 "regression-compile-tmp/chimps.imp"
T.VAL = (((int)(T.VAL)) - (1));
                                                                //   2704    %repeat
#line 2704 "regression-compile-tmp/chimps.imp"
goto L_02a9;
#line 2704 "regression-compile-tmp/chimps.imp"
L_02aa:;
                                                                //   2705    get(terminator)
#line 2705 "regression-compile-tmp/chimps.imp"
GET(52);
                                                                //   2706    %if faultnum = 0 %start
#line 2706 "regression-compile-tmp/chimps.imp"
if (((FAULTNUM) != (0))) goto L_02ac;
                                                                //   2707      connect edfile(extra)
#line 2707 "regression-compile-tmp/chimps.imp"
CONNECTEDFILE(&EXTRA);
                                                                //   2708      nonstop = -999 %and %signal 12 %if extra_flag # 0
#line 2708 "regression-compile-tmp/chimps.imp"
if (((EXTRA.FLAG) == (0))) goto L_02ad;
#line 2708 "regression-compile-tmp/chimps.imp"
NONSTOP = (-999);
#line 2708 "regression-compile-tmp/chimps.imp"
_imp_signal(12, 0, 0, "");
#line 2708 "regression-compile-tmp/chimps.imp"
L_02ad:;
                                                                //   2709      mainfp = fp;  mainline = line
#line 2709 "regression-compile-tmp/chimps.imp"
MAINFP = FP;
#line 2709 "regression-compile-tmp/chimps.imp"
MAINLINE = LINE;
                                                                //   2710      line = 0;  sym = nl
#line 2710 "regression-compile-tmp/chimps.imp"
LINE = 0;
#line 2710 "regression-compile-tmp/chimps.imp"
SYM = 10;
                                                                //   2711      fp = extra_start2;  curstart = fp;  curlim = extra_lim2
#line 2711 "regression-compile-tmp/chimps.imp"
FP = EXTRA.START2;
#line 2711 "regression-compile-tmp/chimps.imp"
CURSTART = FP;
#line 2711 "regression-compile-tmp/chimps.imp"
CURLIM = EXTRA.LIM2;
                                                                //   2712      modesym = '&';  nonstop = nonstop+1
#line 2712 "regression-compile-tmp/chimps.imp"
MODESYM = 38;
#line 2712 "regression-compile-tmp/chimps.imp"
NONSTOP = (((int)(NONSTOP)) + (1));
                                                                //   2713    %finish
#line 2713 "regression-compile-tmp/chimps.imp"
L_02ac:;
                                                                //   2714    ->next
#line 2714 "regression-compile-tmp/chimps.imp"
goto U_100b;
                                                                //   2715  
                                                                //   2716  initial(keylist):
#line 2716 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_41:;
                                                                //   2717    ->term
#line 2717 "regression-compile-tmp/chimps.imp"
goto U_1009;
                                                                //   2718  
                                                                //   2719  initial(begin):
#line 2719 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_5:;
                                                                //   2720    c_sp = -8
#line 2720 "regression-compile-tmp/chimps.imp"
C.SP = (-8);
                                                                //   2721    get(terminator)
#line 2721 "regression-compile-tmp/chimps.imp"
GET(52);
                                                                //   2722    open block(0)
#line 2722 "regression-compile-tmp/chimps.imp"
OPENBLOCK(0);
                                                                //   2723    get STATEMENTS(0)
#line 2723 "regression-compile-tmp/chimps.imp"
GETSTATEMENTS(0);
                                                                //   2724    close block
#line 2724 "regression-compile-tmp/chimps.imp"
CLOSEBLOCK();
                                                                //   2725    -> term %if stopper >= 0
#line 2725 "regression-compile-tmp/chimps.imp"
if (((STOPPER) < (0))) goto L_02ae;
#line 2725 "regression-compile-tmp/chimps.imp"
goto U_1009;
#line 2725 "regression-compile-tmp/chimps.imp"
L_02ae:;
                                                                //   2726    %return
#line 2726 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2727  
                                                                //   2728  initial(end):
#line 2728 "regression-compile-tmp/chimps.imp"
sw4_INITIAL_1:;
                                                                //   2729    %if %not a(of) %start
#line 2729 "regression-compile-tmp/chimps.imp"
if (A(38)) goto L_02af;
                                                                //   2730      fault(nofinish) %if stopper = else %or stopper = finish
#line 2730 "regression-compile-tmp/chimps.imp"
if (((STOPPER) == (4))) goto L_02a3;
#line 2730 "regression-compile-tmp/chimps.imp"
if (((STOPPER) != (3))) goto L_02b0;
#line 2730 "regression-compile-tmp/chimps.imp"
L_02a3:;
#line 2730 "regression-compile-tmp/chimps.imp"
FAULT(43);
#line 2730 "regression-compile-tmp/chimps.imp"
L_02b0:;
                                                                //   2731      fault(norepeat) %if stopper = repeat
#line 2731 "regression-compile-tmp/chimps.imp"
if (((STOPPER) != (2))) goto L_02b1;
#line 2731 "regression-compile-tmp/chimps.imp"
FAULT(44);
#line 2731 "regression-compile-tmp/chimps.imp"
L_02b1:;
                                                                //   2732      %return %if stopper >= 0
#line 2732 "regression-compile-tmp/chimps.imp"
if (((STOPPER) < (0))) goto L_02b2;
#line 2732 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2732 "regression-compile-tmp/chimps.imp"
L_02b2:;
                                                                //   2733      fault(nobegin)
#line 2733 "regression-compile-tmp/chimps.imp"
FAULT(41);
                                                                //   2734      ->term
#line 2734 "regression-compile-tmp/chimps.imp"
goto U_1009;
                                                                //   2735    %finish
#line 2735 "regression-compile-tmp/chimps.imp"
L_02af:;
                                                                //   2736    %if a(keylist) %start
#line 2736 "regression-compile-tmp/chimps.imp"
if (!(A(41))) goto L_02b3;
                                                                //   2737      ->term
#line 2737 "regression-compile-tmp/chimps.imp"
goto U_1009;
                                                                //   2738    %finish
#line 2738 "regression-compile-tmp/chimps.imp"
L_02b3:;
                                                                //   2739    %if a(keyfile) %start
#line 2739 "regression-compile-tmp/chimps.imp"
if (!(A(39))) goto L_02b4;
                                                                //   2740      %if curlim = extra_lim2 %start
#line 2740 "regression-compile-tmp/chimps.imp"
if (((CURLIM) != (EXTRA.LIM2))) goto L_02b5;
                                                                //   2741        switch input
#line 2741 "regression-compile-tmp/chimps.imp"
SWITCHINPUT();
                                                                //   2742        ->next
#line 2742 "regression-compile-tmp/chimps.imp"
goto U_100b;
                                                                //   2743      %finish
#line 2743 "regression-compile-tmp/chimps.imp"
L_02b5:;
                                                                //   2744    %finish %else get(program)
#line 2744 "regression-compile-tmp/chimps.imp"
goto L_02b6;
#line 2744 "regression-compile-tmp/chimps.imp"
L_02b4:;
#line 2744 "regression-compile-tmp/chimps.imp"
GET(40);
#line 2744 "regression-compile-tmp/chimps.imp"
L_02b6:;
                                                                //   2745  %end;  !GET STATEMENTS
#line 2745 "regression-compile-tmp/chimps.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
                                                                //   2746  
                                                                //   2747  %routine INIT(%integer t,l,h)
#line 2747 "regression-compile-tmp/chimps.imp"
void INIT( int T, int L, int H )
#line 2747 "regression-compile-tmp/chimps.imp"
{
                                                                //   2748    d_flags = typeid;  d_type = t;  d_low = l;  d_val = h
#line 2748 "regression-compile-tmp/chimps.imp"
D.FLAGS = 256;
#line 2748 "regression-compile-tmp/chimps.imp"
D.TYPE = T;
#line 2748 "regression-compile-tmp/chimps.imp"
D.LOW = L;
#line 2748 "regression-compile-tmp/chimps.imp"
D.VAL = H;
                                                                //   2749    dict(dlim) = d;  dlim = dlim+1
#line 2749 "regression-compile-tmp/chimps.imp"
DICT[(((int)(DLIM)) - (2001))] = D;
#line 2749 "regression-compile-tmp/chimps.imp"
DLIM = (((int)(DLIM)) + (1));
                                                                //   2750  %end
#line 2750 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block INIT at level 2
                                                                //   2751  
                                                                //   2752  %on %event 12 %start
#line 2752 "regression-compile-tmp/chimps.imp"
if (!_imp_on_event(12)) goto L_02b7;  /* TO DO: Remove %on %event handler just before L_02b7: if present for this block */
                                                                //   2753    -> printout %if fp = main_lim2
#line 2753 "regression-compile-tmp/chimps.imp"
if (((FP) != (MAIN->LIM2))) goto L_02b8;
#line 2753 "regression-compile-tmp/chimps.imp"
goto U_100f;
#line 2753 "regression-compile-tmp/chimps.imp"
L_02b8:;
                                                                //   2754    -> ended %if main_flag < 0 %or nonstop = -999;  !abandon or CROAK
#line 2754 "regression-compile-tmp/chimps.imp"
if (((MAIN->FLAG) < (0))) goto L_02b9;
#line 2754 "regression-compile-tmp/chimps.imp"
if (((NONSTOP) != ((-999)))) goto L_02ba;
#line 2754 "regression-compile-tmp/chimps.imp"
L_02b9:;
#line 2754 "regression-compile-tmp/chimps.imp"
goto U_1010;
#line 2754 "regression-compile-tmp/chimps.imp"
L_02ba:;
                                                                //   2755    change = main_change
#line 2755 "regression-compile-tmp/chimps.imp"
CHANGE = MAIN->CHANGE;
                                                                //   2756  %finish
#line 2756 "regression-compile-tmp/chimps.imp"
L_02b7:;
                                                                //   2757  
                                                                //   2758    printstring("  IMP Checker  ");  newline
#line 2758 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal("  IMP Checker  "));
#line 2758 "regression-compile-tmp/chimps.imp"
NEWLINE();
                                                                //   2759    hashindex(i) = 0 %for i = 0,1,255;  !hash table empty
#line 2759 "regression-compile-tmp/chimps.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 2759 "regression-compile-tmp/chimps.imp"
HASHINDEX[I] = 0;
#line 2759 "regression-compile-tmp/chimps.imp"
goto L_02bb;
#line 2759 "regression-compile-tmp/chimps.imp"
L_02bc:;
                                                                //   2760    charbase = addr(char(0));  byteinteger(charbase) = 0;  !for anon ident
#line 2760 "regression-compile-tmp/chimps.imp"
CHARBASE = _imp_ADDR(&CHAR[0]);
#line 2760 "regression-compile-tmp/chimps.imp"
*_imp_BYTEINTEGER(CHARBASE) = 0;
                                                                //   2761    charlim = charbase+1
#line 2761 "regression-compile-tmp/chimps.imp"
CHARLIM = (((int)(CHARBASE)) + (1));
                                                                //   2762    charmin = charlim+charbound;  !(1 over top)
#line 2762 "regression-compile-tmp/chimps.imp"
CHARMIN = (((int)(CHARLIM)) + (6000));
                                                                //   2763    dict(i)_val = 0 %for i = d0,1,labmax
#line 2763 "regression-compile-tmp/chimps.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 2763 "regression-compile-tmp/chimps.imp"
DICT[(((int)(I)) - (2001))].VAL = 0;
#line 2763 "regression-compile-tmp/chimps.imp"
goto L_02be;
#line 2763 "regression-compile-tmp/chimps.imp"
L_02bf:;
                                                                //   2764    d_flags = typeid;  d_low = minint;  d_val = maxint
#line 2764 "regression-compile-tmp/chimps.imp"
D.FLAGS = 256;
#line 2764 "regression-compile-tmp/chimps.imp"
D.LOW = (-2147483648);
#line 2764 "regression-compile-tmp/chimps.imp"
D.VAL = 2147483647;
                                                                //   2765    dmin = dictmax-1;  dlim = dictmin
#line 2765 "regression-compile-tmp/chimps.imp"
DMIN = 3232;
#line 2765 "regression-compile-tmp/chimps.imp"
DLIM = 2041;
                                                                //   2766    %cycle
#line 2766 "regression-compile-tmp/chimps.imp"
L_02c1:;
                                                                //   2767      d_type = dlim;  dict(dlim) = d
#line 2767 "regression-compile-tmp/chimps.imp"
D.TYPE = DLIM;
#line 2767 "regression-compile-tmp/chimps.imp"
DICT[(((int)(DLIM)) - (2001))] = D;
                                                                //   2768      dlim = dlim+1
#line 2768 "regression-compile-tmp/chimps.imp"
DLIM = (((int)(DLIM)) + (1));
                                                                //   2769    %repeat %until dlim > booltype
#line 2769 "regression-compile-tmp/chimps.imp"
if (((DLIM) > (2048))) goto L_02c2;
#line 2769 "regression-compile-tmp/chimps.imp"
goto L_02c1;
#line 2769 "regression-compile-tmp/chimps.imp"
L_02c2:;
                                                                //   2770    d_flags = 0
#line 2770 "regression-compile-tmp/chimps.imp"
D.FLAGS = 0;
                                                                //   2771    init(booltype,0,0)
#line 2771 "regression-compile-tmp/chimps.imp"
INIT(2048, 0, 0);
                                                                //   2772    init(booltype,0,1)
#line 2772 "regression-compile-tmp/chimps.imp"
INIT(2048, 0, 1);
                                                                //   2773    d_flags = typeid
#line 2773 "regression-compile-tmp/chimps.imp"
D.FLAGS = 256;
                                                                //   2774    init(inty,minint,maxint)
#line 2774 "regression-compile-tmp/chimps.imp"
INIT(2046, (-2147483648), 2147483647);
                                                                //   2775    init(inty,-32768,32767)
#line 2775 "regression-compile-tmp/chimps.imp"
INIT(2046, (-32768), 32767);
                                                                //   2776    init(inty,0,65535)
#line 2776 "regression-compile-tmp/chimps.imp"
INIT(2046, 0, 65535);
                                                                //   2777    init(inty,0,255)
#line 2777 "regression-compile-tmp/chimps.imp"
INIT(2046, 0, 255);
                                                                //   2778    init(inty,-128,127)
#line 2778 "regression-compile-tmp/chimps.imp"
INIT(2046, (-128), 127);
                                                                //   2779    init(inty,0,1)
#line 2779 "regression-compile-tmp/chimps.imp"
INIT(2046, 0, 1);
                                                                //   2780    init(inty,minint,maxint)
#line 2780 "regression-compile-tmp/chimps.imp"
INIT(2046, (-2147483648), 2147483647);
                                                                //   2781    init(realy,minint,maxint)
#line 2781 "regression-compile-tmp/chimps.imp"
INIT(2045, (-2147483648), 2147483647);
                                                                //   2782    init(realy,minint,maxint)
#line 2782 "regression-compile-tmp/chimps.imp"
INIT(2045, (-2147483648), 2147483647);
                                                                //   2783    c = 0;  c_localdpos = dlim;  c_parlim = dlim
#line 2783 "regression-compile-tmp/chimps.imp"
C = (BLOCKINF){ 0 } /* Assign 0's to all fields of record */;
#line 2783 "regression-compile-tmp/chimps.imp"
C.LOCALDPOS = DLIM;
#line 2783 "regression-compile-tmp/chimps.imp"
C.PARLIM = DLIM;
                                                                //   2784    level = outerlevel
#line 2784 "regression-compile-tmp/chimps.imp"
LEVEL = 0;
                                                                //   2785    spc = finalbound
#line 2785 "regression-compile-tmp/chimps.imp"
SPC = 8192;
                                                                //   2786    faults = 0;  line = 0;  mainline = 0
#line 2786 "regression-compile-tmp/chimps.imp"
FAULTS = 0;
#line 2786 "regression-compile-tmp/chimps.imp"
LINE = 0;
#line 2786 "regression-compile-tmp/chimps.imp"
MAINLINE = 0;
                                                                //   2787  !
                                                                //   2788    mainfp = main_start1
#line 2788 "regression-compile-tmp/chimps.imp"
MAINFP = MAIN->START1;
                                                                //   2789    extra_name = permfile
#line 2789 "regression-compile-tmp/chimps.imp"
EXTRA.NAME = PERMFILE;
                                                                //   2790    connect edfile(extra)
#line 2790 "regression-compile-tmp/chimps.imp"
CONNECTEDFILE(&EXTRA);
                                                                //   2791    nonstop = -999 %and %signal 12 %if extra_flag # 0
#line 2791 "regression-compile-tmp/chimps.imp"
if (((EXTRA.FLAG) == (0))) goto L_02c4;
#line 2791 "regression-compile-tmp/chimps.imp"
NONSTOP = (-999);
#line 2791 "regression-compile-tmp/chimps.imp"
_imp_signal(12, 0, 0, "");
#line 2791 "regression-compile-tmp/chimps.imp"
L_02c4:;
                                                                //   2792    fp = extra_start2;  curstart = fp;  curlim = extra_lim2
#line 2792 "regression-compile-tmp/chimps.imp"
FP = EXTRA.START2;
#line 2792 "regression-compile-tmp/chimps.imp"
CURSTART = FP;
#line 2792 "regression-compile-tmp/chimps.imp"
CURLIM = EXTRA.LIM2;
                                                                //   2793    nonstop = -2;  nonstop = -1 %if main_flag = 'I'
#line 2793 "regression-compile-tmp/chimps.imp"
NONSTOP = (-2);
#line 2793 "regression-compile-tmp/chimps.imp"
if (((MAIN->FLAG) != (73))) goto L_02c5;
#line 2793 "regression-compile-tmp/chimps.imp"
NONSTOP = (-1);
#line 2793 "regression-compile-tmp/chimps.imp"
L_02c5:;
                                                                //   2794    sym = nl
#line 2794 "regression-compile-tmp/chimps.imp"
SYM = 10;
                                                                //   2795    get STATEMENTS(-1)
#line 2795 "regression-compile-tmp/chimps.imp"
GETSTATEMENTS((-1));
                                                                //   2796  !  report(noend,0) %if level < mainlevel
                                                                //   2797  !  report(nobegin,0) %if level > mainlevel
                                                                //   2798  !  compile end %while level >= mainlevel
                                                                //   2799  printout:
#line 2799 "regression-compile-tmp/chimps.imp"
U_100f:;
                                                                //   2800  !  time2 = cputime
                                                                //   2801    %if faults = 0 %start
#line 2801 "regression-compile-tmp/chimps.imp"
if (((FAULTS) != (0))) goto L_02c6;
                                                                //   2802      write(statements,1)
#line 2802 "regression-compile-tmp/chimps.imp"
WRITE(STATEMENTS, 1);
                                                                //   2803      print string(" statements checked  ")
#line 2803 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal(" statements checked  "));
                                                                //   2804    %finish %else %start
#line 2804 "regression-compile-tmp/chimps.imp"
goto L_02c7;
#line 2804 "regression-compile-tmp/chimps.imp"
L_02c6:;
                                                                //   2805      write(faults,1)
#line 2805 "regression-compile-tmp/chimps.imp"
WRITE(FAULTS, 1);
                                                                //   2806      print string(" fault")
#line 2806 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal(" fault"));
                                                                //   2807      put sym('s') %if faults > 1
#line 2807 "regression-compile-tmp/chimps.imp"
if (((FAULTS) <= (1))) goto L_02c8;
#line 2807 "regression-compile-tmp/chimps.imp"
PUTSYM(115);
#line 2807 "regression-compile-tmp/chimps.imp"
L_02c8:;
                                                                //   2808      print string(" reported  ")
#line 2808 "regression-compile-tmp/chimps.imp"
PRINTSTRING(_imp_str_literal(" reported  "));
                                                                //   2809    %finish
#line 2809 "regression-compile-tmp/chimps.imp"
L_02c7:;
                                                                //   2810    newline
#line 2810 "regression-compile-tmp/chimps.imp"
NEWLINE();
                                                                //   2811  ended:
#line 2811 "regression-compile-tmp/chimps.imp"
U_1010:;
                                                                //   2812    newline;  !*for now to ensure message not erased*
#line 2812 "regression-compile-tmp/chimps.imp"
NEWLINE();
                                                                //   2813  !  %if control&logbit # 0 %start
                                                                //   2814  !!    write(zaps,1);  print symbol('Z')
                                                                //   2815  !    write(statements,1);  print symbol('S')
                                                                //   2816  !    statements = 1 %if statements = 0
                                                                //   2817  !    atoms = atoms+statements
                                                                //   2818  !    print(atoms/statements,1,1);  print symbol('A')
                                                                //   2819  !    print(numatoms/statements,1,1);  print symbol('N')
                                                                //   2820  !    print(identatoms/statements,1,1);  print symbol('I')
                                                                //   2821  !    print(misses/identatoms,1,2);  print symbol('H')
                                                                //   2822  !    print((time2-time1)/statements,3,3);  print symbol('M')
                                                                //   2823  !!    write(finalad,1);  print symbol('B')
                                                                //   2824  !!    write(ownad-ownbase,1);  print symbol('O')
                                                                //   2825  !    newline
                                                                //   2826  !  %finish
                                                                //   2827  
                                                                //   2828  %end;  !of ECCECI
#line 2828 "regression-compile-tmp/chimps.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ECCECI at level 1
                                                                //   2829  %endoffile
#line 2829 "regression-compile-tmp/chimps.imp"
// End of file
