#include <perms.h>

                                                                //      1  ! IMP77 compiler  first pass
                                                                //      2  
                                                                //      3  !###########################################################
                                                                //      4  ! This program is a Copyright work.                        #
                                                                //      5  !                                                          #
                                                                //      6  ! Over the last 40+ years a long and distinguished list of #
                                                                //      7  ! institutions, individuals and other entities have made   #
                                                                //      8  ! contributions to portions of this program and may have a #
                                                                //      9  ! reasonable claim over rights to certain parts of the     #
                                                                //     10  ! program.                                                 #
                                                                //     11  !                                                          #
                                                                //     12  ! This version is therefore provided for education and     #
                                                                //     13  ! demonstration purposes only                              #
                                                                //     14  !###########################################################
                                                                //     15  
                                                                //     16  %begin
#line 16 "regression-compile-tmp/pass1.imp"
int main(int argc, char **argv) {
  _imp_initialise(argc, argv);
                                                                //     17      %conststring(4) version = "8.4"
#line 17 "regression-compile-tmp/pass1.imp"
const _imp_string /*%string(4)*/ VERSION = _imp_str_literal("8.4");
                                                                //     18  
                                                                //     19      !configuration parameters
                                                                //     20      { minus one represents all bits set for an %integer     }
                                                                //     21      { %integer could be 16,32,64 bits wide depending on the }
                                                                //     22      { processor being targeted                              }
                                                                //     23      { i.e 8086 (16 bits), 80386 (32 bits), i86_64 (64 bits) }
                                                                //     24      %constinteger minus one    = -1;
                                                                //     25  ! Wee change needed to cross-compile the compiler when going from 16 bit to 32 bit world
                                                                //     26  !    %constinteger minus one    = 16_7fff;
                                                                //     27  
                                                                //     28      { now to set up various constants }
                                                                //     29      %constinteger max int      = ((minus one)>>1)//10
                                                                //     30      %constinteger max dig      = (minus one)>>1-maxint*10
                                                                //     31      %constinteger byte size    = 8;            !bits per byte
                                                                //     32      %constinteger max tag      = 800;          !max no. of tags
                                                                //     33      %constinteger max dict     = 6000;         !max extent of dictionary
                                                                //     34      %constinteger name bits    = 11;           !size of name table as a power of two
                                                                //     35      %constinteger max names    = 1<<namebits-1;!table limit (a mask, eg 255)
                                                                //     36      %owninteger   spare names  = max names
#line 36 "regression-compile-tmp/pass1.imp"
static int SPARENAMES = 2047;
                                                                //     37      %constinteger lit max      = 50;           !max no. of constants/stat.
                                                                //     38      %constinteger rec size     = 520;          !size of analysis record
                                                                //     39      %constinteger dim limit    = 6;            !maximum array dimension
                                                                //     40  
                                                                //     41      !symbols
                                                                //     42      %constinteger ff     = 12;              !form feed
                                                                //     43      %constinteger marker = '^';             !marker for faults
                                                                //     44      %constinteger squote = '"';             !string quote
                                                                //     45      %constinteger cquote = '''';            !character quote
                                                                //     46  
                                                                //     47      !streams
                                                                //     48      %constinteger report = 0,  source = 1
                                                                //     49      %constinteger object = 1, listing = 2
                                                                //     50  
                                                                //     51      !types
                                                                //     52      %constinteger integer = 1
                                                                //     53      %constinteger real    = 2
                                                                //     54      %constinteger stringv = 3
                                                                //     55      %constinteger record  = 4
                                                                //     56  
                                                                //     57      !forms
                                                                //     58      %constinteger iform = integer<<4+1
                                                                //     59      %constinteger var = 91
                                                                //     60      %constinteger const   = 93
                                                                //     61      %constinteger swit    = 105
                                                                //     62      %constinteger comment = 22
                                                                //     63      %constinteger termin  = 20
                                                                //     64      %constinteger lab     = 3
                                                                //     65      %constinteger jump    = 54
                                                                //     66      %constinteger recfm = 4
                                                                //     67      %constinteger proc  = 7;                     !class for proc
                                                                //     68  
                                                                //     69      !phrase entries
                                                                //     70      %constinteger escdec   = 252
                                                                //     71      %constinteger escproc  = 253
                                                                //     72      %constinteger escarray = 254
                                                                //     73      %constinteger escrec   = 255
                                                                //     74  
                                                                //     75      !%recordformat arfm(%shortinteger class,sub,link,ptype,papp,pformat,x,pos);!imp77:
                                                                //     76      %recordformat arfm(%integer class,sub,link,ptype,papp,pformat,x,pos)
#line 76 "regression-compile-tmp/pass1.imp"
typedef struct ARFM ARFM;
struct ARFM {
  int CLASS;
  int SUB;
  int LINK;
  int PTYPE;
  int PAPP;
  int PFORMAT;
  int X;
  int POS;
};
                                                                //     77  
                                                                //     78      %recordformat tagfm(%integer app, format, %integer flags, index, text, link)
#line 78 "regression-compile-tmp/pass1.imp"
typedef struct TAGFM TAGFM;
struct TAGFM {
  int APP;
  int FORMAT;
  int FLAGS;
  int INDEX;
  int TEXT;
  int LINK;
};
                                                                //     79  
                                                                //     80      !flags
                                                                //     81      !      *===.===.===.===.===.====.====.====.===.======.======*
                                                                //     82      !      ! u ! c ! c ! p ! s ! a  ! o  ! pr ! s ! type ! form !
                                                                //     83      !      ! 1 ! 1 ! 1 ! 1 ! 1 ! 1  ! 1  ! 1  ! 1 !  3   !  4   !
                                                                //     84      !      *===^===^===^===^===^====^====^====^===^======^======*
                                                                //     85      !        u   c   c   p   s   a    o    p    s    t      f
                                                                //     86      !        s   l   o   a   u   n    w    r    p    y      o
                                                                //     87      !        e   o   n   r   b   a    n    o    e    p      r
                                                                //     88      !        d   s   s   a   n   m         t    c    e      m
                                                                //     89      !            e   t   m   a   e     
                                                                //     90      !            d       s   m
                                                                //     91      !                        e
                                                                //     92      !
                                                                //     93      !                             
                                                                //     94  
                                                                //     95      %constinteger used bit   = 2_1000000000000000
                                                                //     96      %constinteger closed     = 2_0100000000000000
                                                                //     97      %constinteger const bit  = 2_0010000000000000
                                                                //     98      %constinteger parameters = 2_0001000000000000
                                                                //     99      %constinteger subname    = 2_0000100000000000
                                                                //    100      %constinteger aname      = 2_0000010000000000
                                                                //    101      %constinteger own bit    = 2_0000001000000000
                                                                //    102      %constinteger prot       = 2_0000000100000000
                                                                //    103      %constinteger spec       = 2_0000000010000000
                                                                //    104  
                                                                //    105      %constinteger trans bit  = 16_4000
                                                                //    106      %constinteger error      = 16_8000
                                                                //    107  
                                                                //    108      %record(arfm)%array ar(1:rec size)
#line 108 "regression-compile-tmp/pass1.imp"
 ARFM AR[520];
                                                                //    109  
                                                                //    110      %owninteger class        = 0;             !class of atom wanted
#line 110 "regression-compile-tmp/pass1.imp"
static int CLASS = 0;
                                                                //    111      %owninteger x            = 0;             !usually last tag
#line 111 "regression-compile-tmp/pass1.imp"
static int X = 0;
                                                                //    112      %owninteger atom1        = 0;             !atom class (major)
#line 112 "regression-compile-tmp/pass1.imp"
static int ATOM1 = 0;
                                                                //    113      %owninteger atom2        = 0;             !atom class (minor)
#line 113 "regression-compile-tmp/pass1.imp"
static int ATOM2 = 0;
                                                                //    114      %owninteger subatom      = 0;             !extra info about atom
#line 114 "regression-compile-tmp/pass1.imp"
static int SUBATOM = 0;
                                                                //    115      %owninteger type         = 0
#line 115 "regression-compile-tmp/pass1.imp"
static int TYPE = 0;
                                                                //    116      %owninteger app          = 0
#line 116 "regression-compile-tmp/pass1.imp"
static int APP = 0;
                                                                //    117      %owninteger format       = 0;             !atom info
#line 117 "regression-compile-tmp/pass1.imp"
static int FORMAT = 0;
                                                                //    118      %integer hash value
#line 118 "regression-compile-tmp/pass1.imp"
int HASHVALUE;
                                                                //    119      %owninteger faulty       = 0;             !fault indicator
#line 119 "regression-compile-tmp/pass1.imp"
static int FAULTY = 0;
                                                                //    120      %owninteger fault rate   = 0;             !fault rate count
#line 120 "regression-compile-tmp/pass1.imp"
static int FAULTRATE = 0;
                                                                //    121      %owninteger lines        = 0;             !current line number
#line 121 "regression-compile-tmp/pass1.imp"
static int LINES = 0;
                                                                //    122      %owninteger text line    = 0;             !starting line for string const
#line 122 "regression-compile-tmp/pass1.imp"
static int TEXTLINE = 0;
                                                                //    123      %owninteger margin       = 0;             !statement start margin
#line 123 "regression-compile-tmp/pass1.imp"
static int MARGIN = 0;
                                                                //    124      %owninteger error margin = 0
#line 124 "regression-compile-tmp/pass1.imp"
static int ERRORMARGIN = 0;
                                                                //    125      %owninteger error sym    = 0
#line 125 "regression-compile-tmp/pass1.imp"
static int ERRORSYM = 0;
                                                                //    126      %owninteger column       = 0
#line 126 "regression-compile-tmp/pass1.imp"
static int COLUMN = 0;
                                                                //    127      %owninteger stats        = 0;             !statements compiled
#line 127 "regression-compile-tmp/pass1.imp"
static int STATS = 0;
                                                                //    128      %owninteger mon pos      = 0;             !flag for diagnose
#line 128 "regression-compile-tmp/pass1.imp"
static int MONPOS = 0;
                                                                //    129      %owninteger sym          = nl;            !current input symbol
#line 129 "regression-compile-tmp/pass1.imp"
static int SYM = 10;
                                                                //    130      %owninteger symtype      = 0;             !type of current symbol
#line 130 "regression-compile-tmp/pass1.imp"
static int SYMTYPE = 0;
                                                                //    131      %owninteger quote        = 0;             !>0 strings, <0 chars
#line 131 "regression-compile-tmp/pass1.imp"
static int QUOTE = 0;
                                                                //    132      %owninteger end mark     = 0;             !%end flag
#line 132 "regression-compile-tmp/pass1.imp"
static int ENDMARK = 0;
                                                                //    133      %owninteger cont         = ' '
#line 133 "regression-compile-tmp/pass1.imp"
static int CONT = 32;
                                                                //    134      %owninteger csym         = ' ';           !listing continuation marker
#line 134 "regression-compile-tmp/pass1.imp"
static int CSYM = 32;
                                                                //    135      %owninteger decl         = 0;             !current declarator flags
#line 135 "regression-compile-tmp/pass1.imp"
static int DECL = 0;
                                                                //    136      %owninteger dim          = 0;             !arrayname dimension
#line 136 "regression-compile-tmp/pass1.imp"
static int DIM = 0;
                                                                //    137      %owninteger spec given   = 0
#line 137 "regression-compile-tmp/pass1.imp"
static int SPECGIVEN = 0;
                                                                //    138  
                                                                //    139      %owninteger escape class = 0;             !when and where to escape
#line 139 "regression-compile-tmp/pass1.imp"
static int ESCAPECLASS = 0;
                                                                //    140      %owninteger protection   = 0
#line 140 "regression-compile-tmp/pass1.imp"
static int PROTECTION = 0;
                                                                //    141      %owninteger atom flags   = 0
#line 141 "regression-compile-tmp/pass1.imp"
static int ATOMFLAGS = 0;
                                                                //    142      %owninteger otype        = 0;             !current 'own' type
#line 142 "regression-compile-tmp/pass1.imp"
static int OTYPE = 0;
                                                                //    143      %owninteger reals ln     = 1;             ! =4 for %REALSLONG
#line 143 "regression-compile-tmp/pass1.imp"
static int REALSLN = 1;
                                                                //    144      %owninteger last1        = 0;             !previous atom class
#line 144 "regression-compile-tmp/pass1.imp"
static int LAST1 = 0;
                                                                //    145      %owninteger gen type     = 0
#line 145 "regression-compile-tmp/pass1.imp"
static int GENTYPE = 0;
                                                                //    146      %owninteger ptype        = 0;             !current phrase type
#line 146 "regression-compile-tmp/pass1.imp"
static int PTYPE = 0;
                                                                //    147      %owninteger papp         = 0;             !current phrase parameters
#line 147 "regression-compile-tmp/pass1.imp"
static int PAPP = 0;
                                                                //    148      %owninteger pformat      = 0;             !current phrase format
#line 148 "regression-compile-tmp/pass1.imp"
static int PFORMAT = 0;
                                                                //    149      %owninteger force        = 0;             !force next ptype
#line 149 "regression-compile-tmp/pass1.imp"
static int FORCE = 0;
                                                                //    150      %owninteger g            = 0
#line 150 "regression-compile-tmp/pass1.imp"
static int G = 0;
                                                                //    151      %owninteger gg           = 0
#line 151 "regression-compile-tmp/pass1.imp"
static int GG = 0;
                                                                //    152      %owninteger map gg       = 0;             !grammar entries
#line 152 "regression-compile-tmp/pass1.imp"
static int MAPGG = 0;
                                                                //    153      %owninteger fdef         = 0;             !current format definition
#line 153 "regression-compile-tmp/pass1.imp"
static int FDEF = 0;
                                                                //    154      %owninteger this         = -1;            !current recordformat tag
#line 154 "regression-compile-tmp/pass1.imp"
static int THIS = (-1);
                                                                //    155      %owninteger nmin         = 0;             !analysis record atom pointer
#line 155 "regression-compile-tmp/pass1.imp"
static int NMIN = 0;
                                                                //    156      %owninteger nmax         = 0;             !analysis record phrase pointer
#line 156 "regression-compile-tmp/pass1.imp"
static int NMAX = 0;
                                                                //    157      %owninteger rbase        = 0;             !record format definition base
#line 157 "regression-compile-tmp/pass1.imp"
static int RBASE = 0;
                                                                //    158      %owninteger dmax         = 1
#line 158 "regression-compile-tmp/pass1.imp"
static int DMAX = 1;
                                                                //    159      %owninteger tmin         = max tag;       !upper bound on tags
#line 159 "regression-compile-tmp/pass1.imp"
static int TMIN = 800;
                                                                //    160      %owninteger ss           = 0;             !source statement entry
#line 160 "regression-compile-tmp/pass1.imp"
static int SS = 0;
                                                                //    161      %string(63) include file
#line 161 "regression-compile-tmp/pass1.imp"
_imp_string /*%string(63)*/ INCLUDEFILE;
                                                                //    162      %owninteger include list = 0
#line 162 "regression-compile-tmp/pass1.imp"
static int INCLUDELIST = 0;
                                                                //    163      %owninteger include level= 0
#line 163 "regression-compile-tmp/pass1.imp"
static int INCLUDELEVEL = 0;
                                                                //    164      %owninteger include      = 0;             !=0 unused, #0 being used
#line 164 "regression-compile-tmp/pass1.imp"
static int INCLUDE = 0;
                                                                //    165      %owninteger perm         = 1;             !1 = compiling perm, 0 = program
#line 165 "regression-compile-tmp/pass1.imp"
static int PERM = 1;
                                                                //    166      %owninteger progmode     = 0;             !-1 = file, 1 = begin/eop
#line 166 "regression-compile-tmp/pass1.imp"
static int PROGMODE = 0;
                                                                //    167      %owninteger sstype       = 0;             !-1:exec stat
#line 167 "regression-compile-tmp/pass1.imp"
static int SSTYPE = 0;
                                                                //    168                                                ! 0: declaration
                                                                //    169                                                ! 1: block in
                                                                //    170                                                ! 2: block out
                                                                //    171      %owninteger spec mode    = 0;             !>=0: definition
#line 171 "regression-compile-tmp/pass1.imp"
static int SPECMODE = 0;
                                                                //    172                                                ! -1: proc spec
                                                                //    173                                                ! -2: recordformat
                                                                //    174      %owninteger ocount       = -1;            !own constants wanted
#line 174 "regression-compile-tmp/pass1.imp"
static int OCOUNT = (-1);
                                                                //    175      %owninteger limit        = 0;             !lookup limit
#line 175 "regression-compile-tmp/pass1.imp"
static int LIMIT = 0;
                                                                //    176      %owninteger copy         = 0;             !duplicate name flag
#line 176 "regression-compile-tmp/pass1.imp"
static int COPY = 0;
                                                                //    177      %owninteger order        = 0;             !out of sequence flag
#line 177 "regression-compile-tmp/pass1.imp"
static int ORDER = 0;
                                                                //    178      %owninteger for warn     = 0;             !non-local flag
#line 178 "regression-compile-tmp/pass1.imp"
static int FORWARN = 0;
                                                                //    179      %owninteger dubious      = 0;             !flag for dubious statements
#line 179 "regression-compile-tmp/pass1.imp"
static int DUBIOUS = 0;
                                                                //    180      %owninteger dp           = 1
#line 180 "regression-compile-tmp/pass1.imp"
static int DP = 1;
                                                                //    181      %owninteger pos1         = 0
#line 181 "regression-compile-tmp/pass1.imp"
static int POS1 = 0;
                                                                //    182      %owninteger pos2         = 0;             !error position
#line 182 "regression-compile-tmp/pass1.imp"
static int POS2 = 0;
                                                                //    183      %owninteger pos          = 0;             !input line index
#line 183 "regression-compile-tmp/pass1.imp"
static int POS = 0;
                                                                //    184      %owninteger dimension    = 0;             !current array dimension
#line 184 "regression-compile-tmp/pass1.imp"
static int DIMENSION = 0;
                                                                //    185      %owninteger local        = 0;             !search limit for locals
#line 185 "regression-compile-tmp/pass1.imp"
static int LOCAL = 0;
                                                                //    186      %owninteger fm base      = 0;             !entry for format decls
#line 186 "regression-compile-tmp/pass1.imp"
static int FMBASE = 0;
                                                                //    187      %owninteger search base  = 0;             !entry for record_names
#line 187 "regression-compile-tmp/pass1.imp"
static int SEARCHBASE = 0;
                                                                //    188      %owninteger format list  = 0;             !size of current format list
#line 188 "regression-compile-tmp/pass1.imp"
static int FORMATLIST = 0;
                                                                //    189      %integer recid
#line 189 "regression-compile-tmp/pass1.imp"
int RECID;
                                                                //    190      %ownbyteintegerarray char(0:133) = ;  !input line
#line 190 "regression-compile-tmp/pass1.imp"
static unsigned char CHAR[134] = { [0 ... 133] = 10 };
                                                                //    191      10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
                                                                //    192      10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
                                                                //    193      10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
                                                                //    194      10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
                                                                //    195      10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
                                                                //    196      10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
                                                                //    197      10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
                                                                //    198      10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
                                                                //    199      10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
                                                                //    200      10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
                                                                //    201      10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
                                                                //    202      10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
                                                                //    203      10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
                                                                //    204      10, 10, 10, 10
                                                                //    205      %integerarray lit pool(0:lit max)
#line 205 "regression-compile-tmp/pass1.imp"
int LITPOOL[51];
                                                                //    206      %owninteger lit          = 0;             !current literal (integer)
#line 206 "regression-compile-tmp/pass1.imp"
static int LIT = 0;
                                                                //    207      %owninteger lp           = 0;             !literals pointer
#line 207 "regression-compile-tmp/pass1.imp"
static int LP = 0;
                                                                //    208      %owninteger block x      = 0;             !block tag
#line 208 "regression-compile-tmp/pass1.imp"
static int BLOCKX = 0;
                                                                //    209      %owninteger list         = 1;             !<= to enable
#line 209 "regression-compile-tmp/pass1.imp"
static int LIST = 1;
                                                                //    210      %owninteger control      = 0
#line 210 "regression-compile-tmp/pass1.imp"
static int CONTROL = 0;
                                                                //    211      %owninteger diag         = 0;             !diagnose flags
#line 211 "regression-compile-tmp/pass1.imp"
static int DIAG = 0;
                                                                //    212      %integerarray hash(0:max names)
#line 212 "regression-compile-tmp/pass1.imp"
int HASH[2048];
                                                                //    213      %record(tagfm)%array tag(0:max tag)
#line 213 "regression-compile-tmp/pass1.imp"
 TAGFM TAG[801];
                                                                //    214      %integerarray dict(1:max dict)
#line 214 "regression-compile-tmp/pass1.imp"
int DICT[6000];
                                                                //    215      %byteintegerarray buff(1:512)
#line 215 "regression-compile-tmp/pass1.imp"
unsigned char BUFF[512];
                                                                //    216      %owninteger bp           = 0
#line 216 "regression-compile-tmp/pass1.imp"
static int BP = 0;
                                                                //    217  
                                                                //    218      { grammar related constants }
                                                                //    219      %constinteger max grammar  = 1720
                                                                //    220      %owninteger gmin       = max grammar               ;! upper bound on grammar
#line 220 "regression-compile-tmp/pass1.imp"
static int GMIN = 1720;
                                                                //    221      %constinteger manifest = 120, figurative = 130
                                                                //    222      %constinteger actions  = 180, phrasal    = 200
                                                                //    223  
                                                                //    224      %constbyteintegerarray amap(0:15) = %c
#line 224 "regression-compile-tmp/pass1.imp"
const unsigned char AMAP[16] = { 89, 91, 92, 104, 94, 93, 105, 100, 101, 102, 103, 106, 107, 108, 109, 89,  };
                                                                //    225         89,   91,   92,  104,   94,   93,  105,  100,  101,  102,  103,  106,  107,  108,  109,   89
                                                                //    226      !   ?     v     n     l    fm const  swit    rp    fp    mp    pp     a    an    na    nan    ?
                                                                //    227  
                                                                //    228      %constbyteintegerarray atoms(0:15) = 89, 1, 1, 10,  9,  1, 10,  7,
#line 228 "regression-compile-tmp/pass1.imp"
const unsigned char ATOMS[16] = { 89, 1, 1, 10, 9, 1, 10, 7, 7, 7, 7, 4, 1, 4, 1, 89,  };
                                                                //    229                                            7, 7, 7,  4,  1,  4,  1, 89
                                                                //    230  
                                                                //    231      !*** start of generated tables ***
                                                                //    232  !    %include "i77.tables.imp"
                                                                //    233     %endoflist
                                                                //    234  %conststring(8)%array text(0:255) = %c
#line 234 "regression-compile-tmp/pass1.imp"
const _imp_string /*%string(8)*/ TEXT[256] = { _imp_str_literal("Z"), _imp_str_literal("VDEC"), _imp_str_literal("OWNVDEC"), _imp_str_literal("EXTVSPEC"), _imp_str_literal("ADEC"), _imp_str_literal("OWNADEC"), _imp_str_literal("EXTASPEC"), _imp_str_literal("PROC"), _imp_str_literal("PROCSPEC"), _imp_str_literal("FORMDEC"), _imp_str_literal("SWDEC"), _imp_str_literal("LDEC"), _imp_str_literal("FORMSPEC"), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal("OPTION"), _imp_str_literal("COMMA"), _imp_str_literal("T"), _imp_str_literal("COLON"), _imp_str_literal("COMMENT"), _imp_str_literal("LB"), _imp_str_literal("ALIAS"), _imp_str_literal("RB"), _imp_str_literal("SUB"), _imp_str_literal("ARRAYD"), _imp_str_literal("STYPE"), _imp_str_literal("ARRAY"), _imp_str_literal("NAME"), _imp_str_literal("PROCD"), _imp_str_literal("FNMAP"), _imp_str_literal("SWITCH"), _imp_str_literal("OWN"), _imp_str_literal("EXTERNAL"), _imp_str_literal("STRING"), _imp_str_literal("RECORD"), _imp_str_literal("FORMAT"), _imp_str_literal("SPEC"), _imp_str_literal("MCODE"), _imp_str_literal("LABEL"), _imp_str_literal("OP1"), _imp_str_literal("OP2"), _imp_str_literal("OP3"), _imp_str_literal("SIGN"), _imp_str_literal("UOP"), _imp_str_literal("MOD"), _imp_str_literal("DOT"), _imp_str_literal("COMP"), _imp_str_literal("ACOMP"), _imp_str_literal("EQ"), _imp_str_literal("EQEQ"), _imp_str_literal("JAM"), _imp_str_literal("JUMP"), _imp_str_literal("RESOP"), _imp_str_literal("AND"), _imp_str_literal("OR"), _imp_str_literal("NOT"), _imp_str_literal("WHILE"), _imp_str_literal("UNTIL"), _imp_str_literal("FOR"), _imp_str_literal("CWORD"), _imp_str_literal("EXIT"), _imp_str_literal("ON"), _imp_str_literal("SIGNAL"), _imp_str_literal("THEN"), _imp_str_literal("START"), _imp_str_literal("ELSE"), _imp_str_literal("FINISH"), _imp_str_literal("FELSE"), _imp_str_literal("CYCLE"), _imp_str_literal("REPEAT"), _imp_str_literal("PROGRAM"), _imp_str_literal("BEGIN"), _imp_str_literal("END"), _imp_str_literal("ENDPROG"), _imp_str_literal("ENDPERM"), _imp_str_literal("FRESULT"), _imp_str_literal("MRESULT"), _imp_str_literal("BACK"), _imp_str_literal("MONITOR"), _imp_str_literal("STOP"), _imp_str_literal("LIST"), _imp_str_literal("REALSLN"), _imp_str_literal("CONTROL"), _imp_str_literal("INCLUDE"), _imp_str_literal("MASS"), _imp_str_literal("RTYPE"), _imp_str_literal("ADDOP"), _imp_str_literal("IDENT"), _imp_str_literal("V"), _imp_str_literal("N"), _imp_str_literal("CONST"), _imp_str_literal("FM"), _imp_str_literal(""), _imp_str_literal("R"), _imp_str_literal("F"), _imp_str_literal("M"), _imp_str_literal("P"), _imp_str_literal("RP"), _imp_str_literal("FP"), _imp_str_literal("MP"), _imp_str_literal("PP"), _imp_str_literal("L"), _imp_str_literal("S"), _imp_str_literal("A"), _imp_str_literal("AN"), _imp_str_literal("NA"), _imp_str_literal("NAN"), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal("%MSTART"), _imp_str_literal("%CLEAR"), _imp_str_literal("%PRED"), _imp_str_literal(""), _imp_str_literal("%DUBIOUS"), _imp_str_literal("%DUP"), _imp_str_literal("%PIN"), _imp_str_literal("%POUT"), _imp_str_literal("%EDUP"), _imp_str_literal(""), _imp_str_literal("PIDENT"), _imp_str_literal("CIDENT"), _imp_str_literal("OIDENT"), _imp_str_literal("FNAME"), _imp_str_literal("SWID"), _imp_str_literal("DOTL"), _imp_str_literal("DOTR"), _imp_str_literal("ASEP"), _imp_str_literal("CSEP"), _imp_str_literal("OSEP"), _imp_str_literal("PSEP"), _imp_str_literal("ARB"), _imp_str_literal("BPLRB"), _imp_str_literal("ORB"), _imp_str_literal("PRB"), _imp_str_literal("CRB"), _imp_str_literal("RCRB"), _imp_str_literal("RECRB"), _imp_str_literal("RECLB"), _imp_str_literal("LAB"), _imp_str_literal("MLAB"), _imp_str_literal("SLAB"), _imp_str_literal("XNAME"), _imp_str_literal("OWNT"), _imp_str_literal("DBSEP"), _imp_str_literal("PCONST"), _imp_str_literal("CMOD"), _imp_str_literal("CSIGN"), _imp_str_literal("CUOP"), _imp_str_literal("COP1"), _imp_str_literal("COP2"), _imp_str_literal("COP3"), _imp_str_literal("INDEF"), _imp_str_literal("XELSE"), _imp_str_literal("CRESOP"), _imp_str_literal("NLAB"), _imp_str_literal("RUNTIL"), _imp_str_literal("ACONST"), _imp_str_literal("ORRB"), _imp_str_literal("FMANY"), _imp_str_literal("OSTRING"), _imp_str_literal("FMLB"), _imp_str_literal("FMRB"), _imp_str_literal("FMOR"), _imp_str_literal("RANGERB"), _imp_str_literal("FSID"), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal("%DUMMY"), _imp_str_literal("%DECL"), _imp_str_literal("%TYPE"), _imp_str_literal("%ZERO"), _imp_str_literal("%APPLY"), _imp_str_literal("%PROT"), _imp_str_literal("%SETPROT"), _imp_str_literal("%PTYPE"), _imp_str_literal("%GAPP"), _imp_str_literal("%LOCAL"), _imp_str_literal("%GUARD"), _imp_str_literal("%MCODE"), _imp_str_literal("%CDUMMY"), _imp_str_literal("%SETTYPE"), _imp_str_literal("%OPER"), _imp_str_literal("%PARAM"), _imp_str_literal("%BLOCK"), _imp_str_literal("%OTHER"), _imp_str_literal("%COMPILE"), _imp_str_literal("APP"), _imp_str_literal("BASEAPP"), _imp_str_literal("APP2"), _imp_str_literal("APP3"), _imp_str_literal("APP4"), _imp_str_literal("APP5"), _imp_str_literal("APP6"), _imp_str_literal("ADEFN"), _imp_str_literal("NPARM"), _imp_str_literal("SWDEF"), _imp_str_literal("SWIDS"), _imp_str_literal("CIEXP"), _imp_str_literal("RCONST"), _imp_str_literal("SCONST"), _imp_str_literal("ARRAYP"), _imp_str_literal("XIMP"), _imp_str_literal("IMP"), _imp_str_literal("COND"), _imp_str_literal("SCOND"), _imp_str_literal("EXP1"), _imp_str_literal("EXP2"), _imp_str_literal("SEXP"), _imp_str_literal("IEXP"), _imp_str_literal("IEXP1"), _imp_str_literal("IEXP2"), _imp_str_literal("ISEXP"), _imp_str_literal("SEQ"), _imp_str_literal("FDEF"), _imp_str_literal("EXP"), _imp_str_literal("NARRAYP"), _imp_str_literal("STRUCT"), _imp_str_literal("RESEXP"), _imp_str_literal("BPL"), _imp_str_literal("CONSTB"), _imp_str_literal("FITEM"), _imp_str_literal("MOREA"), _imp_str_literal("CLIST"), _imp_str_literal("FPP"), _imp_str_literal("FPP0"), _imp_str_literal("FPP1"), _imp_str_literal("FPP2"), _imp_str_literal("INITVAR"), _imp_str_literal("RECEXP"), _imp_str_literal("EIMP"), _imp_str_literal("IDENTS"), _imp_str_literal("RANGE"), _imp_str_literal("RCONSTB"), _imp_str_literal("VARP"), _imp_str_literal("INITDEC"), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal(""), _imp_str_literal("ESCDEC"), _imp_str_literal("ESCPROC"), _imp_str_literal("ESCARRAY"), _imp_str_literal("ESCREC"),  };
                                                                //    235  "Z","VDEC","OWNVDEC","EXTVSPEC","ADEC","OWNADEC","EXTASPEC","PROC",
                                                                //    236  "PROCSPEC","FORMDEC","SWDEC","LDEC","FORMSPEC","","","",
                                                                //    237  "","","OPTION","COMMA","T","COLON","COMMENT","LB",
                                                                //    238  "ALIAS","RB","SUB","ARRAYD","STYPE","ARRAY","NAME","PROCD",
                                                                //    239  "FNMAP","SWITCH","OWN","EXTERNAL","STRING","RECORD","FORMAT","SPEC",
                                                                //    240  "MCODE","LABEL","OP1","OP2","OP3","SIGN","UOP","MOD",
                                                                //    241  "DOT","COMP","ACOMP","EQ","EQEQ","JAM","JUMP","RESOP",
                                                                //    242  "AND","OR","NOT","WHILE","UNTIL","FOR","CWORD","EXIT",
                                                                //    243  "ON","SIGNAL","THEN","START","ELSE","FINISH","FELSE","CYCLE",
                                                                //    244  "REPEAT","PROGRAM","BEGIN","END","ENDPROG","ENDPERM","FRESULT","MRESULT",
                                                                //    245  "BACK","MONITOR","STOP","LIST","REALSLN","CONTROL","INCLUDE","MASS",
                                                                //    246  "RTYPE","ADDOP","IDENT","V","N","CONST","FM","",
                                                                //    247  "R","F","M","P","RP","FP","MP","PP",
                                                                //    248  "L","S","A","AN","NA","NAN","","",
                                                                //    249  "","","","","","","","",
                                                                //    250  "%MSTART","%CLEAR","%PRED","","%DUBIOUS","%DUP","%PIN","%POUT",
                                                                //    251  "%EDUP","","PIDENT","CIDENT","OIDENT","FNAME","SWID","DOTL",
                                                                //    252  "DOTR","ASEP","CSEP","OSEP","PSEP","ARB","BPLRB","ORB",
                                                                //    253  "PRB","CRB","RCRB","RECRB","RECLB","LAB","MLAB","SLAB",
                                                                //    254  "XNAME","OWNT","DBSEP","PCONST","CMOD","CSIGN","CUOP","COP1",
                                                                //    255  "COP2","COP3","INDEF","XELSE","CRESOP","NLAB","RUNTIL","ACONST",
                                                                //    256  "ORRB","FMANY","OSTRING","FMLB","FMRB","FMOR","RANGERB","FSID",
                                                                //    257  "","","","","","%DUMMY","%DECL","%TYPE",
                                                                //    258  "%ZERO","%APPLY","%PROT","%SETPROT","%PTYPE","%GAPP","%LOCAL","%GUARD",
                                                                //    259  "%MCODE","%CDUMMY","%SETTYPE","%OPER","%PARAM","%BLOCK","%OTHER","%COMPILE",
                                                                //    260  "APP","BASEAPP","APP2","APP3","APP4","APP5","APP6","ADEFN",
                                                                //    261  "NPARM","SWDEF","SWIDS","CIEXP","RCONST","SCONST","ARRAYP","XIMP",
                                                                //    262  "IMP","COND","SCOND","EXP1","EXP2","SEXP","IEXP","IEXP1",
                                                                //    263  "IEXP2","ISEXP","SEQ","FDEF","EXP","NARRAYP","STRUCT","RESEXP",
                                                                //    264  "BPL","CONSTB","FITEM","MOREA","CLIST","FPP","FPP0","FPP1",
                                                                //    265  "FPP2","INITVAR","RECEXP","EIMP","IDENTS","RANGE","RCONSTB","VARP",
                                                                //    266  "INITDEC","","","","ESCDEC","ESCPROC","ESCARRAY","ESCREC"
                                                                //    267  
                                                                //    268  %constinteger gmax1=719
                                                                //    269  %owninteger gmax=719
#line 269 "regression-compile-tmp/pass1.imp"
static int GMAX = 719;
                                                                //    270  %constinteger imp phrase =25
                                                                //    271  
                                                                //    272  !  FLAG<1> 0<1> SS<2> 0<3> T<1> LINK<8>
                                                                //    273  %constshortintegerarray initial(0:119) = %c
#line 273 "regression-compile-tmp/pass1.imp"
const short INITIAL[120] = { 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (-32551), 0, 0, 0, 0, 13, 0, 14, 4, (-32557), 16, (-32550), 0, 0, 5, 6, 3, 12, 15, 8, 7, 9, 10, 11, (-32558), (-32554), (-32559), (-32552), (-32553), 18, 22, 17, 21, 19, 0, 0, 0, (-32562), (-32560), 0, 0, 0, (-32561), 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, (-32556), 0, (-32555), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  };
                                                                //    274      24,    0,    0,    0,    0,    0,    0,    0,
                                                                //    275      0,    0,    0,    0,    0,    0,    0,    0,
                                                                //    276      0,    0,    23,    0,    0,    0,    0,    0,
                                                                //    277      0,    0,    0,    0,    0,    0,    0,    0,
                                                                //    278      0,    0,    0,    0,    0,    0,    0,    0,
                                                                //    279      20,    0,    0,    0,    0,    0,    0,    0,
                                                                //    280      0,    0,    0,    0,    0,    0, -32551,    0,
                                                                //    281      0,    0,    0,    13,    0,    14,    4, -32557,
                                                                //    282      16, -32550,    0,    0,    5,    6,    3,    12,
                                                                //    283      15,    8,    7,    9,    10,    11, -32558, -32554,
                                                                //    284   -32559, -32552, -32553,    18,    22,    17,    21,    19,
                                                                //    285      0,    0,    0, -32562, -32560,    0,    0,    0,
                                                                //    286   -32561,    0,    0,    0,    0,    0,    0,    0,
                                                                //    287      1,    2,    0, -32556,    0, -32555,    0,    0,
                                                                //    288      0,    0,    0,    0,    0,    0,    0,    0
                                                                //    289  
                                                                //    290  %constbyteintegerarray atomic(130:179) = %c
#line 290 "regression-compile-tmp/pass1.imp"
const unsigned char ATOMIC[50] = { 90, 90, 90, 90, 90, 48, 48, 19, 19, 19, 19, 25, 25, 25, 25, 25, 25, 25, 23, 104, 104, 105, 30, 20, 21, 93, 47, 45, 46, 42, 43, 44, 40, 68, 55, 104, 60, 93, 25, 40, 93, 23, 25, 57, 25, 90, 176, 177, 178, 179,  };
                                                                //    291    90,  90,  90,  90,  90,  48,  48,  19,
                                                                //    292    19,  19,  19,  25,  25,  25,  25,  25,
                                                                //    293    25,  25,  23, 104, 104, 105,  30,  20,
                                                                //    294    21,  93,  47,  45,  46,  42,  43,  44,
                                                                //    295    40,  68,  55, 104,  60,  93,  25,  40,
                                                                //    296    93,  23,  25,  57,  25,  90, 176, 177,
                                                                //    297   178, 179
                                                                //    298  
                                                                //    299  %ownshortintegerarray phrase(200:255) = %C
#line 299 "regression-compile-tmp/pass1.imp"
static short PHRASE[56] = { 0, 564, 565, 567, 569, 571, 573, 562, 614, 203, 200, 602, 478, 480, 624, 298, 206, 308, 318, 433, 426, 437, 444, 458, 453, 461, 467, 482, 402, 627, 629, 603, 521, 511, 486, 502, 575, 527, 528, 543, 550, 578, 397, 287, 197, 636, 516, 621, 167, 0, 0, 0, 640, 693, 701, 709,  };
                                                                //    300    0, 564, 565, 567, 569, 571, 573, 562,
                                                                //    301   614, 203, 200, 602, 478, 480, 624, 298,
                                                                //    302   206, 308, 318, 433, 426, 437, 444, 458,
                                                                //    303   453, 461, 467, 482, 402, 627, 629, 603,
                                                                //    304   521, 511, 486, 502, 575, 527, 528, 543,
                                                                //    305   550, 578, 397, 287, 197, 636, 516, 621,
                                                                //    306   167,  0,  0,  0, 640, 693, 701, 709
                                                                //    307  
                                                                //    308  !  MORE<1> 0<1> ORDER<2> TYPE<4> CLASS<8>
                                                                //    309  %ownshortintegerarray gram(0:max grammar) = %c
#line 309 "regression-compile-tmp/pass1.imp"
static short GRAM[1721] = { 0, (-28523), (-28521), (-28602), (-32706), (-28509), (-28603), (-24502), (-24503), (-20405), (-20404), (-28595), (-32697), (-32709), (-16323), (-28600), (-32704), (-28587), (-28589), (-32681), (-16344), (-28586), (-28588), (-12270), (-32586), 216, (-12287), (-16380), (-8185), (-8184), (-12285), (-12286), (-12283), (-12282), (-12279), (-12276), (-16373), 20490, (-32706), (-32701), 216, (-16364), (-28610), (-28613), (-28612), 16445, 217, (-16364), 62, (-32701), 16450, (-16364), 5346, (-16364), 166, (-16344), 4332, 130, (-16360), (-16361), 126, 217, (-32701), 216, (-16364), 16450, (-32700), 16404, (-32701), (-32706), 216, 16405, 16407, (-16222), 8414, 130, 217, (-32697), 16450, 1250, 4307, 4318, 192, 93, 170, 90, 207, (-16365), 16404, 90, (-16360), (-16365), 16404, 241, (-16365), 16404, 132, 132, (-16360), 4329, (-16365), 16404, 133, 175, 90, (-16365), 16404, 209, (-16365), 16404, 4313, 217, 16451, 4263, 16384, 16384, 120, 216, (-32700), 16404, (-32706), 16404, 243, 16409, 454, (-32685), 16404, 454, 248, (-16365), 16404, 4263, 194, (-16360), 4329, (-32717), 16404, 4263, 16407, 454, 237, 127, 215, 454, 4263, 16384, (-16364), 1502, (-32629), (-16361), 153, (-32606), 222, 143, (-32629), 153, 454, 126, 16409, 454, 16384, 234, (-16365), (-32595), 147, (-32678), 234, 193, (-32677), (-32676), (-32661), 109, (-32717), 53, 52, 52, 52, 194, 194, 194, (-28581), 4188, 194, (-28566), 4203, 194, (-28564), 4205, 4580, 16429, 183, 183, 186, 186, (-28583), 0, 9437, 90, (-16365), 0, 134, (-16365), 0, 210, 4329, 199, (-32677), (-32672), (-32676), (-32688), (-32690), (-32705), (-32661), (-32659), (-32689), (-32686), (-32687), (-16330), 65, (-32716), 186, (-28583), (-32717), (-32715), (-32713), 52, (-32664), 4201, 186, (-32717), (-32715), 55, (-16328), 0, 197, 197, 52, 52, 197, (-28581), (-28580), 186, (-28581), 4188, 4318, 194, (-28581), 4188, 9437, 194, 194, 454, 16407, 216, 194, (-28566), (-28565), 186, (-28566), 4203, 194, (-28564), (-28563), 186, (-28564), 4205, 183, 183, 186, 183, (-16365), 0, 183, 4580, 16429, 5095, 9444, 5348, 186, (-28583), (-16328), 0, 16409, (-16365), 0, 9437, 5348, 217, (-32701), 16450, (-32701), 216, (-32700), 0, (-32701), (-32706), 216, 243, 217, (-16318), 0, (-32552), 0, (-32700), 0, (-32706), 0, 215, (-32550), 228, (-28616), (-28615), 0, 4096, 218, 218, (-28616), 0, (-32677), (-32676), (-16361), (-32710), (-32669), (-32662), (-32661), (-32660), (-32659), 740, (-32039), 740, (-32719), 4096, 194, (-32719), (-32718), (-32604), (-32726), (-32725), (-32724), (-32720), 4096, 710, 6116, (-32719), 0, 710, 6116, (-28581), 4188, 218, 122, 50, 16409, (-32726), (-32725), (-32724), (-32719), 4096, 710, 454, 195, 195, 195, 454, (-28581), 4188, 194, (-28566), (-28565), (-28564), 4205, 195, 195, 195, 710, 4836, 5095, 4829, (-32726), (-32725), (-32724), (-32719), 4096, 4827, 4828, 454, (-32720), (-32719), 4096, 4829, 4827, 4828, 194, (-32719), 0, 710, 4836, (-16291), (-32677), 92, 184, 121, (-28581), (-28580), (-32722), (-32723), 4317, (-32726), (-32725), (-32724), 0, 183, (-32726), (-32725), (-32724), (-32720), 0, 4316, 195, 195, 195, 454, (-28581), 4188, 4315, 183, 4317, (-32726), (-32725), 0, 195, 195, 4315, 4317, (-32726), 0, 195, (-32677), (-32676), (-16361), 16431, 228, 228, 47, (-32610), (-32611), 5345, (-32609), (-32608), (-32607), 0, 4320, 4319, 5345, (-32609), (-32608), 0, 4319, 5345, (-32609), 0, (-32613), (-16361), 16431, 222, 222, 156, (-32677), 92, 183, 186, 1222, 16435, 228, 16403, 4324, 138, 8420, (-32723), 4189, 93, 454, 148, (-32674), 16546, 16409, (-32597), 182, (-16383), 16388, 234, (-16365), (-32595), 172, (-32678), 234, 90, 244, 246, (-16365), 0, 235, (-32678), 234, (-16365), 246, (-16365), 0, (-32678), 234, 90, 16407, 222, 16405, 222, 145, 16407, 222, 16405, 222, 146, 16407, 1252, 154, 5348, (-16365), 142, 126, 182, (-16383), 16391, 90, (-16365), 127, (-32678), 238, 90, 125, 239, (-16365), 8319, 8430, 128, 126, (-16361), 127, 190, 240, 189, 16409, 182, (-16383), 16391, 90, (-16365), 0, (-32678), 240, 90, 16623, (-16365), 0, 244, 232, 1252, 1252, 137, 1252, 137, 1252, 137, 1252, 137, 1252, 137, 222, (-16365), 0, 131, 194, (-16360), (-16333), (-16332), 124, 181, (-16292), (-16277), 16493, (-31802), 5342, (-28581), 4188, 4263, 181, 186, 454, 16475, 183, (-28583), 199, 5598, 9438, 222, (-32677), (-32676), 16407, 186, 228, 135, 16409, (-32632), 0, (-32677), 92, (-32677), (-32676), (-32662), (-32661), (-32660), (-32659), 165, (-32677), 92, 188, (-32662), 107, 188, (-32660), 109, (-32732), 37, (-16344), 4318, 148, (-32674), 16424, 222, 16405, 222, 174, (-28644), (-32734), (-32680), (-28641), (-32733), (-32730), (-32735), (-32727), (-32738), 4326, (-32738), (-32739), (-32741), (-32736), 199, (-28644), (-32680), (-28641), 4326, (-32739), (-32741), 199, (-32738), (-32739), (-32741), (-32736), (-32729), 199, (-32616), 199, (-32739), (-32741), (-32729), 199, (-32616), (-32729), 199, (-28644), (-32680), 4326, (-32738), (-32739), (-32741), 199, 245, 4318, 245, 16409, 152, 4318, 16409, 152, 245, (-32672), (-32671), (-32670), 99, 16407, 200, 144, 185, (-32677), 92, 16407, (-32582), 200, 200, 187, 141, (-32677), 92, 16410, 191, (-32677), (-32676), (-32662), (-32661), (-32660), 109, 198, [720 ... 1720] = 0 };
                                                                //    310      0, -28523, -28521, -28602, -32706, -28509, -28603, -24502,
                                                                //    311   -24503, -20405, -20404, -28595, -32697, -32709, -16323, -28600,
                                                                //    312   -32704, -28587, -28589, -32681, -16344, -28586, -28588, -12270,
                                                                //    313   -32586,   216, -12287, -16380,  -8185,  -8184, -12285, -12286,
                                                                //    314   -12283, -12282, -12279, -12276, -16373,  20490, -32706, -32701,
                                                                //    315     216, -16364, -28610, -28613, -28612,  16445,   217, -16364,
                                                                //    316      62, -32701,  16450, -16364,   5346, -16364,   166, -16344,
                                                                //    317     4332,   130, -16360, -16361,   126,   217, -32701,   216,
                                                                //    318   -16364,  16450, -32700,  16404, -32701, -32706,   216,  16405,
                                                                //    319    16407, -16222,   8414,   130,   217, -32697,  16450,   1250,
                                                                //    320     4307,   4318,   192,    93,   170,    90,   207, -16365,
                                                                //    321    16404,    90, -16360, -16365,  16404,   241, -16365,  16404,
                                                                //    322     132,   132, -16360,   4329, -16365,  16404,   133,   175,
                                                                //    323      90, -16365,  16404,   209, -16365,  16404,   4313,   217,
                                                                //    324    16451,   4263,  16384,  16384,   120,   216, -32700,  16404,
                                                                //    325   -32706,  16404,   243,  16409,   454, -32685,  16404,   454,
                                                                //    326     248, -16365,  16404,   4263,   194, -16360,   4329, -32717,
                                                                //    327    16404,   4263,  16407,   454,   237,   127,   215,   454,
                                                                //    328     4263,  16384, -16364,   1502, -32629, -16361,   153, -32606,
                                                                //    329     222,   143, -32629,   153,   454,   126,  16409,   454,
                                                                //    330    16384,   234, -16365, -32595,   147, -32678,   234,   193,
                                                                //    331   -32677, -32676, -32661,   109, -32717,    53,    52,    52,
                                                                //    332      52,   194,   194,   194, -28581,   4188,   194, -28566,
                                                                //    333     4203,   194, -28564,   4205,   4580,  16429,   183,   183,
                                                                //    334     186,   186, -28583,    0,   9437,    90, -16365,    0,
                                                                //    335     134, -16365,    0,   210,   4329,   199, -32677, -32672,
                                                                //    336   -32676, -32688, -32690, -32705, -32661, -32659, -32689, -32686,
                                                                //    337   -32687, -16330,    65, -32716,   186, -28583, -32717, -32715,
                                                                //    338   -32713,    52, -32664,   4201,   186, -32717, -32715,    55,
                                                                //    339   -16328,    0,   197,   197,    52,    52,   197, -28581,
                                                                //    340   -28580,   186, -28581,   4188,   4318,   194, -28581,   4188,
                                                                //    341     9437,   194,   194,   454,  16407,   216,   194, -28566,
                                                                //    342   -28565,   186, -28566,   4203,   194, -28564, -28563,   186,
                                                                //    343   -28564,   4205,   183,   183,   186,   183, -16365,    0,
                                                                //    344     183,   4580,  16429,   5095,   9444,   5348,   186, -28583,
                                                                //    345   -16328,    0,  16409, -16365,    0,   9437,   5348,   217,
                                                                //    346   -32701,  16450, -32701,   216, -32700,    0, -32701, -32706,
                                                                //    347     216,   243,   217, -16318,    0, -32552,    0, -32700,
                                                                //    348      0, -32706,    0,   215, -32550,   228, -28616, -28615,
                                                                //    349      0,   4096,   218,   218, -28616,    0, -32677, -32676,
                                                                //    350   -16361, -32710, -32669, -32662, -32661, -32660, -32659,   740,
                                                                //    351   -32039,   740, -32719,   4096,   194, -32719, -32718, -32604,
                                                                //    352   -32726, -32725, -32724, -32720,   4096,   710,   6116, -32719,
                                                                //    353      0,   710,   6116, -28581,   4188,   218,   122,    50,
                                                                //    354    16409, -32726, -32725, -32724, -32719,   4096,   710,   454,
                                                                //    355     195,   195,   195,   454, -28581,   4188,   194, -28566,
                                                                //    356   -28565, -28564,   4205,   195,   195,   195,   710,   4836,
                                                                //    357     5095,   4829, -32726, -32725, -32724, -32719,   4096,   4827,
                                                                //    358     4828,   454, -32720, -32719,   4096,   4829,   4827,   4828,
                                                                //    359     194, -32719,    0,   710,   4836, -16291, -32677,    92,
                                                                //    360     184,   121, -28581, -28580, -32722, -32723,   4317, -32726,
                                                                //    361   -32725, -32724,    0,   183, -32726, -32725, -32724, -32720,
                                                                //    362      0,   4316,   195,   195,   195,   454, -28581,   4188,
                                                                //    363     4315,   183,   4317, -32726, -32725,    0,   195,   195,
                                                                //    364     4315,   4317, -32726,    0,   195, -32677, -32676, -16361,
                                                                //    365    16431,   228,   228,    47, -32610, -32611,   5345, -32609,
                                                                //    366   -32608, -32607,    0,   4320,   4319,   5345, -32609, -32608,
                                                                //    367      0,   4319,   5345, -32609,    0, -32613, -16361,  16431,
                                                                //    368     222,   222,   156, -32677,    92,   183,   186,   1222,
                                                                //    369    16435,   228,  16403,   4324,   138,   8420, -32723,   4189,
                                                                //    370      93,   454,   148, -32674,  16546,  16409, -32597,   182,
                                                                //    371   -16383,  16388,   234, -16365, -32595,   172, -32678,   234,
                                                                //    372      90,   244,   246, -16365,    0,   235, -32678,   234,
                                                                //    373   -16365,   246, -16365,    0, -32678,   234,    90,  16407,
                                                                //    374     222,  16405,   222,   145,  16407,   222,  16405,   222,
                                                                //    375     146,  16407,   1252,   154,   5348, -16365,   142,   126,
                                                                //    376     182, -16383,  16391,    90, -16365,   127, -32678,   238,
                                                                //    377      90,   125,   239, -16365,   8319,   8430,   128,   126,
                                                                //    378   -16361,   127,   190,   240,   189,  16409,   182, -16383,
                                                                //    379    16391,    90, -16365,    0, -32678,   240,    90,  16623,
                                                                //    380   -16365,    0,   244,   232,   1252,   1252,   137,   1252,
                                                                //    381     137,   1252,   137,   1252,   137,   1252,   137,   222,
                                                                //    382   -16365,    0,   131,   194, -16360, -16333, -16332,   124,
                                                                //    383     181, -16292, -16277,  16493, -31802,   5342, -28581,   4188,
                                                                //    384     4263,   181,   186,   454,  16475,   183, -28583,   199,
                                                                //    385     5598,   9438,   222, -32677, -32676,  16407,   186,   228,
                                                                //    386     135,  16409, -32632,    0, -32677,    92, -32677, -32676,
                                                                //    387   -32662, -32661, -32660, -32659,   165, -32677,    92,   188,
                                                                //    388   -32662,   107,   188, -32660,   109, -32732,    37, -16344,
                                                                //    389     4318,   148, -32674,  16424,   222,  16405,   222,   174,
                                                                //    390   -28644, -32734, -32680, -28641, -32733, -32730, -32735, -32727,
                                                                //    391   -32738,   4326, -32738, -32739, -32741, -32736,   199, -28644,
                                                                //    392   -32680, -28641,   4326, -32739, -32741,   199, -32738, -32739,
                                                                //    393   -32741, -32736, -32729,   199, -32616,   199, -32739, -32741,
                                                                //    394   -32729,   199, -32616, -32729,   199, -28644, -32680,   4326,
                                                                //    395   -32738, -32739, -32741,   199,   245,   4318,   245,  16409,
                                                                //    396     152,   4318,  16409,   152,   245, -32672, -32671, -32670,
                                                                //    397      99,  16407,   200,   144,   185, -32677,    92,  16407,
                                                                //    398   -32582,   200,   200,   187,   141, -32677,    92,  16410,
                                                                //    399     191, -32677, -32676, -32662, -32661, -32660,   109,   198,
                                                                //    400  0(max grammar-gmax1)
                                                                //    401  
                                                                //    402  %ownshortintegerarray glink(0:max grammar) = %c
#line 402 "regression-compile-tmp/pass1.imp"
static short GLINK[1721] = { (-1), 71, 72, 38, 46, 47, 67, 67, 75, 67, 0, 67, 51, 76, 79, 53, 55, 80, 67, 81, 82, 83, 67, 84, 26, 41, 85, 86, 57, 57, 89, 93, 96, 97, 102, 103, 104, 107, 46, 67, 67, 0, 110, 110, 111, 52, 49, 0, 61, 67, 62, 0, 67, 0, 111, 112, 112, 58, 113, 114, 115, 64, 67, 66, 116, 117, 68, 0, 67, 122, 67, 0, 73, 123, 123, 67, 77, 67, 40, 77, 67, 67, 0, 124, 127, 128, 87, 86, 0, 90, 131, 89, 0, 94, 93, 0, 132, 98, 137, 100, 97, 0, 138, 67, 105, 104, 0, 108, 107, 0, 67, 67, 67, 139, 140, 141, 0, 118, 120, 116, 142, 116, 67, 71, 125, 67, 0, 67, 129, 85, 0, 143, 133, 144, 135, 145, 0, 156, 157, 59, 158, 67, 119, 91, 159, 146, 145, 148, 146, 151, 0, 153, 153, 154, 146, 0, 99, 160, 67, 134, 161, 162, 165, 161, 141, 162, 162, 168, 172, 174, 175, 176, 177, 178, 179, 182, 185, 188, 189, 180, 190, 190, 183, 191, 191, 186, 191, 191, 0, 188, 192, 193, 194, 0, 196, 0, 0, 198, 197, 0, 201, 200, 0, 204, 205, 0, 228, 232, 219, 234, 235, 0, 236, 237, 238, 0, 232, 226, 244, 245, 221, 248, 249, 250, 251, 245, 0, 252, 229, 249, 250, 251, 253, 0, 0, 188, 254, 260, 239, 269, 269, 242, 191, 191, 270, 246, 272, 272, 229, 273, 274, 275, 276, 0, 255, 266, 266, 258, 267, 267, 261, 266, 266, 264, 267, 267, 232, 268, 232, 0, 277, 0, 278, 232, 273, 232, 282, 283, 279, 285, 253, 0, 0, 286, 0, 232, 0, 288, 0, 290, 0, 292, 294, 0, 0, 297, 0, 0, 299, 301, 0, 303, 0, 305, 0, 307, 0, 0, 310, 313, 314, 315, 0, 0, 316, 311, 314, 0, 332, 332, 328, 349, 350, 351, 351, 351, 351, 330, 282, 352, 358, 0, 333, 341, 347, 359, 360, 361, 362, 363, 0, 342, 343, 345, 0, 346, 0, 269, 269, 0, 0, 366, 353, 371, 372, 373, 374, 0, 375, 376, 377, 383, 384, 364, 385, 385, 367, 269, 269, 269, 269, 389, 390, 391, 392, 393, 0, 378, 360, 361, 362, 341, 0, 379, 380, 386, 363, 341, 0, 353, 354, 355, 375, 395, 0, 396, 0, 400, 269, 269, 401, 0, 411, 411, 406, 417, 407, 418, 419, 420, 0, 412, 418, 419, 420, 421, 0, 409, 406, 424, 417, 422, 425, 425, 408, 415, 427, 430, 431, 0, 426, 432, 428, 434, 436, 0, 433, 269, 269, 441, 442, 282, 443, 0, 446, 451, 447, 446, 452, 451, 0, 449, 448, 454, 453, 457, 0, 455, 459, 458, 0, 269, 464, 465, 282, 466, 0, 469, 469, 470, 471, 472, 473, 474, 475, 476, 477, 0, 479, 269, 481, 0, 483, 485, 485, 205, 490, 488, 496, 497, 491, 494, 490, 0, 491, 491, 0, 498, 499, 501, 0, 0, 504, 506, 510, 499, 508, 0, 506, 506, 504, 512, 513, 514, 515, 0, 517, 518, 519, 520, 0, 522, 523, 524, 525, 522, 0, 528, 529, 531, 536, 532, 534, 0, 532, 0, 537, 538, 539, 541, 542, 542, 0, 544, 546, 0, 547, 548, 549, 533, 551, 553, 558, 554, 556, 0, 554, 0, 559, 560, 557, 0, 563, 205, 0, 566, 564, 568, 565, 570, 567, 572, 569, 574, 571, 576, 575, 0, 579, 580, 592, 593, 584, 205, 585, 588, 588, 588, 590, 205, 594, 594, 595, 596, 597, 581, 600, 598, 601, 0, 205, 205, 205, 606, 606, 607, 608, 609, 605, 610, 612, 0, 193, 193, 193, 193, 193, 193, 193, 193, 0, 623, 623, 192, 626, 626, 0, 626, 626, 631, 633, 282, 282, 634, 282, 282, 637, 638, 639, 0, 650, 677, 684, 666, 655, 205, 205, 205, 205, 650, 659, 668, 685, 666, 0, 662, 686, 666, 662, 668, 685, 0, 670, 674, 689, 666, 205, 0, 205, 0, 674, 689, 205, 0, 666, 205, 0, 680, 692, 680, 659, 668, 685, 0, 650, 687, 662, 688, 205, 690, 691, 666, 680, 697, 697, 697, 697, 698, 699, 700, 0, 703, 703, 704, 706, 707, 708, 708, 700, 711, 711, 712, 713, 719, 719, 719, 719, 719, 719, [719 ... 1720] = 0 };
                                                                //    403     -1,    71,    72,    38,    46,    47,    67,    67,
                                                                //    404      75,    67,    0,    67,    51,    76,    79,    53,
                                                                //    405      55,    80,    67,    81,    82,    83,    67,    84,
                                                                //    406      26,    41,    85,    86,    57,    57,    89,    93,
                                                                //    407      96,    97,   102,   103,   104,   107,    46,    67,
                                                                //    408      67,    0,   110,   110,   111,    52,    49,    0,
                                                                //    409      61,    67,    62,    0,    67,    0,   111,   112,
                                                                //    410     112,    58,   113,   114,   115,    64,    67,    66,
                                                                //    411     116,   117,    68,    0,    67,   122,    67,    0,
                                                                //    412      73,   123,   123,    67,    77,    67,    40,    77,
                                                                //    413      67,    67,    0,   124,   127,   128,    87,    86,
                                                                //    414      0,    90,   131,    89,    0,    94,    93,    0,
                                                                //    415     132,    98,   137,   100,    97,    0,   138,    67,
                                                                //    416     105,   104,    0,   108,   107,    0,    67,    67,
                                                                //    417      67,   139,   140,   141,    0,   118,   120,   116,
                                                                //    418     142,   116,    67,    71,   125,    67,    0,    67,
                                                                //    419     129,    85,    0,   143,   133,   144,   135,   145,
                                                                //    420      0,   156,   157,    59,   158,    67,   119,    91,
                                                                //    421     159,   146,   145,   148,   146,   151,    0,   153,
                                                                //    422     153,   154,   146,    0,    99,   160,    67,   134,
                                                                //    423     161,   162,   165,   161,   141,   162,   162,   168,
                                                                //    424     172,   174,   175,   176,   177,   178,   179,   182,
                                                                //    425     185,   188,   189,   180,   190,   190,   183,   191,
                                                                //    426     191,   186,   191,   191,    0,   188,   192,   193,
                                                                //    427     194,    0,   196,    0,    0,   198,   197,    0,
                                                                //    428     201,   200,    0,   204,   205,    0,   228,   232,
                                                                //    429     219,   234,   235,    0,   236,   237,   238,    0,
                                                                //    430     232,   226,   244,   245,   221,   248,   249,   250,
                                                                //    431     251,   245,    0,   252,   229,   249,   250,   251,
                                                                //    432     253,    0,    0,   188,   254,   260,   239,   269,
                                                                //    433     269,   242,   191,   191,   270,   246,   272,   272,
                                                                //    434     229,   273,   274,   275,   276,    0,   255,   266,
                                                                //    435     266,   258,   267,   267,   261,   266,   266,   264,
                                                                //    436     267,   267,   232,   268,   232,    0,   277,    0,
                                                                //    437     278,   232,   273,   232,   282,   283,   279,   285,
                                                                //    438     253,    0,    0,   286,    0,   232,    0,   288,
                                                                //    439      0,   290,    0,   292,   294,    0,    0,   297,
                                                                //    440      0,    0,   299,   301,    0,   303,    0,   305,
                                                                //    441      0,   307,    0,    0,   310,   313,   314,   315,
                                                                //    442      0,    0,   316,   311,   314,    0,   332,   332,
                                                                //    443     328,   349,   350,   351,   351,   351,   351,   330,
                                                                //    444     282,   352,   358,    0,   333,   341,   347,   359,
                                                                //    445     360,   361,   362,   363,    0,   342,   343,   345,
                                                                //    446      0,   346,    0,   269,   269,    0,    0,   366,
                                                                //    447     353,   371,   372,   373,   374,    0,   375,   376,
                                                                //    448     377,   383,   384,   364,   385,   385,   367,   269,
                                                                //    449     269,   269,   269,   389,   390,   391,   392,   393,
                                                                //    450      0,   378,   360,   361,   362,   341,    0,   379,
                                                                //    451     380,   386,   363,   341,    0,   353,   354,   355,
                                                                //    452     375,   395,    0,   396,    0,   400,   269,   269,
                                                                //    453     401,    0,   411,   411,   406,   417,   407,   418,
                                                                //    454     419,   420,    0,   412,   418,   419,   420,   421,
                                                                //    455      0,   409,   406,   424,   417,   422,   425,   425,
                                                                //    456     408,   415,   427,   430,   431,    0,   426,   432,
                                                                //    457     428,   434,   436,    0,   433,   269,   269,   441,
                                                                //    458     442,   282,   443,    0,   446,   451,   447,   446,
                                                                //    459     452,   451,    0,   449,   448,   454,   453,   457,
                                                                //    460      0,   455,   459,   458,    0,   269,   464,   465,
                                                                //    461     282,   466,    0,   469,   469,   470,   471,   472,
                                                                //    462     473,   474,   475,   476,   477,    0,   479,   269,
                                                                //    463     481,    0,   483,   485,   485,   205,   490,   488,
                                                                //    464     496,   497,   491,   494,   490,    0,   491,   491,
                                                                //    465      0,   498,   499,   501,    0,    0,   504,   506,
                                                                //    466     510,   499,   508,    0,   506,   506,   504,   512,
                                                                //    467     513,   514,   515,    0,   517,   518,   519,   520,
                                                                //    468      0,   522,   523,   524,   525,   522,    0,   528,
                                                                //    469     529,   531,   536,   532,   534,    0,   532,    0,
                                                                //    470     537,   538,   539,   541,   542,   542,    0,   544,
                                                                //    471     546,    0,   547,   548,   549,   533,   551,   553,
                                                                //    472     558,   554,   556,    0,   554,    0,   559,   560,
                                                                //    473     557,    0,   563,   205,    0,   566,   564,   568,
                                                                //    474     565,   570,   567,   572,   569,   574,   571,   576,
                                                                //    475     575,    0,   579,   580,   592,   593,   584,   205,
                                                                //    476     585,   588,   588,   588,   590,   205,   594,   594,
                                                                //    477     595,   596,   597,   581,   600,   598,   601,    0,
                                                                //    478     205,   205,   205,   606,   606,   607,   608,   609,
                                                                //    479     605,   610,   612,    0,   193,   193,   193,   193,
                                                                //    480     193,   193,   193,   193,    0,   623,   623,   192,
                                                                //    481     626,   626,    0,   626,   626,   631,   633,   282,
                                                                //    482     282,   634,   282,   282,   637,   638,   639,    0,
                                                                //    483     650,   677,   684,   666,   655,   205,   205,   205,
                                                                //    484     205,   650,   659,   668,   685,   666,    0,   662,
                                                                //    485     686,   666,   662,   668,   685,    0,   670,   674,
                                                                //    486     689,   666,   205,    0,   205,    0,   674,   689,
                                                                //    487     205,    0,   666,   205,    0,   680,   692,   680,
                                                                //    488     659,   668,   685,    0,   650,   687,   662,   688,
                                                                //    489     205,   690,   691,   666,   680,   697,   697,   697,
                                                                //    490     697,   698,   699,   700,    0,   703,   703,   704,
                                                                //    491     706,   707,   708,   708,   700,   711,   711,   712,
                                                                //    492     713,   719,   719,   719,   719,   719,   719,    0,
                                                                //    493  0(max grammar-gmax1)
                                                                //    494  
                                                                //    495  %constshortinteger max kdict = 618
                                                                //    496  %constshortintegerarray kdict(32:max kdict) = %c
#line 496 "regression-compile-tmp/pass1.imp"
const short KDICT[587] = { 0, 511, 131, 531, 131, 551, 559, 131, 567, 575, 583, 603, 623, 631, 663, 671, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 691, 698, 707, 751, 795, 131, 131, 824, 900, 960, 1076, 1120, 1280, 128, 128, 1392, 128, 128, 1460, 1600, 1636, 1704, 1792, 128, 1872, 2088, 2284, 2316, 128, 2356, 128, 128, 128, 2375, 2383, 2415, 2423, 2443, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 2451, 131, 2459, (-32351), 16428, 25, 16428, 29, (-32349), 16433, 1, 16434, 1, (-16127), 0, 16427, 21, 16407, 0, 16409, 0, (-32323), (-10840), 40, 16471, 0, (-32341), (-10580), 32, 16473, 117, 16384, 19, (-31955), (-32322), (-10580), 36, (-9290), 0, 16473, 113, 16432, 13, (-32337), 16427, 46, 16427, 17, 16405, 0, 16404, 0, (-31556), (-31939), (-32322), (-9551), 2, 16433, 1, 16433, 5, 16426, 5, (-31606), (-32323), (-9807), 0, (-32374), (-9678), 0, 16436, 0, 16435, 0, (-31939), (-32322), 16433, 4, 16426, 9, 16433, 3, (-30772), (-31666), 10578, 11457, (-32344), 16413, 2, 16411, 2, 68, (-32374), 16440, 0, 16440, 0, 8393, 83, 16408, 0, (-31291), 10841, 69, (-32311), 16412, 18, 10830, 9157, 10565, 16412, 18, 9415, 78, 16458, 0, (-32049), 8665, 8908, 16455, 0, (-30131), 78, (-31277), 84, (-32055), 10194, 76, 16469, 0, 10958, 69, 16447, 32, 84, (-32319), 16418, 2, 10830, 16418, 2, 8909, 10830, 16406, 0, (-31927), 10073, 9921, 8649, 16419, 5, 9153, 10190, 8915, 16469, 1, (-27956), (-31282), 88, (-31927), 8916, 10066, 9793, 16419, 3, 84, 16447, 4, 68, (-32305), 16459, 2, 70, (-30650), (-31284), 80, (-31931), 10194, 10567, 9921, 16460, 1, 9938, 16461, 0, 10697, 84, 16467, 3, 9801, 69, 16460, 0, 8915, 16452, 0, (-29631), (-30903), (-31282), (-31793), 10069, 10819, 10185, 78, 16416, 9, 82, 16445, 0, 16416, 9, 9422, 9299, (-32315), 16453, 0, 10700, 69, 16454, 0, 10700, 69, 16464, 1210, (-30778), 78, (-31549), 8916, 8903, 82, (-32344), 16412, 17, 16472, 17, 10956, 8900, 16470, 0, 16446, 44, (-28735), (-29239), 10063, 71, (-30263), (-31668), (-32302), 16412, 20, 8389, 76, 16412, 36, 10063, 71, (-32311), 16412, 21, 10830, 9157, 10565, 16412, 21, 10830, 9157, 10565, 16412, 20, 10835, 16467, 1, 8898, 76, 16425, 6, (-31935), 10063, 10825, 10575, 16465, 109, 80, 16416, 10, (-32191), 10831, 16442, 0, 8909, (-32314), 16414, 1, (-31794), 10069, 10819, 10185, 78, 16416, 10, 16416, 10, (-30770), (-31408), (-32174), 10071, 16418, 1, (-32374), 16441, 2, 16441, 2, 9428, 10063, 16402, 0, (-32315), 16448, 0, 8918, 10830, 16448, 0, (-30523), 82, (-31419), (-31927), 9167, 8402, 77, 16457, 0, 77, 16419, 6, 9412, 8387, 8916, 16415, 123, 9938, 16419, 7, (-31931), 10959, 9428, 8910, 16415, 104, (-28351), (-30397), (-31024), (-32045), 10964, 10066, 16464, 1319, 9813, 7892, (-32323), 16462, 1384, 16463, 1241, 8389, 84, 16456, 0, 10575, 68, (-32314), 16421, 64, 10575, 8397, 84, (-32301), 16422, 9, 8912, 67, 16422, 12, 76, (-32301), 16412, 33, (-31924), 10190, 9938, 9793, 16468, 1, 10063, 71, 16468, 4, (-27704), (-28983), (-29488), (-31276), (-31913), 10713, 8916, 77, 16419, 4, 10825, 9283, 16417, 12, (-31423), (-31921), 9426, 9166, 40, 16420, 48, 80, 16466, 115, 10834, 16451, 0, 8645, 16423, 0, 10055, 9793, (-32315), 16449, 0, 8918, 10830, 16449, 0, 10575, 84, (-32311), 16412, 19, 10830, 9157, 10565, 16412, 19, (-32056), 10962, 69, 16464, 1354, 10053, 16450, 0, 78, (-32052), 9428, 76, 16444, 182, 10693, 83, 16446, 46, 9416, 8908, 16443, 180, 16407, 0, (-31939), (-32292), (-10454), 51, 16426, 13, 16433, 1, 16409, 0, (-32290), (-10454), 51, 16426, 13, 16410, 0, 16431, 14, (-32323), 16430, 51, 16433, 1,  };
                                                                //    497      0,   511,   131,   531,   131,   551,   559,   131,
                                                                //    498     567,   575,   583,   603,   623,   631,   663,   671,
                                                                //    499     129,   129,   129,   129,   129,   129,   129,   129,
                                                                //    500     129,   129,   691,   698,   707,   751,   795,   131,
                                                                //    501     131,   824,   900,   960,   1076,   1120,   1280,   128,
                                                                //    502     128,   1392,   128,   128,   1460,   1600,   1636,   1704,
                                                                //    503     1792,   128,   1872,   2088,   2284,   2316,   128,   2356,
                                                                //    504     128,   128,   128,   2375,   2383,   2415,   2423,   2443,
                                                                //    505     131,   131,   131,   131,   131,   131,   131,   131,
                                                                //    506     131,   131,   131,   131,   131,   131,   131,   131,
                                                                //    507     131,   131,   131,   131,   131,   131,   131,   131,
                                                                //    508     131,   131,   131,   131,   2451,   131,   2459, -32351,
                                                                //    509    16428,    25,  16428,    29, -32349,  16433,    1,  16434,
                                                                //    510      1, -16127,    0,  16427,    21,  16407,    0,  16409,
                                                                //    511      0, -32323, -10840,    40,  16471,    0, -32341, -10580,
                                                                //    512      32,  16473,   117,  16384,    19, -31955, -32322, -10580,
                                                                //    513      36,  -9290,    0,  16473,   113,  16432,    13, -32337,
                                                                //    514    16427,    46,  16427,    17,  16405,    0,  16404,    0,
                                                                //    515   -31556, -31939, -32322,  -9551,    2,  16433,    1,  16433,
                                                                //    516      5,  16426,    5, -31606, -32323,  -9807,    0, -32374,
                                                                //    517    -9678,    0,  16436,    0,  16435,    0, -31939, -32322,
                                                                //    518    16433,    4,  16426,    9,  16433,    3, -30772, -31666,
                                                                //    519    10578,  11457, -32344,  16413,    2,  16411,    2,    68,
                                                                //    520   -32374,  16440,    0,  16440,    0,   8393,    83,  16408,
                                                                //    521      0, -31291,  10841,    69, -32311,  16412,    18,  10830,
                                                                //    522     9157,  10565,  16412,    18,   9415,    78,  16458,    0,
                                                                //    523   -32049,   8665,   8908,  16455,    0, -30131,    78, -31277,
                                                                //    524      84, -32055,  10194,    76,  16469,    0,  10958,    69,
                                                                //    525    16447,    32,    84, -32319,  16418,    2,  10830,  16418,
                                                                //    526      2,   8909,  10830,  16406,    0, -31927,  10073,   9921,
                                                                //    527     8649,  16419,    5,   9153,  10190,   8915,  16469,    1,
                                                                //    528   -27956, -31282,    88, -31927,   8916,  10066,   9793,  16419,
                                                                //    529      3,    84,  16447,    4,    68, -32305,  16459,    2,
                                                                //    530      70, -30650, -31284,    80, -31931,  10194,  10567,   9921,
                                                                //    531    16460,    1,   9938,  16461,    0,  10697,    84,  16467,
                                                                //    532      3,   9801,    69,  16460,    0,   8915,  16452,    0,
                                                                //    533   -29631, -30903, -31282, -31793,  10069,  10819,  10185,    78,
                                                                //    534    16416,    9,    82,  16445,    0,  16416,    9,   9422,
                                                                //    535     9299, -32315,  16453,    0,  10700,    69,  16454,    0,
                                                                //    536    10700,    69,  16464,   1210, -30778,    78, -31549,   8916,
                                                                //    537     8903,    82, -32344,  16412,    17,  16472,    17,  10956,
                                                                //    538     8900,  16470,    0,  16446,    44, -28735, -29239,  10063,
                                                                //    539      71, -30263, -31668, -32302,  16412,    20,   8389,    76,
                                                                //    540    16412,    36,  10063,    71, -32311,  16412,    21,  10830,
                                                                //    541     9157,  10565,  16412,    21,  10830,   9157,  10565,  16412,
                                                                //    542      20,  10835,  16467,    1,   8898,    76,  16425,    6,
                                                                //    543   -31935,  10063,  10825,  10575,  16465,   109,    80,  16416,
                                                                //    544      10, -32191,  10831,  16442,    0,   8909, -32314,  16414,
                                                                //    545      1, -31794,  10069,  10819,  10185,    78,  16416,    10,
                                                                //    546    16416,    10, -30770, -31408, -32174,  10071,  16418,    1,
                                                                //    547   -32374,  16441,    2,  16441,    2,   9428,  10063,  16402,
                                                                //    548      0, -32315,  16448,    0,   8918,  10830,  16448,    0,
                                                                //    549   -30523,    82, -31419, -31927,   9167,   8402,    77,  16457,
                                                                //    550      0,    77,  16419,    6,   9412,   8387,   8916,  16415,
                                                                //    551     123,   9938,  16419,    7, -31931,  10959,   9428,   8910,
                                                                //    552    16415,   104, -28351, -30397, -31024, -32045,  10964,  10066,
                                                                //    553    16464,   1319,   9813,   7892, -32323,  16462,   1384,  16463,
                                                                //    554     1241,   8389,    84,  16456,    0,  10575,    68, -32314,
                                                                //    555    16421,    64,  10575,   8397,    84, -32301,  16422,    9,
                                                                //    556     8912,    67,  16422,    12,    76, -32301,  16412,    33,
                                                                //    557   -31924,  10190,   9938,   9793,  16468,    1,  10063,    71,
                                                                //    558    16468,    4, -27704, -28983, -29488, -31276, -31913,  10713,
                                                                //    559     8916,    77,  16419,    4,  10825,   9283,  16417,    12,
                                                                //    560   -31423, -31921,   9426,   9166,    40,  16420,    48,    80,
                                                                //    561    16466,   115,  10834,  16451,    0,   8645,  16423,    0,
                                                                //    562    10055,   9793, -32315,  16449,    0,   8918,  10830,  16449,
                                                                //    563      0,  10575,    84, -32311,  16412,    19,  10830,   9157,
                                                                //    564    10565,  16412,    19, -32056,  10962,    69,  16464,   1354,
                                                                //    565    10053,  16450,    0,    78, -32052,   9428,    76,  16444,
                                                                //    566     182,  10693,    83,  16446,    46,   9416,   8908,  16443,
                                                                //    567     180,  16407,    0, -31939, -32292, -10454,    51,  16426,
                                                                //    568      13,  16433,    1,  16409,    0, -32290, -10454,    51,
                                                                //    569    16426,    13,  16410,    0,  16431,    14, -32323,  16430,
                                                                //    570      51,  16433,    1
                                                                //    571     %list
                                                                //    572  !%endoffile
                                                                //    573      !***  end  of generated tables ***
                                                                //    574  
                                                                //    575      %routine flush buffer( %integer limit )
#line 575 "regression-compile-tmp/pass1.imp"
void FLUSHBUFFER( int LIMIT )
#line 575 "regression-compile-tmp/pass1.imp"
{
                                                                //    576          %integer j
#line 576 "regression-compile-tmp/pass1.imp"
int J;
                                                                //    577          %if bp >= limit %start
#line 577 "regression-compile-tmp/pass1.imp"
if (((BP) < (LIMIT))) goto L_0002;
                                                                //    578          %if faulty = 0 %start
#line 578 "regression-compile-tmp/pass1.imp"
if (((FAULTY) != (0))) goto L_0003;
                                                                //    579              selectoutput(object)
#line 579 "regression-compile-tmp/pass1.imp"
_imp_SELECTOUTPUT(1);
                                                                //    580              %for j = 1, 1, bp %cycle
#line 580 "regression-compile-tmp/pass1.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = BP; J = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle J = 1, 1, BP");
J -= _increment; _control -= _increment;
L_0004:;
if (J == _final) goto L_0005;
J += _increment; _control += _increment;
if (J != _control) _imp_signal(4,2,0,"Corrupt control variable J"); /* FOR loop control variable corrupted */
}
                                                                //    581                  printsymbol(buff(j))
#line 581 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(BUFF[(((int)(J)) - (1))]);
                                                                //    582              %repeat
#line 582 "regression-compile-tmp/pass1.imp"
goto L_0004;
#line 582 "regression-compile-tmp/pass1.imp"
L_0005:;
                                                                //    583              selectoutput(listing)
#line 583 "regression-compile-tmp/pass1.imp"
_imp_SELECTOUTPUT(2);
                                                                //    584          %finish
#line 584 "regression-compile-tmp/pass1.imp"
L_0003:;
                                                                //    585          bp = 0
#line 585 "regression-compile-tmp/pass1.imp"
BP = 0;
                                                                //    586          %finish
#line 586 "regression-compile-tmp/pass1.imp"
L_0002:;
                                                                //    587      %end
#line 587 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FLUSHBUFFER at level 2
                                                                //    588  
                                                                //    589      %routine add char( %byteinteger ch )
#line 589 "regression-compile-tmp/pass1.imp"
void ADDCHAR( unsigned char CH )
#line 589 "regression-compile-tmp/pass1.imp"
{
                                                                //    590          bp = bp + 1
#line 590 "regression-compile-tmp/pass1.imp"
BP = (((int)(BP)) + (1));
                                                                //    591          buff(bp) = ch
#line 591 "regression-compile-tmp/pass1.imp"
BUFF[(((int)(BP)) - (1))] = CH;
                                                                //    592      %end
#line 592 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ADDCHAR at level 2
                                                                //    593  
                                                                //    594      %routine op(%integer code, param)
#line 594 "regression-compile-tmp/pass1.imp"
void OP( int CODE, int PARAM )
#line 594 "regression-compile-tmp/pass1.imp"
{
                                                                //    595          buff(bp+1) = code
#line 595 "regression-compile-tmp/pass1.imp"
BUFF[(((int)((((int)(BP)) + (1)))) - (1))] = CODE;
                                                                //    596          buff(bp+2) = param>>8
#line 596 "regression-compile-tmp/pass1.imp"
BUFF[(((int)((((int)(BP)) + (2)))) - (1))] = (int)((((unsigned int)(PARAM)) >> (8)));
                                                                //    597          buff(bp+3) = param
#line 597 "regression-compile-tmp/pass1.imp"
BUFF[(((int)((((int)(BP)) + (3)))) - (1))] = PARAM;
                                                                //    598          bp = bp+3
#line 598 "regression-compile-tmp/pass1.imp"
BP = (((int)(BP)) + (3));
                                                                //    599      %end
#line 599 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block OP at level 2
                                                                //    600  
                                                                //    601      %routine set const(%integer m)
#line 601 "regression-compile-tmp/pass1.imp"
void SETCONST( int M )
#line 601 "regression-compile-tmp/pass1.imp"
{
                                                                //    602          buff(bp+1) = 'N'
#line 602 "regression-compile-tmp/pass1.imp"
BUFF[(((int)((((int)(BP)) + (1)))) - (1))] = 78;
                                                                //    603          buff(bp+5) = m;  m = m>>8
#line 603 "regression-compile-tmp/pass1.imp"
BUFF[(((int)((((int)(BP)) + (5)))) - (1))] = M;
#line 603 "regression-compile-tmp/pass1.imp"
M = (int)((((unsigned int)(M)) >> (8)));
                                                                //    604          buff(bp+4) = m;  m = m>>8
#line 604 "regression-compile-tmp/pass1.imp"
BUFF[(((int)((((int)(BP)) + (4)))) - (1))] = M;
#line 604 "regression-compile-tmp/pass1.imp"
M = (int)((((unsigned int)(M)) >> (8)));
                                                                //    605          buff(bp+3) = m;  m = m>>8
#line 605 "regression-compile-tmp/pass1.imp"
BUFF[(((int)((((int)(BP)) + (3)))) - (1))] = M;
#line 605 "regression-compile-tmp/pass1.imp"
M = (int)((((unsigned int)(M)) >> (8)));
                                                                //    606          buff(bp+2) = m
#line 606 "regression-compile-tmp/pass1.imp"
BUFF[(((int)((((int)(BP)) + (2)))) - (1))] = M;
                                                                //    607          bp = bp+5
#line 607 "regression-compile-tmp/pass1.imp"
BP = (((int)(BP)) + (5));
                                                                //    608      %end
#line 608 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETCONST at level 2
                                                                //    609  
                                                                //    610      %routine octal(%integer n)
#line 610 "regression-compile-tmp/pass1.imp"
void OCTAL( int N )
#line 610 "regression-compile-tmp/pass1.imp"
{
                                                                //    611          %integer m
#line 611 "regression-compile-tmp/pass1.imp"
int M;
                                                                //    612          m = n>>3
#line 612 "regression-compile-tmp/pass1.imp"
M = (int)((((unsigned int)(N)) >> (3)));
                                                                //    613          octal(m) %if m # 0
#line 613 "regression-compile-tmp/pass1.imp"
if (((M) == (0))) goto L_0007;
#line 613 "regression-compile-tmp/pass1.imp"
OCTAL(M);
#line 613 "regression-compile-tmp/pass1.imp"
L_0007:;
                                                                //    614          add char( n&7+'0' )
#line 614 "regression-compile-tmp/pass1.imp"
ADDCHAR((((int)(((N) & (7)))) + (48)));
                                                                //    615      %end
#line 615 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block OCTAL at level 2
                                                                //    616  
                                                                //    617      %routine hexadecimal(%integer n)
#line 617 "regression-compile-tmp/pass1.imp"
void HEXADECIMAL( int N )
#line 617 "regression-compile-tmp/pass1.imp"
{
                                                                //    618          %integer m
#line 618 "regression-compile-tmp/pass1.imp"
int M;
                                                                //    619          m = n>>4
#line 619 "regression-compile-tmp/pass1.imp"
M = (int)((((unsigned int)(N)) >> (4)));
                                                                //    620          hexadecimal(m) %if m # 0
#line 620 "regression-compile-tmp/pass1.imp"
if (((M) == (0))) goto L_0008;
#line 620 "regression-compile-tmp/pass1.imp"
HEXADECIMAL(M);
#line 620 "regression-compile-tmp/pass1.imp"
L_0008:;
                                                                //    621          %if n&15 > 9 %then add char( n&15+'A' ) %else add char( n&15+'0' )
#line 621 "regression-compile-tmp/pass1.imp"
if (((((N) & (15))) <= (9))) goto L_0009;
#line 621 "regression-compile-tmp/pass1.imp"
ADDCHAR((((int)(((N) & (15)))) + (65)));
#line 621 "regression-compile-tmp/pass1.imp"
goto L_000a;
#line 621 "regression-compile-tmp/pass1.imp"
L_0009:;
#line 621 "regression-compile-tmp/pass1.imp"
ADDCHAR((((int)(((N) & (15)))) + (48)));
#line 621 "regression-compile-tmp/pass1.imp"
L_000a:;
                                                                //    622      %end
#line 622 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block HEXADECIMAL at level 2
                                                                //    623  
                                                                //    624      %routine print ident(%integer p, mode)
#line 624 "regression-compile-tmp/pass1.imp"
void PRINTIDENT( int P, int MODE )
#line 624 "regression-compile-tmp/pass1.imp"
{
                                                                //    625  
                                                                //    626          %routine putit(%integer ch)
#line 626 "regression-compile-tmp/pass1.imp"
void PUTIT( int CH )
#line 626 "regression-compile-tmp/pass1.imp"
{
                                                                //    627              %if mode = 0 %then %start
#line 627 "regression-compile-tmp/pass1.imp"
if (((MODE) != (0))) goto L_000b;
                                                                //    628                  printsymbol(ch)
#line 628 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(CH);
                                                                //    629              %else
#line 629 "regression-compile-tmp/pass1.imp"
goto L_000c;
#line 629 "regression-compile-tmp/pass1.imp"
L_000b:;
                                                                //    630                  add char( ch )
#line 630 "regression-compile-tmp/pass1.imp"
ADDCHAR(CH);
                                                                //    631              %finish
#line 631 "regression-compile-tmp/pass1.imp"
L_000c:;
                                                                //    632          %end
#line 632 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTIT at level 3
                                                                //    633  
                                                                //    634          %integer k, l
#line 634 "regression-compile-tmp/pass1.imp"
int K;
#line 634 "regression-compile-tmp/pass1.imp"
int L;
                                                                //    635          p = tag(p)_text
#line 635 "regression-compile-tmp/pass1.imp"
P = TAG[P].TEXT;
                                                                //    636          %if p = 0 %start
#line 636 "regression-compile-tmp/pass1.imp"
if (((P) != (0))) goto L_000d;
                                                                //    637              putit('?')
#line 637 "regression-compile-tmp/pass1.imp"
PUTIT(63);
                                                                //    638              %return
#line 638 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    639          %finish
#line 639 "regression-compile-tmp/pass1.imp"
L_000d:;
                                                                //    640          p = p+1;       ! advance to name string
#line 640 "regression-compile-tmp/pass1.imp"
P = (((int)(P)) + (1));
                                                                //    641          k = dict(p)
#line 641 "regression-compile-tmp/pass1.imp"
K = DICT[(((int)(P)) - (1))];
                                                                //    642          l = k & 255;   ! length
#line 642 "regression-compile-tmp/pass1.imp"
L = ((K) & (255));
                                                                //    643          %while l > 0 %cycle
#line 643 "regression-compile-tmp/pass1.imp"
L_000e:;
#line 643 "regression-compile-tmp/pass1.imp"
if (((L) <= (0))) goto L_000f;
                                                                //    644              putit(k>>8)
#line 644 "regression-compile-tmp/pass1.imp"
PUTIT((int)((((unsigned int)(K)) >> (8))));
                                                                //    645              l = l-1
#line 645 "regression-compile-tmp/pass1.imp"
L = (((int)(L)) - (1));
                                                                //    646              p = p+1
#line 646 "regression-compile-tmp/pass1.imp"
P = (((int)(P)) + (1));
                                                                //    647              k = dict(p)
#line 647 "regression-compile-tmp/pass1.imp"
K = DICT[(((int)(P)) - (1))];
                                                                //    648              %exit %if l = 0
#line 648 "regression-compile-tmp/pass1.imp"
if (((L) != (0))) goto L_0011;
#line 648 "regression-compile-tmp/pass1.imp"
goto L_000f;
#line 648 "regression-compile-tmp/pass1.imp"
L_0011:;
                                                                //    649              putit(k&255)
#line 649 "regression-compile-tmp/pass1.imp"
PUTIT(((K) & (255)));
                                                                //    650              l = l-1
#line 650 "regression-compile-tmp/pass1.imp"
L = (((int)(L)) - (1));
                                                                //    651          %repeat
#line 651 "regression-compile-tmp/pass1.imp"
goto L_000e;
#line 651 "regression-compile-tmp/pass1.imp"
L_000f:;
                                                                //    652      %end
#line 652 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRINTIDENT at level 2
                                                                //    653  
                                                                //    654      %routine abandon(%integer n)
#line 654 "regression-compile-tmp/pass1.imp"
void ABANDON( int N )
#line 654 "regression-compile-tmp/pass1.imp"
{
                                                                //    655          %switch reason(0:9)
#line 655 "regression-compile-tmp/pass1.imp"
static int sw1_REASON_idx;
static const void * /*SWITCH*/ sw1_REASON[10] = { &&sw1_REASON_0, &&sw1_REASON_1, &&sw1_REASON_2, &&sw1_REASON_3, &&sw1_REASON_4, &&sw1_REASON_5, &&sw1_REASON_6, &&sw1_REASON_7, &&sw1_REASON_8, &&sw1_REASON_9,  };
                                                                //    656          %integer stream
#line 656 "regression-compile-tmp/pass1.imp"
int STREAM;
                                                                //    657          stream = listing
#line 657 "regression-compile-tmp/pass1.imp"
STREAM = 2;
                                                                //    658          %cycle
#line 658 "regression-compile-tmp/pass1.imp"
L_0012:;
                                                                //    659              newline %if sym # nl
#line 659 "regression-compile-tmp/pass1.imp"
if (((SYM) == (10))) goto L_0015;
#line 659 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
#line 659 "regression-compile-tmp/pass1.imp"
L_0015:;
                                                                //    660              printsymbol('*');  write(lines,4);  space
#line 660 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(42);
#line 660 "regression-compile-tmp/pass1.imp"
_imp_WRITE(LINES, 4);
#line 660 "regression-compile-tmp/pass1.imp"
_imp_SPACE();
                                                                //    661              ->reason(n)
#line 661 "regression-compile-tmp/pass1.imp"
sw1_REASON_idx = N; if ((0 <= sw1_REASON_idx) && (sw1_REASON_idx <= 9)) goto *sw1_REASON[sw1_REASON_idx]; else {
   /*_imp_signal(8, 2, sw1_REASON_idx);*/
   fprintf(stderr, "%%SWITCH index REASON(%d) not in range 0:9 at %s:%d\n",
           sw1_REASON_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //    662  reason(0):  printstring("compiler error!");          ->more
#line 662 "regression-compile-tmp/pass1.imp"
sw1_REASON_0:;
#line 662 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("compiler error!"));
#line 662 "regression-compile-tmp/pass1.imp"
goto U_1000;
                                                                //    663  reason(1):  printstring("switch vector too large");  ->more
#line 663 "regression-compile-tmp/pass1.imp"
sw1_REASON_1:;
#line 663 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("switch vector too large"));
#line 663 "regression-compile-tmp/pass1.imp"
goto U_1000;
                                                                //    664  reason(2):  printstring("too many names");           ->more
#line 664 "regression-compile-tmp/pass1.imp"
sw1_REASON_2:;
#line 664 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("too many names"));
#line 664 "regression-compile-tmp/pass1.imp"
goto U_1000;
                                                                //    665  reason(3):  printstring("program too complex");      ->more
#line 665 "regression-compile-tmp/pass1.imp"
sw1_REASON_3:;
#line 665 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("program too complex"));
#line 665 "regression-compile-tmp/pass1.imp"
goto U_1000;
                                                                //    666  reason(4):  printstring("feature not implemented");  ->more
#line 666 "regression-compile-tmp/pass1.imp"
sw1_REASON_4:;
#line 666 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("feature not implemented"));
#line 666 "regression-compile-tmp/pass1.imp"
goto U_1000;
                                                                //    667  reason(5):  printstring("input ended: ")
#line 667 "regression-compile-tmp/pass1.imp"
sw1_REASON_5:;
#line 667 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("input ended: "));
                                                                //    668              %if quote # 0 %start
#line 668 "regression-compile-tmp/pass1.imp"
if (((QUOTE) == (0))) goto L_0016;
                                                                //    669                  %if quote < 0 %then printsymbol(cquote) %else printsymbol(squote)
#line 669 "regression-compile-tmp/pass1.imp"
if (((QUOTE) >= (0))) goto L_0017;
#line 669 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(39);
#line 669 "regression-compile-tmp/pass1.imp"
goto L_0018;
#line 669 "regression-compile-tmp/pass1.imp"
L_0017:;
#line 669 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(34);
#line 669 "regression-compile-tmp/pass1.imp"
L_0018:;
                                                                //    670              %else
#line 670 "regression-compile-tmp/pass1.imp"
goto L_0019;
#line 670 "regression-compile-tmp/pass1.imp"
L_0016:;
                                                                //    671                  printstring("%endof")
#line 671 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("%endof"));
                                                                //    672                  %if progmode >= 0 %then printstring("program") %else printstring("file")
#line 672 "regression-compile-tmp/pass1.imp"
if (((PROGMODE) < (0))) goto L_001a;
#line 672 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("program"));
#line 672 "regression-compile-tmp/pass1.imp"
goto L_001b;
#line 672 "regression-compile-tmp/pass1.imp"
L_001a:;
#line 672 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("file"));
#line 672 "regression-compile-tmp/pass1.imp"
L_001b:;
                                                                //    673              %finish
#line 673 "regression-compile-tmp/pass1.imp"
L_0019:;
                                                                //    674              printstring(" missing?");                ->more
#line 674 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal(" missing?"));
#line 674 "regression-compile-tmp/pass1.imp"
goto U_1000;
                                                                //    675  reason(6):  printstring("too many faults!");         ->more
#line 675 "regression-compile-tmp/pass1.imp"
sw1_REASON_6:;
#line 675 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("too many faults!"));
#line 675 "regression-compile-tmp/pass1.imp"
goto U_1000;
                                                                //    676  reason(7):  printstring("string constant too long"); ->more
#line 676 "regression-compile-tmp/pass1.imp"
sw1_REASON_7:;
#line 676 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("string constant too long"));
#line 676 "regression-compile-tmp/pass1.imp"
goto U_1000;
                                                                //    677  reason(8):  printstring("dictionary full");          ->more
#line 677 "regression-compile-tmp/pass1.imp"
sw1_REASON_8:;
#line 677 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("dictionary full"));
#line 677 "regression-compile-tmp/pass1.imp"
goto U_1000;
                                                                //    678  reason(9):  printstring("Included file ".include file." does not exist")
#line 678 "regression-compile-tmp/pass1.imp"
sw1_REASON_9:;
#line 678 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("Included file "),(_imp_string)INCLUDEFILE),(_imp_string)_imp_str_literal(" does not exist")));
                                                                //    679  
                                                                //    680  more:       newline
#line 680 "regression-compile-tmp/pass1.imp"
U_1000:;
#line 680 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
                                                                //    681              printstring("***  compilation abandoned ***");  newline
#line 681 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("***  compilation abandoned ***"));
#line 681 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
                                                                //    682              %exit %if stream = report
#line 682 "regression-compile-tmp/pass1.imp"
if (((STREAM) != (0))) goto L_001c;
#line 682 "regression-compile-tmp/pass1.imp"
goto L_0013;
#line 682 "regression-compile-tmp/pass1.imp"
L_001c:;
                                                                //    683              close output
#line 683 "regression-compile-tmp/pass1.imp"
_imp_CLOSEOUTPUT();
                                                                //    684              stream = report
#line 684 "regression-compile-tmp/pass1.imp"
STREAM = 0;
                                                                //    685              select output(report)
#line 685 "regression-compile-tmp/pass1.imp"
_imp_SELECTOUTPUT(0);
                                                                //    686          %repeat
#line 686 "regression-compile-tmp/pass1.imp"
goto L_0012;
#line 686 "regression-compile-tmp/pass1.imp"
L_0013:;
                                                                //    687          !%signal 15,15 %if diag&4096 # 0
                                                                //    688          %stop
#line 688 "regression-compile-tmp/pass1.imp"
exit(0);
                                                                //    689      %end
#line 689 "regression-compile-tmp/pass1.imp"
return;
} // End of block ABANDON at level 2
                                                                //    690  
                                                                //    691      %routine compile block(%integer level, block tag, dmin, tmax, id)
#line 691 "regression-compile-tmp/pass1.imp"
void COMPILEBLOCK( int LEVEL, int BLOCKTAG, int DMIN, int TMAX, int ID )
#line 691 "regression-compile-tmp/pass1.imp"
{
                                                                //    692  
                                                                //    693          %integerfnspec gapp
#line 693 "regression-compile-tmp/pass1.imp"
auto int GAPP( void );
                                                                //    694          %routinespec delete names(%integer quiet)
#line 694 "regression-compile-tmp/pass1.imp"
auto void DELETENAMES( int QUIET );
                                                                //    695          %routinespec analyse
#line 695 "regression-compile-tmp/pass1.imp"
auto void ANALYSE( void );
                                                                //    696          %routinespec compile
#line 696 "regression-compile-tmp/pass1.imp"
auto void COMPILE( void );
                                                                //    697  
                                                                //    698          %integer open;    open       = closed;      !zero if can return from proc
#line 698 "regression-compile-tmp/pass1.imp"
int OPEN;
#line 698 "regression-compile-tmp/pass1.imp"
OPEN = 16384;
                                                                //    699          %integer dbase;   dbase      = dmax;        !dictionary base
#line 699 "regression-compile-tmp/pass1.imp"
int DBASE;
#line 699 "regression-compile-tmp/pass1.imp"
DBASE = DMAX;
                                                                //    700          %integer tbase;   tbase      = tmax;        !tag base
#line 700 "regression-compile-tmp/pass1.imp"
int TBASE;
#line 700 "regression-compile-tmp/pass1.imp"
TBASE = TMAX;
                                                                //    701          %integer tstart;  tstart     = tmax
#line 701 "regression-compile-tmp/pass1.imp"
int TSTART;
#line 701 "regression-compile-tmp/pass1.imp"
TSTART = TMAX;
                                                                //    702          %integer label;   label      = 4;           !first internal label
#line 702 "regression-compile-tmp/pass1.imp"
int LABEL;
#line 702 "regression-compile-tmp/pass1.imp"
LABEL = 4;
                                                                //    703          %integer access;  access     = 1;           !non-zero if accessible
#line 703 "regression-compile-tmp/pass1.imp"
int ACCESS;
#line 703 "regression-compile-tmp/pass1.imp"
ACCESS = 1;
                                                                //    704          %integer inhibit; inhibit    = 0;           !non-zero inhibits declaratons
#line 704 "regression-compile-tmp/pass1.imp"
int INHIBIT;
#line 704 "regression-compile-tmp/pass1.imp"
INHIBIT = 0;
                                                                //    705  
                                                                //    706          %integername bflags;      bflags      == tag(block tag)_flags
#line 706 "regression-compile-tmp/pass1.imp"
int /*name*/*BFLAGS;
#line 706 "regression-compile-tmp/pass1.imp"
BFLAGS = &TAG[BLOCKTAG].FLAGS;
                                                                //    707          %integer block type;      block type   = bflags>>4&7
#line 707 "regression-compile-tmp/pass1.imp"
int BLOCKTYPE;
#line 707 "regression-compile-tmp/pass1.imp"
BLOCKTYPE = (((int)(((*(unsigned int *)(BFLAGS)) >> (4)))) & (7));
                                                                //    708          %integer block form;      block form   = bflags&15
#line 708 "regression-compile-tmp/pass1.imp"
int BLOCKFORM;
#line 708 "regression-compile-tmp/pass1.imp"
BLOCKFORM = ((*BFLAGS) & (15));
                                                                //    709          %integer block fm;        block fm     = tag(block tag)_format
#line 709 "regression-compile-tmp/pass1.imp"
int BLOCKFM;
#line 709 "regression-compile-tmp/pass1.imp"
BLOCKFM = TAG[BLOCKTAG].FORMAT;
                                                                //    710          %integer block otype;     block otype  = otype
#line 710 "regression-compile-tmp/pass1.imp"
int BLOCKOTYPE;
#line 710 "regression-compile-tmp/pass1.imp"
BLOCKOTYPE = OTYPE;
                                                                //    711          %integername block app;   block app   == tag(block tag)_app
#line 711 "regression-compile-tmp/pass1.imp"
int /*name*/*BLOCKAPP;
#line 711 "regression-compile-tmp/pass1.imp"
BLOCKAPP = &TAG[BLOCKTAG].APP;
                                                                //    712  
                                                                //    713          %integer l, new app
#line 713 "regression-compile-tmp/pass1.imp"
int L;
#line 713 "regression-compile-tmp/pass1.imp"
int NEWAPP;
                                                                //    714  
                                                                //    715          %routine fault(%integer n)
#line 715 "regression-compile-tmp/pass1.imp"
void FAULT( int N )
#line 715 "regression-compile-tmp/pass1.imp"
{
                                                                //    716              ! -5 : -1  - warnings
                                                                //    717              !  1 : 22  - errors
                                                                //    718  
                                                                //    719              %switch fm(-5:22)
#line 719 "regression-compile-tmp/pass1.imp"
static int sw2_FM_idx;
static const void * /*SWITCH*/ sw2_FM[28] = { &&sw2_FM_M_5, &&sw2_FM_M_4, &&sw2_FM_M_3, &&sw2_FM_M_2, &&sw2_FM_M_1, &&sw2_FM_0, &&sw2_FM_1, &&sw2_FM_2, &&sw2_FM_3, &&sw2_FM_4, &&sw2_FM_5, &&sw2_FM_6, &&sw2_FM_7, &&sw2_FM_8, &&sw2_FM_9, &&sw2_FM_10, &&sw2_FM_11, &&sw2_FM_12, &&sw2_FM_13, &&sw2_FM_14, &&sw2_FM_15, &&sw2_FM_16, &&sw2_FM_17, &&sw2_FM_18, &&sw2_FM_19, &&sw2_FM_20, &&sw2_FM_21, &&sw2_FM_22,  };
                                                                //    720              %integer st
#line 720 "regression-compile-tmp/pass1.imp"
int ST;
                                                                //    721  
                                                                //    722              %routine print ss
#line 722 "regression-compile-tmp/pass1.imp"
void PRINTSS( void )
#line 722 "regression-compile-tmp/pass1.imp"
{
                                                                //    723                  %integer s, p
#line 723 "regression-compile-tmp/pass1.imp"
int S;
#line 723 "regression-compile-tmp/pass1.imp"
int P;
                                                                //    724                  %return %if pos = 0
#line 724 "regression-compile-tmp/pass1.imp"
if (((POS) != (0))) goto L_001d;
#line 724 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 724 "regression-compile-tmp/pass1.imp"
L_001d:;
                                                                //    725                  space
#line 725 "regression-compile-tmp/pass1.imp"
_imp_SPACE();
                                                                //    726                  p = 1
#line 726 "regression-compile-tmp/pass1.imp"
P = 1;
                                                                //    727                  %cycle
#line 727 "regression-compile-tmp/pass1.imp"
L_001e:;
                                                                //    728                      printsymbol(marker) %if p = pos1
#line 728 "regression-compile-tmp/pass1.imp"
if (((P) != (POS1))) goto L_0021;
#line 728 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(94);
#line 728 "regression-compile-tmp/pass1.imp"
L_0021:;
                                                                //    729                      %exit %if p = pos
#line 729 "regression-compile-tmp/pass1.imp"
if (((P) != (POS))) goto L_0022;
#line 729 "regression-compile-tmp/pass1.imp"
goto L_001f;
#line 729 "regression-compile-tmp/pass1.imp"
L_0022:;
                                                                //    730                      s = char(p);  p = p+1
#line 730 "regression-compile-tmp/pass1.imp"
S = CHAR[P];
#line 730 "regression-compile-tmp/pass1.imp"
P = (((int)(P)) + (1));
                                                                //    731                      %exit %if s = nl %or (s='%' %and p = pos)
#line 731 "regression-compile-tmp/pass1.imp"
if (((S) == (10))) goto L_0023;
#line 731 "regression-compile-tmp/pass1.imp"
if (((S) != (37))) goto L_0024;
#line 731 "regression-compile-tmp/pass1.imp"
if (((P) != (POS))) goto L_0024;
#line 731 "regression-compile-tmp/pass1.imp"
L_0023:;
#line 731 "regression-compile-tmp/pass1.imp"
goto L_001f;
#line 731 "regression-compile-tmp/pass1.imp"
L_0024:;
                                                                //    732                      %if s < ' ' %start;         !beware of tabs
#line 732 "regression-compile-tmp/pass1.imp"
if (((S) >= (32))) goto L_0025;
                                                                //    733                          %if s = ff %then s = nl %else s = ' '
#line 733 "regression-compile-tmp/pass1.imp"
if (((S) != (12))) goto L_0026;
#line 733 "regression-compile-tmp/pass1.imp"
S = 10;
#line 733 "regression-compile-tmp/pass1.imp"
goto L_0027;
#line 733 "regression-compile-tmp/pass1.imp"
L_0026:;
#line 733 "regression-compile-tmp/pass1.imp"
S = 32;
#line 733 "regression-compile-tmp/pass1.imp"
L_0027:;
                                                                //    734                      %finish
#line 734 "regression-compile-tmp/pass1.imp"
L_0025:;
                                                                //    735                      printsymbol(s)
#line 735 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(S);
                                                                //    736                  %repeat
#line 736 "regression-compile-tmp/pass1.imp"
goto L_001e;
#line 736 "regression-compile-tmp/pass1.imp"
L_001f:;
                                                                //    737                  pos = 0 %if list <= 0
#line 737 "regression-compile-tmp/pass1.imp"
if (((LIST) > (0))) goto L_0028;
#line 737 "regression-compile-tmp/pass1.imp"
POS = 0;
#line 737 "regression-compile-tmp/pass1.imp"
L_0028:;
                                                                //    738              %end
#line 738 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRINTSS at level 4
                                                                //    739  
                                                                //    740              pos1 = pos2 %if pos2 > pos1
#line 740 "regression-compile-tmp/pass1.imp"
if (((POS2) <= (POS1))) goto L_0029;
#line 740 "regression-compile-tmp/pass1.imp"
POS1 = POS2;
#line 740 "regression-compile-tmp/pass1.imp"
L_0029:;
                                                                //    741              newline %if sym # nl
#line 741 "regression-compile-tmp/pass1.imp"
if (((SYM) == (10))) goto L_002a;
#line 741 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
#line 741 "regression-compile-tmp/pass1.imp"
L_002a:;
                                                                //    742              st = report
#line 742 "regression-compile-tmp/pass1.imp"
ST = 0;
                                                                //    743              st = listing %if n = -3;              !don't report unused on the console
#line 743 "regression-compile-tmp/pass1.imp"
if (((N) != ((-3)))) goto L_002b;
#line 743 "regression-compile-tmp/pass1.imp"
ST = 2;
#line 743 "regression-compile-tmp/pass1.imp"
L_002b:;
                                                                //    744              %cycle
#line 744 "regression-compile-tmp/pass1.imp"
L_002c:;
                                                                //    745                  select output(st)
#line 745 "regression-compile-tmp/pass1.imp"
_imp_SELECTOUTPUT(ST);
                                                                //    746                  %if n < 0 %then printsymbol('?') %and pos1 = 0 %else printsymbol('*')
#line 746 "regression-compile-tmp/pass1.imp"
if (((N) >= (0))) goto L_002f;
#line 746 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(63);
#line 746 "regression-compile-tmp/pass1.imp"
POS1 = 0;
#line 746 "regression-compile-tmp/pass1.imp"
goto L_0030;
#line 746 "regression-compile-tmp/pass1.imp"
L_002f:;
#line 746 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(42);
#line 746 "regression-compile-tmp/pass1.imp"
L_0030:;
                                                                //    747                  %if st # report %start
#line 747 "regression-compile-tmp/pass1.imp"
if (((ST) == (0))) goto L_0031;
                                                                //    748                      %if list <= 0 %and pos1 # 0 %start
#line 748 "regression-compile-tmp/pass1.imp"
if (((LIST) > (0))) goto L_0032;
#line 748 "regression-compile-tmp/pass1.imp"
if (((POS1) == (0))) goto L_0032;
                                                                //    749                          spaces(pos1+margin);  printstring("      ! ")
#line 749 "regression-compile-tmp/pass1.imp"
_imp_SPACES((((int)(POS1)) + (MARGIN)));
#line 749 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("      ! "));
                                                                //    750                      %finish
#line 750 "regression-compile-tmp/pass1.imp"
L_0032:;
                                                                //    751                  %finish %else %start
#line 751 "regression-compile-tmp/pass1.imp"
goto L_0033;
#line 751 "regression-compile-tmp/pass1.imp"
L_0031:;
                                                                //    752                      printstring(include file) %if include # 0
#line 752 "regression-compile-tmp/pass1.imp"
if (((INCLUDE) == (0))) goto L_0034;
#line 752 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(INCLUDEFILE);
#line 752 "regression-compile-tmp/pass1.imp"
L_0034:;
                                                                //    753                      write(lines, 4);  printsymbol(csym);  space
#line 753 "regression-compile-tmp/pass1.imp"
_imp_WRITE(LINES, 4);
#line 753 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(CSYM);
#line 753 "regression-compile-tmp/pass1.imp"
_imp_SPACE();
                                                                //    754                  %finish
#line 754 "regression-compile-tmp/pass1.imp"
L_0033:;
                                                                //    755                  ->fm(n) %if -5 <= n %and n <= 22
#line 755 "regression-compile-tmp/pass1.imp"
if ((((-5)) > (N))) goto L_0035;
#line 755 "regression-compile-tmp/pass1.imp"
if (((N) > (22))) goto L_0035;
#line 755 "regression-compile-tmp/pass1.imp"
sw2_FM_idx = N; if ((-5 <= sw2_FM_idx) && (sw2_FM_idx <= 22)) goto *(sw2_FM+5)[sw2_FM_idx];  /* Bounds=-5:22 */ else {
   /*_imp_signal(8, 2, sw2_FM_idx);*/
   fprintf(stderr, "%%SWITCH index FM(%d) not in range -5:22 at %s:%d\n",
           sw2_FM_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
#line 755 "regression-compile-tmp/pass1.imp"
L_0035:;
                                                                //    756                  printstring("fault");  write(n, 2);              ->ps
#line 756 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("fault"));
#line 756 "regression-compile-tmp/pass1.imp"
_imp_WRITE(N, 2);
#line 756 "regression-compile-tmp/pass1.imp"
goto U_1001;
                                                                //    757  
                                                                //    758  fm(-5):         printstring("Dubious statement");  dubious = 0;        ->psd
#line 758 "regression-compile-tmp/pass1.imp"
sw2_FM_M_5:;
#line 758 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("Dubious statement"));
#line 758 "regression-compile-tmp/pass1.imp"
DUBIOUS = 0;
#line 758 "regression-compile-tmp/pass1.imp"
goto U_1002;
                                                                //    759  fm(-4):         printstring("Non-local")
#line 759 "regression-compile-tmp/pass1.imp"
sw2_FM_M_4:;
#line 759 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("Non-local"));
                                                                //    760                  pos1 = for warn;  for warn = 0;                        ->ps
#line 760 "regression-compile-tmp/pass1.imp"
POS1 = FORWARN;
#line 760 "regression-compile-tmp/pass1.imp"
FORWARN = 0;
#line 760 "regression-compile-tmp/pass1.imp"
goto U_1001;
                                                                //    761  fm(-3):         print ident(x, 0);  printstring(" unused");            ->nps
#line 761 "regression-compile-tmp/pass1.imp"
sw2_FM_M_3:;
#line 761 "regression-compile-tmp/pass1.imp"
PRINTIDENT(X, 0);
#line 761 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal(" unused"));
#line 761 "regression-compile-tmp/pass1.imp"
goto U_1003;
                                                                //    762  fm(-2):         printstring("""}""");                                  ->miss
#line 762 "regression-compile-tmp/pass1.imp"
sw2_FM_M_2:;
#line 762 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("\"}\""));
#line 762 "regression-compile-tmp/pass1.imp"
goto U_1004;
                                                                //    763  fm(-1):         printstring("access");                                 ->psd
#line 763 "regression-compile-tmp/pass1.imp"
sw2_FM_M_1:;
#line 763 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("access"));
#line 763 "regression-compile-tmp/pass1.imp"
goto U_1002;
                                                                //    764  fm(0):          printstring("form");                                   ->ps
#line 764 "regression-compile-tmp/pass1.imp"
sw2_FM_0:;
#line 764 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("form"));
#line 764 "regression-compile-tmp/pass1.imp"
goto U_1001;
                                                                //    765  fm(1):          printstring("atom");                                   ->ps
#line 765 "regression-compile-tmp/pass1.imp"
sw2_FM_1:;
#line 765 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("atom"));
#line 765 "regression-compile-tmp/pass1.imp"
goto U_1001;
                                                                //    766  fm(2):          printstring("not declared");                           ->ps
#line 766 "regression-compile-tmp/pass1.imp"
sw2_FM_2:;
#line 766 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("not declared"));
#line 766 "regression-compile-tmp/pass1.imp"
goto U_1001;
                                                                //    767  fm(3):          printstring("too complex");                            ->ps
#line 767 "regression-compile-tmp/pass1.imp"
sw2_FM_3:;
#line 767 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("too complex"));
#line 767 "regression-compile-tmp/pass1.imp"
goto U_1001;
                                                                //    768  fm(4):          printstring("duplicate ");  Print Ident(x, 0);         ->ps
#line 768 "regression-compile-tmp/pass1.imp"
sw2_FM_4:;
#line 768 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("duplicate "));
#line 768 "regression-compile-tmp/pass1.imp"
PRINTIDENT(X, 0);
#line 768 "regression-compile-tmp/pass1.imp"
goto U_1001;
                                                                //    769  fm(5):          printstring("type");                                   ->ps
#line 769 "regression-compile-tmp/pass1.imp"
sw2_FM_5:;
#line 769 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("type"));
#line 769 "regression-compile-tmp/pass1.imp"
goto U_1001;
                                                                //    770  fm(6):          printstring("match");                                  ->psd
#line 770 "regression-compile-tmp/pass1.imp"
sw2_FM_6:;
#line 770 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("match"));
#line 770 "regression-compile-tmp/pass1.imp"
goto U_1002;
                                                                //    771  fm(7):          printstring("context");                                ->psd
#line 771 "regression-compile-tmp/pass1.imp"
sw2_FM_7:;
#line 771 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("context"));
#line 771 "regression-compile-tmp/pass1.imp"
goto U_1002;
                                                                //    772  fm(8):          printstring("%cycle");                                 ->miss
#line 772 "regression-compile-tmp/pass1.imp"
sw2_FM_8:;
#line 772 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("%cycle"));
#line 772 "regression-compile-tmp/pass1.imp"
goto U_1004;
                                                                //    773  fm(9):          printstring("%start");                                 ->miss
#line 773 "regression-compile-tmp/pass1.imp"
sw2_FM_9:;
#line 773 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("%start"));
#line 773 "regression-compile-tmp/pass1.imp"
goto U_1004;
                                                                //    774  fm(10):         printstring("size");  write(lit, 1) %if pos1 = 0;      ->ps
#line 774 "regression-compile-tmp/pass1.imp"
sw2_FM_10:;
#line 774 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("size"));
#line 774 "regression-compile-tmp/pass1.imp"
if (((POS1) != (0))) goto L_0036;
#line 774 "regression-compile-tmp/pass1.imp"
_imp_WRITE(LIT, 1);
#line 774 "regression-compile-tmp/pass1.imp"
L_0036:;
#line 774 "regression-compile-tmp/pass1.imp"
goto U_1001;
                                                                //    775  fm(11):         printstring("bounds")
#line 775 "regression-compile-tmp/pass1.imp"
sw2_FM_11:;
#line 775 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("bounds"));
                                                                //    776                  write(ocount, 1) %unless ocount < 0;                   ->ps
#line 776 "regression-compile-tmp/pass1.imp"
if (((OCOUNT) < (0))) goto L_0037;
#line 776 "regression-compile-tmp/pass1.imp"
_imp_WRITE(OCOUNT, 1);
#line 776 "regression-compile-tmp/pass1.imp"
L_0037:;
#line 776 "regression-compile-tmp/pass1.imp"
goto U_1001;
                                                                //    777  fm(12):         printstring("index");                                  ->ps
#line 777 "regression-compile-tmp/pass1.imp"
sw2_FM_12:;
#line 777 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("index"));
#line 777 "regression-compile-tmp/pass1.imp"
goto U_1001;
                                                                //    778  fm(13):         printstring("order");                                  ->psd
#line 778 "regression-compile-tmp/pass1.imp"
sw2_FM_13:;
#line 778 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("order"));
#line 778 "regression-compile-tmp/pass1.imp"
goto U_1002;
                                                                //    779  fm(14):         printstring("not a location");                         ->ps
#line 779 "regression-compile-tmp/pass1.imp"
sw2_FM_14:;
#line 779 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("not a location"));
#line 779 "regression-compile-tmp/pass1.imp"
goto U_1001;
                                                                //    780  fm(15):         printstring("%begin");                                 ->miss
#line 780 "regression-compile-tmp/pass1.imp"
sw2_FM_15:;
#line 780 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("%begin"));
#line 780 "regression-compile-tmp/pass1.imp"
goto U_1004;
                                                                //    781  fm(16):         printstring("%end");                                   ->miss
#line 781 "regression-compile-tmp/pass1.imp"
sw2_FM_16:;
#line 781 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("%end"));
#line 781 "regression-compile-tmp/pass1.imp"
goto U_1004;
                                                                //    782  fm(17):         printstring("%repeat");                                ->miss
#line 782 "regression-compile-tmp/pass1.imp"
sw2_FM_17:;
#line 782 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("%repeat"));
#line 782 "regression-compile-tmp/pass1.imp"
goto U_1004;
                                                                //    783  fm(18):         printstring("%finish");                                ->miss
#line 783 "regression-compile-tmp/pass1.imp"
sw2_FM_18:;
#line 783 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("%finish"));
#line 783 "regression-compile-tmp/pass1.imp"
goto U_1004;
                                                                //    784  fm(19):         printstring("result");                                 ->miss
#line 784 "regression-compile-tmp/pass1.imp"
sw2_FM_19:;
#line 784 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("result"));
#line 784 "regression-compile-tmp/pass1.imp"
goto U_1004;
                                                                //    785  fm(20):         printsymbol('"'); print ident(x, 0); printsymbol('"'); ->miss
#line 785 "regression-compile-tmp/pass1.imp"
sw2_FM_20:;
#line 785 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(34);
#line 785 "regression-compile-tmp/pass1.imp"
PRINTIDENT(X, 0);
#line 785 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(34);
#line 785 "regression-compile-tmp/pass1.imp"
goto U_1004;
                                                                //    786  fm(21):         printstring("context ");  print ident(this, 0);        ->ps
#line 786 "regression-compile-tmp/pass1.imp"
sw2_FM_21:;
#line 786 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("context "));
#line 786 "regression-compile-tmp/pass1.imp"
PRINTIDENT(THIS, 0);
#line 786 "regression-compile-tmp/pass1.imp"
goto U_1001;
                                                                //    787  fm(22):         printstring("format");                                 ->ps
#line 787 "regression-compile-tmp/pass1.imp"
sw2_FM_22:;
#line 787 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("format"));
#line 787 "regression-compile-tmp/pass1.imp"
goto U_1001;
                                                                //    788  
                                                                //    789  miss:           printstring(" missing");                               ->nps
#line 789 "regression-compile-tmp/pass1.imp"
U_1004:;
#line 789 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal(" missing"));
#line 789 "regression-compile-tmp/pass1.imp"
goto U_1003;
                                                                //    790  psd:            pos1 = 0
#line 790 "regression-compile-tmp/pass1.imp"
U_1002:;
#line 790 "regression-compile-tmp/pass1.imp"
POS1 = 0;
                                                                //    791  ps:             print ss
#line 791 "regression-compile-tmp/pass1.imp"
U_1001:;
#line 791 "regression-compile-tmp/pass1.imp"
PRINTSS();
                                                                //    792  nps:            newline
#line 792 "regression-compile-tmp/pass1.imp"
U_1003:;
#line 792 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
                                                                //    793                  %exit %if st = listing
#line 793 "regression-compile-tmp/pass1.imp"
if (((ST) != (2))) goto L_0038;
#line 793 "regression-compile-tmp/pass1.imp"
goto L_002d;
#line 793 "regression-compile-tmp/pass1.imp"
L_0038:;
                                                                //    794                  st = listing
#line 794 "regression-compile-tmp/pass1.imp"
ST = 2;
                                                                //    795              %repeat
#line 795 "regression-compile-tmp/pass1.imp"
goto L_002c;
#line 795 "regression-compile-tmp/pass1.imp"
L_002d:;
                                                                //    796              %if n >= 0 %start
#line 796 "regression-compile-tmp/pass1.imp"
if (((N) < (0))) goto L_0039;
                                                                //    797                  !%signal 15,15 %if diag&4096 # 0
                                                                //    798                  %if n # 13 %start;           !order is fairly safe
#line 798 "regression-compile-tmp/pass1.imp"
if (((N) == (13))) goto L_003a;
                                                                //    799                      ocount = -1
#line 799 "regression-compile-tmp/pass1.imp"
OCOUNT = (-1);
                                                                //    800                      gg = 0
#line 800 "regression-compile-tmp/pass1.imp"
GG = 0;
                                                                //    801                      copy = 0;  quote = 0
#line 801 "regression-compile-tmp/pass1.imp"
COPY = 0;
#line 801 "regression-compile-tmp/pass1.imp"
QUOTE = 0;
                                                                //    802                      search base = 0;  escape class = 0
#line 802 "regression-compile-tmp/pass1.imp"
SEARCHBASE = 0;
#line 802 "regression-compile-tmp/pass1.imp"
ESCAPECLASS = 0;
                                                                //    803                      gg = 0
#line 803 "regression-compile-tmp/pass1.imp"
GG = 0;
                                                                //    804                  %finish
#line 804 "regression-compile-tmp/pass1.imp"
L_003a:;
                                                                //    805                  faulty = faulty+1
#line 805 "regression-compile-tmp/pass1.imp"
FAULTY = (((int)(FAULTY)) + (1));
                                                                //    806     
                                                                //    807                  !check that there haven't been too many faults
                                                                //    808     
                                                                //    809                  fault rate = fault rate+3;  abandon(6) %if fault rate > 30
#line 809 "regression-compile-tmp/pass1.imp"
FAULTRATE = (((int)(FAULTRATE)) + (3));
#line 809 "regression-compile-tmp/pass1.imp"
if (((FAULTRATE) <= (30))) goto L_003b;
#line 809 "regression-compile-tmp/pass1.imp"
ABANDON(6);
#line 809 "regression-compile-tmp/pass1.imp"
L_003b:;
                                                                //    810                  fault rate = 3 %if fault rate <= 0
#line 810 "regression-compile-tmp/pass1.imp"
if (((FAULTRATE) > (0))) goto L_003c;
#line 810 "regression-compile-tmp/pass1.imp"
FAULTRATE = 3;
#line 810 "regression-compile-tmp/pass1.imp"
L_003c:;
                                                                //    811              %finish
#line 811 "regression-compile-tmp/pass1.imp"
L_0039:;
                                                                //    812              tbase = tstart
#line 812 "regression-compile-tmp/pass1.imp"
TBASE = TSTART;
                                                                //    813              %if list <= 0 %and sym # nl %start
#line 813 "regression-compile-tmp/pass1.imp"
if (((LIST) > (0))) goto L_003d;
#line 813 "regression-compile-tmp/pass1.imp"
if (((SYM) == (10))) goto L_003d;
                                                                //    814                  error margin = column
#line 814 "regression-compile-tmp/pass1.imp"
ERRORMARGIN = COLUMN;
                                                                //    815                  error sym = sym;  sym = nl
#line 815 "regression-compile-tmp/pass1.imp"
ERRORSYM = SYM;
#line 815 "regression-compile-tmp/pass1.imp"
SYM = 10;
                                                                //    816              %finish
#line 816 "regression-compile-tmp/pass1.imp"
L_003d:;
                                                                //    817          %end
#line 817 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FAULT at level 3
                                                                //    818  
                                                                //    819          dmin = dmin-1;  dict(dmin) = -1;            !end marker for starts & cycles
#line 819 "regression-compile-tmp/pass1.imp"
DMIN = (((int)(DMIN)) - (1));
#line 819 "regression-compile-tmp/pass1.imp"
DICT[(((int)(DMIN)) - (1))] = (-1);
                                                                //    820          abandon(2) %if dmax = dmin
#line 820 "regression-compile-tmp/pass1.imp"
if (((DMAX) != (DMIN))) goto L_003e;
#line 820 "regression-compile-tmp/pass1.imp"
ABANDON(2);
#line 820 "regression-compile-tmp/pass1.imp"
L_003e:;
                                                                //    821  
                                                                //    822          %if list > 0 %and level > 0 %start
#line 822 "regression-compile-tmp/pass1.imp"
if (((LIST) <= (0))) goto L_003f;
#line 822 "regression-compile-tmp/pass1.imp"
if (((LEVEL) <= (0))) goto L_003f;
                                                                //    823              write(lines, 5);  spaces(level*3-1)
#line 823 "regression-compile-tmp/pass1.imp"
_imp_WRITE(LINES, 5);
#line 823 "regression-compile-tmp/pass1.imp"
_imp_SPACES((((int)((((int)(LEVEL)) * (3)))) - (1)));
                                                                //    824              %if block tag = 0 %start
#line 824 "regression-compile-tmp/pass1.imp"
if (((BLOCKTAG) != (0))) goto L_0040;
                                                                //    825                  printstring("Begin")
#line 825 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("Begin"));
                                                                //    826              %finish %else %start
#line 826 "regression-compile-tmp/pass1.imp"
goto L_0041;
#line 826 "regression-compile-tmp/pass1.imp"
L_0040:;
                                                                //    827                  printstring("Procedure ");  print ident(block tag, 0)
#line 827 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("Procedure "));
#line 827 "regression-compile-tmp/pass1.imp"
PRINTIDENT(BLOCKTAG, 0);
                                                                //    828              %finish
#line 828 "regression-compile-tmp/pass1.imp"
L_0041:;
                                                                //    829              newline
#line 829 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
                                                                //    830          %finish
#line 830 "regression-compile-tmp/pass1.imp"
L_003f:;
                                                                //    831  
                                                                //    832          !deal with procedure definition (parameters)
                                                                //    833          %if block tag # 0 %start;                   !proc
#line 833 "regression-compile-tmp/pass1.imp"
if (((BLOCKTAG) == (0))) goto L_0042;
                                                                //    834              analyse;  compile %if ss # 0
#line 834 "regression-compile-tmp/pass1.imp"
ANALYSE();
#line 834 "regression-compile-tmp/pass1.imp"
if (((SS) == (0))) goto L_0043;
#line 834 "regression-compile-tmp/pass1.imp"
COMPILE();
#line 834 "regression-compile-tmp/pass1.imp"
L_0043:;
                                                                //    835  
                                                                //    836              %if block otype # 0 %start;              !external-ish
#line 836 "regression-compile-tmp/pass1.imp"
if (((BLOCKOTYPE) == (0))) goto L_0044;
                                                                //    837                  %if bflags&spec = 0 %start;           !definition
#line 837 "regression-compile-tmp/pass1.imp"
if (((((*BFLAGS) & (128))) != (0))) goto L_0045;
                                                                //    838                      %if progmode <= 0 %and level = 1 %then progmode = -1 %else fault(7)
#line 838 "regression-compile-tmp/pass1.imp"
if (((PROGMODE) > (0))) goto L_0046;
#line 838 "regression-compile-tmp/pass1.imp"
if (((LEVEL) != (1))) goto L_0046;
#line 838 "regression-compile-tmp/pass1.imp"
PROGMODE = (-1);
#line 838 "regression-compile-tmp/pass1.imp"
goto L_0047;
#line 838 "regression-compile-tmp/pass1.imp"
L_0046:;
#line 838 "regression-compile-tmp/pass1.imp"
FAULT(7);
#line 838 "regression-compile-tmp/pass1.imp"
L_0047:;
                                                                //    839                  %finish
#line 839 "regression-compile-tmp/pass1.imp"
L_0045:;
                                                                //    840              %finish
#line 840 "regression-compile-tmp/pass1.imp"
L_0044:;
                                                                //    841  
                                                                //    842              new app = gapp;                          !generate app grammar
#line 842 "regression-compile-tmp/pass1.imp"
NEWAPP = GAPP();
                                                                //    843              %if spec given # 0 %start;               !definition after spec
#line 843 "regression-compile-tmp/pass1.imp"
if (((SPECGIVEN) == (0))) goto L_0048;
                                                                //    844                  fault(6) %if new app # block app;     !different from spec
#line 844 "regression-compile-tmp/pass1.imp"
if (((NEWAPP) == (*BLOCKAPP))) goto L_0049;
#line 844 "regression-compile-tmp/pass1.imp"
FAULT(6);
#line 844 "regression-compile-tmp/pass1.imp"
L_0049:;
                                                                //    845              %finish
#line 845 "regression-compile-tmp/pass1.imp"
L_0048:;
                                                                //    846              block app = new app;                     !use the latest
#line 846 "regression-compile-tmp/pass1.imp"
*BLOCKAPP = NEWAPP;
                                                                //    847  
                                                                //    848              %if level < 0 %start;                    !not procedure definition
#line 848 "regression-compile-tmp/pass1.imp"
if (((LEVEL) >= (0))) goto L_004a;
                                                                //    849                  delete names(0)
#line 849 "regression-compile-tmp/pass1.imp"
DELETENAMES(0);
                                                                //    850                  %return
#line 850 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    851              %finish
#line 851 "regression-compile-tmp/pass1.imp"
L_004a:;
                                                                //    852          %finish %else %start
#line 852 "regression-compile-tmp/pass1.imp"
goto L_004b;
#line 852 "regression-compile-tmp/pass1.imp"
L_0042:;
                                                                //    853              open = 0;                                !can return from a block?
#line 853 "regression-compile-tmp/pass1.imp"
OPEN = 0;
                                                                //    854          %finish
#line 854 "regression-compile-tmp/pass1.imp"
L_004b:;
                                                                //    855  
                                                                //    856          %cycle
#line 856 "regression-compile-tmp/pass1.imp"
L_004c:;
                                                                //    857              analyse
#line 857 "regression-compile-tmp/pass1.imp"
ANALYSE();
                                                                //    858              %if ss # 0 %start
#line 858 "regression-compile-tmp/pass1.imp"
if (((SS) == (0))) goto L_004f;
                                                                //    859                  compile
#line 859 "regression-compile-tmp/pass1.imp"
COMPILE();
                                                                //    860                  fault(-5) %if dubious # 0
#line 860 "regression-compile-tmp/pass1.imp"
if (((DUBIOUS) == (0))) goto L_0050;
#line 860 "regression-compile-tmp/pass1.imp"
FAULT((-5));
#line 860 "regression-compile-tmp/pass1.imp"
L_0050:;
                                                                //    861                  flush buffer( 128 )                    ;! flush if bp >= 128
#line 861 "regression-compile-tmp/pass1.imp"
FLUSHBUFFER(128);
                                                                //    862                  %if sstype > 0 %start;                 !block in or out
#line 862 "regression-compile-tmp/pass1.imp"
if (((SSTYPE) <= (0))) goto L_0051;
                                                                //    863                      %exit %if sstype = 2;               !out
#line 863 "regression-compile-tmp/pass1.imp"
if (((SSTYPE) != (2))) goto L_0052;
#line 863 "regression-compile-tmp/pass1.imp"
goto L_004d;
#line 863 "regression-compile-tmp/pass1.imp"
L_0052:;
                                                                //    864                      compile block(spec mode, block x, dmin, tmax, id)
#line 864 "regression-compile-tmp/pass1.imp"
COMPILEBLOCK(SPECMODE, BLOCKX, DMIN, TMAX, ID);
                                                                //    865                      %exit %if ss < 0;                   !endofprogram
#line 865 "regression-compile-tmp/pass1.imp"
if (((SS) >= (0))) goto L_0053;
#line 865 "regression-compile-tmp/pass1.imp"
goto L_004d;
#line 865 "regression-compile-tmp/pass1.imp"
L_0053:;
                                                                //    866                  %finish
#line 866 "regression-compile-tmp/pass1.imp"
L_0051:;
                                                                //    867              %finish
#line 867 "regression-compile-tmp/pass1.imp"
L_004f:;
                                                                //    868          %repeat
#line 868 "regression-compile-tmp/pass1.imp"
goto L_004c;
#line 868 "regression-compile-tmp/pass1.imp"
L_004d:;
                                                                //    869          %if list > 0 %and level > 0 %start
#line 869 "regression-compile-tmp/pass1.imp"
if (((LIST) <= (0))) goto L_0054;
#line 869 "regression-compile-tmp/pass1.imp"
if (((LEVEL) <= (0))) goto L_0054;
                                                                //    870              write(lines, 5);  spaces(level*3-1)
#line 870 "regression-compile-tmp/pass1.imp"
_imp_WRITE(LINES, 5);
#line 870 "regression-compile-tmp/pass1.imp"
_imp_SPACES((((int)((((int)(LEVEL)) * (3)))) - (1)));
                                                                //    871              printstring("End")
#line 871 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("End"));
                                                                //    872              newline
#line 872 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
                                                                //    873          %finish
#line 873 "regression-compile-tmp/pass1.imp"
L_0054:;
                                                                //    874          delete names(0)
#line 874 "regression-compile-tmp/pass1.imp"
DELETENAMES(0);
                                                                //    875          %return
#line 875 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    876  
                                                                //    877          ! generate app grammar (backwards)
                                                                //    878          %integerfn gapp
#line 878 "regression-compile-tmp/pass1.imp"
int GAPP( void )
#line 878 "regression-compile-tmp/pass1.imp"
{
                                                                //    879              %constinteger comma = 140;               !psep
                                                                //    880              %routinespec set cell(%integer g, tt)
#line 880 "regression-compile-tmp/pass1.imp"
auto void SETCELL( int G, int TT );
                                                                //    881              %routinespec class(%record(tagfm)%name v)
#line 881 "regression-compile-tmp/pass1.imp"
auto void CLASS(  TAGFM /*name*/*V );
                                                                //    882              %record(tagfm)%name v
#line 882 "regression-compile-tmp/pass1.imp"
 TAGFM /*name*/*V;
                                                                //    883              %integer p, link, tp, c, ap, t
#line 883 "regression-compile-tmp/pass1.imp"
int P;
#line 883 "regression-compile-tmp/pass1.imp"
int LINK;
#line 883 "regression-compile-tmp/pass1.imp"
int TP;
#line 883 "regression-compile-tmp/pass1.imp"
int C;
#line 883 "regression-compile-tmp/pass1.imp"
int AP;
#line 883 "regression-compile-tmp/pass1.imp"
int T;
                                                                //    884  
                                                                //    885              %result = 0 %if tmax = local;            !no app needed
#line 885 "regression-compile-tmp/pass1.imp"
if (((TMAX) != (LOCAL))) goto L_0055;
#line 885 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 885 "regression-compile-tmp/pass1.imp"
L_0055:;
                                                                //    886  
                                                                //    887              p = gmax1;  link = 0;  t = tmax
#line 887 "regression-compile-tmp/pass1.imp"
P = 719;
#line 887 "regression-compile-tmp/pass1.imp"
LINK = 0;
#line 887 "regression-compile-tmp/pass1.imp"
T = TMAX;
                                                                //    888  
                                                                //    889              %cycle
#line 889 "regression-compile-tmp/pass1.imp"
L_0056:;
                                                                //    890                  v == tag(t);  t = t-1
#line 890 "regression-compile-tmp/pass1.imp"
V = &TAG[T];
#line 890 "regression-compile-tmp/pass1.imp"
T = (((int)(T)) - (1));
                                                                //    891                  class(v);                             ! deduce class from tag
#line 891 "regression-compile-tmp/pass1.imp"
CLASS(V);
                                                                //    892                  %if c < 0 %start;                     ! insert %PARAM
#line 892 "regression-compile-tmp/pass1.imp"
if (((C) >= (0))) goto L_0059;
                                                                //    893                      c = -c
#line 893 "regression-compile-tmp/pass1.imp"
C = (-(C));
                                                                //    894                      set cell(196, tp)
#line 894 "regression-compile-tmp/pass1.imp"
SETCELL(196, TP);
                                                                //    895                      tp = -1
#line 895 "regression-compile-tmp/pass1.imp"
TP = (-1);
                                                                //    896                  %finish
#line 896 "regression-compile-tmp/pass1.imp"
L_0059:;
                                                                //    897                  set cell(c, tp)
#line 897 "regression-compile-tmp/pass1.imp"
SETCELL(C, TP);
                                                                //    898                  %exit %if t = local;                  ! end of parameters
#line 898 "regression-compile-tmp/pass1.imp"
if (((T) != (LOCAL))) goto L_005a;
#line 898 "regression-compile-tmp/pass1.imp"
goto L_0057;
#line 898 "regression-compile-tmp/pass1.imp"
L_005a:;
                                                                //    899                  set cell(comma, -1);                  ! add the separating comma
#line 899 "regression-compile-tmp/pass1.imp"
SETCELL(140, (-1));
                                                                //    900              %repeat
#line 900 "regression-compile-tmp/pass1.imp"
goto L_0056;
#line 900 "regression-compile-tmp/pass1.imp"
L_0057:;
                                                                //    901              abandon(3) %if gmax > gmin
#line 901 "regression-compile-tmp/pass1.imp"
if (((GMAX) <= (GMIN))) goto L_005b;
#line 901 "regression-compile-tmp/pass1.imp"
ABANDON(3);
#line 901 "regression-compile-tmp/pass1.imp"
L_005b:;
                                                                //    902  
                                                                //    903              %result = link
#line 903 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return LINK;
                                                                //    904  
                                                                //    905              %routine set cell(%integer g, tt)
#line 905 "regression-compile-tmp/pass1.imp"
void SETCELL( int G, int TT )
#line 905 "regression-compile-tmp/pass1.imp"
{
                                                                //    906                  ! add the cell to the grammar, combining common tails
                                                                //    907                  %while p # gmax %cycle
#line 907 "regression-compile-tmp/pass1.imp"
L_005c:;
#line 907 "regression-compile-tmp/pass1.imp"
if (((P) == (GMAX))) goto L_005d;
                                                                //    908                      p = p+1
#line 908 "regression-compile-tmp/pass1.imp"
P = (((int)(P)) + (1));
                                                                //    909                      %if glink(p) = link %and gram(p) = g %start
#line 909 "regression-compile-tmp/pass1.imp"
if (((GLINK[P]) != (LINK))) goto L_005f;
#line 909 "regression-compile-tmp/pass1.imp"
if (((GRAM[P]) != (G))) goto L_005f;
                                                                //    910                          %if tt < 0 %or (gram(p+1) = tt %and glink(p+1)=ap) %start
#line 910 "regression-compile-tmp/pass1.imp"
if (((TT) < (0))) goto L_0006;
#line 910 "regression-compile-tmp/pass1.imp"
if (((GRAM[(((int)(P)) + (1))]) != (TT))) goto L_0060;
#line 910 "regression-compile-tmp/pass1.imp"
if (((GLINK[(((int)(P)) + (1))]) != (AP))) goto L_0060;
#line 910 "regression-compile-tmp/pass1.imp"
L_0006:;
                                                                //    911                              link = p;                    ! already there
#line 911 "regression-compile-tmp/pass1.imp"
LINK = P;
                                                                //    912                              %return
#line 912 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //    913                          %finish
#line 913 "regression-compile-tmp/pass1.imp"
L_0060:;
                                                                //    914                      %finish
#line 914 "regression-compile-tmp/pass1.imp"
L_005f:;
                                                                //    915                  %repeat
#line 915 "regression-compile-tmp/pass1.imp"
goto L_005c;
#line 915 "regression-compile-tmp/pass1.imp"
L_005d:;
                                                                //    916  
                                                                //    917                  !add a new cell
                                                                //    918                  gmax = gmax+1
#line 918 "regression-compile-tmp/pass1.imp"
GMAX = (((int)(GMAX)) + (1));
                                                                //    919                  gram(gmax) = g
#line 919 "regression-compile-tmp/pass1.imp"
GRAM[GMAX] = G;
                                                                //    920                  glink(gmax) = link
#line 920 "regression-compile-tmp/pass1.imp"
GLINK[GMAX] = LINK;
                                                                //    921                  link = gmax
#line 921 "regression-compile-tmp/pass1.imp"
LINK = GMAX;
                                                                //    922  
                                                                //    923                  %if tt >= 0 %start;             ! set type cell
#line 923 "regression-compile-tmp/pass1.imp"
if (((TT) < (0))) goto L_0061;
                                                                //    924                      gmax = gmax+1
#line 924 "regression-compile-tmp/pass1.imp"
GMAX = (((int)(GMAX)) + (1));
                                                                //    925                      gram(gmax) = tt
#line 925 "regression-compile-tmp/pass1.imp"
GRAM[GMAX] = TT;
                                                                //    926                      glink(gmax) = ap
#line 926 "regression-compile-tmp/pass1.imp"
GLINK[GMAX] = AP;
                                                                //    927                  %finish
#line 927 "regression-compile-tmp/pass1.imp"
L_0061:;
                                                                //    928                  p = gmax
#line 928 "regression-compile-tmp/pass1.imp"
P = GMAX;
                                                                //    929  
                                                                //    930              %end
#line 930 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETCELL at level 4
                                                                //    931  
                                                                //    932              %routine class(%record(tagfm)%name v)
#line 932 "regression-compile-tmp/pass1.imp"
void CLASS(  TAGFM /*name*/*V )
#line 932 "regression-compile-tmp/pass1.imp"
{
                                                                //    933                  %constinteger err    = 89
                                                                //    934                  %constinteger rtp    = 100
                                                                //    935                  %constinteger fnp    = 101
                                                                //    936                  %constinteger mapp   = 102
                                                                //    937                  %constinteger predp  = 103
                                                                //    938                  %constintegerarray class map(0:15) = %c
#line 938 "regression-compile-tmp/pass1.imp"
const int CLASSMAP[16] = { 89, 1764, 247, 89, 89, 89, 89, (-100), (-101), (-102), (-103), 89, 214, 89, 229, 89,  };
                                                                //    939                            err,1764, 247, err(4), -rtp, -fnp, -mapp, -predp, err, 214,
                                                                //    940                  !         err,1764, 247, err(4), -rtp, -fnp, -mapp, -predp, err, 214,
                                                                //    941                            err, 229, err
                                                                //    942                  !         err, 229, err
                                                                //    943                  %integer tags, type, form
#line 943 "regression-compile-tmp/pass1.imp"
int TAGS;
#line 943 "regression-compile-tmp/pass1.imp"
int TYPE;
#line 943 "regression-compile-tmp/pass1.imp"
int FORM;
                                                                //    944  
                                                                //    945                  ap = 0
#line 945 "regression-compile-tmp/pass1.imp"
AP = 0;
                                                                //    946                  tags = v_flags
#line 946 "regression-compile-tmp/pass1.imp"
TAGS = V->FLAGS;
                                                                //    947                  type = tags>>4&7;  form = tags&15
#line 947 "regression-compile-tmp/pass1.imp"
TYPE = (((int)((((unsigned int)(TAGS)) >> (4)))) & (7));
#line 947 "regression-compile-tmp/pass1.imp"
FORM = ((TAGS) & (15));
                                                                //    948                  tp = v_format<<3!type
#line 948 "regression-compile-tmp/pass1.imp"
TP = ((((V->FORMAT) << (3))) | (TYPE));
                                                                //    949                  c = class map(form)
#line 949 "regression-compile-tmp/pass1.imp"
C = CLASSMAP[FORM];
                                                                //    950                  c = 208 %and tp = 0 %if type = 0 %and form = 2;  !%name
#line 950 "regression-compile-tmp/pass1.imp"
if (((TYPE) != (0))) goto L_0062;
#line 950 "regression-compile-tmp/pass1.imp"
if (((FORM) != (2))) goto L_0062;
#line 950 "regression-compile-tmp/pass1.imp"
C = 208;
#line 950 "regression-compile-tmp/pass1.imp"
TP = 0;
#line 950 "regression-compile-tmp/pass1.imp"
L_0062:;
                                                                //    951                  ap = v_app %if tags&parameters # 0
#line 951 "regression-compile-tmp/pass1.imp"
if (((((TAGS) & (4096))) == (0))) goto L_0063;
#line 951 "regression-compile-tmp/pass1.imp"
AP = V->APP;
#line 951 "regression-compile-tmp/pass1.imp"
L_0063:;
                                                                //    952              %end
#line 952 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLASS at level 4
                                                                //    953          %end
#line 953 "regression-compile-tmp/pass1.imp"
/*_imp_signal(8, 4, 0, "");*/
fprintf(stderr, "%%RESULT missing in %s in file %s:%d\n", __PRETTY_FUNCTION__, (_imp_current_file != 0 ? _imp_current_file : __FILE__), (_imp_current_line != 0 ? _imp_current_line : __LINE__));
exit(1);
} // End of block GAPP at level 3
                                                                //    954  
                                                                //    955          %routine delete names(%integer quiet)
#line 955 "regression-compile-tmp/pass1.imp"
void DELETENAMES( int QUIET )
#line 955 "regression-compile-tmp/pass1.imp"
{
                                                                //    956              %integer flags
#line 956 "regression-compile-tmp/pass1.imp"
int FLAGS;
                                                                //    957              %record(tagfm)%name tx
#line 957 "regression-compile-tmp/pass1.imp"
 TAGFM /*name*/*TX;
                                                                //    958  
                                                                //    959              %while tmax > tbase %cycle
#line 959 "regression-compile-tmp/pass1.imp"
L_0064:;
#line 959 "regression-compile-tmp/pass1.imp"
if (((TMAX) <= (TBASE))) goto L_0065;
                                                                //    960                  x = tmax;  tmax = tmax-1
#line 960 "regression-compile-tmp/pass1.imp"
X = TMAX;
#line 960 "regression-compile-tmp/pass1.imp"
TMAX = (((int)(TMAX)) - (1));
                                                                //    961                  tx == tag(x)
#line 961 "regression-compile-tmp/pass1.imp"
TX = &TAG[X];
                                                                //    962                  flags = tx_flags
#line 962 "regression-compile-tmp/pass1.imp"
FLAGS = TX->FLAGS;
                                                                //    963                  fault(20) %if flags&spec # 0 %and flags&own bit = 0
#line 963 "regression-compile-tmp/pass1.imp"
if (((((FLAGS) & (128))) == (0))) goto L_0067;
#line 963 "regression-compile-tmp/pass1.imp"
if (((((FLAGS) & (512))) != (0))) goto L_0067;
#line 963 "regression-compile-tmp/pass1.imp"
FAULT(20);
#line 963 "regression-compile-tmp/pass1.imp"
L_0067:;
                                                                //    964                  !{spec with no definition & not external}
                                                                //    965                  %if flags&used bit = 0 %and level >= 0 %and list <= 0 %start
#line 965 "regression-compile-tmp/pass1.imp"
if (((((FLAGS) & (32768))) != (0))) goto L_0068;
#line 965 "regression-compile-tmp/pass1.imp"
if (((LEVEL) < (0))) goto L_0068;
#line 965 "regression-compile-tmp/pass1.imp"
if (((LIST) > (0))) goto L_0068;
                                                                //    966                      fault(-3) %if quiet = 0;          !unused
#line 966 "regression-compile-tmp/pass1.imp"
if (((QUIET) != (0))) goto L_0069;
#line 966 "regression-compile-tmp/pass1.imp"
FAULT((-3));
#line 966 "regression-compile-tmp/pass1.imp"
L_0069:;
                                                                //    967                  %finish
#line 967 "regression-compile-tmp/pass1.imp"
L_0068:;
                                                                //    968                  dict(tx_text) = tx_link
#line 968 "regression-compile-tmp/pass1.imp"
DICT[(((int)(TX->TEXT)) - (1))] = TX->LINK;
                                                                //    969              %repeat
#line 969 "regression-compile-tmp/pass1.imp"
goto L_0064;
#line 969 "regression-compile-tmp/pass1.imp"
L_0065:;
                                                                //    970          %end
#line 970 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DELETENAMES at level 3
                                                                //    971  
                                                                //    972          %routine analyse
#line 972 "regression-compile-tmp/pass1.imp"
void ANALYSE( void )
#line 972 "regression-compile-tmp/pass1.imp"
{
                                                                //    973              %constinteger order bits = 16_3000, order bit = 16_1000
                                                                //    974              %constinteger escape     = 16_1000
                                                                //    975              %integer strp, mark, flags, prot err, k, s, c
#line 975 "regression-compile-tmp/pass1.imp"
int STRP;
#line 975 "regression-compile-tmp/pass1.imp"
int MARK;
#line 975 "regression-compile-tmp/pass1.imp"
int FLAGS;
#line 975 "regression-compile-tmp/pass1.imp"
int PROTERR;
#line 975 "regression-compile-tmp/pass1.imp"
int K;
#line 975 "regression-compile-tmp/pass1.imp"
int S;
#line 975 "regression-compile-tmp/pass1.imp"
int C;
                                                                //    976              %owninteger key = 0
#line 976 "regression-compile-tmp/pass1.imp"
static int KEY = 0;
                                                                //    977              %integer node
#line 977 "regression-compile-tmp/pass1.imp"
int NODE;
                                                                //    978              %integername z
#line 978 "regression-compile-tmp/pass1.imp"
int /*name*/*Z;
                                                                //    979              %record(arfm)%name arp
#line 979 "regression-compile-tmp/pass1.imp"
 ARFM /*name*/*ARP;
                                                                //    980              %switch act(actions:phrasal), paction(0:15)
#line 980 "regression-compile-tmp/pass1.imp"
static int sw3_ACT_idx;
static const void * /*SWITCH*/ sw3_ACT[21] = { &&sw3_ACT_180, &&sw3_ACT_181, &&sw3_ACT_182, &&sw3_ACT_183, &&sw3_ACT_184, &&sw3_ACT_185, &&sw3_ACT_186, &&sw3_ACT_187, &&sw3_ACT_188, &&sw3_ACT_189, &&sw3_ACT_190, &&sw3_ACT_191, &&sw3_ACT_192, &&sw3_ACT_193, &&sw3_ACT_194, &&sw3_ACT_195, &&sw3_ACT_196, &&sw3_ACT_197, &&sw3_ACT_198, &&sw3_ACT_199, &&sw3_ACT_200,  };
#line 980 "regression-compile-tmp/pass1.imp"
static int sw4_PACTION_idx;
static const void * /*SWITCH*/ sw4_PACTION[16] = { &&sw4_PACTION_0, &&sw4_PACTION_1, &&sw4_PACTION_2, &&sw4_PACTION_3, &&sw4_PACTION_4, &&sw4_PACTION_5, &&sw4_PACTION_6, &&sw4_PACTION_7, &&sw4_PACTION_8, &&sw4_PACTION_9, &&sw4_PACTION_10, &&sw4_PACTION_11, &&sw4_PACTION_12, &&sw4_PACTION_13, &&sw4_PACTION_14, &&sw4_PACTION_15,  };
                                                                //    981  
                                                                //    982              %routine trace analysis
#line 982 "regression-compile-tmp/pass1.imp"
void TRACEANALYSIS( void )
#line 982 "regression-compile-tmp/pass1.imp"
{
                                                                //    983                  !diagnostic trace routine (diagnose&1 # 0)
                                                                //    984                  %integer a
#line 984 "regression-compile-tmp/pass1.imp"
int A;
                                                                //    985  
                                                                //    986                  %routine show(%integer a)
#line 986 "regression-compile-tmp/pass1.imp"
void SHOW( int A )
#line 986 "regression-compile-tmp/pass1.imp"
{
                                                                //    987                      %if 0 < a %and a < 130 %start
#line 987 "regression-compile-tmp/pass1.imp"
if (((0) >= (A))) goto L_006a;
#line 987 "regression-compile-tmp/pass1.imp"
if (((A) >= (130))) goto L_006a;
                                                                //    988                          space
#line 988 "regression-compile-tmp/pass1.imp"
_imp_SPACE();
                                                                //    989                          printstring(text(a))
#line 989 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(TEXT[A]);
                                                                //    990                      %finish %else write(a, 3)
#line 990 "regression-compile-tmp/pass1.imp"
goto L_006b;
#line 990 "regression-compile-tmp/pass1.imp"
L_006a:;
#line 990 "regression-compile-tmp/pass1.imp"
_imp_WRITE(A, 3);
#line 990 "regression-compile-tmp/pass1.imp"
L_006b:;
                                                                //    991                  %end
#line 991 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SHOW at level 5
                                                                //    992  
                                                                //    993                  %owninteger la1=0, la2=0, lsa=0, lt=0
#line 993 "regression-compile-tmp/pass1.imp"
static int LA1 = 0;
#line 993 "regression-compile-tmp/pass1.imp"
static int LA2 = 0;
#line 993 "regression-compile-tmp/pass1.imp"
static int LSA = 0;
#line 993 "regression-compile-tmp/pass1.imp"
static int LT = 0;
                                                                //    994                  newline %if mon pos # pos %and sym # nl
#line 994 "regression-compile-tmp/pass1.imp"
if (((MONPOS) == (POS))) goto L_006c;
#line 994 "regression-compile-tmp/pass1.imp"
if (((SYM) == (10))) goto L_006c;
#line 994 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
#line 994 "regression-compile-tmp/pass1.imp"
L_006c:;
                                                                //    995                  mon pos = pos
#line 995 "regression-compile-tmp/pass1.imp"
MONPOS = POS;
                                                                //    996                  write(g, 3)
#line 996 "regression-compile-tmp/pass1.imp"
_imp_WRITE(G, 3);
                                                                //    997                  space
#line 997 "regression-compile-tmp/pass1.imp"
_imp_SPACE();
                                                                //    998                  printstring(text(class))
#line 998 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(TEXT[CLASS]);
                                                                //    999                  printsymbol('"') %if gg&trans bit # 0
#line 999 "regression-compile-tmp/pass1.imp"
if (((((GG) & (16384))) == (0))) goto L_006d;
#line 999 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(34);
#line 999 "regression-compile-tmp/pass1.imp"
L_006d:;
                                                                //   1000                  a = gg>>8&15
#line 1000 "regression-compile-tmp/pass1.imp"
A = (((int)((((unsigned int)(GG)) >> (8)))) & (15));
                                                                //   1001                  %if a # 0 %start
#line 1001 "regression-compile-tmp/pass1.imp"
if (((A) == (0))) goto L_006e;
                                                                //   1002                      printsymbol('{')
#line 1002 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(123);
                                                                //   1003                      write(a, 0)
#line 1003 "regression-compile-tmp/pass1.imp"
_imp_WRITE(A, 0);
                                                                //   1004                      printsymbol('}')
#line 1004 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(125);
                                                                //   1005                  %finish
#line 1005 "regression-compile-tmp/pass1.imp"
L_006e:;
                                                                //   1006                  %if atom1 # la1 %or atom2 # la2 %or lsa # subatom %or lt # type %start
#line 1006 "regression-compile-tmp/pass1.imp"
if (((ATOM1) != (LA1))) goto L_0066;
#line 1006 "regression-compile-tmp/pass1.imp"
if (((ATOM2) != (LA2))) goto L_0066;
#line 1006 "regression-compile-tmp/pass1.imp"
if (((LSA) != (SUBATOM))) goto L_0066;
#line 1006 "regression-compile-tmp/pass1.imp"
if (((LT) == (TYPE))) goto L_006f;
#line 1006 "regression-compile-tmp/pass1.imp"
L_0066:;
                                                                //   1007                      printstring(" [")
#line 1007 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal(" ["));
                                                                //   1008                      la1 = atom1
#line 1008 "regression-compile-tmp/pass1.imp"
LA1 = ATOM1;
                                                                //   1009                      show(la1)
#line 1009 "regression-compile-tmp/pass1.imp"
SHOW(LA1);
                                                                //   1010                      la2 = atom2
#line 1010 "regression-compile-tmp/pass1.imp"
LA2 = ATOM2;
                                                                //   1011                      show(la2)
#line 1011 "regression-compile-tmp/pass1.imp"
SHOW(LA2);
                                                                //   1012                      lsa = subatom
#line 1012 "regression-compile-tmp/pass1.imp"
LSA = SUBATOM;
                                                                //   1013                      write(lsa, 3)
#line 1013 "regression-compile-tmp/pass1.imp"
_imp_WRITE(LSA, 3);
                                                                //   1014                      lt = type
#line 1014 "regression-compile-tmp/pass1.imp"
LT = TYPE;
                                                                //   1015                      write(lt, 5)
#line 1015 "regression-compile-tmp/pass1.imp"
_imp_WRITE(LT, 5);
                                                                //   1016                      printsymbol(']')
#line 1016 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(93);
                                                                //   1017                  %finish
#line 1017 "regression-compile-tmp/pass1.imp"
L_006f:;
                                                                //   1018                  newline
#line 1018 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
                                                                //   1019              %end
#line 1019 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block TRACEANALYSIS at level 4
                                                                //   1020  
                                                                //   1021              %routine get sym
#line 1021 "regression-compile-tmp/pass1.imp"
void GETSYM( void )
#line 1021 "regression-compile-tmp/pass1.imp"
{
                                                                //   1022                  readsymbol(sym)
#line 1022 "regression-compile-tmp/pass1.imp"
_imp_READSYMBOL(&SYM);
                                                                //   1023                  abandon(5) %if sym < 0
#line 1023 "regression-compile-tmp/pass1.imp"
if (((SYM) >= (0))) goto L_0070;
#line 1023 "regression-compile-tmp/pass1.imp"
ABANDON(5);
#line 1023 "regression-compile-tmp/pass1.imp"
L_0070:;
                                                                //   1024                  pos = pos+1 %if pos # 133
#line 1024 "regression-compile-tmp/pass1.imp"
if (((POS) == (133))) goto L_0071;
#line 1024 "regression-compile-tmp/pass1.imp"
POS = (((int)(POS)) + (1));
#line 1024 "regression-compile-tmp/pass1.imp"
L_0071:;
                                                                //   1025                  char(pos) = sym
#line 1025 "regression-compile-tmp/pass1.imp"
CHAR[POS] = SYM;
                                                                //   1026                  printsymbol(sym) %if list <= 0
#line 1026 "regression-compile-tmp/pass1.imp"
if (((LIST) > (0))) goto L_0072;
#line 1026 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(SYM);
#line 1026 "regression-compile-tmp/pass1.imp"
L_0072:;
                                                                //   1027                  column = column+1
#line 1027 "regression-compile-tmp/pass1.imp"
COLUMN = (((int)(COLUMN)) + (1));
                                                                //   1028              %end
#line 1028 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETSYM at level 4
                                                                //   1029  
                                                                //   1030              %routine read sym
#line 1030 "regression-compile-tmp/pass1.imp"
void READSYM( void )
#line 1030 "regression-compile-tmp/pass1.imp"
{
                                                                //   1031                  %owninteger Last = 0
#line 1031 "regression-compile-tmp/pass1.imp"
static int LAST = 0;
                                                                //   1032                  %constbyteintegerarray mapped(0:127) = %c
#line 1032 "regression-compile-tmp/pass1.imp"
const unsigned char MAPPED[128] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, 1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 2, 124, 125, 126, 0,  };
                                                                //   1033                    0,  0,  0,  0,   0,  0,  0,  0,    0,  0, 10,  0,   3,  0,  0,  0,
                                                                //   1034                    0,  0,  0,  0,   0,  0,  0,  0,    0,  0,  0,  0,   0,  0,  0,  0,
                                                                //   1035                    0,'!','"','#', '$',  1,'&', 39,  '(',')','*','+', ',','-','.','/',
                                                                //   1036                  '0','1','2','3', '4','5','6','7',  '8','9',':',';', '<','=','>','?',
                                                                //   1037                  '@','A','B','C', 'D','E','F','G',  'H','I','J','K', 'L','M','N','O',
                                                                //   1038                  'P','Q','R','S', 'T','U','V','W',  'X','Y','Z','[', '\',']','^','_',
                                                                //   1039                  '`','A','B','C', 'D','E','F','G',  'H','I','J','K', 'L','M','N','O',
                                                                //   1040                  'P','Q','R','S', 'T','U','V','W',  'X','Y','Z', 2 , '|','}','~',  0
                                                                //   1041  
                                                                //   1042                  !!   0 = space
                                                                //   1043                  !!   1 = %
                                                                //   1044                  !!   2 = {
                                                                //   1045                  !!   3 = ff
                                                                //   1046                  !!   other values represent themselves
                                                                //   1047  
                                                                //   1048                  %if sym = nl %start
#line 1048 "regression-compile-tmp/pass1.imp"
if (((SYM) != (10))) goto L_0073;
                                                                //   1049  s1:                 lines = lines+1
#line 1049 "regression-compile-tmp/pass1.imp"
U_1005:;
#line 1049 "regression-compile-tmp/pass1.imp"
LINES = (((int)(LINES)) + (1));
                                                                //   1050                      printsymbol(end mark) %if end mark # 0
#line 1050 "regression-compile-tmp/pass1.imp"
if (((ENDMARK) == (0))) goto L_0074;
#line 1050 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(ENDMARK);
#line 1050 "regression-compile-tmp/pass1.imp"
L_0074:;
                                                                //   1051  s11:                pos = 0;  pos1 = 0;  pos2 = 0;  margin = 0;  column = 0
#line 1051 "regression-compile-tmp/pass1.imp"
U_1006:;
#line 1051 "regression-compile-tmp/pass1.imp"
POS = 0;
#line 1051 "regression-compile-tmp/pass1.imp"
POS1 = 0;
#line 1051 "regression-compile-tmp/pass1.imp"
POS2 = 0;
#line 1051 "regression-compile-tmp/pass1.imp"
MARGIN = 0;
#line 1051 "regression-compile-tmp/pass1.imp"
COLUMN = 0;
                                                                //   1052                      Last = 0
#line 1052 "regression-compile-tmp/pass1.imp"
LAST = 0;
                                                                //   1053                      end mark = 0
#line 1053 "regression-compile-tmp/pass1.imp"
ENDMARK = 0;
                                                                //   1054                      %if list <= 0 %start
#line 1054 "regression-compile-tmp/pass1.imp"
if (((LIST) > (0))) goto L_0075;
                                                                //   1055                          %if include # 0 %start
#line 1055 "regression-compile-tmp/pass1.imp"
if (((INCLUDE) == (0))) goto L_0076;
                                                                //   1056                              printstring(" &");  write(lines, -4)
#line 1056 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal(" &"));
#line 1056 "regression-compile-tmp/pass1.imp"
_imp_WRITE(LINES, (-4));
                                                                //   1057                          %finish %else  write(lines, 5)
#line 1057 "regression-compile-tmp/pass1.imp"
goto L_0077;
#line 1057 "regression-compile-tmp/pass1.imp"
L_0076:;
#line 1057 "regression-compile-tmp/pass1.imp"
_imp_WRITE(LINES, 5);
#line 1057 "regression-compile-tmp/pass1.imp"
L_0077:;
                                                                //   1058                          csym = cont;  printsymbol(csym)
#line 1058 "regression-compile-tmp/pass1.imp"
CSYM = CONT;
#line 1058 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(CSYM);
                                                                //   1059                          space
#line 1059 "regression-compile-tmp/pass1.imp"
_imp_SPACE();
                                                                //   1060                          %if error margin # 0 %start
#line 1060 "regression-compile-tmp/pass1.imp"
if (((ERRORMARGIN) == (0))) goto L_0078;
                                                                //   1061                              lines = lines-1
#line 1061 "regression-compile-tmp/pass1.imp"
LINES = (((int)(LINES)) - (1));
                                                                //   1062                              spaces(error margin)
#line 1062 "regression-compile-tmp/pass1.imp"
_imp_SPACES(ERRORMARGIN);
                                                                //   1063                              error margin = 0
#line 1063 "regression-compile-tmp/pass1.imp"
ERRORMARGIN = 0;
                                                                //   1064                              %if error sym # 0 %start
#line 1064 "regression-compile-tmp/pass1.imp"
if (((ERRORSYM) == (0))) goto L_0079;
                                                                //   1065                                  printsymbol(error sym)
#line 1065 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(ERRORSYM);
                                                                //   1066                                  pos = 1;  char(1) = error sym
#line 1066 "regression-compile-tmp/pass1.imp"
POS = 1;
#line 1066 "regression-compile-tmp/pass1.imp"
CHAR[1] = ERRORSYM;
                                                                //   1067                                  sym = error sym;  error sym = 0
#line 1067 "regression-compile-tmp/pass1.imp"
SYM = ERRORSYM;
#line 1067 "regression-compile-tmp/pass1.imp"
ERRORSYM = 0;
                                                                //   1068                                  ->s5
#line 1068 "regression-compile-tmp/pass1.imp"
goto U_1007;
                                                                //   1069                              %finish
#line 1069 "regression-compile-tmp/pass1.imp"
L_0079:;
                                                                //   1070                          %finish
#line 1070 "regression-compile-tmp/pass1.imp"
L_0078:;
                                                                //   1071                      %finish
#line 1071 "regression-compile-tmp/pass1.imp"
L_0075:;
                                                                //   1072  s2:                 symtype = 1
#line 1072 "regression-compile-tmp/pass1.imp"
U_1008:;
#line 1072 "regression-compile-tmp/pass1.imp"
SYMTYPE = 1;
                                                                //   1073                  %finish
#line 1073 "regression-compile-tmp/pass1.imp"
L_0073:;
                                                                //   1074  s3:             readsymbol(sym)
#line 1074 "regression-compile-tmp/pass1.imp"
U_1009:;
#line 1074 "regression-compile-tmp/pass1.imp"
_imp_READSYMBOL(&SYM);
                                                                //   1075                  abandon(5) %if sym < 0
#line 1075 "regression-compile-tmp/pass1.imp"
if (((SYM) >= (0))) goto L_007a;
#line 1075 "regression-compile-tmp/pass1.imp"
ABANDON(5);
#line 1075 "regression-compile-tmp/pass1.imp"
L_007a:;
                                                                //   1076                  pos = pos+1 %if pos # 133
#line 1076 "regression-compile-tmp/pass1.imp"
if (((POS) == (133))) goto L_007b;
#line 1076 "regression-compile-tmp/pass1.imp"
POS = (((int)(POS)) + (1));
#line 1076 "regression-compile-tmp/pass1.imp"
L_007b:;
                                                                //   1077                  char(pos) = sym
#line 1077 "regression-compile-tmp/pass1.imp"
CHAR[POS] = SYM;
                                                                //   1078                  printsymbol(sym) %if list <= 0
#line 1078 "regression-compile-tmp/pass1.imp"
if (((LIST) > (0))) goto L_007c;
#line 1078 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(SYM);
#line 1078 "regression-compile-tmp/pass1.imp"
L_007c:;
                                                                //   1079                  column = column+1
#line 1079 "regression-compile-tmp/pass1.imp"
COLUMN = (((int)(COLUMN)) + (1));
                                                                //   1080  s5:             %if sym # nl %start
#line 1080 "regression-compile-tmp/pass1.imp"
U_1007:;
#line 1080 "regression-compile-tmp/pass1.imp"
if (((SYM) == (10))) goto L_007d;
                                                                //   1081                      Last = Sym
#line 1081 "regression-compile-tmp/pass1.imp"
LAST = SYM;
                                                                //   1082                      %return %if quote # 0;                     !dont alter strings
#line 1082 "regression-compile-tmp/pass1.imp"
if (((QUOTE) == (0))) goto L_007e;
#line 1082 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1082 "regression-compile-tmp/pass1.imp"
L_007e:;
                                                                //   1083                      sym = mapped(sym&127)
#line 1083 "regression-compile-tmp/pass1.imp"
SYM = MAPPED[((SYM) & (127))];
                                                                //   1084                      %if sym <= 3 %start;                       !special symbol
#line 1084 "regression-compile-tmp/pass1.imp"
if (((SYM) > (3))) goto L_007f;
                                                                //   1085                          ->s2 %if sym = 0;                       !space (or dubious control)
#line 1085 "regression-compile-tmp/pass1.imp"
if (((SYM) != (0))) goto L_0080;
#line 1085 "regression-compile-tmp/pass1.imp"
goto U_1008;
#line 1085 "regression-compile-tmp/pass1.imp"
L_0080:;
                                                                //   1086                          symtype = 2 %and ->s3 %if sym = 1;      !%
#line 1086 "regression-compile-tmp/pass1.imp"
if (((SYM) != (1))) goto L_0081;
#line 1086 "regression-compile-tmp/pass1.imp"
SYMTYPE = 2;
#line 1086 "regression-compile-tmp/pass1.imp"
goto U_1009;
#line 1086 "regression-compile-tmp/pass1.imp"
L_0081:;
                                                                //   1087                          cont = '+' %and ->s11 %if sym = 3;      !ff
#line 1087 "regression-compile-tmp/pass1.imp"
if (((SYM) != (3))) goto L_0082;
#line 1087 "regression-compile-tmp/pass1.imp"
CONT = 43;
#line 1087 "regression-compile-tmp/pass1.imp"
goto U_1006;
#line 1087 "regression-compile-tmp/pass1.imp"
L_0082:;
                                                                //   1088                          !must be {
                                                                //   1089                          %cycle
#line 1089 "regression-compile-tmp/pass1.imp"
L_0083:;
                                                                //   1090                              get sym
#line 1090 "regression-compile-tmp/pass1.imp"
GETSYM();
                                                                //   1091                              ->s3 %if sym = '}'
#line 1091 "regression-compile-tmp/pass1.imp"
if (((SYM) != (125))) goto L_0086;
#line 1091 "regression-compile-tmp/pass1.imp"
goto U_1009;
#line 1091 "regression-compile-tmp/pass1.imp"
L_0086:;
                                                                //   1092                              ->s4 %if sym = nl
#line 1092 "regression-compile-tmp/pass1.imp"
if (((SYM) != (10))) goto L_0087;
#line 1092 "regression-compile-tmp/pass1.imp"
goto U_100a;
#line 1092 "regression-compile-tmp/pass1.imp"
L_0087:;
                                                                //   1093                          %repeat
#line 1093 "regression-compile-tmp/pass1.imp"
goto L_0083;
                                                                //   1094                      %finish
#line 1094 "regression-compile-tmp/pass1.imp"
L_007f:;
                                                                //   1095                      key = kdict(sym)
#line 1095 "regression-compile-tmp/pass1.imp"
KEY = (KDICT-32)[SYM];
                                                                //   1096                      %if key&3 = 0 %and symtype = 2 %start;            !keyword
#line 1096 "regression-compile-tmp/pass1.imp"
if (((((KEY) & (3))) != (0))) goto L_0088;
#line 1096 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) != (2))) goto L_0088;
                                                                //   1097                          %if sym = 'C' %and nextsymbol = nl %start;     !%c...
#line 1097 "regression-compile-tmp/pass1.imp"
if (((SYM) != (67))) goto L_0084;
#line 1097 "regression-compile-tmp/pass1.imp"
if (((_imp_NEXTSYMBOL()) != (10))) goto L_0084;
                                                                //   1098                              getsym;  cont = '+';  ->s1
#line 1098 "regression-compile-tmp/pass1.imp"
GETSYM();
#line 1098 "regression-compile-tmp/pass1.imp"
CONT = 43;
#line 1098 "regression-compile-tmp/pass1.imp"
goto U_1005;
                                                                //   1099                          %finish
#line 1099 "regression-compile-tmp/pass1.imp"
L_0084:;
                                                                //   1100                      %else
#line 1100 "regression-compile-tmp/pass1.imp"
goto L_0089;
#line 1100 "regression-compile-tmp/pass1.imp"
L_0088:;
                                                                //   1101                          symtype = key&3-2
#line 1101 "regression-compile-tmp/pass1.imp"
SYMTYPE = (((int)(((KEY) & (3)))) - (2));
                                                                //   1102                      %finish
#line 1102 "regression-compile-tmp/pass1.imp"
L_0089:;
                                                                //   1103                      %return
#line 1103 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1104                  %finish
#line 1104 "regression-compile-tmp/pass1.imp"
L_007d:;
                                                                //   1105  s4:             symtype = quote
#line 1105 "regression-compile-tmp/pass1.imp"
U_100a:;
#line 1105 "regression-compile-tmp/pass1.imp"
SYMTYPE = QUOTE;
                                                                //   1106                  ->S1 %if last = 0 %and Quote = 0
#line 1106 "regression-compile-tmp/pass1.imp"
if (((LAST) != (0))) goto L_008a;
#line 1106 "regression-compile-tmp/pass1.imp"
if (((QUOTE) != (0))) goto L_008a;
#line 1106 "regression-compile-tmp/pass1.imp"
goto U_1005;
#line 1106 "regression-compile-tmp/pass1.imp"
L_008a:;
                                                                //   1107                  Cont = '+'
#line 1107 "regression-compile-tmp/pass1.imp"
CONT = 43;
                                                                //   1108              %end
#line 1108 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block READSYM at level 4
                                                                //   1109  
                                                                //   1110              %integerfn format selected
#line 1110 "regression-compile-tmp/pass1.imp"
int FORMATSELECTED( void )
#line 1110 "regression-compile-tmp/pass1.imp"
{
                                                                //   1111                  format list = tag(format)_app;      !number of names
#line 1111 "regression-compile-tmp/pass1.imp"
FORMATLIST = TAG[FORMAT].APP;
                                                                //   1112                  %if format list < 0 %start;         !forward ref
#line 1112 "regression-compile-tmp/pass1.imp"
if (((FORMATLIST) >= (0))) goto L_008b;
                                                                //   1113                      atom1 = error+22
#line 1113 "regression-compile-tmp/pass1.imp"
ATOM1 = 32790;
                                                                //   1114                      %result = 0
#line 1114 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1115                  %finish
#line 1115 "regression-compile-tmp/pass1.imp"
L_008b:;
                                                                //   1116                  %if sym = '_' %start
#line 1116 "regression-compile-tmp/pass1.imp"
if (((SYM) != (95))) goto L_008c;
                                                                //   1117                      escape class = esc rec
#line 1117 "regression-compile-tmp/pass1.imp"
ESCAPECLASS = 255;
                                                                //   1118                      search base = tag(format)_format
#line 1118 "regression-compile-tmp/pass1.imp"
SEARCHBASE = TAG[FORMAT].FORMAT;
                                                                //   1119                  %finish
#line 1119 "regression-compile-tmp/pass1.imp"
L_008c:;
                                                                //   1120                  %result = 1
#line 1120 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   1121              %end
#line 1121 "regression-compile-tmp/pass1.imp"
} // End of block FORMATSELECTED at level 4
                                                                //   1122  
                                                                //   1123              %routine code atom(%integer target)
#line 1123 "regression-compile-tmp/pass1.imp"
void CODEATOM( int TARGET )
#line 1123 "regression-compile-tmp/pass1.imp"
{
                                                                //   1124                  %integer dbase, da
#line 1124 "regression-compile-tmp/pass1.imp"
int DBASE;
#line 1124 "regression-compile-tmp/pass1.imp"
int DA;
                                                                //   1125                  %integer base, n, mul, pend quote
#line 1125 "regression-compile-tmp/pass1.imp"
int BASE;
#line 1125 "regression-compile-tmp/pass1.imp"
int N;
#line 1125 "regression-compile-tmp/pass1.imp"
int MUL;
#line 1125 "regression-compile-tmp/pass1.imp"
int PENDQUOTE;
                                                                //   1126                  %integer j,k,l, pt
#line 1126 "regression-compile-tmp/pass1.imp"
int J;
#line 1126 "regression-compile-tmp/pass1.imp"
int K;
#line 1126 "regression-compile-tmp/pass1.imp"
int L;
#line 1126 "regression-compile-tmp/pass1.imp"
int PT;
                                                                //   1127  
                                                                //   1128                  %routine lookup(%integer d)
#line 1128 "regression-compile-tmp/pass1.imp"
void LOOKUP( int D )
#line 1128 "regression-compile-tmp/pass1.imp"
{
                                                                //   1129                      %integer new name, vid, k1, k2, form
#line 1129 "regression-compile-tmp/pass1.imp"
int NEWNAME;
#line 1129 "regression-compile-tmp/pass1.imp"
int VID;
#line 1129 "regression-compile-tmp/pass1.imp"
int K1;
#line 1129 "regression-compile-tmp/pass1.imp"
int K2;
#line 1129 "regression-compile-tmp/pass1.imp"
int FORM;
                                                                //   1130                      %record(tagfm)%name t
#line 1130 "regression-compile-tmp/pass1.imp"
 TAGFM /*name*/*T;
                                                                //   1131                      %integer new
#line 1131 "regression-compile-tmp/pass1.imp"
int NEW;
                                                                //   1132  
                                                                //   1133                      ! twee little function because SKIMP86 can't do string compare properly
                                                                //   1134                      ! returns 1 if the two names are the same, else zero
                                                                //   1135                      %integerfn dict match(%integer ptr1, ptr2)
#line 1135 "regression-compile-tmp/pass1.imp"
int DICTMATCH( int PTR1, int PTR2 )
#line 1135 "regression-compile-tmp/pass1.imp"
{
                                                                //   1136                          %integer len;
#line 1136 "regression-compile-tmp/pass1.imp"
int LEN;
                                                                //   1137                          ! start with a cheap check of the length and first character
                                                                //   1138                          %if dict(ptr1) # dict(ptr2) %then %result = 0
#line 1138 "regression-compile-tmp/pass1.imp"
if (((DICT[(((int)(PTR1)) - (1))]) == (DICT[(((int)(PTR2)) - (1))]))) goto L_008d;
#line 1138 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1138 "regression-compile-tmp/pass1.imp"
L_008d:;
                                                                //   1139                          len = dict(ptr1) & 255
#line 1139 "regression-compile-tmp/pass1.imp"
LEN = ((DICT[(((int)(PTR1)) - (1))]) & (255));
                                                                //   1140                          ptr1 = ptr1 + 1
#line 1140 "regression-compile-tmp/pass1.imp"
PTR1 = (((int)(PTR1)) + (1));
                                                                //   1141                          ptr2 = ptr2 + 1
#line 1141 "regression-compile-tmp/pass1.imp"
PTR2 = (((int)(PTR2)) + (1));
                                                                //   1142                          len = len - 1
#line 1142 "regression-compile-tmp/pass1.imp"
LEN = (((int)(LEN)) - (1));
                                                                //   1143                          %while len >= 2 %cycle
#line 1143 "regression-compile-tmp/pass1.imp"
L_008e:;
#line 1143 "regression-compile-tmp/pass1.imp"
if (((LEN) < (2))) goto L_008f;
                                                                //   1144                              %if dict(ptr1) # dict(ptr2) %then %result = 0
#line 1144 "regression-compile-tmp/pass1.imp"
if (((DICT[(((int)(PTR1)) - (1))]) == (DICT[(((int)(PTR2)) - (1))]))) goto L_0091;
#line 1144 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1144 "regression-compile-tmp/pass1.imp"
L_0091:;
                                                                //   1145                              ptr1 = ptr1 + 1
#line 1145 "regression-compile-tmp/pass1.imp"
PTR1 = (((int)(PTR1)) + (1));
                                                                //   1146                              ptr2 = ptr2 + 1
#line 1146 "regression-compile-tmp/pass1.imp"
PTR2 = (((int)(PTR2)) + (1));
                                                                //   1147                              len = len - 2
#line 1147 "regression-compile-tmp/pass1.imp"
LEN = (((int)(LEN)) - (2));
                                                                //   1148                          %repeat
#line 1148 "regression-compile-tmp/pass1.imp"
goto L_008e;
#line 1148 "regression-compile-tmp/pass1.imp"
L_008f:;
                                                                //   1149                          ! if the string was odd length, we might need one last byte checked
                                                                //   1150                          %if len = 1 %start
#line 1150 "regression-compile-tmp/pass1.imp"
if (((LEN) != (1))) goto L_0092;
                                                                //   1151                              %if dict(ptr1)&255 # dict(ptr2)&255 %then %result = 0
#line 1151 "regression-compile-tmp/pass1.imp"
if (((((DICT[(((int)(PTR1)) - (1))]) & (255))) == (((DICT[(((int)(PTR2)) - (1))]) & (255))))) goto L_0093;
#line 1151 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1151 "regression-compile-tmp/pass1.imp"
L_0093:;
                                                                //   1152                          %finish
#line 1152 "regression-compile-tmp/pass1.imp"
L_0092:;
                                                                //   1153                          %result = 1
#line 1153 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   1154                      %end
#line 1154 "regression-compile-tmp/pass1.imp"
} // End of block DICTMATCH at level 6
                                                                //   1155  
                                                                //   1156                      !first locate the text of the name
                                                                //   1157                      new = dmax+1;     ! points to text of string in dictionary
#line 1157 "regression-compile-tmp/pass1.imp"
NEW = (((int)(DMAX)) + (1));
                                                                //   1158                      k1 = hash value & max names;        ! rather crude hash!
#line 1158 "regression-compile-tmp/pass1.imp"
K1 = ((HASHVALUE) & (2047));
                                                                //   1159  
                                                                //   1160                      %cycle
#line 1160 "regression-compile-tmp/pass1.imp"
L_0094:;
                                                                //   1161                          newname = hash(k1)
#line 1161 "regression-compile-tmp/pass1.imp"
NEWNAME = HASH[K1];
                                                                //   1162                          %exit %if newname = 0;                !not in
#line 1162 "regression-compile-tmp/pass1.imp"
if (((NEWNAME) != (0))) goto L_0097;
#line 1162 "regression-compile-tmp/pass1.imp"
goto L_0095;
#line 1162 "regression-compile-tmp/pass1.imp"
L_0097:;
                                                                //   1163                          ->in %if dict match(newname+1, new) = 1
#line 1163 "regression-compile-tmp/pass1.imp"
if (((DICTMATCH((((int)(NEWNAME)) + (1)), NEW)) != (1))) goto L_0098;
#line 1163 "regression-compile-tmp/pass1.imp"
goto U_100b;
#line 1163 "regression-compile-tmp/pass1.imp"
L_0098:;
                                                                //   1164                          k1 = (k1+1)&max names
#line 1164 "regression-compile-tmp/pass1.imp"
K1 = (((((int)(K1)) + (1))) & (2047));
                                                                //   1165                      %repeat
#line 1165 "regression-compile-tmp/pass1.imp"
goto L_0094;
#line 1165 "regression-compile-tmp/pass1.imp"
L_0095:;
                                                                //   1166  
                                                                //   1167                      ! not found
                                                                //   1168                      spare names = spare names-1
#line 1168 "regression-compile-tmp/pass1.imp"
SPARENAMES = (((int)(SPARENAMES)) - (1));
                                                                //   1169                      abandon(2) %if spare names <= 0
#line 1169 "regression-compile-tmp/pass1.imp"
if (((SPARENAMES) > (0))) goto L_0099;
#line 1169 "regression-compile-tmp/pass1.imp"
ABANDON(2);
#line 1169 "regression-compile-tmp/pass1.imp"
L_0099:;
                                                                //   1170                      hash(k1) = dmax;                               !put it in
#line 1170 "regression-compile-tmp/pass1.imp"
HASH[K1] = DMAX;
                                                                //   1171                      dict(dmax) = -1
#line 1171 "regression-compile-tmp/pass1.imp"
DICT[(((int)(DMAX)) - (1))] = (-1);
                                                                //   1172                      newname = dmax;  dmax = dp;  ->not in
#line 1172 "regression-compile-tmp/pass1.imp"
NEWNAME = DMAX;
#line 1172 "regression-compile-tmp/pass1.imp"
DMAX = DP;
#line 1172 "regression-compile-tmp/pass1.imp"
goto U_100c;
                                                                //   1173  
                                                                //   1174  in:                 search base = rbase %if this >= 0 %and d # 0;  !record elem defn
#line 1174 "regression-compile-tmp/pass1.imp"
U_100b:;
#line 1174 "regression-compile-tmp/pass1.imp"
if (((THIS) < (0))) goto L_009a;
#line 1174 "regression-compile-tmp/pass1.imp"
if (((D) == (0))) goto L_009a;
#line 1174 "regression-compile-tmp/pass1.imp"
SEARCHBASE = RBASE;
#line 1174 "regression-compile-tmp/pass1.imp"
L_009a:;
                                                                //   1175                      %if search base # 0 %start;                    !record subname
#line 1175 "regression-compile-tmp/pass1.imp"
if (((SEARCHBASE) == (0))) goto L_009b;
                                                                //   1176                          new = -1
#line 1176 "regression-compile-tmp/pass1.imp"
NEW = (-1);
                                                                //   1177                          x = search base
#line 1177 "regression-compile-tmp/pass1.imp"
X = SEARCHBASE;
                                                                //   1178                          %cycle
#line 1178 "regression-compile-tmp/pass1.imp"
L_009c:;
                                                                //   1179                              ->not in %if x < format list
#line 1179 "regression-compile-tmp/pass1.imp"
if (((X) >= (FORMATLIST))) goto L_009f;
#line 1179 "regression-compile-tmp/pass1.imp"
goto U_100c;
#line 1179 "regression-compile-tmp/pass1.imp"
L_009f:;
                                                                //   1180                              %exit %if tag(x)_text = new name
#line 1180 "regression-compile-tmp/pass1.imp"
if (((TAG[X].TEXT) != (NEWNAME))) goto L_00a0;
#line 1180 "regression-compile-tmp/pass1.imp"
goto L_009d;
#line 1180 "regression-compile-tmp/pass1.imp"
L_00a0:;
                                                                //   1181                              x = x-1
#line 1181 "regression-compile-tmp/pass1.imp"
X = (((int)(X)) - (1));
                                                                //   1182                          %repeat
#line 1182 "regression-compile-tmp/pass1.imp"
goto L_009c;
#line 1182 "regression-compile-tmp/pass1.imp"
L_009d:;
                                                                //   1183                      %finish %else %start;                   !hash in for normal names
#line 1183 "regression-compile-tmp/pass1.imp"
goto L_00a1;
#line 1183 "regression-compile-tmp/pass1.imp"
L_009b:;
                                                                //   1184                          x = dict(newname)
#line 1184 "regression-compile-tmp/pass1.imp"
X = DICT[(((int)(NEWNAME)) - (1))];
                                                                //   1185                          ->not in %if x <= limit;             !wrong level
#line 1185 "regression-compile-tmp/pass1.imp"
if (((X) > (LIMIT))) goto L_00a2;
#line 1185 "regression-compile-tmp/pass1.imp"
goto U_100c;
#line 1185 "regression-compile-tmp/pass1.imp"
L_00a2:;
                                                                //   1186                      %finish
#line 1186 "regression-compile-tmp/pass1.imp"
L_00a1:;
                                                                //   1187  
                                                                //   1188                      subatom = x;                            !name found, extract info
#line 1188 "regression-compile-tmp/pass1.imp"
SUBATOM = X;
                                                                //   1189                      t == tag(x)
#line 1189 "regression-compile-tmp/pass1.imp"
T = &TAG[X];
                                                                //   1190                      atom flags = t_flags
#line 1190 "regression-compile-tmp/pass1.imp"
ATOMFLAGS = T->FLAGS;
                                                                //   1191                      format = t_format;  app = t_app
#line 1191 "regression-compile-tmp/pass1.imp"
FORMAT = T->FORMAT;
#line 1191 "regression-compile-tmp/pass1.imp"
APP = T->APP;
                                                                //   1192                      protection = atom flags&prot
#line 1192 "regression-compile-tmp/pass1.imp"
PROTECTION = ((ATOMFLAGS) & (256));
                                                                //   1193                      type = atom flags>>4&7;  atom1 = amap(atom flags&15)
#line 1193 "regression-compile-tmp/pass1.imp"
TYPE = (((int)((((unsigned int)(ATOMFLAGS)) >> (4)))) & (7));
#line 1193 "regression-compile-tmp/pass1.imp"
ATOM1 = AMAP[((ATOMFLAGS) & (15))];
                                                                //   1194  
                                                                //   1195                      %if diag&8 # 0 %start
#line 1195 "regression-compile-tmp/pass1.imp"
if (((((DIAG) & (8))) == (0))) goto L_00a3;
                                                                //   1196                          printstring("lookup:")
#line 1196 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("lookup:"));
                                                                //   1197                          write(atom1, 3)
#line 1197 "regression-compile-tmp/pass1.imp"
_imp_WRITE(ATOM1, 3);
                                                                //   1198                          write(type, 1)
#line 1198 "regression-compile-tmp/pass1.imp"
_imp_WRITE(TYPE, 1);
                                                                //   1199                          write(app, 3)
#line 1199 "regression-compile-tmp/pass1.imp"
_imp_WRITE(APP, 3);
                                                                //   1200                          write(format, 5)
#line 1200 "regression-compile-tmp/pass1.imp"
_imp_WRITE(FORMAT, 5);
                                                                //   1201                          write(atom flags, 3)
#line 1201 "regression-compile-tmp/pass1.imp"
_imp_WRITE(ATOMFLAGS, 3);
                                                                //   1202                          newline
#line 1202 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
                                                                //   1203                      %finish
#line 1203 "regression-compile-tmp/pass1.imp"
L_00a3:;
                                                                //   1204  
                                                                //   1205                      %if d = 0 %start;                             !old name wanted
#line 1205 "regression-compile-tmp/pass1.imp"
if (((D) != (0))) goto L_00a4;
                                                                //   1206                          t_flags = t_flags!used bit
#line 1206 "regression-compile-tmp/pass1.imp"
T->FLAGS = ((T->FLAGS) | (32768));
                                                                //   1207                          search base = 0
#line 1207 "regression-compile-tmp/pass1.imp"
SEARCHBASE = 0;
                                                                //   1208  
                                                                //   1209                          %if atom flags&subname # 0 %and format # 0 %start; !a record
#line 1209 "regression-compile-tmp/pass1.imp"
if (((((ATOMFLAGS) & (2048))) == (0))) goto L_00a5;
#line 1209 "regression-compile-tmp/pass1.imp"
if (((FORMAT) == (0))) goto L_00a5;
                                                                //   1210                              %return %if format selected = 0
#line 1210 "regression-compile-tmp/pass1.imp"
if (((FORMATSELECTED()) != (0))) goto L_00a6;
#line 1210 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1210 "regression-compile-tmp/pass1.imp"
L_00a6:;
                                                                //   1211                          %finish
#line 1211 "regression-compile-tmp/pass1.imp"
L_00a5:;
                                                                //   1212  
                                                                //   1213                          %if atom flags&parameters # 0 %start;      !proc or array
#line 1213 "regression-compile-tmp/pass1.imp"
if (((((ATOMFLAGS) & (4096))) == (0))) goto L_00a7;
                                                                //   1214                              %if app = 0 %start;                     !no parameters needed
#line 1214 "regression-compile-tmp/pass1.imp"
if (((APP) != (0))) goto L_00a8;
                                                                //   1215                                  atom2 = atom1
#line 1215 "regression-compile-tmp/pass1.imp"
ATOM2 = ATOM1;
                                                                //   1216                                  atom1 = atom1-4
#line 1216 "regression-compile-tmp/pass1.imp"
ATOM1 = (((int)(ATOM1)) - (4));
                                                                //   1217                                  %if 97 <= atom1 %and atom1 <= 98 %start
#line 1217 "regression-compile-tmp/pass1.imp"
if (((97) > (ATOM1))) goto L_00a9;
#line 1217 "regression-compile-tmp/pass1.imp"
if (((ATOM1) > (98))) goto L_00a9;
                                                                //   1218                                      map gg = atom1;  atom1 = var
#line 1218 "regression-compile-tmp/pass1.imp"
MAPGG = ATOM1;
#line 1218 "regression-compile-tmp/pass1.imp"
ATOM1 = 91;
                                                                //   1219                                  %finish
#line 1219 "regression-compile-tmp/pass1.imp"
L_00a9:;
                                                                //   1220                              %finish %else %start
#line 1220 "regression-compile-tmp/pass1.imp"
goto L_00aa;
#line 1220 "regression-compile-tmp/pass1.imp"
L_00a8:;
                                                                //   1221                                  %if sym = '(' %start
#line 1221 "regression-compile-tmp/pass1.imp"
if (((SYM) != (40))) goto L_00ab;
                                                                //   1222                                      search base = 0;                  !ignore format for now
#line 1222 "regression-compile-tmp/pass1.imp"
SEARCHBASE = 0;
                                                                //   1223                                      %if atom1 >= 106 %start;          !arrays
#line 1223 "regression-compile-tmp/pass1.imp"
if (((ATOM1) < (106))) goto L_00ac;
                                                                //   1224                                          app = phrase(app+200)
#line 1224 "regression-compile-tmp/pass1.imp"
APP = (PHRASE-200)[(((int)(APP)) + (200))];
                                                                //   1225                                          escape class = esc array
#line 1225 "regression-compile-tmp/pass1.imp"
ESCAPECLASS = 254;
                                                                //   1226                                          atom1 = (atom1-106)>>1+91;     !a,an->v  na,nan->n
#line 1226 "regression-compile-tmp/pass1.imp"
ATOM1 = (((int)((((((((int)(ATOM1)) - (106)))) >> (1))))) + (91));
                                                                //   1227                                      %finish %else %start;             !procedures
#line 1227 "regression-compile-tmp/pass1.imp"
goto L_00ad;
#line 1227 "regression-compile-tmp/pass1.imp"
L_00ac:;
                                                                //   1228                                          escape class = esc proc
#line 1228 "regression-compile-tmp/pass1.imp"
ESCAPECLASS = 253;
                                                                //   1229                                          atom1 = atom1-4
#line 1229 "regression-compile-tmp/pass1.imp"
ATOM1 = (((int)(ATOM1)) - (4));
                                                                //   1230                                      %finish
#line 1230 "regression-compile-tmp/pass1.imp"
L_00ad:;
                                                                //   1231                                      phrase(200) = app
#line 1231 "regression-compile-tmp/pass1.imp"
(PHRASE-200)[200] = APP;
                                                                //   1232                                  %finish
#line 1232 "regression-compile-tmp/pass1.imp"
L_00ab:;
                                                                //   1233                              %finish
#line 1233 "regression-compile-tmp/pass1.imp"
L_00aa:;
                                                                //   1234                              pos2 = pos;  %return
#line 1234 "regression-compile-tmp/pass1.imp"
POS2 = POS;
#line 1234 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1235                          %finish
#line 1235 "regression-compile-tmp/pass1.imp"
L_00a7:;
                                                                //   1236  
                                                                //   1237                          !deal with constintegers etc
                                                                //   1238                          %if atom flags&const bit # 0 %and atom1 = var %start
#line 1238 "regression-compile-tmp/pass1.imp"
if (((((ATOMFLAGS) & (8192))) == (0))) goto L_00ae;
#line 1238 "regression-compile-tmp/pass1.imp"
if (((ATOM1) != (91))) goto L_00ae;
                                                                //   1239                              map gg = const;  atom2 = const
#line 1239 "regression-compile-tmp/pass1.imp"
MAPGG = 93;
#line 1239 "regression-compile-tmp/pass1.imp"
ATOM2 = 93;
                                                                //   1240                              subatom = -subatom %if type = integer
#line 1240 "regression-compile-tmp/pass1.imp"
if (((TYPE) != (1))) goto L_00af;
#line 1240 "regression-compile-tmp/pass1.imp"
SUBATOM = (-(SUBATOM));
#line 1240 "regression-compile-tmp/pass1.imp"
L_00af:;
                                                                //   1241                          %finish
#line 1241 "regression-compile-tmp/pass1.imp"
L_00ae:;
                                                                //   1242                          %return
#line 1242 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1243                      %finish
#line 1243 "regression-compile-tmp/pass1.imp"
L_00a4:;
                                                                //   1244                                                                  !new name wanted
                                                                //   1245                      ->not in %if tbase # tstart;                !don't fault proc parm-parm
#line 1245 "regression-compile-tmp/pass1.imp"
if (((TBASE) == (TSTART))) goto L_00b0;
#line 1245 "regression-compile-tmp/pass1.imp"
goto U_100c;
#line 1245 "regression-compile-tmp/pass1.imp"
L_00b0:;
                                                                //   1246                      %if d = lab+spec+used bit %start
#line 1246 "regression-compile-tmp/pass1.imp"
if (((D) != (32899))) goto L_00b1;
                                                                //   1247                          t_flags = t_flags!used bit
#line 1247 "regression-compile-tmp/pass1.imp"
T->FLAGS = ((T->FLAGS) | (32768));
                                                                //   1248                          %return
#line 1248 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1249                      %finish
#line 1249 "regression-compile-tmp/pass1.imp"
L_00b1:;
                                                                //   1250                      %if atom flags&spec # 0 %start;            !a spec has been given
#line 1250 "regression-compile-tmp/pass1.imp"
if (((((ATOMFLAGS) & (128))) == (0))) goto L_00b2;
                                                                //   1251                          %if d = lab %start;                     !define label
#line 1251 "regression-compile-tmp/pass1.imp"
if (((D) != (3))) goto L_00b3;
                                                                //   1252                              t_flags = t_Flags-Spec
#line 1252 "regression-compile-tmp/pass1.imp"
T->FLAGS = (((int)(T->FLAGS)) - (128));
                                                                //   1253                              %return
#line 1253 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1254                          %finish
#line 1254 "regression-compile-tmp/pass1.imp"
L_00b3:;
                                                                //   1255                          %if 7 <= decl&15 %and decl&15 <= 10 %and decl&spec = 0 %start
#line 1255 "regression-compile-tmp/pass1.imp"
if (((7) > (((DECL) & (15))))) goto L_00b4;
#line 1255 "regression-compile-tmp/pass1.imp"
if (((((DECL) & (15))) > (10))) goto L_00b4;
#line 1255 "regression-compile-tmp/pass1.imp"
if (((((DECL) & (128))) != (0))) goto L_00b4;
                                                                //   1256                              !procedure definition after spec
                                                                //   1257                              %if (decl!!atom flags)&2_1111111 = 0 %start;  !correct type?
#line 1257 "regression-compile-tmp/pass1.imp"
if (((((((DECL) ^ (ATOMFLAGS))) & (127))) != (0))) goto L_00b5;
                                                                //   1258                                  t_flags = t_flags-spec
#line 1258 "regression-compile-tmp/pass1.imp"
T->FLAGS = (((int)(T->FLAGS)) - (128));
                                                                //   1259                                  spec given = 1
#line 1259 "regression-compile-tmp/pass1.imp"
SPECGIVEN = 1;
                                                                //   1260                                  %return
#line 1260 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1261                              %finish
#line 1261 "regression-compile-tmp/pass1.imp"
L_00b5:;
                                                                //   1262                              !note that an external procedure must be speced as a
                                                                //   1263                              !non-external procedure.
                                                                //   1264                          %finish
#line 1264 "regression-compile-tmp/pass1.imp"
L_00b4:;
                                                                //   1265                          %if decl&15 = recfm %start;              !recordformat
#line 1265 "regression-compile-tmp/pass1.imp"
if (((((DECL) & (15))) != (4))) goto L_00b6;
                                                                //   1266                              t_flags = record<<4+recfm
#line 1266 "regression-compile-tmp/pass1.imp"
T->FLAGS = (((int)(((4) << (4)))) + (4));
                                                                //   1267                              t_format = fdef
#line 1267 "regression-compile-tmp/pass1.imp"
T->FORMAT = FDEF;
                                                                //   1268                              %return
#line 1268 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1269                          %finish
#line 1269 "regression-compile-tmp/pass1.imp"
L_00b6:;
                                                                //   1270                      %finish
#line 1270 "regression-compile-tmp/pass1.imp"
L_00b2:;
                                                                //   1271                      %return %if last1 = jump %and atom1 = swit
#line 1271 "regression-compile-tmp/pass1.imp"
if (((LAST1) != (54))) goto L_00b7;
#line 1271 "regression-compile-tmp/pass1.imp"
if (((ATOM1) != (105))) goto L_00b7;
#line 1271 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1271 "regression-compile-tmp/pass1.imp"
L_00b7:;
                                                                //   1272                      copy = x %if copy = 0
#line 1272 "regression-compile-tmp/pass1.imp"
if (((COPY) != (0))) goto L_00b8;
#line 1272 "regression-compile-tmp/pass1.imp"
COPY = X;
#line 1272 "regression-compile-tmp/pass1.imp"
L_00b8:;
                                                                //   1273  notin:              app = 0;  vid = 0
#line 1273 "regression-compile-tmp/pass1.imp"
U_100c:;
#line 1273 "regression-compile-tmp/pass1.imp"
APP = 0;
#line 1273 "regression-compile-tmp/pass1.imp"
VID = 0;
                                                                //   1274                      atom1 = error+2
#line 1274 "regression-compile-tmp/pass1.imp"
ATOM1 = 32770;
                                                                //   1275  
                                                                //   1276                      %return %if d = 0;                         !old name wanted
#line 1276 "regression-compile-tmp/pass1.imp"
if (((D) != (0))) goto L_00b9;
#line 1276 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1276 "regression-compile-tmp/pass1.imp"
L_00b9:;
                                                                //   1277                      type = d>>4&7;  form = d&15;  atom1 = amap(form)
#line 1277 "regression-compile-tmp/pass1.imp"
TYPE = (((int)((((unsigned int)(D)) >> (4)))) & (7));
#line 1277 "regression-compile-tmp/pass1.imp"
FORM = ((D) & (15));
#line 1277 "regression-compile-tmp/pass1.imp"
ATOM1 = AMAP[FORM];
                                                                //   1278  
                                                                //   1279                      %if this < 0 %start;                       !normal scope
#line 1279 "regression-compile-tmp/pass1.imp"
if (((THIS) >= (0))) goto L_00ba;
                                                                //   1280                          new = newname
#line 1280 "regression-compile-tmp/pass1.imp"
NEW = NEWNAME;
                                                                //   1281                          tmax = tmax+1;  x = tmax
#line 1281 "regression-compile-tmp/pass1.imp"
TMAX = (((int)(TMAX)) + (1));
#line 1281 "regression-compile-tmp/pass1.imp"
X = TMAX;
                                                                //   1282                      %finish %else %start;                      !recordformat scope
#line 1282 "regression-compile-tmp/pass1.imp"
goto L_00bb;
#line 1282 "regression-compile-tmp/pass1.imp"
L_00ba:;
                                                                //   1283                          new = -1
#line 1283 "regression-compile-tmp/pass1.imp"
NEW = (-1);
                                                                //   1284                          recid = recid-1;  vid = recid
#line 1284 "regression-compile-tmp/pass1.imp"
RECID = (((int)(RECID)) - (1));
#line 1284 "regression-compile-tmp/pass1.imp"
VID = RECID;
                                                                //   1285                          tmin = tmin-1;  x = tmin
#line 1285 "regression-compile-tmp/pass1.imp"
TMIN = (((int)(TMIN)) - (1));
#line 1285 "regression-compile-tmp/pass1.imp"
X = TMIN;
                                                                //   1286                          format list = tmin
#line 1286 "regression-compile-tmp/pass1.imp"
FORMATLIST = TMIN;
                                                                //   1287                      %finish
#line 1287 "regression-compile-tmp/pass1.imp"
L_00bb:;
                                                                //   1288  
                                                                //   1289                      %if 11 <= form %and form <= 14 %start;               !arrays
#line 1289 "regression-compile-tmp/pass1.imp"
if (((11) > (FORM))) goto L_00bc;
#line 1289 "regression-compile-tmp/pass1.imp"
if (((FORM) > (14))) goto L_00bc;
                                                                //   1290                          dim = 1 %if dim = 0;                    !set dim for owns
#line 1290 "regression-compile-tmp/pass1.imp"
if (((DIM) != (0))) goto L_00bd;
#line 1290 "regression-compile-tmp/pass1.imp"
DIM = 1;
#line 1290 "regression-compile-tmp/pass1.imp"
L_00bd:;
                                                                //   1291                          app = dim
#line 1291 "regression-compile-tmp/pass1.imp"
APP = DIM;
                                                                //   1292                      %finish
#line 1292 "regression-compile-tmp/pass1.imp"
L_00bc:;
                                                                //   1293  
                                                                //   1294                      d = d!used bit %if (otype > 2 %and d&spec = 0) %or perm # 0 %or Level = Include Level
#line 1294 "regression-compile-tmp/pass1.imp"
if (((OTYPE) <= (2))) goto L_00be;
#line 1294 "regression-compile-tmp/pass1.imp"
if (((((D) & (128))) == (0))) goto L_0096;
#line 1294 "regression-compile-tmp/pass1.imp"
L_00be:;
#line 1294 "regression-compile-tmp/pass1.imp"
if (((PERM) != (0))) goto L_0096;
#line 1294 "regression-compile-tmp/pass1.imp"
if (((LEVEL) != (INCLUDELEVEL))) goto L_00bf;
#line 1294 "regression-compile-tmp/pass1.imp"
L_0096:;
#line 1294 "regression-compile-tmp/pass1.imp"
D = ((D) | (32768));
#line 1294 "regression-compile-tmp/pass1.imp"
L_00bf:;
                                                                //   1295  
                                                                //   1296                      !external definitions need not be used in the file in which
                                                                //   1297                      !they are defined, so inhibit a useless unused warning.
                                                                //   1298  
                                                                //   1299                      t == tag(x)
#line 1299 "regression-compile-tmp/pass1.imp"
T = &TAG[X];
                                                                //   1300                      %if form = lab %start
#line 1300 "regression-compile-tmp/pass1.imp"
if (((FORM) != (3))) goto L_00c0;
                                                                //   1301                          id = id+1;  vid = id
#line 1301 "regression-compile-tmp/pass1.imp"
ID = (((int)(ID)) + (1));
#line 1301 "regression-compile-tmp/pass1.imp"
VID = ID;
                                                                //   1302                      %finish
#line 1302 "regression-compile-tmp/pass1.imp"
L_00c0:;
                                                                //   1303                      t_index = vid
#line 1303 "regression-compile-tmp/pass1.imp"
T->INDEX = VID;
                                                                //   1304                      t_text   = new name
#line 1304 "regression-compile-tmp/pass1.imp"
T->TEXT = NEWNAME;
                                                                //   1305                      t_flags = d
#line 1305 "regression-compile-tmp/pass1.imp"
T->FLAGS = D;
                                                                //   1306                      t_app    = app
#line 1306 "regression-compile-tmp/pass1.imp"
T->APP = APP;
                                                                //   1307                      t_format = fdef;  format = fdef
#line 1307 "regression-compile-tmp/pass1.imp"
T->FORMAT = FDEF;
#line 1307 "regression-compile-tmp/pass1.imp"
FORMAT = FDEF;
                                                                //   1308                      subatom = x
#line 1308 "regression-compile-tmp/pass1.imp"
SUBATOM = X;
                                                                //   1309  
                                                                //   1310                      %if new >= 0 %start;                             !insert into hash table
#line 1310 "regression-compile-tmp/pass1.imp"
if (((NEW) < (0))) goto L_00c1;
                                                                //   1311                          t_link = dict(new);  dict(new) = x
#line 1311 "regression-compile-tmp/pass1.imp"
T->LINK = DICT[(((int)(NEW)) - (1))];
#line 1311 "regression-compile-tmp/pass1.imp"
DICT[(((int)(NEW)) - (1))] = X;
                                                                //   1312                          %if gmin = max grammar %start;                !proc param params
#line 1312 "regression-compile-tmp/pass1.imp"
if (((GMIN) != (1720))) goto L_00c2;
                                                                //   1313                              tmin = tmin-1;  subatom = tmin
#line 1313 "regression-compile-tmp/pass1.imp"
TMIN = (((int)(TMIN)) - (1));
#line 1313 "regression-compile-tmp/pass1.imp"
SUBATOM = TMIN;
                                                                //   1314                              tag(tmin) = t
#line 1314 "regression-compile-tmp/pass1.imp"
TAG[TMIN] = *T;
                                                                //   1315                          %finish
#line 1315 "regression-compile-tmp/pass1.imp"
L_00c2:;
                                                                //   1316                      %finish
#line 1316 "regression-compile-tmp/pass1.imp"
L_00c1:;
                                                                //   1317                      abandon(3) %if tmax >= tmin
#line 1317 "regression-compile-tmp/pass1.imp"
if (((TMAX) < (TMIN))) goto L_00c3;
#line 1317 "regression-compile-tmp/pass1.imp"
ABANDON(3);
#line 1317 "regression-compile-tmp/pass1.imp"
L_00c3:;
                                                                //   1318                  %end
#line 1318 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block LOOKUP at level 5
                                                                //   1319  
                                                                //   1320  top:            pos1 = pos
#line 1320 "regression-compile-tmp/pass1.imp"
U_100d:;
#line 1320 "regression-compile-tmp/pass1.imp"
POS1 = POS;
                                                                //   1321                  subatom = 0;  pend quote = 0;  atom flags = 0
#line 1321 "regression-compile-tmp/pass1.imp"
SUBATOM = 0;
#line 1321 "regression-compile-tmp/pass1.imp"
PENDQUOTE = 0;
#line 1321 "regression-compile-tmp/pass1.imp"
ATOMFLAGS = 0;
                                                                //   1322  
                                                                //   1323                  !app and format must be left for assigning to papp & pformat
                                                                //   1324                  ->name %if symtype = -2;               ! letter
#line 1324 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) != ((-2)))) goto L_00c4;
#line 1324 "regression-compile-tmp/pass1.imp"
goto U_100e;
#line 1324 "regression-compile-tmp/pass1.imp"
L_00c4:;
                                                                //   1325                  ->number %if symtype < 0;              ! digit
#line 1325 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) >= (0))) goto L_00c5;
#line 1325 "regression-compile-tmp/pass1.imp"
goto U_100f;
#line 1325 "regression-compile-tmp/pass1.imp"
L_00c5:;
                                                                //   1326                  %if symtype = 0 %start
#line 1326 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) != (0))) goto L_00c6;
                                                                //   1327                      atom1 = termin;  atom2 = 0
#line 1327 "regression-compile-tmp/pass1.imp"
ATOM1 = 20;
#line 1327 "regression-compile-tmp/pass1.imp"
ATOM2 = 0;
                                                                //   1328                      %return
#line 1328 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1329                  %finish
#line 1329 "regression-compile-tmp/pass1.imp"
L_00c6:;
                                                                //   1330                  %if symtype # 2 %start;                ! catch keywords here
#line 1330 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) == (2))) goto L_00c7;
                                                                //   1331                      ->text %if quote # 0;              ! completion of text
#line 1331 "regression-compile-tmp/pass1.imp"
if (((QUOTE) == (0))) goto L_00c8;
#line 1331 "regression-compile-tmp/pass1.imp"
goto U_1010;
#line 1331 "regression-compile-tmp/pass1.imp"
L_00c8:;
                                                                //   1332                      ->strings %if sym = squote;        ! start of string
#line 1332 "regression-compile-tmp/pass1.imp"
if (((SYM) != (34))) goto L_00c9;
#line 1332 "regression-compile-tmp/pass1.imp"
goto U_1011;
#line 1332 "regression-compile-tmp/pass1.imp"
L_00c9:;
                                                                //   1333                      ->symbols %if sym = cquote;        ! start of symbol
#line 1333 "regression-compile-tmp/pass1.imp"
if (((SYM) != (39))) goto L_00ca;
#line 1333 "regression-compile-tmp/pass1.imp"
goto U_1012;
#line 1333 "regression-compile-tmp/pass1.imp"
L_00ca:;
                                                                //   1334                      ->number %if sym = '.' %and '0' <= nextsymbol %and nextsymbol <= '9'
#line 1334 "regression-compile-tmp/pass1.imp"
if (((SYM) != (46))) goto L_00cb;
#line 1334 "regression-compile-tmp/pass1.imp"
if (((48) > (_imp_NEXTSYMBOL()))) goto L_00cb;
#line 1334 "regression-compile-tmp/pass1.imp"
if (((_imp_NEXTSYMBOL()) > (57))) goto L_00cb;
#line 1334 "regression-compile-tmp/pass1.imp"
goto U_100f;
#line 1334 "regression-compile-tmp/pass1.imp"
L_00cb:;
                                                                //   1335                  %finish
#line 1335 "regression-compile-tmp/pass1.imp"
L_00c7:;
                                                                //   1336  
                                                                //   1337                  ! locate atom in fixed dict
                                                                //   1338                  k = key>>2;  read sym
#line 1338 "regression-compile-tmp/pass1.imp"
K = (int)((((unsigned int)(KEY)) >> (2)));
#line 1338 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1339                  %cycle
#line 1339 "regression-compile-tmp/pass1.imp"
L_00cc:;
                                                                //   1340                      j = kdict(k)
#line 1340 "regression-compile-tmp/pass1.imp"
J = (KDICT-32)[K];
                                                                //   1341                      %exit %if j&16_4000 # 0
#line 1341 "regression-compile-tmp/pass1.imp"
if (((((J) & (16384))) == (0))) goto L_00cf;
#line 1341 "regression-compile-tmp/pass1.imp"
goto L_00cd;
#line 1341 "regression-compile-tmp/pass1.imp"
L_00cf:;
                                                                //   1342                      %if j&127 # sym %or symtype < 0 %start
#line 1342 "regression-compile-tmp/pass1.imp"
if (((((J) & (127))) != (SYM))) goto L_009e;
#line 1342 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) >= (0))) goto L_00d0;
#line 1342 "regression-compile-tmp/pass1.imp"
L_009e:;
                                                                //   1343                          ->err %unless j < 0
#line 1343 "regression-compile-tmp/pass1.imp"
if (((J) < (0))) goto L_00d1;
#line 1343 "regression-compile-tmp/pass1.imp"
goto U_1013;
#line 1343 "regression-compile-tmp/pass1.imp"
L_00d1:;
                                                                //   1344                          k = k+1
#line 1344 "regression-compile-tmp/pass1.imp"
K = (((int)(K)) + (1));
                                                                //   1345                      %finish %else %start
#line 1345 "regression-compile-tmp/pass1.imp"
goto L_00d2;
#line 1345 "regression-compile-tmp/pass1.imp"
L_00d0:;
                                                                //   1346                          l = j>>7&127;  read sym
#line 1346 "regression-compile-tmp/pass1.imp"
L = (((int)((((unsigned int)(J)) >> (7)))) & (127));
#line 1346 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1347                          %if j > 0 %start
#line 1347 "regression-compile-tmp/pass1.imp"
if (((J) <= (0))) goto L_00d3;
                                                                //   1348                              %if l # 0 %start
#line 1348 "regression-compile-tmp/pass1.imp"
if (((L) == (0))) goto L_00d4;
                                                                //   1349                                  ->err %if l # sym %or symtype < 0
#line 1349 "regression-compile-tmp/pass1.imp"
if (((L) != (SYM))) goto L_00d5;
#line 1349 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) >= (0))) goto L_00d6;
#line 1349 "regression-compile-tmp/pass1.imp"
L_00d5:;
#line 1349 "regression-compile-tmp/pass1.imp"
goto U_1013;
#line 1349 "regression-compile-tmp/pass1.imp"
L_00d6:;
                                                                //   1350                                  read sym
#line 1350 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1351                              %finish
#line 1351 "regression-compile-tmp/pass1.imp"
L_00d4:;
                                                                //   1352                              l = 1
#line 1352 "regression-compile-tmp/pass1.imp"
L = 1;
                                                                //   1353                          %finish
#line 1353 "regression-compile-tmp/pass1.imp"
L_00d3:;
                                                                //   1354                          k = k+l
#line 1354 "regression-compile-tmp/pass1.imp"
K = (((int)(K)) + (L));
                                                                //   1355                      %finish
#line 1355 "regression-compile-tmp/pass1.imp"
L_00d2:;
                                                                //   1356                  %repeat
#line 1356 "regression-compile-tmp/pass1.imp"
goto L_00cc;
#line 1356 "regression-compile-tmp/pass1.imp"
L_00cd:;
                                                                //   1357                  atom1 = j&127
#line 1357 "regression-compile-tmp/pass1.imp"
ATOM1 = ((J) & (127));
                                                                //   1358                  %if atom1 = 0 %start;                  ! comma
#line 1358 "regression-compile-tmp/pass1.imp"
if (((ATOM1) != (0))) goto L_00d7;
                                                                //   1359                      atom1 = 19;  subatom = 19;  atom2 = 0
#line 1359 "regression-compile-tmp/pass1.imp"
ATOM1 = 19;
#line 1359 "regression-compile-tmp/pass1.imp"
SUBATOM = 19;
#line 1359 "regression-compile-tmp/pass1.imp"
ATOM2 = 0;
                                                                //   1360                      %if sym = nl %start
#line 1360 "regression-compile-tmp/pass1.imp"
if (((SYM) != (10))) goto L_00d8;
                                                                //   1361                          %return %if ocount >= 0
#line 1361 "regression-compile-tmp/pass1.imp"
if (((OCOUNT) < (0))) goto L_00d9;
#line 1361 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1361 "regression-compile-tmp/pass1.imp"
L_00d9:;
                                                                //   1362  
                                                                //   1363                          ! special action needs to be taken with <comma nl> as
                                                                //   1364                          ! const array lists can be enormous
                                                                //   1365                          read sym
#line 1365 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1366                      %finish
#line 1366 "regression-compile-tmp/pass1.imp"
L_00d8:;
                                                                //   1367                      %return
#line 1367 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1368                  %finish
#line 1368 "regression-compile-tmp/pass1.imp"
L_00d7:;
                                                                //   1369                  atom2 = j>>7&127
#line 1369 "regression-compile-tmp/pass1.imp"
ATOM2 = (((int)((((unsigned int)(J)) >> (7)))) & (127));
                                                                //   1370                  subatom = kdict(k+1)&16_3fff
#line 1370 "regression-compile-tmp/pass1.imp"
SUBATOM = (((KDICT-32)[(((int)(K)) + (1))]) & (16383));
                                                                //   1371                  !!!!!cont = ' '
                                                                //   1372                  %return
#line 1372 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1373  
                                                                //   1374                  ! report an error. adjust the error marker (pos1) to point
                                                                //   1375                  ! to the faulty character in an atom, but care needs to be taken
                                                                //   1376                  ! to prevent misleading reports in cases like ...?????
                                                                //   1377  
                                                                //   1378  err:            atom1 = error+1;  atom2 = 0
#line 1378 "regression-compile-tmp/pass1.imp"
U_1013:;
#line 1378 "regression-compile-tmp/pass1.imp"
ATOM1 = 32769;
#line 1378 "regression-compile-tmp/pass1.imp"
ATOM2 = 0;
                                                                //   1379                  pos1 = pos %if pos-pos1 > 2
#line 1379 "regression-compile-tmp/pass1.imp"
if ((((((int)(POS)) - (POS1))) <= (2))) goto L_00da;
#line 1379 "regression-compile-tmp/pass1.imp"
POS1 = POS;
#line 1379 "regression-compile-tmp/pass1.imp"
L_00da:;
                                                                //   1380                  %return
#line 1380 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1381  
                                                                //   1382                  ! take care with strings and symbol constants.
                                                                //   1383                  ! make sure the constant is valid here before sucking it in
                                                                //   1384                  ! (and potentially loosing many lines)
                                                                //   1385  
                                                                //   1386  symbols:        atom1 = var;  atom2 = const;  type = integer
#line 1386 "regression-compile-tmp/pass1.imp"
U_1012:;
#line 1386 "regression-compile-tmp/pass1.imp"
ATOM1 = 91;
#line 1386 "regression-compile-tmp/pass1.imp"
ATOM2 = 93;
#line 1386 "regression-compile-tmp/pass1.imp"
TYPE = 1;
                                                                //   1387                  map gg = const;  protection = prot
#line 1387 "regression-compile-tmp/pass1.imp"
MAPGG = 93;
#line 1387 "regression-compile-tmp/pass1.imp"
PROTECTION = 256;
                                                                //   1388                  subatom = lp;  abandon(3) %if lp >= lit max
#line 1388 "regression-compile-tmp/pass1.imp"
SUBATOM = LP;
#line 1388 "regression-compile-tmp/pass1.imp"
if (((LP) < (50))) goto L_00db;
#line 1388 "regression-compile-tmp/pass1.imp"
ABANDON(3);
#line 1388 "regression-compile-tmp/pass1.imp"
L_00db:;
                                                                //   1389                  quote = \pend quote
#line 1389 "regression-compile-tmp/pass1.imp"
QUOTE = (~(PENDQUOTE));
                                                                //   1390                  %return
#line 1390 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1391  
                                                                //   1392                  ! an integer constant is acceptable so get it in and
                                                                //   1393                  ! get the next atom
                                                                //   1394  chars:          n = 0;  cont = cquote
#line 1394 "regression-compile-tmp/pass1.imp"
U_1014:;
#line 1394 "regression-compile-tmp/pass1.imp"
N = 0;
#line 1394 "regression-compile-tmp/pass1.imp"
CONT = 39;
                                                                //   1395                  %cycle
#line 1395 "regression-compile-tmp/pass1.imp"
L_00dc:;
                                                                //   1396                      read sym
#line 1396 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1397                      %if sym = cquote %start
#line 1397 "regression-compile-tmp/pass1.imp"
if (((SYM) != (39))) goto L_00df;
                                                                //   1398                          %exit %if nextsymbol # cquote
#line 1398 "regression-compile-tmp/pass1.imp"
if (((_imp_NEXTSYMBOL()) == (39))) goto L_00e0;
#line 1398 "regression-compile-tmp/pass1.imp"
goto L_00dd;
#line 1398 "regression-compile-tmp/pass1.imp"
L_00e0:;
                                                                //   1399                          read sym
#line 1399 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1400                      %finish
#line 1400 "regression-compile-tmp/pass1.imp"
L_00df:;
                                                                //   1401                      %if n&(\((-1)>>byte size)) # 0 %start; ! overflow
#line 1401 "regression-compile-tmp/pass1.imp"
if (((((N) & ((~((int)((((unsigned int)((-1))) >> (8)))))))) == (0))) goto L_00e1;
                                                                //   1402                          pos1 = pos;  atom1 = error+10;  %return
#line 1402 "regression-compile-tmp/pass1.imp"
POS1 = POS;
#line 1402 "regression-compile-tmp/pass1.imp"
ATOM1 = 32778;
#line 1402 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1403                      %finish
#line 1403 "regression-compile-tmp/pass1.imp"
L_00e1:;
                                                                //   1404                      ->err %if quote = 0
#line 1404 "regression-compile-tmp/pass1.imp"
if (((QUOTE) != (0))) goto L_00e2;
#line 1404 "regression-compile-tmp/pass1.imp"
goto U_1013;
#line 1404 "regression-compile-tmp/pass1.imp"
L_00e2:;
                                                                //   1405                      n = n<<byte size+sym
#line 1405 "regression-compile-tmp/pass1.imp"
N = (((int)(((N) << (8)))) + (SYM));
                                                                //   1406                      quote = quote+1
#line 1406 "regression-compile-tmp/pass1.imp"
QUOTE = (((int)(QUOTE)) + (1));
                                                                //   1407                  %repeat
#line 1407 "regression-compile-tmp/pass1.imp"
goto L_00dc;
#line 1407 "regression-compile-tmp/pass1.imp"
L_00dd:;
                                                                //   1408                  quote = 0;  cont = ' '
#line 1408 "regression-compile-tmp/pass1.imp"
QUOTE = 0;
#line 1408 "regression-compile-tmp/pass1.imp"
CONT = 32;
                                                                //   1409                  readsym %if sym # nl
#line 1409 "regression-compile-tmp/pass1.imp"
if (((SYM) == (10))) goto L_00e3;
#line 1409 "regression-compile-tmp/pass1.imp"
READSYM();
#line 1409 "regression-compile-tmp/pass1.imp"
L_00e3:;
                                                                //   1410                  lit pool(lp) = n;  lp = lp+1
#line 1410 "regression-compile-tmp/pass1.imp"
LITPOOL[LP] = N;
#line 1410 "regression-compile-tmp/pass1.imp"
LP = (((int)(LP)) + (1));
                                                                //   1411                  ->top
#line 1411 "regression-compile-tmp/pass1.imp"
goto U_100d;
                                                                //   1412  
                                                                //   1413                  !sniff the grammar before getting the string
                                                                //   1414  strings:        atom1 = var;  atom2 = const;  type = stringv
#line 1414 "regression-compile-tmp/pass1.imp"
U_1011:;
#line 1414 "regression-compile-tmp/pass1.imp"
ATOM1 = 91;
#line 1414 "regression-compile-tmp/pass1.imp"
ATOM2 = 93;
#line 1414 "regression-compile-tmp/pass1.imp"
TYPE = 3;
                                                                //   1415                  subatom = strp!16_4000
#line 1415 "regression-compile-tmp/pass1.imp"
SUBATOM = ((STRP) | (16384));
                                                                //   1416                  map gg = const;  protection = prot
#line 1416 "regression-compile-tmp/pass1.imp"
MAPGG = 93;
#line 1416 "regression-compile-tmp/pass1.imp"
PROTECTION = 256;
                                                                //   1417                  quote = subatom
#line 1417 "regression-compile-tmp/pass1.imp"
QUOTE = SUBATOM;
                                                                //   1418                  text line = lines;                     ! in case of errors
#line 1418 "regression-compile-tmp/pass1.imp"
TEXTLINE = LINES;
                                                                //   1419                  %return
#line 1419 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1420  
                                                                //   1421                  ! a string constant is ok here, so pull it in and get
                                                                //   1422                  ! the next atom
                                                                //   1423                  ! ABD - temp variable to help pack bytes into words
                                                                //   1424                  %integer flipflop
#line 1424 "regression-compile-tmp/pass1.imp"
int FLIPFLOP;
                                                                //   1425  
                                                                //   1426  text:           ->chars %if quote < 0;                 ! character consts
#line 1426 "regression-compile-tmp/pass1.imp"
U_1010:;
#line 1426 "regression-compile-tmp/pass1.imp"
if (((QUOTE) >= (0))) goto L_00e4;
#line 1426 "regression-compile-tmp/pass1.imp"
goto U_1014;
#line 1426 "regression-compile-tmp/pass1.imp"
L_00e4:;
                                                                //   1427                  l = strp;                              ! point to beginning
#line 1427 "regression-compile-tmp/pass1.imp"
L = STRP;
                                                                //   1428                  k = 0;                                 ! length so far
#line 1428 "regression-compile-tmp/pass1.imp"
K = 0;
                                                                //   1429                  flipflop = 0;                          ! space for the length is up the spout
#line 1429 "regression-compile-tmp/pass1.imp"
FLIPFLOP = 0;
                                                                //   1430  
                                                                //   1431                  %cycle
#line 1431 "regression-compile-tmp/pass1.imp"
L_00e5:;
                                                                //   1432                      cont = squote;  quote = 1
#line 1432 "regression-compile-tmp/pass1.imp"
CONT = 34;
#line 1432 "regression-compile-tmp/pass1.imp"
QUOTE = 1;
                                                                //   1433                      %cycle
#line 1433 "regression-compile-tmp/pass1.imp"
L_00e8:;
                                                                //   1434                          read sym
#line 1434 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1435                          %if sym = squote %start;       ! terminator?
#line 1435 "regression-compile-tmp/pass1.imp"
if (((SYM) != (34))) goto L_00eb;
                                                                //   1436                              %exit %if nextsymbol # squote; ! yes ->
#line 1436 "regression-compile-tmp/pass1.imp"
if (((_imp_NEXTSYMBOL()) == (34))) goto L_00ec;
#line 1436 "regression-compile-tmp/pass1.imp"
goto L_00e9;
#line 1436 "regression-compile-tmp/pass1.imp"
L_00ec:;
                                                                //   1437                              read sym;                  ! skip quote
#line 1437 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1438                          %finish
#line 1438 "regression-compile-tmp/pass1.imp"
L_00eb:;
                                                                //   1439                          %if flipflop >= 0 %start
#line 1439 "regression-compile-tmp/pass1.imp"
if (((FLIPFLOP) < (0))) goto L_00ed;
                                                                //   1440                              glink(strp) = sym<<8 + flipflop
#line 1440 "regression-compile-tmp/pass1.imp"
GLINK[STRP] = (((int)(((SYM) << (8)))) + (FLIPFLOP));
                                                                //   1441                              strp = strp+1
#line 1441 "regression-compile-tmp/pass1.imp"
STRP = (((int)(STRP)) + (1));
                                                                //   1442                              flipflop = -1
#line 1442 "regression-compile-tmp/pass1.imp"
FLIPFLOP = (-1);
                                                                //   1443                          %else
#line 1443 "regression-compile-tmp/pass1.imp"
goto L_00ee;
#line 1443 "regression-compile-tmp/pass1.imp"
L_00ed:;
                                                                //   1444                              flipflop = sym
#line 1444 "regression-compile-tmp/pass1.imp"
FLIPFLOP = SYM;
                                                                //   1445                          %finish
#line 1445 "regression-compile-tmp/pass1.imp"
L_00ee:;
                                                                //   1446                          k = k+1
#line 1446 "regression-compile-tmp/pass1.imp"
K = (((int)(K)) + (1));
                                                                //   1447                          lines = text line %and abandon(7) %if k > 255; ! too many chars
#line 1447 "regression-compile-tmp/pass1.imp"
if (((K) <= (255))) goto L_00ef;
#line 1447 "regression-compile-tmp/pass1.imp"
LINES = TEXTLINE;
#line 1447 "regression-compile-tmp/pass1.imp"
ABANDON(7);
#line 1447 "regression-compile-tmp/pass1.imp"
L_00ef:;
                                                                //   1448                      %repeat
#line 1448 "regression-compile-tmp/pass1.imp"
goto L_00e8;
#line 1448 "regression-compile-tmp/pass1.imp"
L_00e9:;
                                                                //   1449                      %if flipflop >=0 %start;           ! tail-end charlie
#line 1449 "regression-compile-tmp/pass1.imp"
if (((FLIPFLOP) < (0))) goto L_00f0;
                                                                //   1450                          glink(strp) = flipflop
#line 1450 "regression-compile-tmp/pass1.imp"
GLINK[STRP] = FLIPFLOP;
                                                                //   1451                          strp = strp+1
#line 1451 "regression-compile-tmp/pass1.imp"
STRP = (((int)(STRP)) + (1));
                                                                //   1452                      %finish
#line 1452 "regression-compile-tmp/pass1.imp"
L_00f0:;
                                                                //   1453                      glink(l) = glink(l)!k;             ! plug in length
#line 1453 "regression-compile-tmp/pass1.imp"
GLINK[L] = ((GLINK[L]) | (K));
                                                                //   1454  
                                                                //   1455                      quote = 0;  cont = ' ';  read sym
#line 1455 "regression-compile-tmp/pass1.imp"
QUOTE = 0;
#line 1455 "regression-compile-tmp/pass1.imp"
CONT = 32;
#line 1455 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1456                      code atom(target)
#line 1456 "regression-compile-tmp/pass1.imp"
CODEATOM(TARGET);
                                                                //   1457                      %return %unless atom1 = 48 %and sym = squote; ! fold "???"."+++"
#line 1457 "regression-compile-tmp/pass1.imp"
if (((ATOM1) != (48))) goto L_00ea;
#line 1457 "regression-compile-tmp/pass1.imp"
if (((SYM) == (34))) goto L_00f1;
#line 1457 "regression-compile-tmp/pass1.imp"
L_00ea:;
#line 1457 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1457 "regression-compile-tmp/pass1.imp"
L_00f1:;
                                                                //   1458                  %repeat
#line 1458 "regression-compile-tmp/pass1.imp"
goto L_00e5;
                                                                //   1459  
                                                                //   1460                  %routine get(%integer limit)
#line 1460 "regression-compile-tmp/pass1.imp"
void GET( int LIMIT )
#line 1460 "regression-compile-tmp/pass1.imp"
{
                                                                //   1461                      %integer s, shift
#line 1461 "regression-compile-tmp/pass1.imp"
int S;
#line 1461 "regression-compile-tmp/pass1.imp"
int SHIFT;
                                                                //   1462                      shift = 0
#line 1462 "regression-compile-tmp/pass1.imp"
SHIFT = 0;
                                                                //   1463                      %if base # 10 %start
#line 1463 "regression-compile-tmp/pass1.imp"
if (((BASE) == (10))) goto L_00e6;
                                                                //   1464                          %if base = 16 %start
#line 1464 "regression-compile-tmp/pass1.imp"
if (((BASE) != (16))) goto L_00f2;
                                                                //   1465                              shift = 4
#line 1465 "regression-compile-tmp/pass1.imp"
SHIFT = 4;
                                                                //   1466                          %finish %else %start
#line 1466 "regression-compile-tmp/pass1.imp"
goto L_00f3;
#line 1466 "regression-compile-tmp/pass1.imp"
L_00f2:;
                                                                //   1467                              %if base = 8 %start
#line 1467 "regression-compile-tmp/pass1.imp"
if (((BASE) != (8))) goto L_00f4;
                                                                //   1468                                  shift = 3
#line 1468 "regression-compile-tmp/pass1.imp"
SHIFT = 3;
                                                                //   1469                              %finish %else %start
#line 1469 "regression-compile-tmp/pass1.imp"
goto L_00f5;
#line 1469 "regression-compile-tmp/pass1.imp"
L_00f4:;
                                                                //   1470                                  %if base = 2 %start
#line 1470 "regression-compile-tmp/pass1.imp"
if (((BASE) != (2))) goto L_00f6;
                                                                //   1471                                      shift = 1
#line 1471 "regression-compile-tmp/pass1.imp"
SHIFT = 1;
                                                                //   1472                                  %finish
#line 1472 "regression-compile-tmp/pass1.imp"
L_00f6:;
                                                                //   1473                              %finish
#line 1473 "regression-compile-tmp/pass1.imp"
L_00f5:;
                                                                //   1474                          %finish
#line 1474 "regression-compile-tmp/pass1.imp"
L_00f3:;
                                                                //   1475                      %finish
#line 1475 "regression-compile-tmp/pass1.imp"
L_00e6:;
                                                                //   1476                      n = 0
#line 1476 "regression-compile-tmp/pass1.imp"
N = 0;
                                                                //   1477                      %cycle
#line 1477 "regression-compile-tmp/pass1.imp"
L_00f7:;
                                                                //   1478                          %if symtype = -1 %start;       ! digit
#line 1478 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) != ((-1)))) goto L_00fa;
                                                                //   1479                              s = sym-'0'
#line 1479 "regression-compile-tmp/pass1.imp"
S = (((int)(SYM)) - (48));
                                                                //   1480                          %finish %else %start
#line 1480 "regression-compile-tmp/pass1.imp"
goto L_00fb;
#line 1480 "regression-compile-tmp/pass1.imp"
L_00fa:;
                                                                //   1481                              %if symtype < 0 %start;    ! letter
#line 1481 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) >= (0))) goto L_00fc;
                                                                //   1482                                  s = sym-'A'+10
#line 1482 "regression-compile-tmp/pass1.imp"
S = (((int)((((int)(SYM)) - (65)))) + (10));
                                                                //   1483                              %finish %else %start
#line 1483 "regression-compile-tmp/pass1.imp"
goto L_00fd;
#line 1483 "regression-compile-tmp/pass1.imp"
L_00fc:;
                                                                //   1484                                  %return
#line 1484 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1485                              %finish
#line 1485 "regression-compile-tmp/pass1.imp"
L_00fd:;
                                                                //   1486                          %finish
#line 1486 "regression-compile-tmp/pass1.imp"
L_00fb:;
                                                                //   1487                          %return %if s >= limit
#line 1487 "regression-compile-tmp/pass1.imp"
if (((S) < (LIMIT))) goto L_00fe;
#line 1487 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1487 "regression-compile-tmp/pass1.imp"
L_00fe:;
                                                                //   1488                          pt = pt+1;  glink(pt) = sym
#line 1488 "regression-compile-tmp/pass1.imp"
PT = (((int)(PT)) + (1));
#line 1488 "regression-compile-tmp/pass1.imp"
GLINK[PT] = SYM;
                                                                //   1489                          %if base = 10 %start;          ! check overflow
#line 1489 "regression-compile-tmp/pass1.imp"
if (((BASE) != (10))) goto L_00ff;
                                                                //   1490                              %if n >= max int %and (s > max dig %or n > max int) %start
#line 1490 "regression-compile-tmp/pass1.imp"
if (((N) < (214748364))) goto L_0100;
#line 1490 "regression-compile-tmp/pass1.imp"
if (((S) > (7))) goto L_0085;
#line 1490 "regression-compile-tmp/pass1.imp"
if (((N) <= (214748364))) goto L_0100;
#line 1490 "regression-compile-tmp/pass1.imp"
L_0085:;
                                                                //   1491                                  !too big for an integer,
                                                                //   1492                                  !so call it a real
                                                                //   1493                                  base = 0;  type = real;  n = 0
#line 1493 "regression-compile-tmp/pass1.imp"
BASE = 0;
#line 1493 "regression-compile-tmp/pass1.imp"
TYPE = 2;
#line 1493 "regression-compile-tmp/pass1.imp"
N = 0;
                                                                //   1494                              %finish
#line 1494 "regression-compile-tmp/pass1.imp"
L_0100:;
                                                                //   1495                          %finish
#line 1495 "regression-compile-tmp/pass1.imp"
L_00ff:;
                                                                //   1496                          %if shift = 0 %start
#line 1496 "regression-compile-tmp/pass1.imp"
if (((SHIFT) != (0))) goto L_0101;
                                                                //   1497                              n = n*base+s
#line 1497 "regression-compile-tmp/pass1.imp"
N = (((int)((((int)(N)) * (BASE)))) + (S));
                                                                //   1498                          %finish %else %start
#line 1498 "regression-compile-tmp/pass1.imp"
goto L_0102;
#line 1498 "regression-compile-tmp/pass1.imp"
L_0101:;
                                                                //   1499                              n = n<<shift+s
#line 1499 "regression-compile-tmp/pass1.imp"
N = (((int)(((N) << (SHIFT)))) + (S));
                                                                //   1500                          %finish
#line 1500 "regression-compile-tmp/pass1.imp"
L_0102:;
                                                                //   1501                          read sym
#line 1501 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1502                      %repeat
#line 1502 "regression-compile-tmp/pass1.imp"
goto L_00f7;
                                                                //   1503                  %end
#line 1503 "regression-compile-tmp/pass1.imp"
return;
} // End of block GET at level 5
                                                                //   1504  
                                                                //   1505  number:         base = 10
#line 1505 "regression-compile-tmp/pass1.imp"
U_100f:;
#line 1505 "regression-compile-tmp/pass1.imp"
BASE = 10;
                                                                //   1506  bxk:            atom1 = var;  atom2 = const;  type = integer;  subatom = lp
#line 1506 "regression-compile-tmp/pass1.imp"
U_100c:;
#line 1506 "regression-compile-tmp/pass1.imp"
ATOM1 = 91;
#line 1506 "regression-compile-tmp/pass1.imp"
ATOM2 = 93;
#line 1506 "regression-compile-tmp/pass1.imp"
TYPE = 1;
#line 1506 "regression-compile-tmp/pass1.imp"
SUBATOM = LP;
                                                                //   1507                  map gg = const;  protection = prot
#line 1507 "regression-compile-tmp/pass1.imp"
MAPGG = 93;
#line 1507 "regression-compile-tmp/pass1.imp"
PROTECTION = 256;
                                                                //   1508                  abandon(3) %if lp >= lit max
#line 1508 "regression-compile-tmp/pass1.imp"
if (((LP) < (50))) goto L_00f8;
#line 1508 "regression-compile-tmp/pass1.imp"
ABANDON(3);
#line 1508 "regression-compile-tmp/pass1.imp"
L_00f8:;
                                                                //   1509                  pt = strp;  mul = 0
#line 1509 "regression-compile-tmp/pass1.imp"
PT = STRP;
#line 1509 "regression-compile-tmp/pass1.imp"
MUL = 0;
                                                                //   1510                  %cycle
#line 1510 "regression-compile-tmp/pass1.imp"
L_0103:;
                                                                //   1511                      get(base)
#line 1511 "regression-compile-tmp/pass1.imp"
GET(BASE);
                                                                //   1512                      %exit %unless sym = '_' %and base # 0 %and pend quote = 0; ! change of base
#line 1512 "regression-compile-tmp/pass1.imp"
if (((SYM) != (95))) goto L_0106;
#line 1512 "regression-compile-tmp/pass1.imp"
if (((BASE) == (0))) goto L_0106;
#line 1512 "regression-compile-tmp/pass1.imp"
if (((PENDQUOTE) == (0))) goto L_0107;
#line 1512 "regression-compile-tmp/pass1.imp"
L_0106:;
#line 1512 "regression-compile-tmp/pass1.imp"
goto L_0104;
#line 1512 "regression-compile-tmp/pass1.imp"
L_0107:;
                                                                //   1513                      pt = pt+1;  glink(pt) = '_'
#line 1513 "regression-compile-tmp/pass1.imp"
PT = (((int)(PT)) + (1));
#line 1513 "regression-compile-tmp/pass1.imp"
GLINK[PT] = 95;
                                                                //   1514                      read sym
#line 1514 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1515                      base = n
#line 1515 "regression-compile-tmp/pass1.imp"
BASE = N;
                                                                //   1516                  %repeat
#line 1516 "regression-compile-tmp/pass1.imp"
goto L_0103;
#line 1516 "regression-compile-tmp/pass1.imp"
L_0104:;
                                                                //   1517  
                                                                //   1518                  %if pend quote # 0 %start
#line 1518 "regression-compile-tmp/pass1.imp"
if (((PENDQUOTE) == (0))) goto L_0108;
                                                                //   1519                      ->err %if sym # cquote
#line 1519 "regression-compile-tmp/pass1.imp"
if (((SYM) == (39))) goto L_0109;
#line 1519 "regression-compile-tmp/pass1.imp"
goto U_1013;
#line 1519 "regression-compile-tmp/pass1.imp"
L_0109:;
                                                                //   1520                      readsym
#line 1520 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1521                  %finish
#line 1521 "regression-compile-tmp/pass1.imp"
L_0108:;
                                                                //   1522                  %if sym = '.' %start;                  ! a real constant
#line 1522 "regression-compile-tmp/pass1.imp"
if (((SYM) != (46))) goto L_010a;
                                                                //   1523                      pt = pt+1;  glink(pt) = '.'
#line 1523 "regression-compile-tmp/pass1.imp"
PT = (((int)(PT)) + (1));
#line 1523 "regression-compile-tmp/pass1.imp"
GLINK[PT] = 46;
                                                                //   1524                      read sym
#line 1524 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1525                      type = real;  n = base;  base = 0;  get(n)
#line 1525 "regression-compile-tmp/pass1.imp"
TYPE = 2;
#line 1525 "regression-compile-tmp/pass1.imp"
N = BASE;
#line 1525 "regression-compile-tmp/pass1.imp"
BASE = 0;
#line 1525 "regression-compile-tmp/pass1.imp"
GET(N);
                                                                //   1526                  %finish
#line 1526 "regression-compile-tmp/pass1.imp"
L_010a:;
                                                                //   1527  
                                                                //   1528                  %if sym = '@' %start;                  ! an exponent
#line 1528 "regression-compile-tmp/pass1.imp"
if (((SYM) != (64))) goto L_010b;
                                                                //   1529                      pt = pt+1;  glink(pt) = '@';  k = pt
#line 1529 "regression-compile-tmp/pass1.imp"
PT = (((int)(PT)) + (1));
#line 1529 "regression-compile-tmp/pass1.imp"
GLINK[PT] = 64;
#line 1529 "regression-compile-tmp/pass1.imp"
K = PT;
                                                                //   1530                      readsym
#line 1530 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1531                      type = integer;  base = 10
#line 1531 "regression-compile-tmp/pass1.imp"
TYPE = 1;
#line 1531 "regression-compile-tmp/pass1.imp"
BASE = 10;
                                                                //   1532                      %if sym = '-' %start
#line 1532 "regression-compile-tmp/pass1.imp"
if (((SYM) != (45))) goto L_010c;
                                                                //   1533                          read sym;  get(10);  n = -n
#line 1533 "regression-compile-tmp/pass1.imp"
READSYM();
#line 1533 "regression-compile-tmp/pass1.imp"
GET(10);
#line 1533 "regression-compile-tmp/pass1.imp"
N = (-(N));
                                                                //   1534                      %finish %else %start
#line 1534 "regression-compile-tmp/pass1.imp"
goto L_010d;
#line 1534 "regression-compile-tmp/pass1.imp"
L_010c:;
                                                                //   1535                          get(10)
#line 1535 "regression-compile-tmp/pass1.imp"
GET(10);
                                                                //   1536                      %finish
#line 1536 "regression-compile-tmp/pass1.imp"
L_010d:;
                                                                //   1537                      pt = k+1;  glink(pt) = lp;  litpool(lp) = n;  lp = lp+1
#line 1537 "regression-compile-tmp/pass1.imp"
PT = (((int)(K)) + (1));
#line 1537 "regression-compile-tmp/pass1.imp"
GLINK[PT] = LP;
#line 1537 "regression-compile-tmp/pass1.imp"
LITPOOL[LP] = N;
#line 1537 "regression-compile-tmp/pass1.imp"
LP = (((int)(LP)) + (1));
                                                                //   1538                      atom1 = error+10 %if base = 0
#line 1538 "regression-compile-tmp/pass1.imp"
if (((BASE) != (0))) goto L_010e;
#line 1538 "regression-compile-tmp/pass1.imp"
ATOM1 = 32778;
#line 1538 "regression-compile-tmp/pass1.imp"
L_010e:;
                                                                //   1539                      type = real;                       ! exponents force the type
#line 1539 "regression-compile-tmp/pass1.imp"
TYPE = 2;
                                                                //   1540                  %finish
#line 1540 "regression-compile-tmp/pass1.imp"
L_010b:;
                                                                //   1541  
                                                                //   1542                  %if type = real %start
#line 1542 "regression-compile-tmp/pass1.imp"
if (((TYPE) != (2))) goto L_010f;
                                                                //   1543                      glink(strp) = pt-strp;             ! store the length (difference)
#line 1543 "regression-compile-tmp/pass1.imp"
GLINK[STRP] = (((int)(PT)) - (STRP));
                                                                //   1544                      subatom = (strp)!16_2000;  strp = pt+1
#line 1544 "regression-compile-tmp/pass1.imp"
SUBATOM = ((STRP) | (8192));
#line 1544 "regression-compile-tmp/pass1.imp"
STRP = (((int)(PT)) + (1));
                                                                //   1545                  %finish %else %start
#line 1545 "regression-compile-tmp/pass1.imp"
goto L_0110;
#line 1545 "regression-compile-tmp/pass1.imp"
L_010f:;
                                                                //   1546                      litpool(lp) = n
#line 1546 "regression-compile-tmp/pass1.imp"
LITPOOL[LP] = N;
                                                                //   1547                      lp = lp+1
#line 1547 "regression-compile-tmp/pass1.imp"
LP = (((int)(LP)) + (1));
                                                                //   1548                  %finish
#line 1548 "regression-compile-tmp/pass1.imp"
L_0110:;
                                                                //   1549                  %return
#line 1549 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1550  
                                                                //   1551  name:           atom1 = 0 %and %return %if 27 <= target %and target <= 41
#line 1551 "regression-compile-tmp/pass1.imp"
U_100e:;
#line 1551 "regression-compile-tmp/pass1.imp"
if (((27) > (TARGET))) goto L_0111;
#line 1551 "regression-compile-tmp/pass1.imp"
if (((TARGET) > (41))) goto L_0111;
#line 1551 "regression-compile-tmp/pass1.imp"
ATOM1 = 0;
#line 1551 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1551 "regression-compile-tmp/pass1.imp"
L_0111:;
                                                                //   1552                  hash value = 0
#line 1552 "regression-compile-tmp/pass1.imp"
HASHVALUE = 0;
                                                                //   1553  
                                                                //   1554                  ! ABD changed to remove dependency on direct addressing
                                                                //   1555                  dp = dmax+1
#line 1555 "regression-compile-tmp/pass1.imp"
DP = (((int)(DMAX)) + (1));
                                                                //   1556                  dbase = dp
#line 1556 "regression-compile-tmp/pass1.imp"
DBASE = DP;
                                                                //   1557                  n = 0
#line 1557 "regression-compile-tmp/pass1.imp"
N = 0;
                                                                //   1558                  dict(dp) = 0
#line 1558 "regression-compile-tmp/pass1.imp"
DICT[(((int)(DP)) - (1))] = 0;
                                                                //   1559                  %cycle
#line 1559 "regression-compile-tmp/pass1.imp"
L_0112:;
                                                                //   1560                      hash value = hash value+(hash value+sym); ! is this good enough?
#line 1560 "regression-compile-tmp/pass1.imp"
HASHVALUE = ((HASHVALUE) + ((int)((((int)(HASHVALUE)) + (SYM)))));
                                                                //   1561                      dict(dp) = dict(dp) ! (sym << 8);
#line 1561 "regression-compile-tmp/pass1.imp"
DICT[(((int)(DP)) - (1))] = ((DICT[(((int)(DP)) - (1))]) | (((SYM) << (8))));
                                                                //   1562                      n = n+1
#line 1562 "regression-compile-tmp/pass1.imp"
N = (((int)(N)) + (1));
                                                                //   1563                      dp = dp+1
#line 1563 "regression-compile-tmp/pass1.imp"
DP = (((int)(DP)) + (1));
                                                                //   1564                      read sym
#line 1564 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1565                      %exit %if symtype >= 0
#line 1565 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) < (0))) goto L_0115;
#line 1565 "regression-compile-tmp/pass1.imp"
goto L_0113;
#line 1565 "regression-compile-tmp/pass1.imp"
L_0115:;
                                                                //   1566                      dict(dp) = sym;
#line 1566 "regression-compile-tmp/pass1.imp"
DICT[(((int)(DP)) - (1))] = SYM;
                                                                //   1567                      n = n+1
#line 1567 "regression-compile-tmp/pass1.imp"
N = (((int)(N)) + (1));
                                                                //   1568                      read sym
#line 1568 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1569                      %exit %if symtype >= 0
#line 1569 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) < (0))) goto L_0116;
#line 1569 "regression-compile-tmp/pass1.imp"
goto L_0113;
#line 1569 "regression-compile-tmp/pass1.imp"
L_0116:;
                                                                //   1570                  %repeat
#line 1570 "regression-compile-tmp/pass1.imp"
goto L_0112;
#line 1570 "regression-compile-tmp/pass1.imp"
L_0113:;
                                                                //   1571                  %if sym = cquote %start
#line 1571 "regression-compile-tmp/pass1.imp"
if (((SYM) != (39))) goto L_0117;
                                                                //   1572                      pend quote = 100
#line 1572 "regression-compile-tmp/pass1.imp"
PENDQUOTE = 100;
                                                                //   1573                      ->symbols %if hash value = 'M'
#line 1573 "regression-compile-tmp/pass1.imp"
if (((HASHVALUE) != (77))) goto L_0118;
#line 1573 "regression-compile-tmp/pass1.imp"
goto U_1012;
#line 1573 "regression-compile-tmp/pass1.imp"
L_0118:;
                                                                //   1574                      read sym
#line 1574 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1575                      %if hash value = 'X' %then base = 16 %and ->bxk
#line 1575 "regression-compile-tmp/pass1.imp"
if (((HASHVALUE) != (88))) goto L_0119;
#line 1575 "regression-compile-tmp/pass1.imp"
BASE = 16;
#line 1575 "regression-compile-tmp/pass1.imp"
goto U_100c;
#line 1575 "regression-compile-tmp/pass1.imp"
L_0119:;
                                                                //   1576                      %if hash value = 'K' %or hash value = 'O' %then base = 8 %and ->bxk
#line 1576 "regression-compile-tmp/pass1.imp"
if (((HASHVALUE) == (75))) goto L_011a;
#line 1576 "regression-compile-tmp/pass1.imp"
if (((HASHVALUE) != (79))) goto L_011b;
#line 1576 "regression-compile-tmp/pass1.imp"
L_011a:;
#line 1576 "regression-compile-tmp/pass1.imp"
BASE = 8;
#line 1576 "regression-compile-tmp/pass1.imp"
goto U_100c;
#line 1576 "regression-compile-tmp/pass1.imp"
L_011b:;
                                                                //   1577                      %if hash value = 'B' %then base = 2 %and ->bxk
#line 1577 "regression-compile-tmp/pass1.imp"
if (((HASHVALUE) != (66))) goto L_011c;
#line 1577 "regression-compile-tmp/pass1.imp"
BASE = 2;
#line 1577 "regression-compile-tmp/pass1.imp"
goto U_100c;
#line 1577 "regression-compile-tmp/pass1.imp"
L_011c:;
                                                                //   1578                      ->err
#line 1578 "regression-compile-tmp/pass1.imp"
goto U_1013;
                                                                //   1579                  %finish
#line 1579 "regression-compile-tmp/pass1.imp"
L_0117:;
                                                                //   1580                  dict(dbase) = dict(dbase)!n
#line 1580 "regression-compile-tmp/pass1.imp"
DICT[(((int)(DBASE)) - (1))] = ((DICT[(((int)(DBASE)) - (1))]) | (N));
                                                                //   1581                  %if n&1 = 0 %then dp = dp+1
#line 1581 "regression-compile-tmp/pass1.imp"
if (((((N) & (1))) != (0))) goto L_011d;
#line 1581 "regression-compile-tmp/pass1.imp"
DP = (((int)(DP)) + (1));
#line 1581 "regression-compile-tmp/pass1.imp"
L_011d:;
                                                                //   1582                  abandon(8) %if dp >= dmin
#line 1582 "regression-compile-tmp/pass1.imp"
if (((DP) < (DMIN))) goto L_011e;
#line 1582 "regression-compile-tmp/pass1.imp"
ABANDON(8);
#line 1582 "regression-compile-tmp/pass1.imp"
L_011e:;
                                                                //   1583  
                                                                //   1584                  atom2 = 90;                            ! ident
#line 1584 "regression-compile-tmp/pass1.imp"
ATOM2 = 90;
                                                                //   1585                  %if last1 = 0 %and sym = ':' %start;   ! label
#line 1585 "regression-compile-tmp/pass1.imp"
if (((LAST1) != (0))) goto L_011f;
#line 1585 "regression-compile-tmp/pass1.imp"
if (((SYM) != (58))) goto L_011f;
                                                                //   1586                      limit = local;  lookup(lab);  %return
#line 1586 "regression-compile-tmp/pass1.imp"
LIMIT = LOCAL;
#line 1586 "regression-compile-tmp/pass1.imp"
LOOKUP(3);
#line 1586 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1587                  %finish
#line 1587 "regression-compile-tmp/pass1.imp"
L_011f:;
                                                                //   1588                  %if last1 = jump %start;               ! ->label
#line 1588 "regression-compile-tmp/pass1.imp"
if (((LAST1) != (54))) goto L_0120;
                                                                //   1589                      limit = local;  lookup(lab+spec+used bit);  %return
#line 1589 "regression-compile-tmp/pass1.imp"
LIMIT = LOCAL;
#line 1589 "regression-compile-tmp/pass1.imp"
LOOKUP(32899);
#line 1589 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1590                  %finish
#line 1590 "regression-compile-tmp/pass1.imp"
L_0120:;
                                                                //   1591                  %if decl # 0 %and target = 90 %start;  ! identifier
#line 1591 "regression-compile-tmp/pass1.imp"
if (((DECL) == (0))) goto L_0121;
#line 1591 "regression-compile-tmp/pass1.imp"
if (((TARGET) != (90))) goto L_0121;
                                                                //   1592                      search base = fm base
#line 1592 "regression-compile-tmp/pass1.imp"
SEARCHBASE = FMBASE;
                                                                //   1593                      limit = local;  lookup(decl)
#line 1593 "regression-compile-tmp/pass1.imp"
LIMIT = LOCAL;
#line 1593 "regression-compile-tmp/pass1.imp"
LOOKUP(DECL);
                                                                //   1594                      search base = 0
#line 1594 "regression-compile-tmp/pass1.imp"
SEARCHBASE = 0;
                                                                //   1595                  %finish %else %start
#line 1595 "regression-compile-tmp/pass1.imp"
goto L_0122;
#line 1595 "regression-compile-tmp/pass1.imp"
L_0121:;
                                                                //   1596                      limit = 0;  lookup(0)
#line 1596 "regression-compile-tmp/pass1.imp"
LIMIT = 0;
#line 1596 "regression-compile-tmp/pass1.imp"
LOOKUP(0);
                                                                //   1597                  %finish
#line 1597 "regression-compile-tmp/pass1.imp"
L_0122:;
                                                                //   1598              %end
#line 1598 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CODEATOM at level 4
                                                                //   1599  
                                                                //   1600              %integerfn parsed machine code
#line 1600 "regression-compile-tmp/pass1.imp"
int PARSEDMACHINECODE( void )
#line 1600 "regression-compile-tmp/pass1.imp"
{
                                                                //   1601                  !   *opcode_??????????
                                                                //   1602                  atom1 = error %and %result=0 %unless symtype = -2; ! starts with letter
#line 1602 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) == ((-2)))) goto L_0123;
#line 1602 "regression-compile-tmp/pass1.imp"
ATOM1 = 32768;
#line 1602 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1602 "regression-compile-tmp/pass1.imp"
L_0123:;
                                                                //   1603                  flush buffer( 128 );                   ! flush if bp >= 128
#line 1603 "regression-compile-tmp/pass1.imp"
FLUSHBUFFER(128);
                                                                //   1604                  add char( 'w' )
#line 1604 "regression-compile-tmp/pass1.imp"
ADDCHAR(119);
                                                                //   1605                  %cycle
#line 1605 "regression-compile-tmp/pass1.imp"
L_0124:;
                                                                //   1606                      add char( sym ); read sym
#line 1606 "regression-compile-tmp/pass1.imp"
ADDCHAR(SYM);
#line 1606 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1607                  %repeat %until Sym = '_' %or Symtype = 0; ! pull in letters and digits
#line 1607 "regression-compile-tmp/pass1.imp"
if (((SYM) == (95))) goto L_0125;
#line 1607 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) == (0))) goto L_0125;
#line 1607 "regression-compile-tmp/pass1.imp"
goto L_0124;
#line 1607 "regression-compile-tmp/pass1.imp"
L_0125:;
                                                                //   1608                  add char( '_' )
#line 1608 "regression-compile-tmp/pass1.imp"
ADDCHAR(95);
                                                                //   1609                  %if symtype # 0 %start;                ! not terminator
#line 1609 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) == (0))) goto L_0127;
                                                                //   1610                      read sym
#line 1610 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1611                      %while symtype # 0 %cycle
#line 1611 "regression-compile-tmp/pass1.imp"
L_0128:;
#line 1611 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) == (0))) goto L_0129;
                                                                //   1612                          %if symtype < 0 %start;        ! complex
#line 1612 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) >= (0))) goto L_012b;
                                                                //   1613                              code atom(0);  %result=0 %if atom1&error # 0
#line 1613 "regression-compile-tmp/pass1.imp"
CODEATOM(0);
#line 1613 "regression-compile-tmp/pass1.imp"
if (((((ATOM1) & (32768))) == (0))) goto L_012c;
#line 1613 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1613 "regression-compile-tmp/pass1.imp"
L_012c:;
                                                                //   1614                              %if atom2 = const %and type = integer %start
#line 1614 "regression-compile-tmp/pass1.imp"
if (((ATOM2) != (93))) goto L_012d;
#line 1614 "regression-compile-tmp/pass1.imp"
if (((TYPE) != (1))) goto L_012d;
                                                                //   1615                                  %if subatom < 0 %then set const(tag(-subatom)_format) %else set const(litpool(subatom))
#line 1615 "regression-compile-tmp/pass1.imp"
if (((SUBATOM) >= (0))) goto L_012e;
#line 1615 "regression-compile-tmp/pass1.imp"
SETCONST(TAG[(-(SUBATOM))].FORMAT);
#line 1615 "regression-compile-tmp/pass1.imp"
goto L_012f;
#line 1615 "regression-compile-tmp/pass1.imp"
L_012e:;
#line 1615 "regression-compile-tmp/pass1.imp"
SETCONST(LITPOOL[SUBATOM]);
#line 1615 "regression-compile-tmp/pass1.imp"
L_012f:;
                                                                //   1616                              %finish %else %if 91 <= atom1 %and atom1 <= 109 %start
#line 1616 "regression-compile-tmp/pass1.imp"
goto L_0130;
#line 1616 "regression-compile-tmp/pass1.imp"
L_012d:;
#line 1616 "regression-compile-tmp/pass1.imp"
if (((91) > (ATOM1))) goto L_0131;
#line 1616 "regression-compile-tmp/pass1.imp"
if (((ATOM1) > (109))) goto L_0131;
                                                                //   1617                                  %if atom1 = 104 %and Tag(Subatom)_Flags&Closed = 0 %start
#line 1617 "regression-compile-tmp/pass1.imp"
if (((ATOM1) != (104))) goto L_0132;
#line 1617 "regression-compile-tmp/pass1.imp"
if (((((TAG[SUBATOM].FLAGS) & (16384))) != (0))) goto L_0132;
                                                                //   1618                                      This = Subatom;  Atom1 = Error+21
#line 1618 "regression-compile-tmp/pass1.imp"
THIS = SUBATOM;
#line 1618 "regression-compile-tmp/pass1.imp"
ATOM1 = 32789;
                                                                //   1619                                      %result = 0
#line 1619 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1620                                  %finish
#line 1620 "regression-compile-tmp/pass1.imp"
L_0132:;
                                                                //   1621                                  op(' ', tag(subatom)_index)
#line 1621 "regression-compile-tmp/pass1.imp"
OP(32, TAG[SUBATOM].INDEX);
                                                                //   1622                              %finish %else %start
#line 1622 "regression-compile-tmp/pass1.imp"
goto L_0130;
#line 1622 "regression-compile-tmp/pass1.imp"
L_0131:;
                                                                //   1623                                  atom1 = error;  %result=0
#line 1623 "regression-compile-tmp/pass1.imp"
ATOM1 = 32768;
#line 1623 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1624                              %finish
#line 1624 "regression-compile-tmp/pass1.imp"
L_0130:;
                                                                //   1625                          %finish %else %start
#line 1625 "regression-compile-tmp/pass1.imp"
goto L_0133;
#line 1625 "regression-compile-tmp/pass1.imp"
L_012b:;
                                                                //   1626                              sym = sym!128 %if symtype = 2      {underline with %}
#line 1626 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) != (2))) goto L_0134;
#line 1626 "regression-compile-tmp/pass1.imp"
SYM = ((SYM) | (128));
#line 1626 "regression-compile-tmp/pass1.imp"
L_0134:;
                                                                //   1627                              add char( sym ); read sym
#line 1627 "regression-compile-tmp/pass1.imp"
ADDCHAR(SYM);
#line 1627 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1628                          %finish
#line 1628 "regression-compile-tmp/pass1.imp"
L_0133:;
                                                                //   1629                      %repeat
#line 1629 "regression-compile-tmp/pass1.imp"
goto L_0128;
#line 1629 "regression-compile-tmp/pass1.imp"
L_0129:;
                                                                //   1630                  %finish
#line 1630 "regression-compile-tmp/pass1.imp"
L_0127:;
                                                                //   1631                  add char( ';' )
#line 1631 "regression-compile-tmp/pass1.imp"
ADDCHAR(59);
                                                                //   1632                  %result=1
#line 1632 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   1633              %end
#line 1633 "regression-compile-tmp/pass1.imp"
} // End of block PARSEDMACHINECODE at level 4
                                                                //   1634  
                                                                //   1635              cont = ' ' %if gg = 0
#line 1635 "regression-compile-tmp/pass1.imp"
if (((GG) != (0))) goto L_0135;
#line 1635 "regression-compile-tmp/pass1.imp"
CONT = 32;
#line 1635 "regression-compile-tmp/pass1.imp"
L_0135:;
                                                                //   1636              last1 = 0;  mapgg = 0
#line 1636 "regression-compile-tmp/pass1.imp"
LAST1 = 0;
#line 1636 "regression-compile-tmp/pass1.imp"
MAPGG = 0;
                                                                //   1637              s = 0;  ss = 0;  sstype = -1; fdef = 0
#line 1637 "regression-compile-tmp/pass1.imp"
S = 0;
#line 1637 "regression-compile-tmp/pass1.imp"
SS = 0;
#line 1637 "regression-compile-tmp/pass1.imp"
SSTYPE = (-1);
#line 1637 "regression-compile-tmp/pass1.imp"
FDEF = 0;
                                                                //   1638              fm base = 0
#line 1638 "regression-compile-tmp/pass1.imp"
FMBASE = 0;
                                                                //   1639              app = 0
#line 1639 "regression-compile-tmp/pass1.imp"
APP = 0;
                                                                //   1640  
                                                                //   1641              ! deal with alignment following an error in one statement
                                                                //   1642              ! of several on a line
                                                                //   1643              margin = column;                           ! start of statement
#line 1643 "regression-compile-tmp/pass1.imp"
MARGIN = COLUMN;
                                                                //   1644              pos = 0
#line 1644 "regression-compile-tmp/pass1.imp"
POS = 0;
                                                                //   1645              strp = gmax+1;  lp = 0
#line 1645 "regression-compile-tmp/pass1.imp"
STRP = (((int)(GMAX)) + (1));
#line 1645 "regression-compile-tmp/pass1.imp"
LP = 0;
                                                                //   1646              tbase = tstart;                            ! ??????????????
#line 1646 "regression-compile-tmp/pass1.imp"
TBASE = TSTART;
                                                                //   1647              local = tbase
#line 1647 "regression-compile-tmp/pass1.imp"
LOCAL = TBASE;
                                                                //   1648  
                                                                //   1649              %if gg = 0 %or ocount >= 0 %start;         ! data or not continuation(z)
#line 1649 "regression-compile-tmp/pass1.imp"
if (((GG) == (0))) goto L_0126;
#line 1649 "regression-compile-tmp/pass1.imp"
if (((OCOUNT) < (0))) goto L_0136;
#line 1649 "regression-compile-tmp/pass1.imp"
L_0126:;
                                                                //   1650  again:          %while sym type = 0 %cycle;            ! skip redundant terminators
#line 1650 "regression-compile-tmp/pass1.imp"
U_1006:;
#line 1650 "regression-compile-tmp/pass1.imp"
L_0137:;
#line 1650 "regression-compile-tmp/pass1.imp"
if (((SYMTYPE) != (0))) goto L_0138;
                                                                //   1651                      c = cont
#line 1651 "regression-compile-tmp/pass1.imp"
C = CONT;
                                                                //   1652                      cont = ' ';  cont = '+' %if ocount >= 0
#line 1652 "regression-compile-tmp/pass1.imp"
CONT = 32;
#line 1652 "regression-compile-tmp/pass1.imp"
if (((OCOUNT) < (0))) goto L_013a;
#line 1652 "regression-compile-tmp/pass1.imp"
CONT = 43;
#line 1652 "regression-compile-tmp/pass1.imp"
L_013a:;
                                                                //   1653                      read sym
#line 1653 "regression-compile-tmp/pass1.imp"
READSYM();
                                                                //   1654                      cont = c
#line 1654 "regression-compile-tmp/pass1.imp"
CONT = C;
                                                                //   1655                  %repeat
#line 1655 "regression-compile-tmp/pass1.imp"
goto L_0137;
#line 1655 "regression-compile-tmp/pass1.imp"
L_0138:;
                                                                //   1656                  ->skip %if sym = '!';                  ! comment
#line 1656 "regression-compile-tmp/pass1.imp"
if (((SYM) != (33))) goto L_013b;
#line 1656 "regression-compile-tmp/pass1.imp"
goto U_1007;
#line 1656 "regression-compile-tmp/pass1.imp"
L_013b:;
                                                                //   1657                  this = -1
#line 1657 "regression-compile-tmp/pass1.imp"
THIS = (-1);
                                                                //   1658                  code atom(0)
#line 1658 "regression-compile-tmp/pass1.imp"
CODEATOM(0);
                                                                //   1659                  %if atom1 = comment %start
#line 1659 "regression-compile-tmp/pass1.imp"
if (((ATOM1) != (22))) goto L_013c;
                                                                //   1660  skip:               quote = 1
#line 1660 "regression-compile-tmp/pass1.imp"
U_1007:;
#line 1660 "regression-compile-tmp/pass1.imp"
QUOTE = 1;
                                                                //   1661                      c = cont
#line 1661 "regression-compile-tmp/pass1.imp"
C = CONT;
                                                                //   1662                      read sym %and cont = c %while sym # nl; ! skip to end of line
#line 1662 "regression-compile-tmp/pass1.imp"
L_013d:;
#line 1662 "regression-compile-tmp/pass1.imp"
if (((SYM) == (10))) goto L_013e;
#line 1662 "regression-compile-tmp/pass1.imp"
READSYM();
#line 1662 "regression-compile-tmp/pass1.imp"
CONT = C;
#line 1662 "regression-compile-tmp/pass1.imp"
goto L_013d;
#line 1662 "regression-compile-tmp/pass1.imp"
L_013e:;
                                                                //   1663                      quote = 0;  symtype = 0
#line 1663 "regression-compile-tmp/pass1.imp"
QUOTE = 0;
#line 1663 "regression-compile-tmp/pass1.imp"
SYMTYPE = 0;
                                                                //   1664                      ->again
#line 1664 "regression-compile-tmp/pass1.imp"
goto U_1006;
                                                                //   1665                  %finish
#line 1665 "regression-compile-tmp/pass1.imp"
L_013c:;
                                                                //   1666              %finish
#line 1666 "regression-compile-tmp/pass1.imp"
L_0136:;
                                                                //   1667              decl = 0;  mark = 0
#line 1667 "regression-compile-tmp/pass1.imp"
DECL = 0;
#line 1667 "regression-compile-tmp/pass1.imp"
MARK = 0;
                                                                //   1668              gentype = 0;  force = 0
#line 1668 "regression-compile-tmp/pass1.imp"
GENTYPE = 0;
#line 1668 "regression-compile-tmp/pass1.imp"
FORCE = 0;
                                                                //   1669              dim = 0;  prot err = 0
#line 1669 "regression-compile-tmp/pass1.imp"
DIM = 0;
#line 1669 "regression-compile-tmp/pass1.imp"
PROTERR = 0;
                                                                //   1670              node = 0;  nmax = 0;  nmin = rec size+1
#line 1670 "regression-compile-tmp/pass1.imp"
NODE = 0;
#line 1670 "regression-compile-tmp/pass1.imp"
NMAX = 0;
#line 1670 "regression-compile-tmp/pass1.imp"
NMIN = 521;
                                                                //   1671              order = 1;  gmin = max grammar+1
#line 1671 "regression-compile-tmp/pass1.imp"
ORDER = 1;
#line 1671 "regression-compile-tmp/pass1.imp"
GMIN = 1721;
                                                                //   1672              sstype = 0 %and ->more %if gg # 0;         ! continuation
#line 1672 "regression-compile-tmp/pass1.imp"
if (((GG) == (0))) goto L_0140;
#line 1672 "regression-compile-tmp/pass1.imp"
SSTYPE = 0;
#line 1672 "regression-compile-tmp/pass1.imp"
goto U_1008;
#line 1672 "regression-compile-tmp/pass1.imp"
L_0140:;
                                                                //   1673              ptype = 0;  spec given = 0
#line 1673 "regression-compile-tmp/pass1.imp"
PTYPE = 0;
#line 1673 "regression-compile-tmp/pass1.imp"
SPECGIVEN = 0;
                                                                //   1674  
                                                                //   1675              stats = stats+1;  op('O', lines) %if perm = 0
#line 1675 "regression-compile-tmp/pass1.imp"
STATS = (((int)(STATS)) + (1));
#line 1675 "regression-compile-tmp/pass1.imp"
if (((PERM) != (0))) goto L_0141;
#line 1675 "regression-compile-tmp/pass1.imp"
OP(79, LINES);
#line 1675 "regression-compile-tmp/pass1.imp"
L_0141:;
                                                                //   1676  
                                                                //   1677              ->fail1 %if atom1&error # 0;               ! first atom faulty
#line 1677 "regression-compile-tmp/pass1.imp"
if (((((ATOM1) & (32768))) == (0))) goto L_0142;
#line 1677 "regression-compile-tmp/pass1.imp"
goto U_1009;
#line 1677 "regression-compile-tmp/pass1.imp"
L_0142:;
                                                                //   1678  
                                                                //   1679              %if escape class # 0 %start;               ! enter the hard way after
#line 1679 "regression-compile-tmp/pass1.imp"
if (((ESCAPECLASS) == (0))) goto L_0143;
                                                                //   1680                  g = imp phrase;  sstype = -1;  ->a3
#line 1680 "regression-compile-tmp/pass1.imp"
G = 25;
#line 1680 "regression-compile-tmp/pass1.imp"
SSTYPE = (-1);
#line 1680 "regression-compile-tmp/pass1.imp"
goto U_100a;
                                                                //   1681              %finish
#line 1681 "regression-compile-tmp/pass1.imp"
L_0143:;
                                                                //   1682  
                                                                //   1683              g = initial(atom1);                        ! pick up entry point
#line 1683 "regression-compile-tmp/pass1.imp"
G = INITIAL[ATOM1];
                                                                //   1684              %if g = 0 %start;                          ! invalid first atom
#line 1684 "regression-compile-tmp/pass1.imp"
if (((G) != (0))) goto L_0144;
                                                                //   1685                  g = initial(0);  sstype = 0;  ->a3;    ! declarator?
#line 1685 "regression-compile-tmp/pass1.imp"
G = INITIAL[0];
#line 1685 "regression-compile-tmp/pass1.imp"
SSTYPE = 0;
#line 1685 "regression-compile-tmp/pass1.imp"
goto U_100a;
                                                                //   1686              %finish
#line 1686 "regression-compile-tmp/pass1.imp"
L_0144:;
                                                                //   1687              %if g < 0 %start;                          ! phrase imp
#line 1687 "regression-compile-tmp/pass1.imp"
if (((G) >= (0))) goto L_0145;
                                                                //   1688                  g = g&255
#line 1688 "regression-compile-tmp/pass1.imp"
G = ((G) & (255));
                                                                //   1689                  nmax = 1
#line 1689 "regression-compile-tmp/pass1.imp"
NMAX = 1;
                                                                //   1690                  ar(1)_class = 0;  ar(1)_link = 0;  ar(1)_sub = imp phrase
#line 1690 "regression-compile-tmp/pass1.imp"
AR[0].CLASS = 0;
#line 1690 "regression-compile-tmp/pass1.imp"
AR[0].LINK = 0;
#line 1690 "regression-compile-tmp/pass1.imp"
AR[0].SUB = 25;
                                                                //   1691              %finish
#line 1691 "regression-compile-tmp/pass1.imp"
L_0145:;
                                                                //   1692  
                                                                //   1693              gg = gram(g);  class = gg&255;  sstype = gg>>12&3-1
#line 1693 "regression-compile-tmp/pass1.imp"
GG = GRAM[G];
#line 1693 "regression-compile-tmp/pass1.imp"
CLASS = ((GG) & (255));
#line 1693 "regression-compile-tmp/pass1.imp"
SSTYPE = (((int)((((int)((((unsigned int)(GG)) >> (12)))) & (3)))) - (1));
                                                                //   1694              ->a1
#line 1694 "regression-compile-tmp/pass1.imp"
goto U_1015;
                                                                //   1695  
                                                                //   1696  act(194):   ptype = type;  papp = app;  pformat = format;  ->more
#line 1696 "regression-compile-tmp/pass1.imp"
sw3_ACT_194:;
#line 1696 "regression-compile-tmp/pass1.imp"
PTYPE = TYPE;
#line 1696 "regression-compile-tmp/pass1.imp"
PAPP = APP;
#line 1696 "regression-compile-tmp/pass1.imp"
PFORMAT = FORMAT;
#line 1696 "regression-compile-tmp/pass1.imp"
goto U_1008;
                                                                //   1697  act(196):   k =g+1;  ->a610
#line 1697 "regression-compile-tmp/pass1.imp"
sw3_ACT_196:;
#line 1697 "regression-compile-tmp/pass1.imp"
K = (((int)(G)) + (1));
#line 1697 "regression-compile-tmp/pass1.imp"
goto U_1016;
                                                                //   1698  act(188):   k = ar(nmax)_sub+1
#line 1698 "regression-compile-tmp/pass1.imp"
sw3_ACT_188:;
#line 1698 "regression-compile-tmp/pass1.imp"
K = (((int)(AR[(((int)(NMAX)) - (1))].SUB)) + (1));
                                                                //   1699  a610:       papp = glink(k)
#line 1699 "regression-compile-tmp/pass1.imp"
U_1016:;
#line 1699 "regression-compile-tmp/pass1.imp"
PAPP = GLINK[K];
                                                                //   1700              k = gram(k)
#line 1700 "regression-compile-tmp/pass1.imp"
K = GRAM[K];
                                                                //   1701              ->more %if k = 0;                          ! %name
#line 1701 "regression-compile-tmp/pass1.imp"
if (((K) != (0))) goto L_0146;
#line 1701 "regression-compile-tmp/pass1.imp"
goto U_1008;
#line 1701 "regression-compile-tmp/pass1.imp"
L_0146:;
                                                                //   1702              ptype = k&7;  pformat = k>>3
#line 1702 "regression-compile-tmp/pass1.imp"
PTYPE = ((K) & (7));
#line 1702 "regression-compile-tmp/pass1.imp"
PFORMAT = (int)((((unsigned int)(K)) >> (3)));
                                                                //   1703  act(183):   k = type;  gentype = k %if gentype = 0 %or k = real
#line 1703 "regression-compile-tmp/pass1.imp"
sw3_ACT_183:;
#line 1703 "regression-compile-tmp/pass1.imp"
K = TYPE;
#line 1703 "regression-compile-tmp/pass1.imp"
if (((GENTYPE) == (0))) goto L_0147;
#line 1703 "regression-compile-tmp/pass1.imp"
if (((K) != (2))) goto L_0148;
#line 1703 "regression-compile-tmp/pass1.imp"
L_0147:;
#line 1703 "regression-compile-tmp/pass1.imp"
GENTYPE = K;
#line 1703 "regression-compile-tmp/pass1.imp"
L_0148:;
                                                                //   1704              %if pformat < 0 %start;                    ! general type
#line 1704 "regression-compile-tmp/pass1.imp"
if (((PFORMAT) >= (0))) goto L_0149;
                                                                //   1705                  app = papp;  format = pformat
#line 1705 "regression-compile-tmp/pass1.imp"
APP = PAPP;
#line 1705 "regression-compile-tmp/pass1.imp"
FORMAT = PFORMAT;
                                                                //   1706                  k = real %if ptype = real %and type = integer
#line 1706 "regression-compile-tmp/pass1.imp"
if (((PTYPE) != (2))) goto L_014a;
#line 1706 "regression-compile-tmp/pass1.imp"
if (((TYPE) != (1))) goto L_014a;
#line 1706 "regression-compile-tmp/pass1.imp"
K = 2;
#line 1706 "regression-compile-tmp/pass1.imp"
L_014a:;
                                                                //   1707                  k = force %and force = 0 %if force # 0
#line 1707 "regression-compile-tmp/pass1.imp"
if (((FORCE) == (0))) goto L_014b;
#line 1707 "regression-compile-tmp/pass1.imp"
K = FORCE;
#line 1707 "regression-compile-tmp/pass1.imp"
FORCE = 0;
#line 1707 "regression-compile-tmp/pass1.imp"
L_014b:;
                                                                //   1708              %finish
#line 1708 "regression-compile-tmp/pass1.imp"
L_0149:;
                                                                //   1709              ->fail2 %unless papp = app %and (ptype = k %or ptype = 0)
#line 1709 "regression-compile-tmp/pass1.imp"
if (((PAPP) != (APP))) goto L_014c;
#line 1709 "regression-compile-tmp/pass1.imp"
if (((PTYPE) == (K))) goto L_014d;
#line 1709 "regression-compile-tmp/pass1.imp"
if (((PTYPE) == (0))) goto L_014d;
#line 1709 "regression-compile-tmp/pass1.imp"
L_014c:;
#line 1709 "regression-compile-tmp/pass1.imp"
goto U_1017;
#line 1709 "regression-compile-tmp/pass1.imp"
L_014d:;
                                                                //   1710              ->more %if pformat=format %or pformat = 0 %or format = 0
#line 1710 "regression-compile-tmp/pass1.imp"
if (((PFORMAT) == (FORMAT))) goto L_014e;
#line 1710 "regression-compile-tmp/pass1.imp"
if (((PFORMAT) == (0))) goto L_014e;
#line 1710 "regression-compile-tmp/pass1.imp"
if (((FORMAT) != (0))) goto L_014f;
#line 1710 "regression-compile-tmp/pass1.imp"
L_014e:;
#line 1710 "regression-compile-tmp/pass1.imp"
goto U_1008;
#line 1710 "regression-compile-tmp/pass1.imp"
L_014f:;
                                                                //   1711              ->fail2
#line 1711 "regression-compile-tmp/pass1.imp"
goto U_1017;
                                                                //   1712  act(197):   arp == ar(nmin)
#line 1712 "regression-compile-tmp/pass1.imp"
sw3_ACT_197:;
#line 1712 "regression-compile-tmp/pass1.imp"
ARP = &AR[(((int)(NMIN)) - (1))];
                                                                //   1713              k = arp_sub
#line 1713 "regression-compile-tmp/pass1.imp"
K = ARP->SUB;
                                                                //   1714              ->fail3 %unless block form = k&15
#line 1714 "regression-compile-tmp/pass1.imp"
if (((BLOCKFORM) == (((K) & (15))))) goto L_0150;
#line 1714 "regression-compile-tmp/pass1.imp"
goto U_1018;
#line 1714 "regression-compile-tmp/pass1.imp"
L_0150:;
                                                                //   1715              arp_sub = k>>4
#line 1715 "regression-compile-tmp/pass1.imp"
ARP->SUB = (int)((((unsigned int)(K)) >> (4)));
                                                                //   1716  
                                                                //   1717              type = block type
#line 1717 "regression-compile-tmp/pass1.imp"
TYPE = BLOCKTYPE;
                                                                //   1718              ptype = block type;  pformat = block fm;  papp = app
#line 1718 "regression-compile-tmp/pass1.imp"
PTYPE = BLOCKTYPE;
#line 1718 "regression-compile-tmp/pass1.imp"
PFORMAT = BLOCKFM;
#line 1718 "regression-compile-tmp/pass1.imp"
PAPP = APP;
                                                                //   1719              pformat = -1 %if ptype # record
#line 1719 "regression-compile-tmp/pass1.imp"
if (((PTYPE) == (4))) goto L_0151;
#line 1719 "regression-compile-tmp/pass1.imp"
PFORMAT = (-1);
#line 1719 "regression-compile-tmp/pass1.imp"
L_0151:;
                                                                //   1720              ->more
#line 1720 "regression-compile-tmp/pass1.imp"
goto U_1008;
                                                                //   1721  act(195):   ->Fail2 %if Type # 0 %and Type # Integer %and Type # Real
#line 1721 "regression-compile-tmp/pass1.imp"
sw3_ACT_195:;
#line 1721 "regression-compile-tmp/pass1.imp"
if (((TYPE) == (0))) goto L_0152;
#line 1721 "regression-compile-tmp/pass1.imp"
if (((TYPE) == (1))) goto L_0152;
#line 1721 "regression-compile-tmp/pass1.imp"
if (((TYPE) == (2))) goto L_0152;
#line 1721 "regression-compile-tmp/pass1.imp"
goto U_1017;
#line 1721 "regression-compile-tmp/pass1.imp"
L_0152:;
                                                                //   1722              arp == ar(nmin)
#line 1722 "regression-compile-tmp/pass1.imp"
ARP = &AR[(((int)(NMIN)) - (1))];
                                                                //   1723              k = arp_sub
#line 1723 "regression-compile-tmp/pass1.imp"
K = ARP->SUB;
                                                                //   1724              arp_sub = k>>2
#line 1724 "regression-compile-tmp/pass1.imp"
ARP->SUB = (int)((((unsigned int)(K)) >> (2)));
                                                                //   1725              k = k&3
#line 1725 "regression-compile-tmp/pass1.imp"
K = ((K) & (3));
                                                                //   1726                                                         ! 1 = check integer
                                                                //   1727                                                         ! 2 = check real
                                                                //   1728                                                         ! 3 = check real + int
                                                                //   1729              ->more %if k = 0;                          ! 0 = no action
#line 1729 "regression-compile-tmp/pass1.imp"
if (((K) != (0))) goto L_0153;
#line 1729 "regression-compile-tmp/pass1.imp"
goto U_1008;
#line 1729 "regression-compile-tmp/pass1.imp"
L_0153:;
                                                                //   1730              %if k = 1 %start
#line 1730 "regression-compile-tmp/pass1.imp"
if (((K) != (1))) goto L_0154;
                                                                //   1731                  force = integer
#line 1731 "regression-compile-tmp/pass1.imp"
FORCE = 1;
                                                                //   1732                  ->more %if type = integer %or type = 0
#line 1732 "regression-compile-tmp/pass1.imp"
if (((TYPE) == (1))) goto L_0139;
#line 1732 "regression-compile-tmp/pass1.imp"
if (((TYPE) != (0))) goto L_0155;
#line 1732 "regression-compile-tmp/pass1.imp"
L_0139:;
#line 1732 "regression-compile-tmp/pass1.imp"
goto U_1008;
#line 1732 "regression-compile-tmp/pass1.imp"
L_0155:;
                                                                //   1733                  ->fail2
#line 1733 "regression-compile-tmp/pass1.imp"
goto U_1017;
                                                                //   1734              %finish
#line 1734 "regression-compile-tmp/pass1.imp"
L_0154:;
                                                                //   1735              ->fail2 %unless ptype = real %or ptype = 0; ! {or added?}
#line 1735 "regression-compile-tmp/pass1.imp"
if (((PTYPE) == (2))) goto L_0156;
#line 1735 "regression-compile-tmp/pass1.imp"
if (((PTYPE) == (0))) goto L_0156;
#line 1735 "regression-compile-tmp/pass1.imp"
goto U_1017;
#line 1735 "regression-compile-tmp/pass1.imp"
L_0156:;
                                                                //   1736              force = integer %if k = 3
#line 1736 "regression-compile-tmp/pass1.imp"
if (((K) != (3))) goto L_0157;
#line 1736 "regression-compile-tmp/pass1.imp"
FORCE = 1;
#line 1736 "regression-compile-tmp/pass1.imp"
L_0157:;
                                                                //   1737              ->more
#line 1737 "regression-compile-tmp/pass1.imp"
goto U_1008;
                                                                //   1738  act(198):   ! %OTHER
#line 1738 "regression-compile-tmp/pass1.imp"
sw3_ACT_198:;
                                                                //   1739              k = gg>>8&15
#line 1739 "regression-compile-tmp/pass1.imp"
K = (((int)((((unsigned int)(GG)) >> (8)))) & (15));
                                                                //   1740              %if k = 0 %start;                          ! restore atom
#line 1740 "regression-compile-tmp/pass1.imp"
if (((K) != (0))) goto L_0158;
                                                                //   1741                  atom1 = last1
#line 1741 "regression-compile-tmp/pass1.imp"
ATOM1 = LAST1;
                                                                //   1742                  ->more
#line 1742 "regression-compile-tmp/pass1.imp"
goto U_1008;
                                                                //   1743              %finish
#line 1743 "regression-compile-tmp/pass1.imp"
L_0158:;
                                                                //   1744              %if k = 1 %start;                          ! test string
#line 1744 "regression-compile-tmp/pass1.imp"
if (((K) != (1))) goto L_0159;
                                                                //   1745                  ->fail2 %unless type = stringv
#line 1745 "regression-compile-tmp/pass1.imp"
if (((TYPE) == (3))) goto L_015a;
#line 1745 "regression-compile-tmp/pass1.imp"
goto U_1017;
#line 1745 "regression-compile-tmp/pass1.imp"
L_015a:;
                                                                //   1746                  ->more
#line 1746 "regression-compile-tmp/pass1.imp"
goto U_1008;
                                                                //   1747              %finish
#line 1747 "regression-compile-tmp/pass1.imp"
L_0159:;
                                                                //   1748              %if k = 2 %start;                          ! {fault record comparisons}
#line 1748 "regression-compile-tmp/pass1.imp"
if (((K) != (2))) goto L_015b;
                                                                //   1749                  ->fail2 %if type = record
#line 1749 "regression-compile-tmp/pass1.imp"
if (((TYPE) != (4))) goto L_015c;
#line 1749 "regression-compile-tmp/pass1.imp"
goto U_1017;
#line 1749 "regression-compile-tmp/pass1.imp"
L_015c:;
                                                                //   1750                  ->more
#line 1750 "regression-compile-tmp/pass1.imp"
goto U_1008;
                                                                //   1751              %finish
#line 1751 "regression-compile-tmp/pass1.imp"
L_015b:;
                                                                //   1752              %if k = 3 %start;                          ! check OWN variable coming
#line 1752 "regression-compile-tmp/pass1.imp"
if (((K) != (3))) goto L_015d;
                                                                //   1753                  code atom(0)
#line 1753 "regression-compile-tmp/pass1.imp"
CODEATOM(0);
                                                                //   1754                  ->A7 %if atom flags&own bit = 0
#line 1754 "regression-compile-tmp/pass1.imp"
if (((((ATOMFLAGS) & (512))) != (0))) goto L_015e;
#line 1754 "regression-compile-tmp/pass1.imp"
goto U_1019;
#line 1754 "regression-compile-tmp/pass1.imp"
L_015e:;
                                                                //   1755                  ->more
#line 1755 "regression-compile-tmp/pass1.imp"
goto U_1008;
                                                                //   1756              %finish
#line 1756 "regression-compile-tmp/pass1.imp"
L_015d:;
                                                                //   1757              for warn = pos1 %if x <= local;            ! %for TEST
#line 1757 "regression-compile-tmp/pass1.imp"
if (((X) > (LOCAL))) goto L_015f;
#line 1757 "regression-compile-tmp/pass1.imp"
FORWARN = POS1;
#line 1757 "regression-compile-tmp/pass1.imp"
L_015f:;
                                                                //   1758              ->more
#line 1758 "regression-compile-tmp/pass1.imp"
goto U_1008;
                                                                //   1759  paction(1): %if type = record %then g = phrase(242) %else pformat = -1; ->a3
#line 1759 "regression-compile-tmp/pass1.imp"
sw4_PACTION_1:;
#line 1759 "regression-compile-tmp/pass1.imp"
if (((TYPE) != (4))) goto L_0160;
#line 1759 "regression-compile-tmp/pass1.imp"
G = (PHRASE-200)[242];
#line 1759 "regression-compile-tmp/pass1.imp"
goto L_0161;
#line 1759 "regression-compile-tmp/pass1.imp"
L_0160:;
#line 1759 "regression-compile-tmp/pass1.imp"
PFORMAT = (-1);
#line 1759 "regression-compile-tmp/pass1.imp"
L_0161:;
#line 1759 "regression-compile-tmp/pass1.imp"
goto U_100a;
                                                                //   1760  paction(2): ptype = real;     pformat = -1;                             ->a3
#line 1760 "regression-compile-tmp/pass1.imp"
sw4_PACTION_2:;
#line 1760 "regression-compile-tmp/pass1.imp"
PTYPE = 2;
#line 1760 "regression-compile-tmp/pass1.imp"
PFORMAT = (-1);
#line 1760 "regression-compile-tmp/pass1.imp"
goto U_100a;
                                                                //   1761  paction(3): ptype = stringv;  pformat = -1;                             ->a3
#line 1761 "regression-compile-tmp/pass1.imp"
sw4_PACTION_3:;
#line 1761 "regression-compile-tmp/pass1.imp"
PTYPE = 3;
#line 1761 "regression-compile-tmp/pass1.imp"
PFORMAT = (-1);
#line 1761 "regression-compile-tmp/pass1.imp"
goto U_100a;
                                                                //   1762  paction(4): ptype = integer;  pformat = -1;                             ->a3
#line 1762 "regression-compile-tmp/pass1.imp"
sw4_PACTION_4:;
#line 1762 "regression-compile-tmp/pass1.imp"
PTYPE = 1;
#line 1762 "regression-compile-tmp/pass1.imp"
PFORMAT = (-1);
#line 1762 "regression-compile-tmp/pass1.imp"
goto U_100a;
                                                                //   1763  paction(5): ->a3 %if ptype = integer
#line 1763 "regression-compile-tmp/pass1.imp"
sw4_PACTION_5:;
#line 1763 "regression-compile-tmp/pass1.imp"
if (((PTYPE) != (1))) goto L_0162;
#line 1763 "regression-compile-tmp/pass1.imp"
goto U_100a;
#line 1763 "regression-compile-tmp/pass1.imp"
L_0162:;
                                                                //   1764              g = phrase(212) %and pformat=-1 %if ptype = real
#line 1764 "regression-compile-tmp/pass1.imp"
if (((PTYPE) != (2))) goto L_0163;
#line 1764 "regression-compile-tmp/pass1.imp"
G = (PHRASE-200)[212];
#line 1764 "regression-compile-tmp/pass1.imp"
PFORMAT = (-1);
#line 1764 "regression-compile-tmp/pass1.imp"
L_0163:;
                                                                //   1765              g = phrase(213) %if ptype = stringv
#line 1765 "regression-compile-tmp/pass1.imp"
if (((PTYPE) != (3))) goto L_0164;
#line 1765 "regression-compile-tmp/pass1.imp"
G = (PHRASE-200)[213];
#line 1765 "regression-compile-tmp/pass1.imp"
L_0164:;
                                                                //   1766                                                                          ->a3
#line 1766 "regression-compile-tmp/pass1.imp"
goto U_100a;
                                                                //   1767  paction(6): ptype = gram(ar(nmax)_sub+1)&7;  pformat = -1;              ->a3
#line 1767 "regression-compile-tmp/pass1.imp"
sw4_PACTION_6:;
#line 1767 "regression-compile-tmp/pass1.imp"
PTYPE = ((GRAM[(((int)(AR[(((int)(NMAX)) - (1))].SUB)) + (1))]) & (7));
#line 1767 "regression-compile-tmp/pass1.imp"
PFORMAT = (-1);
#line 1767 "regression-compile-tmp/pass1.imp"
goto U_100a;
                                                                //   1768  paction(7): ptype=real %if ptype = integer;  pformat = -1;              ->a3
#line 1768 "regression-compile-tmp/pass1.imp"
sw4_PACTION_7:;
#line 1768 "regression-compile-tmp/pass1.imp"
if (((PTYPE) != (1))) goto L_0165;
#line 1768 "regression-compile-tmp/pass1.imp"
PTYPE = 2;
#line 1768 "regression-compile-tmp/pass1.imp"
L_0165:;
#line 1768 "regression-compile-tmp/pass1.imp"
PFORMAT = (-1);
#line 1768 "regression-compile-tmp/pass1.imp"
goto U_100a;
                                                                //   1769  
                                                                //   1770  a1:         last1 = class;  atom1 = 0;  s = subatom
#line 1770 "regression-compile-tmp/pass1.imp"
U_1015:;
#line 1770 "regression-compile-tmp/pass1.imp"
LAST1 = CLASS;
#line 1770 "regression-compile-tmp/pass1.imp"
ATOM1 = 0;
#line 1770 "regression-compile-tmp/pass1.imp"
S = SUBATOM;
                                                                //   1771  a2:         %if gg&trans bit = 0 %start;               ! insert into analysis record
#line 1771 "regression-compile-tmp/pass1.imp"
U_101a:;
#line 1771 "regression-compile-tmp/pass1.imp"
if (((((GG) & (16384))) != (0))) goto L_0166;
                                                                //   1772                  z == node
#line 1772 "regression-compile-tmp/pass1.imp"
Z = &NODE;
                                                                //   1773                  %cycle;                                ! insert cell in order
#line 1773 "regression-compile-tmp/pass1.imp"
L_0167:;
                                                                //   1774                      k = z
#line 1774 "regression-compile-tmp/pass1.imp"
K = *Z;
                                                                //   1775                      %exit %if gg&order bits = 0 %or k = 0
#line 1775 "regression-compile-tmp/pass1.imp"
if (((((GG) & (12288))) == (0))) goto L_013f;
#line 1775 "regression-compile-tmp/pass1.imp"
if (((K) != (0))) goto L_016a;
#line 1775 "regression-compile-tmp/pass1.imp"
L_013f:;
#line 1775 "regression-compile-tmp/pass1.imp"
goto L_0168;
#line 1775 "regression-compile-tmp/pass1.imp"
L_016a:;
                                                                //   1776                      gg = gg-order bit;  z == ar(k)_link
#line 1776 "regression-compile-tmp/pass1.imp"
GG = (((int)(GG)) - (4096));
#line 1776 "regression-compile-tmp/pass1.imp"
Z = &AR[(((int)(K)) - (1))].LINK;
                                                                //   1777                  %repeat
#line 1777 "regression-compile-tmp/pass1.imp"
goto L_0167;
#line 1777 "regression-compile-tmp/pass1.imp"
L_0168:;
                                                                //   1778                  gg = map gg %if map gg # 0 %and gg&255 = var
#line 1778 "regression-compile-tmp/pass1.imp"
if (((MAPGG) == (0))) goto L_016b;
#line 1778 "regression-compile-tmp/pass1.imp"
if (((((GG) & (255))) != (91))) goto L_016b;
#line 1778 "regression-compile-tmp/pass1.imp"
GG = MAPGG;
#line 1778 "regression-compile-tmp/pass1.imp"
L_016b:;
                                                                //   1779                  nmin = nmin-1;  ->fail0 %if nmin = nmax
#line 1779 "regression-compile-tmp/pass1.imp"
NMIN = (((int)(NMIN)) - (1));
#line 1779 "regression-compile-tmp/pass1.imp"
if (((NMIN) != (NMAX))) goto L_016c;
#line 1779 "regression-compile-tmp/pass1.imp"
goto U_100d;
#line 1779 "regression-compile-tmp/pass1.imp"
L_016c:;
                                                                //   1780                  z = nmin
#line 1780 "regression-compile-tmp/pass1.imp"
*Z = NMIN;
                                                                //   1781                  arp == ar(nmin)
#line 1781 "regression-compile-tmp/pass1.imp"
ARP = &AR[(((int)(NMIN)) - (1))];
                                                                //   1782                  arp_sub = s;  arp_class = (gg&255)!mark
#line 1782 "regression-compile-tmp/pass1.imp"
ARP->SUB = S;
#line 1782 "regression-compile-tmp/pass1.imp"
ARP->CLASS = ((((GG) & (255))) | (MARK));
                                                                //   1783                  arp_link = k
#line 1783 "regression-compile-tmp/pass1.imp"
ARP->LINK = K;
                                                                //   1784              %finish
#line 1784 "regression-compile-tmp/pass1.imp"
L_0166:;
                                                                //   1785              mark = 0;  map gg = 0
#line 1785 "regression-compile-tmp/pass1.imp"
MARK = 0;
#line 1785 "regression-compile-tmp/pass1.imp"
MAPGG = 0;
                                                                //   1786  more:       g = glink(g);                              ! chain down the grammar
#line 1786 "regression-compile-tmp/pass1.imp"
U_1008:;
#line 1786 "regression-compile-tmp/pass1.imp"
G = GLINK[G];
                                                                //   1787  paction(0):
#line 1787 "regression-compile-tmp/pass1.imp"
sw4_PACTION_0:;
                                                                //   1788  a3:         gg = gram(g);  class = gg&255
#line 1788 "regression-compile-tmp/pass1.imp"
U_100a:;
#line 1788 "regression-compile-tmp/pass1.imp"
GG = GRAM[G];
#line 1788 "regression-compile-tmp/pass1.imp"
CLASS = ((GG) & (255));
                                                                //   1789              trace analysis %if diag&1 # 0
#line 1789 "regression-compile-tmp/pass1.imp"
if (((((DIAG) & (1))) == (0))) goto L_016d;
#line 1789 "regression-compile-tmp/pass1.imp"
TRACEANALYSIS();
#line 1789 "regression-compile-tmp/pass1.imp"
L_016d:;
                                                                //   1790              ->a5 %if class = 0;                        ! end of phrase
#line 1790 "regression-compile-tmp/pass1.imp"
if (((CLASS) != (0))) goto L_016e;
#line 1790 "regression-compile-tmp/pass1.imp"
goto U_100e;
#line 1790 "regression-compile-tmp/pass1.imp"
L_016e:;
                                                                //   1791  
                                                                //   1792              %if class < actions %start;                ! not a phrase or an action
#line 1792 "regression-compile-tmp/pass1.imp"
if (((CLASS) >= (180))) goto L_016f;
                                                                //   1793                  class = atomic(class) %if class >= figurative
#line 1793 "regression-compile-tmp/pass1.imp"
if (((CLASS) < (130))) goto L_0170;
#line 1793 "regression-compile-tmp/pass1.imp"
CLASS = (ATOMIC-130)[CLASS];
#line 1793 "regression-compile-tmp/pass1.imp"
L_0170:;
                                                                //   1794                  ->a2 %if class >= manifest
#line 1794 "regression-compile-tmp/pass1.imp"
if (((CLASS) < (120))) goto L_0171;
#line 1794 "regression-compile-tmp/pass1.imp"
goto U_101a;
#line 1794 "regression-compile-tmp/pass1.imp"
L_0171:;
                                                                //   1795                  code atom(class) %if atom1 = 0
#line 1795 "regression-compile-tmp/pass1.imp"
if (((ATOM1) != (0))) goto L_0172;
#line 1795 "regression-compile-tmp/pass1.imp"
CODEATOM(CLASS);
#line 1795 "regression-compile-tmp/pass1.imp"
L_0172:;
                                                                //   1796                  %if escape class # 0 %start;           ! escape to new grammar
#line 1796 "regression-compile-tmp/pass1.imp"
if (((ESCAPECLASS) == (0))) goto L_0173;
                                                                //   1797                      class = escape class;  escape class = 0
#line 1797 "regression-compile-tmp/pass1.imp"
CLASS = ESCAPECLASS;
#line 1797 "regression-compile-tmp/pass1.imp"
ESCAPECLASS = 0;
                                                                //   1798                      g = g+escape
#line 1798 "regression-compile-tmp/pass1.imp"
G = (((int)(G)) + (4096));
                                                                //   1799  
                                                                //   1800                      ! note that following an escape the next item is
                                                                //   1801                      ! forced to be transparent!
                                                                //   1802  
                                                                //   1803  esc:                gg = 0
#line 1803 "regression-compile-tmp/pass1.imp"
U_100f:;
#line 1803 "regression-compile-tmp/pass1.imp"
GG = 0;
                                                                //   1804                      arp == ar(nmax+1)
#line 1804 "regression-compile-tmp/pass1.imp"
ARP = &AR[(((int)((((int)(NMAX)) + (1)))) - (1))];
                                                                //   1805                      arp_papp = papp;  arp_x = x;  ->a4
#line 1805 "regression-compile-tmp/pass1.imp"
ARP->PAPP = PAPP;
#line 1805 "regression-compile-tmp/pass1.imp"
ARP->X = X;
#line 1805 "regression-compile-tmp/pass1.imp"
goto U_1010;
                                                                //   1806                  %finish
#line 1806 "regression-compile-tmp/pass1.imp"
L_0173:;
                                                                //   1807  
                                                                //   1808                  ->a1 %if class = atom1 %or class = atom2
#line 1808 "regression-compile-tmp/pass1.imp"
if (((CLASS) == (ATOM1))) goto L_0169;
#line 1808 "regression-compile-tmp/pass1.imp"
if (((CLASS) != (ATOM2))) goto L_0174;
#line 1808 "regression-compile-tmp/pass1.imp"
L_0169:;
#line 1808 "regression-compile-tmp/pass1.imp"
goto U_1015;
#line 1808 "regression-compile-tmp/pass1.imp"
L_0174:;
                                                                //   1809  
                                                                //   1810  a7:             ->fail1 %if gg >= 0;                   ! no alternative
#line 1810 "regression-compile-tmp/pass1.imp"
U_1019:;
#line 1810 "regression-compile-tmp/pass1.imp"
if (((GG) < (0))) goto L_0175;
#line 1810 "regression-compile-tmp/pass1.imp"
goto U_1009;
#line 1810 "regression-compile-tmp/pass1.imp"
L_0175:;
                                                                //   1811                  g = g+1
#line 1811 "regression-compile-tmp/pass1.imp"
G = (((int)(G)) + (1));
                                                                //   1812                  ->a3
#line 1812 "regression-compile-tmp/pass1.imp"
goto U_100a;
                                                                //   1813              %finish
#line 1813 "regression-compile-tmp/pass1.imp"
L_016f:;
                                                                //   1814  
                                                                //   1815              %if class >= phrasal %start;               ! a phrase
#line 1815 "regression-compile-tmp/pass1.imp"
if (((CLASS) < (200))) goto L_0176;
                                                                //   1816  a4:             nmax = nmax+1;  ->fail0 %if nmax = nmin
#line 1816 "regression-compile-tmp/pass1.imp"
U_1010:;
#line 1816 "regression-compile-tmp/pass1.imp"
NMAX = (((int)(NMAX)) + (1));
#line 1816 "regression-compile-tmp/pass1.imp"
if (((NMAX) != (NMIN))) goto L_0177;
#line 1816 "regression-compile-tmp/pass1.imp"
goto U_100d;
#line 1816 "regression-compile-tmp/pass1.imp"
L_0177:;
                                                                //   1817                  arp == ar(nmax)
#line 1817 "regression-compile-tmp/pass1.imp"
ARP = &AR[(((int)(NMAX)) - (1))];
                                                                //   1818                  arp_ptype = ptype
#line 1818 "regression-compile-tmp/pass1.imp"
ARP->PTYPE = PTYPE;
                                                                //   1819                  arp_pos = pos1
#line 1819 "regression-compile-tmp/pass1.imp"
ARP->POS = POS1;
                                                                //   1820                  arp_pformat = pformat
#line 1820 "regression-compile-tmp/pass1.imp"
ARP->PFORMAT = PFORMAT;
                                                                //   1821                  arp_link = gentype
#line 1821 "regression-compile-tmp/pass1.imp"
ARP->LINK = GENTYPE;
                                                                //   1822                  arp_class = node
#line 1822 "regression-compile-tmp/pass1.imp"
ARP->CLASS = NODE;
                                                                //   1823                  arp_sub = g
#line 1823 "regression-compile-tmp/pass1.imp"
ARP->SUB = G;
                                                                //   1824                  node = 0
#line 1824 "regression-compile-tmp/pass1.imp"
NODE = 0;
                                                                //   1825                  g = phrase(class)
#line 1825 "regression-compile-tmp/pass1.imp"
G = (PHRASE-200)[CLASS];
                                                                //   1826                  ptype = force %and force = 0 %if force # 0
#line 1826 "regression-compile-tmp/pass1.imp"
if (((FORCE) == (0))) goto L_0178;
#line 1826 "regression-compile-tmp/pass1.imp"
PTYPE = FORCE;
#line 1826 "regression-compile-tmp/pass1.imp"
FORCE = 0;
#line 1826 "regression-compile-tmp/pass1.imp"
L_0178:;
                                                                //   1827                  gentype = 0
#line 1827 "regression-compile-tmp/pass1.imp"
GENTYPE = 0;
                                                                //   1828                  ->paction(gg>>8&15)
#line 1828 "regression-compile-tmp/pass1.imp"
sw4_PACTION_idx = (((int)((((unsigned int)(GG)) >> (8)))) & (15)); if ((0 <= sw4_PACTION_idx) && (sw4_PACTION_idx <= 15)) goto *sw4_PACTION[sw4_PACTION_idx]; else {
   /*_imp_signal(8, 2, sw4_PACTION_idx);*/
   fprintf(stderr, "%%SWITCH index PACTION(%d) not in range 0:15 at %s:%d\n",
           sw4_PACTION_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   1829              %finish
#line 1829 "regression-compile-tmp/pass1.imp"
L_0176:;
                                                                //   1830              ->act(class);                              ! only actions left
#line 1830 "regression-compile-tmp/pass1.imp"
sw3_ACT_idx = CLASS; if ((180 <= sw3_ACT_idx) && (sw3_ACT_idx <= 200)) goto *(sw3_ACT-180)[sw3_ACT_idx];  /* Bounds=180:200 */ else {
   /*_imp_signal(8, 2, sw3_ACT_idx);*/
   fprintf(stderr, "%%SWITCH index ACT(%d) not in range 180:200 at %s:%d\n",
           sw3_ACT_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   1831  
                                                                //   1832  a5:         ;! reverse links
#line 1832 "regression-compile-tmp/pass1.imp"
U_100e:;
                                                                //   1833              s = 0
#line 1833 "regression-compile-tmp/pass1.imp"
S = 0;
                                                                //   1834              %while node # 0 %cycle
#line 1834 "regression-compile-tmp/pass1.imp"
L_0179:;
#line 1834 "regression-compile-tmp/pass1.imp"
if (((NODE) == (0))) goto L_017a;
                                                                //   1835                  z == ar(node)_link
#line 1835 "regression-compile-tmp/pass1.imp"
Z = &AR[(((int)(NODE)) - (1))].LINK;
                                                                //   1836                  k = z;  z = s;  s = node;  node = k
#line 1836 "regression-compile-tmp/pass1.imp"
K = *Z;
#line 1836 "regression-compile-tmp/pass1.imp"
*Z = S;
#line 1836 "regression-compile-tmp/pass1.imp"
S = NODE;
#line 1836 "regression-compile-tmp/pass1.imp"
NODE = K;
                                                                //   1837              %repeat
#line 1837 "regression-compile-tmp/pass1.imp"
goto L_0179;
#line 1837 "regression-compile-tmp/pass1.imp"
L_017a:;
                                                                //   1838              ss = s
#line 1838 "regression-compile-tmp/pass1.imp"
SS = S;
                                                                //   1839  a6:         %if nmax # 0 %start
#line 1839 "regression-compile-tmp/pass1.imp"
U_1011:;
#line 1839 "regression-compile-tmp/pass1.imp"
if (((NMAX) == (0))) goto L_017c;
                                                                //   1840                  k = gentype;                           ! type of phrase
#line 1840 "regression-compile-tmp/pass1.imp"
K = GENTYPE;
                                                                //   1841                  arp == ar(nmax);  nmax = nmax-1
#line 1841 "regression-compile-tmp/pass1.imp"
ARP = &AR[(((int)(NMAX)) - (1))];
#line 1841 "regression-compile-tmp/pass1.imp"
NMAX = (((int)(NMAX)) - (1));
                                                                //   1842                  node = arp_class
#line 1842 "regression-compile-tmp/pass1.imp"
NODE = ARP->CLASS;
                                                                //   1843                  gentype = arp_link
#line 1843 "regression-compile-tmp/pass1.imp"
GENTYPE = ARP->LINK;
                                                                //   1844                  ptype = arp_ptype
#line 1844 "regression-compile-tmp/pass1.imp"
PTYPE = ARP->PTYPE;
                                                                //   1845                  pformat = arp_pformat
#line 1845 "regression-compile-tmp/pass1.imp"
PFORMAT = ARP->PFORMAT;
                                                                //   1846                  g = arp_sub
#line 1846 "regression-compile-tmp/pass1.imp"
G = ARP->SUB;
                                                                //   1847                  %if g&escape # 0 %start
#line 1847 "regression-compile-tmp/pass1.imp"
if (((((G) & (4096))) == (0))) goto L_017d;
                                                                //   1848                      g = g-escape
#line 1848 "regression-compile-tmp/pass1.imp"
G = (((int)(G)) - (4096));
                                                                //   1849                      papp = arp_papp
#line 1849 "regression-compile-tmp/pass1.imp"
PAPP = ARP->PAPP;
                                                                //   1850                      mark = 255
#line 1850 "regression-compile-tmp/pass1.imp"
MARK = 255;
                                                                //   1851                      subatom = s
#line 1851 "regression-compile-tmp/pass1.imp"
SUBATOM = S;
                                                                //   1852                      ->a3
#line 1852 "regression-compile-tmp/pass1.imp"
goto U_100a;
                                                                //   1853                  %finish
#line 1853 "regression-compile-tmp/pass1.imp"
L_017d:;
                                                                //   1854                  gentype = k %if gentype = 0 %or k = real
#line 1854 "regression-compile-tmp/pass1.imp"
if (((GENTYPE) == (0))) goto L_017e;
#line 1854 "regression-compile-tmp/pass1.imp"
if (((K) != (2))) goto L_017f;
#line 1854 "regression-compile-tmp/pass1.imp"
L_017e:;
#line 1854 "regression-compile-tmp/pass1.imp"
GENTYPE = K;
#line 1854 "regression-compile-tmp/pass1.imp"
L_017f:;
                                                                //   1855                  type = gen type
#line 1855 "regression-compile-tmp/pass1.imp"
TYPE = GENTYPE;
                                                                //   1856  
                                                                //   1857                  k = gg;                                ! exit-point code
#line 1857 "regression-compile-tmp/pass1.imp"
K = GG;
                                                                //   1858                  %cycle
#line 1858 "regression-compile-tmp/pass1.imp"
L_0180:;
                                                                //   1859                      gg = gram(g)
#line 1859 "regression-compile-tmp/pass1.imp"
GG = GRAM[G];
                                                                //   1860                      ->a2 %if k = 0
#line 1860 "regression-compile-tmp/pass1.imp"
if (((K) != (0))) goto L_0183;
#line 1860 "regression-compile-tmp/pass1.imp"
goto U_101a;
#line 1860 "regression-compile-tmp/pass1.imp"
L_0183:;
                                                                //   1861                      ->fail1 %if gg >= 0;               ! no alternative phrase
#line 1861 "regression-compile-tmp/pass1.imp"
if (((GG) < (0))) goto L_0184;
#line 1861 "regression-compile-tmp/pass1.imp"
goto U_1009;
#line 1861 "regression-compile-tmp/pass1.imp"
L_0184:;
                                                                //   1862                      k = k-order bit
#line 1862 "regression-compile-tmp/pass1.imp"
K = (((int)(K)) - (4096));
                                                                //   1863                      g = g+1;                           ! sideways step
#line 1863 "regression-compile-tmp/pass1.imp"
G = (((int)(G)) + (1));
                                                                //   1864                  %repeat
#line 1864 "regression-compile-tmp/pass1.imp"
goto L_0180;
                                                                //   1865              %finish
#line 1865 "regression-compile-tmp/pass1.imp"
L_017c:;
                                                                //   1866  
                                                                //   1867              Fault(4)  %if copy # 0
#line 1867 "regression-compile-tmp/pass1.imp"
if (((COPY) == (0))) goto L_0185;
#line 1867 "regression-compile-tmp/pass1.imp"
FAULT(4);
#line 1867 "regression-compile-tmp/pass1.imp"
L_0185:;
                                                                //   1868              fault(13) %if order = 0
#line 1868 "regression-compile-tmp/pass1.imp"
if (((ORDER) != (0))) goto L_0186;
#line 1868 "regression-compile-tmp/pass1.imp"
FAULT(13);
#line 1868 "regression-compile-tmp/pass1.imp"
L_0186:;
                                                                //   1869              fault(-4) %if for warn # 0
#line 1869 "regression-compile-tmp/pass1.imp"
if (((FORWARN) == (0))) goto L_0187;
#line 1869 "regression-compile-tmp/pass1.imp"
FAULT((-4));
#line 1869 "regression-compile-tmp/pass1.imp"
L_0187:;
                                                                //   1870              pos1 = 0
#line 1870 "regression-compile-tmp/pass1.imp"
POS1 = 0;
                                                                //   1871              fault rate = fault rate-1
#line 1871 "regression-compile-tmp/pass1.imp"
FAULTRATE = (((int)(FAULTRATE)) - (1));
                                                                //   1872              %return
#line 1872 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1873  
                                                                //   1874  act(193):   gg = 0 %and ->a5 %unless sym = '=' %or sym = '<'; ! cdummy
#line 1874 "regression-compile-tmp/pass1.imp"
sw3_ACT_193:;
#line 1874 "regression-compile-tmp/pass1.imp"
if (((SYM) == (61))) goto L_0188;
#line 1874 "regression-compile-tmp/pass1.imp"
if (((SYM) == (60))) goto L_0188;
#line 1874 "regression-compile-tmp/pass1.imp"
GG = 0;
#line 1874 "regression-compile-tmp/pass1.imp"
goto U_100e;
#line 1874 "regression-compile-tmp/pass1.imp"
L_0188:;
                                                                //   1875  act(181):   atom1 = amap(decl&15);                     ! dummy
#line 1875 "regression-compile-tmp/pass1.imp"
sw3_ACT_181:;
#line 1875 "regression-compile-tmp/pass1.imp"
ATOM1 = AMAP[((DECL) & (15))];
                                                                //   1876              ->more
#line 1876 "regression-compile-tmp/pass1.imp"
goto U_1008;
                                                                //   1877  
                                                                //   1878  act(182):   class = escdec;  g = glink(g)!escape;      ! an example of ! as an operator
#line 1878 "regression-compile-tmp/pass1.imp"
sw3_ACT_182:;
#line 1878 "regression-compile-tmp/pass1.imp"
CLASS = 252;
#line 1878 "regression-compile-tmp/pass1.imp"
G = ((GLINK[G]) | (4096));
                                                                //   1879              decl = 0;  otype = 0;  ->esc;              ! decl
#line 1879 "regression-compile-tmp/pass1.imp"
DECL = 0;
#line 1879 "regression-compile-tmp/pass1.imp"
OTYPE = 0;
#line 1879 "regression-compile-tmp/pass1.imp"
goto U_100f;
                                                                //   1880  
                                                                //   1881  act(199):   ;                                          ! compile
#line 1881 "regression-compile-tmp/pass1.imp"
sw3_ACT_199:;
                                                                //   1882              s = 0
#line 1882 "regression-compile-tmp/pass1.imp"
S = 0;
                                                                //   1883              %while node # 0 %cycle
#line 1883 "regression-compile-tmp/pass1.imp"
L_0189:;
#line 1883 "regression-compile-tmp/pass1.imp"
if (((NODE) == (0))) goto L_018a;
                                                                //   1884                  z == ar(node)_link
#line 1884 "regression-compile-tmp/pass1.imp"
Z = &AR[(((int)(NODE)) - (1))].LINK;
                                                                //   1885                  k = z;  z = s;  s = node;  node = k
#line 1885 "regression-compile-tmp/pass1.imp"
K = *Z;
#line 1885 "regression-compile-tmp/pass1.imp"
*Z = S;
#line 1885 "regression-compile-tmp/pass1.imp"
S = NODE;
#line 1885 "regression-compile-tmp/pass1.imp"
NODE = K;
                                                                //   1886              %repeat
#line 1886 "regression-compile-tmp/pass1.imp"
goto L_0189;
#line 1886 "regression-compile-tmp/pass1.imp"
L_018a:;
                                                                //   1887              ss = s
#line 1887 "regression-compile-tmp/pass1.imp"
SS = S;
                                                                //   1888  
                                                                //   1889              code atom(28) %if quote # 0;               ! expend
#line 1889 "regression-compile-tmp/pass1.imp"
if (((QUOTE) == (0))) goto L_018c;
#line 1889 "regression-compile-tmp/pass1.imp"
CODEATOM(28);
#line 1889 "regression-compile-tmp/pass1.imp"
L_018c:;
                                                                //   1890              compile;  ->more %if atom1&error = 0
#line 1890 "regression-compile-tmp/pass1.imp"
COMPILE();
#line 1890 "regression-compile-tmp/pass1.imp"
if (((((ATOM1) & (32768))) != (0))) goto L_018d;
#line 1890 "regression-compile-tmp/pass1.imp"
goto U_1008;
#line 1890 "regression-compile-tmp/pass1.imp"
L_018d:;
                                                                //   1891              ->fail1
#line 1891 "regression-compile-tmp/pass1.imp"
goto U_1009;
                                                                //   1892  
                                                                //   1893  act(184):   ->fail4 %unless type = integer
#line 1893 "regression-compile-tmp/pass1.imp"
sw3_ACT_184:;
#line 1893 "regression-compile-tmp/pass1.imp"
if (((TYPE) == (1))) goto L_018e;
#line 1893 "regression-compile-tmp/pass1.imp"
goto U_1012;
#line 1893 "regression-compile-tmp/pass1.imp"
L_018e:;
                                                                //   1894              %if subatom < 0 %then lit = tag(-subatom)_format %else lit = lit pool(subatom)
#line 1894 "regression-compile-tmp/pass1.imp"
if (((SUBATOM) >= (0))) goto L_018f;
#line 1894 "regression-compile-tmp/pass1.imp"
LIT = TAG[(-(SUBATOM))].FORMAT;
#line 1894 "regression-compile-tmp/pass1.imp"
goto L_0190;
#line 1894 "regression-compile-tmp/pass1.imp"
L_018f:;
#line 1894 "regression-compile-tmp/pass1.imp"
LIT = LITPOOL[SUBATOM];
#line 1894 "regression-compile-tmp/pass1.imp"
L_0190:;
                                                                //   1895              ->fail4 %if lit # 0
#line 1895 "regression-compile-tmp/pass1.imp"
if (((LIT) == (0))) goto L_0191;
#line 1895 "regression-compile-tmp/pass1.imp"
goto U_1012;
#line 1895 "regression-compile-tmp/pass1.imp"
L_0191:;
                                                                //   1896              ->more
#line 1896 "regression-compile-tmp/pass1.imp"
goto U_1008;
                                                                //   1897  act(185):   ;                                          ! apply parameters
#line 1897 "regression-compile-tmp/pass1.imp"
sw3_ACT_185:;
                                                                //   1898              s = 0
#line 1898 "regression-compile-tmp/pass1.imp"
S = 0;
                                                                //   1899              %while node # 0 %cycle
#line 1899 "regression-compile-tmp/pass1.imp"
L_0192:;
#line 1899 "regression-compile-tmp/pass1.imp"
if (((NODE) == (0))) goto L_0193;
                                                                //   1900                  z == ar(node)_link
#line 1900 "regression-compile-tmp/pass1.imp"
Z = &AR[(((int)(NODE)) - (1))].LINK;
                                                                //   1901                  k = z;  z = s;  s = node;  node = k
#line 1901 "regression-compile-tmp/pass1.imp"
K = *Z;
#line 1901 "regression-compile-tmp/pass1.imp"
*Z = S;
#line 1901 "regression-compile-tmp/pass1.imp"
S = NODE;
#line 1901 "regression-compile-tmp/pass1.imp"
NODE = K;
                                                                //   1902              %repeat
#line 1902 "regression-compile-tmp/pass1.imp"
goto L_0192;
#line 1902 "regression-compile-tmp/pass1.imp"
L_0193:;
                                                                //   1903              ss = s
#line 1903 "regression-compile-tmp/pass1.imp"
SS = S;
                                                                //   1904  
                                                                //   1905              atom1 = ar(s)_class;  atom2 = 0
#line 1905 "regression-compile-tmp/pass1.imp"
ATOM1 = AR[(((int)(S)) - (1))].CLASS;
#line 1905 "regression-compile-tmp/pass1.imp"
ATOM2 = 0;
                                                                //   1906              atom1 = var %if atom1 = 97 %or atom1 = 98
#line 1906 "regression-compile-tmp/pass1.imp"
if (((ATOM1) == (97))) goto L_0194;
#line 1906 "regression-compile-tmp/pass1.imp"
if (((ATOM1) != (98))) goto L_0195;
#line 1906 "regression-compile-tmp/pass1.imp"
L_0194:;
#line 1906 "regression-compile-tmp/pass1.imp"
ATOM1 = 91;
#line 1906 "regression-compile-tmp/pass1.imp"
L_0195:;
                                                                //   1907              arp == ar(nmax)
#line 1907 "regression-compile-tmp/pass1.imp"
ARP = &AR[(((int)(NMAX)) - (1))];
                                                                //   1908              x = arp_x
#line 1908 "regression-compile-tmp/pass1.imp"
X = ARP->X;
                                                                //   1909              pos1 = arp_pos
#line 1909 "regression-compile-tmp/pass1.imp"
POS1 = ARP->POS;
                                                                //   1910              pos2 = 0
#line 1910 "regression-compile-tmp/pass1.imp"
POS2 = 0;
                                                                //   1911              app = 0
#line 1911 "regression-compile-tmp/pass1.imp"
APP = 0;
                                                                //   1912              format = tag(x)_format
#line 1912 "regression-compile-tmp/pass1.imp"
FORMAT = TAG[X].FORMAT;
                                                                //   1913              flags = tag(x)_flags
#line 1913 "regression-compile-tmp/pass1.imp"
FLAGS = TAG[X].FLAGS;
                                                                //   1914              type = flags>>4&7
#line 1914 "regression-compile-tmp/pass1.imp"
TYPE = (((int)((((unsigned int)(FLAGS)) >> (4)))) & (7));
                                                                //   1915              protection = flags&prot
#line 1915 "regression-compile-tmp/pass1.imp"
PROTECTION = ((FLAGS) & (256));
                                                                //   1916              protection = 0 %if flags&aname # 0
#line 1916 "regression-compile-tmp/pass1.imp"
if (((((FLAGS) & (1024))) == (0))) goto L_0196;
#line 1916 "regression-compile-tmp/pass1.imp"
PROTECTION = 0;
#line 1916 "regression-compile-tmp/pass1.imp"
L_0196:;
                                                                //   1917  
                                                                //   1918              %if flags&subname # 0 %and format # 0 %start
#line 1918 "regression-compile-tmp/pass1.imp"
if (((((FLAGS) & (2048))) == (0))) goto L_0197;
#line 1918 "regression-compile-tmp/pass1.imp"
if (((FORMAT) == (0))) goto L_0197;
                                                                //   1919                  ->fail1 %if format selected = 0
#line 1919 "regression-compile-tmp/pass1.imp"
if (((FORMATSELECTED()) != (0))) goto L_0181;
#line 1919 "regression-compile-tmp/pass1.imp"
goto U_1009;
#line 1919 "regression-compile-tmp/pass1.imp"
L_0181:;
                                                                //   1920              %finish
#line 1920 "regression-compile-tmp/pass1.imp"
L_0197:;
                                                                //   1921  
                                                                //   1922              ->a6
#line 1922 "regression-compile-tmp/pass1.imp"
goto U_1011;
                                                                //   1923  
                                                                //   1924  act(187):   protection = prot;  ->more;                ! %SETPROT
#line 1924 "regression-compile-tmp/pass1.imp"
sw3_ACT_187:;
#line 1924 "regression-compile-tmp/pass1.imp"
PROTECTION = 256;
#line 1924 "regression-compile-tmp/pass1.imp"
goto U_1008;
                                                                //   1925  act(186):   ->More %if protection&prot = 0
#line 1925 "regression-compile-tmp/pass1.imp"
sw3_ACT_186:;
#line 1925 "regression-compile-tmp/pass1.imp"
if (((((PROTECTION) & (256))) != (0))) goto L_0198;
#line 1925 "regression-compile-tmp/pass1.imp"
goto U_1008;
#line 1925 "regression-compile-tmp/pass1.imp"
L_0198:;
                                                                //   1926              prot err = nmin
#line 1926 "regression-compile-tmp/pass1.imp"
PROTERR = NMIN;
                                                                //   1927              ->A7
#line 1927 "regression-compile-tmp/pass1.imp"
goto U_1019;
                                                                //   1928  act(191):   k = protection;                            ! %GUARD
#line 1928 "regression-compile-tmp/pass1.imp"
sw3_ACT_191:;
#line 1928 "regression-compile-tmp/pass1.imp"
K = PROTECTION;
                                                                //   1929              code atom(0)
#line 1929 "regression-compile-tmp/pass1.imp"
CODEATOM(0);
                                                                //   1930              protection = k %if atom flags&aname = 0
#line 1930 "regression-compile-tmp/pass1.imp"
if (((((ATOMFLAGS) & (1024))) != (0))) goto L_0199;
#line 1930 "regression-compile-tmp/pass1.imp"
PROTECTION = K;
#line 1930 "regression-compile-tmp/pass1.imp"
L_0199:;
                                                                //   1931              ->more
#line 1931 "regression-compile-tmp/pass1.imp"
goto U_1008;
                                                                //   1932  
                                                                //   1933  act(192):   ->fail1 %if parsed machine code=0
#line 1933 "regression-compile-tmp/pass1.imp"
sw3_ACT_192:;
#line 1933 "regression-compile-tmp/pass1.imp"
if (((PARSEDMACHINECODE()) != (0))) goto L_019a;
#line 1933 "regression-compile-tmp/pass1.imp"
goto U_1009;
#line 1933 "regression-compile-tmp/pass1.imp"
L_019a:;
                                                                //   1934              ->more
#line 1934 "regression-compile-tmp/pass1.imp"
goto U_1008;
                                                                //   1935  
                                                                //   1936  act(189):   k = gapp;                                  ! %GAPP
#line 1936 "regression-compile-tmp/pass1.imp"
sw3_ACT_189:;
#line 1936 "regression-compile-tmp/pass1.imp"
K = GAPP();
                                                                //   1937              delete names(1)
#line 1937 "regression-compile-tmp/pass1.imp"
DELETENAMES(1);
                                                                //   1938              tmax = tbase;  tbase = gram (gmin);        ! restore tmax
#line 1938 "regression-compile-tmp/pass1.imp"
TMAX = TBASE;
#line 1938 "regression-compile-tmp/pass1.imp"
TBASE = GRAM[GMIN];
                                                                //   1939              local= tbase
#line 1939 "regression-compile-tmp/pass1.imp"
LOCAL = TBASE;
                                                                //   1940              gmin = gmin+1
#line 1940 "regression-compile-tmp/pass1.imp"
GMIN = (((int)(GMIN)) + (1));
                                                                //   1941  
                                                                //   1942              x = ar(ar(nmax)_class)_sub
#line 1942 "regression-compile-tmp/pass1.imp"
X = AR[(((int)(AR[(((int)(NMAX)) - (1))].CLASS)) - (1))].SUB;
                                                                //   1943              tag(x)_app = k;                            ! update app
#line 1943 "regression-compile-tmp/pass1.imp"
TAG[X].APP = K;
                                                                //   1944              ->more
#line 1944 "regression-compile-tmp/pass1.imp"
goto U_1008;
                                                                //   1945  
                                                                //   1946  act(190):   gmin = gmin-1;                             ! %LOCAL
#line 1946 "regression-compile-tmp/pass1.imp"
sw3_ACT_190:;
#line 1946 "regression-compile-tmp/pass1.imp"
GMIN = (((int)(GMIN)) - (1));
                                                                //   1947              abandon(2) %if gmin <= gmax
#line 1947 "regression-compile-tmp/pass1.imp"
if (((GMIN) > (GMAX))) goto L_019b;
#line 1947 "regression-compile-tmp/pass1.imp"
ABANDON(2);
#line 1947 "regression-compile-tmp/pass1.imp"
L_019b:;
                                                                //   1948              gram (gmin) = tbase;  tbase = tmax
#line 1948 "regression-compile-tmp/pass1.imp"
GRAM[GMIN] = TBASE;
#line 1948 "regression-compile-tmp/pass1.imp"
TBASE = TMAX;
                                                                //   1949              local = tbase
#line 1949 "regression-compile-tmp/pass1.imp"
LOCAL = TBASE;
                                                                //   1950              ->more
#line 1950 "regression-compile-tmp/pass1.imp"
goto U_1008;
                                                                //   1951  
                                                                //   1952              ! errors
                                                                //   1953  
                                                                //   1954  fail4:      k = error+10;            ->failed;         ! *size
#line 1954 "regression-compile-tmp/pass1.imp"
U_1012:;
#line 1954 "regression-compile-tmp/pass1.imp"
K = 32778;
#line 1954 "regression-compile-tmp/pass1.imp"
goto U_1013;
                                                                //   1955  fail3:      k = error+7;             ->failed;         ! *context
#line 1955 "regression-compile-tmp/pass1.imp"
U_1018:;
#line 1955 "regression-compile-tmp/pass1.imp"
K = 32775;
#line 1955 "regression-compile-tmp/pass1.imp"
goto U_1013;
                                                                //   1956  fail2:      k = error+5;  pos2 = 0;  ->failed;         ! *type
#line 1956 "regression-compile-tmp/pass1.imp"
U_1017:;
#line 1956 "regression-compile-tmp/pass1.imp"
K = 32773;
#line 1956 "regression-compile-tmp/pass1.imp"
POS2 = 0;
#line 1956 "regression-compile-tmp/pass1.imp"
goto U_1013;
                                                                //   1957  fail0:      k = error+3;             ->failed;         ! *too complex
#line 1957 "regression-compile-tmp/pass1.imp"
U_100d:;
#line 1957 "regression-compile-tmp/pass1.imp"
K = 32771;
#line 1957 "regression-compile-tmp/pass1.imp"
goto U_1013;
                                                                //   1958  fail1:      k = atom1;    pos2 = 0
#line 1958 "regression-compile-tmp/pass1.imp"
U_1009:;
#line 1958 "regression-compile-tmp/pass1.imp"
K = ATOM1;
#line 1958 "regression-compile-tmp/pass1.imp"
POS2 = 0;
                                                                //   1959  failed:     %if diag&32 # 0 %start
#line 1959 "regression-compile-tmp/pass1.imp"
U_1013:;
#line 1959 "regression-compile-tmp/pass1.imp"
if (((((DIAG) & (32))) == (0))) goto L_019c;
                                                                //   1960                  printstring("Atom1 =");      write(atom1, 3)
#line 1960 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("Atom1 ="));
#line 1960 "regression-compile-tmp/pass1.imp"
_imp_WRITE(ATOM1, 3);
                                                                //   1961                  printstring("  Atom2 =");    write(atom2, 3)
#line 1961 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("  Atom2 ="));
#line 1961 "regression-compile-tmp/pass1.imp"
_imp_WRITE(ATOM2, 3);
                                                                //   1962                  printstring("  subatom =");  write(subatom, 3); newline
#line 1962 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("  subatom ="));
#line 1962 "regression-compile-tmp/pass1.imp"
_imp_WRITE(SUBATOM, 3);
#line 1962 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
                                                                //   1963                  printstring("Type =");       write(type, 1)
#line 1963 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("Type ="));
#line 1963 "regression-compile-tmp/pass1.imp"
_imp_WRITE(TYPE, 1);
                                                                //   1964                  printstring("   Ptype =");   write(ptype, 1);   newline
#line 1964 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("   Ptype ="));
#line 1964 "regression-compile-tmp/pass1.imp"
_imp_WRITE(PTYPE, 1);
#line 1964 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
                                                                //   1965                  printstring("App =");        write(app, 1)
#line 1965 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("App ="));
#line 1965 "regression-compile-tmp/pass1.imp"
_imp_WRITE(APP, 1);
                                                                //   1966                  printstring("   Papp =");    write(papp, 1);    newline
#line 1966 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("   Papp ="));
#line 1966 "regression-compile-tmp/pass1.imp"
_imp_WRITE(PAPP, 1);
#line 1966 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
                                                                //   1967                  printstring("Format =");     write(format, 1)
#line 1967 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("Format ="));
#line 1967 "regression-compile-tmp/pass1.imp"
_imp_WRITE(FORMAT, 1);
                                                                //   1968                  printstring("   Pformat ="); write(pformat, 1); newline
#line 1968 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("   Pformat ="));
#line 1968 "regression-compile-tmp/pass1.imp"
_imp_WRITE(PFORMAT, 1);
#line 1968 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
                                                                //   1969                  !%signal 13,15
                                                                //   1970              %finish
#line 1970 "regression-compile-tmp/pass1.imp"
L_019c:;
                                                                //   1971  
                                                                //   1972              quote = 0 %and readsym %while sym # nl %and sym # ';'
#line 1972 "regression-compile-tmp/pass1.imp"
L_019d:;
#line 1972 "regression-compile-tmp/pass1.imp"
if (((SYM) == (10))) goto L_019e;
#line 1972 "regression-compile-tmp/pass1.imp"
if (((SYM) == (59))) goto L_019e;
#line 1972 "regression-compile-tmp/pass1.imp"
QUOTE = 0;
#line 1972 "regression-compile-tmp/pass1.imp"
READSYM();
#line 1972 "regression-compile-tmp/pass1.imp"
goto L_019d;
#line 1972 "regression-compile-tmp/pass1.imp"
L_019e:;
                                                                //   1973              %if k&error # 0 %start
#line 1973 "regression-compile-tmp/pass1.imp"
if (((((K) & (32768))) == (0))) goto L_01a0;
                                                                //   1974                  fault(k&255)
#line 1974 "regression-compile-tmp/pass1.imp"
FAULT(((K) & (255)));
                                                                //   1975              %finish %else %start
#line 1975 "regression-compile-tmp/pass1.imp"
goto L_01a1;
#line 1975 "regression-compile-tmp/pass1.imp"
L_01a0:;
                                                                //   1976                  %if prot err = nmin %then fault(14) %else fault(0)
#line 1976 "regression-compile-tmp/pass1.imp"
if (((PROTERR) != (NMIN))) goto L_01a2;
#line 1976 "regression-compile-tmp/pass1.imp"
FAULT(14);
#line 1976 "regression-compile-tmp/pass1.imp"
goto L_01a3;
#line 1976 "regression-compile-tmp/pass1.imp"
L_01a2:;
#line 1976 "regression-compile-tmp/pass1.imp"
FAULT(0);
#line 1976 "regression-compile-tmp/pass1.imp"
L_01a3:;
                                                                //   1977              %finish
#line 1977 "regression-compile-tmp/pass1.imp"
L_01a1:;
                                                                //   1978              gg = 0;  ss = 0;  symtype = 0
#line 1978 "regression-compile-tmp/pass1.imp"
GG = 0;
#line 1978 "regression-compile-tmp/pass1.imp"
SS = 0;
#line 1978 "regression-compile-tmp/pass1.imp"
SYMTYPE = 0;
                                                                //   1979          %end;                                          ! of analyse
#line 1979 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
sw4_PACTION_8:;
sw4_PACTION_9:;
sw4_PACTION_10:;
sw4_PACTION_11:;
sw4_PACTION_12:;
sw4_PACTION_13:;
sw4_PACTION_14:;
sw4_PACTION_15:;
/*_imp_signal(6,3,sw4_PACTION_idx,"SWITCH LABEL NOT SET - sw4_PACTION");*/
fprintf(stderr, "%%SWITCH LABEL NOT SET - sw4_PACTION(%d): at line %s:%d", sw4_PACTION_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__), (_imp_current_line != 0 ? _imp_current_line : __LINE__));
exit(1);
sw3_ACT_180:;
sw3_ACT_200:;
/*_imp_signal(6,3,sw3_ACT_idx,"SWITCH LABEL NOT SET - sw3_ACT");*/
fprintf(stderr, "%%SWITCH LABEL NOT SET - sw3_ACT(%d): at line %s:%d", sw3_ACT_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__), (_imp_current_line != 0 ? _imp_current_line : __LINE__));
exit(1);
} // End of block ANALYSE at level 3
                                                                //   1980  
                                                                //   1981          %routine compile
#line 1981 "regression-compile-tmp/pass1.imp"
void COMPILE( void )
#line 1981 "regression-compile-tmp/pass1.imp"
{
                                                                //   1982              %constinteger then = 4, else = 8, loop = 16
                                                                //   1983  
                                                                //   1984              %switch c(0:actions), litop(1:12)
#line 1984 "regression-compile-tmp/pass1.imp"
static int sw5_C_idx;
static const void * /*SWITCH*/ sw5_C[181] = { &&sw5_C_0, &&sw5_C_1, &&sw5_C_2, &&sw5_C_3, &&sw5_C_4, &&sw5_C_5, &&sw5_C_6, &&sw5_C_7, &&sw5_C_8, &&sw5_C_9, &&sw5_C_10, &&sw5_C_11, &&sw5_C_12, &&sw5_C_13, &&sw5_C_14, &&sw5_C_15, &&sw5_C_16, &&sw5_C_17, &&sw5_C_18, &&sw5_C_19, &&sw5_C_20, &&sw5_C_21, &&sw5_C_22, &&sw5_C_23, &&sw5_C_24, &&sw5_C_25, &&sw5_C_26, &&sw5_C_27, &&sw5_C_28, &&sw5_C_29, &&sw5_C_30, &&sw5_C_31, &&sw5_C_32, &&sw5_C_33, &&sw5_C_34, &&sw5_C_35, &&sw5_C_36, &&sw5_C_37, &&sw5_C_38, &&sw5_C_39, &&sw5_C_40, &&sw5_C_41, &&sw5_C_42, &&sw5_C_43, &&sw5_C_44, &&sw5_C_45, &&sw5_C_46, &&sw5_C_47, &&sw5_C_48, &&sw5_C_49, &&sw5_C_50, &&sw5_C_51, &&sw5_C_52, &&sw5_C_53, &&sw5_C_54, &&sw5_C_55, &&sw5_C_56, &&sw5_C_57, &&sw5_C_58, &&sw5_C_59, &&sw5_C_60, &&sw5_C_61, &&sw5_C_62, &&sw5_C_63, &&sw5_C_64, &&sw5_C_65, &&sw5_C_66, &&sw5_C_67, &&sw5_C_68, &&sw5_C_69, &&sw5_C_70, &&sw5_C_71, &&sw5_C_72, &&sw5_C_73, &&sw5_C_74, &&sw5_C_75, &&sw5_C_76, &&sw5_C_77, &&sw5_C_78, &&sw5_C_79, &&sw5_C_80, &&sw5_C_81, &&sw5_C_82, &&sw5_C_83, &&sw5_C_84, &&sw5_C_85, &&sw5_C_86, &&sw5_C_87, &&sw5_C_88, &&sw5_C_89, &&sw5_C_90, &&sw5_C_91, &&sw5_C_92, &&sw5_C_93, &&sw5_C_94, &&sw5_C_95, &&sw5_C_96, &&sw5_C_97, &&sw5_C_98, &&sw5_C_99, &&sw5_C_100, &&sw5_C_101, &&sw5_C_102, &&sw5_C_103, &&sw5_C_104, &&sw5_C_105, &&sw5_C_106, &&sw5_C_107, &&sw5_C_108, &&sw5_C_109, &&sw5_C_110, &&sw5_C_111, &&sw5_C_112, &&sw5_C_113, &&sw5_C_114, &&sw5_C_115, &&sw5_C_116, &&sw5_C_117, &&sw5_C_118, &&sw5_C_119, &&sw5_C_120, &&sw5_C_121, &&sw5_C_122, &&sw5_C_123, &&sw5_C_124, &&sw5_C_125, &&sw5_C_126, &&sw5_C_127, &&sw5_C_128, &&sw5_C_129, &&sw5_C_130, &&sw5_C_131, &&sw5_C_132, &&sw5_C_133, &&sw5_C_134, &&sw5_C_135, &&sw5_C_136, &&sw5_C_137, &&sw5_C_138, &&sw5_C_139, &&sw5_C_140, &&sw5_C_141, &&sw5_C_142, &&sw5_C_143, &&sw5_C_144, &&sw5_C_145, &&sw5_C_146, &&sw5_C_147, &&sw5_C_148, &&sw5_C_149, &&sw5_C_150, &&sw5_C_151, &&sw5_C_152, &&sw5_C_153, &&sw5_C_154, &&sw5_C_155, &&sw5_C_156, &&sw5_C_157, &&sw5_C_158, &&sw5_C_159, &&sw5_C_160, &&sw5_C_161, &&sw5_C_162, &&sw5_C_163, &&sw5_C_164, &&sw5_C_165, &&sw5_C_166, &&sw5_C_167, &&sw5_C_168, &&sw5_C_169, &&sw5_C_170, &&sw5_C_171, &&sw5_C_172, &&sw5_C_173, &&sw5_C_174, &&sw5_C_175, &&sw5_C_176, &&sw5_C_177, &&sw5_C_178, &&sw5_C_179, &&sw5_C_180,  };
#line 1984 "regression-compile-tmp/pass1.imp"
static int sw6_LITOP_idx;
static const void * /*SWITCH*/ sw6_LITOP[12] = { &&sw6_LITOP_1, &&sw6_LITOP_2, &&sw6_LITOP_3, &&sw6_LITOP_4, &&sw6_LITOP_5, &&sw6_LITOP_6, &&sw6_LITOP_7, &&sw6_LITOP_8, &&sw6_LITOP_9, &&sw6_LITOP_10, &&sw6_LITOP_11, &&sw6_LITOP_12,  };
                                                                //   1985  
                                                                //   1986              %constbyteintegerarray operator(1:14) = '[', ']', 'X', '/', '&', '!', '%', '+', '-', '*', 'Q', 'x', '.', 'v'
#line 1986 "regression-compile-tmp/pass1.imp"
const unsigned char OPERATOR[14] = { 91, 93, 88, 47, 38, 33, 37, 43, 45, 42, 81, 120, 46, 118,  };
                                                                //   1987              %constbyteintegerarray cc(0 : 7) = '#','=',')','<','(','>', 'k','t'
#line 1987 "regression-compile-tmp/pass1.imp"
const unsigned char CC[8] = { 35, 61, 41, 60, 40, 62, 107, 116,  };
                                                                //   1988              %constbyteintegerarray anyform(0:15) = 1,0,1,1,1,1,1,1,0,1,1,0,1,1,1,1
#line 1988 "regression-compile-tmp/pass1.imp"
const unsigned char ANYFORM[16] = { 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1,  };
                                                                //   1989  
                                                                //   1990              %constintegerarray decmap(0:15) = %c
#line 1990 "regression-compile-tmp/pass1.imp"
const int DECMAP[16] = { 1, 2, 4107, 4109, 5132, 5134, 3, 4, 4103, 4104, 4105, 4106, 6, 0, 0, 0,  };
                                                                //   1991              1,             2,
                                                                //   1992              16_100B,       16_100D,       16_140C,      16_140E,
                                                                //   1993              3,             4,
                                                                //   1994              16_1007,       16_1008,       16_1009,      16_100A,
                                                                //   1995              6,             0,             0,            0
                                                                //   1996              %ownbyteintegerarray cnest(0:15)
#line 1996 "regression-compile-tmp/pass1.imp"
static unsigned char CNEST[16];
                                                                //   1997              %integer lmode, clab, dupid
#line 1997 "regression-compile-tmp/pass1.imp"
int LMODE;
#line 1997 "regression-compile-tmp/pass1.imp"
int CLAB;
#line 1997 "regression-compile-tmp/pass1.imp"
int DUPID;
                                                                //   1998              %integer resln
#line 1998 "regression-compile-tmp/pass1.imp"
int RESLN;
                                                                //   1999              %owninteger last def = 0
#line 1999 "regression-compile-tmp/pass1.imp"
static int LASTDEF = 0;
                                                                //   2000              %owninteger lb, ub
#line 2000 "regression-compile-tmp/pass1.imp"
static int LB;
#line 2000 "regression-compile-tmp/pass1.imp"
static int UB;
                                                                //   2001              %integer cp, ord
#line 2001 "regression-compile-tmp/pass1.imp"
int CP;
#line 2001 "regression-compile-tmp/pass1.imp"
int ORD;
                                                                //   2002              %integer next, link, j, k, n, done
#line 2002 "regression-compile-tmp/pass1.imp"
int NEXT;
#line 2002 "regression-compile-tmp/pass1.imp"
int LINK;
#line 2002 "regression-compile-tmp/pass1.imp"
int J;
#line 2002 "regression-compile-tmp/pass1.imp"
int K;
#line 2002 "regression-compile-tmp/pass1.imp"
int N;
#line 2002 "regression-compile-tmp/pass1.imp"
int DONE;
                                                                //   2003              %integer class
#line 2003 "regression-compile-tmp/pass1.imp"
int CLASS;
                                                                //   2004              %integer lit2, defs, decs, cident
#line 2004 "regression-compile-tmp/pass1.imp"
int LIT2;
#line 2004 "regression-compile-tmp/pass1.imp"
int DEFS;
#line 2004 "regression-compile-tmp/pass1.imp"
int DECS;
#line 2004 "regression-compile-tmp/pass1.imp"
int CIDENT;
                                                                //   2005              %integer pending;  %ownintegerarray pstack(1:40)
#line 2005 "regression-compile-tmp/pass1.imp"
int PENDING;
#line 2005 "regression-compile-tmp/pass1.imp"
static int PSTACK[40];
                                                                //   2006              %ownstring(8) name = ""
#line 2006 "regression-compile-tmp/pass1.imp"
static _imp_string /*%string(8)*/ NAME = _imp_str_literal("");
                                                                //   2007              %owninteger count = 0
#line 2007 "regression-compile-tmp/pass1.imp"
static int COUNT = 0;
                                                                //   2008  
                                                                //   2009              %routine def lab(%integer l)
#line 2009 "regression-compile-tmp/pass1.imp"
void DEFLAB( int L )
#line 2009 "regression-compile-tmp/pass1.imp"
{
                                                                //   2010                  op(':', l)
#line 2010 "regression-compile-tmp/pass1.imp"
OP(58, L);
                                                                //   2011                  access = 1
#line 2011 "regression-compile-tmp/pass1.imp"
ACCESS = 1;
                                                                //   2012              %end
#line 2012 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DEFLAB at level 4
                                                                //   2013  
                                                                //   2014              %routine get next
#line 2014 "regression-compile-tmp/pass1.imp"
void GETNEXT( void )
#line 2014 "regression-compile-tmp/pass1.imp"
{
                                                                //   2015                  %record(arfm)%name p
#line 2015 "regression-compile-tmp/pass1.imp"
 ARFM /*name*/*P;
                                                                //   2016  gn:             %if next = 0 %start;                   ! end of phrase
#line 2016 "regression-compile-tmp/pass1.imp"
U_1011:;
#line 2016 "regression-compile-tmp/pass1.imp"
if (((NEXT) != (0))) goto L_01a4;
                                                                //   2017                      class = 0 %and %return %if link = 0; ! end of statement
#line 2017 "regression-compile-tmp/pass1.imp"
if (((LINK) != (0))) goto L_01a5;
#line 2017 "regression-compile-tmp/pass1.imp"
CLASS = 0;
#line 2017 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2017 "regression-compile-tmp/pass1.imp"
L_01a5:;
                                                                //   2018                      p == ar(link)
#line 2018 "regression-compile-tmp/pass1.imp"
P = &AR[(((int)(LINK)) - (1))];
                                                                //   2019                      next = p_link
#line 2019 "regression-compile-tmp/pass1.imp"
NEXT = P->LINK;
                                                                //   2020                      link = p_sub
#line 2020 "regression-compile-tmp/pass1.imp"
LINK = P->SUB;
                                                                //   2021                  %finish
#line 2021 "regression-compile-tmp/pass1.imp"
L_01a4:;
                                                                //   2022                  %cycle
#line 2022 "regression-compile-tmp/pass1.imp"
L_01a6:;
                                                                //   2023                      p == ar(next)
#line 2023 "regression-compile-tmp/pass1.imp"
P = &AR[(((int)(NEXT)) - (1))];
                                                                //   2024                      x = p_sub
#line 2024 "regression-compile-tmp/pass1.imp"
X = P->SUB;
                                                                //   2025                      class = p_class
#line 2025 "regression-compile-tmp/pass1.imp"
CLASS = P->CLASS;
                                                                //   2026                      %exit %if class < actions;         ! an atom
#line 2026 "regression-compile-tmp/pass1.imp"
if (((CLASS) >= (180))) goto L_01a9;
#line 2026 "regression-compile-tmp/pass1.imp"
goto L_01a7;
#line 2026 "regression-compile-tmp/pass1.imp"
L_01a9:;
                                                                //   2027                      %if x = 0 %start;                  ! null phrase
#line 2027 "regression-compile-tmp/pass1.imp"
if (((X) != (0))) goto L_01aa;
                                                                //   2028                          next = p_link;  ->gn
#line 2028 "regression-compile-tmp/pass1.imp"
NEXT = P->LINK;
#line 2028 "regression-compile-tmp/pass1.imp"
goto U_1011;
                                                                //   2029                      %finish
#line 2029 "regression-compile-tmp/pass1.imp"
L_01aa:;
                                                                //   2030                      %if p_link # 0 %start;             ! follow a phrase
#line 2030 "regression-compile-tmp/pass1.imp"
if (((P->LINK) == (0))) goto L_01ab;
                                                                //   2031                          p_sub = link;  link = next
#line 2031 "regression-compile-tmp/pass1.imp"
P->SUB = LINK;
#line 2031 "regression-compile-tmp/pass1.imp"
LINK = NEXT;
                                                                //   2032                      %finish
#line 2032 "regression-compile-tmp/pass1.imp"
L_01ab:;
                                                                //   2033                      next = x
#line 2033 "regression-compile-tmp/pass1.imp"
NEXT = X;
                                                                //   2034                  %repeat
#line 2034 "regression-compile-tmp/pass1.imp"
goto L_01a6;
#line 2034 "regression-compile-tmp/pass1.imp"
L_01a7:;
                                                                //   2035                  next = p_link
#line 2035 "regression-compile-tmp/pass1.imp"
NEXT = P->LINK;
                                                                //   2036                  %if diag&2 # 0 %start
#line 2036 "regression-compile-tmp/pass1.imp"
if (((((DIAG) & (2))) == (0))) goto L_01ac;
                                                                //   2037                      spaces(8-length(name)) %unless length(name) = 0
#line 2037 "regression-compile-tmp/pass1.imp"
if (((*_imp_LENGTH(&NAME)) == (0))) goto L_01ad;
#line 2037 "regression-compile-tmp/pass1.imp"
_imp_SPACES(((8) - (*(int *)(_imp_LENGTH(&NAME)))));
#line 2037 "regression-compile-tmp/pass1.imp"
L_01ad:;
                                                                //   2038                      name = text(class)
#line 2038 "regression-compile-tmp/pass1.imp"
NAME = TEXT[CLASS];
                                                                //   2039                      write(x, 2)
#line 2039 "regression-compile-tmp/pass1.imp"
_imp_WRITE(X, 2);
                                                                //   2040                      space
#line 2040 "regression-compile-tmp/pass1.imp"
_imp_SPACE();
                                                                //   2041                      printstring(name)
#line 2041 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(NAME);
                                                                //   2042                      space
#line 2042 "regression-compile-tmp/pass1.imp"
_imp_SPACE();
                                                                //   2043                      count = count-1
#line 2043 "regression-compile-tmp/pass1.imp"
COUNT = (((int)(COUNT)) - (1));
                                                                //   2044                      %if count <= 0 %start
#line 2044 "regression-compile-tmp/pass1.imp"
if (((COUNT) > (0))) goto L_01ae;
                                                                //   2045                          count = 5
#line 2045 "regression-compile-tmp/pass1.imp"
COUNT = 5;
                                                                //   2046                          name = ""
#line 2046 "regression-compile-tmp/pass1.imp"
NAME = _imp_str_literal("");
                                                                //   2047                          newline
#line 2047 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
                                                                //   2048                      %finish
#line 2048 "regression-compile-tmp/pass1.imp"
L_01ae:;
                                                                //   2049                  %finish
#line 2049 "regression-compile-tmp/pass1.imp"
L_01ac:;
                                                                //   2050              %end
#line 2050 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETNEXT at level 4
                                                                //   2051  
                                                                //   2052              %routine set subs(%integer n)
#line 2052 "regression-compile-tmp/pass1.imp"
void SETSUBS( int N )
#line 2052 "regression-compile-tmp/pass1.imp"
{
                                                                //   2053                  !update the app field in n array descriptors
                                                                //   2054                  %integer p
#line 2054 "regression-compile-tmp/pass1.imp"
int P;
                                                                //   2055                  p = tmax
#line 2055 "regression-compile-tmp/pass1.imp"
P = TMAX;
                                                                //   2056                  %while n > 0 %cycle
#line 2056 "regression-compile-tmp/pass1.imp"
L_01af:;
#line 2056 "regression-compile-tmp/pass1.imp"
if (((N) <= (0))) goto L_01b0;
                                                                //   2057                      !%signal 15,15 %if p < tbase
                                                                //   2058                      tag(p)_app = dimension
#line 2058 "regression-compile-tmp/pass1.imp"
TAG[P].APP = DIMENSION;
                                                                //   2059                      p = p-1;  n = n-1
#line 2059 "regression-compile-tmp/pass1.imp"
P = (((int)(P)) - (1));
#line 2059 "regression-compile-tmp/pass1.imp"
N = (((int)(N)) - (1));
                                                                //   2060                  %repeat
#line 2060 "regression-compile-tmp/pass1.imp"
goto L_01af;
#line 2060 "regression-compile-tmp/pass1.imp"
L_01b0:;
                                                                //   2061              %end
#line 2061 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETSUBS at level 4
                                                                //   2062  
                                                                //   2063              %routine set bp
#line 2063 "regression-compile-tmp/pass1.imp"
void SETBP( void )
#line 2063 "regression-compile-tmp/pass1.imp"
{
                                                                //   2064                  !define a constant bound pair from the last stacked constants
                                                                //   2065                  pending = pending-2
#line 2065 "regression-compile-tmp/pass1.imp"
PENDING = (((int)(PENDING)) - (2));
                                                                //   2066                  lb = pstack(pending+1);  ub = pstack(pending+2)
#line 2066 "regression-compile-tmp/pass1.imp"
LB = (PSTACK-1)[(((int)(PENDING)) + (1))];
#line 2066 "regression-compile-tmp/pass1.imp"
UB = (PSTACK-1)[(((int)(PENDING)) + (2))];
                                                                //   2067                  %if ub-lb+1 < 0 %start
#line 2067 "regression-compile-tmp/pass1.imp"
if ((((((int)((((int)(UB)) - (LB)))) + (1))) >= (0))) goto L_01b2;
                                                                //   2068                      pos1 = 0;  next = link;  fault(11)
#line 2068 "regression-compile-tmp/pass1.imp"
POS1 = 0;
#line 2068 "regression-compile-tmp/pass1.imp"
NEXT = LINK;
#line 2068 "regression-compile-tmp/pass1.imp"
FAULT(11);
                                                                //   2069                      ub = lb
#line 2069 "regression-compile-tmp/pass1.imp"
UB = LB;
                                                                //   2070                  %finish
#line 2070 "regression-compile-tmp/pass1.imp"
L_01b2:;
                                                                //   2071                  set const(lb);  set const(ub)
#line 2071 "regression-compile-tmp/pass1.imp"
SETCONST(LB);
#line 2071 "regression-compile-tmp/pass1.imp"
SETCONST(UB);
                                                                //   2072                  add char( 'b' ) %unless class = 146
#line 2072 "regression-compile-tmp/pass1.imp"
if (((CLASS) == (146))) goto L_01b3;
#line 2072 "regression-compile-tmp/pass1.imp"
ADDCHAR(98);
#line 2072 "regression-compile-tmp/pass1.imp"
L_01b3:;
                                                                //   2073              %end
#line 2073 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETBP at level 4
                                                                //   2074  
                                                                //   2075              %routine compile end(%integer type)
#line 2075 "regression-compile-tmp/pass1.imp"
void COMPILEEND( int TYPE )
#line 2075 "regression-compile-tmp/pass1.imp"
{
                                                                //   2076                  ! type = 0:eof, 1:eop, 2:end
                                                                //   2077                  %if access # 0 %start
#line 2077 "regression-compile-tmp/pass1.imp"
if (((ACCESS) == (0))) goto L_01b4;
                                                                //   2078                      open = 0
#line 2078 "regression-compile-tmp/pass1.imp"
OPEN = 0;
                                                                //   2079                      fault(19) %if block form > proc;   ! can reach end
#line 2079 "regression-compile-tmp/pass1.imp"
if (((BLOCKFORM) <= (7))) goto L_01b5;
#line 2079 "regression-compile-tmp/pass1.imp"
FAULT(19);
#line 2079 "regression-compile-tmp/pass1.imp"
L_01b5:;
                                                                //   2080                  %finish
#line 2080 "regression-compile-tmp/pass1.imp"
L_01b4:;
                                                                //   2081  
                                                                //   2082                  %while dict(dmin) >= 0 %cycle;         ! finishes & repeats
#line 2082 "regression-compile-tmp/pass1.imp"
L_01b6:;
#line 2082 "regression-compile-tmp/pass1.imp"
if (((DICT[(((int)(DMIN)) - (1))]) < (0))) goto L_01b7;
                                                                //   2083                      fault(17+dict(dmin)&1)
#line 2083 "regression-compile-tmp/pass1.imp"
FAULT(((17) + ((int)(((DICT[(((int)(DMIN)) - (1))]) & (1))))));
                                                                //   2084                      dmin = dmin+1
#line 2084 "regression-compile-tmp/pass1.imp"
DMIN = (((int)(DMIN)) + (1));
                                                                //   2085                  %repeat
#line 2085 "regression-compile-tmp/pass1.imp"
goto L_01b6;
#line 2085 "regression-compile-tmp/pass1.imp"
L_01b7:;
                                                                //   2086                  !{delete names(0)}
                                                                //   2087                  add char( ';' )
#line 2087 "regression-compile-tmp/pass1.imp"
ADDCHAR(59);
                                                                //   2088                  add char( ';' ) %if type = 1;          ! endofprogram
#line 2088 "regression-compile-tmp/pass1.imp"
if (((TYPE) != (1))) goto L_01b9;
#line 2088 "regression-compile-tmp/pass1.imp"
ADDCHAR(59);
#line 2088 "regression-compile-tmp/pass1.imp"
L_01b9:;
                                                                //   2089  
                                                                //   2090                  bflags = bflags!open;                  ! show if it returns
#line 2090 "regression-compile-tmp/pass1.imp"
*BFLAGS = ((*BFLAGS) | (OPEN));
                                                                //   2091  
                                                                //   2092                  def lab(0) %if block tag # 0 %and level # 1; ! for jump around
#line 2092 "regression-compile-tmp/pass1.imp"
if (((BLOCKTAG) == (0))) goto L_01ba;
#line 2092 "regression-compile-tmp/pass1.imp"
if (((LEVEL) == (1))) goto L_01ba;
#line 2092 "regression-compile-tmp/pass1.imp"
DEFLAB(0);
#line 2092 "regression-compile-tmp/pass1.imp"
L_01ba:;
                                                                //   2093                  %if type # 2 %start;                   ! eop, eof
#line 2093 "regression-compile-tmp/pass1.imp"
if (((TYPE) == (2))) goto L_01bb;
                                                                //   2094                      fault(16) %if level # type;        ! end missing
#line 2094 "regression-compile-tmp/pass1.imp"
if (((LEVEL) == (TYPE))) goto L_01bc;
#line 2094 "regression-compile-tmp/pass1.imp"
FAULT(16);
#line 2094 "regression-compile-tmp/pass1.imp"
L_01bc:;
                                                                //   2095                  %finish %else %start
#line 2095 "regression-compile-tmp/pass1.imp"
goto L_01bd;
#line 2095 "regression-compile-tmp/pass1.imp"
L_01bb:;
                                                                //   2096                      %if level = 0 %start
#line 2096 "regression-compile-tmp/pass1.imp"
if (((LEVEL) != (0))) goto L_01be;
                                                                //   2097                          fault(15);                     ! spurious end
#line 2097 "regression-compile-tmp/pass1.imp"
FAULT(15);
                                                                //   2098                      %finish
#line 2098 "regression-compile-tmp/pass1.imp"
L_01be:;
                                                                //   2099                  %finish
#line 2099 "regression-compile-tmp/pass1.imp"
L_01bd:;
                                                                //   2100  
                                                                //   2101                  end mark = 11;               !******Mouses specific******
#line 2101 "regression-compile-tmp/pass1.imp"
ENDMARK = 11;
                                                                //   2102              %end
#line 2102 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COMPILEEND at level 4
                                                                //   2103  
                                                                //   2104              %routine def(%integer p)
#line 2104 "regression-compile-tmp/pass1.imp"
void DEF( int P )
#line 2104 "regression-compile-tmp/pass1.imp"
{
                                                                //   2105                  !dump a descriptor
                                                                //   2106                  %integer t, f, type
#line 2106 "regression-compile-tmp/pass1.imp"
int T;
#line 2106 "regression-compile-tmp/pass1.imp"
int F;
#line 2106 "regression-compile-tmp/pass1.imp"
int TYPE;
                                                                //   2107                  %record(tagfm)%name v
#line 2107 "regression-compile-tmp/pass1.imp"
 TAGFM /*name*/*V;
                                                                //   2108                  flush buffer( 1 );                     ! flush if bp > 0
#line 2108 "regression-compile-tmp/pass1.imp"
FLUSHBUFFER(1);
                                                                //   2109                  defs = defs+1
#line 2109 "regression-compile-tmp/pass1.imp"
DEFS = (((int)(DEFS)) + (1));
                                                                //   2110                  v == tag(p)
#line 2110 "regression-compile-tmp/pass1.imp"
V = &TAG[P];
                                                                //   2111                  t = 0
#line 2111 "regression-compile-tmp/pass1.imp"
T = 0;
                                                                //   2112                  %unless v_index < 0 %start;            ! no index for subnames
#line 2112 "regression-compile-tmp/pass1.imp"
if (((V->INDEX) < (0))) goto L_01bf;
                                                                //   2113                      id = id+1 %and v_index = id %if v_index = 0
#line 2113 "regression-compile-tmp/pass1.imp"
if (((V->INDEX) != (0))) goto L_01c0;
#line 2113 "regression-compile-tmp/pass1.imp"
ID = (((int)(ID)) + (1));
#line 2113 "regression-compile-tmp/pass1.imp"
V->INDEX = ID;
#line 2113 "regression-compile-tmp/pass1.imp"
L_01c0:;
                                                                //   2114                      last def = v_index
#line 2114 "regression-compile-tmp/pass1.imp"
LASTDEF = V->INDEX;
                                                                //   2115                      t = last def
#line 2115 "regression-compile-tmp/pass1.imp"
T = LASTDEF;
                                                                //   2116                  %finish
#line 2116 "regression-compile-tmp/pass1.imp"
L_01bf:;
                                                                //   2117                  op('$', t)
#line 2117 "regression-compile-tmp/pass1.imp"
OP(36, T);
                                                                //   2118                  print ident(p, 1);                     ! output the name
#line 2118 "regression-compile-tmp/pass1.imp"
PRINTIDENT(P, 1);
                                                                //   2119                  t = v_flags
#line 2119 "regression-compile-tmp/pass1.imp"
T = V->FLAGS;
                                                                //   2120                  type = t
#line 2120 "regression-compile-tmp/pass1.imp"
TYPE = T;
                                                                //   2121                  type = type&(\(7<<4)) %if type&(7<<4) >= 6<<4;!routine & pred
#line 2121 "regression-compile-tmp/pass1.imp"
if (((((TYPE) & (((7) << (4))))) < (((6) << (4))))) goto L_01c1;
#line 2121 "regression-compile-tmp/pass1.imp"
TYPE = ((TYPE) & ((~(((7) << (4))))));
#line 2121 "regression-compile-tmp/pass1.imp"
L_01c1:;
                                                                //   2122                  op(',', type&2_1111111);               ! type & form
#line 2122 "regression-compile-tmp/pass1.imp"
OP(44, ((TYPE) & (127)));
                                                                //   2123                  f = v_format
#line 2123 "regression-compile-tmp/pass1.imp"
F = V->FORMAT;
                                                                //   2124                  f = tag(f)_index %if t&16_70 = record<<4
#line 2124 "regression-compile-tmp/pass1.imp"
if (((((T) & (112))) != (((4) << (4))))) goto L_01c2;
#line 2124 "regression-compile-tmp/pass1.imp"
F = TAG[F].INDEX;
#line 2124 "regression-compile-tmp/pass1.imp"
L_01c2:;
                                                                //   2125                  f = v_index %if f < 0
#line 2125 "regression-compile-tmp/pass1.imp"
if (((F) >= (0))) goto L_01c3;
#line 2125 "regression-compile-tmp/pass1.imp"
F = V->INDEX;
#line 2125 "regression-compile-tmp/pass1.imp"
L_01c3:;
                                                                //   2126                  op(',', f);                            ! format
#line 2126 "regression-compile-tmp/pass1.imp"
OP(44, F);
                                                                //   2127                  f = otype+t>>4&2_1111000
#line 2127 "regression-compile-tmp/pass1.imp"
F = ((OTYPE) + ((int)((((int)((((unsigned int)(T)) >> (4)))) & (120)))));
                                                                //   2128                  f = f!8 %if class = 125;               ! add spec from %DUP
#line 2128 "regression-compile-tmp/pass1.imp"
if (((CLASS) != (125))) goto L_01c4;
#line 2128 "regression-compile-tmp/pass1.imp"
F = ((F) | (8));
#line 2128 "regression-compile-tmp/pass1.imp"
L_01c4:;
                                                                //   2129                  dim = v_app;                           ! dimension
#line 2129 "regression-compile-tmp/pass1.imp"
DIM = V->APP;
                                                                //   2130                  dim = 0 %unless 0 < dim %and dim <= dim limit
#line 2130 "regression-compile-tmp/pass1.imp"
if (((0) >= (DIM))) goto L_01b8;
#line 2130 "regression-compile-tmp/pass1.imp"
if (((DIM) <= (6))) goto L_01c5;
#line 2130 "regression-compile-tmp/pass1.imp"
L_01b8:;
#line 2130 "regression-compile-tmp/pass1.imp"
DIM = 0;
#line 2130 "regression-compile-tmp/pass1.imp"
L_01c5:;
                                                                //   2131                  op(',', f+dim<<8);                     ! otype & spec & prot
#line 2131 "regression-compile-tmp/pass1.imp"
OP(44, ((F) + ((int)(((DIM) << (8))))));
                                                                //   2132                  defs = 0 %if t&parameters = 0
#line 2132 "regression-compile-tmp/pass1.imp"
if (((((T) & (4096))) != (0))) goto L_01c6;
#line 2132 "regression-compile-tmp/pass1.imp"
DEFS = 0;
#line 2132 "regression-compile-tmp/pass1.imp"
L_01c6:;
                                                                //   2133                  f = t&15
#line 2133 "regression-compile-tmp/pass1.imp"
F = ((T) & (15));
                                                                //   2134                  %if v_flags&spec # 0 %start
#line 2134 "regression-compile-tmp/pass1.imp"
if (((((V->FLAGS) & (128))) == (0))) goto L_01c7;
                                                                //   2135                      v_flags = v_flags&(\spec) %unless 3 <= f %and f <= 10
#line 2135 "regression-compile-tmp/pass1.imp"
if (((3) > (F))) goto L_0182;
#line 2135 "regression-compile-tmp/pass1.imp"
if (((F) <= (10))) goto L_01c8;
#line 2135 "regression-compile-tmp/pass1.imp"
L_0182:;
#line 2135 "regression-compile-tmp/pass1.imp"
V->FLAGS = ((V->FLAGS) & ((~(128))));
#line 2135 "regression-compile-tmp/pass1.imp"
L_01c8:;
                                                                //   2136                      ocount = -1;                       ! external specs have no constants
#line 2136 "regression-compile-tmp/pass1.imp"
OCOUNT = (-1);
                                                                //   2137                  %finish
#line 2137 "regression-compile-tmp/pass1.imp"
L_01c7:;
                                                                //   2138                  dimension = 0
#line 2138 "regression-compile-tmp/pass1.imp"
DIMENSION = 0;
                                                                //   2139                  %if otype = 2 %and (f=2 %or f=12 %or f=14) %start
#line 2139 "regression-compile-tmp/pass1.imp"
if (((OTYPE) != (2))) goto L_01c9;
#line 2139 "regression-compile-tmp/pass1.imp"
if (((F) == (2))) goto L_01ca;
#line 2139 "regression-compile-tmp/pass1.imp"
if (((F) == (12))) goto L_01ca;
#line 2139 "regression-compile-tmp/pass1.imp"
if (((F) != (14))) goto L_01c9;
#line 2139 "regression-compile-tmp/pass1.imp"
L_01ca:;
                                                                //   2140                      v_flags = v_flags-1;               ! convert to simple
#line 2140 "regression-compile-tmp/pass1.imp"
V->FLAGS = (((int)(V->FLAGS)) - (1));
                                                                //   2141                  %finish
#line 2141 "regression-compile-tmp/pass1.imp"
L_01c9:;
                                                                //   2142              %end
#line 2142 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DEF at level 4
                                                                //   2143  
                                                                //   2144              %routine def s lab(%integer n)
#line 2144 "regression-compile-tmp/pass1.imp"
void DEFSLAB( int N )
#line 2144 "regression-compile-tmp/pass1.imp"
{
                                                                //   2145                  ! define a switch label, x defines the switch tag
                                                                //   2146                  %integer p, l, b, w, bit
#line 2146 "regression-compile-tmp/pass1.imp"
int P;
#line 2146 "regression-compile-tmp/pass1.imp"
int L;
#line 2146 "regression-compile-tmp/pass1.imp"
int B;
#line 2146 "regression-compile-tmp/pass1.imp"
int W;
#line 2146 "regression-compile-tmp/pass1.imp"
int BIT;
                                                                //   2147                  p = tag(x)_format;                     ! pointer to table
#line 2147 "regression-compile-tmp/pass1.imp"
P = TAG[X].FORMAT;
                                                                //   2148                  l = dict(p);                           ! lower bound
#line 2148 "regression-compile-tmp/pass1.imp"
L = DICT[(((int)(P)) - (1))];
                                                                //   2149                  %if l <= n %and n <= dict(p+1) %start
#line 2149 "regression-compile-tmp/pass1.imp"
if (((L) > (N))) goto L_01cb;
#line 2149 "regression-compile-tmp/pass1.imp"
if (((N) > (DICT[(((int)((((int)(P)) + (1)))) - (1))]))) goto L_01cb;
                                                                //   2150                      b = n-l
#line 2150 "regression-compile-tmp/pass1.imp"
B = (((int)(N)) - (L));
                                                                //   2151                      w = b>>4+p
#line 2151 "regression-compile-tmp/pass1.imp"
W = (((int)((int)((((unsigned int)(B)) >> (4))))) + (P));
                                                                //   2152                      bit = 1<<(b&15)
#line 2152 "regression-compile-tmp/pass1.imp"
BIT = ((1) << (((B) & (15))));
                                                                //   2153                      %if dict(w+2)&bit # 0 %start;      ! already set
#line 2153 "regression-compile-tmp/pass1.imp"
if (((((DICT[(((int)((((int)(W)) + (2)))) - (1))]) & (BIT))) == (0))) goto L_01cc;
                                                                //   2154                          fault(4) %if pending # 0
#line 2154 "regression-compile-tmp/pass1.imp"
if (((PENDING) == (0))) goto L_01cd;
#line 2154 "regression-compile-tmp/pass1.imp"
FAULT(4);
#line 2154 "regression-compile-tmp/pass1.imp"
L_01cd:;
                                                                //   2155                          %return
#line 2155 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2156                      %finish
#line 2156 "regression-compile-tmp/pass1.imp"
L_01cc:;
                                                                //   2157                      dict(w+2) = dict(w+2)!bit %if pending # 0
#line 2157 "regression-compile-tmp/pass1.imp"
if (((PENDING) == (0))) goto L_01ce;
#line 2157 "regression-compile-tmp/pass1.imp"
DICT[(((int)((((int)(W)) + (2)))) - (1))] = ((DICT[(((int)((((int)(W)) + (2)))) - (1))]) | (BIT));
#line 2157 "regression-compile-tmp/pass1.imp"
L_01ce:;
                                                                //   2158                      set const(n)
#line 2158 "regression-compile-tmp/pass1.imp"
SETCONST(N);
                                                                //   2159                      op('_', tag(x)_index)   
#line 2159 "regression-compile-tmp/pass1.imp"
OP(95, TAG[X].INDEX);
                                                                //   2160                  %finish %else %start
#line 2160 "regression-compile-tmp/pass1.imp"
goto L_01cf;
#line 2160 "regression-compile-tmp/pass1.imp"
L_01cb:;
                                                                //   2161                      fault(12)
#line 2161 "regression-compile-tmp/pass1.imp"
FAULT(12);
                                                                //   2162                  %finish
#line 2162 "regression-compile-tmp/pass1.imp"
L_01cf:;
                                                                //   2163                  access = 1
#line 2163 "regression-compile-tmp/pass1.imp"
ACCESS = 1;
                                                                //   2164              %end
#line 2164 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DEFSLAB at level 4
                                                                //   2165  
                                                                //   2166              %routine call
#line 2166 "regression-compile-tmp/pass1.imp"
void CALL( void )
#line 2166 "regression-compile-tmp/pass1.imp"
{
                                                                //   2167                  %record(tagfm)%name T
#line 2167 "regression-compile-tmp/pass1.imp"
 TAGFM /*name*/*T;
                                                                //   2168                  t == tag(x)
#line 2168 "regression-compile-tmp/pass1.imp"
T = &TAG[X];
                                                                //   2169                  op('@', t_index)
#line 2169 "regression-compile-tmp/pass1.imp"
OP(64, T->INDEX);
                                                                //   2170                  access = 0 %if t_flags&closed # 0;     ! never comes back
#line 2170 "regression-compile-tmp/pass1.imp"
if (((((T->FLAGS) & (16384))) == (0))) goto L_01d0;
#line 2170 "regression-compile-tmp/pass1.imp"
ACCESS = 0;
#line 2170 "regression-compile-tmp/pass1.imp"
L_01d0:;
                                                                //   2171                  add char( 'E' ) %if t_app = 0;         ! no parameters
#line 2171 "regression-compile-tmp/pass1.imp"
if (((T->APP) != (0))) goto L_01d1;
#line 2171 "regression-compile-tmp/pass1.imp"
ADDCHAR(69);
#line 2171 "regression-compile-tmp/pass1.imp"
L_01d1:;
                                                                //   2172              %end
#line 2172 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CALL at level 4
                                                                //   2173  
                                                                //   2174              %routine pop def
#line 2174 "regression-compile-tmp/pass1.imp"
void POPDEF( void )
#line 2174 "regression-compile-tmp/pass1.imp"
{
                                                                //   2175                  set const(pstack(pending));  pending = pending-1
#line 2175 "regression-compile-tmp/pass1.imp"
SETCONST((PSTACK-1)[PENDING]);
#line 2175 "regression-compile-tmp/pass1.imp"
PENDING = (((int)(PENDING)) - (1));
                                                                //   2176              %end
#line 2176 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block POPDEF at level 4
                                                                //   2177  
                                                                //   2178              %routine pop lit
#line 2178 "regression-compile-tmp/pass1.imp"
void POPLIT( void )
#line 2178 "regression-compile-tmp/pass1.imp"
{
                                                                //   2179                  %if pending = 0 %then lit = 0 %else %start
#line 2179 "regression-compile-tmp/pass1.imp"
if (((PENDING) != (0))) goto L_01d2;
#line 2179 "regression-compile-tmp/pass1.imp"
LIT = 0;
#line 2179 "regression-compile-tmp/pass1.imp"
goto L_01d3;
#line 2179 "regression-compile-tmp/pass1.imp"
L_01d2:;
                                                                //   2180                      lit = pstack(pending);  pending = pending-1
#line 2180 "regression-compile-tmp/pass1.imp"
LIT = (PSTACK-1)[PENDING];
#line 2180 "regression-compile-tmp/pass1.imp"
PENDING = (((int)(PENDING)) - (1));
                                                                //   2181                  %finish
#line 2181 "regression-compile-tmp/pass1.imp"
L_01d3:;
                                                                //   2182              %end
#line 2182 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block POPLIT at level 4
                                                                //   2183  
                                                                //   2184              !conditions & jumps
                                                                //   2185              %routine push(%integer x)
#line 2185 "regression-compile-tmp/pass1.imp"
void PUSH( int X )
#line 2185 "regression-compile-tmp/pass1.imp"
{
                                                                //   2186                  %if cnest(cp)&2 # x %start
#line 2186 "regression-compile-tmp/pass1.imp"
if (((((CNEST[CP]) & (2))) == (X))) goto L_01d4;
                                                                //   2187                      cnest(cp) = cnest(cp)!1;  x = x+4
#line 2187 "regression-compile-tmp/pass1.imp"
CNEST[CP] = ((CNEST[CP]) | (1));
#line 2187 "regression-compile-tmp/pass1.imp"
X = (((int)(X)) + (4));
                                                                //   2188                  %finish
#line 2188 "regression-compile-tmp/pass1.imp"
L_01d4:;
                                                                //   2189                  clab = clab+1 %if cnest(cp)&1 # 0
#line 2189 "regression-compile-tmp/pass1.imp"
if (((((CNEST[CP]) & (1))) == (0))) goto L_01d5;
#line 2189 "regression-compile-tmp/pass1.imp"
CLAB = (((int)(CLAB)) + (1));
#line 2189 "regression-compile-tmp/pass1.imp"
L_01d5:;
                                                                //   2190                  cnest(cp+1) = x;  cp = cp+1
#line 2190 "regression-compile-tmp/pass1.imp"
CNEST[(((int)(CP)) + (1))] = X;
#line 2190 "regression-compile-tmp/pass1.imp"
CP = (((int)(CP)) + (1));
                                                                //   2191              %end
#line 2191 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUSH at level 4
                                                                //   2192  
                                                                //   2193              %routine pop label(%integer mode)
#line 2193 "regression-compile-tmp/pass1.imp"
void POPLABEL( int MODE )
#line 2193 "regression-compile-tmp/pass1.imp"
{
                                                                //   2194                  lmode = dict(dmin)
#line 2194 "regression-compile-tmp/pass1.imp"
LMODE = DICT[(((int)(DMIN)) - (1))];
                                                                //   2195                  %if lmode < 0 %or lmode&1 # mode %start
#line 2195 "regression-compile-tmp/pass1.imp"
if (((LMODE) < (0))) goto L_01d6;
#line 2195 "regression-compile-tmp/pass1.imp"
if (((((LMODE) & (1))) == (MODE))) goto L_01d7;
#line 2195 "regression-compile-tmp/pass1.imp"
L_01d6:;
                                                                //   2196                      fault(mode+8)
#line 2196 "regression-compile-tmp/pass1.imp"
FAULT((((int)(MODE)) + (8)));
                                                                //   2197                  %finish %else %start
#line 2197 "regression-compile-tmp/pass1.imp"
goto L_01d8;
#line 2197 "regression-compile-tmp/pass1.imp"
L_01d7:;
                                                                //   2198                      dmin = dmin+1;  label = label-3
#line 2198 "regression-compile-tmp/pass1.imp"
DMIN = (((int)(DMIN)) + (1));
#line 2198 "regression-compile-tmp/pass1.imp"
LABEL = (((int)(LABEL)) - (3));
                                                                //   2199                  %finish
#line 2199 "regression-compile-tmp/pass1.imp"
L_01d8:;
                                                                //   2200              %end
#line 2200 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block POPLABEL at level 4
                                                                //   2201  
                                                                //   2202              %if sstype < 0 %start;                     ! executable statement
#line 2202 "regression-compile-tmp/pass1.imp"
if (((SSTYPE) >= (0))) goto L_01d9;
                                                                //   2203                  %if level = 0 %start;                  ! outermost level
#line 2203 "regression-compile-tmp/pass1.imp"
if (((LEVEL) != (0))) goto L_01da;
                                                                //   2204                      fault(13);                         ! *order
#line 2204 "regression-compile-tmp/pass1.imp"
FAULT(13);
                                                                //   2205                  %finish %else %start
#line 2205 "regression-compile-tmp/pass1.imp"
goto L_01db;
#line 2205 "regression-compile-tmp/pass1.imp"
L_01da:;
                                                                //   2206                      %if access = 0 %start
#line 2206 "regression-compile-tmp/pass1.imp"
if (((ACCESS) != (0))) goto L_01dc;
                                                                //   2207                          access = 1;  fault(-1);        ! only a warning
#line 2207 "regression-compile-tmp/pass1.imp"
ACCESS = 1;
#line 2207 "regression-compile-tmp/pass1.imp"
FAULT((-1));
                                                                //   2208                      %finish
#line 2208 "regression-compile-tmp/pass1.imp"
L_01dc:;
                                                                //   2209                  %finish
#line 2209 "regression-compile-tmp/pass1.imp"
L_01db:;
                                                                //   2210              %finish
#line 2210 "regression-compile-tmp/pass1.imp"
L_01d9:;
                                                                //   2211  
                                                                //   2212              %if diag&2 # 0 %start
#line 2212 "regression-compile-tmp/pass1.imp"
if (((((DIAG) & (2))) == (0))) goto L_01dd;
                                                                //   2213                  newline %if sym # nl
#line 2213 "regression-compile-tmp/pass1.imp"
if (((SYM) == (10))) goto L_01de;
#line 2213 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
#line 2213 "regression-compile-tmp/pass1.imp"
L_01de:;
                                                                //   2214                  printstring("ss =")
#line 2214 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("ss ="));
                                                                //   2215                  write(ss, 1)
#line 2215 "regression-compile-tmp/pass1.imp"
_imp_WRITE(SS, 1);
                                                                //   2216                  newline
#line 2216 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
                                                                //   2217                  count = 5
#line 2217 "regression-compile-tmp/pass1.imp"
COUNT = 5;
                                                                //   2218                  name = ""
#line 2218 "regression-compile-tmp/pass1.imp"
NAME = _imp_str_literal("");
                                                                //   2219              %finish
#line 2219 "regression-compile-tmp/pass1.imp"
L_01dd:;
                                                                //   2220  
                                                                //   2221              next = ss
#line 2221 "regression-compile-tmp/pass1.imp"
NEXT = SS;
                                                                //   2222              pending = 0;  lmode = 0
#line 2222 "regression-compile-tmp/pass1.imp"
PENDING = 0;
#line 2222 "regression-compile-tmp/pass1.imp"
LMODE = 0;
                                                                //   2223              link = 0;  decs = 0
#line 2223 "regression-compile-tmp/pass1.imp"
LINK = 0;
#line 2223 "regression-compile-tmp/pass1.imp"
DECS = 0;
                                                                //   2224              defs = 0;  resln = 0;  done = 0
#line 2224 "regression-compile-tmp/pass1.imp"
DEFS = 0;
#line 2224 "regression-compile-tmp/pass1.imp"
RESLN = 0;
#line 2224 "regression-compile-tmp/pass1.imp"
DONE = 0;
                                                                //   2225              ord = level
#line 2225 "regression-compile-tmp/pass1.imp"
ORD = LEVEL;
                                                                //   2226              ord = 1 %if this >= 0;                     ! recordformat declarations
#line 2226 "regression-compile-tmp/pass1.imp"
if (((THIS) < (0))) goto L_01df;
#line 2226 "regression-compile-tmp/pass1.imp"
ORD = 1;
#line 2226 "regression-compile-tmp/pass1.imp"
L_01df:;
                                                                //   2227  c(0):
#line 2227 "regression-compile-tmp/pass1.imp"
sw5_C_0:;
                                                                //   2228  top:        %if next # link %start
#line 2228 "regression-compile-tmp/pass1.imp"
U_101b:;
#line 2228 "regression-compile-tmp/pass1.imp"
if (((NEXT) == (LINK))) goto L_01e0;
                                                                //   2229                  get next;  ->c(class)
#line 2229 "regression-compile-tmp/pass1.imp"
GETNEXT();
#line 2229 "regression-compile-tmp/pass1.imp"
sw5_C_idx = CLASS; if ((0 <= sw5_C_idx) && (sw5_C_idx <= 180)) goto *sw5_C[sw5_C_idx]; else {
   /*_imp_signal(8, 2, sw5_C_idx);*/
   fprintf(stderr, "%%SWITCH index C(%d) not in range 0:180 at %s:%d\n",
           sw5_C_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   2230              %finish
#line 2230 "regression-compile-tmp/pass1.imp"
L_01e0:;
                                                                //   2231  
                                                                //   2232              !all done, tidy up declarations and jumps
                                                                //   2233              newline %if diag&2 # 0 %and count # 5
#line 2233 "regression-compile-tmp/pass1.imp"
if (((((DIAG) & (2))) == (0))) goto L_01e1;
#line 2233 "regression-compile-tmp/pass1.imp"
if (((COUNT) == (5))) goto L_01e1;
#line 2233 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
#line 2233 "regression-compile-tmp/pass1.imp"
L_01e1:;
                                                                //   2234  
                                                                //   2235              %if lmode&(loop!then!else) # 0 %start;     ! pending labels and jumps
#line 2235 "regression-compile-tmp/pass1.imp"
if (((((LMODE) & (((((16) | (4))) | (8))))) == (0))) goto L_01e2;
                                                                //   2236                  op('B', label-1) %if lmode&loop # 0;   ! repeat
#line 2236 "regression-compile-tmp/pass1.imp"
if (((((LMODE) & (16))) == (0))) goto L_01e3;
#line 2236 "regression-compile-tmp/pass1.imp"
OP(66, (((int)(LABEL)) - (1)));
#line 2236 "regression-compile-tmp/pass1.imp"
L_01e3:;
                                                                //   2237                  def lab(label)   %if lmode&then # 0;   ! entry from then
#line 2237 "regression-compile-tmp/pass1.imp"
if (((((LMODE) & (4))) == (0))) goto L_01e4;
#line 2237 "regression-compile-tmp/pass1.imp"
DEFLAB(LABEL);
#line 2237 "regression-compile-tmp/pass1.imp"
L_01e4:;
                                                                //   2238                  def lab(label-1) %if lmode&else # 0;   ! entry from else
#line 2238 "regression-compile-tmp/pass1.imp"
if (((((LMODE) & (8))) == (0))) goto L_01e5;
#line 2238 "regression-compile-tmp/pass1.imp"
DEFLAB((((int)(LABEL)) - (1)));
#line 2238 "regression-compile-tmp/pass1.imp"
L_01e5:;
                                                                //   2239              %finish
#line 2239 "regression-compile-tmp/pass1.imp"
L_01e2:;
                                                                //   2240  
                                                                //   2241              %return %if decs = 0
#line 2241 "regression-compile-tmp/pass1.imp"
if (((DECS) != (0))) goto L_01e6;
#line 2241 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2241 "regression-compile-tmp/pass1.imp"
L_01e6:;
                                                                //   2242              atom1 = error %and %return %if atom1 # 0;  ! %integerroutine
#line 2242 "regression-compile-tmp/pass1.imp"
if (((ATOM1) == (0))) goto L_01e7;
#line 2242 "regression-compile-tmp/pass1.imp"
ATOM1 = 32768;
#line 2242 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2242 "regression-compile-tmp/pass1.imp"
L_01e7:;
                                                                //   2243              order = ord
#line 2243 "regression-compile-tmp/pass1.imp"
ORDER = ORD;
                                                                //   2244              decl = decl&(\15)+decmap(decl&15);         ! construct declarator flags
#line 2244 "regression-compile-tmp/pass1.imp"
DECL = (((int)(((DECL) & ((~(15)))))) + (DECMAP[((DECL) & (15))]));
                                                                //   2245              atom1 = atoms(decl&15);                    ! generate class
#line 2245 "regression-compile-tmp/pass1.imp"
ATOM1 = ATOMS[((DECL) & (15))];
                                                                //   2246              %if otype # 0 %start;                      ! own, const etc.
#line 2246 "regression-compile-tmp/pass1.imp"
if (((OTYPE) == (0))) goto L_01e8;
                                                                //   2247                  atom1 = atom1+1 %if atom1 # proc
#line 2247 "regression-compile-tmp/pass1.imp"
if (((ATOM1) == (7))) goto L_01e9;
#line 2247 "regression-compile-tmp/pass1.imp"
ATOM1 = (((int)(ATOM1)) + (1));
#line 2247 "regression-compile-tmp/pass1.imp"
L_01e9:;
                                                                //   2248                  %if otype = 2 %start;                  ! const
#line 2248 "regression-compile-tmp/pass1.imp"
if (((OTYPE) != (2))) goto L_01ea;
                                                                //   2249                      n = decl&15
#line 2249 "regression-compile-tmp/pass1.imp"
N = ((DECL) & (15));
                                                                //   2250                      %if n&1 # 0 %start
#line 2250 "regression-compile-tmp/pass1.imp"
if (((((N) & (1))) == (0))) goto L_01eb;
                                                                //   2251                          decl = decl!prot
#line 2251 "regression-compile-tmp/pass1.imp"
DECL = ((DECL) | (256));
                                                                //   2252                          decl = decl!const bit %if decl&2_1111111 = iform
#line 2252 "regression-compile-tmp/pass1.imp"
if (((((DECL) & (127))) != (17))) goto L_01ec;
#line 2252 "regression-compile-tmp/pass1.imp"
DECL = ((DECL) | (8192));
#line 2252 "regression-compile-tmp/pass1.imp"
L_01ec:;
                                                                //   2253                      %finish
#line 2253 "regression-compile-tmp/pass1.imp"
L_01eb:;
                                                                //   2254                  %else
#line 2254 "regression-compile-tmp/pass1.imp"
goto L_01ed;
#line 2254 "regression-compile-tmp/pass1.imp"
L_01ea:;
                                                                //   2255                      decl = decl!own bit
#line 2255 "regression-compile-tmp/pass1.imp"
DECL = ((DECL) | (512));
                                                                //   2256                  %finish
#line 2256 "regression-compile-tmp/pass1.imp"
L_01ed:;
                                                                //   2257              %finish
#line 2257 "regression-compile-tmp/pass1.imp"
L_01e8:;
                                                                //   2258              sstype = 1 %if sstype = 0 %and atom1 = proc
#line 2258 "regression-compile-tmp/pass1.imp"
if (((SSTYPE) != (0))) goto L_01ee;
#line 2258 "regression-compile-tmp/pass1.imp"
if (((ATOM1) != (7))) goto L_01ee;
#line 2258 "regression-compile-tmp/pass1.imp"
SSTYPE = 1;
#line 2258 "regression-compile-tmp/pass1.imp"
L_01ee:;
                                                                //   2259              atom1 = atom1+1 %if decl&spec # 0;         ! onto spec variant
#line 2259 "regression-compile-tmp/pass1.imp"
if (((((DECL) & (128))) == (0))) goto L_01ef;
#line 2259 "regression-compile-tmp/pass1.imp"
ATOM1 = (((int)(ATOM1)) + (1));
#line 2259 "regression-compile-tmp/pass1.imp"
L_01ef:;
                                                                //   2260              ocount = 0 %and cont = '+' %if atom1 = 5;  ! own array
#line 2260 "regression-compile-tmp/pass1.imp"
if (((ATOM1) != (5))) goto L_01f0;
#line 2260 "regression-compile-tmp/pass1.imp"
OCOUNT = 0;
#line 2260 "regression-compile-tmp/pass1.imp"
CONT = 43;
#line 2260 "regression-compile-tmp/pass1.imp"
L_01f0:;
                                                                //   2261              %if anyform(decl&15) = 0 %start;           ! check meaningful
#line 2261 "regression-compile-tmp/pass1.imp"
if (((ANYFORM[((DECL) & (15))]) != (0))) goto L_01f1;
                                                                //   2262                  %if decl>>4&7 = record %start
#line 2262 "regression-compile-tmp/pass1.imp"
if ((((((int)((((unsigned int)(DECL)) >> (4)))) & (7))) != (4))) goto L_01f2;
                                                                //   2263                      this = fdef %if tag(fdef)_flags&spec # 0
#line 2263 "regression-compile-tmp/pass1.imp"
if (((((TAG[FDEF].FLAGS) & (128))) == (0))) goto L_01f3;
#line 2263 "regression-compile-tmp/pass1.imp"
THIS = FDEF;
#line 2263 "regression-compile-tmp/pass1.imp"
L_01f3:;
                                                                //   2264                      atom1 = error+21 %if fdef = this;  ! *context for format
#line 2264 "regression-compile-tmp/pass1.imp"
if (((FDEF) != (THIS))) goto L_01f4;
#line 2264 "regression-compile-tmp/pass1.imp"
ATOM1 = 32789;
#line 2264 "regression-compile-tmp/pass1.imp"
L_01f4:;
                                                                //   2265                  %finish
#line 2265 "regression-compile-tmp/pass1.imp"
L_01f2:;
                                                                //   2266                  atom1 = error+10 %if fdef = 0;         ! *size
#line 2266 "regression-compile-tmp/pass1.imp"
if (((FDEF) != (0))) goto L_01f5;
#line 2266 "regression-compile-tmp/pass1.imp"
ATOM1 = 32778;
#line 2266 "regression-compile-tmp/pass1.imp"
L_01f5:;
                                                                //   2267              %finish
#line 2267 "regression-compile-tmp/pass1.imp"
L_01f1:;
                                                                //   2268              %return
#line 2268 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2269  
                                                                //   2270  atop:       access = 0;  ->top
#line 2270 "regression-compile-tmp/pass1.imp"
U_101c:;
#line 2270 "regression-compile-tmp/pass1.imp"
ACCESS = 0;
#line 2270 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2271              ! declarators
                                                                //   2272  c(88):      ;                                          ! rtype
#line 2272 "regression-compile-tmp/pass1.imp"
sw5_C_88:;
                                                                //   2273  c(28):      decl = x&(\7);                             ! stype
#line 2273 "regression-compile-tmp/pass1.imp"
sw5_C_28:;
#line 2273 "regression-compile-tmp/pass1.imp"
DECL = ((X) & ((~(7))));
                                                                //   2274              fdef = x&7;                                ! precision
#line 2274 "regression-compile-tmp/pass1.imp"
FDEF = ((X) & (7));
                                                                //   2275              fdef = reals ln %if x&2_1110001 = real<<4+1; ! convert to long
#line 2275 "regression-compile-tmp/pass1.imp"
if (((((X) & (113))) != ((((int)(((2) << (4)))) + (1))))) goto L_01f6;
#line 2275 "regression-compile-tmp/pass1.imp"
FDEF = REALSLN;
#line 2275 "regression-compile-tmp/pass1.imp"
L_01f6:;
                                                                //   2276              decs = 1;  ->top
#line 2276 "regression-compile-tmp/pass1.imp"
DECS = 1;
#line 2276 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2277  c(34):      ;                                          ! own
#line 2277 "regression-compile-tmp/pass1.imp"
sw5_C_34:;
                                                                //   2278  c(35):      otype = x;  ord = 1;  ->top;               ! external
#line 2278 "regression-compile-tmp/pass1.imp"
sw5_C_35:;
#line 2278 "regression-compile-tmp/pass1.imp"
OTYPE = X;
#line 2278 "regression-compile-tmp/pass1.imp"
ORD = 1;
#line 2278 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2279  c(152):     decl = decl+x<<1;  ->top;                  ! xname
#line 2279 "regression-compile-tmp/pass1.imp"
sw5_C_152:;
#line 2279 "regression-compile-tmp/pass1.imp"
DECL = ((DECL) + ((int)(((X) << (1)))));
#line 2279 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2280  c(31):      ;                                          ! proc
#line 2280 "regression-compile-tmp/pass1.imp"
sw5_C_31:;
                                                                //   2281  c(32):      spec mode = level+1;                       ! fn/map
#line 2281 "regression-compile-tmp/pass1.imp"
sw5_C_32:;
#line 2281 "regression-compile-tmp/pass1.imp"
SPECMODE = (((int)(LEVEL)) + (1));
                                                                //   2282              decl = decl!prot %if x = 9;                ! function
#line 2282 "regression-compile-tmp/pass1.imp"
if (((X) != (9))) goto L_01f7;
#line 2282 "regression-compile-tmp/pass1.imp"
DECL = ((DECL) | (256));
#line 2282 "regression-compile-tmp/pass1.imp"
L_01f7:;
                                                                //   2283  c(29):      ord = 1;                                   ! array
#line 2283 "regression-compile-tmp/pass1.imp"
sw5_C_29:;
#line 2283 "regression-compile-tmp/pass1.imp"
ORD = 1;
                                                                //   2284              dim = 0
#line 2284 "regression-compile-tmp/pass1.imp"
DIM = 0;
                                                                //   2285  c(30):      decl = decl+x;                             ! name
#line 2285 "regression-compile-tmp/pass1.imp"
sw5_C_30:;
#line 2285 "regression-compile-tmp/pass1.imp"
DECL = (((int)(DECL)) + (X));
                                                                //   2286              decs = 1
#line 2286 "regression-compile-tmp/pass1.imp"
DECS = 1;
                                                                //   2287              ->top
#line 2287 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2288  c(27):      lit = 0;                                   ! arrayd
#line 2288 "regression-compile-tmp/pass1.imp"
sw5_C_27:;
#line 2288 "regression-compile-tmp/pass1.imp"
LIT = 0;
                                                                //   2289              %if pending # 0 %start
#line 2289 "regression-compile-tmp/pass1.imp"
if (((PENDING) == (0))) goto L_01f8;
                                                                //   2290                  pop lit
#line 2290 "regression-compile-tmp/pass1.imp"
POPLIT();
                                                                //   2291                  %unless 0<lit %and lit<=dim limit %start
#line 2291 "regression-compile-tmp/pass1.imp"
if (((0) >= (LIT))) goto L_01f9;
#line 2291 "regression-compile-tmp/pass1.imp"
if (((LIT) <= (6))) goto L_01fa;
#line 2291 "regression-compile-tmp/pass1.imp"
L_01f9:;
                                                                //   2292                      atom1 = error + 11;  %return
#line 2292 "regression-compile-tmp/pass1.imp"
ATOM1 = 32779;
#line 2292 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2293                  %finish
#line 2293 "regression-compile-tmp/pass1.imp"
L_01fa:;
                                                                //   2294              %finish
#line 2294 "regression-compile-tmp/pass1.imp"
L_01f8:;
                                                                //   2295              dim = lit
#line 2295 "regression-compile-tmp/pass1.imp"
DIM = LIT;
                                                                //   2296              decl = decl + x;  decs = 1
#line 2296 "regression-compile-tmp/pass1.imp"
DECL = (((int)(DECL)) + (X));
#line 2296 "regression-compile-tmp/pass1.imp"
DECS = 1;
                                                                //   2297              -> top
#line 2297 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2298  c(37):      x = x!subname;                             ! record
#line 2298 "regression-compile-tmp/pass1.imp"
sw5_C_37:;
#line 2298 "regression-compile-tmp/pass1.imp"
X = ((X) | (2048));
                                                                //   2299  c(36):      lit = 0;                                   ! string
#line 2299 "regression-compile-tmp/pass1.imp"
sw5_C_36:;
#line 2299 "regression-compile-tmp/pass1.imp"
LIT = 0;
                                                                //   2300              %if pending # 0 %start
#line 2300 "regression-compile-tmp/pass1.imp"
if (((PENDING) == (0))) goto L_01fb;
                                                                //   2301                  pop lit
#line 2301 "regression-compile-tmp/pass1.imp"
POPLIT();
                                                                //   2302                  %unless 0 < lit %and lit <= 255 %start; ! max length wrong
#line 2302 "regression-compile-tmp/pass1.imp"
if (((0) >= (LIT))) goto L_01fc;
#line 2302 "regression-compile-tmp/pass1.imp"
if (((LIT) <= (255))) goto L_01fd;
#line 2302 "regression-compile-tmp/pass1.imp"
L_01fc:;
                                                                //   2303                      atom1 = error+10;  %return
#line 2303 "regression-compile-tmp/pass1.imp"
ATOM1 = 32778;
#line 2303 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2304                  %finish
#line 2304 "regression-compile-tmp/pass1.imp"
L_01fd:;
                                                                //   2305              %finish
#line 2305 "regression-compile-tmp/pass1.imp"
L_01fb:;
                                                                //   2306              fdef = lit;                                ! format or length
#line 2306 "regression-compile-tmp/pass1.imp"
FDEF = LIT;
                                                                //   2307  c(33):      decl = x;                                  ! switch
#line 2307 "regression-compile-tmp/pass1.imp"
sw5_C_33:;
#line 2307 "regression-compile-tmp/pass1.imp"
DECL = X;
                                                                //   2308              decs = 1
#line 2308 "regression-compile-tmp/pass1.imp"
DECS = 1;
                                                                //   2309              ->top
#line 2309 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2310  c(39):      decl = decl!spec;                          ! spec
#line 2310 "regression-compile-tmp/pass1.imp"
sw5_C_39:;
#line 2310 "regression-compile-tmp/pass1.imp"
DECL = ((DECL) | (128));
                                                                //   2311              ocount = -1;                               ! no initialisation
#line 2311 "regression-compile-tmp/pass1.imp"
OCOUNT = (-1);
                                                                //   2312              spec mode = -1
#line 2312 "regression-compile-tmp/pass1.imp"
SPECMODE = (-1);
                                                                //   2313              ->top
#line 2313 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2314  c(38):      decl = 64+4;                               ! recordformat (spec)
#line 2314 "regression-compile-tmp/pass1.imp"
sw5_C_38:;
#line 2314 "regression-compile-tmp/pass1.imp"
DECL = 68;
                                                                //   2315              order = 1
#line 2315 "regression-compile-tmp/pass1.imp"
ORDER = 1;
                                                                //   2316              atom1 = x
#line 2316 "regression-compile-tmp/pass1.imp"
ATOM1 = X;
                                                                //   2317              decl = decl!spec %if atom1 = 12;           ! formatspec
#line 2317 "regression-compile-tmp/pass1.imp"
if (((ATOM1) != (12))) goto L_01fe;
#line 2317 "regression-compile-tmp/pass1.imp"
DECL = ((DECL) | (128));
#line 2317 "regression-compile-tmp/pass1.imp"
L_01fe:;
                                                                //   2318              fdef = tmax+1;                             ! format tag
#line 2318 "regression-compile-tmp/pass1.imp"
FDEF = (((int)(TMAX)) + (1));
                                                                //   2319              %return
#line 2319 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2320  c(175):     id = id+1;  tag(x)_index = id;  %return;   ! FSID
#line 2320 "regression-compile-tmp/pass1.imp"
sw5_C_175:;
#line 2320 "regression-compile-tmp/pass1.imp"
ID = (((int)(ID)) + (1));
#line 2320 "regression-compile-tmp/pass1.imp"
TAG[X].INDEX = ID;
#line 2320 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2321  c(41):      decs = 1;  decl = x!spec!closed;  ->top;   ! label
#line 2321 "regression-compile-tmp/pass1.imp"
sw5_C_41:;
#line 2321 "regression-compile-tmp/pass1.imp"
DECS = 1;
#line 2321 "regression-compile-tmp/pass1.imp"
DECL = ((((X) | (128))) | (16384));
#line 2321 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2322  c(133):     recid = 0;  rbase = tmin-1;                ! fname
#line 2322 "regression-compile-tmp/pass1.imp"
sw5_C_133:;
#line 2322 "regression-compile-tmp/pass1.imp"
RECID = 0;
#line 2322 "regression-compile-tmp/pass1.imp"
RBASE = (((int)(TMIN)) - (1));
                                                                //   2323              this = x
#line 2323 "regression-compile-tmp/pass1.imp"
THIS = X;
                                                                //   2324              fm base = fdef;  format list = tmin
#line 2324 "regression-compile-tmp/pass1.imp"
FMBASE = FDEF;
#line 2324 "regression-compile-tmp/pass1.imp"
FORMATLIST = TMIN;
                                                                //   2325              def(this);                      ->top
#line 2325 "regression-compile-tmp/pass1.imp"
DEF(THIS);
#line 2325 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2326  c(148):     fdef = 0 %and ->top %if next = 0;          ! reclb
#line 2326 "regression-compile-tmp/pass1.imp"
sw5_C_148:;
#line 2326 "regression-compile-tmp/pass1.imp"
if (((NEXT) != (0))) goto L_01ff;
#line 2326 "regression-compile-tmp/pass1.imp"
FDEF = 0;
#line 2326 "regression-compile-tmp/pass1.imp"
goto U_101b;
#line 2326 "regression-compile-tmp/pass1.imp"
L_01ff:;
                                                                //   2327              get next;                                  ! skip name
#line 2327 "regression-compile-tmp/pass1.imp"
GETNEXT();
                                                                //   2328              fdef = x
#line 2328 "regression-compile-tmp/pass1.imp"
FDEF = X;
                                                                //   2329              ->top
#line 2329 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2330  
                                                                //   2331  c(127):     add char( '}' );             ->top;        ! %POUT
#line 2331 "regression-compile-tmp/pass1.imp"
sw5_C_127:;
#line 2331 "regression-compile-tmp/pass1.imp"
ADDCHAR(125);
#line 2331 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2332  c(126):     add char( '{' );             ->top;        ! %PIN
#line 2332 "regression-compile-tmp/pass1.imp"
sw5_C_126:;
#line 2332 "regression-compile-tmp/pass1.imp"
ADDCHAR(123);
#line 2332 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2333  c(174):     set bp;                                    ! rangerb
#line 2333 "regression-compile-tmp/pass1.imp"
sw5_C_174:;
#line 2333 "regression-compile-tmp/pass1.imp"
SETBP();
                                                                //   2334  c(171):     ;                                          ! fmlb
#line 2334 "regression-compile-tmp/pass1.imp"
sw5_C_171:;
                                                                //   2335  c(172):     ;                                          ! fmrb
#line 2335 "regression-compile-tmp/pass1.imp"
sw5_C_172:;
                                                                //   2336  c(173):     add char( '~' )
#line 2336 "regression-compile-tmp/pass1.imp"
sw5_C_173:;
#line 2336 "regression-compile-tmp/pass1.imp"
ADDCHAR(126);
                                                                //   2337              add char( class-171+'A' );   ->top;        ! fmor
#line 2337 "regression-compile-tmp/pass1.imp"
ADDCHAR((((int)((((int)(CLASS)) - (171)))) + (65)));
#line 2337 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2338  c(168):     rbase = -rbase;                            ! orrb
#line 2338 "regression-compile-tmp/pass1.imp"
sw5_C_168:;
#line 2338 "regression-compile-tmp/pass1.imp"
RBASE = (-(RBASE));
                                                                //   2339              sstype = 0;  spec mode = 0
#line 2339 "regression-compile-tmp/pass1.imp"
SSTYPE = 0;
#line 2339 "regression-compile-tmp/pass1.imp"
SPECMODE = 0;
                                                                //   2340  
                                                                //   2341  c(147):     search base = 0;                           ! recrb
#line 2341 "regression-compile-tmp/pass1.imp"
sw5_C_147:;
#line 2341 "regression-compile-tmp/pass1.imp"
SEARCHBASE = 0;
                                                                //   2342              tag(this)_app = tmin
#line 2342 "regression-compile-tmp/pass1.imp"
TAG[THIS].APP = TMIN;
                                                                //   2343              tag(this)_format = rbase
#line 2343 "regression-compile-tmp/pass1.imp"
TAG[THIS].FORMAT = RBASE;
                                                                //   2344              ->top
#line 2344 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2345  
                                                                //   2346  c(45):      add char( 'U' ) %if x = 36;  ->top;        ! sign
#line 2346 "regression-compile-tmp/pass1.imp"
sw5_C_45:;
#line 2346 "regression-compile-tmp/pass1.imp"
if (((X) != (36))) goto L_0200;
#line 2346 "regression-compile-tmp/pass1.imp"
ADDCHAR(85);
#line 2346 "regression-compile-tmp/pass1.imp"
L_0200:;
#line 2346 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2347  c(46):      add char( '\' );             ->top;        ! uop
#line 2347 "regression-compile-tmp/pass1.imp"
sw5_C_46:;
#line 2347 "regression-compile-tmp/pass1.imp"
ADDCHAR(92);
#line 2347 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2348  c(47):;                                                ! mod
#line 2348 "regression-compile-tmp/pass1.imp"
sw5_C_47:;
                                                                //   2349  c(48):;                                                ! dot
#line 2349 "regression-compile-tmp/pass1.imp"
sw5_C_48:;
                                                                //   2350  c(42):;                                                ! op1
#line 2350 "regression-compile-tmp/pass1.imp"
sw5_C_42:;
                                                                //   2351  c(43):;                                                ! op2
#line 2351 "regression-compile-tmp/pass1.imp"
sw5_C_43:;
                                                                //   2352  c(44):      add char( operator(x) );     ->top;        ! op3
#line 2352 "regression-compile-tmp/pass1.imp"
sw5_C_44:;
#line 2352 "regression-compile-tmp/pass1.imp"
ADDCHAR((OPERATOR-1)[X]);
#line 2352 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2353  c(56):      ;                                          ! and
#line 2353 "regression-compile-tmp/pass1.imp"
sw5_C_56:;
                                                                //   2354  c(57):      push(x);  ->top;                           ! or
#line 2354 "regression-compile-tmp/pass1.imp"
sw5_C_57:;
#line 2354 "regression-compile-tmp/pass1.imp"
PUSH(X);
#line 2354 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2355  c(58):      cnest(cp) = cnest(cp)!!2;  ->top;          ! not
#line 2355 "regression-compile-tmp/pass1.imp"
sw5_C_58:;
#line 2355 "regression-compile-tmp/pass1.imp"
CNEST[CP] = ((CNEST[CP]) ^ (2));
#line 2355 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2356  c(138):     x = 128+32+16+4;                           ! csep: treat like %while
#line 2356 "regression-compile-tmp/pass1.imp"
sw5_C_138:;
#line 2356 "regression-compile-tmp/pass1.imp"
X = 180;
                                                                //   2357  c(59):      ;                                          ! while
#line 2357 "regression-compile-tmp/pass1.imp"
sw5_C_59:;
                                                                //   2358  c(60):      %if class = 138 %then op('f', label-1) %else def lab(label-1); ! until
#line 2358 "regression-compile-tmp/pass1.imp"
sw5_C_60:;
#line 2358 "regression-compile-tmp/pass1.imp"
if (((CLASS) != (138))) goto L_0201;
#line 2358 "regression-compile-tmp/pass1.imp"
OP(102, (((int)(LABEL)) - (1)));
#line 2358 "regression-compile-tmp/pass1.imp"
goto L_0202;
#line 2358 "regression-compile-tmp/pass1.imp"
L_0201:;
#line 2358 "regression-compile-tmp/pass1.imp"
DEFLAB((((int)(LABEL)) - (1)));
#line 2358 "regression-compile-tmp/pass1.imp"
L_0202:;
                                                                //   2359  c(166):     ;                                          ! runtil
#line 2359 "regression-compile-tmp/pass1.imp"
sw5_C_166:;
                                                                //   2360  c(62):      lmode = (lmode&(else!loop)) !(x>>3);       ! cword
#line 2360 "regression-compile-tmp/pass1.imp"
sw5_C_62:;
#line 2360 "regression-compile-tmp/pass1.imp"
LMODE = ((((LMODE) & (((8) | (16))))) | ((int)((((unsigned int)(X)) >> (3)))));
                                                                //   2361              clab = label;  cp = 1;  cnest(1) = x&7
#line 2361 "regression-compile-tmp/pass1.imp"
CLAB = LABEL;
#line 2361 "regression-compile-tmp/pass1.imp"
CP = 1;
#line 2361 "regression-compile-tmp/pass1.imp"
CNEST[1] = ((X) & (7));
                                                                //   2362              ->top
#line 2362 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2363  c(72):      pop label(0);                              ! repeat
#line 2363 "regression-compile-tmp/pass1.imp"
sw5_C_72:;
#line 2363 "regression-compile-tmp/pass1.imp"
POPLABEL(0);
                                                                //   2364              def lab(label+1) %if lmode&32 # 0;  ->atop
#line 2364 "regression-compile-tmp/pass1.imp"
if (((((LMODE) & (32))) == (0))) goto L_0203;
#line 2364 "regression-compile-tmp/pass1.imp"
DEFLAB((((int)(LABEL)) + (1)));
#line 2364 "regression-compile-tmp/pass1.imp"
L_0203:;
#line 2364 "regression-compile-tmp/pass1.imp"
goto U_101c;
                                                                //   2365  c(69):      pop label(1);               ->top;         ! finish
#line 2365 "regression-compile-tmp/pass1.imp"
sw5_C_69:;
#line 2365 "regression-compile-tmp/pass1.imp"
POPLABEL(1);
#line 2365 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2366  c(163):     ;                                          ! xelse
#line 2366 "regression-compile-tmp/pass1.imp"
sw5_C_163:;
                                                                //   2367  c(70):      pop label(1);                              ! finish else ...
#line 2367 "regression-compile-tmp/pass1.imp"
sw5_C_70:;
#line 2367 "regression-compile-tmp/pass1.imp"
POPLABEL(1);
                                                                //   2368              fault(7) %if lmode&3 = 3;                  ! dangling else
#line 2368 "regression-compile-tmp/pass1.imp"
if (((((LMODE) & (3))) != (3))) goto L_0204;
#line 2368 "regression-compile-tmp/pass1.imp"
FAULT(7);
#line 2368 "regression-compile-tmp/pass1.imp"
L_0204:;
                                                                //   2369  c(68):      lmode = (lmode&else)!3;                    ! ...else...
#line 2369 "regression-compile-tmp/pass1.imp"
sw5_C_68:;
#line 2369 "regression-compile-tmp/pass1.imp"
LMODE = ((((LMODE) & (8))) | (3));
                                                                //   2370              %if access # 0 %start
#line 2370 "regression-compile-tmp/pass1.imp"
if (((ACCESS) == (0))) goto L_0205;
                                                                //   2371                  op('F', label-1);  lmode = else!3
#line 2371 "regression-compile-tmp/pass1.imp"
OP(70, (((int)(LABEL)) - (1)));
#line 2371 "regression-compile-tmp/pass1.imp"
LMODE = ((8) | (3));
                                                                //   2372              %finish
#line 2372 "regression-compile-tmp/pass1.imp"
L_0205:;
                                                                //   2373              def lab(label)
#line 2373 "regression-compile-tmp/pass1.imp"
DEFLAB(LABEL);
                                                                //   2374              ->top %if next # 0
#line 2374 "regression-compile-tmp/pass1.imp"
if (((NEXT) == (0))) goto L_0206;
#line 2374 "regression-compile-tmp/pass1.imp"
goto U_101b;
#line 2374 "regression-compile-tmp/pass1.imp"
L_0206:;
                                                                //   2375  c(120):     ;                                          ! %MSTART
#line 2375 "regression-compile-tmp/pass1.imp"
sw5_C_120:;
                                                                //   2376  c(67):      ;                                          ! start
#line 2376 "regression-compile-tmp/pass1.imp"
sw5_C_67:;
                                                                //   2377  c(71):      ;                                          ! cycle
#line 2377 "regression-compile-tmp/pass1.imp"
sw5_C_71:;
                                                                //   2378  stcy:       def lab(label-1) %and lmode = loop %if lmode = 0; ! cycle
#line 2378 "regression-compile-tmp/pass1.imp"
U_101d:;
#line 2378 "regression-compile-tmp/pass1.imp"
if (((LMODE) != (0))) goto L_0207;
#line 2378 "regression-compile-tmp/pass1.imp"
DEFLAB((((int)(LABEL)) - (1)));
#line 2378 "regression-compile-tmp/pass1.imp"
LMODE = 16;
#line 2378 "regression-compile-tmp/pass1.imp"
L_0207:;
                                                                //   2379              dmin = dmin-1;  abandon(3) %if dmin <= dmax
#line 2379 "regression-compile-tmp/pass1.imp"
DMIN = (((int)(DMIN)) - (1));
#line 2379 "regression-compile-tmp/pass1.imp"
if (((DMIN) > (DMAX))) goto L_0208;
#line 2379 "regression-compile-tmp/pass1.imp"
ABANDON(3);
#line 2379 "regression-compile-tmp/pass1.imp"
L_0208:;
                                                                //   2380              dict(dmin) = lmode
#line 2380 "regression-compile-tmp/pass1.imp"
DICT[(((int)(DMIN)) - (1))] = LMODE;
                                                                //   2381              label = label+3
#line 2381 "regression-compile-tmp/pass1.imp"
LABEL = (((int)(LABEL)) + (3));
                                                                //   2382              %return
#line 2382 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2383  
                                                                //   2384  c(64):      fault(13) %if dict(dmin) >= 0 %or inhibit # 0; ! on event
#line 2384 "regression-compile-tmp/pass1.imp"
sw5_C_64:;
#line 2384 "regression-compile-tmp/pass1.imp"
if (((DICT[(((int)(DMIN)) - (1))]) >= (0))) goto L_0209;
#line 2384 "regression-compile-tmp/pass1.imp"
if (((INHIBIT) == (0))) goto L_020a;
#line 2384 "regression-compile-tmp/pass1.imp"
L_0209:;
#line 2384 "regression-compile-tmp/pass1.imp"
FAULT(13);
#line 2384 "regression-compile-tmp/pass1.imp"
L_020a:;
                                                                //   2385              inhibit = 1
#line 2385 "regression-compile-tmp/pass1.imp"
INHIBIT = 1;
                                                                //   2386              n = 0
#line 2386 "regression-compile-tmp/pass1.imp"
N = 0;
                                                                //   2387              n = 16_FFFF %if pending = 0;               ! * = all events
#line 2387 "regression-compile-tmp/pass1.imp"
if (((PENDING) != (0))) goto L_020b;
#line 2387 "regression-compile-tmp/pass1.imp"
N = 65535;
#line 2387 "regression-compile-tmp/pass1.imp"
L_020b:;
                                                                //   2388              %while pending > 0 %cycle
#line 2388 "regression-compile-tmp/pass1.imp"
L_020c:;
#line 2388 "regression-compile-tmp/pass1.imp"
if (((PENDING) <= (0))) goto L_020d;
                                                                //   2389                  pop lit;  fault(10) %if lit&(\15) # 0; ! too big
#line 2389 "regression-compile-tmp/pass1.imp"
POPLIT();
#line 2389 "regression-compile-tmp/pass1.imp"
if (((((LIT) & ((~(15))))) == (0))) goto L_020f;
#line 2389 "regression-compile-tmp/pass1.imp"
FAULT(10);
#line 2389 "regression-compile-tmp/pass1.imp"
L_020f:;
                                                                //   2390                  j = 1<<lit
#line 2390 "regression-compile-tmp/pass1.imp"
J = ((1) << (LIT));
                                                                //   2391                  dubious = 1 %if n&j # 0
#line 2391 "regression-compile-tmp/pass1.imp"
if (((((N) & (J))) == (0))) goto L_0210;
#line 2391 "regression-compile-tmp/pass1.imp"
DUBIOUS = 1;
#line 2391 "regression-compile-tmp/pass1.imp"
L_0210:;
                                                                //   2392                  n = n!j;                               ! construct bit mask
#line 2392 "regression-compile-tmp/pass1.imp"
N = ((N) | (J));
                                                                //   2393              %repeat
#line 2393 "regression-compile-tmp/pass1.imp"
goto L_020c;
#line 2393 "regression-compile-tmp/pass1.imp"
L_020d:;
                                                                //   2394              op('o', n);  op(',', label)
#line 2394 "regression-compile-tmp/pass1.imp"
OP(111, N);
#line 2394 "regression-compile-tmp/pass1.imp"
OP(44, LABEL);
                                                                //   2395              lmode = then!1;  ->stcy
#line 2395 "regression-compile-tmp/pass1.imp"
LMODE = ((4) | (1));
#line 2395 "regression-compile-tmp/pass1.imp"
goto U_101d;
                                                                //   2396  
                                                                //   2397  c(104):     op('J', tag(x)_index);                     ! l
#line 2397 "regression-compile-tmp/pass1.imp"
sw5_C_104:;
#line 2397 "regression-compile-tmp/pass1.imp"
OP(74, TAG[X].INDEX);
                                                                //   2398              inhibit = 1;            ->atop
#line 2398 "regression-compile-tmp/pass1.imp"
INHIBIT = 1;
#line 2398 "regression-compile-tmp/pass1.imp"
goto U_101c;
                                                                //   2399  c(149):     stats = stats-1;                           ! lab
#line 2399 "regression-compile-tmp/pass1.imp"
sw5_C_149:;
#line 2399 "regression-compile-tmp/pass1.imp"
STATS = (((int)(STATS)) - (1));
                                                                //   2400              access = 1;  inhibit = 1
#line 2400 "regression-compile-tmp/pass1.imp"
ACCESS = 1;
#line 2400 "regression-compile-tmp/pass1.imp"
INHIBIT = 1;
                                                                //   2401              op('L', tag(x)_index);  ->top
#line 2401 "regression-compile-tmp/pass1.imp"
OP(76, TAG[X].INDEX);
#line 2401 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2402  
                                                                //   2403  c(63):      j = dmin;  l = label-3;                    ! exit, continue
#line 2403 "regression-compile-tmp/pass1.imp"
sw5_C_63:;
#line 2403 "regression-compile-tmp/pass1.imp"
J = DMIN;
#line 2403 "regression-compile-tmp/pass1.imp"
L = (((int)(LABEL)) - (3));
                                                                //   2404              %cycle
#line 2404 "regression-compile-tmp/pass1.imp"
L_0211:;
                                                                //   2405                  fault(7) %and ->top %if dict(j) < 0
#line 2405 "regression-compile-tmp/pass1.imp"
if (((DICT[(((int)(J)) - (1))]) >= (0))) goto L_0214;
#line 2405 "regression-compile-tmp/pass1.imp"
FAULT(7);
#line 2405 "regression-compile-tmp/pass1.imp"
goto U_101b;
#line 2405 "regression-compile-tmp/pass1.imp"
L_0214:;
                                                                //   2406                  %exit %if dict(j)&1 = 0
#line 2406 "regression-compile-tmp/pass1.imp"
if (((((DICT[(((int)(J)) - (1))]) & (1))) != (0))) goto L_0215;
#line 2406 "regression-compile-tmp/pass1.imp"
goto L_0212;
#line 2406 "regression-compile-tmp/pass1.imp"
L_0215:;
                                                                //   2407                  j = j+1;  l = l-3
#line 2407 "regression-compile-tmp/pass1.imp"
J = (((int)(J)) + (1));
#line 2407 "regression-compile-tmp/pass1.imp"
L = (((int)(L)) - (3));
                                                                //   2408              %repeat
#line 2408 "regression-compile-tmp/pass1.imp"
goto L_0211;
#line 2408 "regression-compile-tmp/pass1.imp"
L_0212:;
                                                                //   2409              l = l+1 %if x = 32;                        ! continue
#line 2409 "regression-compile-tmp/pass1.imp"
if (((X) != (32))) goto L_0216;
#line 2409 "regression-compile-tmp/pass1.imp"
L = (((int)(L)) + (1));
#line 2409 "regression-compile-tmp/pass1.imp"
L_0216:;
                                                                //   2410              op('F', l)
#line 2410 "regression-compile-tmp/pass1.imp"
OP(70, L);
                                                                //   2411              dict(j) = dict(j)!x;                       ! show given
#line 2411 "regression-compile-tmp/pass1.imp"
DICT[(((int)(J)) - (1))] = ((DICT[(((int)(J)) - (1))]) | (X));
                                                                //   2412              ->atop
#line 2412 "regression-compile-tmp/pass1.imp"
goto U_101c;
                                                                //   2413  
                                                                //   2414  c(50):      add char( 'C' );          ->cop;           ! acomp
#line 2414 "regression-compile-tmp/pass1.imp"
sw5_C_50:;
#line 2414 "regression-compile-tmp/pass1.imp"
ADDCHAR(67);
#line 2414 "regression-compile-tmp/pass1.imp"
goto U_101e;
                                                                //   2415  c(49):
#line 2415 "regression-compile-tmp/pass1.imp"
sw5_C_49:;
                                                                //   2416              %if next # 0 %start;                       ! comparator
#line 2416 "regression-compile-tmp/pass1.imp"
if (((NEXT) == (0))) goto L_0217;
                                                                //   2417                  add char( '"' )
#line 2417 "regression-compile-tmp/pass1.imp"
ADDCHAR(34);
                                                                //   2418                  push(0);                               ! double sided
#line 2418 "regression-compile-tmp/pass1.imp"
PUSH(0);
                                                                //   2419              %finish %else %start
#line 2419 "regression-compile-tmp/pass1.imp"
goto L_0218;
#line 2419 "regression-compile-tmp/pass1.imp"
L_0217:;
                                                                //   2420                  add char( '?' )
#line 2420 "regression-compile-tmp/pass1.imp"
ADDCHAR(63);
                                                                //   2421              %finish
#line 2421 "regression-compile-tmp/pass1.imp"
L_0218:;
                                                                //   2422  
                                                                //   2423  cop:        x = x!!1 %if cnest(cp)&2 # 0;              ! invert the condition
#line 2423 "regression-compile-tmp/pass1.imp"
U_101e:;
#line 2423 "regression-compile-tmp/pass1.imp"
if (((((CNEST[CP]) & (2))) == (0))) goto L_0219;
#line 2423 "regression-compile-tmp/pass1.imp"
X = ((X) ^ (1));
#line 2423 "regression-compile-tmp/pass1.imp"
L_0219:;
                                                                //   2424              j = cp;  l = clab
#line 2424 "regression-compile-tmp/pass1.imp"
J = CP;
#line 2424 "regression-compile-tmp/pass1.imp"
L = CLAB;
                                                                //   2425              %while cnest(j)&4 = 0 %cycle
#line 2425 "regression-compile-tmp/pass1.imp"
L_021a:;
#line 2425 "regression-compile-tmp/pass1.imp"
if (((((CNEST[J]) & (4))) != (0))) goto L_021b;
                                                                //   2426                  j = j-1;  l = l-cnest(j)&1
#line 2426 "regression-compile-tmp/pass1.imp"
J = (((int)(J)) - (1));
#line 2426 "regression-compile-tmp/pass1.imp"
L = ((L) - ((int)(((CNEST[J]) & (1)))));
                                                                //   2427              %repeat
#line 2427 "regression-compile-tmp/pass1.imp"
goto L_021a;
#line 2427 "regression-compile-tmp/pass1.imp"
L_021b:;
                                                                //   2428              op(cc(x), l)
#line 2428 "regression-compile-tmp/pass1.imp"
OP(CC[X], L);
                                                                //   2429              def lab(clab+1) %if cnest(cp)&1 # 0
#line 2429 "regression-compile-tmp/pass1.imp"
if (((((CNEST[CP]) & (1))) == (0))) goto L_021d;
#line 2429 "regression-compile-tmp/pass1.imp"
DEFLAB((((int)(CLAB)) + (1)));
#line 2429 "regression-compile-tmp/pass1.imp"
L_021d:;
                                                                //   2430              cp = cp-1
#line 2430 "regression-compile-tmp/pass1.imp"
CP = (((int)(CP)) - (1));
                                                                //   2431              clab = clab-cnest(cp)&1
#line 2431 "regression-compile-tmp/pass1.imp"
CLAB = ((CLAB) - ((int)(((CNEST[CP]) & (1)))));
                                                                //   2432              ->top
#line 2432 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2433  
                                                                //   2434  c(78):      ;                                          ! fresult
#line 2434 "regression-compile-tmp/pass1.imp"
sw5_C_78:;
                                                                //   2435  c(79):      ;                                          ! mresult
#line 2435 "regression-compile-tmp/pass1.imp"
sw5_C_79:;
                                                                //   2436  c(80):      open = 0;                                  ! return, true, false
#line 2436 "regression-compile-tmp/pass1.imp"
sw5_C_80:;
#line 2436 "regression-compile-tmp/pass1.imp"
OPEN = 0;
                                                                //   2437  c(82):      access = 0;                                ! stop
#line 2437 "regression-compile-tmp/pass1.imp"
sw5_C_82:;
#line 2437 "regression-compile-tmp/pass1.imp"
ACCESS = 0;
                                                                //   2438  c(89):      ;                                          ! addop
#line 2438 "regression-compile-tmp/pass1.imp"
sw5_C_89:;
                                                                //   2439  c(81):      add char( x );              ->top;         ! monitor
#line 2439 "regression-compile-tmp/pass1.imp"
sw5_C_81:;
#line 2439 "regression-compile-tmp/pass1.imp"
ADDCHAR(X);
#line 2439 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2440  c(65):      pop lit;  op('e', lit);     ->atop;        ! signal
#line 2440 "regression-compile-tmp/pass1.imp"
sw5_C_65:;
#line 2440 "regression-compile-tmp/pass1.imp"
POPLIT();
#line 2440 "regression-compile-tmp/pass1.imp"
OP(101, LIT);
#line 2440 "regression-compile-tmp/pass1.imp"
goto U_101c;
                                                                //   2441  c(51):      add char( 'S' );            ->top;         ! eq
#line 2441 "regression-compile-tmp/pass1.imp"
sw5_C_51:;
#line 2441 "regression-compile-tmp/pass1.imp"
ADDCHAR(83);
#line 2441 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2442  c(53):      add char( 'j' );            ->top;         ! jam transfer
#line 2442 "regression-compile-tmp/pass1.imp"
sw5_C_53:;
#line 2442 "regression-compile-tmp/pass1.imp"
ADDCHAR(106);
#line 2442 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2443  c(52):      add char( 'Z' );            ->top;         ! eqeq
#line 2443 "regression-compile-tmp/pass1.imp"
sw5_C_52:;
#line 2443 "regression-compile-tmp/pass1.imp"
ADDCHAR(90);
#line 2443 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2444  c(74):      %if level = 0 %start;                      ! begin
#line 2444 "regression-compile-tmp/pass1.imp"
sw5_C_74:;
#line 2444 "regression-compile-tmp/pass1.imp"
if (((LEVEL) != (0))) goto L_021e;
                                                                //   2445                  %if progmode <= 0 %then progmode = 1 %else fault(7)
#line 2445 "regression-compile-tmp/pass1.imp"
if (((PROGMODE) > (0))) goto L_021f;
#line 2445 "regression-compile-tmp/pass1.imp"
PROGMODE = 1;
#line 2445 "regression-compile-tmp/pass1.imp"
goto L_0220;
#line 2445 "regression-compile-tmp/pass1.imp"
L_021f:;
#line 2445 "regression-compile-tmp/pass1.imp"
FAULT(7);
#line 2445 "regression-compile-tmp/pass1.imp"
L_0220:;
                                                                //   2446                  !{Permit BEGIN after external defs}
                                                                //   2447              %finish
#line 2447 "regression-compile-tmp/pass1.imp"
L_021e:;
                                                                //   2448              spec mode = level+1
#line 2448 "regression-compile-tmp/pass1.imp"
SPECMODE = (((int)(LEVEL)) + (1));
                                                                //   2449              block x = 0
#line 2449 "regression-compile-tmp/pass1.imp"
BLOCKX = 0;
                                                                //   2450              add char( 'H' )
#line 2450 "regression-compile-tmp/pass1.imp"
ADDCHAR(72);
                                                                //   2451              %return
#line 2451 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2452  c(77):      perm = 0;  lines = 0;  stats = 0;          ! endofperm
#line 2452 "regression-compile-tmp/pass1.imp"
sw5_C_77:;
#line 2452 "regression-compile-tmp/pass1.imp"
PERM = 0;
#line 2452 "regression-compile-tmp/pass1.imp"
LINES = 0;
#line 2452 "regression-compile-tmp/pass1.imp"
STATS = 0;
                                                                //   2453              close input
#line 2453 "regression-compile-tmp/pass1.imp"
_imp_CLOSEINPUT();
                                                                //   2454              select input(source)
#line 2454 "regression-compile-tmp/pass1.imp"
_imp_SELECTINPUT(1);
                                                                //   2455              list = list-1
#line 2455 "regression-compile-tmp/pass1.imp"
LIST = (((int)(LIST)) - (1));
                                                                //   2456              tbase = tmax;  tstart = tmax
#line 2456 "regression-compile-tmp/pass1.imp"
TBASE = TMAX;
#line 2456 "regression-compile-tmp/pass1.imp"
TSTART = TMAX;
                                                                //   2457              %return
#line 2457 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2458  c(76):      %if include # 0 %and x = 0 %start;         ! end of ...
#line 2458 "regression-compile-tmp/pass1.imp"
sw5_C_76:;
#line 2458 "regression-compile-tmp/pass1.imp"
if (((INCLUDE) == (0))) goto L_0221;
#line 2458 "regression-compile-tmp/pass1.imp"
if (((X) != (0))) goto L_0221;
                                                                //   2459                  lines = include;  sstype =  0;         ! include
#line 2459 "regression-compile-tmp/pass1.imp"
LINES = INCLUDE;
#line 2459 "regression-compile-tmp/pass1.imp"
SSTYPE = 0;
                                                                //   2460                  close input
#line 2460 "regression-compile-tmp/pass1.imp"
_imp_CLOSEINPUT();
                                                                //   2461                  list = include list
#line 2461 "regression-compile-tmp/pass1.imp"
LIST = INCLUDELIST;
                                                                //   2462                  include level = 0
#line 2462 "regression-compile-tmp/pass1.imp"
INCLUDELEVEL = 0;
                                                                //   2463                  include = 0;  select input(source);  %return
#line 2463 "regression-compile-tmp/pass1.imp"
INCLUDE = 0;
#line 2463 "regression-compile-tmp/pass1.imp"
_imp_SELECTINPUT(1);
#line 2463 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2464              %finish
#line 2464 "regression-compile-tmp/pass1.imp"
L_0221:;
                                                                //   2465              ss = -1;                                   ! prog/file
#line 2465 "regression-compile-tmp/pass1.imp"
SS = (-1);
                                                                //   2466  c(75):      compile end(x);  %return;                  ! %end
#line 2466 "regression-compile-tmp/pass1.imp"
sw5_C_75:;
#line 2466 "regression-compile-tmp/pass1.imp"
COMPILEEND(X);
#line 2466 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2467  
                                                                //   2468  c(85):      %if x=0 %then control=lit %else %start;    ! control
#line 2468 "regression-compile-tmp/pass1.imp"
sw5_C_85:;
#line 2468 "regression-compile-tmp/pass1.imp"
if (((X) != (0))) goto L_0222;
#line 2468 "regression-compile-tmp/pass1.imp"
CONTROL = LIT;
#line 2468 "regression-compile-tmp/pass1.imp"
goto L_0223;
#line 2468 "regression-compile-tmp/pass1.imp"
L_0222:;
                                                                //   2469                  diag = lit&16_3FFF %if lit>>14&3 = 1
#line 2469 "regression-compile-tmp/pass1.imp"
if ((((((int)((((unsigned int)(LIT)) >> (14)))) & (3))) != (1))) goto L_0224;
#line 2469 "regression-compile-tmp/pass1.imp"
DIAG = ((LIT) & (16383));
#line 2469 "regression-compile-tmp/pass1.imp"
L_0224:;
                                                                //   2470              %finish
#line 2470 "regression-compile-tmp/pass1.imp"
L_0223:;
                                                                //   2471              op('z'-x, lit)
#line 2471 "regression-compile-tmp/pass1.imp"
OP((((int)(122)) - (X)), LIT);
                                                                //   2472              ->top
#line 2472 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2473  c(83):      list = list+x-2;   ->top;                  ! %LIST/%endoflist
#line 2473 "regression-compile-tmp/pass1.imp"
sw5_C_83:;
#line 2473 "regression-compile-tmp/pass1.imp"
LIST = (((int)((((int)(LIST)) + (X)))) - (2));
#line 2473 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2474  c(84):      reals ln = x;      ->top;                  ! %REALS long/normal
#line 2474 "regression-compile-tmp/pass1.imp"
sw5_C_84:;
#line 2474 "regression-compile-tmp/pass1.imp"
REALSLN = X;
#line 2474 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2475  c(86):      %if include # 0 %start;                    ! include "file"
#line 2475 "regression-compile-tmp/pass1.imp"
sw5_C_86:;
#line 2475 "regression-compile-tmp/pass1.imp"
if (((INCLUDE) == (0))) goto L_0225;
                                                                //   2476                  fault(7);  %return
#line 2476 "regression-compile-tmp/pass1.imp"
FAULT(7);
#line 2476 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2477              %finish
#line 2477 "regression-compile-tmp/pass1.imp"
L_0225:;
                                                                //   2478              get next;                                  ! sconst
#line 2478 "regression-compile-tmp/pass1.imp"
GETNEXT();
                                                                //   2479              x = x-16_4000
#line 2479 "regression-compile-tmp/pass1.imp"
X = (((int)(X)) - (16384));
                                                                //   2480              j = glink(x)
#line 2480 "regression-compile-tmp/pass1.imp"
J = GLINK[X];
                                                                //   2481              k = j&255
#line 2481 "regression-compile-tmp/pass1.imp"
K = ((J) & (255));
                                                                //   2482              !ABD - another little copy loop because SKIMP can't do the string map
                                                                //   2483              include file = ""
#line 2483 "regression-compile-tmp/pass1.imp"
INCLUDEFILE = _imp_str_literal("");
                                                                //   2484              %cycle
#line 2484 "regression-compile-tmp/pass1.imp"
L_0226:;
                                                                //   2485                  k = k-1; %exit %if k < 0
#line 2485 "regression-compile-tmp/pass1.imp"
K = (((int)(K)) - (1));
#line 2485 "regression-compile-tmp/pass1.imp"
if (((K) >= (0))) goto L_0229;
#line 2485 "regression-compile-tmp/pass1.imp"
goto L_0227;
#line 2485 "regression-compile-tmp/pass1.imp"
L_0229:;
                                                                //   2486                  include file = include file.tostring(j>>8)
#line 2486 "regression-compile-tmp/pass1.imp"
INCLUDEFILE = _imp_join((_imp_string)INCLUDEFILE,(_imp_string)_imp_TOSTRING((int)((((unsigned int)(J)) >> (8)))));
                                                                //   2487                  x = x+1
#line 2487 "regression-compile-tmp/pass1.imp"
X = (((int)(X)) + (1));
                                                                //   2488                  j = glink(x)
#line 2488 "regression-compile-tmp/pass1.imp"
J = GLINK[X];
                                                                //   2489                  k = k-1; %exit %if k < 0
#line 2489 "regression-compile-tmp/pass1.imp"
K = (((int)(K)) - (1));
#line 2489 "regression-compile-tmp/pass1.imp"
if (((K) >= (0))) goto L_022a;
#line 2489 "regression-compile-tmp/pass1.imp"
goto L_0227;
#line 2489 "regression-compile-tmp/pass1.imp"
L_022a:;
                                                                //   2490                  include file = include file.tostring(j&255)
#line 2490 "regression-compile-tmp/pass1.imp"
INCLUDEFILE = _imp_join((_imp_string)INCLUDEFILE,(_imp_string)_imp_TOSTRING(((J) & (255))));
                                                                //   2491              %repeat
#line 2491 "regression-compile-tmp/pass1.imp"
goto L_0226;
#line 2491 "regression-compile-tmp/pass1.imp"
L_0227:;
                                                                //   2492              ! include file = string(x-16_4000+stbase)
                                                                //   2493              ! remove this event block for SKIMP or pre-event IMP versions
                                                                //   2494              %begin
#line 2494 "regression-compile-tmp/pass1.imp"
void _BLOCK_1_LEVEL_3_(void) {
                                                                //   2495                  %on 9 %start;  Abandon(9);  %finish
#line 2495 "regression-compile-tmp/pass1.imp"
if (!_imp_on_event(9)) goto L_022b;  /* TO DO: Remove %on %event handler just before L_022b: if present for this block */
#line 2495 "regression-compile-tmp/pass1.imp"
ABANDON(9);
#line 2495 "regression-compile-tmp/pass1.imp"
L_022b:;
                                                                //   2496                  open input(3, include file)
#line 2496 "regression-compile-tmp/pass1.imp"
_imp_OPENINPUT(3, INCLUDEFILE);
                                                                //   2497              %end
#line 2497 "regression-compile-tmp/pass1.imp"
return;
} // End of block _BLOCK_1_LEVEL_3_ at level 4
_BLOCK_1_LEVEL_3_();
                                                                //   2498              include = lines;  lines = 0
#line 2498 "regression-compile-tmp/pass1.imp"
INCLUDE = LINES;
#line 2498 "regression-compile-tmp/pass1.imp"
LINES = 0;
                                                                //   2499              include list = list;  include level = level
#line 2499 "regression-compile-tmp/pass1.imp"
INCLUDELIST = LIST;
#line 2499 "regression-compile-tmp/pass1.imp"
INCLUDELEVEL = LEVEL;
                                                                //   2500              select input(3)
#line 2500 "regression-compile-tmp/pass1.imp"
_imp_SELECTINPUT(3);
                                                                //   2501              ->top
#line 2501 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2502  
                                                                //   2503  c(154):     dimension = dimension+1;                   ! dbsep
#line 2503 "regression-compile-tmp/pass1.imp"
sw5_C_154:;
#line 2503 "regression-compile-tmp/pass1.imp"
DIMENSION = (((int)(DIMENSION)) + (1));
                                                                //   2504              fault(11) %if dimension = dim limit+1
#line 2504 "regression-compile-tmp/pass1.imp"
if (((DIMENSION) != (7))) goto L_022c;
#line 2504 "regression-compile-tmp/pass1.imp"
FAULT(11);
#line 2504 "regression-compile-tmp/pass1.imp"
L_022c:;
                                                                //   2505              ->top
#line 2505 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2506  c(145):     set bp;                       ->top;       ! crb
#line 2506 "regression-compile-tmp/pass1.imp"
sw5_C_145:;
#line 2506 "regression-compile-tmp/pass1.imp"
SETBP();
#line 2506 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2507  c(146):     set bp;                                    ! rcrb
#line 2507 "regression-compile-tmp/pass1.imp"
sw5_C_146:;
#line 2507 "regression-compile-tmp/pass1.imp"
SETBP();
                                                                //   2508  c(142):     ;                                          ! bplrb
#line 2508 "regression-compile-tmp/pass1.imp"
sw5_C_142:;
                                                                //   2509              dimension = 1 %if dimension = 0
#line 2509 "regression-compile-tmp/pass1.imp"
if (((DIMENSION) != (0))) goto L_022d;
#line 2509 "regression-compile-tmp/pass1.imp"
DIMENSION = 1;
#line 2509 "regression-compile-tmp/pass1.imp"
L_022d:;
                                                                //   2510              op('d', dimension);  op(',', defs)
#line 2510 "regression-compile-tmp/pass1.imp"
OP(100, DIMENSION);
#line 2510 "regression-compile-tmp/pass1.imp"
OP(44, DEFS);
                                                                //   2511              %if class # 146 %start
#line 2511 "regression-compile-tmp/pass1.imp"
if (((CLASS) == (146))) goto L_022e;
                                                                //   2512                  set subs(defs)
#line 2512 "regression-compile-tmp/pass1.imp"
SETSUBS(DEFS);
                                                                //   2513                  fault(13) %if dict(dmin) >= 0 %or inhibit # 0 %or level=0
#line 2513 "regression-compile-tmp/pass1.imp"
if (((DICT[(((int)(DMIN)) - (1))]) >= (0))) goto L_022f;
#line 2513 "regression-compile-tmp/pass1.imp"
if (((INHIBIT) != (0))) goto L_022f;
#line 2513 "regression-compile-tmp/pass1.imp"
if (((LEVEL) != (0))) goto L_0230;
#line 2513 "regression-compile-tmp/pass1.imp"
L_022f:;
#line 2513 "regression-compile-tmp/pass1.imp"
FAULT(13);
#line 2513 "regression-compile-tmp/pass1.imp"
L_0230:;
                                                                //   2514              %finish
#line 2514 "regression-compile-tmp/pass1.imp"
L_022e:;
                                                                //   2515              dimension = 0;  defs = 0
#line 2515 "regression-compile-tmp/pass1.imp"
DIMENSION = 0;
#line 2515 "regression-compile-tmp/pass1.imp"
DEFS = 0;
                                                                //   2516              ->top
#line 2516 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2517  c(128):     id = dupid;  ->top;                        ! EDUP
#line 2517 "regression-compile-tmp/pass1.imp"
sw5_C_128:;
#line 2517 "regression-compile-tmp/pass1.imp"
ID = DUPID;
#line 2517 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2518  c(130):     block x = x
#line 2518 "regression-compile-tmp/pass1.imp"
sw5_C_130:;
#line 2518 "regression-compile-tmp/pass1.imp"
BLOCKX = X;
                                                                //   2519              op('F', 0) %if decl&spec = 0 %and level # 0; ! jump round proc
#line 2519 "regression-compile-tmp/pass1.imp"
if (((((DECL) & (128))) != (0))) goto L_0231;
#line 2519 "regression-compile-tmp/pass1.imp"
if (((LEVEL) == (0))) goto L_0231;
#line 2519 "regression-compile-tmp/pass1.imp"
OP(70, 0);
#line 2519 "regression-compile-tmp/pass1.imp"
L_0231:;
                                                                //   2520  c(125):     dupid = id;                                ! %DUP
#line 2520 "regression-compile-tmp/pass1.imp"
sw5_C_125:;
#line 2520 "regression-compile-tmp/pass1.imp"
DUPID = ID;
                                                                //   2521              %return %if Level < 0;                     ! {spec about}
#line 2521 "regression-compile-tmp/pass1.imp"
if (((LEVEL) >= (0))) goto L_0232;
#line 2521 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2521 "regression-compile-tmp/pass1.imp"
L_0232:;
                                                                //   2522  c(90):      def(x);  ->top;                            ! ident
#line 2522 "regression-compile-tmp/pass1.imp"
sw5_C_90:;
#line 2522 "regression-compile-tmp/pass1.imp"
DEF(X);
#line 2522 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2523  c(131):     ;                                          ! cident
#line 2523 "regression-compile-tmp/pass1.imp"
sw5_C_131:;
                                                                //   2524              %if tag(x)_flags&(2_1111111+const bit) = iform+const bit %start
#line 2524 "regression-compile-tmp/pass1.imp"
if (((((TAG[X].FLAGS) & (8319))) != (8209))) goto L_0233;
                                                                //   2525                  tag(x)_format = lit
#line 2525 "regression-compile-tmp/pass1.imp"
TAG[X].FORMAT = LIT;
                                                                //   2526              %finish %else %start
#line 2526 "regression-compile-tmp/pass1.imp"
goto L_0234;
#line 2526 "regression-compile-tmp/pass1.imp"
L_0233:;
                                                                //   2527                  set const(lit) %if pending # 0
#line 2527 "regression-compile-tmp/pass1.imp"
if (((PENDING) == (0))) goto L_0235;
#line 2527 "regression-compile-tmp/pass1.imp"
SETCONST(LIT);
#line 2527 "regression-compile-tmp/pass1.imp"
L_0235:;
                                                                //   2528                  def(x)
#line 2528 "regression-compile-tmp/pass1.imp"
DEF(X);
                                                                //   2529                  op('A', 1)
#line 2529 "regression-compile-tmp/pass1.imp"
OP(65, 1);
                                                                //   2530              %finish
#line 2530 "regression-compile-tmp/pass1.imp"
L_0234:;
                                                                //   2531              cident = x
#line 2531 "regression-compile-tmp/pass1.imp"
CIDENT = X;
                                                                //   2532              ->top
#line 2532 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2533  c(124):     dubious = 1 %if tag(cident)_flags&prot # 0; ! %DUBIOUS
#line 2533 "regression-compile-tmp/pass1.imp"
sw5_C_124:;
#line 2533 "regression-compile-tmp/pass1.imp"
if (((((TAG[CIDENT].FLAGS) & (256))) == (0))) goto L_0236;
#line 2533 "regression-compile-tmp/pass1.imp"
DUBIOUS = 1;
#line 2533 "regression-compile-tmp/pass1.imp"
L_0236:;
                                                                //   2534              ->top
#line 2534 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2535  c(97):      ;                                          ! f
#line 2535 "regression-compile-tmp/pass1.imp"
sw5_C_97:;
                                                                //   2536  c(98):      ;                                          ! m
#line 2536 "regression-compile-tmp/pass1.imp"
sw5_C_98:;
                                                                //   2537  c(99):      ;                                          ! p
#line 2537 "regression-compile-tmp/pass1.imp"
sw5_C_99:;
                                                                //   2538  c(96):      call;  ->top;                              ! r
#line 2538 "regression-compile-tmp/pass1.imp"
sw5_C_96:;
#line 2538 "regression-compile-tmp/pass1.imp"
CALL();
#line 2538 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2539  c(165):     ;                                          ! nlab
#line 2539 "regression-compile-tmp/pass1.imp"
sw5_C_165:;
                                                                //   2540  c(100):     ;                                          ! rp
#line 2540 "regression-compile-tmp/pass1.imp"
sw5_C_100:;
                                                                //   2541  c(101):     ;                                          ! fp
#line 2541 "regression-compile-tmp/pass1.imp"
sw5_C_101:;
                                                                //   2542  c(102):     ;                                          ! mp
#line 2542 "regression-compile-tmp/pass1.imp"
sw5_C_102:;
                                                                //   2543  c(103):     ;                                          ! pp
#line 2543 "regression-compile-tmp/pass1.imp"
sw5_C_103:;
                                                                //   2544  c(91):      ;                                          ! v
#line 2544 "regression-compile-tmp/pass1.imp"
sw5_C_91:;
                                                                //   2545  c(92):      ;                                          ! n
#line 2545 "regression-compile-tmp/pass1.imp"
sw5_C_92:;
                                                                //   2546  c(106):     ;                                          ! a
#line 2546 "regression-compile-tmp/pass1.imp"
sw5_C_106:;
                                                                //   2547  c(107):     ;                                          ! an
#line 2547 "regression-compile-tmp/pass1.imp"
sw5_C_107:;
                                                                //   2548  c(108):     ;                                          ! na
#line 2548 "regression-compile-tmp/pass1.imp"
sw5_C_108:;
                                                                //   2549  c(109):     ;                                          ! nan
#line 2549 "regression-compile-tmp/pass1.imp"
sw5_C_109:;
                                                                //   2550              k = tag(x)_index
#line 2550 "regression-compile-tmp/pass1.imp"
K = TAG[X].INDEX;
                                                                //   2551              %if k < 0 %then op('n', -k) %else op('@', k)
#line 2551 "regression-compile-tmp/pass1.imp"
if (((K) >= (0))) goto L_0237;
#line 2551 "regression-compile-tmp/pass1.imp"
OP(110, (-(K)));
#line 2551 "regression-compile-tmp/pass1.imp"
goto L_0238;
#line 2551 "regression-compile-tmp/pass1.imp"
L_0237:;
#line 2551 "regression-compile-tmp/pass1.imp"
OP(64, K);
#line 2551 "regression-compile-tmp/pass1.imp"
L_0238:;
                                                                //   2552              ->top
#line 2552 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2553  c(121):     set const(0);                   ->top;     ! special for zero
#line 2553 "regression-compile-tmp/pass1.imp"
sw5_C_121:;
#line 2553 "regression-compile-tmp/pass1.imp"
SETCONST(0);
#line 2553 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2554  c(167):     add char( 'G' );                ->pstr;    ! aconst (alias)
#line 2554 "regression-compile-tmp/pass1.imp"
sw5_C_167:;
#line 2554 "regression-compile-tmp/pass1.imp"
ADDCHAR(71);
#line 2554 "regression-compile-tmp/pass1.imp"
goto U_101f;
                                                                //   2555  c(const):   ;                                          ! const
#line 2555 "regression-compile-tmp/pass1.imp"
sw5_C_93:;
                                                                //   2556              %if x < 0 %start;                          ! constinteger
#line 2556 "regression-compile-tmp/pass1.imp"
if (((X) >= (0))) goto L_0239;
                                                                //   2557                  set const(tag(-x)_format);  ->top
#line 2557 "regression-compile-tmp/pass1.imp"
SETCONST(TAG[(-(X))].FORMAT);
#line 2557 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2558              %finish
#line 2558 "regression-compile-tmp/pass1.imp"
L_0239:;
                                                                //   2559              %if x&16_4000 # 0 %start;                  ! strings
#line 2559 "regression-compile-tmp/pass1.imp"
if (((((X) & (16384))) == (0))) goto L_023a;
                                                                //   2560                  add char( '''' )
#line 2560 "regression-compile-tmp/pass1.imp"
ADDCHAR(39);
                                                                //   2561  pstr:           x = x-16_4000
#line 2561 "regression-compile-tmp/pass1.imp"
U_101f:;
#line 2561 "regression-compile-tmp/pass1.imp"
X = (((int)(X)) - (16384));
                                                                //   2562                  j = glink(x)
#line 2562 "regression-compile-tmp/pass1.imp"
J = GLINK[X];
                                                                //   2563                  k = j&255
#line 2563 "regression-compile-tmp/pass1.imp"
K = ((J) & (255));
                                                                //   2564                  add char( k )
#line 2564 "regression-compile-tmp/pass1.imp"
ADDCHAR(K);
                                                                //   2565                  %cycle
#line 2565 "regression-compile-tmp/pass1.imp"
L_023b:;
                                                                //   2566                      k = k-1; ->top %if k < 0
#line 2566 "regression-compile-tmp/pass1.imp"
K = (((int)(K)) - (1));
#line 2566 "regression-compile-tmp/pass1.imp"
if (((K) >= (0))) goto L_023e;
#line 2566 "regression-compile-tmp/pass1.imp"
goto U_101b;
#line 2566 "regression-compile-tmp/pass1.imp"
L_023e:;
                                                                //   2567                      add char( j>>8 );
#line 2567 "regression-compile-tmp/pass1.imp"
ADDCHAR((int)((((unsigned int)(J)) >> (8))));
                                                                //   2568                      x = x+1
#line 2568 "regression-compile-tmp/pass1.imp"
X = (((int)(X)) + (1));
                                                                //   2569                      j = glink(x)
#line 2569 "regression-compile-tmp/pass1.imp"
J = GLINK[X];
                                                                //   2570                      k = k-1; ->top %if k < 0
#line 2570 "regression-compile-tmp/pass1.imp"
K = (((int)(K)) - (1));
#line 2570 "regression-compile-tmp/pass1.imp"
if (((K) >= (0))) goto L_023f;
#line 2570 "regression-compile-tmp/pass1.imp"
goto U_101b;
#line 2570 "regression-compile-tmp/pass1.imp"
L_023f:;
                                                                //   2571                      add char( j&255 )
#line 2571 "regression-compile-tmp/pass1.imp"
ADDCHAR(((J) & (255)));
                                                                //   2572                  %repeat
#line 2572 "regression-compile-tmp/pass1.imp"
goto L_023b;
                                                                //   2573              %finish
#line 2573 "regression-compile-tmp/pass1.imp"
L_023a:;
                                                                //   2574              %if x&16_2000 # 0 %start;                  ! real - ABD also string-like, but NOT packed
#line 2574 "regression-compile-tmp/pass1.imp"
if (((((X) & (8192))) == (0))) goto L_0240;
                                                                //   2575                  x = x-16_2000
#line 2575 "regression-compile-tmp/pass1.imp"
X = (((int)(X)) - (8192));
                                                                //   2576                  k = glink(x)
#line 2576 "regression-compile-tmp/pass1.imp"
K = GLINK[X];
                                                                //   2577                  op('D', k);  add char( ',' )
#line 2577 "regression-compile-tmp/pass1.imp"
OP(68, K);
#line 2577 "regression-compile-tmp/pass1.imp"
ADDCHAR(44);
                                                                //   2578                  %cycle
#line 2578 "regression-compile-tmp/pass1.imp"
L_0241:;
                                                                //   2579                      ->top %if k = 0
#line 2579 "regression-compile-tmp/pass1.imp"
if (((K) != (0))) goto L_0244;
#line 2579 "regression-compile-tmp/pass1.imp"
goto U_101b;
#line 2579 "regression-compile-tmp/pass1.imp"
L_0244:;
                                                                //   2580                      k = k-1
#line 2580 "regression-compile-tmp/pass1.imp"
K = (((int)(K)) - (1));
                                                                //   2581                      x = x+1;  j = glink(x)
#line 2581 "regression-compile-tmp/pass1.imp"
X = (((int)(X)) + (1));
#line 2581 "regression-compile-tmp/pass1.imp"
J = GLINK[X];
                                                                //   2582                      %if j = '@' %start
#line 2582 "regression-compile-tmp/pass1.imp"
if (((J) != (64))) goto L_0245;
                                                                //   2583                          op('@', litpool(glink(x+1)));  ->top
#line 2583 "regression-compile-tmp/pass1.imp"
OP(64, LITPOOL[GLINK[(((int)(X)) + (1))]]);
#line 2583 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2584                      %finish
#line 2584 "regression-compile-tmp/pass1.imp"
L_0245:;
                                                                //   2585                      add char( j )
#line 2585 "regression-compile-tmp/pass1.imp"
ADDCHAR(J);
                                                                //   2586                  %repeat
#line 2586 "regression-compile-tmp/pass1.imp"
goto L_0241;
                                                                //   2587              %finish
#line 2587 "regression-compile-tmp/pass1.imp"
L_0240:;
                                                                //   2588              set const(lit pool(x))
#line 2588 "regression-compile-tmp/pass1.imp"
SETCONST(LITPOOL[X]);
                                                                //   2589              ->top
#line 2589 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2590  
                                                                //   2591  c(137):     add char( 'i' );                ->top;     ! asep
#line 2591 "regression-compile-tmp/pass1.imp"
sw5_C_137:;
#line 2591 "regression-compile-tmp/pass1.imp"
ADDCHAR(105);
#line 2591 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2592  c(141):     add char( 'a' );                ->top;     ! arb
#line 2592 "regression-compile-tmp/pass1.imp"
sw5_C_141:;
#line 2592 "regression-compile-tmp/pass1.imp"
ADDCHAR(97);
#line 2592 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2593  
                                                                //   2594              !own arrays
                                                                //   2595  c(132):     ocount = ub-lb+1
#line 2595 "regression-compile-tmp/pass1.imp"
sw5_C_132:;
#line 2595 "regression-compile-tmp/pass1.imp"
OCOUNT = (((int)((((int)(UB)) - (LB)))) + (1));
                                                                //   2596              def(x);                                    ! oident
#line 2596 "regression-compile-tmp/pass1.imp"
DEF(X);
                                                                //   2597              dimension = 1;  set subs(1)
#line 2597 "regression-compile-tmp/pass1.imp"
DIMENSION = 1;
#line 2597 "regression-compile-tmp/pass1.imp"
SETSUBS(1);
                                                                //   2598              %if next = 0 %start;                       ! no initialisation
#line 2598 "regression-compile-tmp/pass1.imp"
if (((NEXT) != (0))) goto L_0246;
                                                                //   2599                  op('A', ocount) %if ocount > 0
#line 2599 "regression-compile-tmp/pass1.imp"
if (((OCOUNT) <= (0))) goto L_0242;
#line 2599 "regression-compile-tmp/pass1.imp"
OP(65, OCOUNT);
#line 2599 "regression-compile-tmp/pass1.imp"
L_0242:;
                                                                //   2600                  ocount = -1
#line 2600 "regression-compile-tmp/pass1.imp"
OCOUNT = (-1);
                                                                //   2601              %finish %else %start;                      ! initialisation given
#line 2601 "regression-compile-tmp/pass1.imp"
goto L_0247;
#line 2601 "regression-compile-tmp/pass1.imp"
L_0246:;
                                                                //   2602                  get next
#line 2602 "regression-compile-tmp/pass1.imp"
GETNEXT();
                                                                //   2603              %finish
#line 2603 "regression-compile-tmp/pass1.imp"
L_0247:;
                                                                //   2604              ->top
#line 2604 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2605  c(162):     lit = ocount;  ->ins;                      ! indef
#line 2605 "regression-compile-tmp/pass1.imp"
sw5_C_162:;
#line 2605 "regression-compile-tmp/pass1.imp"
LIT = OCOUNT;
#line 2605 "regression-compile-tmp/pass1.imp"
goto U_1020;
                                                                //   2606  c(143):     pop lit;                                   ! orb
#line 2606 "regression-compile-tmp/pass1.imp"
sw5_C_143:;
#line 2606 "regression-compile-tmp/pass1.imp"
POPLIT();
                                                                //   2607  ins:        fault(10) %and lit = 0 %if lit < 0
#line 2607 "regression-compile-tmp/pass1.imp"
U_1020:;
#line 2607 "regression-compile-tmp/pass1.imp"
if (((LIT) >= (0))) goto L_0248;
#line 2607 "regression-compile-tmp/pass1.imp"
FAULT(10);
#line 2607 "regression-compile-tmp/pass1.imp"
LIT = 0;
#line 2607 "regression-compile-tmp/pass1.imp"
L_0248:;
                                                                //   2608              get next
#line 2608 "regression-compile-tmp/pass1.imp"
GETNEXT();
                                                                //   2609              ->inst
#line 2609 "regression-compile-tmp/pass1.imp"
goto U_1021;
                                                                //   2610  c(139):     ;                                          ! osep (x=19)
#line 2610 "regression-compile-tmp/pass1.imp"
sw5_C_139:;
                                                                //   2611  c(153):     lit = 1
#line 2611 "regression-compile-tmp/pass1.imp"
sw5_C_153:;
#line 2611 "regression-compile-tmp/pass1.imp"
LIT = 1;
                                                                //   2612  inst:       pop def %if pending # 0;                   ! ownt (x=0)
#line 2612 "regression-compile-tmp/pass1.imp"
U_1021:;
#line 2612 "regression-compile-tmp/pass1.imp"
if (((PENDING) == (0))) goto L_0249;
#line 2612 "regression-compile-tmp/pass1.imp"
POPDEF();
#line 2612 "regression-compile-tmp/pass1.imp"
L_0249:;
                                                                //   2613              op('A', lit)
#line 2613 "regression-compile-tmp/pass1.imp"
OP(65, LIT);
                                                                //   2614              ocount = ocount-lit
#line 2614 "regression-compile-tmp/pass1.imp"
OCOUNT = (((int)(OCOUNT)) - (LIT));
                                                                //   2615              %if ocount >= 0 %start
#line 2615 "regression-compile-tmp/pass1.imp"
if (((OCOUNT) < (0))) goto L_024a;
                                                                //   2616                  ->top %if x # 0;                       ! more coming
#line 2616 "regression-compile-tmp/pass1.imp"
if (((X) == (0))) goto L_024b;
#line 2616 "regression-compile-tmp/pass1.imp"
goto U_101b;
#line 2616 "regression-compile-tmp/pass1.imp"
L_024b:;
                                                                //   2617                  ocount = -1 %and %return %if ocount = 0; ! all done
#line 2617 "regression-compile-tmp/pass1.imp"
if (((OCOUNT) != (0))) goto L_024c;
#line 2617 "regression-compile-tmp/pass1.imp"
OCOUNT = (-1);
#line 2617 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2617 "regression-compile-tmp/pass1.imp"
L_024c:;
                                                                //   2618              %finish
#line 2618 "regression-compile-tmp/pass1.imp"
L_024a:;
                                                                //   2619              fault(11);  %return
#line 2619 "regression-compile-tmp/pass1.imp"
FAULT(11);
#line 2619 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2620  
                                                                //   2621  c(swit):    op('W', tag(x)_index);  inhibit = 1;  ->atop
#line 2621 "regression-compile-tmp/pass1.imp"
sw5_C_105:;
#line 2621 "regression-compile-tmp/pass1.imp"
OP(87, TAG[X].INDEX);
#line 2621 "regression-compile-tmp/pass1.imp"
INHIBIT = 1;
#line 2621 "regression-compile-tmp/pass1.imp"
goto U_101c;
                                                                //   2622  c(134):     def(x);                                    ! swid
#line 2622 "regression-compile-tmp/pass1.imp"
sw5_C_134:;
#line 2622 "regression-compile-tmp/pass1.imp"
DEF(X);
                                                                //   2623              n = ub-lb+1
#line 2623 "regression-compile-tmp/pass1.imp"
N = (((int)((((int)(UB)) - (LB)))) + (1));
                                                                //   2624              n = (n+15)>>4;                             ! slots needed (includes zero)
#line 2624 "regression-compile-tmp/pass1.imp"
N = (((((((int)(N)) + (15)))) >> (4)));
                                                                //   2625              j = dmax;  dmax = dmax+n+2
#line 2625 "regression-compile-tmp/pass1.imp"
J = DMAX;
#line 2625 "regression-compile-tmp/pass1.imp"
DMAX = (((int)((((int)(DMAX)) + (N)))) + (2));
                                                                //   2626              abandon(1) %if dmax >= dmin
#line 2626 "regression-compile-tmp/pass1.imp"
if (((DMAX) < (DMIN))) goto L_024d;
#line 2626 "regression-compile-tmp/pass1.imp"
ABANDON(1);
#line 2626 "regression-compile-tmp/pass1.imp"
L_024d:;
                                                                //   2627              tag(x)_format = j
#line 2627 "regression-compile-tmp/pass1.imp"
TAG[X].FORMAT = J;
                                                                //   2628              dict(j) = lb;  dict(j+1) = ub
#line 2628 "regression-compile-tmp/pass1.imp"
DICT[(((int)(J)) - (1))] = LB;
#line 2628 "regression-compile-tmp/pass1.imp"
DICT[(((int)((((int)(J)) + (1)))) - (1))] = UB;
                                                                //   2629              %cycle
#line 2629 "regression-compile-tmp/pass1.imp"
L_024e:;
                                                                //   2630                  n = n-1
#line 2630 "regression-compile-tmp/pass1.imp"
N = (((int)(N)) - (1));
                                                                //   2631                  ->top %if n < 0
#line 2631 "regression-compile-tmp/pass1.imp"
if (((N) >= (0))) goto L_0251;
#line 2631 "regression-compile-tmp/pass1.imp"
goto U_101b;
#line 2631 "regression-compile-tmp/pass1.imp"
L_0251:;
                                                                //   2632                  j = j+1;  dict(j+1) = 0
#line 2632 "regression-compile-tmp/pass1.imp"
J = (((int)(J)) + (1));
#line 2632 "regression-compile-tmp/pass1.imp"
DICT[(((int)((((int)(J)) + (1)))) - (1))] = 0;
                                                                //   2633              %repeat
#line 2633 "regression-compile-tmp/pass1.imp"
goto L_024e;
                                                                //   2634  c(151):     stats = stats-1;                           ! slab
#line 2634 "regression-compile-tmp/pass1.imp"
sw5_C_151:;
#line 2634 "regression-compile-tmp/pass1.imp"
STATS = (((int)(STATS)) - (1));
                                                                //   2635              fault(7) %and %return %if x < tbase
#line 2635 "regression-compile-tmp/pass1.imp"
if (((X) >= (TBASE))) goto L_024f;
#line 2635 "regression-compile-tmp/pass1.imp"
FAULT(7);
#line 2635 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2635 "regression-compile-tmp/pass1.imp"
L_024f:;
                                                                //   2636              %if pending # 0 %start;                    ! explicit label
#line 2636 "regression-compile-tmp/pass1.imp"
if (((PENDING) == (0))) goto L_0252;
                                                                //   2637                  def s lab(pstack(1))
#line 2637 "regression-compile-tmp/pass1.imp"
DEFSLAB((PSTACK-1)[1]);
                                                                //   2638              %finish %else %start
#line 2638 "regression-compile-tmp/pass1.imp"
goto L_0253;
#line 2638 "regression-compile-tmp/pass1.imp"
L_0252:;
                                                                //   2639                  fault(4) %and %return %if tag(x)_app # 0
#line 2639 "regression-compile-tmp/pass1.imp"
if (((TAG[X].APP) == (0))) goto L_0254;
#line 2639 "regression-compile-tmp/pass1.imp"
FAULT(4);
#line 2639 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2639 "regression-compile-tmp/pass1.imp"
L_0254:;
                                                                //   2640                  tag(x)_app = 1
#line 2640 "regression-compile-tmp/pass1.imp"
TAG[X].APP = 1;
                                                                //   2641                  n = tag(x)_format
#line 2641 "regression-compile-tmp/pass1.imp"
N = TAG[X].FORMAT;
                                                                //   2642                  %for j = dict(n), 1, dict(n+1) %cycle
#line 2642 "regression-compile-tmp/pass1.imp"
{static int _initial, _increment, _final, _control;
_initial = DICT[(((int)(N)) - (1))]; _increment = 1; _final = DICT[(((int)((((int)(N)) + (1)))) - (1))]; J = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle J = DICT[(((int)(N)) - (1))], 1, DICT[(((int)((((int)(N)) + (1)))) - (1))]");
J -= _increment; _control -= _increment;
L_0255:;
if (J == _final) goto L_0256;
J += _increment; _control += _increment;
if (J != _control) _imp_signal(4,2,0,"Corrupt control variable J"); /* FOR loop control variable corrupted */
}
                                                                //   2643                      def s lab(j)
#line 2643 "regression-compile-tmp/pass1.imp"
DEFSLAB(J);
                                                                //   2644                      flush buffer( 128 );               ! flush if bp >= 128
#line 2644 "regression-compile-tmp/pass1.imp"
FLUSHBUFFER(128);
                                                                //   2645                  %repeat
#line 2645 "regression-compile-tmp/pass1.imp"
goto L_0255;
#line 2645 "regression-compile-tmp/pass1.imp"
L_0256:;
                                                                //   2646              %finish
#line 2646 "regression-compile-tmp/pass1.imp"
L_0253:;
                                                                //   2647              inhibit = 1
#line 2647 "regression-compile-tmp/pass1.imp"
INHIBIT = 1;
                                                                //   2648              %return
#line 2648 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2649  
                                                                //   2650  c(140):     add char( 'p' );         ->top;            ! psep
#line 2650 "regression-compile-tmp/pass1.imp"
sw5_C_140:;
#line 2650 "regression-compile-tmp/pass1.imp"
ADDCHAR(112);
#line 2650 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2651  c(144):     ;                                          ! prb
#line 2651 "regression-compile-tmp/pass1.imp"
sw5_C_144:;
                                                                //   2652              add char( 'p' );
#line 2652 "regression-compile-tmp/pass1.imp"
ADDCHAR(112);
                                                                //   2653              add char( 'E' );         ->top
#line 2653 "regression-compile-tmp/pass1.imp"
ADDCHAR(69);
#line 2653 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2654  
                                                                //   2655              !constant expressions
                                                                //   2656  c(155):     ;                                          ! pconst
#line 2656 "regression-compile-tmp/pass1.imp"
sw5_C_155:;
                                                                //   2657              %if x < 0 %then lit = tag(-x)_format %else lit = lit pool(x)
#line 2657 "regression-compile-tmp/pass1.imp"
if (((X) >= (0))) goto L_0258;
#line 2657 "regression-compile-tmp/pass1.imp"
LIT = TAG[(-(X))].FORMAT;
#line 2657 "regression-compile-tmp/pass1.imp"
goto L_0259;
#line 2657 "regression-compile-tmp/pass1.imp"
L_0258:;
#line 2657 "regression-compile-tmp/pass1.imp"
LIT = LITPOOL[X];
#line 2657 "regression-compile-tmp/pass1.imp"
L_0259:;
                                                                //   2658              pending = pending+1;     pstack(pending) = lit;  ->top
#line 2658 "regression-compile-tmp/pass1.imp"
PENDING = (((int)(PENDING)) + (1));
#line 2658 "regression-compile-tmp/pass1.imp"
(PSTACK-1)[PENDING] = LIT;
#line 2658 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2659  c(156):     lit = pstack(pending);  lit = -lit %if lit < 0
#line 2659 "regression-compile-tmp/pass1.imp"
sw5_C_156:;
#line 2659 "regression-compile-tmp/pass1.imp"
LIT = (PSTACK-1)[PENDING];
#line 2659 "regression-compile-tmp/pass1.imp"
if (((LIT) >= (0))) goto L_025a;
#line 2659 "regression-compile-tmp/pass1.imp"
LIT = (-(LIT));
#line 2659 "regression-compile-tmp/pass1.imp"
L_025a:;
                                                                //   2660              pstack(pending) = lit;  ->top;  !cmod
#line 2660 "regression-compile-tmp/pass1.imp"
(PSTACK-1)[PENDING] = LIT;
#line 2660 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2661  c(157):     lit = -pstack(pending);  pstack(pending) = lit;  ->top; ! csign
#line 2661 "regression-compile-tmp/pass1.imp"
sw5_C_157:;
#line 2661 "regression-compile-tmp/pass1.imp"
LIT = (-((PSTACK-1)[PENDING]));
#line 2661 "regression-compile-tmp/pass1.imp"
(PSTACK-1)[PENDING] = LIT;
#line 2661 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2662  c(158):     lit = \pstack(pending);  pstack(pending) = lit;  ->top; ! cuop
#line 2662 "regression-compile-tmp/pass1.imp"
sw5_C_158:;
#line 2662 "regression-compile-tmp/pass1.imp"
LIT = (~((PSTACK-1)[PENDING]));
#line 2662 "regression-compile-tmp/pass1.imp"
(PSTACK-1)[PENDING] = LIT;
#line 2662 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2663  c(159):     ;                                          ! cop1
#line 2663 "regression-compile-tmp/pass1.imp"
sw5_C_159:;
                                                                //   2664  c(160):     ;                                          ! cop2
#line 2664 "regression-compile-tmp/pass1.imp"
sw5_C_160:;
                                                                //   2665  c(161):     pending = pending-1;                       ! cop3
#line 2665 "regression-compile-tmp/pass1.imp"
sw5_C_161:;
#line 2665 "regression-compile-tmp/pass1.imp"
PENDING = (((int)(PENDING)) - (1));
                                                                //   2666              lit2 = pstack(pending+1);  lit = pstack(pending)
#line 2666 "regression-compile-tmp/pass1.imp"
LIT2 = (PSTACK-1)[(((int)(PENDING)) + (1))];
#line 2666 "regression-compile-tmp/pass1.imp"
LIT = (PSTACK-1)[PENDING];
                                                                //   2667              ->litop(x>>2)
#line 2667 "regression-compile-tmp/pass1.imp"
sw6_LITOP_idx = (int)((((unsigned int)(X)) >> (2))); if ((1 <= sw6_LITOP_idx) && (sw6_LITOP_idx <= 12)) goto *(sw6_LITOP-1)[sw6_LITOP_idx];  /* Bounds=1:12 */ else {
   /*_imp_signal(8, 2, sw6_LITOP_idx);*/
   fprintf(stderr, "%%SWITCH index LITOP(%d) not in range 1:12 at %s:%d\n",
           sw6_LITOP_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   2668  
                                                                //   2669  litop(1):   lit = lit<<lit2;           ->setl
#line 2669 "regression-compile-tmp/pass1.imp"
sw6_LITOP_1:;
#line 2669 "regression-compile-tmp/pass1.imp"
LIT = ((LIT) << (LIT2));
#line 2669 "regression-compile-tmp/pass1.imp"
goto U_1022;
                                                                //   2670  litop(2):   lit = lit>>lit2;           ->setl
#line 2670 "regression-compile-tmp/pass1.imp"
sw6_LITOP_2:;
#line 2670 "regression-compile-tmp/pass1.imp"
LIT = (int)((((unsigned int)(LIT)) >> (LIT2)));
#line 2670 "regression-compile-tmp/pass1.imp"
goto U_1022;
                                                                //   2671  litop(3):   n = 1;                                     ! lit = lit\\lit2
#line 2671 "regression-compile-tmp/pass1.imp"
sw6_LITOP_3:;
#line 2671 "regression-compile-tmp/pass1.imp"
N = 1;
                                                                //   2672              fault(10) %if lit2 < 0
#line 2672 "regression-compile-tmp/pass1.imp"
if (((LIT2) >= (0))) goto L_025b;
#line 2672 "regression-compile-tmp/pass1.imp"
FAULT(10);
#line 2672 "regression-compile-tmp/pass1.imp"
L_025b:;
                                                                //   2673              %while lit2 > 0 %cycle
#line 2673 "regression-compile-tmp/pass1.imp"
L_025c:;
#line 2673 "regression-compile-tmp/pass1.imp"
if (((LIT2) <= (0))) goto L_025d;
                                                                //   2674                  lit2 = lit2-1
#line 2674 "regression-compile-tmp/pass1.imp"
LIT2 = (((int)(LIT2)) - (1));
                                                                //   2675                  n = n*lit
#line 2675 "regression-compile-tmp/pass1.imp"
N = (((int)(N)) * (LIT));
                                                                //   2676              %repeat
#line 2676 "regression-compile-tmp/pass1.imp"
goto L_025c;
#line 2676 "regression-compile-tmp/pass1.imp"
L_025d:;
                                                                //   2677              lit = n;                   ->setl
#line 2677 "regression-compile-tmp/pass1.imp"
LIT = N;
#line 2677 "regression-compile-tmp/pass1.imp"
goto U_1022;
                                                                //   2678  litop(4):   %if lit2 = 0 %then fault(10) %else lit = lit//lit2
#line 2678 "regression-compile-tmp/pass1.imp"
sw6_LITOP_4:;
#line 2678 "regression-compile-tmp/pass1.imp"
if (((LIT2) != (0))) goto L_025f;
#line 2678 "regression-compile-tmp/pass1.imp"
FAULT(10);
#line 2678 "regression-compile-tmp/pass1.imp"
goto L_0260;
#line 2678 "regression-compile-tmp/pass1.imp"
L_025f:;
#line 2678 "regression-compile-tmp/pass1.imp"
LIT = (long)((long)((int)(LIT)) / (long)((int)(_Z(LIT2))));
#line 2678 "regression-compile-tmp/pass1.imp"
L_0260:;
                                                                //   2679                                         ->setl
#line 2679 "regression-compile-tmp/pass1.imp"
goto U_1022;
                                                                //   2680  litop(5):   lit = lit&lit2;            ->setl
#line 2680 "regression-compile-tmp/pass1.imp"
sw6_LITOP_5:;
#line 2680 "regression-compile-tmp/pass1.imp"
LIT = ((LIT) & (LIT2));
#line 2680 "regression-compile-tmp/pass1.imp"
goto U_1022;
                                                                //   2681  litop(6):   lit = lit!lit2;            ->setl
#line 2681 "regression-compile-tmp/pass1.imp"
sw6_LITOP_6:;
#line 2681 "regression-compile-tmp/pass1.imp"
LIT = ((LIT) | (LIT2));
#line 2681 "regression-compile-tmp/pass1.imp"
goto U_1022;
                                                                //   2682  litop(7):   lit = lit!!lit2;           ->setl
#line 2682 "regression-compile-tmp/pass1.imp"
sw6_LITOP_7:;
#line 2682 "regression-compile-tmp/pass1.imp"
LIT = ((LIT) ^ (LIT2));
#line 2682 "regression-compile-tmp/pass1.imp"
goto U_1022;
                                                                //   2683  litop(8):   lit = lit+lit2;            ->setl
#line 2683 "regression-compile-tmp/pass1.imp"
sw6_LITOP_8:;
#line 2683 "regression-compile-tmp/pass1.imp"
LIT = (((int)(LIT)) + (LIT2));
#line 2683 "regression-compile-tmp/pass1.imp"
goto U_1022;
                                                                //   2684  litop(9):   lit = lit-lit2;            ->setl
#line 2684 "regression-compile-tmp/pass1.imp"
sw6_LITOP_9:;
#line 2684 "regression-compile-tmp/pass1.imp"
LIT = (((int)(LIT)) - (LIT2));
#line 2684 "regression-compile-tmp/pass1.imp"
goto U_1022;
                                                                //   2685  litop(10):  lit = lit*lit2;            ->setl
#line 2685 "regression-compile-tmp/pass1.imp"
sw6_LITOP_10:;
#line 2685 "regression-compile-tmp/pass1.imp"
LIT = (((int)(LIT)) * (LIT2));
#line 2685 "regression-compile-tmp/pass1.imp"
goto U_1022;
                                                                //   2686  litop(11):  lit = lit+lit2;            ->setl
#line 2686 "regression-compile-tmp/pass1.imp"
sw6_LITOP_11:;
#line 2686 "regression-compile-tmp/pass1.imp"
LIT = (((int)(LIT)) + (LIT2));
#line 2686 "regression-compile-tmp/pass1.imp"
goto U_1022;
                                                                //   2687  litop(12):  n = 1;                                     ! lit = lit\\lit2
#line 2687 "regression-compile-tmp/pass1.imp"
sw6_LITOP_12:;
#line 2687 "regression-compile-tmp/pass1.imp"
N = 1;
                                                                //   2688              fault(10) %if lit2 < 0
#line 2688 "regression-compile-tmp/pass1.imp"
if (((LIT2) >= (0))) goto L_0261;
#line 2688 "regression-compile-tmp/pass1.imp"
FAULT(10);
#line 2688 "regression-compile-tmp/pass1.imp"
L_0261:;
                                                                //   2689              %while lit2 > 0 %cycle
#line 2689 "regression-compile-tmp/pass1.imp"
L_0262:;
#line 2689 "regression-compile-tmp/pass1.imp"
if (((LIT2) <= (0))) goto L_0263;
                                                                //   2690                  lit2 = lit2-1
#line 2690 "regression-compile-tmp/pass1.imp"
LIT2 = (((int)(LIT2)) - (1));
                                                                //   2691                  n = n*lit
#line 2691 "regression-compile-tmp/pass1.imp"
N = (((int)(N)) * (LIT));
                                                                //   2692              %repeat
#line 2692 "regression-compile-tmp/pass1.imp"
goto L_0262;
#line 2692 "regression-compile-tmp/pass1.imp"
L_0263:;
                                                                //   2693              lit = n;                   ->setl
#line 2693 "regression-compile-tmp/pass1.imp"
LIT = N;
#line 2693 "regression-compile-tmp/pass1.imp"
goto U_1022;
                                                                //   2694  setl:       pstack(pending) = lit;     ->top
#line 2694 "regression-compile-tmp/pass1.imp"
U_1022:;
#line 2694 "regression-compile-tmp/pass1.imp"
(PSTACK-1)[PENDING] = LIT;
#line 2694 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2695  
                                                                //   2696  c(170):     ;
#line 2696 "regression-compile-tmp/pass1.imp"
sw5_C_170:;
                                                                //   2697              !Fault(4) %if IMPCOM_Option # ""
                                                                //   2698              !IMPCOM_Option = String(x-x'4000'+Stbase); ! Option string
                                                                //   2699              ->Top
#line 2699 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2700  
                                                                //   2701              !string resolution
                                                                //   2702  c(135):     resln = 2;                    ->top;       ! dotl
#line 2702 "regression-compile-tmp/pass1.imp"
sw5_C_135:;
#line 2702 "regression-compile-tmp/pass1.imp"
RESLN = 2;
#line 2702 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2703  c(136):     resln = resln+1;              ->top;       ! dotr
#line 2703 "regression-compile-tmp/pass1.imp"
sw5_C_136:;
#line 2703 "regression-compile-tmp/pass1.imp"
RESLN = (((int)(RESLN)) + (1));
#line 2703 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2704  c(55):      op('r', resln);    resln = 0; ->top;       ! resop
#line 2704 "regression-compile-tmp/pass1.imp"
sw5_C_55:;
#line 2704 "regression-compile-tmp/pass1.imp"
OP(114, RESLN);
#line 2704 "regression-compile-tmp/pass1.imp"
RESLN = 0;
#line 2704 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2705  c(164):     op('r', resln+4);  resln = 0;              ! cresop
#line 2705 "regression-compile-tmp/pass1.imp"
sw5_C_164:;
#line 2705 "regression-compile-tmp/pass1.imp"
OP(114, (((int)(RESLN)) + (4)));
#line 2705 "regression-compile-tmp/pass1.imp"
RESLN = 0;
                                                                //   2706  c(122):     x = 6;                        ->cop;       ! %PRED
#line 2706 "regression-compile-tmp/pass1.imp"
sw5_C_122:;
#line 2706 "regression-compile-tmp/pass1.imp"
X = 6;
#line 2706 "regression-compile-tmp/pass1.imp"
goto U_101e;
                                                                //   2707  c(87):      set const(pstack(1));                      ! mass
#line 2707 "regression-compile-tmp/pass1.imp"
sw5_C_87:;
#line 2707 "regression-compile-tmp/pass1.imp"
SETCONST((PSTACK-1)[1]);
                                                                //   2708              bp=bp+1 %and buff(bp)='P';    ->top
#line 2708 "regression-compile-tmp/pass1.imp"
BP = (((int)(BP)) + (1));
#line 2708 "regression-compile-tmp/pass1.imp"
BUFF[(((int)(BP)) - (1))] = 80;
#line 2708 "regression-compile-tmp/pass1.imp"
goto U_101b;
                                                                //   2709          %end
#line 2709 "regression-compile-tmp/pass1.imp"
return;
sw5_C_1:;
sw5_C_2:;
sw5_C_3:;
sw5_C_4:;
sw5_C_5:;
sw5_C_6:;
sw5_C_7:;
sw5_C_8:;
sw5_C_9:;
sw5_C_10:;
sw5_C_11:;
sw5_C_12:;
sw5_C_13:;
sw5_C_14:;
sw5_C_15:;
sw5_C_16:;
sw5_C_17:;
sw5_C_18:;
sw5_C_19:;
sw5_C_20:;
sw5_C_21:;
sw5_C_22:;
sw5_C_23:;
sw5_C_24:;
sw5_C_25:;
sw5_C_26:;
sw5_C_40:;
sw5_C_54:;
sw5_C_61:;
sw5_C_66:;
sw5_C_73:;
sw5_C_94:;
sw5_C_95:;
sw5_C_110:;
sw5_C_111:;
sw5_C_112:;
sw5_C_113:;
sw5_C_114:;
sw5_C_115:;
sw5_C_116:;
sw5_C_117:;
sw5_C_118:;
sw5_C_119:;
sw5_C_123:;
sw5_C_129:;
sw5_C_150:;
sw5_C_169:;
sw5_C_176:;
sw5_C_177:;
sw5_C_178:;
sw5_C_179:;
sw5_C_180:;
/*_imp_signal(6,3,sw5_C_idx,"SWITCH LABEL NOT SET - sw5_C");*/
fprintf(stderr, "%%SWITCH LABEL NOT SET - sw5_C(%d): at line %s:%d", sw5_C_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__), (_imp_current_line != 0 ? _imp_current_line : __LINE__));
exit(1);
} // End of block COMPILE at level 3
                                                                //   2710  
                                                                //   2711      %end;                                              ! of compile block
#line 2711 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COMPILEBLOCK at level 2
                                                                //   2712  
                                                                //   2713      %on 9 %start
#line 2713 "regression-compile-tmp/pass1.imp"
if (!_imp_on_event(9)) goto L_0265;  /* TO DO: Remove %on %event handler just before L_0265: if present for this block */
                                                                //   2714          abandon(5)
#line 2714 "regression-compile-tmp/pass1.imp"
ABANDON(5);
                                                                //   2715      %finish
#line 2715 "regression-compile-tmp/pass1.imp"
L_0265:;
                                                                //   2716  
                                                                //   2717      selectinput(2);  selectoutput(listing)
#line 2717 "regression-compile-tmp/pass1.imp"
_imp_SELECTINPUT(2);
#line 2717 "regression-compile-tmp/pass1.imp"
_imp_SELECTOUTPUT(2);
                                                                //   2718      tag(max tag) = 0;                                  ! %begin defn
#line 2718 "regression-compile-tmp/pass1.imp"
TAG[800] = (TAGFM){ 0 } /* Assign 0's to all fields of record */;
                                                                //   2719      tag(0) = 0;  tag(0)_flags = 7;                     ! %begin tag!
#line 2719 "regression-compile-tmp/pass1.imp"
TAG[0] = (TAGFM){ 0 } /* Assign 0's to all fields of record */;
#line 2719 "regression-compile-tmp/pass1.imp"
TAG[0].FLAGS = 7;
                                                                //   2720      Hash(x) = 0 %for x = 0, 1, max names
#line 2720 "regression-compile-tmp/pass1.imp"
X = (-1);
if ((((2047)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle X = 0, 1, 2047");
L_0266:;
if (X == 2047) goto L_0267;
X += 1;
#line 2720 "regression-compile-tmp/pass1.imp"
HASH[X] = 0;
#line 2720 "regression-compile-tmp/pass1.imp"
goto L_0266;
#line 2720 "regression-compile-tmp/pass1.imp"
L_0267:;
                                                                //   2721      printstring("         Edinburgh IMP77 Compiler - Version ")
#line 2721 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal("         Edinburgh IMP77 Compiler - Version "));
                                                                //   2722  !    printstring("         Preston IMP2020 Compiler - Version ")
                                                                //   2723      printstring(version);  newlines(2)
#line 2723 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(VERSION);
#line 2723 "regression-compile-tmp/pass1.imp"
_imp_NEWLINES(2);
                                                                //   2724      op('l', 0)
#line 2724 "regression-compile-tmp/pass1.imp"
OP(108, 0);
                                                                //   2725      compile block(0, 0, max dict, 0, 0)
#line 2725 "regression-compile-tmp/pass1.imp"
COMPILEBLOCK(0, 0, 6000, 0, 0);
                                                                //   2726      add char( nl );                                    ! {for bouncing off}
#line 2726 "regression-compile-tmp/pass1.imp"
ADDCHAR(10);
                                                                //   2727      flush buffer( 0 );                                 ! flush if bp >= 0
#line 2727 "regression-compile-tmp/pass1.imp"
FLUSHBUFFER(0);
                                                                //   2728  
                                                                //   2729      x = listing
#line 2729 "regression-compile-tmp/pass1.imp"
X = 2;
                                                                //   2730      newline
#line 2730 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
                                                                //   2731      %cycle
#line 2731 "regression-compile-tmp/pass1.imp"
L_0269:;
                                                                //   2732          %if faulty = 0 %start
#line 2732 "regression-compile-tmp/pass1.imp"
if (((FAULTY) != (0))) goto L_026c;
                                                                //   2733              write(stats, 5)
#line 2733 "regression-compile-tmp/pass1.imp"
_imp_WRITE(STATS, 5);
                                                                //   2734              printstring(" Statements compiled")
#line 2734 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal(" Statements compiled"));
                                                                //   2735          %else
#line 2735 "regression-compile-tmp/pass1.imp"
goto L_026d;
#line 2735 "regression-compile-tmp/pass1.imp"
L_026c:;
                                                                //   2736              printstring(" Program contains ")
#line 2736 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal(" Program contains "));
                                                                //   2737              write(faulty, 1)
#line 2737 "regression-compile-tmp/pass1.imp"
_imp_WRITE(FAULTY, 1);
                                                                //   2738              printstring(" fault")
#line 2738 "regression-compile-tmp/pass1.imp"
_imp_PRINTSTRING(_imp_str_literal(" fault"));
                                                                //   2739              printsymbol('s') %unless faulty = 1
#line 2739 "regression-compile-tmp/pass1.imp"
if (((FAULTY) == (1))) goto L_026e;
#line 2739 "regression-compile-tmp/pass1.imp"
_imp_PRINTSYMBOL(115);
#line 2739 "regression-compile-tmp/pass1.imp"
L_026e:;
                                                                //   2740          %finish
#line 2740 "regression-compile-tmp/pass1.imp"
L_026d:;
                                                                //   2741          newline
#line 2741 "regression-compile-tmp/pass1.imp"
_imp_NEWLINE();
                                                                //   2742          %exit %if x = report
#line 2742 "regression-compile-tmp/pass1.imp"
if (((X) != (0))) goto L_026f;
#line 2742 "regression-compile-tmp/pass1.imp"
goto L_026a;
#line 2742 "regression-compile-tmp/pass1.imp"
L_026f:;
                                                                //   2743          x = report
#line 2743 "regression-compile-tmp/pass1.imp"
X = 0;
                                                                //   2744          selectoutput(report)
#line 2744 "regression-compile-tmp/pass1.imp"
_imp_SELECTOUTPUT(0);
                                                                //   2745      %repeat
#line 2745 "regression-compile-tmp/pass1.imp"
goto L_0269;
#line 2745 "regression-compile-tmp/pass1.imp"
L_026a:;
                                                                //   2746  
                                                                //   2747      %if faulty # 0 %then %stop;        ! try to flag to shell that we failed
#line 2747 "regression-compile-tmp/pass1.imp"
if (((FAULTY) == (0))) goto L_0270;
#line 2747 "regression-compile-tmp/pass1.imp"
exit(0);
#line 2747 "regression-compile-tmp/pass1.imp"
L_0270:;
                                                                //   2748  
                                                                //   2749  %endofprogram
#line 2749 "regression-compile-tmp/pass1.imp"
/* Remove %on %event handler here if present for this block */
return 0;
} // End of block _imp_main at level 1
#line 2749 "regression-compile-tmp/pass1.imp"
// End of file
