#include <perms.h>

                                                                //      1  %externalroutinespec exit %alias "exit" (%integer rc)
#line 1 "regression-compile-tmp/vax-pass2.imp"
extern void EXIT( int RC ) __asm__("exit");
                                                                //      2  
                                                                //      3  %externalroutine{spec} getblock {%alias "GETBLOCK_JSB"} (%integer len, %bytename base)
#line 3 "regression-compile-tmp/vax-pass2.imp"
void GETBLOCK( int LEN, unsigned char /*name*/*BASE )
#line 3 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //      4  %end
#line 4 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETBLOCK at level 1
                                                                //      5  %externalintegerfunction{spec} getlong {%alias "GETLONG_JSB"}
#line 5 "regression-compile-tmp/vax-pass2.imp"
int GETLONG( void )
#line 5 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //      6  %result=0
#line 6 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //      7  %end
#line 7 "regression-compile-tmp/vax-pass2.imp"
} // End of block GETLONG at level 1
                                                                //      8  %externalintegerfunction{spec} getword {%alias "GETWORD_JSB"}
#line 8 "regression-compile-tmp/vax-pass2.imp"
int GETWORD( void )
#line 8 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //      9  %result=0
#line 9 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //     10  %end
#line 10 "regression-compile-tmp/vax-pass2.imp"
} // End of block GETWORD at level 1
                                                                //     11  %externalroutine{spec} get(%integername n)
#line 11 "regression-compile-tmp/vax-pass2.imp"
void GET( int /*name*/*N )
#line 11 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //     12  %end
#line 12 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GET at level 1
                                                                //     13  %externalroutine{spec} put(%integer n)
#line 13 "regression-compile-tmp/vax-pass2.imp"
void PUT( int N )
#line 13 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //     14  %end
#line 14 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUT at level 1
                                                                //     15  %externalroutine{spec} putword(%integer n)
#line 15 "regression-compile-tmp/vax-pass2.imp"
void PUTWORD( int N )
#line 15 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //     16  %end
#line 16 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTWORD at level 1
                                                                //     17  %externalroutine{spec} putlong(%integer n)
#line 17 "regression-compile-tmp/vax-pass2.imp"
void PUTLONG( int N )
#line 17 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //     18  %end
#line 18 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTLONG at level 1
                                                                //     19  %externalroutine{spec} putblock(%integer len, %bytename b)
#line 19 "regression-compile-tmp/vax-pass2.imp"
void PUTBLOCK( int LEN, unsigned char /*name*/*B )
#line 19 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //     20  %end
#line 20 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTBLOCK at level 1
                                                                //     21  !   Computer Science VAX-11 Imp77 Compiler Second Pass
                                                                //     22  !   23rd March 1981
                                                                //     23  !
                                                                //     24  !   Mods by MT June/July 1981:
                                                                //     25  !
                                                                //     26  !      - removed %const<>%name fault
                                                                //     27  !      - fixed problem with definition of externals after %externally
                                                                //     28  !        spec'ing them
                                                                //     29  !      - fixed trouble with ++ and -- : introduction of VMAP
                                                                //     30  !      - improved handling of 1-dimensional arrays (when checks off)
                                                                //     31  !        - better code in general cases (eg. a(j+const); a(const) -> store ref)
                                                                //     32  !        - generation of indexing (base[index]) in appropriate cases
                                                                //     33  !      - fixed bug with moving records > 255 bytes from rec(*) name
                                                                //     34  !      - generates error for untyped record moves
                                                                //     35  !      - fixed general bug with moving/clearing records > 32K
                                                                //     36  !      - improved record element access in several cases (save loading base)
                                                                //     37  !        - ADDRESS, code in ASSEMBLE at C('n'): modified.
                                                                //     38  !      - mod to LOAD to prefer 2-op operations where possible (but this
                                                                //     39  !        should perhaps be removed when - if ever - remembering reg contents
                                                                //     40  !        is implented, since useful information is deleted).
                                                                //     41  !      - fixed (subtle) problem where turning off iovf checks after proc entry
                                                                //     42  !        prevented suitable code to prevent traps on shifts, byte addition
                                                                //     43  !        from being planted: control&16 # 0 => entry mask&iovf bit # 0
                                                                //     44  !      - fixed bug where large quantities of data in gla made array header
                                                                //     45  !        displacement wrong (var_header was %short, changed to %integer)
                                                                //     46  !
                                                                //     47  !   August 81:
                                                                //     48  !
                                                                //     49  !      - fixed %external..%array for cases where aref address not loaded
                                                                //     50  !        into register - was losing XNO.....
                                                                //     51  !
                                                                //     52  !   September 81:
                                                                //     53  !      - extended %prims - skipsymbol/ch etc added
                                                                //     54  !
                                                                //     55  !   October 81:
                                                                //     56  !      - bug fix for  "real = \integer" etc
                                                                //     57  !      - prims extended: PRINTSTRING parameter not now copied to
                                                                //     58  !        work string (but may already be there!)
                                                                //     59  !      - proper assignment checks on string resolution
                                                                //     60  !      - added $_X:: CHARNO (as perm call)
                                                                //     61  !      - %for loop mods
                                                                //     62  !        - constant-bound loops
                                                                //     63  !          - checks for validity at compile-time, no perm-call
                                                                //     64  !        - doesn't call %any perm for no-check case!!
                                                                //     65  !      - string length checking (AT LAST!!!!)
                                                                //     66  !      - checks on size of constants in operations: eg "byte = 257" fails
                                                                //     67  !        at compile time
                                                                //     68  !      - put in compiler-specific perm routines GET, GET WORD, PUT etc
                                                                //     69  !        as JSB-type, for compiler speed..
                                                                //     70  !
                                                                //     71  !   November 81:
                                                                //     72  !      - outlawed other than plain %integer %for control variables!!
                                                                //     73  !      - implemented READSYMBOL/CH for %strings
                                                                //     74  !      - improved code for things like ++ (and effectively similar cases)
                                                                //     75  !      - bug fixes for real constants, %for loops
                                                                //     76  !
                                                                //     77  !   December 81:
                                                                //     78  !      - fixed external refs to ensure PIC code generated (avoid P3
                                                                //     79  !        having to plug reference) ie @external never generated...
                                                                //     80  !      - fixed (obscure) bug in taking the address of a label
                                                                //     81  !      - generates error for ++, -- on string(*), record(*)
                                                                //     82  !
                                                                //     83  !   Known bugs:
                                                                //     84  !
                                                                //     85  !      * %external %routine %spec  x (%routine y)
                                                                //     86  !          - corrupts next declaration
                                                                //     87  !          (this is actually a pass 1 problem and should go away sometime)
                                                                //     88  !      ? Meaning of %for j = x, 0, y %cycle ?
                                                                //     89  !      ? Meaning of ADDR(arrayname), ADDR(array) ?
                                                                //     90  !
                                                                //     91  
                                                                //     92  %control 0
                                                                //     93  
                                                                //     94  ! Include common constants, specs etc
                                                                //     95  
                                                                //     96  !!%include "control.imp"
                                                                //     97  
                                                                //     98  {%systemroutinespec exit %alias "exit" (%integer s)
                                                                //     99  !%external %routine %spec  PUT (%integer n)
                                                                //    100  !%external %routine %spec  PUT WORD (%integer n)
                                                                //    101  !%external %routine %spec  PUT LONG (%integer n)
                                                                //    102  !%external %routine %spec  PUT BLOCK (%integer n, %bytename b)
                                                                //    103  %external %routine {%spec}  SELECT INPUT TANK (%integer n)
#line 103 "regression-compile-tmp/vax-pass2.imp"
void SELECTINPUTTANK( int N )
#line 103 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //    104  %end
#line 104 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SELECTINPUTTANK at level 1
                                                                //    105  %external %routine {%spec}  SELECT OUTPUT TANK (%integer n)
#line 105 "regression-compile-tmp/vax-pass2.imp"
void SELECTOUTPUTTANK( int N )
#line 105 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //    106  %end
#line 106 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SELECTOUTPUTTANK at level 1
                                                                //    107  !%external %routine %spec  GET (%integer %name ch)
                                                                //    108  !%external %routine %spec  GET BLOCK (%integer len, %byte %name b)
                                                                //    109  %external %routine %spec  PRINT RECORD (%integer len, %byte %name buff)
#line 109 "regression-compile-tmp/vax-pass2.imp"
extern void PRINTRECORD( int LEN, unsigned char /*name*/*BUFF );
                                                                //    110  %external %integer %function %spec  LOOK
#line 110 "regression-compile-tmp/vax-pass2.imp"
extern int LOOK( void );
                                                                //    111  !%external %integer %function %spec  GETWORD
                                                                //    112  !%external %integer %function %spec  GETLONG
                                                                //    113  %external %integer %function %spec  TAG %alias "GETLONG";  ! For pass 2
#line 113 "regression-compile-tmp/vax-pass2.imp"
extern int TAG( void ) __asm__("GETLONG");
                                                                //    114  %external %string(63) %function %spec  ITOS (%integer n, p)
#line 114 "regression-compile-tmp/vax-pass2.imp"
extern _imp_string /*%string(63)*/ ITOS( int N, int P );
                                                                //    115  
                                                                //    116  ! streams
                                                                //    117  %const %integer  report      = 0
                                                                //    118  %const %integer  object file = 1
                                                                //    119  %const %integer  listing     = 2
                                                                //    120  %const %integer  diag stream = listing
                                                                //    121  
                                                                //    122  ! miscellaneous
                                                                //    123  %const %integer  max ident = 31;        ! Length for external linkage
                                                                //    124  %const %integer  fatal = 16_1000002C;   ! Error exit code to VMS
                                                                //    125  
                                                                //    126  
                                                                //    127  ! external data (defined in driver)
                                                                //    128  %external %string(6) %spec  version;    ! Compiler version string
#line 128 "regression-compile-tmp/vax-pass2.imp"
extern _imp_string /*%string(6)*/ VERSION;
                                                                //    129  %external %integer %spec  command
#line 129 "regression-compile-tmp/vax-pass2.imp"
extern int COMMAND;
                                                                //    130  %external %integer %spec  control
#line 130 "regression-compile-tmp/vax-pass2.imp"
extern int CONTROL;
                                                                //    131  
                                                                //    132  ! command bit meanings (set by command line)
                                                                //    133  %const %integer  diag bit  = 8_00004
                                                                //    134  %const %integer  line bit  = 8_00010
                                                                //    135  %const %integer  log bit   = 8_00020
                                                                //    136  %const %integer  time bit  = 8_01000
                                                                //    137  %const %integer  entry bit = 8_02000
                                                                //    138  %const %integer  init bit  = 8_04000
                                                                //    139  %const %integer  pic bit   = 8_10000
                                                                //    140  
                                                                //    141  ! control bit meanings  (%control n, or set by driver (/check= etc))
                                                                //    142  ! bit set => check on
                                                                //    143  
                                                                //    144  %const %integer  ass check  =   1;      ! unassigned checking
                                                                //    145  %const %integer  str check  =   2;      ! string capacity checking
                                                                //    146  %const %integer  for check  =   4;      ! %for checking
                                                                //    147  %const %integer  arr check  =   8;      ! array bound checking
                                                                //    148  %const %integer  ovf check  =  16;      ! integer overflow checking
                                                                //    149  %const %integer  rec round  = 128;      ! rounding in records (turns it on)
                                                                //    150  %const %integer  profiling  = 256;      ! call TRACE (line no) at bounds
                                                                //    151  
                                                                //    152  ! object file commands  Pass2 => Pass3
                                                                //    153  
                                                                //    154  %const %integer  obj extern    = 1;     ! insert external entry
                                                                //    155  %const %integer  obj code      = 2;     ! code block
                                                                //    156  %const %integer  obj gla       = 3;     ! gla  block
                                                                //    157  %const %integer  obj pdef      = 4;     ! external proc definition
                                                                //    158  %const %integer  obj pspec     = 5;     ! external proc specification
                                                                //    159  %const %integer  obj ddef      = 6;     ! external data definition
                                                                //    160  %const %integer  obj dspec     = 7;     ! external data specification
                                                                //    161  %const %integer  obj reloc     = 8;     ! relocate gla
                                                                //    162  %const %integer  obj set       = 9;     ! set gla to tag address
                                                                //    163  %const %integer  obj header    = 10;    ! start of procedure
                                                                //    164  %const %integer  obj call      = 11;    ! procedure call
                                                                //    165  %const %integer  obj jump      = 12;    ! jump
                                                                //    166  %const %integer  obj prim spec = 13;    ! prim definition
                                                                //    167  %const %integer  obj end       = 14;    ! end of object file
                                                                //    168  %const %integer  obj line      = 15;    ! line number
                                                                //    169  %const %integer  obj term      = 16;    ! end of block
                                                                //    170  %const %integer  obj diag p    = 17;    ! diags for proc header
                                                                //    171  %const %integer  obj diag v    = 18;    ! diags for variable
                                                                //    172  %const %integer  obj weak      = 19
                                                                //    173  %const %integer  obj b lab     = 20;    ! bxxb in m/code
                                                                //    174  %const %integer  obj w lab     = 21;    ! bxxw in m/code
                                                                //    175  %const %integer  obj glam      = 22;    ! initialise n items in GLA
                                                                //    176  %const %integer  obj modd      = 23;    ! modify displacement
                                                                //    177  %const %integer  obj prim ref  = 24;    ! call to prim
                                                                //    178  %const %integer  obj ext ref   = 25;    ! call to external procedure
                                                                //    179  %const %integer  last obj code = 25
                                                                //    180  
                                                                //    181  ! directive file commands  Pass2 => Pass3
                                                                //    182  
                                                                //    183  %const %integer  dir used      = 1;     ! external used
                                                                //    184  %const %integer  dir ldef      = 2;     ! label definition
                                                                //    185  %const %integer  dir pref      = 3;     ! procedure reference
                                                                //    186  %const %integer  dir cref      = 4;     ! conditional label reference
                                                                //    187  %const %integer  dir uref      = 5;     ! unconditional label reference
                                                                //    188  %const %integer  dir end       = 6;     ! end of procedure
                                                                //    189  %const %integer  dir sizes     = 7;     ! end of directives+sizes
                                                                //    190  %const %integer  dir x end     = 8;     ! end of external entry
                                                                //    191  %const %integer  dir header    = 9;     ! start of procedure
                                                                //    192  %const %integer  dir entry     = 10;    ! define entry label
                                                                //    193  %const %integer  last dir code = 10
                                                                //    194  
                                                                //    195  !!%end %of %file
                                                                //    196  
                                                                //    197  %external %routine  PASS2 (%integer icode, object, directives)
#line 197 "regression-compile-tmp/vax-pass2.imp"
void PASS2( int ICODE, int OBJECT, int DIRECTIVES )
#line 197 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //    198     !
                                                                //    199     ! Aborts:   (* means solution %might be to turn up a size constant)
                                                                //    200     !
                                                                //    201     !     0  unimplemented feature
                                                                //    202     !     1  Operand:      bad base register for operand
                                                                //    203     !     2  Operand:      operation still pending on operand
                                                                //    204     !     3  Release:      register not claimed
                                                                //    205     !     4  Hazard:       bad operand form
                                                                //    206     !     5  Hazard:       register activity inconsistent
                                                                //    207     !  *  6  Descriptor:   no free descriptors
                                                                //    208     !  *  7  Descriptor:   no free descriptor pointers
                                                                //    209     !  *  8  Descriptor:   stack overflow
                                                                //    210     !     9  Drop:         descriptor not on using list
                                                                //    211     !    10  Set both:     stack underflow
                                                                //    212     !    11  Pop lhs:      stack underflow
                                                                //    213     !    12  Pop drop:     stack underflow
                                                                //    214     !    13  Operand:      invalid operand form
                                                                //    215     !  * 14  Define var:   var table overflow
                                                                //    216     !    15  Amap:         cannot take address of object
                                                                //    217     !  * 16  New label:    no labels left
                                                                //    218     !    17  Operate:      stack empty on unary operation
                                                                //    219     !    18  Operate:      stack < 2 deep on binary
                                                                //    220     !    19  Cop:          unexpected operation
                                                                //    221     !    20  For:          non-integer control variable
                                                                //    222     !    21  Assemble:     bad code item
                                                                //    223     !    22  Assemble:     array in record bounds inside-out
                                                                //    224     !    23  Line bound:   stack not empty
                                                                //    225     !    24  Line bound:   using list not empty
                                                                //    226     !    25  Line bound:   regs still active
                                                                //    227     !  * 26  Assemble:     var table overflow
                                                                //    228     !    27  Operand:      cannot perform indexing
                                                                //    229     !    28  Operand:      AP/FP/PC as register operand
                                                                //    230     !  * 29  Work string:  too many temp areas required
                                                                //    231     !    30  Load:         2nd reg for >> or REM is locked
                                                                //    232     !    31  Hazard:       index reg usage inconsistent (hazarding index reg)
                                                                //    233     !    32  Load:         cannot perform real op
                                                                //    234     !    33  Load:         cannot perform integer op
                                                                //    235     !    34  Set cc:       bad comparator specified
                                                                //    236     !    35  Scale index:  invalid length for indexed addressing
                                                                //    237     !    36  Assemble:     bad symbol after '~' (ie. not {A, B, C})
                                                                //    238     !    37  Load:         bad register
                                                                //    239     !    38  Hazard:       index register use inconsistent
                                                                //    240     !    39  Line bound:   index reg still active
                                                                //    241     !    40  Claim:        bad register for index
                                                                //    242     !    41  Release:      " "  " "  "  "  "  "
                                                                //    243     !    42  Release:      released index reg is locked
                                                                //    244     !    43  Release:      released index reg but no indexing active
                                                                //    245     !    44  Release:      released index reg not claimed as index
                                                                //    246     !    45  Record sel:   invalid form for base record
                                                                //    247     !    46  Address:      bad form for indexed operand
                                                                //    248     !    47  Call:         operation pending on READSYMBOL parameter
                                                                //    249     !    48  Set modulus:  constant not %longreal %or %integer
                                                                //    250     !
                                                                //    251     !================================================================
                                                                //    252     !
                                                                //    253     ! %diagnose significance
                                                                //    254     !
                                                                //    255     !   diag bit:      monitors:
                                                                //    256     !            1  =  stack procedures
                                                                //    257     !            2  =  load
                                                                //    258     !            4  =  hazard/claim/release
                                                                //    259     !            8  =  assign/array ref
                                                                //    260     !           16  =  call/push
                                                                //    261     !           32  =  address
                                                                //    262     !           64  =  amap/vmap
                                                                //    263     !          128  =  put code/operand
                                                                //    264     !          256  =  operate
                                                                //    265     !
                                                                //    266     !         2048  =  I-code main symbols
                                                                //    267     !         4096  =  stack dump on MONITOR
                                                                //    268     !         8192  =  %monitor on MONITOR
                                                                //    269     !
                                                                //    270  
                                                                //    271     %own %integer  original control
#line 271 "regression-compile-tmp/vax-pass2.imp"
static int ORIGINALCONTROL;
                                                                //    272                    original control = control
#line 272 "regression-compile-tmp/vax-pass2.imp"
ORIGINALCONTROL = CONTROL;
                                                                //    273  
                                                                //    274     %own   %integer  diag = 0
#line 274 "regression-compile-tmp/vax-pass2.imp"
static int DIAG = 0;
                                                                //    275  
                                                                //    276     %const %integer  mainrt = 1, mainfn = 2
                                                                //    277  
                                                                //    278     ! Size constants +++++++++++++++++++++  associated aborts
                                                                //    279  
                                                                //    280     %const %integer  max vars   = 2000;   ! 14, 26   : var table size
                                                                //    281     %const %integer  max labels = 120;    ! 16       : # active internal labs
                                                                //    282     %const %integer  max depth  = 16;     ! 8        : depth of descr stack
                                                                //    283     %const %integer  max stack  = 25;     ! 6, 7     : # in-use descriptors
                                                                //    284     %const %integer  max work   = 12;     ! 29       : # active work strings
                                                                //    285  
                                                                //    286  !register definition
                                                                //    287  
                                                                //    288     %const %integer  r0      = 1;             !used in prim
                                                                //    289     %const %integer  r1      = 2;             !used in prim
                                                                //    290     %const %integer  r2      = 3;             !used in prim
                                                                //    291     %const %integer  r3      = 4;             !used in prim
                                                                //    292     %const %integer  r4      = 5;             !used in prim
                                                                //    293     %const %integer  r5      = 6;             !used in prim
                                                                //    294     %const %integer  r6      = 7;             !base register (level 1)
                                                                //    295     %const %integer  r7      = 8;             !base register (level 2)
                                                                //    296     %const %integer  r8      = 9;             !base register (level 3)
                                                                //    297     %const %integer  r9      = 10;            !base register (level 4)
                                                                //    298     %const %integer  r10     = 11
                                                                //    299     %const %integer  gla     = 12;            !r11 = gla base
                                                                //    300     %const %integer  ap      = 13;            !argument pointer (r12)
                                                                //    301     %const %integer  fp      = 14;            !frame pointer (lnb)
                                                                //    302     %const %integer  sp      = 15;            !stack pointer (r14)
                                                                //    303     %const %integer  pc      = 16;            !program counter (r15)
                                                                //    304     %const %integer  any     = 17;            !any general register
                                                                //    305  
                                                                //    306     %const %integer  fpr0    = 18
                                                                //    307     %const %integer  fpr2    = 19
                                                                //    308     %const %integer  fpr4    = 20
                                                                //    309  
                                                                //    310     %const %integer  pending = 22;            !spec pending
                                                                //    311  
                                                                //    312     %const %short %array  actual reg (0 : 20) =
#line 312 "regression-compile-tmp/vax-pass2.imp"
const short ACTUALREG[21] = { (-1), 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, 0, 2, 4,  };
                                                                //    313        -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
                                                                //    314        13, 14, 15, 0, 0, 2, 4
                                                                //    315  
                                                                //    316     %const %short %array  reg mask (0 : 20) =
#line 316 "regression-compile-tmp/vax-pass2.imp"
const short REGMASK[21] = { 0, 0, 0, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 0, 0, 0, 0, 0, 0, 12, 48,  };
                                                                //    317        0, 0, 0, 4, 8, 16_10, 16_20, 16_40, 16_80,
                                                                //    318        16_100, 16_200, 16_400, 16_800, 0, 0, 0, 0, 0, 0,
                                                                //    319        16_c, 16_30
                                                                //    320  
                                                                //    321     %const %integer  iovf bit = 16_4000;! Set in entry mask to enable IOVF trap
                                                                //    322  
                                                                //    323     %const %byte %array  base reg (-1 : 6) =
#line 323 "regression-compile-tmp/vax-pass2.imp"
const unsigned char BASEREG[8] = { 13, 13, 7, 8, 9, 10, 13, 13,  };
                                                                //    324        ap, ap, r6, r7, r8, r9, ap, ap
                                                                //    325  
                                                                //    326     !types and precisions
                                                                //    327  
                                                                //    328     %const %integer integers = 16_10
                                                                //    329     %const %integer byte     = 2;     !unsigned byte
                                                                //    330     %const %integer short    = 1;     !signed   halfword
                                                                //    331     %const %integer long     = 5;     !longinteger
                                                                //    332     %const %integer reals    = 16_23, reall = 16_24, real bit = 16_20
                                                                //    333     %const %integer strings  = 16_40, in work = 4
                                                                //    334     %const %integer records  = 16_80
                                                                //    335  
                                                                //    336     %const %integer null string = 24;     !disp of null string in gla
                                                                //    337  
                                                                //    338     !data forms
                                                                //    339  
                                                                //    340     %const %integer jump   = 0;         !cond code for jump
                                                                //    341     %const %integer switch = 6
                                                                //    342     %const %integer recfm  = 4
                                                                //    343  
                                                                //    344     %const %integer proc bit      = 16
                                                                //    345     %const %integer array bit     = 32
                                                                //    346     %const %integer arrayname bit = 64
                                                                //    347     %const %integer indirect bit  = 128
                                                                //    348  
                                                                //    349     %const %integer constant  = 0
                                                                //    350     %const %integer  v in r   = 1;   !variable in register
                                                                //    351     %const %integer  v in s   = 2;   !variable in store
                                                                //    352     %const %integer av in s   = 3;   !address of variable in store
                                                                //    353     %const %integer  a in s   = 4;   !address in store (indirect)
                                                                //    354     %const %integer rec mod   = 3;   ! x in rec = x in s + rec mod
                                                                //    355     %const %integer  v in rec = 5;   !variable in record (+extra)
                                                                //    356     %const %integer av in rec = 6;   !address of variable in record (+extra)
                                                                //    357     %const %integer  a in rec = 7;   !address in record (indirect+extra)
                                                                //    358  
                                                                //    359     !form flags
                                                                //    360  
                                                                //    361     %const %integer indexed = 1,    { base[index] }
                                                                //    362                     x defer = 2,    {(with indexed) @base[index]  - arrayname}
                                                                //    363                     auto i  = 4,
                                                                //    364                     auto d  = 8
                                                                //    365  
                                                                //    366  
                                                                //    367     %const %byte %array  fmap (0 : 15) =
#line 367 "regression-compile-tmp/vax-pass2.imp"
const unsigned char FMAP[16] = { 0, 2, 132, 15, 4, 0, 6, 16, 17, 18, 16, 34, 66, 164, 196, 0,  };
                                                                //    368        0,    vins,   ains+indirect bit,
                                                                //    369       {null  scalar  name}
                                                                //    370        15, recfm, 0, switch,
                                                                //    371       {3    4    5     6}
                                                                //    372        procbit, vinr+procbit, vins+procbit, procbit,
                                                                //    373       {routine  function      map           pred}
                                                                //    374        vins+arraybit,   vins+arrayname bit,
                                                                //    375       {array            arrayname}
                                                                //    376        ains+array bit+indirect bit,
                                                                //    377       {namearray}
                                                                //    378        ains+arrayname bit+indirect bit,
                                                                //    379       {namearrayname}
                                                                //    380        0
                                                                //    381       {null}
                                                                //    382  
                                                                //    383  
                                                                //    384     !operators
                                                                //    385  
                                                                //    386     %const %integer  not  = 7
                                                                //    387     %const %integer  neg  = 8
                                                                //    388     %const %integer  add  = 9
                                                                //    389     %const %integer  sub  = 10
                                                                //    390     %const %integer  bsub = 11
                                                                //    391     %const %integer  bic  = 12
                                                                //    392     %const %integer  or   = 13
                                                                //    393     %const %integer  xor  = 14
                                                                //    394     %const %integer  lsh  = 15
                                                                //    395     %const %integer  rsh  = 16
                                                                //    396     %const %integer  div  = 17
                                                                //    397     %const %integer  bslh = 18
                                                                //    398     %const %integer  brsh = 19
                                                                //    399     %const %integer  bdiv = 20
                                                                //    400     %const %integer  exp  = 21
                                                                //    401     %const %integer  rexp = 22
                                                                //    402     %const %integer  rdiv = 23
                                                                //    403     %const %integer  bexp = 24
                                                                //    404     %const %integer  brexp= 25
                                                                //    405     %const %integer  brdiv= 26
                                                                //    406     %const %integer  mul  = 27
                                                                //    407     %const %integer  remy = 28
                                                                //    408     %const %integer  brem = 29
                                                                //    409  
                                                                //    410     !primitive routines
                                                                //    411  
                                                                //    412     %const %integer  prim rts          = 26; ! number of last routine
                                                                //    413  
                                                                //    414     %const %integer  set dv            =  1; ! A  create dope vect on stack
                                                                //    415     %const %integer  adec              =  2; ! B  declare array space
                                                                //    416     %const %integer  test ass          =  3; ! C  %signal if unassigned
                                                                //    417  !  %const %integer                    =  4; ! D  set up %for block (old)
                                                                //    418  !  %const %integer                    =  5; ! E  V6 resolution
                                                                //    419     %const %integer  check resolution  =  6; ! F  %signal if res fails
                                                                //    420  !  %const %integer  for test          =  7; ! G  test %for validity
                                                                //    421     %const %integer  stop              =  8; ! H  %signal 0, 0, 0
                                                                //    422  !  %const %integer  smove             =  9; ! I  unused!!!!!
                                                                //    423     %const %integer  for test          = 10; ! J  ** new %for test
                                                                //    424     %const %integer  scomp             = 11; ! K  compare strings lexically
                                                                //    425     %const %integer  monit             = 12; ! L  call diag routine
                                                                //    426     %const %integer  proc enter        = 13; ! M  call proc param
                                                                //    427     %const %integer  exp int           = 14; ! N  integer exponentiation
                                                                //    428     %const %integer  exp real          = 15; ! O  real exponentiation
                                                                //    429     %const %integer  signal            = 16; ! P  %signal
                                                                //    430     %const %integer  arefn             = 17; ! Q  multi-dim array ref
                                                                //    431     %const %integer  a ref             = 18; ! R  single dim array ref (check)
                                                                //    432     %const %integer  sw jump           = 19; ! S  switch jump
                                                                //    433     %const %integer  rch               = 20; ! T  read ch
                                                                //    434     %const %integer  rsym              = 21; ! U  read symbol
                                                                //    435     %const %integer  pch               = 22; ! V  print ch
                                                                //    436     %const %integer  psym              = 23; ! W  print symbol
                                                                //    437     %const %integer  char num          = 24; ! X  charno (checks range)
                                                                //    438     %const %integer  test string ovf   = 25; ! Y  string length check
                                                                //    439     %const %integer  resolution        = 26; ! Z  perform resolution
                                                                //    440  
                                                                //    441     %const %byte %array  prim mask (1 : primrts) =
#line 441 "regression-compile-tmp/vax-pass2.imp"
const unsigned char PRIMMASK[26] = { 60, 32, 0, 0, 60, 0, 0, 0, 0, 0, 60, 0, 0, 0, 60, 0, 60, 8, 0, 12, 12, 12, 12, 0, 0, 0,  };
                                                                //    442        16_3C, 16_20, 16_00, 16_00, 16_3C,
                                                                //    443        16_00, 16_00, 16_00, 16_00, 16_00,
                                                                //    444        16_3C, 16_00, 16_00, 16_00, 16_3C,
                                                                //    445        16_00, 16_3C, 16_08, 16_00, 16_0C,
                                                                //    446        16_0C, 16_0C, 16_0C, 16_00, 16_00,
                                                                //    447        16_00
                                                                //    448  
                                                                //    449     !opcode flag bits
                                                                //    450  
                                                                //    451     %const %integer one bit = 16_0100,     {one operand}
                                                                //    452                     two bit = 16_0200,     {two operand}
                                                                //    453                     add bit = 16_0400,     {add operation}
                                                                //    454                     sub bit = 16_0800,     {subtract operation}
                                                                //    455                    addr bit = 16_1000,     {address operation}
                                                                //    456                    move bit = 16_2000,     {move operation}
                                                                //    457                     commute = 16_4000,     {commutative op}
                                                                //    458                  reversible = 16_8000      {order of operands unimportant}
                                                                //    459  
                                                                //    460     %const %integer  no short  = 16_10000;  ! use char instr in STRING3
                                                                //    461     %const %integer  len check = 16_20000;  ! check length on string op
                                                                //    462     %const %integer  no ass chk = 16_40000  {omit string assigned check}
                                                                //    463  
                                                                //    464     !opcodes
                                                                //    465  
                                                                //    466     %const %integer  movl   = 1*8+move bit+one bit+two bit
                                                                //    467     %const %integer  mnegl  = 0*8
                                                                //    468     %const %integer  mcoml  = 3*8
                                                                //    469     %const %integer  addl   = 14*8+add bit+one bit+two bit+commute
                                                                //    470     %const %integer  subl   = 15*8+sub bit+one bit+two bit
                                                                //    471     %const %integer  bicl   = 18*8+two bit
                                                                //    472     %const %integer  bisl   = 19*8+two bit+commute
                                                                //    473     %const %integer  xorl   = 20*8+two bit+commute
                                                                //    474     %const %integer  bitl   = 21*8+commute+reversible
                                                                //    475     %const %integer  mull   = 16*8+two bit+commute
                                                                //    476     %const %integer  divl   = 17*8+two bit
                                                                //    477     %const %integer  moval  = 2*8+addr bit, movab = moval+2
                                                                //    478     %const %integer  clrl   = 6*8
                                                                //    479  
                                                                //    480     %const %integer  tstl   = 29*8
                                                                //    481     %const %integer  cmpl   = 30*8, cmpd = cmpl+4, cmpw = cmpl+1
                                                                //    482  
                                                                //    483     %const %integer  calls  = 0*8+7
                                                                //    484     %const %integer  jsb    = 1*8+7
                                                                //    485     %const %integer  ret    = 2*8+7
                                                                //    486  
                                                                //    487     %const %integer  sobgtr = 12*8+7
                                                                //    488  
                                                                //    489     %const %integer  ashq   = 17*8+6
                                                                //    490     %const %integer  ashl   = 17*8+5
                                                                //    491     %const %integer  ediv   = 17*8+7
                                                                //    492  
                                                                //    493     %const %integer  incl   = 12*8
                                                                //    494     %const %integer  movzbl = 9*8,   movzwl = 9*8+7
                                                                //    495     %const %integer  movq   = 1*8+5, movw = movl+1, movb = movl+2
                                                                //    496     %const %integer  movd   = 1*8+4, movf = 1*8+3
                                                                //    497     %const %integer  pushal = 5*8 + addr bit
                                                                //    498     %const %integer  pushl  = 4*8
                                                                //    499  
                                                                //    500     %const %integer  movc3  = 3*8+6, cmpc3 = 30*8+6
                                                                //    501     %const %integer  movc5  = 3*8+7
                                                                //    502  
                                                                //    503     %const %integer  mnegd  = mnegl+4
                                                                //    504     %const %integer  addd   = addl+4, addb2 = addl+2
                                                                //    505     %const %integer  subd   = subl+4
                                                                //    506     %const %integer  muld   = mull+4
                                                                //    507     %const %integer  divd   = divl+4
                                                                //    508  
                                                                //    509     %const %integer  cvtlw  = 7*8+1
                                                                //    510     %const %integer  cvtld  = 7*8+4
                                                                //    511     %const %integer  movpsl = 4*8+7
                                                                //    512     %const %integer  extzv  = 10*8+7, extv = 11*8+7
                                                                //    513  
                                                                //    514     ! sundry actual op-codes
                                                                //    515     %const %integer  bicpsw vbit = 16_20B9;  ! Clear V-bit in PSW
                                                                //    516     %const %integer  bispsw vbit = 16_20B8;  !   Set V-bit in PSW
                                                                //    517     %const %integer  bgeq        = 16_18;    ! Branch if >= (0), for |X|
                                                                //    518  
                                                                //    519     %const %integer  three op = 8*8
                                                                //    520  
                                                                //    521     %record %format  varfm (%c
#line 521 "regression-compile-tmp/vax-pass2.imp"
typedef struct VARFM VARFM;
struct VARFM {
  int DISP;
  int LENGTH;
  int EXTRA;
  int ZEROAD;
  int HEADER;
  short FORMAT;
  short XNO;
  unsigned char TYPE;
  unsigned char FORM;
  unsigned char BASE;
  unsigned char FLAGS;
};
                                                                //    522        %integer  disp, length, extra, zeroad, header,
                                                                //    523        %short  format, xno,
                                                                //    524        %byte  type, form, base, flags)
                                                                //    525  
                                                                //    526     %record %format  stackfm (%c
#line 526 "regression-compile-tmp/vax-pass2.imp"
typedef struct STACKFM STACKFM;
struct STACKFM {
  int DISP;
  int MANTISSA;
  double LRVAL;
  int EXTRA;
  int LENGTH;
  int HEADER;
  short FORMAT;
  short XNO;
  unsigned char TYPE;
  unsigned char FORM;
  unsigned char BASE;
  unsigned char OPER;
  unsigned char FLAGS;
  unsigned char INDEX;
  unsigned char ISCALE;
   STACKFM /*name*/*LINK;
};
                                                                //    527        (%integer  disp, mantissa %or %longreal lrval),
                                                                //    528        %integer extra, length, header,
                                                                //    529        %short  format, xno,
                                                                //    530        %byte  type, form, base, oper, flags, index, iscale,
                                                                //    531        %record(stackfm) %name link )
                                                                //    532  
                                                                //    533     !data formats
                                                                //    534  
                                                                //    535     %record %format  dfm (%record(stackfm) %name  d, %record(dfm) %name  link)
#line 535 "regression-compile-tmp/vax-pass2.imp"
typedef struct DFM DFM;
struct DFM {
   STACKFM /*name*/*D;
   DFM /*name*/*LINK;
};
                                                                //    536     %record %format  labelfm (%short  id, tag)
#line 536 "regression-compile-tmp/vax-pass2.imp"
typedef struct LABELFM LABELFM;
struct LABELFM {
  short ID;
  short TAG;
};
                                                                //    537  
                                                                //    538     %own %integer  specs        = 0;       !size of spec area (code)
#line 538 "regression-compile-tmp/vax-pass2.imp"
static int SPECS = 0;
                                                                //    539     %own %integer  ca           = 0;       !current code address
#line 539 "regression-compile-tmp/vax-pass2.imp"
static int CA = 0;
                                                                //    540     %own %integer  ga           = 0;       !current gla address
#line 540 "regression-compile-tmp/vax-pass2.imp"
static int GA = 0;
                                                                //    541     %own %integer  cp           = 0;       !code buffer pointer
#line 541 "regression-compile-tmp/vax-pass2.imp"
static int CP = 0;
                                                                //    542     %own %integer  gp           = 0;       !gla buffer pointer
#line 542 "regression-compile-tmp/vax-pass2.imp"
static int GP = 0;
                                                                //    543     %own %integer  diag lines   = 0;       !size of line info
#line 543 "regression-compile-tmp/vax-pass2.imp"
static int DIAGLINES = 0;
                                                                //    544     %own %integer  diag size    = 0;       !size of diag tables
#line 544 "regression-compile-tmp/vax-pass2.imp"
static int DIAGSIZE = 0;
                                                                //    545     %own %integer  sym          = 0;       !current code symbol
#line 545 "regression-compile-tmp/vax-pass2.imp"
static int SYM = 0;
                                                                //    546     %own %integer  code         = 0;       !current coded code symbol
#line 546 "regression-compile-tmp/vax-pass2.imp"
static int CODE = 0;
                                                                //    547     %own %integer  errors       = 0;       !total errors
#line 547 "regression-compile-tmp/vax-pass2.imp"
static int ERRORS = 0;
                                                                //    548     %own %integer  line error   = 0;       !flag for errors on this line
#line 548 "regression-compile-tmp/vax-pass2.imp"
static int LINEERROR = 0;
                                                                //    549     %own %integer  current line = 0
#line 549 "regression-compile-tmp/vax-pass2.imp"
static int CURRENTLINE = 0;
                                                                //    550     %own %integer  stp          = 0
#line 550 "regression-compile-tmp/vax-pass2.imp"
static int STP = 0;
                                                                //    551     %own %integer  data size    = 0
#line 551 "regression-compile-tmp/vax-pass2.imp"
static int DATASIZE = 0;
                                                                //    552     %own %integer  ivbit state  = 0;       ! for overflow masking
#line 552 "regression-compile-tmp/vax-pass2.imp"
static int IVBITSTATE = 0;
                                                                //    553     %own %integer  entry mask   = 0;       !proc entry mask
#line 553 "regression-compile-tmp/vax-pass2.imp"
static int ENTRYMASK = 0;
                                                                //    554     %own %integer  frame        = 0;       !current stack frame limit
#line 554 "regression-compile-tmp/vax-pass2.imp"
static int FRAME = 0;
                                                                //    555     %own %integer  last local;             !local limit for unass check
#line 555 "regression-compile-tmp/vax-pass2.imp"
static int LASTLOCAL;
                                                                //    556     %own %integer  level        = -1
#line 556 "regression-compile-tmp/vax-pass2.imp"
static int LEVEL = (-1);
                                                                //    557     %own %integer  unsigned     = 0
#line 557 "regression-compile-tmp/vax-pass2.imp"
static int UNSIGNED = 0;
                                                                //    558     %own %integer  invert       = 0;       !condition inversion flag
#line 558 "regression-compile-tmp/vax-pass2.imp"
static int INVERT = 0;
                                                                //    559     %own %integer  uncond jump  = 0
#line 559 "regression-compile-tmp/vax-pass2.imp"
static int UNCONDJUMP = 0;
                                                                //    560     %own %integer  last movc3   = -1;      !address of MOVC3
#line 560 "regression-compile-tmp/vax-pass2.imp"
static int LASTMOVC3 = (-1);
                                                                //    561     %own %integer  gmode        = 0;       !parameter-format flag
#line 561 "regression-compile-tmp/vax-pass2.imp"
static int GMODE = 0;
                                                                //    562     %own %integer  gtype        = 0;       !    do.
#line 562 "regression-compile-tmp/vax-pass2.imp"
static int GTYPE = 0;
                                                                //    563     %own %integer  last ref     = 0
#line 563 "regression-compile-tmp/vax-pass2.imp"
static int LASTREF = 0;
                                                                //    564     %own %integer  evno         = 0;       !event trap counter
#line 564 "regression-compile-tmp/vax-pass2.imp"
static int EVNO = 0;
                                                                //    565     %own %integer  ownval, mantissa;       !***Own and order critical***
#line 565 "regression-compile-tmp/vax-pass2.imp"
static int OWNVAL;
#line 565 "regression-compile-tmp/vax-pass2.imp"
static int MANTISSA;
                                                                //    566     %own %integer  discard
#line 566 "regression-compile-tmp/vax-pass2.imp"
static int DISCARD;
                                                                //    567     %own %integer  index regs   = 0
#line 567 "regression-compile-tmp/vax-pass2.imp"
static int INDEXREGS = 0;
                                                                //    568     %own %integer  active regs  = 0
#line 568 "regression-compile-tmp/vax-pass2.imp"
static int ACTIVEREGS = 0;
                                                                //    569     %integer  parms = max vars+1;          !start of parameter area
#line 569 "regression-compile-tmp/vax-pass2.imp"
int PARMS;
#line 569 "regression-compile-tmp/vax-pass2.imp"
PARMS = 2001;
                                                                //    570     %integer  local = 0;                   !local base register
#line 570 "regression-compile-tmp/vax-pass2.imp"
int LOCAL;
#line 570 "regression-compile-tmp/vax-pass2.imp"
LOCAL = 0;
                                                                //    571     %integer  otype, potype = 0
#line 571 "regression-compile-tmp/vax-pass2.imp"
int OTYPE;
#line 571 "regression-compile-tmp/vax-pass2.imp"
int POTYPE;
#line 571 "regression-compile-tmp/vax-pass2.imp"
POTYPE = 0;
                                                                //    572     %integer  decl;                        !last descriptor index
#line 572 "regression-compile-tmp/vax-pass2.imp"
int DECL;
                                                                //    573     %integer  owntype, ownform
#line 573 "regression-compile-tmp/vax-pass2.imp"
int OWNTYPE;
#line 573 "regression-compile-tmp/vax-pass2.imp"
int OWNFORM;
                                                                //    574     %integer  spec
#line 574 "regression-compile-tmp/vax-pass2.imp"
int SPEC;
                                                                //    575     %integer  vlb, vub;                    !vector bounds
#line 575 "regression-compile-tmp/vax-pass2.imp"
int VLB;
#line 575 "regression-compile-tmp/vax-pass2.imp"
int VUB;
                                                                //    576     %integer  j, n
#line 576 "regression-compile-tmp/vax-pass2.imp"
int J;
#line 576 "regression-compile-tmp/vax-pass2.imp"
int N;
                                                                //    577  
                                                                //    578     %const %record(*) %name  null == 0
#line 578 "regression-compile-tmp/vax-pass2.imp"
const  void /*name*/*NULL = { 0 } /* Initialise all fields of a record to 0. */;
                                                                //    579  
                                                                //    580     %record(stackfm) %name  lhs, rhs
#line 580 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*LHS;
#line 580 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*RHS;
                                                                //    581     %record(stackfm) %name desc asl
#line 581 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*DESCASL;
                                                                //    582     %record(dfm) %name dasl
#line 582 "regression-compile-tmp/vax-pass2.imp"
 DFM /*name*/*DASL;
                                                                //    583     %record(dfm) using
#line 583 "regression-compile-tmp/vax-pass2.imp"
 DFM USING;
                                                                //    584     %record(varfm) %name decvar
#line 584 "regression-compile-tmp/vax-pass2.imp"
 VARFM /*name*/*DECVAR;
                                                                //    585     %record(varfm) %name  formal, actual
#line 585 "regression-compile-tmp/vax-pass2.imp"
 VARFM /*name*/*FORMAL;
#line 585 "regression-compile-tmp/vax-pass2.imp"
 VARFM /*name*/*ACTUAL;
                                                                //    586  
                                                                //    587     %own %byte %array  code buffer (1 : 128)
#line 587 "regression-compile-tmp/vax-pass2.imp"
static unsigned char CODEBUFFER[128];
                                                                //    588     %own %byte %array  gla  buffer (1 : 128)
#line 588 "regression-compile-tmp/vax-pass2.imp"
static unsigned char GLABUFFER[128];
                                                                //    589  
                                                                //    590     %own %record(varfm)  begin
#line 590 "regression-compile-tmp/vax-pass2.imp"
static  VARFM BEGIN;
                                                                //    591  
                                                                //    592     %external %string(max ident) %spec  entryname
#line 592 "regression-compile-tmp/vax-pass2.imp"
extern _imp_string /*%string(31)*/ ENTRYNAME;
                                                                //    593     %own %string(255) text;                !for string constants
#line 593 "regression-compile-tmp/vax-pass2.imp"
static _imp_string /*%string(255)*/ TEXT;
                                                                //    594     %own %string(max ident)  external name, alias, var name
#line 594 "regression-compile-tmp/vax-pass2.imp"
static _imp_string /*%string(31)*/ EXTERNALNAME;
#line 594 "regression-compile-tmp/vax-pass2.imp"
static _imp_string /*%string(31)*/ ALIAS;
#line 594 "regression-compile-tmp/vax-pass2.imp"
static _imp_string /*%string(31)*/ VARNAME;
                                                                //    595  
                                                                //    596     %own %record(stackfm) %array  regv (r0 : fpr4)
#line 596 "regression-compile-tmp/vax-pass2.imp"
static  STACKFM REGV[20];
                                                                //    597     %own %integer %array  activity (0 : fpr4) = 0(*)
#line 597 "regression-compile-tmp/vax-pass2.imp"
static int ACTIVITY[21] = { [0 ... 20] = 0 };
                                                                //    598     %own %integer %array  used     (0 : fpr4) = 0(*)
#line 598 "regression-compile-tmp/vax-pass2.imp"
static int USED[21] = { [0 ... 20] = 0 };
                                                                //    599     %own %byte    %array  indx     (r0 : r10)  = 0(*)
#line 599 "regression-compile-tmp/vax-pass2.imp"
static unsigned char INDX[11] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  };
                                                                //    600  
                                                                //    601     %record(stackfm)  head, dope, zeroth
#line 601 "regression-compile-tmp/vax-pass2.imp"
 STACKFM HEAD;
#line 601 "regression-compile-tmp/vax-pass2.imp"
 STACKFM DOPE;
#line 601 "regression-compile-tmp/vax-pass2.imp"
 STACKFM ZEROTH;
                                                                //    602     %record(stackfm)  zero v
#line 602 "regression-compile-tmp/vax-pass2.imp"
 STACKFM ZEROV;
                                                                //    603     %record(stackfm)  gla work;       !used for clearing records
#line 603 "regression-compile-tmp/vax-pass2.imp"
 STACKFM GLAWORK;
                                                                //    604     %record(stackfm)  spv;            ! => -(SP) operand
#line 604 "regression-compile-tmp/vax-pass2.imp"
 STACKFM SPV;
                                                                //    605  
                                                                //    606     %record(stackfm) %name %array  stacked (1 : max depth)
#line 606 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*STACKED[16];
                                                                //    607     %record(dfm) %array  dlist (0 : max stack)
#line 607 "regression-compile-tmp/vax-pass2.imp"
 DFM DLIST[26];
                                                                //    608     %record(stackfm) %array  stak (0 : max stack)
#line 608 "regression-compile-tmp/vax-pass2.imp"
 STACKFM STAK[26];
                                                                //    609     %record(labelfm) %array  labels (1 : max labels)
#line 609 "regression-compile-tmp/vax-pass2.imp"
 LABELFM LABELS[120];
                                                                //    610     %record(varfm) %array  var (0 : max vars)
#line 610 "regression-compile-tmp/vax-pass2.imp"
 VARFM VAR[2001];
                                                                //    611  
                                                                //    612  
                                                                //    613     %const %short %array  op map (add : brem) =
#line 613 "regression-compile-tmp/vax-pass2.imp"
const short OPMAP[21] = { 18352, 3000, 0, 720, 17112, 17120, 0, 0, 712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17088, 0, 0,  };
                                                                //    614        addl+three op, subl+three op, 0, bicl+three op,
                                                                //    615        bisl+three op, xorl+three op, 0, 0,
                                                                //    616        divl+three op, 0(9), mull+three op, 0(2)
                                                                //    617  
                                                                //    618     !0 = ok, 1 = same, 2 = never
                                                                //    619     %const %byte %array  trans (add : brem) =
#line 619 "regression-compile-tmp/vax-pass2.imp"
const unsigned char TRANS[21] = { 0, 0, 0, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2,  };
                                                                //    620              0, 0,
                                                                //    621        0, 2, 1, 1,
                                                                //    622        2, 2, 2, 2,
                                                                //    623        2, 2, 2, 2,
                                                                //    624        2, 2, 2, 2,
                                                                //    625        1, 2, 2
                                                                //    626  
                                                                //    627     %const %byte %array  comm (add : brem) =
#line 627 "regression-compile-tmp/vax-pass2.imp"
const unsigned char COMM[21] = { 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,  };
                                                                //    628              1, 0,
                                                                //    629        0, 0, 1, 1,
                                                                //    630        0, 0, 0, 0,
                                                                //    631        0, 0, 0, 0,
                                                                //    632        0, 0, 0, 0,
                                                                //    633        1, 0, 0
                                                                //    634  
                                                                //    635     %const %integer  no null = 2
                                                                //    636  
                                                                //    637     ! values of RH for which LH oper RH = LH:   2 => no value
                                                                //    638     %const %integer %array  rnull op (add : brem) =
#line 638 "regression-compile-tmp/vax-pass2.imp"
const int RNULLOP[21] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 2, 1, 1, 1, 2, 2, 2, 1, 2, 2,  };
                                                                //    639              0, 0,
                                                                //    640        0, 0, 0, 0,
                                                                //    641        0, 0, 1, 0,
                                                                //    642        2, 2, 1, 1,
                                                                //    643        1, 2, 2, 2,
                                                                //    644        1, 2, 2
                                                                //    645  
                                                                //    646     ! values of LH for which LH oper RH = RH:   2 => no value
                                                                //    647     %const %integer %array  lnull op (add : brem) =
#line 647 "regression-compile-tmp/vax-pass2.imp"
const int LNULLOP[21] = { 0, 2, 0, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2,  };
                                                                //    648              0, 2,
                                                                //    649        0, 2, 0, 0,
                                                                //    650        2, 2, 2, 2,
                                                                //    651        2, 2, 2, 2,
                                                                //    652        2, 2, 2, 2,
                                                                //    653        1, 2, 2
                                                                //    654  
                                                                //    655  !   %const %byte %array  op real (not : brem) =
                                                                //    656  !      0, 1, 1, 1,
                                                                //    657  !      0, 0, 0, 0,
                                                                //    658  !      0, 0, 0, 0,
                                                                //    659  !      0, 0, 0, 1,
                                                                //    660  !      1, 0, 0, 0,
                                                                //    661  !      1, 0, 0
                                                                //    662  
                                                                //    663     %const %string(4) %array  op name (not : brem) =
#line 663 "regression-compile-tmp/vax-pass2.imp"
const _imp_string /*%string(4)*/ OPNAME[23] = { _imp_str_literal("U\\"), _imp_str_literal("U-"), _imp_str_literal("+"), _imp_str_literal("-"), _imp_str_literal("B-"), _imp_str_literal("BIC"), _imp_str_literal("!"), _imp_str_literal("!!"), _imp_str_literal("<<"), _imp_str_literal(">>"), _imp_str_literal("//"), _imp_str_literal("B<<"), _imp_str_literal("B>>"), _imp_str_literal("B/"), _imp_str_literal("^^"), _imp_str_literal("^"), _imp_str_literal("/"), _imp_str_literal("B^^"), _imp_str_literal("B^"), _imp_str_literal("B/"), _imp_str_literal("*"), _imp_str_literal("REM"), _imp_str_literal("BREM"),  };
                                                                //    664        "U\",  "U-",  "+",   "-",
                                                                //    665        "B-",  "BIC", "!",   "!!",
                                                                //    666        "<<",  ">>",  "//",  "B<<",
                                                                //    667        "B>>", "B/",  "^^",  "^",
                                                                //    668        "/",   "B^^", "B^",  "B/",
                                                                //    669        "*",   "REM", "BREM"
                                                                //    670  
                                                                //    671     !opcode table
                                                                //    672  
                                                                //    673     %const %byte %array  op code (0 : 31*8-1) =
#line 673 "regression-compile-tmp/vax-pass2.imp"
const unsigned char OPCODE[248] = { 206, 174, 142, 82, 114, 0, 0, 251, 208, 176, 144, 80, 112, 125, 0, 22, 222, 62, 158, 222, 126, 126, 0, 4, 210, 178, 146, 0, 0, 0, 40, 44, 221, 0, 0, 0, 0, 0, 0, 220, 223, 63, 159, 223, 127, 127, 0, 0, 212, 180, 148, 212, 124, 124, 0, 0, 208, 247, 144, 78, 110, 0, 0, 0, 50, 176, 144, 77, 109, 0, 0, 0, 154, 155, 144, 76, 108, 0, 0, 60, 74, 73, 72, 80, 86, 0, 75, 239, 106, 105, 104, 118, 112, 0, 107, 238, 214, 182, 150, 0, 0, 0, 0, 245, 215, 183, 151, 0, 0, 0, 0, 0, 192, 160, 128, 64, 96, 0, 0, 0, 194, 162, 130, 66, 98, 0, 0, 0, 196, 164, 132, 68, 100, 0, 0, 0, 198, 166, 134, 70, 102, 120, 121, 123, 202, 170, 138, 0, 0, 0, 0, 0, 200, 168, 136, 0, 0, 0, 0, 0, 204, 172, 140, 0, 0, 0, 0, 0, 211, 179, 147, 0, 0, 0, 0, 0, 193, 161, 129, 65, 97, 0, 0, 0, 195, 163, 131, 67, 99, 0, 0, 0, 197, 165, 133, 69, 101, 0, 0, 0, 199, 167, 135, 71, 103, 0, 0, 0, 203, 171, 139, 0, 0, 0, 0, 0, 201, 169, 137, 0, 0, 0, 185, 184, 205, 173, 141, 0, 0, 0, 0, 0, 213, 181, 149, 83, 115, 0, 0, 0, 209, 177, 145, 81, 113, 113, 41, 45,  };
                                                                //    674           16_ce, 16_ae, 16_8e, 16_52, 16_72,     0,     0, 16_fb,
                                                                //    675     ! 0   mnegl  mnegw  mnegb  mnegf  mnegd      -      -  calls
                                                                //    676           16_d0, 16_b0, 16_90, 16_50, 16_70, 16_7d,     0, 16_16,
                                                                //    677     ! 1   movl   movw   movb   movf   movd   movq       -  jsb
                                                                //    678           16_de, 16_3e, 16_9e, 16_de, 16_7e, 16_7e,     0, 16_04,
                                                                //    679     ! 2   moval  movaw  movab  movaf  movad  movaq      -  ret
                                                                //    680           16_d2, 16_b2, 16_92,     0,     0,     0, 16_28, 16_2c,
                                                                //    681     ! 3   mcoml  mcomw  mcomb      -      -      -  movc3  movc5
                                                                //    682           16_dd,     0,     0,     0,     0,     0,     0, 16_dc,
                                                                //    683     ! 4   pushl      -      -      -      -      -      -  movpsl
                                                                //    684           16_df, 16_3f, 16_9f, 16_df, 16_7f, 16_7f,     0,     0,
                                                                //    685     ! 5   pushal pushaw pushab pushaf pushad pushaq     -      -
                                                                //    686           16_d4, 16_b4, 16_94, 16_d4, 16_7c, 16_7c,     0,     0,
                                                                //    687     ! 6   clrl   clrw   clrb   clrf   clrd   clrq       -      -
                                                                //    688           16_d0, 16_f7, 16_90, 16_4e, 16_6e,     0,     0,     0,
                                                                //    689     ! 7   movl   cvtlw  movb   cvtlf  cvtld      -      -      -
                                                                //    690           16_32, 16_b0, 16_90, 16_4d, 16_6d,     0,     0,     0,
                                                                //    691     ! 8   cvtwl  movw   movb   cvtwf  cvtwd      -      -      -
                                                                //    692           16_9a, 16_9b, 16_90, 16_4c, 16_6c,     0,     0, 16_3c,
                                                                //    693     ! 9   movzbl movzbw movb   cvtbf  cvtbd      -      -  movzwl
                                                                //    694           16_4a, 16_49, 16_48, 16_50, 16_56,     0, 16_4b, 16_ef,
                                                                //    695     !10   cvtfl  cvtfw  cvtfb  movf   cvtfd      -  cvtrfl extzv
                                                                //    696           16_6a, 16_69, 16_68, 16_76, 16_70,     0, 16_6b, 16_ee,
                                                                //    697     !11   cvtdl  cvtdw  cvtdb  cvtdf  movd       - cvtrdl  extv
                                                                //    698           16_d6, 16_b6, 16_96,     0,     0,     0,     0, 16_f5,
                                                                //    699     !12   incl   incw   incb       -      -      -      -  sobgtr
                                                                //    700           16_d7, 16_b7, 16_97,     0,     0,     0,     0,     0,
                                                                //    701     !13   decl   decw   decb       -      -      -      -      -
                                                                //    702           16_c0, 16_a0, 16_80, 16_40, 16_60,     0,     0,     0,
                                                                //    703     !14   addl2  addw2  addb2  addf2  addd2      -      -      -
                                                                //    704           16_c2, 16_a2, 16_82, 16_42, 16_62,     0,     0,     0,
                                                                //    705     !15   subl2, subw2, subb2, subf2, subd2      -      -      -
                                                                //    706           16_c4, 16_a4, 16_84, 16_44, 16_64,     0,     0,     0,
                                                                //    707     !16   mull2  mulw2  mulb2  mulf2  muld2      -      -      -
                                                                //    708           16_c6, 16_a6, 16_86, 16_46, 16_66, 16_78, 16_79, 16_7b,
                                                                //    709     !17   divl2  divw2  divb2  divf2  divd2   ashl   ashq   ediv
                                                                //    710           16_ca, 16_aa, 16_8a,     0,     0,     0,     0,     0,
                                                                //    711     !18   bicl2  bicw2  bicb2      -      -      -      -      -
                                                                //    712           16_c8, 16_a8, 16_88,     0,     0,     0,     0,     0,
                                                                //    713     !19   bisl2  bisw2  bisb2      -      -      -      -      -
                                                                //    714           16_cc, 16_ac, 16_8c,     0,     0,     0,     0,     0,
                                                                //    715     !20   xorl2  xorw2  xorb2      -      -      -      -      -
                                                                //    716           16_d3, 16_b3, 16_93,     0,     0,     0,     0,     0,
                                                                //    717     !21   bitl   bitw   bitb       -      -      -      -      -
                                                                //    718           16_c1, 16_a1, 16_81, 16_41, 16_61,     0,     0,     0,
                                                                //    719     !22   addl3  addw3  addb3  addf3  addd3      -      -      -
                                                                //    720           16_c3, 16_a3, 16_83, 16_43, 16_63,     0,     0,     0,
                                                                //    721     !23   subl3  subw3  subb3  subf3  subd3      -      -      -
                                                                //    722           16_c5, 16_a5, 16_85, 16_45, 16_65,     0,     0,     0,
                                                                //    723     !24   mull3  mulw3  mulb3  mulf3  muld3      -      -      -
                                                                //    724           16_c7, 16_a7, 16_87, 16_47, 16_67,     0,     0,     0,
                                                                //    725     !25   divl3  divw3  divb3  divf3  divd3      -      -      -
                                                                //    726           16_cb, 16_ab, 16_8b,     0,     0,     0,     0,     0,
                                                                //    727     !26   bicl3  bicw3  bicb3      -      -      -      -      -
                                                                //    728           16_c9, 16_a9, 16_89,    0,     0,     0, 16_b9, 16_b8,
                                                                //    729     !27   bisl3  bisw3  bisb3      -      -      - bicpsw bispsw
                                                                //    730           16_cd, 16_ad, 16_8d,     0,     0,     0,     0,     0,
                                                                //    731     !28   xorl3  xorw3  xorb3      -      -      -      -      -
                                                                //    732           16_d5, 16_b5, 16_95, 16_53, 16_73,     0,     0,     0,
                                                                //    733     !29   tstl   tstw   tstb   tstf   tstd       -      -      -
                                                                //    734           16_d1, 16_b1, 16_91, 16_51, 16_71, 16_71, 16_29, 16_2d
                                                                //    735     !30   cmpl   cmpw   cmpb   cmpf   cmpd   cmpd   cmpc3  cmpc5
                                                                //    736  
                                                                //    737     !bit significance:
                                                                //    738  
                                                                //    739     %const %integer check1 = 2_0000 0001,
                                                                //    740                     check2 = 2_0000 0010,
                                                                //    741                     check3 = 2_0000 0100,
                                                                //    742                move check  = 2_0000 1000
                                                                //    743  
                                                                //    744     %const %byte %array  operand bits (0 : 255) =
#line 744 "regression-compile-tmp/vax-pass2.imp"
const unsigned char OPERANDBITS[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 0, 0, 1, 0, 9, 3, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 0, 0, 1, 0, 9, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 0, 9, 3, 1, 3, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, [222 ... 255] = 0 };
                                                                //    745     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    746  !  0 halt        nop         rei         bpt         ret         rsb
                                                                //    747     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    748  !  6 ldpctx      svpctx      cvtps       cvtsp       index       crc
                                                                //    749     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    750  ! 12 prober      probew      insque      remque      bsbb        brb
                                                                //    751     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    752  ! 18 bneq        beql        bgtr        bleq        jsb         jmp
                                                                //    753     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    754  ! 24 bgeq        blss        bgtru       blequ       bvc         bvs
                                                                //    755     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    756  ! 30 bgequ       blssu       addp4       addp6       subp4       subp6
                                                                //    757     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    758  ! 36 cvtpt       mulp        cvttp       divp        movc3       cmpc3
                                                                //    759     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    760  ! 42 scanc       spanc       movc5       cmpc5       movtc       movtuc
                                                                //    761     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    762  ! 48 bsbw        brw         cvtwl       cvtwb       movp        comp3
                                                                //    763     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    764  ! 54 cvtpl       cmpp4       editpc      matchc      locc        skpc
                                                                //    765     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0011,2_0000 0011,
                                                                //    766  ! 60 movzwl      acbw        movaw       pushaw      addf2       addf3
                                                                //    767     2_0000 0011,2_0000 0011,2_0000 0011,2_0000 0011,2_0000 0011,2_0000 0011,
                                                                //    768  ! 66 subf2       subf3       mulf2       mulf3       divf2       divf3
                                                                //    769     2_0000 0001,2_0000 0001,2_0000 0001,2_0000 0001,2_0000 0000,2_0000 0000,
                                                                //    770  ! 72 cvtfb       cvtfw       cvtfl       cvtrfl      cvtbf
                                                                //    771     2_0000 0001,2_0000 0000,2_0000 1001,2_0000 0011,2_0000 0001,2_0000 0001,
                                                                //    772  ! 78 cvtlf       acbf        movf        cmpf        mnegf       tstf
                                                                //    773     2_0000 0000,2_0000 0000,2_0000 0001,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    774  ! 84 emodf       polyf       cvtfd                   adawi
                                                                //    775     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    776  ! 90
                                                                //    777     2_0000 0011,2_0000 0011,2_0000 0011,2_0000 0011,2_0000 0011,2_0000 0011,
                                                                //    778  ! 96 addd2       addd3       subd2       subd3       muld2       muld3
                                                                //    779     2_0000 0011,2_0000 0011,2_0000 0001,2_0000 0001,2_0000 0001,2_0000 0001,
                                                                //    780  !102 divd2       divd3       cvtdb       cvtdw       cvtdl       cvtrdl
                                                                //    781     2_0000 0000,2_0000 0000,2_0000 0001,2_0000 0000,2_0000 1001,2_0000 0001,
                                                                //    782  !108 cvtbd       cvtwd       cvtld       acbd        movd        cmpd
                                                                //    783     2_0000 0001,2_0000 0001,2_0000 0000,2_0000 0000,2_0000 0001,2_0000 0000,
                                                                //    784  !114 mnegd       tstd        emodd       polyd       cvtdf
                                                                //    785     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    786  !120 ashl        ashq        emul        ediv        clrq        movq
                                                                //    787     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    788  !126 movaq       pushaq      addb2       addb3       subb2       subb3
                                                                //    789     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    790  !132 mulb2       mulb3       devb2       divb3       bisb2       misb3
                                                                //    791     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    792  !138 bicb2       bicb3       xorb2       xorb3       mnegb       caseb
                                                                //    793     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    794  !144 movb        cmpb        mcomb       bitb        clrb        tstb
                                                                //    795     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    796  !150 incb        decb        cvtbl       cvtbw       movzbl      movzbw
                                                                //    797     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    798  !156 rotl        acbb        movab       pushab      addw2       addw3
                                                                //    799     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    800  !162 subw2       subw3       mulw2       mulw3       divw2       divw3
                                                                //    801     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    802  !168 bisw2       bisw3       bicw2       bicw3       xorw2       xorw3
                                                                //    803     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    804  !174 mnegw       casew       movw        cmpw        mcomw       bitw
                                                                //    805     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    806  !180 clrw        tstw        incw        decw        bispsw      bicpsw
                                                                //    807     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    808  !186 popr        pushr       chmk        chme        chms        chmu
                                                                //    809     2_0000 0011,2_0000 0011,2_0000 0011,2_0000 0011,2_0000 0011,2_0000 0011,
                                                                //    810  !192 addl2       addl3       subl2       subl3       mull2       mull3
                                                                //    811     2_0000 0011,2_0000 0011,2_0000 0011,2_0000 0011,2_0000 0011,2_0000 0011,
                                                                //    812  !198 divl2       divl3       bisl2       bisl3       bicl2       bicl3
                                                                //    813     2_0000 0011,2_0000 0011,2_0000 0001,2_0000 0000,2_0000 1001,2_0000 0011,
                                                                //    814  !204 xorl2       xorl3       mnegl       casel       movl        cmpl
                                                                //    815     2_0000 0001,2_0000 0011,2_0000 0000,2_0000 0001,2_0000 0001,2_0000 0001,
                                                                //    816  !210 mcoml       bitl        clrl        tstl        incl        decl
                                                                //    817     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0001,
                                                                //    818  !216 adwc        sbwc        mtpr        mfpr        movpsl      pushl
                                                                //    819     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    820  !222 moval       pushal      bbs         bbc         bbss        bbcs
                                                                //    821     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    822  !228 bbsc        bbcc        bbssi       bbcci       blbs        blbc
                                                                //    823     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    824  !234 ffs         ffc         cmpv        cmpzv       extv        extzv
                                                                //    825     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    826  !240 insv        acbl        aoblss      aobleq      sobgeq      sobgtr
                                                                //    827     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000,
                                                                //    828  !246 cvtlb       cvtlw       ashp        cvtlp       callg       calls
                                                                //    829     2_0000 0000,2_0000 0000,2_0000 0000,2_0000 0000
                                                                //    830  !252 xfc
                                                                //    831  
                                                                //    832     !diagnostic tables
                                                                //    833  
                                                                //    834     %const %string(3)%array  reg name (0 : 20) =
#line 834 "regression-compile-tmp/vax-pass2.imp"
const _imp_string /*%string(3)*/ REGNAME[21] = { _imp_str_literal("???"), _imp_str_literal(" R0"), _imp_str_literal(" R1"), _imp_str_literal(" R2"), _imp_str_literal(" R3"), _imp_str_literal(" R4"), _imp_str_literal(" R5"), _imp_str_literal(" R6"), _imp_str_literal(" R7"), _imp_str_literal(" R8"), _imp_str_literal(" R9"), _imp_str_literal("R10"), _imp_str_literal("GLA"), _imp_str_literal(" AP"), _imp_str_literal(" FP"), _imp_str_literal(" SP"), _imp_str_literal(" PC"), _imp_str_literal("Any"), _imp_str_literal(" F0"), _imp_str_literal(" F2"), _imp_str_literal(" F4"),  };
                                                                //    835        "???", " R0", " R1", " R2", " R3", " R4", " R5", " R6", " R7",
                                                                //    836        " R8", " R9", "R10", "GLA", " AP", " FP", " SP", " PC", "Any",
                                                                //    837        " F0", " F2", " F4"
                                                                //    838  
                                                                //    839     %const %string(6) %array  op mnem (0 : 255) =
#line 839 "regression-compile-tmp/vax-pass2.imp"
const _imp_string /*%string(6)*/ OPMNEM[256] = { _imp_str_literal("HALT"), _imp_str_literal("NOP"), _imp_str_literal("REI"), _imp_str_literal("BPT"), _imp_str_literal("RET"), _imp_str_literal("RSB"), _imp_str_literal("LDPCTX"), _imp_str_literal("SVPCTX"), _imp_str_literal("CVTPS"), _imp_str_literal("CVTSP"), _imp_str_literal("INDEX"), _imp_str_literal("CRC"), _imp_str_literal("PROBER"), _imp_str_literal("PROBEW"), _imp_str_literal("INSQUE"), _imp_str_literal("REMQUE"), _imp_str_literal("BSBB"), _imp_str_literal("BRB"), _imp_str_literal("BNEQ"), _imp_str_literal("BEQL"), _imp_str_literal("BGTR"), _imp_str_literal("BLEQ"), _imp_str_literal("JSB"), _imp_str_literal("JMP"), _imp_str_literal("BGEQ"), _imp_str_literal("BLSS"), _imp_str_literal("BGTRU"), _imp_str_literal("BLEQU"), _imp_str_literal("BVC"), _imp_str_literal("BVS"), _imp_str_literal("BGEQU"), _imp_str_literal("BLSSU"), _imp_str_literal("ADDP4"), _imp_str_literal("ADDP6"), _imp_str_literal("SUBP4"), _imp_str_literal("SUBP6"), _imp_str_literal("CVTPT"), _imp_str_literal("MULP"), _imp_str_literal("CVTTP"), _imp_str_literal("DIVP"), _imp_str_literal("MOVC3"), _imp_str_literal("CMPC3"), _imp_str_literal("SCANC"), _imp_str_literal("SPANC"), _imp_str_literal("MOVC5"), _imp_str_literal("CMPC5"), _imp_str_literal("MOVTC"), _imp_str_literal("MOVTUC"), _imp_str_literal("BSBW"), _imp_str_literal("BRW"), _imp_str_literal("CVTWL"), _imp_str_literal("CVTWB"), _imp_str_literal("MOVP"), _imp_str_literal("COMP3"), _imp_str_literal("CVTPL"), _imp_str_literal("CMPP4"), _imp_str_literal("EDITPC"), _imp_str_literal("MATCHC"), _imp_str_literal("LOCC"), _imp_str_literal("SKPC"), _imp_str_literal("MOVZWL"), _imp_str_literal("ACBW"), _imp_str_literal("MOVAW"), _imp_str_literal("PUSHAW"), _imp_str_literal("ADDF2"), _imp_str_literal("ADDF3"), _imp_str_literal("SUBF2"), _imp_str_literal("SUBF3"), _imp_str_literal("MULF2"), _imp_str_literal("MULF3"), _imp_str_literal("DIVF2"), _imp_str_literal("DIVF3"), _imp_str_literal("CVTFB"), _imp_str_literal("CVTFW"), _imp_str_literal("CVTFL"), _imp_str_literal("CVTRFL"), _imp_str_literal("CVTBF"), _imp_str_literal("?????"), _imp_str_literal("CVTLF"), _imp_str_literal("ACBF"), _imp_str_literal("MOVF"), _imp_str_literal("CMPF"), _imp_str_literal("MNEGF"), _imp_str_literal("TSTF"), _imp_str_literal("EMODF"), _imp_str_literal("POLYF"), _imp_str_literal("CVTFD"), _imp_str_literal("?????"), _imp_str_literal("ADAWI"), _imp_str_literal("?????"), _imp_str_literal("?????"), _imp_str_literal("?????"), _imp_str_literal("?????"), _imp_str_literal("?????"), _imp_str_literal("?????"), _imp_str_literal("?????"), _imp_str_literal("ADDD2"), _imp_str_literal("ADDD3"), _imp_str_literal("SUBD2"), _imp_str_literal("SUBD3"), _imp_str_literal("MULD2"), _imp_str_literal("MULD3"), _imp_str_literal("DIVD2"), _imp_str_literal("DIVD3"), _imp_str_literal("CVTDB"), _imp_str_literal("CVTDW"), _imp_str_literal("CVTDL"), _imp_str_literal("CVTRDL"), _imp_str_literal("CVTBD"), _imp_str_literal("CVTWD"), _imp_str_literal("CVTLD"), _imp_str_literal("ACBD"), _imp_str_literal("MOVD"), _imp_str_literal("CMPD"), _imp_str_literal("MNEGD"), _imp_str_literal("TSTD"), _imp_str_literal("EMODD"), _imp_str_literal("POLYD"), _imp_str_literal("CVTDF"), _imp_str_literal("?????"), _imp_str_literal("ASHL"), _imp_str_literal("ASHQ"), _imp_str_literal("EMUL"), _imp_str_literal("EDIV"), _imp_str_literal("CLRQ"), _imp_str_literal("MOVQ"), _imp_str_literal("MOVAQ"), _imp_str_literal("PUSHAQ"), _imp_str_literal("ADDB2"), _imp_str_literal("ADDB3"), _imp_str_literal("SUBB2"), _imp_str_literal("SUBB3"), _imp_str_literal("MULB2"), _imp_str_literal("MULB3"), _imp_str_literal("DEVB2"), _imp_str_literal("DIVB3"), _imp_str_literal("BISB2"), _imp_str_literal("BISB3"), _imp_str_literal("BICB2"), _imp_str_literal("BICB3"), _imp_str_literal("XORB2"), _imp_str_literal("XORB3"), _imp_str_literal("MNEG"), _imp_str_literal("CASEB"), _imp_str_literal("MOVB"), _imp_str_literal("CMPB"), _imp_str_literal("MCOMB"), _imp_str_literal("BITB"), _imp_str_literal("CLRB"), _imp_str_literal("TSTB"), _imp_str_literal("INCB"), _imp_str_literal("DECB"), _imp_str_literal("CVTBL"), _imp_str_literal("CVTBW"), _imp_str_literal("MOVZBL"), _imp_str_literal("MOVZBW"), _imp_str_literal("ROTL"), _imp_str_literal("ACBB"), _imp_str_literal("MOVAB"), _imp_str_literal("PUSHAB"), _imp_str_literal("ADDW2"), _imp_str_literal("ADDW3"), _imp_str_literal("SUBW2"), _imp_str_literal("SUBW3"), _imp_str_literal("MULW2"), _imp_str_literal("MULW3"), _imp_str_literal("DIVW2"), _imp_str_literal("DIVW3"), _imp_str_literal("BISW2"), _imp_str_literal("BISW3"), _imp_str_literal("BICW2"), _imp_str_literal("BICW3"), _imp_str_literal("XORW2"), _imp_str_literal("XORW3"), _imp_str_literal("MNEGW"), _imp_str_literal("CASEW"), _imp_str_literal("MOVW"), _imp_str_literal("CMPW"), _imp_str_literal("MCOMW"), _imp_str_literal("BITW"), _imp_str_literal("CLRW"), _imp_str_literal("TSTW"), _imp_str_literal("INCW"), _imp_str_literal("DECW"), _imp_str_literal("BISPSW"), _imp_str_literal("BICPSW"), _imp_str_literal("POPR"), _imp_str_literal("PUSHR"), _imp_str_literal("CHMK"), _imp_str_literal("CHME"), _imp_str_literal("CHMS"), _imp_str_literal("CHMU"), _imp_str_literal("ADDL2"), _imp_str_literal("ADDL3"), _imp_str_literal("SUBL2"), _imp_str_literal("SUBL3"), _imp_str_literal("MULL2"), _imp_str_literal("MULL3"), _imp_str_literal("DIVL2"), _imp_str_literal("DIVL3"), _imp_str_literal("BISL2"), _imp_str_literal("BISL3"), _imp_str_literal("BICL2"), _imp_str_literal("BICL3"), _imp_str_literal("XORL2"), _imp_str_literal("XORL3"), _imp_str_literal("MNEGL"), _imp_str_literal("CASEL"), _imp_str_literal("MOVL"), _imp_str_literal("CMPL"), _imp_str_literal("MCOML"), _imp_str_literal("BITL"), _imp_str_literal("CLRL"), _imp_str_literal("TSTL"), _imp_str_literal("INCL"), _imp_str_literal("DECL"), _imp_str_literal("ADWC"), _imp_str_literal("SBWC"), _imp_str_literal("MTPR"), _imp_str_literal("MFPR"), _imp_str_literal("MOVPSL"), _imp_str_literal("PUSHL"), _imp_str_literal("MOVAL"), _imp_str_literal("PUSHAL"), _imp_str_literal("BBS"), _imp_str_literal("BBC"), _imp_str_literal("BBSS"), _imp_str_literal("BBCS"), _imp_str_literal("BBSC"), _imp_str_literal("BBCC"), _imp_str_literal("BBSSI"), _imp_str_literal("BBCCI"), _imp_str_literal("BLBS"), _imp_str_literal("BLBC"), _imp_str_literal("FFS"), _imp_str_literal("FFC"), _imp_str_literal("CMPV"), _imp_str_literal("CMPZV"), _imp_str_literal("EXTV"), _imp_str_literal("EXTZV"), _imp_str_literal("INSV"), _imp_str_literal("ACBL"), _imp_str_literal("AOBLSS"), _imp_str_literal("AOBLEQ"), _imp_str_literal("SOBGEQ"), _imp_str_literal("SOBGTR"), _imp_str_literal("CVTLB"), _imp_str_literal("CVTLW"), _imp_str_literal("ASHP"), _imp_str_literal("CVTLP"), _imp_str_literal("CALLG"), _imp_str_literal("CALLS"), _imp_str_literal("XFC"), _imp_str_literal("????"), _imp_str_literal("????"), _imp_str_literal("????"),  };
                                                                //    840        "HALT",   "NOP",    "REI",    "BPT",    "RET",    "RSB",
                                                                //    841        "LDPCTX", "SVPCTX", "CVTPS",  "CVTSP",  "INDEX",  "CRC",
                                                                //    842        "PROBER", "PROBEW", "INSQUE", "REMQUE", "BSBB",   "BRB",
                                                                //    843        "BNEQ",   "BEQL",   "BGTR",   "BLEQ",   "JSB",    "JMP",
                                                                //    844        "BGEQ",   "BLSS",   "BGTRU",  "BLEQU",  "BVC",    "BVS",
                                                                //    845        "BGEQU",  "BLSSU",  "ADDP4",  "ADDP6",  "SUBP4",  "SUBP6",
                                                                //    846        "CVTPT",  "MULP",   "CVTTP",  "DIVP",   "MOVC3",  "CMPC3",
                                                                //    847        "SCANC",  "SPANC",  "MOVC5",  "CMPC5",  "MOVTC",  "MOVTUC",
                                                                //    848        "BSBW",   "BRW",    "CVTWL",  "CVTWB",  "MOVP",   "COMP3",
                                                                //    849        "CVTPL",  "CMPP4",  "EDITPC", "MATCHC", "LOCC",   "SKPC",
                                                                //    850        "MOVZWL", "ACBW",   "MOVAW",  "PUSHAW", "ADDF2",  "ADDF3",
                                                                //    851        "SUBF2",  "SUBF3",  "MULF2",  "MULF3",  "DIVF2",  "DIVF3",
                                                                //    852        "CVTFB",  "CVTFW",  "CVTFL",  "CVTRFL", "CVTBF",  "?????",
                                                                //    853        "CVTLF",  "ACBF",   "MOVF",   "CMPF",   "MNEGF",  "TSTF",
                                                                //    854        "EMODF",  "POLYF",  "CVTFD",  "?????",  "ADAWI",  "?????",
                                                                //    855        "?????",  "?????",  "?????",  "?????",  "?????",  "?????",
                                                                //    856        "ADDD2",  "ADDD3",  "SUBD2",  "SUBD3",  "MULD2",  "MULD3",
                                                                //    857        "DIVD2",  "DIVD3",  "CVTDB",  "CVTDW",  "CVTDL",  "CVTRDL",
                                                                //    858        "CVTBD",  "CVTWD",  "CVTLD",  "ACBD",   "MOVD",   "CMPD",
                                                                //    859        "MNEGD",  "TSTD",   "EMODD",  "POLYD",  "CVTDF",  "?????",
                                                                //    860        "ASHL",   "ASHQ",   "EMUL",   "EDIV",   "CLRQ",   "MOVQ",
                                                                //    861        "MOVAQ",  "PUSHAQ", "ADDB2",  "ADDB3",  "SUBB2",  "SUBB3",
                                                                //    862        "MULB2",  "MULB3",  "DEVB2",  "DIVB3",  "BISB2",  "BISB3",
                                                                //    863        "BICB2",  "BICB3",  "XORB2",  "XORB3",  "MNEG",   "CASEB",
                                                                //    864        "MOVB",   "CMPB",   "MCOMB",  "BITB",   "CLRB",   "TSTB",
                                                                //    865        "INCB",   "DECB",   "CVTBL",  "CVTBW",  "MOVZBL", "MOVZBW",
                                                                //    866        "ROTL",   "ACBB",   "MOVAB",  "PUSHAB", "ADDW2",  "ADDW3",
                                                                //    867        "SUBW2",  "SUBW3",  "MULW2",  "MULW3",  "DIVW2",  "DIVW3",
                                                                //    868        "BISW2",  "BISW3",  "BICW2",  "BICW3",  "XORW2",  "XORW3",
                                                                //    869        "MNEGW",  "CASEW",  "MOVW",   "CMPW",   "MCOMW",  "BITW",
                                                                //    870        "CLRW",   "TSTW",   "INCW",   "DECW",   "BISPSW", "BICPSW",
                                                                //    871        "POPR",   "PUSHR",  "CHMK",   "CHME",   "CHMS",   "CHMU",
                                                                //    872        "ADDL2",  "ADDL3",  "SUBL2",  "SUBL3",  "MULL2",  "MULL3",
                                                                //    873        "DIVL2",  "DIVL3",  "BISL2",  "BISL3",  "BICL2",  "BICL3",
                                                                //    874        "XORL2",  "XORL3",  "MNEGL",  "CASEL",  "MOVL",   "CMPL",
                                                                //    875        "MCOML",  "BITL",   "CLRL",   "TSTL",   "INCL",   "DECL",
                                                                //    876        "ADWC",   "SBWC",   "MTPR",   "MFPR",   "MOVPSL", "PUSHL",
                                                                //    877        "MOVAL",  "PUSHAL", "BBS",    "BBC",    "BBSS",   "BBCS",
                                                                //    878        "BBSC",   "BBCC",   "BBSSI",  "BBCCI",  "BLBS",   "BLBC",
                                                                //    879        "FFS",    "FFC",    "CMPV",   "CMPZV",  "EXTV",   "EXTZV",
                                                                //    880        "INSV",   "ACBL",   "AOBLSS", "AOBLEQ", "SOBGEQ", "SOBGTR",
                                                                //    881        "CVTLB",  "CVTLW",  "ASHP",   "CVTLP",  "CALLG",  "CALLS",
                                                                //    882        "XFC",    "????"(*)
                                                                //    883  
                                                                //    884  
                                                                //    885     %routine %spec  FLUSH CODE
#line 885 "regression-compile-tmp/vax-pass2.imp"
auto void FLUSHCODE( void );
                                                                //    886     %routine %spec  HAZARD (%integer reg)
#line 886 "regression-compile-tmp/vax-pass2.imp"
auto void HAZARD( int REG );
                                                                //    887     %routine %spec  CLAIM (%integer reg)
#line 887 "regression-compile-tmp/vax-pass2.imp"
auto void CLAIM( int REG );
                                                                //    888     %routine %spec  RELEASE (%integer reg)
#line 888 "regression-compile-tmp/vax-pass2.imp"
auto void RELEASE( int REG );
                                                                //    889     %routine %spec  PRIM (%integer n)
#line 889 "regression-compile-tmp/vax-pass2.imp"
auto void PRIM( int N );
                                                                //    890     %integer %function %spec  SCALE TYPE (%integer length)
#line 890 "regression-compile-tmp/vax-pass2.imp"
auto int SCALETYPE( int LENGTH );
                                                                //    891     %record(stackfm) %map %spec  LITERAL (%integer n)
#line 891 "regression-compile-tmp/vax-pass2.imp"
auto  STACKFM /*map*/*LITERAL( int N );
                                                                //    892     %record(stackfm) %map %spec  TEMP (%integer size)
#line 892 "regression-compile-tmp/vax-pass2.imp"
auto  STACKFM /*map*/*TEMP( int SIZE );
                                                                //    893  
                                                                //    894  
                                                                //    895     !******** initialisation *********
                                                                //    896  
                                                                //    897     regv(r0)_base = r0;  regv(r0)_type = integers;  regv(r0)_form=vinr
#line 897 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[1].BASE = 1;
#line 897 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[1].TYPE = 16;
#line 897 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[1].FORM = 1;
                                                                //    898     regv(r1)_base = r1;  regv(r1)_type = integers;  regv(r1)_form=vinr
#line 898 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[2].BASE = 2;
#line 898 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[2].TYPE = 16;
#line 898 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[2].FORM = 1;
                                                                //    899     regv(r2)_base = r2;  regv(r2)_type = integers;  regv(r2)_form=vinr
#line 899 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[3].BASE = 3;
#line 899 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[3].TYPE = 16;
#line 899 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[3].FORM = 1;
                                                                //    900     regv(r3)_base = r3;  regv(r3)_type = integers;  regv(r3)_form=vinr
#line 900 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[4].BASE = 4;
#line 900 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[4].TYPE = 16;
#line 900 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[4].FORM = 1;
                                                                //    901     regv(r4)_base = r4;  regv(r4)_type = integers;  regv(r4)_form=vinr
#line 901 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[5].BASE = 5;
#line 901 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[5].TYPE = 16;
#line 901 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[5].FORM = 1;
                                                                //    902     regv(r5)_base = r5;  regv(r5)_type = integers;  regv(r5)_form=vinr
#line 902 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[6].BASE = 6;
#line 902 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[6].TYPE = 16;
#line 902 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[6].FORM = 1;
                                                                //    903     regv(r6)_base = r6;  regv(r6)_type = integers;  regv(r6)_form=vinr
#line 903 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[7].BASE = 7;
#line 903 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[7].TYPE = 16;
#line 903 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[7].FORM = 1;
                                                                //    904     regv(r7)_base = r7;  regv(r7)_type = integers;  regv(r7)_form=vinr
#line 904 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[8].BASE = 8;
#line 904 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[8].TYPE = 16;
#line 904 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[8].FORM = 1;
                                                                //    905     regv(r8)_base = r8;  regv(r8)_type = integers;  regv(r8)_form=vinr
#line 905 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[9].BASE = 9;
#line 905 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[9].TYPE = 16;
#line 905 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[9].FORM = 1;
                                                                //    906     regv(r9)_base = r9;  regv(r9)_type = integers;  regv(r9)_form=vinr
#line 906 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[10].BASE = 10;
#line 906 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[10].TYPE = 16;
#line 906 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[10].FORM = 1;
                                                                //    907     regv(r10)_base= r10; regv(r10)_type= integers; regv(r10)_form=vinr
#line 907 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[11].BASE = 11;
#line 907 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[11].TYPE = 16;
#line 907 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[11].FORM = 1;
                                                                //    908     regv(gla)_base= gla; regv(gla)_type= integers; regv(gla)_form=vinr
#line 908 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[12].BASE = 12;
#line 908 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[12].TYPE = 16;
#line 908 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[12].FORM = 1;
                                                                //    909     regv(fp)_base = fp;  regv(fp)_type = integers;  regv(fp)_form=vinr
#line 909 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[14].BASE = 14;
#line 909 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[14].TYPE = 16;
#line 909 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[14].FORM = 1;
                                                                //    910     regv(ap)_base = ap;  regv(ap)_type = integers;  regv(ap)_form=vinr
#line 910 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[13].BASE = 13;
#line 910 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[13].TYPE = 16;
#line 910 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[13].FORM = 1;
                                                                //    911     regv(sp)_base = sp;  regv(sp)_type = integers;  regv(sp)_form=vinr
#line 911 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[15].BASE = 15;
#line 911 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[15].TYPE = 16;
#line 911 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[15].FORM = 1;
                                                                //    912     regv(pc)_base = pc;  regv(pc)_type = integers;  regv(pc)_form=vinr
#line 912 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[16].BASE = 16;
#line 912 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[16].TYPE = 16;
#line 912 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[16].FORM = 1;
                                                                //    913     regv(fpr0)_base=fpr0; regv(fpr0)_type = reall;  regv(fpr0)_form = vinr
#line 913 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[18].BASE = 18;
#line 913 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[18].TYPE = 36;
#line 913 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[18].FORM = 1;
                                                                //    914     regv(fpr2)_base=fpr2; regv(fpr2)_type = reall;  regv(fpr2)_form = vinr
#line 914 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[19].BASE = 19;
#line 914 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[19].TYPE = 36;
#line 914 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[19].FORM = 1;
                                                                //    915     regv(fpr4)_base=fpr4; regv(fpr4)_type = reall;  regv(fpr4)_form = vinr
#line 915 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[20].BASE = 20;
#line 915 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[20].TYPE = 36;
#line 915 "regression-compile-tmp/vax-pass2.imp"
(REGV-1)[20].FORM = 1;
                                                                //    916  
                                                                //    917     zerov = 0
#line 917 "regression-compile-tmp/vax-pass2.imp"
ZEROV = (STACKFM){ 0 } /* Assign 0's to all fields of record */;
                                                                //    918     zerov_type = integers;  zerov_form = constant
#line 918 "regression-compile-tmp/vax-pass2.imp"
ZEROV.TYPE = 16;
#line 918 "regression-compile-tmp/vax-pass2.imp"
ZEROV.FORM = 0;
                                                                //    919  
                                                                //    920     gla work = 0
#line 920 "regression-compile-tmp/vax-pass2.imp"
GLAWORK = (STACKFM){ 0 } /* Assign 0's to all fields of record */;
                                                                //    921     gla work_type = integers;  gla work_form = v in s
#line 921 "regression-compile-tmp/vax-pass2.imp"
GLAWORK.TYPE = 16;
#line 921 "regression-compile-tmp/vax-pass2.imp"
GLAWORK.FORM = 2;
                                                                //    922     gla work_base = gla
#line 922 "regression-compile-tmp/vax-pass2.imp"
GLAWORK.BASE = 12;
                                                                //    923  
                                                                //    924     spv = 0
#line 924 "regression-compile-tmp/vax-pass2.imp"
SPV = (STACKFM){ 0 } /* Assign 0's to all fields of record */;
                                                                //    925     spv_type = integers;  spv_form = v in s
#line 925 "regression-compile-tmp/vax-pass2.imp"
SPV.TYPE = 16;
#line 925 "regression-compile-tmp/vax-pass2.imp"
SPV.FORM = 2;
                                                                //    926     spv_base = sp;   spv_flags = auto d
#line 926 "regression-compile-tmp/vax-pass2.imp"
SPV.BASE = 15;
#line 926 "regression-compile-tmp/vax-pass2.imp"
SPV.FLAGS = 8;
                                                                //    927  
                                                                //    928     zeroth = 0
#line 928 "regression-compile-tmp/vax-pass2.imp"
ZEROTH = (STACKFM){ 0 } /* Assign 0's to all fields of record */;
                                                                //    929     zeroth_type = integers; zeroth_form = v in s
#line 929 "regression-compile-tmp/vax-pass2.imp"
ZEROTH.TYPE = 16;
#line 929 "regression-compile-tmp/vax-pass2.imp"
ZEROTH.FORM = 2;
                                                                //    930  
                                                                //    931     dope = 0
#line 931 "regression-compile-tmp/vax-pass2.imp"
DOPE = (STACKFM){ 0 } /* Assign 0's to all fields of record */;
                                                                //    932     dope_base = gla; dope_type = integers; dope_form = v in s
#line 932 "regression-compile-tmp/vax-pass2.imp"
DOPE.BASE = 12;
#line 932 "regression-compile-tmp/vax-pass2.imp"
DOPE.TYPE = 16;
#line 932 "regression-compile-tmp/vax-pass2.imp"
DOPE.FORM = 2;
                                                                //    933  
                                                                //    934     head = 0
#line 934 "regression-compile-tmp/vax-pass2.imp"
HEAD = (STACKFM){ 0 } /* Assign 0's to all fields of record */;
                                                                //    935     head_type = integers; head_form = v in s
#line 935 "regression-compile-tmp/vax-pass2.imp"
HEAD.TYPE = 16;
#line 935 "regression-compile-tmp/vax-pass2.imp"
HEAD.FORM = 2;
                                                                //    936  
                                                                //    937     select input tank (icode);  select output tank (object)
#line 937 "regression-compile-tmp/vax-pass2.imp"
SELECTINPUTTANK(ICODE);
#line 937 "regression-compile-tmp/vax-pass2.imp"
SELECTOUTPUTTANK(OBJECT);
                                                                //    938     select output (diag stream)
#line 938 "regression-compile-tmp/vax-pass2.imp"
_imp_SELECTOUTPUT(2);
                                                                //    939  
                                                                //    940     var(0) = 0
#line 940 "regression-compile-tmp/vax-pass2.imp"
VAR[0] = (VARFM){ 0 } /* Assign 0's to all fields of record */;
                                                                //    941     activity(pc)  = -1
#line 941 "regression-compile-tmp/vax-pass2.imp"
ACTIVITY[16] = (-1);
                                                                //    942     activity(sp)  = -1
#line 942 "regression-compile-tmp/vax-pass2.imp"
ACTIVITY[15] = (-1);
                                                                //    943     activity(fp)  = -1
#line 943 "regression-compile-tmp/vax-pass2.imp"
ACTIVITY[14] = (-1);
                                                                //    944     activity(ap)  = -1
#line 944 "regression-compile-tmp/vax-pass2.imp"
ACTIVITY[13] = (-1);
                                                                //    945     activity(gla) = -1
#line 945 "regression-compile-tmp/vax-pass2.imp"
ACTIVITY[12] = (-1);
                                                                //    946     activity(0)   = -1
#line 946 "regression-compile-tmp/vax-pass2.imp"
ACTIVITY[0] = (-1);
                                                                //    947  
                                                                //    948     %for j = 0, 1, max stack-1 %cycle
#line 948 "regression-compile-tmp/vax-pass2.imp"
J = (-1);
if ((((24)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle J = 0, 1, 24");
L_0002:;
if (J == 24) goto L_0003;
J += 1;
                                                                //    949        stak(j)_link == stak(j+1)
#line 949 "regression-compile-tmp/vax-pass2.imp"
STAK[J].LINK = &STAK[(((int)(J)) + (1))];
                                                                //    950        dlist(j)_link == dlist(j+1)
#line 950 "regression-compile-tmp/vax-pass2.imp"
DLIST[J].LINK = &DLIST[(((int)(J)) + (1))];
                                                                //    951     %repeat
#line 951 "regression-compile-tmp/vax-pass2.imp"
goto L_0002;
#line 951 "regression-compile-tmp/vax-pass2.imp"
L_0003:;
                                                                //    952  
                                                                //    953     stak(max stack)_link == null
#line 953 "regression-compile-tmp/vax-pass2.imp"
STAK[25].LINK = NULL;
                                                                //    954     dlist(max stack)_link == null
#line 954 "regression-compile-tmp/vax-pass2.imp"
DLIST[25].LINK = NULL;
                                                                //    955     desc asl == stak(0)
#line 955 "regression-compile-tmp/vax-pass2.imp"
DESCASL = &STAK[0];
                                                                //    956     dasl == dlist(0)
#line 956 "regression-compile-tmp/vax-pass2.imp"
DASL = &DLIST[0];
                                                                //    957  
                                                                //    958     using_link == null
#line 958 "regression-compile-tmp/vax-pass2.imp"
USING.LINK = NULL;
                                                                //    959  
                                                                //    960     decvar == begin
#line 960 "regression-compile-tmp/vax-pass2.imp"
DECVAR = &BEGIN;
                                                                //    961  
                                                                //    962     !********************************************
                                                                //    963  
                                                                //    964  
                                                                //    965  ! Utilities
                                                                //    966  
                                                                //    967     %predicate  ZERO (%record(stackfm) %name v)
#line 967 "regression-compile-tmp/vax-pass2.imp"
int /*Boolean*/ ZERO(  STACKFM /*name*/*V )
#line 967 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //    968        ! check descriptor for zero
                                                                //    969        %false %unless v_form = constant %and v_type&(integers!reals) # 0
#line 969 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (0))) goto L_0004;
#line 969 "regression-compile-tmp/vax-pass2.imp"
if (((((V->TYPE) & (((16) | (35))))) != (0))) goto L_0005;
#line 969 "regression-compile-tmp/vax-pass2.imp"
L_0004:;
#line 969 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 969 "regression-compile-tmp/vax-pass2.imp"
L_0005:;
                                                                //    970        %false %unless v_disp = 0 %and v_oper = 0
#line 970 "regression-compile-tmp/vax-pass2.imp"
if (((V->DISP) != (0))) goto L_0006;
#line 970 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) == (0))) goto L_0007;
#line 970 "regression-compile-tmp/vax-pass2.imp"
L_0006:;
#line 970 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 970 "regression-compile-tmp/vax-pass2.imp"
L_0007:;
                                                                //    971        %false %if v_type = reall %and v_mantissa # 0
#line 971 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) != (36))) goto L_0008;
#line 971 "regression-compile-tmp/vax-pass2.imp"
if (((V->MANTISSA) == (0))) goto L_0008;
#line 971 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 971 "regression-compile-tmp/vax-pass2.imp"
L_0008:;
                                                                //    972        %true
#line 972 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //    973     %end
#line 973 "regression-compile-tmp/vax-pass2.imp"
} // End of block ZERO at level 2
                                                                //    974  
                                                                //    975     %predicate  CONST (%record(stackfm) %name v)
#line 975 "regression-compile-tmp/vax-pass2.imp"
int /*Boolean*/ CONST(  STACKFM /*name*/*V )
#line 975 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //    976        ! check descriptor for a constant value (integer)
                                                                //    977        %true %if v_form = constant %and v_oper = 0 %and v_type&integers # 0
#line 977 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (0))) goto L_0009;
#line 977 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) != (0))) goto L_0009;
#line 977 "regression-compile-tmp/vax-pass2.imp"
if (((((V->TYPE) & (16))) == (0))) goto L_0009;
#line 977 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 977 "regression-compile-tmp/vax-pass2.imp"
L_0009:;
                                                                //    978        %false
#line 978 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //    979     %end
#line 979 "regression-compile-tmp/vax-pass2.imp"
} // End of block CONST at level 2
                                                                //    980  
                                                                //    981     %predicate  SAME (%record(stackfm) %name  a, b)
#line 981 "regression-compile-tmp/vax-pass2.imp"
int /*Boolean*/ SAME(  STACKFM /*name*/*A,  STACKFM /*name*/*B )
#line 981 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //    982        %switch  f (constant : a in rec)
#line 982 "regression-compile-tmp/vax-pass2.imp"
static int sw1_F_idx;
static const void * /*SWITCH*/ sw1_F[8] = { &&sw1_F_0, &&sw1_F_1, &&sw1_F_2, &&sw1_F_3, &&sw1_F_4, &&sw1_F_5, &&sw1_F_6, &&sw1_F_7,  };
                                                                //    983        %false %unless a_oper = 0 = b_oper %c
#line 983 "regression-compile-tmp/vax-pass2.imp"
if ((((A->OPER) != (0))) || (((0) != (B->OPER)))) goto L_000a;
#line 983 "regression-compile-tmp/vax-pass2.imp"
if ((((((A->FLAGS) & (1))) != (0))) || (((0) != (((B->FLAGS) & (1)))))) goto L_000a;
#line 983 "regression-compile-tmp/vax-pass2.imp"
if (((A->TYPE) != (B->TYPE))) goto L_000a;
#line 983 "regression-compile-tmp/vax-pass2.imp"
if (((A->FORM) != (B->FORM))) goto L_000a;
#line 983 "regression-compile-tmp/vax-pass2.imp"
if (((A->XNO) != (B->XNO))) goto L_000a;
#line 983 "regression-compile-tmp/vax-pass2.imp"
if (((A->FLAGS) == (B->FLAGS))) goto L_000b;
#line 983 "regression-compile-tmp/vax-pass2.imp"
L_000a:;
#line 983 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 983 "regression-compile-tmp/vax-pass2.imp"
L_000b:;
                                                                //    984                  %and a_flags&indexed = 0 = b_flags&indexed %c
                                                                //    985                  %and a_type = b_type     %c
                                                                //    986                  %and a_form = b_form     %c
                                                                //    987                  %and a_xno  = b_xno      %c
                                                                //    988                  %and a_flags = b_flags
                                                                //    989        %if a_type&records # 0 %start
#line 989 "regression-compile-tmp/vax-pass2.imp"
if (((((A->TYPE) & (128))) == (0))) goto L_000c;
                                                                //    990           %false %unless a_format = b_format
#line 990 "regression-compile-tmp/vax-pass2.imp"
if (((A->FORMAT) == (B->FORMAT))) goto L_000d;
#line 990 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 990 "regression-compile-tmp/vax-pass2.imp"
L_000d:;
                                                                //    991        %finish
#line 991 "regression-compile-tmp/vax-pass2.imp"
L_000c:;
                                                                //    992        -> f (a_form&7)
#line 992 "regression-compile-tmp/vax-pass2.imp"
sw1_F_idx = ((A->FORM) & (7)); if ((0 <= sw1_F_idx) && (sw1_F_idx <= 7)) goto *sw1_F[sw1_F_idx]; else {
   /*_imp_signal(8, 2, sw1_F_idx);*/
   fprintf(stderr, "%%SWITCH index F(%d) not in range 0:7 at %s:%d\n",
           sw1_F_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //    993     f(constant):
#line 993 "regression-compile-tmp/vax-pass2.imp"
sw1_F_0:;
                                                                //    994        %true %if a_type&integers # 0 %and a_disp  = b_disp
#line 994 "regression-compile-tmp/vax-pass2.imp"
if (((((A->TYPE) & (16))) == (0))) goto L_000e;
#line 994 "regression-compile-tmp/vax-pass2.imp"
if (((A->DISP) != (B->DISP))) goto L_000e;
#line 994 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 994 "regression-compile-tmp/vax-pass2.imp"
L_000e:;
                                                                //    995        %true %if a_type&real bit # 0 %and a_lrval = b_lrval
#line 995 "regression-compile-tmp/vax-pass2.imp"
if (((((A->TYPE) & (32))) == (0))) goto L_000f;
#line 995 "regression-compile-tmp/vax-pass2.imp"
if (((A->LRVAL) != (B->LRVAL))) goto L_000f;
#line 995 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 995 "regression-compile-tmp/vax-pass2.imp"
L_000f:;
                                                                //    996        %false
#line 996 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //    997     f(v in rec):
#line 997 "regression-compile-tmp/vax-pass2.imp"
sw1_F_5:;
                                                                //    998     f(a in rec):
#line 998 "regression-compile-tmp/vax-pass2.imp"
sw1_F_7:;
                                                                //    999     f(av in rec):
#line 999 "regression-compile-tmp/vax-pass2.imp"
sw1_F_6:;
                                                                //   1000        %false %unless a_extra = b_extra
#line 1000 "regression-compile-tmp/vax-pass2.imp"
if (((A->EXTRA) == (B->EXTRA))) goto L_0010;
#line 1000 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1000 "regression-compile-tmp/vax-pass2.imp"
L_0010:;
                                                                //   1001     f(v in s):
#line 1001 "regression-compile-tmp/vax-pass2.imp"
sw1_F_2:;
                                                                //   1002     f(a in s):
#line 1002 "regression-compile-tmp/vax-pass2.imp"
sw1_F_4:;
                                                                //   1003     f(av in s):
#line 1003 "regression-compile-tmp/vax-pass2.imp"
sw1_F_3:;
                                                                //   1004        %false %unless a_disp = b_disp
#line 1004 "regression-compile-tmp/vax-pass2.imp"
if (((A->DISP) == (B->DISP))) goto L_0011;
#line 1004 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1004 "regression-compile-tmp/vax-pass2.imp"
L_0011:;
                                                                //   1005     f(v in r):
#line 1005 "regression-compile-tmp/vax-pass2.imp"
sw1_F_1:;
                                                                //   1006        %false %unless a_base = b_base
#line 1006 "regression-compile-tmp/vax-pass2.imp"
if (((A->BASE) == (B->BASE))) goto L_0012;
#line 1006 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1006 "regression-compile-tmp/vax-pass2.imp"
L_0012:;
                                                                //   1007        %true
#line 1007 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   1008     %end
#line 1008 "regression-compile-tmp/vax-pass2.imp"
} // End of block SAME at level 2
                                                                //   1009  
                                                                //   1010     %predicate  FLOATING (%record(stackfm) %name  v)
#line 1010 "regression-compile-tmp/vax-pass2.imp"
int /*Boolean*/ FLOATING(  STACKFM /*name*/*V )
#line 1010 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1011        %true  %if v_type&real bit # 0
#line 1011 "regression-compile-tmp/vax-pass2.imp"
if (((((V->TYPE) & (32))) == (0))) goto L_0013;
#line 1011 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1011 "regression-compile-tmp/vax-pass2.imp"
L_0013:;
                                                                //   1012        %false %if v_oper <= neg
#line 1012 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) > (8))) goto L_0014;
#line 1012 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1012 "regression-compile-tmp/vax-pass2.imp"
L_0014:;
                                                                //   1013        %true  %if v_oper = rdiv %or v_oper = rexp
#line 1013 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) == (23))) goto L_0015;
#line 1013 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) != (22))) goto L_0016;
#line 1013 "regression-compile-tmp/vax-pass2.imp"
L_0015:;
#line 1013 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1013 "regression-compile-tmp/vax-pass2.imp"
L_0016:;
                                                                //   1014        %false %if v_link_type&real bit = 0
#line 1014 "regression-compile-tmp/vax-pass2.imp"
if (((((V->LINK->TYPE) & (32))) != (0))) goto L_0017;
#line 1014 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1014 "regression-compile-tmp/vax-pass2.imp"
L_0017:;
                                                                //   1015        %true
#line 1015 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   1016     %end
#line 1016 "regression-compile-tmp/vax-pass2.imp"
} // End of block FLOATING at level 2
                                                                //   1017  
                                                                //   1018     %predicate  IN FREE REG (%record(stackfm) %name  v)
#line 1018 "regression-compile-tmp/vax-pass2.imp"
int /*Boolean*/ INFREEREG(  STACKFM /*name*/*V )
#line 1018 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1019        ! true if v is in a useable register
                                                                //   1020        %false %unless v_form = v in r
#line 1020 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) == (1))) goto L_0018;
#line 1020 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1020 "regression-compile-tmp/vax-pass2.imp"
L_0018:;
                                                                //   1021        %false %unless activity(v_base) = 1
#line 1021 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[V->BASE]) == (1))) goto L_0019;
#line 1021 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1021 "regression-compile-tmp/vax-pass2.imp"
L_0019:;
                                                                //   1022        %true
#line 1022 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   1023     %end
#line 1023 "regression-compile-tmp/vax-pass2.imp"
} // End of block INFREEREG at level 2
                                                                //   1024  
                                                                //   1025  
                                                                //   1026  !diagnostics
                                                                //   1027  
                                                                //   1028     %string(15) %function  TYPE STR (%integer type, max)
#line 1028 "regression-compile-tmp/vax-pass2.imp"
_imp_string /*%string(15)*/ TYPESTR( int TYPE, int MAX )
#line 1028 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1029        %string(15)  res = ""
#line 1029 "regression-compile-tmp/vax-pass2.imp"
_imp_string /*%string(15)*/ RES;
#line 1029 "regression-compile-tmp/vax-pass2.imp"
RES = _imp_str_literal("");
                                                                //   1030        %integer  i
#line 1030 "regression-compile-tmp/vax-pass2.imp"
int I;
                                                                //   1031        %const %byte %array  tbits (0 : 9) =
#line 1031 "regression-compile-tmp/vax-pass2.imp"
const unsigned char TBITS[10] = { 0, 128, 64, 68, 36, 35, 17, 21, 18, 16,  };
                                                                //   1032           0, records, strings, strings!in work, reall, reals,
                                                                //   1033           integers+short, integers+long, integers+byte, integers
                                                                //   1034        %const %string(15) %array  tstr (0 : 9) =
#line 1034 "regression-compile-tmp/vax-pass2.imp"
const _imp_string /*%string(15)*/ TSTR[10] = { _imp_str_literal("no-type"), _imp_str_literal("record  "), _imp_str_literal("string  "), _imp_str_literal("w/string"), _imp_str_literal("l-real  "), _imp_str_literal("real    "), _imp_str_literal("shortinteger"), _imp_str_literal("long integer"), _imp_str_literal("byte integer"), _imp_str_literal("integer "),  };
                                                                //   1035           "no-type", "record  ", "string  ", "w/string", "l-real  ",
                                                                //   1036           "real    ","shortinteger", "long integer", "byte integer",
                                                                //   1037           "integer "
                                                                //   1038        type = type & 16_FF
#line 1038 "regression-compile-tmp/vax-pass2.imp"
TYPE = ((TYPE) & (255));
                                                                //   1039        %for i = 0, 1, 9 %cycle
#line 1039 "regression-compile-tmp/vax-pass2.imp"
I = (-1);
if ((((9)-(0)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle I = 0, 1, 9");
L_001a:;
if (I == 9) goto L_001b;
I += 1;
                                                                //   1040           res = tstr(i) %and %exit %if type = tbits(i)
#line 1040 "regression-compile-tmp/vax-pass2.imp"
if (((TYPE) != (TBITS[I]))) goto L_001d;
#line 1040 "regression-compile-tmp/vax-pass2.imp"
RES = TSTR[I];
#line 1040 "regression-compile-tmp/vax-pass2.imp"
goto L_001b;
#line 1040 "regression-compile-tmp/vax-pass2.imp"
L_001d:;
                                                                //   1041        %repeat
#line 1041 "regression-compile-tmp/vax-pass2.imp"
goto L_001a;
#line 1041 "regression-compile-tmp/vax-pass2.imp"
L_001b:;
                                                                //   1042        res = "type=" . itos(type,-3) %if res = ""
#line 1042 "regression-compile-tmp/vax-pass2.imp"
if ((_imp_strcmp(RES, _imp_str_literal("")) != 0)) goto L_001e;
#line 1042 "regression-compile-tmp/vax-pass2.imp"
RES = _imp_join((_imp_string)_imp_str_literal("type="),(_imp_string)ITOS(TYPE, (-3)));
#line 1042 "regression-compile-tmp/vax-pass2.imp"
L_001e:;
                                                                //   1043        length(res) = max %if length(res) > max
#line 1043 "regression-compile-tmp/vax-pass2.imp"
if (((*_imp_LENGTH(&RES)) <= (MAX))) goto L_001f;
#line 1043 "regression-compile-tmp/vax-pass2.imp"
*_imp_LENGTH(&RES) = MAX;
#line 1043 "regression-compile-tmp/vax-pass2.imp"
L_001f:;
                                                                //   1044        %result = res
#line 1044 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return RES;
                                                                //   1045     %end
#line 1045 "regression-compile-tmp/vax-pass2.imp"
} // End of block TYPESTR at level 2
                                                                //   1046  
                                                                //   1047     %routine  PREC (%record(stackfm) %name v)
#line 1047 "regression-compile-tmp/vax-pass2.imp"
void PREC(  STACKFM /*name*/*V )
#line 1047 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1048        %integer  op, val
#line 1048 "regression-compile-tmp/vax-pass2.imp"
int OP;
#line 1048 "regression-compile-tmp/vax-pass2.imp"
int VAL;
                                                                //   1049        %const %string(9) %array fmstr (0 : 7) =
#line 1049 "regression-compile-tmp/vax-pass2.imp"
const _imp_string /*%string(9)*/ FMSTR[8] = { _imp_str_literal("constant "), _imp_str_literal("V-in-R   "), _imp_str_literal("V-in-S   "), _imp_str_literal("AV-in-S  "), _imp_str_literal("A-in-S   "), _imp_str_literal("V-in-Rec "), _imp_str_literal("AV-in-Rec"), _imp_str_literal("A-in-Rec "),  };
                                                                //   1050           "constant ", "V-in-R   ", "V-in-S   ", "AV-in-S  ",
                                                                //   1051           "A-in-S   ", "V-in-Rec ", "AV-in-Rec", "A-in-Rec "
                                                                //   1052  
                                                                //   1053        %routine  NON ZERO (%integer n, %string(15) m)
#line 1053 "regression-compile-tmp/vax-pass2.imp"
void NONZERO( int N, _imp_string /*%string(15)*/ M )
#line 1053 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1054           %if n # 0 %start
#line 1054 "regression-compile-tmp/vax-pass2.imp"
if (((N) == (0))) goto L_0020;
                                                                //   1055              print string (m)
#line 1055 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(M);
                                                                //   1056              write (n, 0)
#line 1056 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE(N, 0);
                                                                //   1057           %finish
#line 1057 "regression-compile-tmp/vax-pass2.imp"
L_0020:;
                                                                //   1058        %end
#line 1058 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block NONZERO at level 3
                                                                //   1059  
                                                                //   1060        %if v == null %start
#line 1060 "regression-compile-tmp/vax-pass2.imp"
if (((V) != (NULL))) goto L_0021;
                                                                //   1061           print string ("(NULL!!!!!)")
#line 1061 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("(NULL!!!!!)"));
                                                                //   1062           newline
#line 1062 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1063           %return
#line 1063 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1064        %finish
#line 1064 "regression-compile-tmp/vax-pass2.imp"
L_0021:;
                                                                //   1065        %if v_form = 15 %start
#line 1065 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (15))) goto L_0022;
                                                                //   1066           print string ("Label")
#line 1066 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("Label"));
                                                                //   1067           spaces (17)
#line 1067 "regression-compile-tmp/vax-pass2.imp"
_imp_SPACES(17);
                                                                //   1068        %else
#line 1068 "regression-compile-tmp/vax-pass2.imp"
goto L_0023;
#line 1068 "regression-compile-tmp/vax-pass2.imp"
L_0022:;
                                                                //   1069           print string (fmstr(v_form&7))
#line 1069 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(FMSTR[((V->FORM) & (7))]);
                                                                //   1070           space;  print string (type str (v_type, 8))
#line 1070 "regression-compile-tmp/vax-pass2.imp"
_imp_SPACE();
#line 1070 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(TYPESTR(V->TYPE, 8));
                                                                //   1071           space;  val = v_form & (\15)
#line 1071 "regression-compile-tmp/vax-pass2.imp"
_imp_SPACE();
#line 1071 "regression-compile-tmp/vax-pass2.imp"
VAL = ((V->FORM) & ((~(15))));
                                                                //   1072           %if val&arrayname bit # 0 %then print string ("AN") %c
#line 1072 "regression-compile-tmp/vax-pass2.imp"
if (((((VAL) & (64))) == (0))) goto L_0024;
#line 1072 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("AN"));
#line 1072 "regression-compile-tmp/vax-pass2.imp"
goto L_0025;
#line 1072 "regression-compile-tmp/vax-pass2.imp"
L_0024:;
#line 1072 "regression-compile-tmp/vax-pass2.imp"
if (((((VAL) & (16))) == (0))) goto L_0026;
#line 1072 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("PR"));
#line 1072 "regression-compile-tmp/vax-pass2.imp"
goto L_0025;
#line 1072 "regression-compile-tmp/vax-pass2.imp"
L_0026:;
#line 1072 "regression-compile-tmp/vax-pass2.imp"
_imp_SPACES(2);
#line 1072 "regression-compile-tmp/vax-pass2.imp"
L_0025:;
                                                                //   1073           %else %if val&proc bit # 0 %then print string ("PR") %c
                                                                //   1074           %else spaces (2)
                                                                //   1075        %finish
#line 1075 "regression-compile-tmp/vax-pass2.imp"
L_0023:;
                                                                //   1076        space;   write (v_mantissa, 5)
#line 1076 "regression-compile-tmp/vax-pass2.imp"
_imp_SPACE();
#line 1076 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE(V->MANTISSA, 5);
                                                                //   1077        print symbol ('@') %if v_flags&(indexed!xdefer) = indexed!xdefer
#line 1077 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (((1) | (2))))) != (((1) | (2))))) goto L_0027;
#line 1077 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSYMBOL(64);
#line 1077 "regression-compile-tmp/vax-pass2.imp"
L_0027:;
                                                                //   1078        write (v_disp, 5)
#line 1078 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE(V->DISP, 5);
                                                                //   1079        %if v_form # constant %start
#line 1079 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) == (0))) goto L_0028;
                                                                //   1080           print symbol ('-') %if v_flags&autod # 0 %and v_disp = 0
#line 1080 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (8))) == (0))) goto L_0029;
#line 1080 "regression-compile-tmp/vax-pass2.imp"
if (((V->DISP) != (0))) goto L_0029;
#line 1080 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSYMBOL(45);
#line 1080 "regression-compile-tmp/vax-pass2.imp"
L_0029:;
                                                                //   1081           printsymbol ('(')
#line 1081 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSYMBOL(40);
                                                                //   1082           print string (reg name(v_base))
#line 1082 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(REGNAME[V->BASE]);
                                                                //   1083           printsymbol (')')
#line 1083 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSYMBOL(41);
                                                                //   1084           print symbol ('+') %if v_flags&autoi # 0 %and v_disp = 0
#line 1084 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (4))) == (0))) goto L_002a;
#line 1084 "regression-compile-tmp/vax-pass2.imp"
if (((V->DISP) != (0))) goto L_002a;
#line 1084 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSYMBOL(43);
#line 1084 "regression-compile-tmp/vax-pass2.imp"
L_002a:;
                                                                //   1085           %if v_flags&indexed # 0 %start
#line 1085 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (1))) == (0))) goto L_002b;
                                                                //   1086              print symbol ('[')
#line 1086 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSYMBOL(91);
                                                                //   1087              print string (reg name(v_index))
#line 1087 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(REGNAME[V->INDEX]);
                                                                //   1088              print symbol (']')
#line 1088 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSYMBOL(93);
                                                                //   1089              write (v_iscale, 0); space
#line 1089 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE(V->ISCALE, 0);
#line 1089 "regression-compile-tmp/vax-pass2.imp"
_imp_SPACE();
                                                                //   1090           %finish
#line 1090 "regression-compile-tmp/vax-pass2.imp"
L_002b:;
                                                                //   1091           %if v_form >= v in rec %start
#line 1091 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) < (5))) goto L_002c;
                                                                //   1092              print string (": ")
#line 1092 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal(": "));
                                                                //   1093              write (v_extra, 0)
#line 1093 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE(V->EXTRA, 0);
                                                                //   1094           %finish
#line 1094 "regression-compile-tmp/vax-pass2.imp"
L_002c:;
                                                                //   1095        %finish
#line 1095 "regression-compile-tmp/vax-pass2.imp"
L_0028:;
                                                                //   1096        non zero (v_header, " hdr=")
#line 1096 "regression-compile-tmp/vax-pass2.imp"
NONZERO(V->HEADER, _imp_str_literal(" hdr="));
                                                                //   1097        non zero (v_xno, " xno=")
#line 1097 "regression-compile-tmp/vax-pass2.imp"
NONZERO(V->XNO, _imp_str_literal(" xno="));
                                                                //   1098        print string (" L="); write (v_length,0)
#line 1098 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal(" L="));
#line 1098 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE(V->LENGTH, 0);
                                                                //   1099        op = v_oper
#line 1099 "regression-compile-tmp/vax-pass2.imp"
OP = V->OPER;
                                                                //   1100        %if op # 0 %start
#line 1100 "regression-compile-tmp/vax-pass2.imp"
if (((OP) == (0))) goto L_002d;
                                                                //   1101           print string (" oper=")
#line 1101 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal(" oper="));
                                                                //   1102           %if not <= op <= brem %start
#line 1102 "regression-compile-tmp/vax-pass2.imp"
if ((((7) > (OP))) || (((OP) > (29)))) goto L_002e;
                                                                //   1103              print symbol ('"')
#line 1103 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSYMBOL(34);
                                                                //   1104              print string (op name(op))
#line 1104 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING((OPNAME-7)[OP]);
                                                                //   1105              print symbol ('"')
#line 1105 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSYMBOL(34);
                                                                //   1106              %if op > neg %start
#line 1106 "regression-compile-tmp/vax-pass2.imp"
if (((OP) <= (8))) goto L_002f;
                                                                //   1107                 newline;  spaces (13)
#line 1107 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
#line 1107 "regression-compile-tmp/vax-pass2.imp"
_imp_SPACES(13);
                                                                //   1108                 prec (v_link)
#line 1108 "regression-compile-tmp/vax-pass2.imp"
PREC(V->LINK);
                                                                //   1109                 %return
#line 1109 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1110              %finish
#line 1110 "regression-compile-tmp/vax-pass2.imp"
L_002f:;
                                                                //   1111           %else
#line 1111 "regression-compile-tmp/vax-pass2.imp"
goto L_0030;
#line 1111 "regression-compile-tmp/vax-pass2.imp"
L_002e:;
                                                                //   1112              write (op, 0)
#line 1112 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE(OP, 0);
                                                                //   1113           %finish
#line 1113 "regression-compile-tmp/vax-pass2.imp"
L_0030:;
                                                                //   1114        %finish
#line 1114 "regression-compile-tmp/vax-pass2.imp"
L_002d:;
                                                                //   1115        newline
#line 1115 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1116     %end
#line 1116 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PREC at level 2
                                                                //   1117  
                                                                //   1118     %routine  STACK DUMP
#line 1118 "regression-compile-tmp/vax-pass2.imp"
void STACKDUMP( void )
#line 1118 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1119        %integer  sp = stp
#line 1119 "regression-compile-tmp/vax-pass2.imp"
int SP;
#line 1119 "regression-compile-tmp/vax-pass2.imp"
SP = STP;
                                                                //   1120        print string ("Stack:")
#line 1120 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("Stack:"));
                                                                //   1121        %if sp <= 0 %start
#line 1121 "regression-compile-tmp/vax-pass2.imp"
if (((SP) > (0))) goto L_0031;
                                                                //   1122           print string (" empty")
#line 1122 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal(" empty"));
                                                                //   1123           newline
#line 1123 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1124        %else
#line 1124 "regression-compile-tmp/vax-pass2.imp"
goto L_0032;
#line 1124 "regression-compile-tmp/vax-pass2.imp"
L_0031:;
                                                                //   1125           newline
#line 1125 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1126           %while sp > 0 %cycle
#line 1126 "regression-compile-tmp/vax-pass2.imp"
L_0033:;
#line 1126 "regression-compile-tmp/vax-pass2.imp"
if (((SP) <= (0))) goto L_0034;
                                                                //   1127              write (sp, 2);   spaces (10)
#line 1127 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE(SP, 2);
#line 1127 "regression-compile-tmp/vax-pass2.imp"
_imp_SPACES(10);
                                                                //   1128              prec (stacked(sp));   sp = sp - 1
#line 1128 "regression-compile-tmp/vax-pass2.imp"
PREC(STACKED[(((int)(SP)) - (1))]);
#line 1128 "regression-compile-tmp/vax-pass2.imp"
SP = (((int)(SP)) - (1));
                                                                //   1129           %repeat
#line 1129 "regression-compile-tmp/vax-pass2.imp"
goto L_0033;
#line 1129 "regression-compile-tmp/vax-pass2.imp"
L_0034:;
                                                                //   1130        %finish
#line 1130 "regression-compile-tmp/vax-pass2.imp"
L_0032:;
                                                                //   1131     %end
#line 1131 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block STACKDUMP at level 2
                                                                //   1132  
                                                                //   1133     %routine  MON REG (%string(20) s, %integer r)
#line 1133 "regression-compile-tmp/vax-pass2.imp"
void MONREG( _imp_string /*%string(20)*/ S, int R )
#line 1133 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1134        print string (s);   print symbol (':')
#line 1134 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(S);
#line 1134 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSYMBOL(58);
                                                                //   1135        spaces (11 - length(s))
#line 1135 "regression-compile-tmp/vax-pass2.imp"
_imp_SPACES(((11) - (*(int *)(_imp_LENGTH(&S)))));
                                                                //   1136        print string (reg name(r))
#line 1136 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(REGNAME[R]);
                                                                //   1137        newline
#line 1137 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1138     %end
#line 1138 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MONREG at level 2
                                                                //   1139  
                                                                //   1140     %routine  MONITOR (%record(stackfm) %name v, %string(15) s)
#line 1140 "regression-compile-tmp/vax-pass2.imp"
void MONITOR(  STACKFM /*name*/*V, _imp_string /*%string(15)*/ S )
#line 1140 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1141        print string (s)
#line 1141 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(S);
                                                                //   1142        printsymbol (':')
#line 1142 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSYMBOL(58);
                                                                //   1143        spaces (12-length(s))
#line 1143 "regression-compile-tmp/vax-pass2.imp"
_imp_SPACES(((12) - (*(int *)(_imp_LENGTH(&S)))));
                                                                //   1144        prec (v)
#line 1144 "regression-compile-tmp/vax-pass2.imp"
PREC(V);
                                                                //   1145        stack dump %if diag&4096 # 0
#line 1145 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (4096))) == (0))) goto L_0036;
#line 1145 "regression-compile-tmp/vax-pass2.imp"
STACKDUMP();
#line 1145 "regression-compile-tmp/vax-pass2.imp"
L_0036:;
                                                                //   1146        %monitor %if diag&8192 # 0
#line 1146 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (8192))) == (0))) goto L_0037;
#line 1146 "regression-compile-tmp/vax-pass2.imp"
_imp_monitor(0, (_imp_current_line != 0 ? _imp_current_line : __LINE__), (_imp_current_file != 0 ? _imp_current_file : __FILE__), __PRETTY_FUNCTION__);
#line 1146 "regression-compile-tmp/vax-pass2.imp"
L_0037:;
                                                                //   1147     %end
#line 1147 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MONITOR at level 2
                                                                //   1148  
                                                                //   1149     %routine  SHOW REGS
#line 1149 "regression-compile-tmp/vax-pass2.imp"
void SHOWREGS( void )
#line 1149 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1150        %integer  reg
#line 1150 "regression-compile-tmp/vax-pass2.imp"
int REG;
                                                                //   1151        print string ("Register activity: "); newline
#line 1151 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("Register activity: "));
#line 1151 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1152        print string ("  R0  R1  R2  R3  R4  R5  R6  R7  R8  R9 R10  F0  F2  F4")
#line 1152 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("  R0  R1  R2  R3  R4  R5  R6  R7  R8  R9 R10  F0  F2  F4"));
                                                                //   1153        newline
#line 1153 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1154        %for reg = r0, 1, r10 %cycle
#line 1154 "regression-compile-tmp/vax-pass2.imp"
REG = 0;
if ((((11)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle REG = 1, 1, 11");
L_0038:;
if (REG == 11) goto L_0039;
REG += 1;
                                                                //   1155           %if activity(reg) < 0 %start
#line 1155 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[REG]) >= (0))) goto L_003b;
                                                                //   1156              print string ("   L")
#line 1156 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("   L"));
                                                                //   1157           %else
#line 1157 "regression-compile-tmp/vax-pass2.imp"
goto L_003c;
#line 1157 "regression-compile-tmp/vax-pass2.imp"
L_003b:;
                                                                //   1158              write (activity(reg), 3)
#line 1158 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE(ACTIVITY[REG], 3);
                                                                //   1159           %finish
#line 1159 "regression-compile-tmp/vax-pass2.imp"
L_003c:;
                                                                //   1160        %repeat
#line 1160 "regression-compile-tmp/vax-pass2.imp"
goto L_0038;
#line 1160 "regression-compile-tmp/vax-pass2.imp"
L_0039:;
                                                                //   1161        %for reg = fpr0, 1, fpr4 %cycle
#line 1161 "regression-compile-tmp/vax-pass2.imp"
REG = 17;
if ((((20)-(18)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle REG = 18, 1, 20");
L_003d:;
if (REG == 20) goto L_003e;
REG += 1;
                                                                //   1162           %if activity(reg) < 0 %then print string ("   L") %c
#line 1162 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[REG]) >= (0))) goto L_0040;
#line 1162 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("   L"));
#line 1162 "regression-compile-tmp/vax-pass2.imp"
goto L_0041;
#line 1162 "regression-compile-tmp/vax-pass2.imp"
L_0040:;
#line 1162 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE(ACTIVITY[REG], 3);
#line 1162 "regression-compile-tmp/vax-pass2.imp"
L_0041:;
                                                                //   1163                                 %else write (activity(reg), 3)
                                                                //   1164        %repeat
#line 1164 "regression-compile-tmp/vax-pass2.imp"
goto L_003d;
#line 1164 "regression-compile-tmp/vax-pass2.imp"
L_003e:;
                                                                //   1165        newline
#line 1165 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1166        print string ("[]")
#line 1166 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("[]"));
                                                                //   1167        write (indx(r0), -2)
#line 1167 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE((INDX-1)[1], (-2));
                                                                //   1168        write (indx(reg), 3) %for reg = r1, 1, r10
#line 1168 "regression-compile-tmp/vax-pass2.imp"
REG = 1;
if ((((11)-(2)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle REG = 2, 1, 11");
L_0042:;
if (REG == 11) goto L_0043;
REG += 1;
#line 1168 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE((INDX-1)[REG], 3);
#line 1168 "regression-compile-tmp/vax-pass2.imp"
goto L_0042;
#line 1168 "regression-compile-tmp/vax-pass2.imp"
L_0043:;
                                                                //   1169        newline
#line 1169 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1170     %end
#line 1170 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SHOWREGS at level 2
                                                                //   1171  
                                                                //   1172     %routine  ABORT (%integer n)
#line 1172 "regression-compile-tmp/vax-pass2.imp"
void ABORT( int N )
#line 1172 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1173        !report catastrophic failure and stop
                                                                //   1174        flush code
#line 1174 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
                                                                //   1175        select output (0)
#line 1175 "regression-compile-tmp/vax-pass2.imp"
_imp_SELECTOUTPUT(0);
                                                                //   1176        newline
#line 1176 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1177        print string ("***Pass 2 fails ")
#line 1177 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("***Pass 2 fails "));
                                                                //   1178        write (n, 0)
#line 1178 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE(N, 0);
                                                                //   1179        print string (" at line ")
#line 1179 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal(" at line "));
                                                                //   1180        write (current line, 0)
#line 1180 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE(CURRENTLINE, 0);
                                                                //   1181        newlines (2)
#line 1181 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINES(2);
                                                                //   1182        show regs;   newline
#line 1182 "regression-compile-tmp/vax-pass2.imp"
SHOWREGS();
#line 1182 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1183        stack dump;  newline
#line 1183 "regression-compile-tmp/vax-pass2.imp"
STACKDUMP();
#line 1183 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1184        print string ("Using:")
#line 1184 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("Using:"));
                                                                //   1185        %if using_link == null %start
#line 1185 "regression-compile-tmp/vax-pass2.imp"
if (((USING.LINK) != (NULL))) goto L_0045;
                                                                //   1186           print string (" empty")
#line 1186 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal(" empty"));
                                                                //   1187           newline
#line 1187 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1188        %else
#line 1188 "regression-compile-tmp/vax-pass2.imp"
goto L_0046;
#line 1188 "regression-compile-tmp/vax-pass2.imp"
L_0045:;
                                                                //   1189           newline
#line 1189 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1190           %while using_link ## null %cycle
#line 1190 "regression-compile-tmp/vax-pass2.imp"
L_0047:;
#line 1190 "regression-compile-tmp/vax-pass2.imp"
if (((USING.LINK) == (NULL))) goto L_0048;
                                                                //   1191              spaces (13)
#line 1191 "regression-compile-tmp/vax-pass2.imp"
_imp_SPACES(13);
                                                                //   1192              prec (using_link_d)
#line 1192 "regression-compile-tmp/vax-pass2.imp"
PREC(USING.LINK->D);
                                                                //   1193              using_link == using_link_link
#line 1193 "regression-compile-tmp/vax-pass2.imp"
USING.LINK = USING.LINK->LINK;
                                                                //   1194           %repeat
#line 1194 "regression-compile-tmp/vax-pass2.imp"
goto L_0047;
#line 1194 "regression-compile-tmp/vax-pass2.imp"
L_0048:;
                                                                //   1195        %finish
#line 1195 "regression-compile-tmp/vax-pass2.imp"
L_0046:;
                                                                //   1196        newline
#line 1196 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1197        %monitor
#line 1197 "regression-compile-tmp/vax-pass2.imp"
_imp_monitor(0, (_imp_current_line != 0 ? _imp_current_line : __LINE__), (_imp_current_file != 0 ? _imp_current_file : __FILE__), __PRETTY_FUNCTION__);
                                                                //   1198        exit (16_1000002C)    {1000002c is SS$_ABORT with the inhibit message bit set - could just use EXIT_FAILURE}
#line 1198 "regression-compile-tmp/vax-pass2.imp"
EXIT(268435500);
                                                                //   1199        %stop;      ! we don't come back - let pass 1/2 know..
#line 1199 "regression-compile-tmp/vax-pass2.imp"
exit(0);
                                                                //   1200     %end
#line 1200 "regression-compile-tmp/vax-pass2.imp"
return;
} // End of block ABORT at level 2
                                                                //   1201  
                                                                //   1202     %routine  ERROR (%integer sym, %string(127) s)
#line 1202 "regression-compile-tmp/vax-pass2.imp"
void ERROR( int SYM, _imp_string /*%string(127)*/ S )
#line 1202 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1203        %own %integer erred = 0
#line 1203 "regression-compile-tmp/vax-pass2.imp"
static int ERRED = 0;
                                                                //   1204        %integer st = report
#line 1204 "regression-compile-tmp/vax-pass2.imp"
int ST;
#line 1204 "regression-compile-tmp/vax-pass2.imp"
ST = 0;
                                                                //   1205        %return %if line error # 0
#line 1205 "regression-compile-tmp/vax-pass2.imp"
if (((LINEERROR) == (0))) goto L_004a;
#line 1205 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1205 "regression-compile-tmp/vax-pass2.imp"
L_004a:;
                                                                //   1206        line error = 1
#line 1206 "regression-compile-tmp/vax-pass2.imp"
LINEERROR = 1;
                                                                //   1207        %cycle
#line 1207 "regression-compile-tmp/vax-pass2.imp"
L_004b:;
                                                                //   1208           select output (st)
#line 1208 "regression-compile-tmp/vax-pass2.imp"
_imp_SELECTOUTPUT(ST);
                                                                //   1209           %if erred = 0 %start
#line 1209 "regression-compile-tmp/vax-pass2.imp"
if (((ERRED) != (0))) goto L_004e;
                                                                //   1210              print string ("Pass 2:")
#line 1210 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("Pass 2:"));
                                                                //   1211              newline
#line 1211 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1212           %finish
#line 1212 "regression-compile-tmp/vax-pass2.imp"
L_004e:;
                                                                //   1213           %if sym = '!' %start
#line 1213 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (33))) goto L_004f;
                                                                //   1214              print string ("**** Fatal error at line ")
#line 1214 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("**** Fatal error at line "));
                                                                //   1215              write (current line, 0)
#line 1215 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE(CURRENTLINE, 0);
                                                                //   1216              print symbol (':')
#line 1216 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSYMBOL(58);
                                                                //   1217           %else
#line 1217 "regression-compile-tmp/vax-pass2.imp"
goto L_0050;
#line 1217 "regression-compile-tmp/vax-pass2.imp"
L_004f:;
                                                                //   1218              print symbol (sym)
#line 1218 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSYMBOL(SYM);
                                                                //   1219              write (current line, 4)
#line 1219 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE(CURRENTLINE, 4);
                                                                //   1220           %finish
#line 1220 "regression-compile-tmp/vax-pass2.imp"
L_0050:;
                                                                //   1221           spaces (2);   print string (s)
#line 1221 "regression-compile-tmp/vax-pass2.imp"
_imp_SPACES(2);
#line 1221 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(S);
                                                                //   1222           newline
#line 1222 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1223           %exit %if st # report
#line 1223 "regression-compile-tmp/vax-pass2.imp"
if (((ST) == (0))) goto L_0051;
#line 1223 "regression-compile-tmp/vax-pass2.imp"
goto L_004c;
#line 1223 "regression-compile-tmp/vax-pass2.imp"
L_0051:;
                                                                //   1224           st = diag stream
#line 1224 "regression-compile-tmp/vax-pass2.imp"
ST = 2;
                                                                //   1225        %repeat
#line 1225 "regression-compile-tmp/vax-pass2.imp"
goto L_004b;
#line 1225 "regression-compile-tmp/vax-pass2.imp"
L_004c:;
                                                                //   1226        exit (fatal) %if sym = '!'
#line 1226 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (33))) goto L_0052;
#line 1226 "regression-compile-tmp/vax-pass2.imp"
EXIT(268435500);
#line 1226 "regression-compile-tmp/vax-pass2.imp"
L_0052:;
                                                                //   1227        erred = 1
#line 1227 "regression-compile-tmp/vax-pass2.imp"
ERRED = 1;
                                                                //   1228        errors = errors + 1 %if sym # '?'
#line 1228 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) == (63))) goto L_0053;
#line 1228 "regression-compile-tmp/vax-pass2.imp"
ERRORS = (((int)(ERRORS)) + (1));
#line 1228 "regression-compile-tmp/vax-pass2.imp"
L_0053:;
                                                                //   1229     %end
#line 1229 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ERROR at level 2
                                                                //   1230  
                                                                //   1231     %integer %function  NEW TAG
#line 1231 "regression-compile-tmp/vax-pass2.imp"
int NEWTAG( void )
#line 1231 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1232        %own %integer tag = 0
#line 1232 "regression-compile-tmp/vax-pass2.imp"
static int TAG = 0;
                                                                //   1233        tag = tag + 1
#line 1233 "regression-compile-tmp/vax-pass2.imp"
TAG = (((int)(TAG)) + (1));
                                                                //   1234        %result = tag
#line 1234 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return TAG;
                                                                //   1235     %end
#line 1235 "regression-compile-tmp/vax-pass2.imp"
} // End of block NEWTAG at level 2
                                                                //   1236  
                                                                //   1237  !code planting routines
                                                                //   1238  
                                                                //   1239     %routine  SET LINE
#line 1239 "regression-compile-tmp/vax-pass2.imp"
void SETLINE( void )
#line 1239 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1240        %own %integer last line = 0
#line 1240 "regression-compile-tmp/vax-pass2.imp"
static int LASTLINE = 0;
                                                                //   1241        %return %if command & 8 = 0
#line 1241 "regression-compile-tmp/vax-pass2.imp"
if (((((COMMAND) & (8))) != (0))) goto L_0054;
#line 1241 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1241 "regression-compile-tmp/vax-pass2.imp"
L_0054:;
                                                                //   1242        %return %if last line = current line %or current line = 0
#line 1242 "regression-compile-tmp/vax-pass2.imp"
if (((LASTLINE) == (CURRENTLINE))) goto L_004d;
#line 1242 "regression-compile-tmp/vax-pass2.imp"
if (((CURRENTLINE) != (0))) goto L_0055;
#line 1242 "regression-compile-tmp/vax-pass2.imp"
L_004d:;
#line 1242 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1242 "regression-compile-tmp/vax-pass2.imp"
L_0055:;
                                                                //   1243        last line = current line
#line 1243 "regression-compile-tmp/vax-pass2.imp"
LASTLINE = CURRENTLINE;
                                                                //   1244        diag lines = diag lines + 6
#line 1244 "regression-compile-tmp/vax-pass2.imp"
DIAGLINES = (((int)(DIAGLINES)) + (6));
                                                                //   1245        put (obj line);  put word (current line)
#line 1245 "regression-compile-tmp/vax-pass2.imp"
PUT(15);
#line 1245 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(CURRENTLINE);
                                                                //   1246     %end
#line 1246 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETLINE at level 2
                                                                //   1247  
                                                                //   1248     %routine  FLUSH CODE
#line 1248 "regression-compile-tmp/vax-pass2.imp"
void FLUSHCODE( void )
#line 1248 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1249        %return %if cp = 0
#line 1249 "regression-compile-tmp/vax-pass2.imp"
if (((CP) != (0))) goto L_0056;
#line 1249 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1249 "regression-compile-tmp/vax-pass2.imp"
L_0056:;
                                                                //   1250        set line
#line 1250 "regression-compile-tmp/vax-pass2.imp"
SETLINE();
                                                                //   1251        put (obj code)
#line 1251 "regression-compile-tmp/vax-pass2.imp"
PUT(2);
                                                                //   1252        put (cp)
#line 1252 "regression-compile-tmp/vax-pass2.imp"
PUT(CP);
                                                                //   1253        put block (cp, codebuffer(1))
#line 1253 "regression-compile-tmp/vax-pass2.imp"
PUTBLOCK(CP, &(CODEBUFFER-1)[1]);
                                                                //   1254        cp = 0
#line 1254 "regression-compile-tmp/vax-pass2.imp"
CP = 0;
                                                                //   1255     %end
#line 1255 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FLUSHCODE at level 2
                                                                //   1256  
                                                                //   1257     %routine  PUT NUMBER BYTE (%integer n)
#line 1257 "regression-compile-tmp/vax-pass2.imp"
void PUTNUMBERBYTE( int N )
#line 1257 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1258        cp = cp + 1
#line 1258 "regression-compile-tmp/vax-pass2.imp"
CP = (((int)(CP)) + (1));
                                                                //   1259        code buffer(cp) = n&255
#line 1259 "regression-compile-tmp/vax-pass2.imp"
(CODEBUFFER-1)[CP] = ((N) & (255));
                                                                //   1260        flush code %if cp > 120
#line 1260 "regression-compile-tmp/vax-pass2.imp"
if (((CP) <= (120))) goto L_0057;
#line 1260 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
#line 1260 "regression-compile-tmp/vax-pass2.imp"
L_0057:;
                                                                //   1261        ca = ca + 1
#line 1261 "regression-compile-tmp/vax-pass2.imp"
CA = (((int)(CA)) + (1));
                                                                //   1262     %end
#line 1262 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTNUMBERBYTE at level 2
                                                                //   1263  
                                                                //   1264     %routine  PUT CODE (%integer op)
#line 1264 "regression-compile-tmp/vax-pass2.imp"
void PUTCODE( int OP )
#line 1264 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1265        op = op&255
#line 1265 "regression-compile-tmp/vax-pass2.imp"
OP = ((OP) & (255));
                                                                //   1266        put number byte (op)
#line 1266 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE(OP);
                                                                //   1267        %if diag&128 # 0 %start
#line 1267 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (128))) == (0))) goto L_0058;
                                                                //   1268           print string ("Op code = ")
#line 1268 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("Op code = "));
                                                                //   1269           print string (op mnem(op))
#line 1269 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(OPMNEM[OP]);
                                                                //   1270           newline
#line 1270 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   1271        %finish
#line 1271 "regression-compile-tmp/vax-pass2.imp"
L_0058:;
                                                                //   1272     %end
#line 1272 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUTCODE at level 2
                                                                //   1273  
                                                                //   1274     %routine  WORD (%integer n)
#line 1274 "regression-compile-tmp/vax-pass2.imp"
void WORD( int N )
#line 1274 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1275        shortinteger(addr(codebuffer(cp+1))) = n
#line 1275 "regression-compile-tmp/vax-pass2.imp"
*_imp_SHORTINTEGER(_imp_ADDR(&(CODEBUFFER-1)[(((int)(CP)) + (1))])) = N;
                                                                //   1276        cp = cp + 2
#line 1276 "regression-compile-tmp/vax-pass2.imp"
CP = (((int)(CP)) + (2));
                                                                //   1277        flush code %if cp > 120
#line 1277 "regression-compile-tmp/vax-pass2.imp"
if (((CP) <= (120))) goto L_0059;
#line 1277 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
#line 1277 "regression-compile-tmp/vax-pass2.imp"
L_0059:;
                                                                //   1278        ca = ca + 2
#line 1278 "regression-compile-tmp/vax-pass2.imp"
CA = (((int)(CA)) + (2));
                                                                //   1279     %end
#line 1279 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block WORD at level 2
                                                                //   1280  
                                                                //   1281     %routine  LONGWORD (%integer n)
#line 1281 "regression-compile-tmp/vax-pass2.imp"
void LONGWORD( int N )
#line 1281 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1282        integer(addr(codebuffer(cp+1))) = n
#line 1282 "regression-compile-tmp/vax-pass2.imp"
*_imp_INTEGER(_imp_ADDR(&(CODEBUFFER-1)[(((int)(CP)) + (1))])) = N;
                                                                //   1283        cp = cp + 4
#line 1283 "regression-compile-tmp/vax-pass2.imp"
CP = (((int)(CP)) + (4));
                                                                //   1284        flush code %if cp > 120
#line 1284 "regression-compile-tmp/vax-pass2.imp"
if (((CP) <= (120))) goto L_005a;
#line 1284 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
#line 1284 "regression-compile-tmp/vax-pass2.imp"
L_005a:;
                                                                //   1285        ca = ca + 4
#line 1285 "regression-compile-tmp/vax-pass2.imp"
CA = (((int)(CA)) + (4));
                                                                //   1286     %end
#line 1286 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block LONGWORD at level 2
                                                                //   1287  
                                                                //   1288     %routine FLUSH GLA
#line 1288 "regression-compile-tmp/vax-pass2.imp"
void FLUSHGLA( void )
#line 1288 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1289        %return %if gp = 0
#line 1289 "regression-compile-tmp/vax-pass2.imp"
if (((GP) != (0))) goto L_005b;
#line 1289 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1289 "regression-compile-tmp/vax-pass2.imp"
L_005b:;
                                                                //   1290        put (obj gla)
#line 1290 "regression-compile-tmp/vax-pass2.imp"
PUT(3);
                                                                //   1291        put long (ga-gp)
#line 1291 "regression-compile-tmp/vax-pass2.imp"
PUTLONG((((int)(GA)) - (GP)));
                                                                //   1292        put (gp)
#line 1292 "regression-compile-tmp/vax-pass2.imp"
PUT(GP);
                                                                //   1293        put block (gp, gla buffer(1))
#line 1293 "regression-compile-tmp/vax-pass2.imp"
PUTBLOCK(GP, &(GLABUFFER-1)[1]);
                                                                //   1294        gp = 0
#line 1294 "regression-compile-tmp/vax-pass2.imp"
GP = 0;
                                                                //   1295     %end
#line 1295 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FLUSHGLA at level 2
                                                                //   1296  
                                                                //   1297     %routine  INIT GLA (%integer count, size, val)
#line 1297 "regression-compile-tmp/vax-pass2.imp"
void INITGLA( int COUNT, int SIZE, int VAL )
#line 1297 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1298        flush gla
#line 1298 "regression-compile-tmp/vax-pass2.imp"
FLUSHGLA();
                                                                //   1299        put (obj glam)
#line 1299 "regression-compile-tmp/vax-pass2.imp"
PUT(22);
                                                                //   1300        put long (ga)
#line 1300 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(GA);
                                                                //   1301        put long (val)
#line 1301 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(VAL);
                                                                //   1302        put long (count)
#line 1302 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(COUNT);
                                                                //   1303        put long (size)
#line 1303 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(SIZE);
                                                                //   1304        ga = ga + size*count
#line 1304 "regression-compile-tmp/vax-pass2.imp"
GA = ((GA) + ((int)((((int)(SIZE)) * (COUNT)))));
                                                                //   1305     %end
#line 1305 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block INITGLA at level 2
                                                                //   1306  
                                                                //   1307     %routine  GBYTE (%integer v)
#line 1307 "regression-compile-tmp/vax-pass2.imp"
void GBYTE( int V )
#line 1307 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1308        gp = gp + 1;  ga = ga + 1
#line 1308 "regression-compile-tmp/vax-pass2.imp"
GP = (((int)(GP)) + (1));
#line 1308 "regression-compile-tmp/vax-pass2.imp"
GA = (((int)(GA)) + (1));
                                                                //   1309        gla buffer(gp) = v&255
#line 1309 "regression-compile-tmp/vax-pass2.imp"
(GLABUFFER-1)[GP] = ((V) & (255));
                                                                //   1310        flush gla %if gp > 120
#line 1310 "regression-compile-tmp/vax-pass2.imp"
if (((GP) <= (120))) goto L_005c;
#line 1310 "regression-compile-tmp/vax-pass2.imp"
FLUSHGLA();
#line 1310 "regression-compile-tmp/vax-pass2.imp"
L_005c:;
                                                                //   1311     %end
#line 1311 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GBYTE at level 2
                                                                //   1312  
                                                                //   1313     %routine  GWORD (%integer v)
#line 1313 "regression-compile-tmp/vax-pass2.imp"
void GWORD( int V )
#line 1313 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1314        shortinteger(addr(glabuffer(gp+1))) = v
#line 1314 "regression-compile-tmp/vax-pass2.imp"
*_imp_SHORTINTEGER(_imp_ADDR(&(GLABUFFER-1)[(((int)(GP)) + (1))])) = V;
                                                                //   1315        gp = gp + 2;  ga = ga + 2
#line 1315 "regression-compile-tmp/vax-pass2.imp"
GP = (((int)(GP)) + (2));
#line 1315 "regression-compile-tmp/vax-pass2.imp"
GA = (((int)(GA)) + (2));
                                                                //   1316        flush gla %if gp > 120
#line 1316 "regression-compile-tmp/vax-pass2.imp"
if (((GP) <= (120))) goto L_005d;
#line 1316 "regression-compile-tmp/vax-pass2.imp"
FLUSHGLA();
#line 1316 "regression-compile-tmp/vax-pass2.imp"
L_005d:;
                                                                //   1317     %end
#line 1317 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GWORD at level 2
                                                                //   1318  
                                                                //   1319     %routine  GLONGWORD (%integer v)
#line 1319 "regression-compile-tmp/vax-pass2.imp"
void GLONGWORD( int V )
#line 1319 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1320        integer(addr(glabuffer(gp+1))) = v
#line 1320 "regression-compile-tmp/vax-pass2.imp"
*_imp_INTEGER(_imp_ADDR(&(GLABUFFER-1)[(((int)(GP)) + (1))])) = V;
                                                                //   1321        gp = gp + 4; ga = ga + 4
#line 1321 "regression-compile-tmp/vax-pass2.imp"
GP = (((int)(GP)) + (4));
#line 1321 "regression-compile-tmp/vax-pass2.imp"
GA = (((int)(GA)) + (4));
                                                                //   1322        flush gla %if gp > 120
#line 1322 "regression-compile-tmp/vax-pass2.imp"
if (((GP) <= (120))) goto L_005e;
#line 1322 "regression-compile-tmp/vax-pass2.imp"
FLUSHGLA();
#line 1322 "regression-compile-tmp/vax-pass2.imp"
L_005e:;
                                                                //   1323     %end
#line 1323 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GLONGWORD at level 2
                                                                //   1324  
                                                                //   1325     %routine  GFIX (%integer mask)
#line 1325 "regression-compile-tmp/vax-pass2.imp"
void GFIX( int MASK )
#line 1325 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1326        gbyte (0) %while ga&mask # 0
#line 1326 "regression-compile-tmp/vax-pass2.imp"
L_005f:;
#line 1326 "regression-compile-tmp/vax-pass2.imp"
if (((((GA) & (MASK))) == (0))) goto L_0060;
#line 1326 "regression-compile-tmp/vax-pass2.imp"
GBYTE(0);
#line 1326 "regression-compile-tmp/vax-pass2.imp"
goto L_005f;
#line 1326 "regression-compile-tmp/vax-pass2.imp"
L_0060:;
                                                                //   1327     %end
#line 1327 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GFIX at level 2
                                                                //   1328  
                                                                //   1329     %integer %function  SCALE TYPE (%integer len)
#line 1329 "regression-compile-tmp/vax-pass2.imp"
int SCALETYPE( int LEN )
#line 1329 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1330        %result = byte  %if len = 1;   ! byte
#line 1330 "regression-compile-tmp/vax-pass2.imp"
if (((LEN) != (1))) goto L_0062;
#line 1330 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 2;
#line 1330 "regression-compile-tmp/vax-pass2.imp"
L_0062:;
                                                                //   1331        %result = short %if len = 2;   ! word
#line 1331 "regression-compile-tmp/vax-pass2.imp"
if (((LEN) != (2))) goto L_0063;
#line 1331 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1331 "regression-compile-tmp/vax-pass2.imp"
L_0063:;
                                                                //   1332        %result = 0     %if len = 4;   ! longword
#line 1332 "regression-compile-tmp/vax-pass2.imp"
if (((LEN) != (4))) goto L_0064;
#line 1332 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1332 "regression-compile-tmp/vax-pass2.imp"
L_0064:;
                                                                //   1333        %result = long  %if len = 8;   ! quadword (not double)
#line 1333 "regression-compile-tmp/vax-pass2.imp"
if (((LEN) != (8))) goto L_0065;
#line 1333 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 5;
#line 1333 "regression-compile-tmp/vax-pass2.imp"
L_0065:;
                                                                //   1334        %result = -1
#line 1334 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return (-1);
                                                                //   1335     %end
#line 1335 "regression-compile-tmp/vax-pass2.imp"
} // End of block SCALETYPE at level 2
                                                                //   1336  
                                                                //   1337     %integer %function  CTYPE (%integer  i)
#line 1337 "regression-compile-tmp/vax-pass2.imp"
int CTYPE( int I )
#line 1337 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1338        ! Given an integer value, returns the type
                                                                //   1339        ! code required to contain this value.
                                                                //   1340        ! Note that this applies to IMP-type ranges
                                                                //   1341        ! ie.  byte 0:255, NOT -128:127
                                                                //   1342        ! result -1 means that the value may be contained
                                                                //   1343        ! in a short literal operand (type irrelevant)
                                                                //   1344        %result = -1    %if 0 <= i <= 63
#line 1344 "regression-compile-tmp/vax-pass2.imp"
if ((((0) > (I))) || (((I) > (63)))) goto L_0066;
#line 1344 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return (-1);
#line 1344 "regression-compile-tmp/vax-pass2.imp"
L_0066:;
                                                                //   1345        %result = byte  %if 0 <= i <= 255
#line 1345 "regression-compile-tmp/vax-pass2.imp"
if ((((0) > (I))) || (((I) > (255)))) goto L_0067;
#line 1345 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 2;
#line 1345 "regression-compile-tmp/vax-pass2.imp"
L_0067:;
                                                                //   1346        %result = short %if \16_7FFF <= i <= 16_7FFF
#line 1346 "regression-compile-tmp/vax-pass2.imp"
if (((((~(32767))) > (I))) || (((I) > (32767)))) goto L_0068;
#line 1346 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1346 "regression-compile-tmp/vax-pass2.imp"
L_0068:;
                                                                //   1347        %result = 0 {int}
#line 1347 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1348     %end
#line 1348 "regression-compile-tmp/vax-pass2.imp"
} // End of block CTYPE at level 2
                                                                //   1349  
                                                                //   1350     %integer %function  MSIZE (%integer val)
#line 1350 "regression-compile-tmp/vax-pass2.imp"
int MSIZE( int VAL )
#line 1350 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1351        ! Returns the number of bytes required to
                                                                //   1352        ! hold an integer constant of value 'val'
                                                                //   1353        ! Note: value interpreted as machine signed
                                                                //   1354        ! value.
                                                                //   1355        ! (0 => short lit OK)
                                                                //   1356        %result = 0 %if 0        <= val <= 63;     ! Short lit
#line 1356 "regression-compile-tmp/vax-pass2.imp"
if ((((0) > (VAL))) || (((VAL) > (63)))) goto L_0069;
#line 1356 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1356 "regression-compile-tmp/vax-pass2.imp"
L_0069:;
                                                                //   1357        %result = 1 %if -128     <= val <= 127
#line 1357 "regression-compile-tmp/vax-pass2.imp"
if (((((-128)) > (VAL))) || (((VAL) > (127)))) goto L_006a;
#line 1357 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1357 "regression-compile-tmp/vax-pass2.imp"
L_006a:;
                                                                //   1358        %result = 2 %if \16_7FFF <= val <= 16_7FFF
#line 1358 "regression-compile-tmp/vax-pass2.imp"
if (((((~(32767))) > (VAL))) || (((VAL) > (32767)))) goto L_006b;
#line 1358 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 2;
#line 1358 "regression-compile-tmp/vax-pass2.imp"
L_006b:;
                                                                //   1359        %result = 4
#line 1359 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 4;
                                                                //   1360     %end
#line 1360 "regression-compile-tmp/vax-pass2.imp"
} // End of block MSIZE at level 2
                                                                //   1361  
                                                                //   1362     %predicate  FITS (%integer val, type)
#line 1362 "regression-compile-tmp/vax-pass2.imp"
int /*Boolean*/ FITS( int VAL, int TYPE )
#line 1362 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1363        ! True if the value val can be held
                                                                //   1364        ! in an object of type 'type' (IMP-types)
                                                                //   1365        %integer  vtype
#line 1365 "regression-compile-tmp/vax-pass2.imp"
int VTYPE;
                                                                //   1366        type = type&7
#line 1366 "regression-compile-tmp/vax-pass2.imp"
TYPE = ((TYPE) & (7));
                                                                //   1367        vtype = ctype (val)
#line 1367 "regression-compile-tmp/vax-pass2.imp"
VTYPE = CTYPE(VAL);
                                                                //   1368        %true %if vtype < 0;        ! Short lit : OK
#line 1368 "regression-compile-tmp/vax-pass2.imp"
if (((VTYPE) >= (0))) goto L_006c;
#line 1368 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1368 "regression-compile-tmp/vax-pass2.imp"
L_006c:;
                                                                //   1369        %true %if type = 0;         ! integer - OK
#line 1369 "regression-compile-tmp/vax-pass2.imp"
if (((TYPE) != (0))) goto L_006d;
#line 1369 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1369 "regression-compile-tmp/vax-pass2.imp"
L_006d:;
                                                                //   1370        %true %if type = short %and vtype # 0
#line 1370 "regression-compile-tmp/vax-pass2.imp"
if (((TYPE) != (1))) goto L_006e;
#line 1370 "regression-compile-tmp/vax-pass2.imp"
if (((VTYPE) == (0))) goto L_006e;
#line 1370 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1370 "regression-compile-tmp/vax-pass2.imp"
L_006e:;
                                                                //   1371        %true %if type = byte = vtype
#line 1371 "regression-compile-tmp/vax-pass2.imp"
if ((((TYPE) != (2))) || (((2) != (VTYPE)))) goto L_006f;
#line 1371 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 1371 "regression-compile-tmp/vax-pass2.imp"
L_006f:;
                                                                //   1372        %false
#line 1372 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
                                                                //   1373     %end
#line 1373 "regression-compile-tmp/vax-pass2.imp"
} // End of block FITS at level 2
                                                                //   1374  
                                                                //   1375     %integer %function  SHORT LITERAL (%record(stack fm) %name  v)
#line 1375 "regression-compile-tmp/vax-pass2.imp"
int SHORTLITERAL(  STACKFM /*name*/*V )
#line 1375 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1376        ! returns byte operand if v can be held as short lit,
                                                                //   1377        ! otherwise -1
                                                                //   1378        %if v_form = constant %and v_type&(integers!realbit) # 0 %start
#line 1378 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (0))) goto L_0070;
#line 1378 "regression-compile-tmp/vax-pass2.imp"
if (((((V->TYPE) & (((16) | (32))))) == (0))) goto L_0070;
                                                                //   1379           %if v_type&integers # 0 %start
#line 1379 "regression-compile-tmp/vax-pass2.imp"
if (((((V->TYPE) & (16))) == (0))) goto L_0071;
                                                                //   1380              %result = v_disp %if 0 <= v_disp <= 63
#line 1380 "regression-compile-tmp/vax-pass2.imp"
if ((((0) > (V->DISP))) || (((V->DISP) > (63)))) goto L_0072;
#line 1380 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return V->DISP;
#line 1380 "regression-compile-tmp/vax-pass2.imp"
L_0072:;
                                                                //   1381           %else %if v_mantissa = 0 %and
#line 1381 "regression-compile-tmp/vax-pass2.imp"
goto L_0073;
#line 1381 "regression-compile-tmp/vax-pass2.imp"
L_0071:;
#line 1381 "regression-compile-tmp/vax-pass2.imp"
if (((V->MANTISSA) != (0))) goto L_0074;
#line 1381 "regression-compile-tmp/vax-pass2.imp"
if (((((V->DISP) & ((-1009)))) != (16384))) goto L_0074;
                                                                //   1382                     v_disp&16_FFFFFC0F = 16_00004000
                                                                //   1383              %result = v_disp>>4&2_111 111
#line 1383 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return (((int)((((unsigned int)(V->DISP)) >> (4)))) & (63));
                                                                //   1384           %finish
#line 1384 "regression-compile-tmp/vax-pass2.imp"
L_0074:;
#line 1384 "regression-compile-tmp/vax-pass2.imp"
L_0073:;
                                                                //   1385        %finish
#line 1385 "regression-compile-tmp/vax-pass2.imp"
L_0070:;
                                                                //   1386        %result = -1
#line 1386 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return (-1);
                                                                //   1387     %end
#line 1387 "regression-compile-tmp/vax-pass2.imp"
} // End of block SHORTLITERAL at level 2
                                                                //   1388  
                                                                //   1389     %routine  OPERAND (%record(stackfm) %name v)
#line 1389 "regression-compile-tmp/vax-pass2.imp"
void OPERAND(  STACKFM /*name*/*V )
#line 1389 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1390        %integer  base, disp, abase, mod
#line 1390 "regression-compile-tmp/vax-pass2.imp"
int BASE;
#line 1390 "regression-compile-tmp/vax-pass2.imp"
int DISP;
#line 1390 "regression-compile-tmp/vax-pass2.imp"
int ABASE;
#line 1390 "regression-compile-tmp/vax-pass2.imp"
int MOD;
                                                                //   1391        %integer  index, size, val, err
#line 1391 "regression-compile-tmp/vax-pass2.imp"
int INDEX;
#line 1391 "regression-compile-tmp/vax-pass2.imp"
int SIZE;
#line 1391 "regression-compile-tmp/vax-pass2.imp"
int VAL;
#line 1391 "regression-compile-tmp/vax-pass2.imp"
int ERR;
                                                                //   1392        %switch  f (constant : a in rec)
#line 1392 "regression-compile-tmp/vax-pass2.imp"
static int sw2_F_idx;
static const void * /*SWITCH*/ sw2_F[8] = { &&sw2_F_0, &&sw2_F_1, &&sw2_F_2, &&sw2_F_3, &&sw2_F_4, &&sw2_F_5, &&sw2_F_6, &&sw2_F_7,  };
                                                                //   1393  
                                                                //   1394        monitor (v, "Operand") %if diag&128 # 0
#line 1394 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (128))) == (0))) goto L_0075;
#line 1394 "regression-compile-tmp/vax-pass2.imp"
MONITOR(V, _imp_str_literal("Operand"));
#line 1394 "regression-compile-tmp/vax-pass2.imp"
L_0075:;
                                                                //   1395        mod = 0
#line 1395 "regression-compile-tmp/vax-pass2.imp"
MOD = 0;
                                                                //   1396        disp = v_disp
#line 1396 "regression-compile-tmp/vax-pass2.imp"
DISP = V->DISP;
                                                                //   1397        abase = v_base
#line 1397 "regression-compile-tmp/vax-pass2.imp"
ABASE = V->BASE;
                                                                //   1398        abort (28) %if v_form = v in r %and
#line 1398 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (1))) goto L_0076;
#line 1398 "regression-compile-tmp/vax-pass2.imp"
if (((ABASE) == (16))) goto L_0061;
#line 1398 "regression-compile-tmp/vax-pass2.imp"
if (((ABASE) == (14))) goto L_0061;
#line 1398 "regression-compile-tmp/vax-pass2.imp"
if (((ABASE) != (13))) goto L_0076;
#line 1398 "regression-compile-tmp/vax-pass2.imp"
L_0061:;
#line 1398 "regression-compile-tmp/vax-pass2.imp"
ABORT(28);
#line 1398 "regression-compile-tmp/vax-pass2.imp"
L_0076:;
                                                                //   1399                       (abase = pc %or abase = fp %or abase = ap)
                                                                //   1400        %if abase = local %start
#line 1400 "regression-compile-tmp/vax-pass2.imp"
if (((ABASE) != (LOCAL))) goto L_0077;
                                                                //   1401           abase = fp
#line 1401 "regression-compile-tmp/vax-pass2.imp"
ABASE = 14;
                                                                //   1402           abase = ap %and disp = disp - 60 %if disp > 0;  !parameter
#line 1402 "regression-compile-tmp/vax-pass2.imp"
if (((DISP) <= (0))) goto L_0078;
#line 1402 "regression-compile-tmp/vax-pass2.imp"
ABASE = 13;
#line 1402 "regression-compile-tmp/vax-pass2.imp"
DISP = (((int)(DISP)) - (60));
#line 1402 "regression-compile-tmp/vax-pass2.imp"
L_0078:;
                                                                //   1403        %finish
#line 1403 "regression-compile-tmp/vax-pass2.imp"
L_0077:;
                                                                //   1404        abort (1) %if abase = 0 %and v_form # constant %and v_form # v in s
#line 1404 "regression-compile-tmp/vax-pass2.imp"
if (((ABASE) != (0))) goto L_0079;
#line 1404 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) == (0))) goto L_0079;
#line 1404 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) == (2))) goto L_0079;
#line 1404 "regression-compile-tmp/vax-pass2.imp"
ABORT(1);
#line 1404 "regression-compile-tmp/vax-pass2.imp"
L_0079:;
                                                                //   1405        abort (2) %if v_oper # 0
#line 1405 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) == (0))) goto L_007a;
#line 1405 "regression-compile-tmp/vax-pass2.imp"
ABORT(2);
#line 1405 "regression-compile-tmp/vax-pass2.imp"
L_007a:;
                                                                //   1406        base = actual reg(abase)
#line 1406 "regression-compile-tmp/vax-pass2.imp"
BASE = ACTUALREG[ABASE];
                                                                //   1407        entry mask = entry mask ! regmask(abase) %if v_form = v in r
#line 1407 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (1))) goto L_007b;
#line 1407 "regression-compile-tmp/vax-pass2.imp"
ENTRYMASK = ((ENTRYMASK) | (REGMASK[ABASE]));
#line 1407 "regression-compile-tmp/vax-pass2.imp"
L_007b:;
                                                                //   1408        %if v_flags&indexed # 0 %start
#line 1408 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (1))) == (0))) goto L_007c;
                                                                //   1409           index = v_index
#line 1409 "regression-compile-tmp/vax-pass2.imp"
INDEX = V->INDEX;
                                                                //   1410           abort (27) %if index = 0 %or index = pc %or
#line 1410 "regression-compile-tmp/vax-pass2.imp"
if (((INDEX) == (0))) goto L_0049;
#line 1410 "regression-compile-tmp/vax-pass2.imp"
if (((INDEX) == (16))) goto L_0049;
#line 1410 "regression-compile-tmp/vax-pass2.imp"
if (((INDEX) == (V->BASE))) goto L_0049;
#line 1410 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) == (2))) goto L_007d;
#line 1410 "regression-compile-tmp/vax-pass2.imp"
L_0049:;
#line 1410 "regression-compile-tmp/vax-pass2.imp"
ABORT(27);
#line 1410 "regression-compile-tmp/vax-pass2.imp"
L_007d:;
                                                                //   1411                          index = v_base %or v_form # v in s
                                                                //   1412           %if v_flags&xdefer # 0 %start; ! @base[index]
#line 1412 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (2))) == (0))) goto L_007e;
                                                                //   1413              abort (27) %if base < 0
#line 1413 "regression-compile-tmp/vax-pass2.imp"
if (((BASE) >= (0))) goto L_007f;
#line 1413 "regression-compile-tmp/vax-pass2.imp"
ABORT(27);
#line 1413 "regression-compile-tmp/vax-pass2.imp"
L_007f:;
                                                                //   1414              base = base ! 16
#line 1414 "regression-compile-tmp/vax-pass2.imp"
BASE = ((BASE) | (16));
                                                                //   1415           %finish
#line 1415 "regression-compile-tmp/vax-pass2.imp"
L_007e:;
                                                                //   1416           put number byte (16_40+index-1)
#line 1416 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE((((int)((((int)(64)) + (INDEX)))) - (1)));
                                                                //   1417           release (index!128)
#line 1417 "regression-compile-tmp/vax-pass2.imp"
RELEASE(((INDEX) | (128)));
                                                                //   1418        %finish
#line 1418 "regression-compile-tmp/vax-pass2.imp"
L_007c:;
                                                                //   1419        -> f (v_form)
#line 1419 "regression-compile-tmp/vax-pass2.imp"
sw2_F_idx = V->FORM; if ((0 <= sw2_F_idx) && (sw2_F_idx <= 7)) goto *sw2_F[sw2_F_idx]; else {
   /*_imp_signal(8, 2, sw2_F_idx);*/
   fprintf(stderr, "%%SWITCH index F(%d) not in range 0:7 at %s:%d\n",
           sw2_F_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   1420  
                                                                //   1421     f(constant):
#line 1421 "regression-compile-tmp/vax-pass2.imp"
sw2_F_0:;
                                                                //   1422        val = short literal (v)
#line 1422 "regression-compile-tmp/vax-pass2.imp"
VAL = SHORTLITERAL(V);
                                                                //   1423        %if val >= 0 %start;               ! short literal
#line 1423 "regression-compile-tmp/vax-pass2.imp"
if (((VAL) < (0))) goto L_0080;
                                                                //   1424           put number byte (val)
#line 1424 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE(VAL);
                                                                //   1425        %else %if v_type&real bit # 0
#line 1425 "regression-compile-tmp/vax-pass2.imp"
goto L_0081;
#line 1425 "regression-compile-tmp/vax-pass2.imp"
L_0080:;
#line 1425 "regression-compile-tmp/vax-pass2.imp"
if (((((V->TYPE) & (32))) == (0))) goto L_0082;
                                                                //   1426           put number byte (16_8f)
#line 1426 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE(143);
                                                                //   1427           longword (disp)
#line 1427 "regression-compile-tmp/vax-pass2.imp"
LONGWORD(DISP);
                                                                //   1428           longword (v_mantissa) %if v_type = reall
#line 1428 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) != (36))) goto L_0083;
#line 1428 "regression-compile-tmp/vax-pass2.imp"
LONGWORD(V->MANTISSA);
#line 1428 "regression-compile-tmp/vax-pass2.imp"
L_0083:;
                                                                //   1429        %else;                             !use immediate
#line 1429 "regression-compile-tmp/vax-pass2.imp"
goto L_0081;
#line 1429 "regression-compile-tmp/vax-pass2.imp"
L_0082:;
                                                                //   1430           put number byte (16_8F);        !(pc)+
#line 1430 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE(143);
                                                                //   1431           %unless fits (disp, v_type) %start
#line 1431 "regression-compile-tmp/vax-pass2.imp"
if (FITS(DISP, V->TYPE)) goto L_0084;
                                                                //   1432              err = '*'
#line 1432 "regression-compile-tmp/vax-pass2.imp"
ERR = 42;
                                                                //   1433              err = '?' %if control&ovf check = 0;   ! Warn only
#line 1433 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (16))) != (0))) goto L_0085;
#line 1433 "regression-compile-tmp/vax-pass2.imp"
ERR = 63;
#line 1433 "regression-compile-tmp/vax-pass2.imp"
L_0085:;
                                                                //   1434              error (err, "value " . itos(disp,0) . " overflows " . %c
#line 1434 "regression-compile-tmp/vax-pass2.imp"
ERROR(ERR, _imp_join((_imp_string)_imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("value "),(_imp_string)ITOS(DISP, 0)),(_imp_string)_imp_str_literal(" overflows ")),(_imp_string)TYPESTR(((V->TYPE) & (23)), 15)));
                                                                //   1435                          type str(v_type&(integers+7), 15))
                                                                //   1436           %finish
#line 1436 "regression-compile-tmp/vax-pass2.imp"
L_0084:;
                                                                //   1437           %if v_type = integers %start
#line 1437 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) != (16))) goto L_0086;
                                                                //   1438              longword (disp)
#line 1438 "regression-compile-tmp/vax-pass2.imp"
LONGWORD(DISP);
                                                                //   1439           %else %if v_type = short+integers
#line 1439 "regression-compile-tmp/vax-pass2.imp"
goto L_0087;
#line 1439 "regression-compile-tmp/vax-pass2.imp"
L_0086:;
#line 1439 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) != (17))) goto L_0088;
                                                                //   1440              word (disp)
#line 1440 "regression-compile-tmp/vax-pass2.imp"
WORD(DISP);
                                                                //   1441           %else %if v_type = byte+integers
#line 1441 "regression-compile-tmp/vax-pass2.imp"
goto L_0087;
#line 1441 "regression-compile-tmp/vax-pass2.imp"
L_0088:;
#line 1441 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) != (18))) goto L_0089;
                                                                //   1442              put number byte (disp)
#line 1442 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE(DISP);
                                                                //   1443           %finish
#line 1443 "regression-compile-tmp/vax-pass2.imp"
L_0089:;
#line 1443 "regression-compile-tmp/vax-pass2.imp"
L_0087:;
                                                                //   1444        %finish
#line 1444 "regression-compile-tmp/vax-pass2.imp"
L_0081:;
                                                                //   1445        %return
#line 1445 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1446  
                                                                //   1447     f(v in r):
#line 1447 "regression-compile-tmp/vax-pass2.imp"
sw2_F_1:;
                                                                //   1448        put number byte (16_50+base);      ! register
#line 1448 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE((((int)(80)) + (BASE)));
                                                                //   1449        %return
#line 1449 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1450  
                                                                //   1451     f(a in s):
#line 1451 "regression-compile-tmp/vax-pass2.imp"
sw2_F_4:;
                                                                //   1452        base = base ! 16;                  ! to overflow into mode field
#line 1452 "regression-compile-tmp/vax-pass2.imp"
BASE = ((BASE) | (16));
                                                                //   1453     f(v in s):
#line 1453 "regression-compile-tmp/vax-pass2.imp"
sw2_F_2:;
                                                                //   1454        %if base < 0 %start;               ! %const<*>%name, object(const adr)
#line 1454 "regression-compile-tmp/vax-pass2.imp"
if (((BASE) >= (0))) goto L_008a;
                                                                //   1455           put number byte (16_9f);        !@#
#line 1455 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE(159);
                                                                //   1456           longword (disp)
#line 1456 "regression-compile-tmp/vax-pass2.imp"
LONGWORD(DISP);
                                                                //   1457           %return
#line 1457 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1458        %finish
#line 1458 "regression-compile-tmp/vax-pass2.imp"
L_008a:;
                                                                //   1459        release (v_base)
#line 1459 "regression-compile-tmp/vax-pass2.imp"
RELEASE(V->BASE);
                                                                //   1460        %if v_xno # 0 %start
#line 1460 "regression-compile-tmp/vax-pass2.imp"
if (((V->XNO) == (0))) goto L_008b;
                                                                //   1461            flush code
#line 1461 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
                                                                //   1462            put (obj ext ref)
#line 1462 "regression-compile-tmp/vax-pass2.imp"
PUT(25);
                                                                //   1463            put word (v_xno);  put long (disp);  ca = ca + 5
#line 1463 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(V->XNO);
#line 1463 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(DISP);
#line 1463 "regression-compile-tmp/vax-pass2.imp"
CA = (((int)(CA)) + (5));
                                                                //   1464            put (base)
#line 1464 "regression-compile-tmp/vax-pass2.imp"
PUT(BASE);
                                                                //   1465            %return
#line 1465 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1466         %finish
#line 1466 "regression-compile-tmp/vax-pass2.imp"
L_008b:;
                                                                //   1467         ! check if param of higher level
                                                                //   1468         %if r6 <= abase <= r9 %and disp > 60 %and abase < local %start
#line 1468 "regression-compile-tmp/vax-pass2.imp"
if ((((7) > (ABASE))) || (((ABASE) > (10)))) goto L_008c;
#line 1468 "regression-compile-tmp/vax-pass2.imp"
if (((DISP) <= (60))) goto L_008c;
#line 1468 "regression-compile-tmp/vax-pass2.imp"
if (((ABASE) >= (LOCAL))) goto L_008c;
                                                                //   1469            flush code
#line 1469 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
                                                                //   1470            put (obj modd)
#line 1470 "regression-compile-tmp/vax-pass2.imp"
PUT(23);
                                                                //   1471            mod = 1
#line 1471 "regression-compile-tmp/vax-pass2.imp"
MOD = 1;
                                                                //   1472         %finish
#line 1472 "regression-compile-tmp/vax-pass2.imp"
L_008c:;
                                                                //   1473         size = msize (disp)
#line 1473 "regression-compile-tmp/vax-pass2.imp"
SIZE = MSIZE(DISP);
                                                                //   1474         %if size <= 1 %start;                     !byte displacement
#line 1474 "regression-compile-tmp/vax-pass2.imp"
if (((SIZE) > (1))) goto L_008d;
                                                                //   1475            %if disp = 0 %and base&16 = 0 %start;   !register deferred
#line 1475 "regression-compile-tmp/vax-pass2.imp"
if (((DISP) != (0))) goto L_008e;
#line 1475 "regression-compile-tmp/vax-pass2.imp"
if (((((BASE) & (16))) != (0))) goto L_008e;
                                                                //   1476               %if v_flags&auto d # 0 %start
#line 1476 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (8))) == (0))) goto L_008f;
                                                                //   1477                  put number byte (16_70+base)
#line 1477 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE((((int)(112)) + (BASE)));
                                                                //   1478               %else %if v_flags&auto i # 0
#line 1478 "regression-compile-tmp/vax-pass2.imp"
goto L_0090;
#line 1478 "regression-compile-tmp/vax-pass2.imp"
L_008f:;
#line 1478 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (4))) == (0))) goto L_0091;
                                                                //   1479                  put number byte (16_80+base)
#line 1479 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE((((int)(128)) + (BASE)));
                                                                //   1480               %else
#line 1480 "regression-compile-tmp/vax-pass2.imp"
goto L_0090;
#line 1480 "regression-compile-tmp/vax-pass2.imp"
L_0091:;
                                                                //   1481                  put number byte (16_60+base)
#line 1481 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE((((int)(96)) + (BASE)));
                                                                //   1482               %finish
#line 1482 "regression-compile-tmp/vax-pass2.imp"
L_0090:;
                                                                //   1483            %else
#line 1483 "regression-compile-tmp/vax-pass2.imp"
goto L_0092;
#line 1483 "regression-compile-tmp/vax-pass2.imp"
L_008e:;
                                                                //   1484               put number byte (16_A0+base)
#line 1484 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE((((int)(160)) + (BASE)));
                                                                //   1485               put number byte (disp)
#line 1485 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE(DISP);
                                                                //   1486            %finish
#line 1486 "regression-compile-tmp/vax-pass2.imp"
L_0092:;
                                                                //   1487         %else %if size = 2
#line 1487 "regression-compile-tmp/vax-pass2.imp"
goto L_0093;
#line 1487 "regression-compile-tmp/vax-pass2.imp"
L_008d:;
#line 1487 "regression-compile-tmp/vax-pass2.imp"
if (((SIZE) != (2))) goto L_0094;
                                                                //   1488            put number byte (16_c0+base)
#line 1488 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE((((int)(192)) + (BASE)));
                                                                //   1489            word (disp)
#line 1489 "regression-compile-tmp/vax-pass2.imp"
WORD(DISP);
                                                                //   1490         %else
#line 1490 "regression-compile-tmp/vax-pass2.imp"
goto L_0093;
#line 1490 "regression-compile-tmp/vax-pass2.imp"
L_0094:;
                                                                //   1491            put number byte (16_e0+base)
#line 1491 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE((((int)(224)) + (BASE)));
                                                                //   1492            longword (disp)
#line 1492 "regression-compile-tmp/vax-pass2.imp"
LONGWORD(DISP);
                                                                //   1493         %finish
#line 1493 "regression-compile-tmp/vax-pass2.imp"
L_0093:;
                                                                //   1494         flush code %if mod # 0
#line 1494 "regression-compile-tmp/vax-pass2.imp"
if (((MOD) == (0))) goto L_0095;
#line 1494 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
#line 1494 "regression-compile-tmp/vax-pass2.imp"
L_0095:;
                                                                //   1495         %return
#line 1495 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1496  
                                                                //   1497     f(*):abort (13)
#line 1497 "regression-compile-tmp/vax-pass2.imp"
sw2_F_default:;
#line 1497 "regression-compile-tmp/vax-pass2.imp"
ABORT(13);
                                                                //   1498     %end
#line 1498 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
sw2_F_3:;
sw2_F_5:;
sw2_F_6:;
sw2_F_7:;
goto sw2_F_default;
} // End of block OPERAND at level 2
                                                                //   1499  
                                                                //   1500     %routine  REMOVE (%record(stackfm) %name v)
#line 1500 "regression-compile-tmp/vax-pass2.imp"
void REMOVE(  STACKFM /*name*/*V )
#line 1500 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1501        release (v_base) %if v_form # v in r
#line 1501 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) == (1))) goto L_0096;
#line 1501 "regression-compile-tmp/vax-pass2.imp"
RELEASE(V->BASE);
#line 1501 "regression-compile-tmp/vax-pass2.imp"
L_0096:;
                                                                //   1502        release (v_index!128) %if v_flags&indexed # 0
#line 1502 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (1))) == (0))) goto L_0097;
#line 1502 "regression-compile-tmp/vax-pass2.imp"
RELEASE(((V->INDEX) | (128)));
#line 1502 "regression-compile-tmp/vax-pass2.imp"
L_0097:;
                                                                //   1503     %end
#line 1503 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block REMOVE at level 2
                                                                //   1504  
                                                                //   1505     %predicate  NEGATIVE (%record(stackfm) %name v)
#line 1505 "regression-compile-tmp/vax-pass2.imp"
int /*Boolean*/ NEGATIVE(  STACKFM /*name*/*V )
#line 1505 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1506        %false %if v_form # constant
#line 1506 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) == (0))) goto L_0098;
#line 1506 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1506 "regression-compile-tmp/vax-pass2.imp"
L_0098:;
                                                                //   1507        %if v_type&real bit # 0 %start
#line 1507 "regression-compile-tmp/vax-pass2.imp"
if (((((V->TYPE) & (32))) == (0))) goto L_0099;
                                                                //   1508           %false %unless v_disp&16_8000 # 0
#line 1508 "regression-compile-tmp/vax-pass2.imp"
if (((((V->DISP) & (32768))) != (0))) goto L_009a;
#line 1508 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1508 "regression-compile-tmp/vax-pass2.imp"
L_009a:;
                                                                //   1509           v_lrval = -v_lrval
#line 1509 "regression-compile-tmp/vax-pass2.imp"
V->LRVAL = (-(V->LRVAL));
                                                                //   1510        %else
#line 1510 "regression-compile-tmp/vax-pass2.imp"
goto L_009b;
#line 1510 "regression-compile-tmp/vax-pass2.imp"
L_0099:;
                                                                //   1511           %false %if v_disp = 16_80000000
#line 1511 "regression-compile-tmp/vax-pass2.imp"
if (((V->DISP) != ((-2147483648)))) goto L_009c;
#line 1511 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1511 "regression-compile-tmp/vax-pass2.imp"
L_009c:;
                                                                //   1512           %false %unless v_disp < 0
#line 1512 "regression-compile-tmp/vax-pass2.imp"
if (((V->DISP) < (0))) goto L_009d;
#line 1512 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 1512 "regression-compile-tmp/vax-pass2.imp"
L_009d:;
                                                                //   1513           v_disp = -v_disp
#line 1513 "regression-compile-tmp/vax-pass2.imp"
V->DISP = (-(V->DISP));
                                                                //   1514        %finish
#line 1514 "regression-compile-tmp/vax-pass2.imp"
L_009b:;
                                                                //   1515        %true
#line 1515 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   1516     %end
#line 1516 "regression-compile-tmp/vax-pass2.imp"
} // End of block NEGATIVE at level 2
                                                                //   1517  
                                                                //   1518     %routine  TEST ASSIGNED (%record(stackfm) %name v)
#line 1518 "regression-compile-tmp/vax-pass2.imp"
void TESTASSIGNED(  STACKFM /*name*/*V )
#line 1518 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1519        %integer op, old d
#line 1519 "regression-compile-tmp/vax-pass2.imp"
int OP;
#line 1519 "regression-compile-tmp/vax-pass2.imp"
int OLDD;
                                                                //   1520        %return %if v_form = constant %or v_form = v in r %or
#line 1520 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) == (0))) goto L_009e;
#line 1520 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) == (1))) goto L_009e;
#line 1520 "regression-compile-tmp/vax-pass2.imp"
if (((V->BASE) == (12))) goto L_009e;
#line 1520 "regression-compile-tmp/vax-pass2.imp"
if (((V->XNO) == (0))) goto L_009f;
#line 1520 "regression-compile-tmp/vax-pass2.imp"
L_009e:;
#line 1520 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1520 "regression-compile-tmp/vax-pass2.imp"
L_009f:;
                                                                //   1521                    v_base = gla      %or v_xno # 0
                                                                //   1522        v_form = v in r %if v_form = 255;       !special from plant2
#line 1522 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (255))) goto L_00a0;
#line 1522 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 1;
#line 1522 "regression-compile-tmp/vax-pass2.imp"
L_00a0:;
                                                                //   1523        %return %if control&ass check = 0
#line 1523 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (1))) != (0))) goto L_00a1;
#line 1523 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1523 "regression-compile-tmp/vax-pass2.imp"
L_00a1:;
                                                                //   1524        %if v_type = reall %then op = cmpd&255 %else op = cmpl&255
#line 1524 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) != (36))) goto L_00a2;
#line 1524 "regression-compile-tmp/vax-pass2.imp"
OP = ((244) & (255));
#line 1524 "regression-compile-tmp/vax-pass2.imp"
goto L_00a3;
#line 1524 "regression-compile-tmp/vax-pass2.imp"
L_00a2:;
#line 1524 "regression-compile-tmp/vax-pass2.imp"
OP = ((240) & (255));
#line 1524 "regression-compile-tmp/vax-pass2.imp"
L_00a3:;
                                                                //   1525        op = cmpw&255 %if v_type = strings
#line 1525 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) != (64))) goto L_00a4;
#line 1525 "regression-compile-tmp/vax-pass2.imp"
OP = ((241) & (255));
#line 1525 "regression-compile-tmp/vax-pass2.imp"
L_00a4:;
                                                                //   1526        %return %if v_base = local %and
#line 1526 "regression-compile-tmp/vax-pass2.imp"
if (((V->BASE) != (LOCAL))) goto L_00a5;
#line 1526 "regression-compile-tmp/vax-pass2.imp"
if (((V->DISP) <= (0))) goto L_00a6;
#line 1526 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (4))) goto L_00a7;
#line 1526 "regression-compile-tmp/vax-pass2.imp"
L_00a6:;
#line 1526 "regression-compile-tmp/vax-pass2.imp"
if (((V->DISP) >= (LASTLOCAL))) goto L_00a5;
#line 1526 "regression-compile-tmp/vax-pass2.imp"
L_00a7:;
#line 1526 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1526 "regression-compile-tmp/vax-pass2.imp"
L_00a5:;
                                                                //   1527                   ((v_disp > 0 %and v_form # a in s) %or v_disp < last local)
                                                                //   1528        old d = diag;  diag = 0;    ! Don't monitor anything here
#line 1528 "regression-compile-tmp/vax-pass2.imp"
OLDD = DIAG;
#line 1528 "regression-compile-tmp/vax-pass2.imp"
DIAG = 0;
                                                                //   1529        put code (opcode(op))
#line 1529 "regression-compile-tmp/vax-pass2.imp"
PUTCODE(OPCODE[OP]);
                                                                //   1530        operand (v);  claim (v_base) %unless v_form = v in r
#line 1530 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V);
#line 1530 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) == (1))) goto L_00a8;
#line 1530 "regression-compile-tmp/vax-pass2.imp"
CLAIM(V->BASE);
#line 1530 "regression-compile-tmp/vax-pass2.imp"
L_00a8:;
                                                                //   1531        claim (v_index!128) %if v_flags&indexed # 0
#line 1531 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (1))) == (0))) goto L_00a9;
#line 1531 "regression-compile-tmp/vax-pass2.imp"
CLAIM(((V->INDEX) | (128)));
#line 1531 "regression-compile-tmp/vax-pass2.imp"
L_00a9:;
                                                                //   1532        put number byte (16_60+gla-1);        !(gla)
#line 1532 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE(107);
                                                                //   1533        diag = old d
#line 1533 "regression-compile-tmp/vax-pass2.imp"
DIAG = OLDD;
                                                                //   1534        prim (test ass)
#line 1534 "regression-compile-tmp/vax-pass2.imp"
PRIM(3);
                                                                //   1535     %end
#line 1535 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block TESTASSIGNED at level 2
                                                                //   1536  
                                                                //   1537     %routine  CHECK INDIRECT (%record(stackfm) %name v)
#line 1537 "regression-compile-tmp/vax-pass2.imp"
void CHECKINDIRECT(  STACKFM /*name*/*V )
#line 1537 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1538        %integer  save
#line 1538 "regression-compile-tmp/vax-pass2.imp"
int SAVE;
                                                                //   1539        %return %if control&ass check = 0
#line 1539 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (1))) != (0))) goto L_00aa;
#line 1539 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1539 "regression-compile-tmp/vax-pass2.imp"
L_00aa:;
                                                                //   1540        %if v_form = v in s %and
#line 1540 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (2))) goto L_00ab;
#line 1540 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (((1) | (2))))) != (((1) | (2))))) goto L_00ab;
                                                                //   1541            v_flags&(indexed!xdefer) = indexed!xdefer %start
                                                                //   1542           save = v_flags;   v_flags = 0
#line 1542 "regression-compile-tmp/vax-pass2.imp"
SAVE = V->FLAGS;
#line 1542 "regression-compile-tmp/vax-pass2.imp"
V->FLAGS = 0;
                                                                //   1543           test assigned (v)
#line 1543 "regression-compile-tmp/vax-pass2.imp"
TESTASSIGNED(V);
                                                                //   1544           v_flags = save
#line 1544 "regression-compile-tmp/vax-pass2.imp"
V->FLAGS = SAVE;
                                                                //   1545        %else %if v_form = a in s
#line 1545 "regression-compile-tmp/vax-pass2.imp"
goto L_00ac;
#line 1545 "regression-compile-tmp/vax-pass2.imp"
L_00ab:;
#line 1545 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (4))) goto L_00ad;
                                                                //   1546           save = v_type;  v_type = integers;  v_form = v in s
#line 1546 "regression-compile-tmp/vax-pass2.imp"
SAVE = V->TYPE;
#line 1546 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = 16;
#line 1546 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 2;
                                                                //   1547           test assigned (v)
#line 1547 "regression-compile-tmp/vax-pass2.imp"
TESTASSIGNED(V);
                                                                //   1548           v_type = save;  v_form = a in s
#line 1548 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = SAVE;
#line 1548 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 4;
                                                                //   1549        %finish
#line 1549 "regression-compile-tmp/vax-pass2.imp"
L_00ad:;
#line 1549 "regression-compile-tmp/vax-pass2.imp"
L_00ac:;
                                                                //   1550     %end
#line 1550 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CHECKINDIRECT at level 2
                                                                //   1551  
                                                                //   1552     %routine  PLANT1 (%integer op, %record(stackfm) %name v)
#line 1552 "regression-compile-tmp/vax-pass2.imp"
void PLANT1( int OP,  STACKFM /*name*/*V )
#line 1552 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1553        op = opcode(op&255)
#line 1553 "regression-compile-tmp/vax-pass2.imp"
OP = OPCODE[((OP) & (255))];
                                                                //   1554        %if control&ass check # 0 %start
#line 1554 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (1))) == (0))) goto L_00ae;
                                                                //   1555           check indirect (v)
#line 1555 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V);
                                                                //   1556           test assigned (v) %if operand bits(op)&check1 # 0
#line 1556 "regression-compile-tmp/vax-pass2.imp"
if (((((OPERANDBITS[OP]) & (1))) == (0))) goto L_00af;
#line 1556 "regression-compile-tmp/vax-pass2.imp"
TESTASSIGNED(V);
#line 1556 "regression-compile-tmp/vax-pass2.imp"
L_00af:;
                                                                //   1557        %finish
#line 1557 "regression-compile-tmp/vax-pass2.imp"
L_00ae:;
                                                                //   1558        put code (op);  operand (v)
#line 1558 "regression-compile-tmp/vax-pass2.imp"
PUTCODE(OP);
#line 1558 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V);
                                                                //   1559     %end
#line 1559 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PLANT1 at level 2
                                                                //   1560  
                                                                //   1561     %routine %spec  PLANT3 (%integer op, %record(stack fm) %name v1, v2, v3)
#line 1561 "regression-compile-tmp/vax-pass2.imp"
auto void PLANT3( int OP,  STACKFM /*name*/*V1,  STACKFM /*name*/*V2,  STACKFM /*name*/*V3 );
                                                                //   1562     %routine  PLANT2 (%integer op, %record(stackfm) %name v1, v2)
#line 1562 "regression-compile-tmp/vax-pass2.imp"
void PLANT2( int OP,  STACKFM /*name*/*V1,  STACKFM /*name*/*V2 )
#line 1562 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1563        %integer  bits, negflag
#line 1563 "regression-compile-tmp/vax-pass2.imp"
int BITS;
#line 1563 "regression-compile-tmp/vax-pass2.imp"
int NEGFLAG;
                                                                //   1564        %record(stackfm)  work
#line 1564 "regression-compile-tmp/vax-pass2.imp"
 STACKFM WORK;
                                                                //   1565        %record(stack fm) %name  temp
#line 1565 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*TEMP;
                                                                //   1566        %if op&addr bit # 0 %and v1_base # pc %and v1_form = v in s %and
#line 1566 "regression-compile-tmp/vax-pass2.imp"
if (((((OP) & (4096))) == (0))) goto L_00b0;
#line 1566 "regression-compile-tmp/vax-pass2.imp"
if (((V1->BASE) == (16))) goto L_00b0;
#line 1566 "regression-compile-tmp/vax-pass2.imp"
if (((V1->FORM) != (2))) goto L_00b0;
#line 1566 "regression-compile-tmp/vax-pass2.imp"
if (((((V1->FLAGS) & (1))) != (0))) goto L_00b0;
                                                                //   1567            v1_flags&indexed = 0 %start
                                                                //   1568           ! MOVAx_k(Rn),Y
                                                                //   1569           %if v1_disp = 0 %start
#line 1569 "regression-compile-tmp/vax-pass2.imp"
if (((V1->DISP) != (0))) goto L_00b1;
                                                                //   1570              ! MOVAx_(Rn),Y  ->  MOVL_Rn,Y : twice as fast!!
                                                                //   1571              work = v1;  v1 == work
#line 1571 "regression-compile-tmp/vax-pass2.imp"
WORK = *V1;
#line 1571 "regression-compile-tmp/vax-pass2.imp"
V1 = &WORK;
                                                                //   1572              v1_form = v in r;  op = op&(\7) - 1*8
#line 1572 "regression-compile-tmp/vax-pass2.imp"
V1->FORM = 1;
#line 1572 "regression-compile-tmp/vax-pass2.imp"
OP = (((((OP) & ((~(7)))))) - ((((int)(1)) * (8))));
                                                                //   1573              release (v1_base);   ! OPERAND doesn't in this case...
#line 1573 "regression-compile-tmp/vax-pass2.imp"
RELEASE(V1->BASE);
                                                                //   1574           %else %if -63 <= v1_disp <= 63 %and
#line 1574 "regression-compile-tmp/vax-pass2.imp"
goto L_00b2;
#line 1574 "regression-compile-tmp/vax-pass2.imp"
L_00b1:;
#line 1574 "regression-compile-tmp/vax-pass2.imp"
if (((((-63)) > (V1->DISP))) || (((V1->DISP) > (63)))) goto L_00b3;
#line 1574 "regression-compile-tmp/vax-pass2.imp"
if (((V1->DISP) < (0))) goto L_00b4;
#line 1574 "regression-compile-tmp/vax-pass2.imp"
if (((V1->BASE) == (LOCAL))) goto L_00b3;
#line 1574 "regression-compile-tmp/vax-pass2.imp"
L_00b4:;
                                                                //   1575                     (v1_disp < 0 %or v1_base # local)
                                                                //   1576              ! MOVAx_S(Rn),Y -> ADDL3_Rn,#S,Y  where s is short lit, and
                                                                //   1577              ! not a parameter!!!!
                                                                //   1578              work = 0;  work_disp = v1_disp;  work_type = integers
#line 1578 "regression-compile-tmp/vax-pass2.imp"
WORK = (STACKFM){ 0 } /* Assign 0's to all fields of record */;
#line 1578 "regression-compile-tmp/vax-pass2.imp"
WORK.DISP = V1->DISP;
#line 1578 "regression-compile-tmp/vax-pass2.imp"
WORK.TYPE = 16;
                                                                //   1579              plant3 (addl+three op, regv(v1_base), work, v2)
#line 1579 "regression-compile-tmp/vax-pass2.imp"
PLANT3(18352, &(REGV-1)[V1->BASE], &WORK, V2);
                                                                //   1580              release (v1_base)
#line 1580 "regression-compile-tmp/vax-pass2.imp"
RELEASE(V1->BASE);
                                                                //   1581              %return
#line 1581 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1582           %finish
#line 1582 "regression-compile-tmp/vax-pass2.imp"
L_00b3:;
#line 1582 "regression-compile-tmp/vax-pass2.imp"
L_00b2:;
                                                                //   1583        %finish
#line 1583 "regression-compile-tmp/vax-pass2.imp"
L_00b0:;
                                                                //   1584        negflag = 0
#line 1584 "regression-compile-tmp/vax-pass2.imp"
NEGFLAG = 0;
                                                                //   1585        negflag = 1 %if v1_type&integers#0 %and v1_form = constant %and
#line 1585 "regression-compile-tmp/vax-pass2.imp"
if (((((V1->TYPE) & (16))) == (0))) goto L_00b5;
#line 1585 "regression-compile-tmp/vax-pass2.imp"
if (((V1->FORM) != (0))) goto L_00b5;
#line 1585 "regression-compile-tmp/vax-pass2.imp"
if (((((-64)) > (V1->DISP))) || (((V1->DISP) >= (0)))) goto L_00b5;
#line 1585 "regression-compile-tmp/vax-pass2.imp"
NEGFLAG = 1;
#line 1585 "regression-compile-tmp/vax-pass2.imp"
L_00b5:;
                                                                //   1586                        -64 <= v1_disp < 0
                                                                //   1587        %if op&one bit # 0 %start;           !has 1-op variant
#line 1587 "regression-compile-tmp/vax-pass2.imp"
if (((((OP) & (256))) == (0))) goto L_00b6;
                                                                //   1588           %if v2 == spv %start;             !-(sp)
#line 1588 "regression-compile-tmp/vax-pass2.imp"
if (((V2) != (&SPV))) goto L_00b7;
                                                                //   1589              %if op&addr bit # 0 %or
#line 1589 "regression-compile-tmp/vax-pass2.imp"
if (((((OP) & (4096))) != (0))) goto L_00b8;
#line 1589 "regression-compile-tmp/vax-pass2.imp"
if (((OP) != (8968))) goto L_00b9;
#line 1589 "regression-compile-tmp/vax-pass2.imp"
if (((NEGFLAG) != (0))) goto L_00b9;
#line 1589 "regression-compile-tmp/vax-pass2.imp"
L_00b8:;
                                                                //   1590                  (op = movl %and negflag = 0) %start;  ! pusha, pushl
                                                                //   1591                 op = op+8*3
#line 1591 "regression-compile-tmp/vax-pass2.imp"
OP = ((OP) + ((int)((((int)(8)) * (3)))));
                                                                //   1592                 plant1 (op, v1);  %return
#line 1592 "regression-compile-tmp/vax-pass2.imp"
PLANT1(OP, V1);
#line 1592 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1593              %finish
#line 1593 "regression-compile-tmp/vax-pass2.imp"
L_00b9:;
                                                                //   1594           %finish
#line 1594 "regression-compile-tmp/vax-pass2.imp"
L_00b7:;
                                                                //   1595           %if v1_form = constant %start
#line 1595 "regression-compile-tmp/vax-pass2.imp"
if (((V1->FORM) != (0))) goto L_00ba;
                                                                //   1596              %if op&move bit # 0 %start
#line 1596 "regression-compile-tmp/vax-pass2.imp"
if (((((OP) & (8192))) == (0))) goto L_00bb;
                                                                //   1597                 %if zero (v1) %and v2_form # v in r %start
#line 1597 "regression-compile-tmp/vax-pass2.imp"
if (!(ZERO(V1))) goto L_00bc;
#line 1597 "regression-compile-tmp/vax-pass2.imp"
if (((V2->FORM) == (1))) goto L_00bc;
                                                                //   1598                    !  mov #0  -> clr, except when dest a register!!!
                                                                //   1599                    plant1 (op+8*5, v2)
#line 1599 "regression-compile-tmp/vax-pass2.imp"
PLANT1(((OP) + ((int)((((int)(8)) * (5))))), V2);
                                                                //   1600                    %return
#line 1600 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1601                 %else %if negflag # 0 %and v1_type # byte+integers
#line 1601 "regression-compile-tmp/vax-pass2.imp"
L_00bc:;
#line 1601 "regression-compile-tmp/vax-pass2.imp"
if (((NEGFLAG) == (0))) goto L_00bd;
#line 1601 "regression-compile-tmp/vax-pass2.imp"
if (((V1->TYPE) == (18))) goto L_00bd;
                                                                //   1602                    %if v1_disp = -64 %start
#line 1602 "regression-compile-tmp/vax-pass2.imp"
if (((V1->DISP) != ((-64)))) goto L_00be;
                                                                //   1603                       v1_disp = \v1_disp;       ! movx #-64 -> mcomx #63
#line 1603 "regression-compile-tmp/vax-pass2.imp"
V1->DISP = (~(V1->DISP));
                                                                //   1604                       op = op + 8*2
#line 1604 "regression-compile-tmp/vax-pass2.imp"
OP = ((OP) + ((int)((((int)(8)) * (2)))));
                                                                //   1605                    %else
#line 1605 "regression-compile-tmp/vax-pass2.imp"
goto L_00bf;
#line 1605 "regression-compile-tmp/vax-pass2.imp"
L_00be:;
                                                                //   1606                       v1_disp = -v1_disp
#line 1606 "regression-compile-tmp/vax-pass2.imp"
V1->DISP = (-(V1->DISP));
                                                                //   1607                       op = op - 8*1;            ! movx #-n -> mnegl #n
#line 1607 "regression-compile-tmp/vax-pass2.imp"
OP = ((OP) - ((int)((((int)(8)) * (1)))));
                                                                //   1608                    %finish
#line 1608 "regression-compile-tmp/vax-pass2.imp"
L_00bf:;
                                                                //   1609                 %finish
#line 1609 "regression-compile-tmp/vax-pass2.imp"
L_00bd:;
                                                                //   1610              %finish
#line 1610 "regression-compile-tmp/vax-pass2.imp"
L_00bb:;
                                                                //   1611              %if op&(add bit!sub bit) # 0 %start
#line 1611 "regression-compile-tmp/vax-pass2.imp"
if (((((OP) & (((1024) | (2048))))) == (0))) goto L_00c0;
                                                                //   1612                 op = op!!(8!add bit!sub bit!commute) %if negative (v1)
#line 1612 "regression-compile-tmp/vax-pass2.imp"
if (!(NEGATIVE(V1))) goto L_00c1;
#line 1612 "regression-compile-tmp/vax-pass2.imp"
OP = ((OP) ^ (((((((8) | (1024))) | (2048))) | (16384))));
#line 1612 "regression-compile-tmp/vax-pass2.imp"
L_00c1:;
                                                                //   1613                 %if v1_type&integers # 0 %and v1_disp = 1 %and
#line 1613 "regression-compile-tmp/vax-pass2.imp"
if (((((V1->TYPE) & (16))) == (0))) goto L_00c2;
#line 1613 "regression-compile-tmp/vax-pass2.imp"
if (((V1->DISP) != (1))) goto L_00c2;
#line 1613 "regression-compile-tmp/vax-pass2.imp"
if (((V2->FORM) == (1))) goto L_00c2;
                                                                //   1614                     v2_form # v in r %start
                                                                //   1615                    ! add -> inc, except when dest reg...
                                                                //   1616                    plant1 (op-8*2, v2)
#line 1616 "regression-compile-tmp/vax-pass2.imp"
PLANT1(((OP) - ((int)((((int)(8)) * (2))))), V2);
                                                                //   1617                    %return
#line 1617 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1618                 %finish
#line 1618 "regression-compile-tmp/vax-pass2.imp"
L_00c2:;
                                                                //   1619              %finish
#line 1619 "regression-compile-tmp/vax-pass2.imp"
L_00c0:;
                                                                //   1620           %finish
#line 1620 "regression-compile-tmp/vax-pass2.imp"
L_00ba:;
                                                                //   1621        %finish
#line 1621 "regression-compile-tmp/vax-pass2.imp"
L_00b6:;
                                                                //   1622        %if op&reversible # 0 %and short literal (v1) >= 0 %start
#line 1622 "regression-compile-tmp/vax-pass2.imp"
if (((((OP) & (32768))) == (0))) goto L_00c3;
#line 1622 "regression-compile-tmp/vax-pass2.imp"
if (((SHORTLITERAL(V1)) < (0))) goto L_00c3;
                                                                //   1623           ! If possible, make a short literal the 2nd operand,
                                                                //   1624           ! for pipelining speed gain.
                                                                //   1625           temp == v1;   v1 == v2;   v2 == temp
#line 1625 "regression-compile-tmp/vax-pass2.imp"
TEMP = V1;
#line 1625 "regression-compile-tmp/vax-pass2.imp"
V1 = V2;
#line 1625 "regression-compile-tmp/vax-pass2.imp"
V2 = TEMP;
                                                                //   1626        %finish
#line 1626 "regression-compile-tmp/vax-pass2.imp"
L_00c3:;
                                                                //   1627        op = opcode(op&255)
#line 1627 "regression-compile-tmp/vax-pass2.imp"
OP = OPCODE[((OP) & (255))];
                                                                //   1628        bits = operand bits(op)
#line 1628 "regression-compile-tmp/vax-pass2.imp"
BITS = OPERANDBITS[OP];
                                                                //   1629        check indirect (v1) %if control&ass check # 0
#line 1629 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (1))) == (0))) goto L_00c4;
#line 1629 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V1);
#line 1629 "regression-compile-tmp/vax-pass2.imp"
L_00c4:;
                                                                //   1630        %if bits&move check = 0 %or v2_form # v in r %start
#line 1630 "regression-compile-tmp/vax-pass2.imp"
if (((((BITS) & (8))) == (0))) goto L_00c5;
#line 1630 "regression-compile-tmp/vax-pass2.imp"
if (((V2->FORM) == (1))) goto L_00c6;
#line 1630 "regression-compile-tmp/vax-pass2.imp"
L_00c5:;
                                                                //   1631           %if control&ass check # 0 %start
#line 1631 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (1))) == (0))) goto L_00c7;
                                                                //   1632              test assigned (v1) %if bits&check1 # 0
#line 1632 "regression-compile-tmp/vax-pass2.imp"
if (((((BITS) & (1))) == (0))) goto L_00c8;
#line 1632 "regression-compile-tmp/vax-pass2.imp"
TESTASSIGNED(V1);
#line 1632 "regression-compile-tmp/vax-pass2.imp"
L_00c8:;
                                                                //   1633              check indirect (v2)
#line 1633 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V2);
                                                                //   1634              test assigned (v2) %if bits&check2 # 0
#line 1634 "regression-compile-tmp/vax-pass2.imp"
if (((((BITS) & (2))) == (0))) goto L_00c9;
#line 1634 "regression-compile-tmp/vax-pass2.imp"
TESTASSIGNED(V2);
#line 1634 "regression-compile-tmp/vax-pass2.imp"
L_00c9:;
                                                                //   1635           %finish
#line 1635 "regression-compile-tmp/vax-pass2.imp"
L_00c7:;
                                                                //   1636           put code (op)
#line 1636 "regression-compile-tmp/vax-pass2.imp"
PUTCODE(OP);
                                                                //   1637           operand (v1)
#line 1637 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V1);
                                                                //   1638           operand (v2)
#line 1638 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V2);
                                                                //   1639        %else
#line 1639 "regression-compile-tmp/vax-pass2.imp"
goto L_00ca;
#line 1639 "regression-compile-tmp/vax-pass2.imp"
L_00c6:;
                                                                //   1640           put code (op)
#line 1640 "regression-compile-tmp/vax-pass2.imp"
PUTCODE(OP);
                                                                //   1641           operand (v1)
#line 1641 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V1);
                                                                //   1642           operand (v2)
#line 1642 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V2);
                                                                //   1643           %if (v1_type = integers %or v1_type&real bit # 0) %andc
#line 1643 "regression-compile-tmp/vax-pass2.imp"
if (((V1->TYPE) == (16))) goto L_00cb;
#line 1643 "regression-compile-tmp/vax-pass2.imp"
if (((((V1->TYPE) & (32))) == (0))) goto L_00cc;
#line 1643 "regression-compile-tmp/vax-pass2.imp"
L_00cb:;
#line 1643 "regression-compile-tmp/vax-pass2.imp"
if (((V1->FORM) == (4))) goto L_00cd;
#line 1643 "regression-compile-tmp/vax-pass2.imp"
if (((V1->FORM) != (2))) goto L_00cc;
#line 1643 "regression-compile-tmp/vax-pass2.imp"
if (((V1->BASE) != (LOCAL))) goto L_00cd;
#line 1643 "regression-compile-tmp/vax-pass2.imp"
if (((V1->DISP) < (LASTLOCAL))) goto L_00cc;
#line 1643 "regression-compile-tmp/vax-pass2.imp"
L_00cd:;
                                                                //   1644               (v1_form = a in s %or
                                                                //   1645                (v1_form = v in s %and
                                                                //   1646                 (v1_base # local %or
                                                                //   1647                  v1_disp >= last local))) %start
                                                                //   1648              v2_form = 255;                        !**special**
#line 1648 "regression-compile-tmp/vax-pass2.imp"
V2->FORM = 255;
                                                                //   1649              test assigned (v2)
#line 1649 "regression-compile-tmp/vax-pass2.imp"
TESTASSIGNED(V2);
                                                                //   1650           %finish
#line 1650 "regression-compile-tmp/vax-pass2.imp"
L_00cc:;
                                                                //   1651        %finish
#line 1651 "regression-compile-tmp/vax-pass2.imp"
L_00ca:;
                                                                //   1652     %end
#line 1652 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PLANT2 at level 2
                                                                //   1653  
                                                                //   1654     %routine  PLANT3 (%integer op, %record(stackfm) %name v1, v2, v3)
#line 1654 "regression-compile-tmp/vax-pass2.imp"
void PLANT3( int OP,  STACKFM /*name*/*V1,  STACKFM /*name*/*V2,  STACKFM /*name*/*V3 )
#line 1654 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1655        %integer bits
#line 1655 "regression-compile-tmp/vax-pass2.imp"
int BITS;
                                                                //   1656        %record(stackfm) %name temp
#line 1656 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*TEMP;
                                                                //   1657        %record(stackfm) work
#line 1657 "regression-compile-tmp/vax-pass2.imp"
 STACKFM WORK;
                                                                //   1658        %if op&commute # 0 %start
#line 1658 "regression-compile-tmp/vax-pass2.imp"
if (((((OP) & (16384))) == (0))) goto L_00ce;
                                                                //   1659           %if v2_form = constant %or same (v1, v3) %start
#line 1659 "regression-compile-tmp/vax-pass2.imp"
if (((V2->FORM) == (0))) goto L_00cf;
#line 1659 "regression-compile-tmp/vax-pass2.imp"
if (!(SAME(V1, V3))) goto L_00d0;
#line 1659 "regression-compile-tmp/vax-pass2.imp"
L_00cf:;
                                                                //   1660              temp == v1;  v1 == v2;  v2 == temp
#line 1660 "regression-compile-tmp/vax-pass2.imp"
TEMP = V1;
#line 1660 "regression-compile-tmp/vax-pass2.imp"
V1 = V2;
#line 1660 "regression-compile-tmp/vax-pass2.imp"
V2 = TEMP;
                                                                //   1661           %finish
#line 1661 "regression-compile-tmp/vax-pass2.imp"
L_00d0:;
                                                                //   1662        %finish
#line 1662 "regression-compile-tmp/vax-pass2.imp"
L_00ce:;
                                                                //   1663        %if op&two bit # 0 %start
#line 1663 "regression-compile-tmp/vax-pass2.imp"
if (((((OP) & (512))) == (0))) goto L_00d1;
                                                                //   1664           %if op&(add bit!sub bit) # 0 %start
#line 1664 "regression-compile-tmp/vax-pass2.imp"
if (((((OP) & (((1024) | (2048))))) == (0))) goto L_00d2;
                                                                //   1665              op = op!!(8!add bit!sub bit!commute) %if negative (v1)
#line 1665 "regression-compile-tmp/vax-pass2.imp"
if (!(NEGATIVE(V1))) goto L_00d3;
#line 1665 "regression-compile-tmp/vax-pass2.imp"
OP = ((OP) ^ (((((((8) | (1024))) | (2048))) | (16384))));
#line 1665 "regression-compile-tmp/vax-pass2.imp"
L_00d3:;
                                                                //   1666              %if v3_type = integers %and v1_form = constant %and
#line 1666 "regression-compile-tmp/vax-pass2.imp"
if (((V3->TYPE) != (16))) goto L_00d4;
#line 1666 "regression-compile-tmp/vax-pass2.imp"
if (((V1->FORM) != (0))) goto L_00d4;
#line 1666 "regression-compile-tmp/vax-pass2.imp"
if ((((0) > (V1->DISP))) || (((V1->DISP) <= (63)))) goto L_00d4;
#line 1666 "regression-compile-tmp/vax-pass2.imp"
L_00d5:;
#line 1666 "regression-compile-tmp/vax-pass2.imp"
if (((V2->FORM) != (1))) goto L_00d4;
#line 1666 "regression-compile-tmp/vax-pass2.imp"
if (((((V2->TYPE) & (32))) != (0))) goto L_00d4;
#line 1666 "regression-compile-tmp/vax-pass2.imp"
if (SAME(V2, V3)) goto L_00d4;
                                                                //   1667                  %not 0 <= v1_disp <= 63 %and
                                                                //   1668                  v2_form = v in r %and v2_type&realbit = 0 %and
                                                                //   1669                  %not same (v2, v3) %start
                                                                //   1670                 ! addl3_#n,Rm,X -> moval_n(Rm),X
                                                                //   1671                 v1_disp = -v1_disp %if op&sub bit # 0
#line 1671 "regression-compile-tmp/vax-pass2.imp"
if (((((OP) & (2048))) == (0))) goto L_00d6;
#line 1671 "regression-compile-tmp/vax-pass2.imp"
V1->DISP = (-(V1->DISP));
#line 1671 "regression-compile-tmp/vax-pass2.imp"
L_00d6:;
                                                                //   1672                 work = v2
#line 1672 "regression-compile-tmp/vax-pass2.imp"
WORK = *V2;
                                                                //   1673                 work_form = v in s
#line 1673 "regression-compile-tmp/vax-pass2.imp"
WORK.FORM = 2;
                                                                //   1674                 work_disp = v1_disp
#line 1674 "regression-compile-tmp/vax-pass2.imp"
WORK.DISP = V1->DISP;
                                                                //   1675                 claim (v2_base);            ! will get released
#line 1675 "regression-compile-tmp/vax-pass2.imp"
CLAIM(V2->BASE);
                                                                //   1676                 plant2 (moval, work, v3)
#line 1676 "regression-compile-tmp/vax-pass2.imp"
PLANT2(4112, &WORK, V3);
                                                                //   1677                 %return
#line 1677 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1678              %finish
#line 1678 "regression-compile-tmp/vax-pass2.imp"
L_00d4:;
                                                                //   1679           %finish
#line 1679 "regression-compile-tmp/vax-pass2.imp"
L_00d2:;
                                                                //   1680           %if same (v2, v3) %start;      !can use two op form
#line 1680 "regression-compile-tmp/vax-pass2.imp"
if (!(SAME(V2, V3))) goto L_00d7;
                                                                //   1681              remove (v2)
#line 1681 "regression-compile-tmp/vax-pass2.imp"
REMOVE(V2);
                                                                //   1682              plant2 ((op-8*8)&(\commute), v1, v3)
#line 1682 "regression-compile-tmp/vax-pass2.imp"
PLANT2(((((OP) - ((int)((((int)(8)) * (8)))))) & ((~(16384)))), V1, V3);
                                                                //   1683              %return
#line 1683 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1684           %finish
#line 1684 "regression-compile-tmp/vax-pass2.imp"
L_00d7:;
                                                                //   1685        %finish
#line 1685 "regression-compile-tmp/vax-pass2.imp"
L_00d1:;
                                                                //   1686        %if op&commute # 0 %and short literal (v1) >= 0 %start
#line 1686 "regression-compile-tmp/vax-pass2.imp"
if (((((OP) & (16384))) == (0))) goto L_00d8;
#line 1686 "regression-compile-tmp/vax-pass2.imp"
if (((SHORTLITERAL(V1)) < (0))) goto L_00d8;
                                                                //   1687           ! Better to have short literal 2nd, for
                                                                //   1688           ! pipelining effects
                                                                //   1689           temp == v1;  v1 == v2;  v2 == temp
#line 1689 "regression-compile-tmp/vax-pass2.imp"
TEMP = V1;
#line 1689 "regression-compile-tmp/vax-pass2.imp"
V1 = V2;
#line 1689 "regression-compile-tmp/vax-pass2.imp"
V2 = TEMP;
                                                                //   1690        %finish
#line 1690 "regression-compile-tmp/vax-pass2.imp"
L_00d8:;
                                                                //   1691        op = opcode(op&255)
#line 1691 "regression-compile-tmp/vax-pass2.imp"
OP = OPCODE[((OP) & (255))];
                                                                //   1692        bits = operand bits(op)
#line 1692 "regression-compile-tmp/vax-pass2.imp"
BITS = OPERANDBITS[OP];
                                                                //   1693        %if control&ass check # 0 %start
#line 1693 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (1))) == (0))) goto L_00d9;
                                                                //   1694           check indirect (v1);  test assigned (v1) %if bits&check1 # 0
#line 1694 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V1);
#line 1694 "regression-compile-tmp/vax-pass2.imp"
if (((((BITS) & (1))) == (0))) goto L_00da;
#line 1694 "regression-compile-tmp/vax-pass2.imp"
TESTASSIGNED(V1);
#line 1694 "regression-compile-tmp/vax-pass2.imp"
L_00da:;
                                                                //   1695           check indirect (v2);  test assigned (v2) %if bits&check2 # 0
#line 1695 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V2);
#line 1695 "regression-compile-tmp/vax-pass2.imp"
if (((((BITS) & (2))) == (0))) goto L_00db;
#line 1695 "regression-compile-tmp/vax-pass2.imp"
TESTASSIGNED(V2);
#line 1695 "regression-compile-tmp/vax-pass2.imp"
L_00db:;
                                                                //   1696           check indirect (v3);  test assigned (v3) %if bits&check3 # 0
#line 1696 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V3);
#line 1696 "regression-compile-tmp/vax-pass2.imp"
if (((((BITS) & (4))) == (0))) goto L_00dc;
#line 1696 "regression-compile-tmp/vax-pass2.imp"
TESTASSIGNED(V3);
#line 1696 "regression-compile-tmp/vax-pass2.imp"
L_00dc:;
                                                                //   1697        %finish
#line 1697 "regression-compile-tmp/vax-pass2.imp"
L_00d9:;
                                                                //   1698        put code (op)
#line 1698 "regression-compile-tmp/vax-pass2.imp"
PUTCODE(OP);
                                                                //   1699        operand (v1)
#line 1699 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V1);
                                                                //   1700        operand (v2)
#line 1700 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V2);
                                                                //   1701        operand (v3)
#line 1701 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V3);
                                                                //   1702     %end
#line 1702 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PLANT3 at level 2
                                                                //   1703  
                                                                //   1704     %routine  PLANT4 (%integer  op, %record(stackfm) %name  v1, v2, v3, v4)
#line 1704 "regression-compile-tmp/vax-pass2.imp"
void PLANT4( int OP,  STACKFM /*name*/*V1,  STACKFM /*name*/*V2,  STACKFM /*name*/*V3,  STACKFM /*name*/*V4 )
#line 1704 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1705        %if control&ass check # 0 %start
#line 1705 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (1))) == (0))) goto L_00dd;
                                                                //   1706           check indirect (v1);  check indirect (v2)
#line 1706 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V1);
#line 1706 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V2);
                                                                //   1707           check indirect (v3);  check indirect (v4)
#line 1707 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V3);
#line 1707 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V4);
                                                                //   1708        %finish
#line 1708 "regression-compile-tmp/vax-pass2.imp"
L_00dd:;
                                                                //   1709        put code (opcode(op&255))
#line 1709 "regression-compile-tmp/vax-pass2.imp"
PUTCODE(OPCODE[((OP) & (255))]);
                                                                //   1710        operand (v1);  operand (v2)
#line 1710 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V1);
#line 1710 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V2);
                                                                //   1711        operand (v3);  operand (v4)
#line 1711 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V3);
#line 1711 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V4);
                                                                //   1712     %end
#line 1712 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PLANT4 at level 2
                                                                //   1713  
                                                                //   1714     %routine  PLANT5 (%integer  op, %record(stackfm) %name  v1, v2, v3, v4, v5)
#line 1714 "regression-compile-tmp/vax-pass2.imp"
void PLANT5( int OP,  STACKFM /*name*/*V1,  STACKFM /*name*/*V2,  STACKFM /*name*/*V3,  STACKFM /*name*/*V4,  STACKFM /*name*/*V5 )
#line 1714 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1715        %if control&ass check # 0 %start
#line 1715 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (1))) == (0))) goto L_00de;
                                                                //   1716           check indirect (v1);  check indirect (v2);  check indirect (v3)
#line 1716 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V1);
#line 1716 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V2);
#line 1716 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V3);
                                                                //   1717           check indirect (v4);  check indirect (v5)
#line 1717 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V4);
#line 1717 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V5);
                                                                //   1718        %finish
#line 1718 "regression-compile-tmp/vax-pass2.imp"
L_00de:;
                                                                //   1719        put code (opcode(op&255))
#line 1719 "regression-compile-tmp/vax-pass2.imp"
PUTCODE(OPCODE[((OP) & (255))]);
                                                                //   1720        operand (v1);  operand (v2);  operand (v3)
#line 1720 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V1);
#line 1720 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V2);
#line 1720 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V3);
                                                                //   1721        operand (v4);  operand (v5)
#line 1721 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V4);
#line 1721 "regression-compile-tmp/vax-pass2.imp"
OPERAND(V5);
                                                                //   1722        entry mask = entry mask ! 16_3c
#line 1722 "regression-compile-tmp/vax-pass2.imp"
ENTRYMASK = ((ENTRYMASK) | (60));
                                                                //   1723     %end
#line 1723 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PLANT5 at level 2
                                                                //   1724  
                                                                //   1725     %routine  HAZARD STRINGS
#line 1725 "regression-compile-tmp/vax-pass2.imp"
void HAZARDSTRINGS( void )
#line 1725 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1726        %integer  reg
#line 1726 "regression-compile-tmp/vax-pass2.imp"
int REG;
                                                                //   1727        hazard (reg) %for reg = r0, 1, r5
#line 1727 "regression-compile-tmp/vax-pass2.imp"
REG = 0;
if ((((6)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle REG = 1, 1, 6");
L_00df:;
if (REG == 6) goto L_00e0;
REG += 1;
#line 1727 "regression-compile-tmp/vax-pass2.imp"
HAZARD(REG);
#line 1727 "regression-compile-tmp/vax-pass2.imp"
goto L_00df;
#line 1727 "regression-compile-tmp/vax-pass2.imp"
L_00e0:;
                                                                //   1728     %end
#line 1728 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block HAZARDSTRINGS at level 2
                                                                //   1729  
                                                                //   1730     %routine  IOVF OFF
#line 1730 "regression-compile-tmp/vax-pass2.imp"
void IOVFOFF( void )
#line 1730 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1731        ! prevent overflow trap
                                                                //   1732        %if entry mask&iovf bit # 0 %and ivbit state # 0 %start
#line 1732 "regression-compile-tmp/vax-pass2.imp"
if (((((ENTRYMASK) & (16384))) == (0))) goto L_00e2;
#line 1732 "regression-compile-tmp/vax-pass2.imp"
if (((IVBITSTATE) == (0))) goto L_00e2;
                                                                //   1733           word (bicpsw vbit)
#line 1733 "regression-compile-tmp/vax-pass2.imp"
WORD(8377);
                                                                //   1734           ivbit state = 0
#line 1734 "regression-compile-tmp/vax-pass2.imp"
IVBITSTATE = 0;
                                                                //   1735        %finish
#line 1735 "regression-compile-tmp/vax-pass2.imp"
L_00e2:;
                                                                //   1736     %end
#line 1736 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block IOVFOFF at level 2
                                                                //   1737  
                                                                //   1738     %routine  IOVF ON
#line 1738 "regression-compile-tmp/vax-pass2.imp"
void IOVFON( void )
#line 1738 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1739        ! re-enable overflow trap if it should be on
                                                                //   1740        %if entry mask&iovf bit # 0 %and ivbit state = 0 %start
#line 1740 "regression-compile-tmp/vax-pass2.imp"
if (((((ENTRYMASK) & (16384))) == (0))) goto L_00e3;
#line 1740 "regression-compile-tmp/vax-pass2.imp"
if (((IVBITSTATE) != (0))) goto L_00e3;
                                                                //   1741           word (bispsw vbit)
#line 1741 "regression-compile-tmp/vax-pass2.imp"
WORD(8376);
                                                                //   1742           ivbit state = 1
#line 1742 "regression-compile-tmp/vax-pass2.imp"
IVBITSTATE = 1;
                                                                //   1743        %finish
#line 1743 "regression-compile-tmp/vax-pass2.imp"
L_00e3:;
                                                                //   1744     %end
#line 1744 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block IOVFON at level 2
                                                                //   1745  
                                                                //   1746     %routine  STRING3 (%integer  op, %record(stackfm) %name  v1, v2, v3)
#line 1746 "regression-compile-tmp/vax-pass2.imp"
void STRING3( int OP,  STACKFM /*name*/*V1,  STACKFM /*name*/*V2,  STACKFM /*name*/*V3 )
#line 1746 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1747        %integer  code, stype, no check v2, old control = control
#line 1747 "regression-compile-tmp/vax-pass2.imp"
int CODE;
#line 1747 "regression-compile-tmp/vax-pass2.imp"
int STYPE;
#line 1747 "regression-compile-tmp/vax-pass2.imp"
int NOCHECKV2;
#line 1747 "regression-compile-tmp/vax-pass2.imp"
int OLDCONTROL;
#line 1747 "regression-compile-tmp/vax-pass2.imp"
OLDCONTROL = CONTROL;
                                                                //   1748        no check v2 = op&no ass chk
#line 1748 "regression-compile-tmp/vax-pass2.imp"
NOCHECKV2 = ((OP) & (262144));
                                                                //   1749        op = op & (\no ass chk)
#line 1749 "regression-compile-tmp/vax-pass2.imp"
OP = ((OP) & ((~(262144))));
                                                                //   1750        code = 0
#line 1750 "regression-compile-tmp/vax-pass2.imp"
CODE = 0;
                                                                //   1751        %if v1_form = constant %start
#line 1751 "regression-compile-tmp/vax-pass2.imp"
if (((V1->FORM) != (0))) goto L_00e4;
                                                                //   1752           v1_type = short+integers
#line 1752 "regression-compile-tmp/vax-pass2.imp"
V1->TYPE = 17;
                                                                //   1753           %if op = 0 %or op = movc3 %start; !look for short form
#line 1753 "regression-compile-tmp/vax-pass2.imp"
if (((OP) == (0))) goto L_00e5;
#line 1753 "regression-compile-tmp/vax-pass2.imp"
if (((OP) != (30))) goto L_00e6;
#line 1753 "regression-compile-tmp/vax-pass2.imp"
L_00e5:;
                                                                //   1754              stype = scale type (v1_disp)
#line 1754 "regression-compile-tmp/vax-pass2.imp"
STYPE = SCALETYPE(V1->DISP);
                                                                //   1755              code = movl+stype %if stype >= 0
#line 1755 "regression-compile-tmp/vax-pass2.imp"
if (((STYPE) < (0))) goto L_00e7;
#line 1755 "regression-compile-tmp/vax-pass2.imp"
CODE = (((int)(8968)) + (STYPE));
#line 1755 "regression-compile-tmp/vax-pass2.imp"
L_00e7:;
                                                                //   1756           %finish
#line 1756 "regression-compile-tmp/vax-pass2.imp"
L_00e6:;
                                                                //   1757        %finish
#line 1757 "regression-compile-tmp/vax-pass2.imp"
L_00e4:;
                                                                //   1758        op = op & (\no short)
#line 1758 "regression-compile-tmp/vax-pass2.imp"
OP = ((OP) & ((~(65536))));
                                                                //   1759        %if code = 0 %start;            ! character op required
#line 1759 "regression-compile-tmp/vax-pass2.imp"
if (((CODE) != (0))) goto L_00e8;
                                                                //   1760           release (v1_base);  release (v2_base);  release (v3_base)
#line 1760 "regression-compile-tmp/vax-pass2.imp"
RELEASE(V1->BASE);
#line 1760 "regression-compile-tmp/vax-pass2.imp"
RELEASE(V2->BASE);
#line 1760 "regression-compile-tmp/vax-pass2.imp"
RELEASE(V3->BASE);
                                                                //   1761           hazard strings
#line 1761 "regression-compile-tmp/vax-pass2.imp"
HAZARDSTRINGS();
                                                                //   1762           claim (v1_base);  claim (v2_base);  claim (v3_base)
#line 1762 "regression-compile-tmp/vax-pass2.imp"
CLAIM(V1->BASE);
#line 1762 "regression-compile-tmp/vax-pass2.imp"
CLAIM(V2->BASE);
#line 1762 "regression-compile-tmp/vax-pass2.imp"
CLAIM(V3->BASE);
                                                                //   1763        %finish
#line 1763 "regression-compile-tmp/vax-pass2.imp"
L_00e8:;
                                                                //   1764        %if control&ass check # 0 %start
#line 1764 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (1))) == (0))) goto L_00e9;
                                                                //   1765           %if no check v2 = 0 %start
#line 1765 "regression-compile-tmp/vax-pass2.imp"
if (((NOCHECKV2) != (0))) goto L_00ea;
                                                                //   1766              check indirect (v2)
#line 1766 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V2);
                                                                //   1767              test assigned (v2)
#line 1767 "regression-compile-tmp/vax-pass2.imp"
TESTASSIGNED(V2);
                                                                //   1768           %finish
#line 1768 "regression-compile-tmp/vax-pass2.imp"
L_00ea:;
                                                                //   1769           check indirect (v3)
#line 1769 "regression-compile-tmp/vax-pass2.imp"
CHECKINDIRECT(V3);
                                                                //   1770           test assigned (v3) %if op = cmpc3
#line 1770 "regression-compile-tmp/vax-pass2.imp"
if (((OP) != (246))) goto L_00eb;
#line 1770 "regression-compile-tmp/vax-pass2.imp"
TESTASSIGNED(V3);
#line 1770 "regression-compile-tmp/vax-pass2.imp"
L_00eb:;
                                                                //   1771           control = control & (\ass check)
#line 1771 "regression-compile-tmp/vax-pass2.imp"
CONTROL = ((CONTROL) & ((~(1))));
                                                                //   1772        %finish
#line 1772 "regression-compile-tmp/vax-pass2.imp"
L_00e9:;
                                                                //   1773        %if op = 0 %start;              !concat
#line 1773 "regression-compile-tmp/vax-pass2.imp"
if (((OP) != (0))) goto L_00ec;
                                                                //   1774           op = movc3
#line 1774 "regression-compile-tmp/vax-pass2.imp"
OP = 30;
                                                                //   1775           v2_disp = v2_disp + 1;       !skip the length
#line 1775 "regression-compile-tmp/vax-pass2.imp"
V2->DISP = (((int)(V2->DISP)) + (1));
                                                                //   1776        %finish
#line 1776 "regression-compile-tmp/vax-pass2.imp"
L_00ec:;
                                                                //   1777        %if code # 0 %start
#line 1777 "regression-compile-tmp/vax-pass2.imp"
if (((CODE) == (0))) goto L_00ed;
                                                                //   1778           %if v3_base = r3 %and v3_disp = 0 %and
#line 1778 "regression-compile-tmp/vax-pass2.imp"
if (((V3->BASE) != (4))) goto L_00ee;
#line 1778 "regression-compile-tmp/vax-pass2.imp"
if (((V3->DISP) != (0))) goto L_00ee;
#line 1778 "regression-compile-tmp/vax-pass2.imp"
if (((V3->FORM) != (2))) goto L_00ee;
#line 1778 "regression-compile-tmp/vax-pass2.imp"
if ((((V3->FLAGS) != (0))) || (((0) != (V3->XNO)))) goto L_00ee;
                                                                //   1779               v3_form = v in s %and v3_flags = 0 = v3_xno %start
                                                                //   1780              v3_flags = auto i
#line 1780 "regression-compile-tmp/vax-pass2.imp"
V3->FLAGS = 4;
                                                                //   1781              op = 0
#line 1781 "regression-compile-tmp/vax-pass2.imp"
OP = 0;
                                                                //   1782           %finish
#line 1782 "regression-compile-tmp/vax-pass2.imp"
L_00ee:;
                                                                //   1783           plant2 (code, v2, v3)
#line 1783 "regression-compile-tmp/vax-pass2.imp"
PLANT2(CODE, V2, V3);
                                                                //   1784           last movc3 = ca %and v3_flags = 0 %if op = 0
#line 1784 "regression-compile-tmp/vax-pass2.imp"
if (((OP) != (0))) goto L_00ef;
#line 1784 "regression-compile-tmp/vax-pass2.imp"
LASTMOVC3 = CA;
#line 1784 "regression-compile-tmp/vax-pass2.imp"
V3->FLAGS = 0;
#line 1784 "regression-compile-tmp/vax-pass2.imp"
L_00ef:;
                                                                //   1785        %else
#line 1785 "regression-compile-tmp/vax-pass2.imp"
goto L_00f0;
#line 1785 "regression-compile-tmp/vax-pass2.imp"
L_00ed:;
                                                                //   1786           entry mask = entry mask ! 16_3C;    ! R0:R5 used
#line 1786 "regression-compile-tmp/vax-pass2.imp"
ENTRYMASK = ((ENTRYMASK) | (60));
                                                                //   1787           plant3 (op, v1, v2, v3)
#line 1787 "regression-compile-tmp/vax-pass2.imp"
PLANT3(OP, V1, V2, V3);
                                                                //   1788           last movc3 = ca %if op = movc3
#line 1788 "regression-compile-tmp/vax-pass2.imp"
if (((OP) != (30))) goto L_00f1;
#line 1788 "regression-compile-tmp/vax-pass2.imp"
LASTMOVC3 = CA;
#line 1788 "regression-compile-tmp/vax-pass2.imp"
L_00f1:;
                                                                //   1789        %finish
#line 1789 "regression-compile-tmp/vax-pass2.imp"
L_00f0:;
                                                                //   1790        control = old control
#line 1790 "regression-compile-tmp/vax-pass2.imp"
CONTROL = OLDCONTROL;
                                                                //   1791     %end
#line 1791 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block STRING3 at level 2
                                                                //   1792  
                                                                //   1793  !   %routine  STRING5 (%integer  op,
                                                                //   1794  !                      %record(stackfm) %name  v1, v2, v3, v4, v5)
                                                                //   1795  !      release (v1_base)
                                                                //   1796  !      release (v2_base)
                                                                //   1797  !      release (v3_base)
                                                                //   1798  !      release (v4_base)
                                                                //   1799  !      release (v5_base)
                                                                //   1800  !      hazard strings
                                                                //   1801  !      claim (v1_base)
                                                                //   1802  !      claim (v2_base)
                                                                //   1803  !      claim (v3_base)
                                                                //   1804  !      claim (v4_base)
                                                                //   1805  !      claim (v5_base)
                                                                //   1806  !      entry mask = entry mask ! 16_3c
                                                                //   1807  !      plant5 (op, v1, v2, v3, v4, v5)
                                                                //   1808  !   %end
                                                                //   1809  
                                                                //   1810     %routine  PRIM EP (%integer n)
#line 1810 "regression-compile-tmp/vax-pass2.imp"
void PRIMEP( int N )
#line 1810 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1811        %integer  ep
#line 1811 "regression-compile-tmp/vax-pass2.imp"
int EP;
                                                                //   1812        %own %byte %array  prim eps (1 : prim rts) = 0(*)
#line 1812 "regression-compile-tmp/vax-pass2.imp"
static unsigned char PRIMEPS[26] = { [0 ... 25] = 0 };
                                                                //   1813        ep = prim eps(n)
#line 1813 "regression-compile-tmp/vax-pass2.imp"
EP = (PRIMEPS-1)[N];
                                                                //   1814        %if ep = 0 %start;            !first use
#line 1814 "regression-compile-tmp/vax-pass2.imp"
if (((EP) != (0))) goto L_00f2;
                                                                //   1815           prim eps(n) = 1
#line 1815 "regression-compile-tmp/vax-pass2.imp"
(PRIMEPS-1)[N] = 1;
                                                                //   1816           put (obj prim spec);  put (n)
#line 1816 "regression-compile-tmp/vax-pass2.imp"
PUT(13);
#line 1816 "regression-compile-tmp/vax-pass2.imp"
PUT(N);
                                                                //   1817        %finish
#line 1817 "regression-compile-tmp/vax-pass2.imp"
L_00f2:;
                                                                //   1818        entry mask = entry mask ! prim mask(n)
#line 1818 "regression-compile-tmp/vax-pass2.imp"
ENTRYMASK = ((ENTRYMASK) | ((PRIMMASK-1)[N]));
                                                                //   1819     %end
#line 1819 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRIMEP at level 2
                                                                //   1820  
                                                                //   1821     %routine  PRIM (%integer  n)
#line 1821 "regression-compile-tmp/vax-pass2.imp"
void PRIM( int N )
#line 1821 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1822        %integer  r
#line 1822 "regression-compile-tmp/vax-pass2.imp"
int R;
                                                                //   1823        prim ep (n)
#line 1823 "regression-compile-tmp/vax-pass2.imp"
PRIMEP(N);
                                                                //   1824        %if test ass # n # test string ovf %start
#line 1824 "regression-compile-tmp/vax-pass2.imp"
if ((((3) == (N))) || (((N) == (25)))) goto L_00f3;
                                                                //   1825           hazard (r) %for r = r0, 1, r5
#line 1825 "regression-compile-tmp/vax-pass2.imp"
R = 0;
if ((((6)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle R = 1, 1, 6");
L_00f4:;
if (R == 6) goto L_00f5;
R += 1;
#line 1825 "regression-compile-tmp/vax-pass2.imp"
HAZARD(R);
#line 1825 "regression-compile-tmp/vax-pass2.imp"
goto L_00f4;
#line 1825 "regression-compile-tmp/vax-pass2.imp"
L_00f5:;
                                                                //   1826        %finish
#line 1826 "regression-compile-tmp/vax-pass2.imp"
L_00f3:;
                                                                //   1827        flush code;  set line
#line 1827 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
#line 1827 "regression-compile-tmp/vax-pass2.imp"
SETLINE();
                                                                //   1828        put (obj prim ref);  put (n);  ca = ca + 6
#line 1828 "regression-compile-tmp/vax-pass2.imp"
PUT(24);
#line 1828 "regression-compile-tmp/vax-pass2.imp"
PUT(N);
#line 1828 "regression-compile-tmp/vax-pass2.imp"
CA = (((int)(CA)) + (6));
                                                                //   1829     %end
#line 1829 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PRIM at level 2
                                                                //   1830  
                                                                //   1831     %routine  DUMP TEXT (%string(*) %name  text)
#line 1831 "regression-compile-tmp/vax-pass2.imp"
void DUMPTEXT( _imp_string /*%string(255)*/ /*name*/*TEXT )
#line 1831 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1832        %integer  p, sym
#line 1832 "regression-compile-tmp/vax-pass2.imp"
int P;
#line 1832 "regression-compile-tmp/vax-pass2.imp"
int SYM;
                                                                //   1833        length(text) = max ident %if length(text) > max ident
#line 1833 "regression-compile-tmp/vax-pass2.imp"
if (((*_imp_LENGTH(TEXT)) <= (31))) goto L_00f7;
#line 1833 "regression-compile-tmp/vax-pass2.imp"
*_imp_LENGTH(TEXT) = 31;
#line 1833 "regression-compile-tmp/vax-pass2.imp"
L_00f7:;
                                                                //   1834        %for p = 0, 1, length(text) %cycle
#line 1834 "regression-compile-tmp/vax-pass2.imp"
{static int _initial, _increment, _final, _control;
_initial = 0; _increment = 1; _final = *_imp_LENGTH(TEXT); P = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle P = 0, 1, *_imp_LENGTH(TEXT)");
P -= _increment; _control -= _increment;
L_00f8:;
if (P == _final) goto L_00f9;
P += _increment; _control += _increment;
if (P != _control) _imp_signal(4,2,0,"Corrupt control variable P"); /* FOR loop control variable corrupted */
}
                                                                //   1835           sym = charno(text, p)
#line 1835 "regression-compile-tmp/vax-pass2.imp"
SYM = *_imp_CHARNO(TEXT, P);
                                                                //   1836           sym = sym-32 %if 'a' <= sym <= 'z'
#line 1836 "regression-compile-tmp/vax-pass2.imp"
if ((((97) > (SYM))) || (((SYM) > (122)))) goto L_00fb;
#line 1836 "regression-compile-tmp/vax-pass2.imp"
SYM = (((int)(SYM)) - (32));
#line 1836 "regression-compile-tmp/vax-pass2.imp"
L_00fb:;
                                                                //   1837           put (sym)
#line 1837 "regression-compile-tmp/vax-pass2.imp"
PUT(SYM);
                                                                //   1838        %repeat
#line 1838 "regression-compile-tmp/vax-pass2.imp"
goto L_00f8;
#line 1838 "regression-compile-tmp/vax-pass2.imp"
L_00f9:;
                                                                //   1839     %end
#line 1839 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DUMPTEXT at level 2
                                                                //   1840  
                                                                //   1841     %routine  LPUT (%integer  ep, addr)
#line 1841 "regression-compile-tmp/vax-pass2.imp"
void LPUT( int EP, int ADDR )
#line 1841 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1842        put (ep)
#line 1842 "regression-compile-tmp/vax-pass2.imp"
PUT(EP);
                                                                //   1843        put long (addr)
#line 1843 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(ADDR);
                                                                //   1844        dump text (external name)
#line 1844 "regression-compile-tmp/vax-pass2.imp"
DUMPTEXT(&EXTERNALNAME);
                                                                //   1845     %end
#line 1845 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block LPUT at level 2
                                                                //   1846  
                                                                //   1847     %routine  DEFINE TAG (%integer  ref)
#line 1847 "regression-compile-tmp/vax-pass2.imp"
void DEFINETAG( int REF )
#line 1847 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1848        select output tank (directives)
#line 1848 "regression-compile-tmp/vax-pass2.imp"
SELECTOUTPUTTANK(DIRECTIVES);
                                                                //   1849        put (dir ldef)
#line 1849 "regression-compile-tmp/vax-pass2.imp"
PUT(2);
                                                                //   1850        put word (ref);  put long (ca)
#line 1850 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(REF);
#line 1850 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(CA);
                                                                //   1851        select output tank (object)
#line 1851 "regression-compile-tmp/vax-pass2.imp"
SELECTOUTPUTTANK(OBJECT);
                                                                //   1852     %end
#line 1852 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DEFINETAG at level 2
                                                                //   1853  
                                                                //   1854     %routine  DEFINE ENTRY (%integer ref)
#line 1854 "regression-compile-tmp/vax-pass2.imp"
void DEFINEENTRY( int REF )
#line 1854 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1855        select output tank (directives)
#line 1855 "regression-compile-tmp/vax-pass2.imp"
SELECTOUTPUTTANK(DIRECTIVES);
                                                                //   1856        put (dir entry);   put word (ref)
#line 1856 "regression-compile-tmp/vax-pass2.imp"
PUT(10);
#line 1856 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(REF);
                                                                //   1857        select output tank (object)
#line 1857 "regression-compile-tmp/vax-pass2.imp"
SELECTOUTPUTTANK(OBJECT);
                                                                //   1858     %end
#line 1858 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DEFINEENTRY at level 2
                                                                //   1859  
                                                                //   1860     %routine  DEFINE REFERENCE (%integer ref, type)
#line 1860 "regression-compile-tmp/vax-pass2.imp"
void DEFINEREFERENCE( int REF, int TYPE )
#line 1860 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1861        select output tank (directives)
#line 1861 "regression-compile-tmp/vax-pass2.imp"
SELECTOUTPUTTANK(DIRECTIVES);
                                                                //   1862        put (type)
#line 1862 "regression-compile-tmp/vax-pass2.imp"
PUT(TYPE);
                                                                //   1863        last ref = ref
#line 1863 "regression-compile-tmp/vax-pass2.imp"
LASTREF = REF;
                                                                //   1864        put word (ref);  put long (ca)
#line 1864 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(REF);
#line 1864 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(CA);
                                                                //   1865        select output tank (object)
#line 1865 "regression-compile-tmp/vax-pass2.imp"
SELECTOUTPUTTANK(OBJECT);
                                                                //   1866     %end
#line 1866 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DEFINEREFERENCE at level 2
                                                                //   1867  
                                                                //   1868  !register handling routines
                                                                //   1869  
                                                                //   1870     %routine  CLAIM (%integer reg)
#line 1870 "regression-compile-tmp/vax-pass2.imp"
void CLAIM( int REG )
#line 1870 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1871        !cherish the value in the register
                                                                //   1872        %string(2) s = ""
#line 1872 "regression-compile-tmp/vax-pass2.imp"
_imp_string /*%string(2)*/ S;
#line 1872 "regression-compile-tmp/vax-pass2.imp"
S = _imp_str_literal("");
                                                                //   1873        %integer j
#line 1873 "regression-compile-tmp/vax-pass2.imp"
int J;
                                                                //   1874        %if reg&128 # 0 %start;    ! Claimed as index
#line 1874 "regression-compile-tmp/vax-pass2.imp"
if (((((REG) & (128))) == (0))) goto L_00fc;
                                                                //   1875           reg = reg & 127
#line 1875 "regression-compile-tmp/vax-pass2.imp"
REG = ((REG) & (127));
                                                                //   1876           index regs = index regs + 1
#line 1876 "regression-compile-tmp/vax-pass2.imp"
INDEXREGS = (((int)(INDEXREGS)) + (1));
                                                                //   1877           abort (40) %unless activity(reg) >= 0 %and r0 <= reg <= r10
#line 1877 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[REG]) < (0))) goto L_00f6;
#line 1877 "regression-compile-tmp/vax-pass2.imp"
if ((((1) > (REG))) || (((REG) <= (11)))) goto L_00fd;
#line 1877 "regression-compile-tmp/vax-pass2.imp"
L_00f6:;
#line 1877 "regression-compile-tmp/vax-pass2.imp"
ABORT(40);
#line 1877 "regression-compile-tmp/vax-pass2.imp"
L_00fd:;
                                                                //   1878           indx(reg) = indx(reg) + 1
#line 1878 "regression-compile-tmp/vax-pass2.imp"
(INDX-1)[REG] = (((int)((INDX-1)[REG])) + (1));
                                                                //   1879           s = "[]"
#line 1879 "regression-compile-tmp/vax-pass2.imp"
S = _imp_str_literal("[]");
                                                                //   1880        %finish
#line 1880 "regression-compile-tmp/vax-pass2.imp"
L_00fc:;
                                                                //   1881        %return %if reg = 0 %or activity(reg) < 0;   !none or locked
#line 1881 "regression-compile-tmp/vax-pass2.imp"
if (((REG) == (0))) goto L_00fa;
#line 1881 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[REG]) >= (0))) goto L_00fe;
#line 1881 "regression-compile-tmp/vax-pass2.imp"
L_00fa:;
#line 1881 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1881 "regression-compile-tmp/vax-pass2.imp"
L_00fe:;
                                                                //   1882        mon reg ("Claim".s, reg) %if diag&4 # 0
#line 1882 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (4))) == (0))) goto L_00ff;
#line 1882 "regression-compile-tmp/vax-pass2.imp"
MONREG(_imp_join((_imp_string)_imp_str_literal("Claim"),(_imp_string)S), REG);
#line 1882 "regression-compile-tmp/vax-pass2.imp"
L_00ff:;
                                                                //   1883        active regs = active regs+1;                 !one more active
#line 1883 "regression-compile-tmp/vax-pass2.imp"
ACTIVEREGS = (((int)(ACTIVEREGS)) + (1));
                                                                //   1884        activity(reg) = activity(reg)+1;             !note claimed
#line 1884 "regression-compile-tmp/vax-pass2.imp"
ACTIVITY[REG] = (((int)(ACTIVITY[REG])) + (1));
                                                                //   1885        used(reg) = ca;                              !and note when used last
#line 1885 "regression-compile-tmp/vax-pass2.imp"
USED[REG] = CA;
                                                                //   1886        %if reg >= fpr0 %start;                      !claim general equivs
#line 1886 "regression-compile-tmp/vax-pass2.imp"
if (((REG) < (18))) goto L_0100;
                                                                //   1887           reg = (reg-fpr0)<<1+r0
#line 1887 "regression-compile-tmp/vax-pass2.imp"
REG = (((int)((((((int)(REG)) - (18))) << (1)))) + (1));
                                                                //   1888           j = diag; diag = 0
#line 1888 "regression-compile-tmp/vax-pass2.imp"
J = DIAG;
#line 1888 "regression-compile-tmp/vax-pass2.imp"
DIAG = 0;
                                                                //   1889           claim (reg);  claim (reg+1)
#line 1889 "regression-compile-tmp/vax-pass2.imp"
CLAIM(REG);
#line 1889 "regression-compile-tmp/vax-pass2.imp"
CLAIM((((int)(REG)) + (1)));
                                                                //   1890           diag = j
#line 1890 "regression-compile-tmp/vax-pass2.imp"
DIAG = J;
                                                                //   1891        %finish
#line 1891 "regression-compile-tmp/vax-pass2.imp"
L_0100:;
                                                                //   1892     %end
#line 1892 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLAIM at level 2
                                                                //   1893  
                                                                //   1894     %routine  RELEASE (%integer reg)
#line 1894 "regression-compile-tmp/vax-pass2.imp"
void RELEASE( int REG )
#line 1894 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1895        ! hazard the value in a register
                                                                //   1896        %integer old d
#line 1896 "regression-compile-tmp/vax-pass2.imp"
int OLDD;
                                                                //   1897        %string(2) s = ""
#line 1897 "regression-compile-tmp/vax-pass2.imp"
_imp_string /*%string(2)*/ S;
#line 1897 "regression-compile-tmp/vax-pass2.imp"
S = _imp_str_literal("");
                                                                //   1898        %if reg&128 # 0 %start
#line 1898 "regression-compile-tmp/vax-pass2.imp"
if (((((REG) & (128))) == (0))) goto L_0101;
                                                                //   1899           reg = reg&127
#line 1899 "regression-compile-tmp/vax-pass2.imp"
REG = ((REG) & (127));
                                                                //   1900           abort (41) %unless r0 <= reg <= r10
#line 1900 "regression-compile-tmp/vax-pass2.imp"
if ((((1) > (REG))) || (((REG) <= (11)))) goto L_0103;
#line 1900 "regression-compile-tmp/vax-pass2.imp"
L_0102:;
#line 1900 "regression-compile-tmp/vax-pass2.imp"
ABORT(41);
#line 1900 "regression-compile-tmp/vax-pass2.imp"
L_0103:;
                                                                //   1901           abort (42) %if activity(reg) < 0
#line 1901 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[REG]) >= (0))) goto L_0104;
#line 1901 "regression-compile-tmp/vax-pass2.imp"
ABORT(42);
#line 1901 "regression-compile-tmp/vax-pass2.imp"
L_0104:;
                                                                //   1902           index regs = index regs - 1
#line 1902 "regression-compile-tmp/vax-pass2.imp"
INDEXREGS = (((int)(INDEXREGS)) - (1));
                                                                //   1903           abort (43) %if index regs < 0
#line 1903 "regression-compile-tmp/vax-pass2.imp"
if (((INDEXREGS) >= (0))) goto L_0105;
#line 1903 "regression-compile-tmp/vax-pass2.imp"
ABORT(43);
#line 1903 "regression-compile-tmp/vax-pass2.imp"
L_0105:;
                                                                //   1904           indx(reg) = indx(reg) - 1
#line 1904 "regression-compile-tmp/vax-pass2.imp"
(INDX-1)[REG] = (((int)((INDX-1)[REG])) - (1));
                                                                //   1905           abort (44) %if indx(reg) < 0
#line 1905 "regression-compile-tmp/vax-pass2.imp"
if ((((INDX-1)[REG]) >= (0))) goto L_0106;
#line 1905 "regression-compile-tmp/vax-pass2.imp"
ABORT(44);
#line 1905 "regression-compile-tmp/vax-pass2.imp"
L_0106:;
                                                                //   1906           s = "[]"
#line 1906 "regression-compile-tmp/vax-pass2.imp"
S = _imp_str_literal("[]");
                                                                //   1907        %finish
#line 1907 "regression-compile-tmp/vax-pass2.imp"
L_0101:;
                                                                //   1908        %return %if reg = 0 %or activity(reg) < 0;   !none or locked
#line 1908 "regression-compile-tmp/vax-pass2.imp"
if (((REG) == (0))) goto L_0107;
#line 1908 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[REG]) >= (0))) goto L_0108;
#line 1908 "regression-compile-tmp/vax-pass2.imp"
L_0107:;
#line 1908 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1908 "regression-compile-tmp/vax-pass2.imp"
L_0108:;
                                                                //   1909        mon reg ("Release".s, reg) %if diag&4 # 0
#line 1909 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (4))) == (0))) goto L_0109;
#line 1909 "regression-compile-tmp/vax-pass2.imp"
MONREG(_imp_join((_imp_string)_imp_str_literal("Release"),(_imp_string)S), REG);
#line 1909 "regression-compile-tmp/vax-pass2.imp"
L_0109:;
                                                                //   1910        active regs = active regs - 1;               !one less active
#line 1910 "regression-compile-tmp/vax-pass2.imp"
ACTIVEREGS = (((int)(ACTIVEREGS)) - (1));
                                                                //   1911        activity(reg) = activity(reg) - 1;           !one less user
#line 1911 "regression-compile-tmp/vax-pass2.imp"
ACTIVITY[REG] = (((int)(ACTIVITY[REG])) - (1));
                                                                //   1912        abort (3) %if activity(reg) < 0;             !too many
#line 1912 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[REG]) >= (0))) goto L_010a;
#line 1912 "regression-compile-tmp/vax-pass2.imp"
ABORT(3);
#line 1912 "regression-compile-tmp/vax-pass2.imp"
L_010a:;
                                                                //   1913        %if reg >= fpr0 %start
#line 1913 "regression-compile-tmp/vax-pass2.imp"
if (((REG) < (18))) goto L_010b;
                                                                //   1914           reg = (reg-fpr0)<<1+r0
#line 1914 "regression-compile-tmp/vax-pass2.imp"
REG = (((int)((((((int)(REG)) - (18))) << (1)))) + (1));
                                                                //   1915           old d = diag;  diag = 0
#line 1915 "regression-compile-tmp/vax-pass2.imp"
OLDD = DIAG;
#line 1915 "regression-compile-tmp/vax-pass2.imp"
DIAG = 0;
                                                                //   1916           release (reg);  release (reg+1)
#line 1916 "regression-compile-tmp/vax-pass2.imp"
RELEASE(REG);
#line 1916 "regression-compile-tmp/vax-pass2.imp"
RELEASE((((int)(REG)) + (1)));
                                                                //   1917           diag = old d
#line 1917 "regression-compile-tmp/vax-pass2.imp"
DIAG = OLDD;
                                                                //   1918        %finish
#line 1918 "regression-compile-tmp/vax-pass2.imp"
L_010b:;
                                                                //   1919     %end
#line 1919 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block RELEASE at level 2
                                                                //   1920  
                                                                //   1921     %routine  CLEAR (%record(stackfm) %name  v)
#line 1921 "regression-compile-tmp/vax-pass2.imp"
void CLEAR(  STACKFM /*name*/*V )
#line 1921 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1922        monitor (v, "Clear") %if diag&4 # 0
#line 1922 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (4))) == (0))) goto L_010c;
#line 1922 "regression-compile-tmp/vax-pass2.imp"
MONITOR(V, _imp_str_literal("Clear"));
#line 1922 "regression-compile-tmp/vax-pass2.imp"
L_010c:;
                                                                //   1923        release (v_base) %if v_form = v in r
#line 1923 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (1))) goto L_010d;
#line 1923 "regression-compile-tmp/vax-pass2.imp"
RELEASE(V->BASE);
#line 1923 "regression-compile-tmp/vax-pass2.imp"
L_010d:;
                                                                //   1924     %end
#line 1924 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CLEAR at level 2
                                                                //   1925  
                                                                //   1926     %routine  SCALE INDEX (%integername op, %record(stackfm) %name v)
#line 1926 "regression-compile-tmp/vax-pass2.imp"
void SCALEINDEX( int /*name*/*OP,  STACKFM /*name*/*V )
#line 1926 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1927        ! Ensure that array elements are scaled correctly when
                                                                //   1928        ! the address of one is required (the descriptor will normally
                                                                //   1929        ! look like an integer at this stage!)
                                                                //   1930        %integer type
#line 1930 "regression-compile-tmp/vax-pass2.imp"
int TYPE;
                                                                //   1931        %return %if op&addr bit = 0 %or v_flags&indexed = 0
#line 1931 "regression-compile-tmp/vax-pass2.imp"
if (((((*OP) & (4096))) == (0))) goto L_010e;
#line 1931 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (1))) != (0))) goto L_010f;
#line 1931 "regression-compile-tmp/vax-pass2.imp"
L_010e:;
#line 1931 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1931 "regression-compile-tmp/vax-pass2.imp"
L_010f:;
                                                                //   1932        monitor (v, "Scale index") %if diag&128 # 0
#line 1932 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (128))) == (0))) goto L_0110;
#line 1932 "regression-compile-tmp/vax-pass2.imp"
MONITOR(V, _imp_str_literal("Scale index"));
#line 1932 "regression-compile-tmp/vax-pass2.imp"
L_0110:;
                                                                //   1933        type = scale type (v_iscale)
#line 1933 "regression-compile-tmp/vax-pass2.imp"
TYPE = SCALETYPE(V->ISCALE);
                                                                //   1934        abort(35) %if type < 0
#line 1934 "regression-compile-tmp/vax-pass2.imp"
if (((TYPE) >= (0))) goto L_0111;
#line 1934 "regression-compile-tmp/vax-pass2.imp"
ABORT(35);
#line 1934 "regression-compile-tmp/vax-pass2.imp"
L_0111:;
                                                                //   1935        op = (op&(\7)) ! type
#line 1935 "regression-compile-tmp/vax-pass2.imp"
*OP = ((((*OP) & ((~(7))))) | (TYPE));
                                                                //   1936     %end
#line 1936 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SCALEINDEX at level 2
                                                                //   1937  
                                                                //   1938     %routine  HAZARD (%integer  reg)
#line 1938 "regression-compile-tmp/vax-pass2.imp"
void HAZARD( int REG )
#line 1938 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1939        ! protect the value in register 'reg' by storing in a temp
                                                                //   1940        %integer n, op, r, form
#line 1940 "regression-compile-tmp/vax-pass2.imp"
int N;
#line 1940 "regression-compile-tmp/vax-pass2.imp"
int OP;
#line 1940 "regression-compile-tmp/vax-pass2.imp"
int R;
#line 1940 "regression-compile-tmp/vax-pass2.imp"
int FORM;
                                                                //   1941        %record(dfm) %name p
#line 1941 "regression-compile-tmp/vax-pass2.imp"
 DFM /*name*/*P;
                                                                //   1942        %record(stackfm) temp
#line 1942 "regression-compile-tmp/vax-pass2.imp"
 STACKFM TEMP;
                                                                //   1943        %record(stackfm) %name s
#line 1943 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*S;
                                                                //   1944  
                                                                //   1945        %routine  MOD (%record(stackfm) %name  v)
#line 1945 "regression-compile-tmp/vax-pass2.imp"
void MOD(  STACKFM /*name*/*V )
#line 1945 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1946           %switch  s (constant : a in rec)
#line 1946 "regression-compile-tmp/vax-pass2.imp"
static int sw3_S_idx;
static const void * /*SWITCH*/ sw3_S[8] = { &&sw3_S_0, &&sw3_S_1, &&sw3_S_2, &&sw3_S_3, &&sw3_S_4, &&sw3_S_5, &&sw3_S_6, &&sw3_S_7,  };
                                                                //   1947           n = n - 1
#line 1947 "regression-compile-tmp/vax-pass2.imp"
N = (((int)(N)) - (1));
                                                                //   1948           active regs = active regs - 1
#line 1948 "regression-compile-tmp/vax-pass2.imp"
ACTIVEREGS = (((int)(ACTIVEREGS)) - (1));
                                                                //   1949           monitor (v, "Hazard") %if diag&4 # 0
#line 1949 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (4))) == (0))) goto L_0112;
#line 1949 "regression-compile-tmp/vax-pass2.imp"
MONITOR(V, _imp_str_literal("Hazard"));
#line 1949 "regression-compile-tmp/vax-pass2.imp"
L_0112:;
                                                                //   1950           -> s(v_form&7)
#line 1950 "regression-compile-tmp/vax-pass2.imp"
sw3_S_idx = ((V->FORM) & (7)); if ((0 <= sw3_S_idx) && (sw3_S_idx <= 7)) goto *sw3_S[sw3_S_idx]; else {
   /*_imp_signal(8, 2, sw3_S_idx);*/
   fprintf(stderr, "%%SWITCH index S(%d) not in range 0:7 at %s:%d\n",
           sw3_S_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   1951        s(constant):
#line 1951 "regression-compile-tmp/vax-pass2.imp"
sw3_S_0:;
                                                                //   1952        s(v in rec):
#line 1952 "regression-compile-tmp/vax-pass2.imp"
sw3_S_5:;
                                                                //   1953        s(avin rec):
#line 1953 "regression-compile-tmp/vax-pass2.imp"
sw3_S_6:;
                                                                //   1954        s(a in rec):
#line 1954 "regression-compile-tmp/vax-pass2.imp"
sw3_S_7:;
                                                                //   1955           abort (4)
#line 1955 "regression-compile-tmp/vax-pass2.imp"
ABORT(4);
                                                                //   1956        s(v in s):
#line 1956 "regression-compile-tmp/vax-pass2.imp"
sw3_S_2:;
                                                                //   1957        s(avin s):
#line 1957 "regression-compile-tmp/vax-pass2.imp"
sw3_S_3:;
                                                                //   1958        s(a in s):
#line 1958 "regression-compile-tmp/vax-pass2.imp"
sw3_S_4:;
                                                                //   1959           v_form = v_form+3;  v_extra = temp_disp;  v_base = local
#line 1959 "regression-compile-tmp/vax-pass2.imp"
V->FORM = (((int)(V->FORM)) + (3));
#line 1959 "regression-compile-tmp/vax-pass2.imp"
V->EXTRA = TEMP.DISP;
#line 1959 "regression-compile-tmp/vax-pass2.imp"
V->BASE = LOCAL;
                                                                //   1960           %return
#line 1960 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1961        s(v in r):
#line 1961 "regression-compile-tmp/vax-pass2.imp"
sw3_S_1:;
                                                                //   1962           v_form = v in s;  v_disp = temp_disp;  v_base = local
#line 1962 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 2;
#line 1962 "regression-compile-tmp/vax-pass2.imp"
V->DISP = TEMP.DISP;
#line 1962 "regression-compile-tmp/vax-pass2.imp"
V->BASE = LOCAL;
                                                                //   1963        %end
#line 1963 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MOD at level 3
                                                                //   1964  
                                                                //   1965        %routine  SET TEMP (%integer size)
#line 1965 "regression-compile-tmp/vax-pass2.imp"
void SETTEMP( int SIZE )
#line 1965 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   1966           frame = frame-(size)&(\(size-1))
#line 1966 "regression-compile-tmp/vax-pass2.imp"
FRAME = ((FRAME) - ((int)(((SIZE) & ((~((((int)(SIZE)) - (1)))))))));
                                                                //   1967           temp = 0
#line 1967 "regression-compile-tmp/vax-pass2.imp"
TEMP = (STACKFM){ 0 } /* Assign 0's to all fields of record */;
                                                                //   1968           temp_base = local;  temp_disp = frame
#line 1968 "regression-compile-tmp/vax-pass2.imp"
TEMP.BASE = LOCAL;
#line 1968 "regression-compile-tmp/vax-pass2.imp"
TEMP.DISP = FRAME;
                                                                //   1969           temp_type = integers;  temp_form = v in s
#line 1969 "regression-compile-tmp/vax-pass2.imp"
TEMP.TYPE = 16;
#line 1969 "regression-compile-tmp/vax-pass2.imp"
TEMP.FORM = 2;
                                                                //   1970           op = movl; op = movd %if size = 8
#line 1970 "regression-compile-tmp/vax-pass2.imp"
OP = 8968;
#line 1970 "regression-compile-tmp/vax-pass2.imp"
if (((SIZE) != (8))) goto L_0113;
#line 1970 "regression-compile-tmp/vax-pass2.imp"
OP = 12;
#line 1970 "regression-compile-tmp/vax-pass2.imp"
L_0113:;
                                                                //   1971        %end
#line 1971 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETTEMP at level 3
                                                                //   1972  
                                                                //   1973        mon reg ("Hazard", reg) %if diag&4 # 0
#line 1973 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (4))) == (0))) goto L_0114;
#line 1973 "regression-compile-tmp/vax-pass2.imp"
MONREG(_imp_str_literal("Hazard"), REG);
#line 1973 "regression-compile-tmp/vax-pass2.imp"
L_0114:;
                                                                //   1974        n = activity(reg)
#line 1974 "regression-compile-tmp/vax-pass2.imp"
N = ACTIVITY[REG];
                                                                //   1975        %if n <= 0 %start
#line 1975 "regression-compile-tmp/vax-pass2.imp"
if (((N) > (0))) goto L_0115;
                                                                //   1976           %return %if reg < fpr0
#line 1976 "regression-compile-tmp/vax-pass2.imp"
if (((REG) >= (18))) goto L_0116;
#line 1976 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 1976 "regression-compile-tmp/vax-pass2.imp"
L_0116:;
                                                                //   1977           reg = (reg-fpr0)<<1+r0
#line 1977 "regression-compile-tmp/vax-pass2.imp"
REG = (((int)((((((int)(REG)) - (18))) << (1)))) + (1));
                                                                //   1978           hazard (reg);  hazard (reg+1)
#line 1978 "regression-compile-tmp/vax-pass2.imp"
HAZARD(REG);
#line 1978 "regression-compile-tmp/vax-pass2.imp"
HAZARD((((int)(REG)) + (1)));
                                                                //   1979           %return
#line 1979 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1980        %finish
#line 1980 "regression-compile-tmp/vax-pass2.imp"
L_0115:;
                                                                //   1981        %if indx(reg) # 0 %start;     ! Reg in use as index
#line 1981 "regression-compile-tmp/vax-pass2.imp"
if ((((INDX-1)[REG]) == (0))) goto L_0117;
                                                                //   1982           p == using_link
#line 1982 "regression-compile-tmp/vax-pass2.imp"
P = USING.LINK;
                                                                //   1983           %while p ## null %cycle
#line 1983 "regression-compile-tmp/vax-pass2.imp"
L_0118:;
#line 1983 "regression-compile-tmp/vax-pass2.imp"
if (((P) == (NULL))) goto L_0119;
                                                                //   1984              s == p_d
#line 1984 "regression-compile-tmp/vax-pass2.imp"
S = P->D;
                                                                //   1985              %if s_flags&indexed # 0 %and s_index = reg %start
#line 1985 "regression-compile-tmp/vax-pass2.imp"
if (((((S->FLAGS) & (1))) == (0))) goto L_011b;
#line 1985 "regression-compile-tmp/vax-pass2.imp"
if (((S->INDEX) != (REG))) goto L_011b;
                                                                //   1986                 set temp (4)
#line 1986 "regression-compile-tmp/vax-pass2.imp"
SETTEMP(4);
                                                                //   1987                 op = moval;  scale index (op, s)
#line 1987 "regression-compile-tmp/vax-pass2.imp"
OP = 4112;
#line 1987 "regression-compile-tmp/vax-pass2.imp"
SCALEINDEX(&OP, S);
                                                                //   1988                 form = s_form+3;  s_form = v in s
#line 1988 "regression-compile-tmp/vax-pass2.imp"
FORM = (((int)(S->FORM)) + (3));
#line 1988 "regression-compile-tmp/vax-pass2.imp"
S->FORM = 2;
                                                                //   1989                 plant2 (op, s, temp)
#line 1989 "regression-compile-tmp/vax-pass2.imp"
PLANT2(OP, S, &TEMP);
                                                                //   1990                 s_flags = 0; s_form = form;  s_disp = 0
#line 1990 "regression-compile-tmp/vax-pass2.imp"
S->FLAGS = 0;
#line 1990 "regression-compile-tmp/vax-pass2.imp"
S->FORM = FORM;
#line 1990 "regression-compile-tmp/vax-pass2.imp"
S->DISP = 0;
                                                                //   1991                 s_base = local;  s_extra = temp_disp
#line 1991 "regression-compile-tmp/vax-pass2.imp"
S->BASE = LOCAL;
#line 1991 "regression-compile-tmp/vax-pass2.imp"
S->EXTRA = TEMP.DISP;
                                                                //   1992              %finish
#line 1992 "regression-compile-tmp/vax-pass2.imp"
L_011b:;
                                                                //   1993              p == p_link
#line 1993 "regression-compile-tmp/vax-pass2.imp"
P = P->LINK;
                                                                //   1994           %repeat
#line 1994 "regression-compile-tmp/vax-pass2.imp"
goto L_0118;
#line 1994 "regression-compile-tmp/vax-pass2.imp"
L_0119:;
                                                                //   1995           abort (31) %if indx(reg) # 0
#line 1995 "regression-compile-tmp/vax-pass2.imp"
if ((((INDX-1)[REG]) == (0))) goto L_011c;
#line 1995 "regression-compile-tmp/vax-pass2.imp"
ABORT(31);
#line 1995 "regression-compile-tmp/vax-pass2.imp"
L_011c:;
                                                                //   1996           abort (5) %if activity(reg) # 0
#line 1996 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[REG]) == (0))) goto L_011d;
#line 1996 "regression-compile-tmp/vax-pass2.imp"
ABORT(5);
#line 1996 "regression-compile-tmp/vax-pass2.imp"
L_011d:;
                                                                //   1997           %return
#line 1997 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   1998        %finish
#line 1998 "regression-compile-tmp/vax-pass2.imp"
L_0117:;
                                                                //   1999        activity(reg) = 0
#line 1999 "regression-compile-tmp/vax-pass2.imp"
ACTIVITY[REG] = 0;
                                                                //   2000        %if reg >= fpr0 %start
#line 2000 "regression-compile-tmp/vax-pass2.imp"
if (((REG) < (18))) goto L_011e;
                                                                //   2001           r = (reg-fpr0)<<1+r0
#line 2001 "regression-compile-tmp/vax-pass2.imp"
R = (((int)((((((int)(REG)) - (18))) << (1)))) + (1));
                                                                //   2002           activity(r) = 0;  activity(r+1) = 0
#line 2002 "regression-compile-tmp/vax-pass2.imp"
ACTIVITY[R] = 0;
#line 2002 "regression-compile-tmp/vax-pass2.imp"
ACTIVITY[(((int)(R)) + (1))] = 0;
                                                                //   2003           active regs = active regs-n-n
#line 2003 "regression-compile-tmp/vax-pass2.imp"
ACTIVEREGS = (((int)((((int)(ACTIVEREGS)) - (N)))) - (N));
                                                                //   2004           set temp (8)
#line 2004 "regression-compile-tmp/vax-pass2.imp"
SETTEMP(8);
                                                                //   2005        %else
#line 2005 "regression-compile-tmp/vax-pass2.imp"
goto L_011f;
#line 2005 "regression-compile-tmp/vax-pass2.imp"
L_011e:;
                                                                //   2006           %if reg <= r5 %start;            !check fpr equivs
#line 2006 "regression-compile-tmp/vax-pass2.imp"
if (((REG) > (6))) goto L_0120;
                                                                //   2007              r = (reg-r0)>>1+fpr0
#line 2007 "regression-compile-tmp/vax-pass2.imp"
R = (((int)((((((((int)(REG)) - (1)))) >> (1))))) + (18));
                                                                //   2008              %if activity(r) > 0 %start
#line 2008 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[R]) <= (0))) goto L_0121;
                                                                //   2009                 hazard (r);  %return
#line 2009 "regression-compile-tmp/vax-pass2.imp"
HAZARD(R);
#line 2009 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2010              %finish
#line 2010 "regression-compile-tmp/vax-pass2.imp"
L_0121:;
                                                                //   2011           %finish
#line 2011 "regression-compile-tmp/vax-pass2.imp"
L_0120:;
                                                                //   2012           set temp (4)
#line 2012 "regression-compile-tmp/vax-pass2.imp"
SETTEMP(4);
                                                                //   2013        %finish
#line 2013 "regression-compile-tmp/vax-pass2.imp"
L_011f:;
                                                                //   2014        plant2 (op, regv(reg), temp)
#line 2014 "regression-compile-tmp/vax-pass2.imp"
PLANT2(OP, &(REGV-1)[REG], &TEMP);
                                                                //   2015  
                                                                //   2016        p == using_link
#line 2016 "regression-compile-tmp/vax-pass2.imp"
P = USING.LINK;
                                                                //   2017        %while p ## null %cycle
#line 2017 "regression-compile-tmp/vax-pass2.imp"
L_0122:;
#line 2017 "regression-compile-tmp/vax-pass2.imp"
if (((P) == (NULL))) goto L_0123;
                                                                //   2018           mod (p_d) %if p_d_base = reg
#line 2018 "regression-compile-tmp/vax-pass2.imp"
if (((P->D->BASE) != (REG))) goto L_0125;
#line 2018 "regression-compile-tmp/vax-pass2.imp"
MOD(P->D);
#line 2018 "regression-compile-tmp/vax-pass2.imp"
L_0125:;
                                                                //   2019           p == p_link
#line 2019 "regression-compile-tmp/vax-pass2.imp"
P = P->LINK;
                                                                //   2020        %repeat
#line 2020 "regression-compile-tmp/vax-pass2.imp"
goto L_0122;
#line 2020 "regression-compile-tmp/vax-pass2.imp"
L_0123:;
                                                                //   2021        abort (5) %if n # 0
#line 2021 "regression-compile-tmp/vax-pass2.imp"
if (((N) == (0))) goto L_0126;
#line 2021 "regression-compile-tmp/vax-pass2.imp"
ABORT(5);
#line 2021 "regression-compile-tmp/vax-pass2.imp"
L_0126:;
                                                                //   2022     %end
#line 2022 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block HAZARD at level 2
                                                                //   2023  
                                                                //   2024     %integer %function  REGISTER (%integer  pair)
#line 2024 "regression-compile-tmp/vax-pass2.imp"
int REGISTER( int PAIR )
#line 2024 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2025        !returns a suitable register
                                                                //   2026        %integer r
#line 2026 "regression-compile-tmp/vax-pass2.imp"
int R;
                                                                //   2027        %integer worstn, worstr, worstu
#line 2027 "regression-compile-tmp/vax-pass2.imp"
int WORSTN;
#line 2027 "regression-compile-tmp/vax-pass2.imp"
int WORSTR;
#line 2027 "regression-compile-tmp/vax-pass2.imp"
int WORSTU;
                                                                //   2028  
                                                                //   2029        worstn = 100; worstu = ca
#line 2029 "regression-compile-tmp/vax-pass2.imp"
WORSTN = 100;
#line 2029 "regression-compile-tmp/vax-pass2.imp"
WORSTU = CA;
                                                                //   2030  
                                                                //   2031        %for r = r10, -1, r1 %cycle
#line 2031 "regression-compile-tmp/vax-pass2.imp"
R = 12;
if ((((2)-(11)) % ((-1))) != 0) _imp_signal(5,1,0,"Illegal cycle R = 11, (-1), 2");
L_0127:;
if (R == 2) goto L_0128;
R += (-1);
                                                                //   2032           %if activity(r) = 0 = activity(r+pair) %start;     !not being used
#line 2032 "regression-compile-tmp/vax-pass2.imp"
if ((((ACTIVITY[R]) != (0))) || (((0) != (ACTIVITY[(((int)(R)) + (PAIR))])))) goto L_012a;
                                                                //   2033              used(r) = ca;  %result = r
#line 2033 "regression-compile-tmp/vax-pass2.imp"
USED[R] = CA;
#line 2033 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return R;
                                                                //   2034           %else %if 0 < activity(r) < worstn
#line 2034 "regression-compile-tmp/vax-pass2.imp"
L_012a:;
#line 2034 "regression-compile-tmp/vax-pass2.imp"
if ((((0) >= (ACTIVITY[R]))) || (((ACTIVITY[R]) >= (WORSTN)))) goto L_012b;
                                                                //   2035              worstn = activity(r);  worstr = r
#line 2035 "regression-compile-tmp/vax-pass2.imp"
WORSTN = ACTIVITY[R];
#line 2035 "regression-compile-tmp/vax-pass2.imp"
WORSTR = R;
                                                                //   2036              worstu = used(r)
#line 2036 "regression-compile-tmp/vax-pass2.imp"
WORSTU = USED[R];
                                                                //   2037           %else %if activity(r) = worstn %and used(r) < worstu
#line 2037 "regression-compile-tmp/vax-pass2.imp"
goto L_012c;
#line 2037 "regression-compile-tmp/vax-pass2.imp"
L_012b:;
#line 2037 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[R]) != (WORSTN))) goto L_012d;
#line 2037 "regression-compile-tmp/vax-pass2.imp"
if (((USED[R]) >= (WORSTU))) goto L_012d;
                                                                //   2038              worstr = r;  worstu = used(r)
#line 2038 "regression-compile-tmp/vax-pass2.imp"
WORSTR = R;
#line 2038 "regression-compile-tmp/vax-pass2.imp"
WORSTU = USED[R];
                                                                //   2039           %finish
#line 2039 "regression-compile-tmp/vax-pass2.imp"
L_012d:;
#line 2039 "regression-compile-tmp/vax-pass2.imp"
L_012c:;
                                                                //   2040        %repeat
#line 2040 "regression-compile-tmp/vax-pass2.imp"
goto L_0127;
#line 2040 "regression-compile-tmp/vax-pass2.imp"
L_0128:;
                                                                //   2041  
                                                                //   2042        hazard (worstr)
#line 2042 "regression-compile-tmp/vax-pass2.imp"
HAZARD(WORSTR);
                                                                //   2043        used(worstr) = ca
#line 2043 "regression-compile-tmp/vax-pass2.imp"
USED[WORSTR] = CA;
                                                                //   2044        %result = worstr
#line 2044 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return WORSTR;
                                                                //   2045     %end
#line 2045 "regression-compile-tmp/vax-pass2.imp"
} // End of block REGISTER at level 2
                                                                //   2046  
                                                                //   2047     %integer %function  FPR
#line 2047 "regression-compile-tmp/vax-pass2.imp"
int FPR( void )
#line 2047 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2048        %own %integer next = fpr4+1
#line 2048 "regression-compile-tmp/vax-pass2.imp"
static int NEXT = 21;
                                                                //   2049        %result = fpr0 %if activity(r0) = 0 = activity(r1)
#line 2049 "regression-compile-tmp/vax-pass2.imp"
if ((((ACTIVITY[1]) != (0))) || (((0) != (ACTIVITY[2])))) goto L_012e;
#line 2049 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 18;
#line 2049 "regression-compile-tmp/vax-pass2.imp"
L_012e:;
                                                                //   2050        %result = fpr2 %if activity(r2) = 0 = activity(r3)
#line 2050 "regression-compile-tmp/vax-pass2.imp"
if ((((ACTIVITY[3]) != (0))) || (((0) != (ACTIVITY[4])))) goto L_012f;
#line 2050 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 19;
#line 2050 "regression-compile-tmp/vax-pass2.imp"
L_012f:;
                                                                //   2051        %result = fpr4 %if activity(r4) = 0 = activity(r5)
#line 2051 "regression-compile-tmp/vax-pass2.imp"
if ((((ACTIVITY[5]) != (0))) || (((0) != (ACTIVITY[6])))) goto L_0130;
#line 2051 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 20;
#line 2051 "regression-compile-tmp/vax-pass2.imp"
L_0130:;
                                                                //   2052        next = fpr4+1 %if next = fpr0
#line 2052 "regression-compile-tmp/vax-pass2.imp"
if (((NEXT) != (18))) goto L_0131;
#line 2052 "regression-compile-tmp/vax-pass2.imp"
NEXT = 21;
#line 2052 "regression-compile-tmp/vax-pass2.imp"
L_0131:;
                                                                //   2053        next = next-1
#line 2053 "regression-compile-tmp/vax-pass2.imp"
NEXT = (((int)(NEXT)) - (1));
                                                                //   2054        hazard (next)
#line 2054 "regression-compile-tmp/vax-pass2.imp"
HAZARD(NEXT);
                                                                //   2055        %result = next
#line 2055 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return NEXT;
                                                                //   2056     %end
#line 2056 "regression-compile-tmp/vax-pass2.imp"
} // End of block FPR at level 2
                                                                //   2057  
                                                                //   2058  !descriptor processing
                                                                //   2059  
                                                                //   2060     %record(stackfm) %map  DESCRIPTOR
#line 2060 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*map*/*DESCRIPTOR( void )
#line 2060 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2061        %record(dfm) %name d
#line 2061 "regression-compile-tmp/vax-pass2.imp"
 DFM /*name*/*D;
                                                                //   2062        %record(stackfm) %name v
#line 2062 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*V;
                                                                //   2063        v == desc asl;  abort (6) %if v == null
#line 2063 "regression-compile-tmp/vax-pass2.imp"
V = DESCASL;
#line 2063 "regression-compile-tmp/vax-pass2.imp"
if (((V) != (NULL))) goto L_0132;
#line 2063 "regression-compile-tmp/vax-pass2.imp"
ABORT(6);
#line 2063 "regression-compile-tmp/vax-pass2.imp"
L_0132:;
                                                                //   2064        d == d asl;     abort (7) %if d == null
#line 2064 "regression-compile-tmp/vax-pass2.imp"
D = DASL;
#line 2064 "regression-compile-tmp/vax-pass2.imp"
if (((D) != (NULL))) goto L_0133;
#line 2064 "regression-compile-tmp/vax-pass2.imp"
ABORT(7);
#line 2064 "regression-compile-tmp/vax-pass2.imp"
L_0133:;
                                                                //   2065        desc asl == v_link;  v = 0;  v_link == null
#line 2065 "regression-compile-tmp/vax-pass2.imp"
DESCASL = V->LINK;
#line 2065 "regression-compile-tmp/vax-pass2.imp"
*V = (STACKFM){ 0 } /* Assign 0's to all fields of record */;
#line 2065 "regression-compile-tmp/vax-pass2.imp"
V->LINK = NULL;
                                                                //   2066        d asl == d_link
#line 2066 "regression-compile-tmp/vax-pass2.imp"
DASL = D->LINK;
                                                                //   2067        d_link == using_link
#line 2067 "regression-compile-tmp/vax-pass2.imp"
D->LINK = USING.LINK;
                                                                //   2068        using_link == d
#line 2068 "regression-compile-tmp/vax-pass2.imp"
USING.LINK = D;
                                                                //   2069        d_d == v
#line 2069 "regression-compile-tmp/vax-pass2.imp"
D->D = V;
                                                                //   2070        abort (8) %if stp >= max depth
#line 2070 "regression-compile-tmp/vax-pass2.imp"
if (((STP) < (16))) goto L_0134;
#line 2070 "regression-compile-tmp/vax-pass2.imp"
ABORT(8);
#line 2070 "regression-compile-tmp/vax-pass2.imp"
L_0134:;
                                                                //   2071        stp = stp + 1
#line 2071 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) + (1));
                                                                //   2072        stacked(stp) == v
#line 2072 "regression-compile-tmp/vax-pass2.imp"
STACKED[(((int)(STP)) - (1))] = V;
                                                                //   2073        %result == v
#line 2073 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return V;
                                                                //   2074     %end
#line 2074 "regression-compile-tmp/vax-pass2.imp"
} // End of block DESCRIPTOR at level 2
                                                                //   2075  
                                                                //   2076     %routine  DROP (%record(stackfm) %name d)
#line 2076 "regression-compile-tmp/vax-pass2.imp"
void DROP(  STACKFM /*name*/*D )
#line 2076 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2077        %record(dfm) %name  p, q
#line 2077 "regression-compile-tmp/vax-pass2.imp"
 DFM /*name*/*P;
#line 2077 "regression-compile-tmp/vax-pass2.imp"
 DFM /*name*/*Q;
                                                                //   2078        monitor (d, "Drop") %if diag&1 # 0
#line 2078 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (1))) == (0))) goto L_0135;
#line 2078 "regression-compile-tmp/vax-pass2.imp"
MONITOR(D, _imp_str_literal("Drop"));
#line 2078 "regression-compile-tmp/vax-pass2.imp"
L_0135:;
                                                                //   2079        p == using
#line 2079 "regression-compile-tmp/vax-pass2.imp"
P = &USING;
                                                                //   2080        %cycle
#line 2080 "regression-compile-tmp/vax-pass2.imp"
L_0136:;
                                                                //   2081           q == p_link
#line 2081 "regression-compile-tmp/vax-pass2.imp"
Q = P->LINK;
                                                                //   2082           abort (9) %if q == null
#line 2082 "regression-compile-tmp/vax-pass2.imp"
if (((Q) != (NULL))) goto L_0139;
#line 2082 "regression-compile-tmp/vax-pass2.imp"
ABORT(9);
#line 2082 "regression-compile-tmp/vax-pass2.imp"
L_0139:;
                                                                //   2083           %exit %if q_d == d
#line 2083 "regression-compile-tmp/vax-pass2.imp"
if (((Q->D) != (D))) goto L_013a;
#line 2083 "regression-compile-tmp/vax-pass2.imp"
goto L_0137;
#line 2083 "regression-compile-tmp/vax-pass2.imp"
L_013a:;
                                                                //   2084           p == q
#line 2084 "regression-compile-tmp/vax-pass2.imp"
P = Q;
                                                                //   2085        %repeat
#line 2085 "regression-compile-tmp/vax-pass2.imp"
goto L_0136;
#line 2085 "regression-compile-tmp/vax-pass2.imp"
L_0137:;
                                                                //   2086        p_link == q_link
#line 2086 "regression-compile-tmp/vax-pass2.imp"
P->LINK = Q->LINK;
                                                                //   2087        q_link == d asl
#line 2087 "regression-compile-tmp/vax-pass2.imp"
Q->LINK = DASL;
                                                                //   2088        d asl == q
#line 2088 "regression-compile-tmp/vax-pass2.imp"
DASL = Q;
                                                                //   2089        d_link == desc asl
#line 2089 "regression-compile-tmp/vax-pass2.imp"
D->LINK = DESCASL;
                                                                //   2090        desc asl == d
#line 2090 "regression-compile-tmp/vax-pass2.imp"
DESCASL = D;
                                                                //   2091     %end
#line 2091 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DROP at level 2
                                                                //   2092  
                                                                //   2093     %routine  VSTACK (%record(varfm) %name v)
#line 2093 "regression-compile-tmp/vax-pass2.imp"
void VSTACK(  VARFM /*name*/*V )
#line 2093 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2094        %record(stackfm) %name  x
#line 2094 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*X;
                                                                //   2095        x == descriptor
#line 2095 "regression-compile-tmp/vax-pass2.imp"
X = DESCRIPTOR();
                                                                //   2096        x_type     = v_type
#line 2096 "regression-compile-tmp/vax-pass2.imp"
X->TYPE = V->TYPE;
                                                                //   2097        x_form     = v_form&(15!arrayname bit!proc bit)
#line 2097 "regression-compile-tmp/vax-pass2.imp"
X->FORM = ((V->FORM) & (((((15) | (64))) | (16))));
                                                                //   2098        x_base     = v_base
#line 2098 "regression-compile-tmp/vax-pass2.imp"
X->BASE = V->BASE;
                                                                //   2099        x_disp     = v_disp
#line 2099 "regression-compile-tmp/vax-pass2.imp"
X->DISP = V->DISP;
                                                                //   2100        x_format   = v_format
#line 2100 "regression-compile-tmp/vax-pass2.imp"
X->FORMAT = V->FORMAT;
                                                                //   2101        x_extra    = v_extra
#line 2101 "regression-compile-tmp/vax-pass2.imp"
X->EXTRA = V->EXTRA;
                                                                //   2102        x_length   = v_length
#line 2102 "regression-compile-tmp/vax-pass2.imp"
X->LENGTH = V->LENGTH;
                                                                //   2103        x_header   = v_header
#line 2103 "regression-compile-tmp/vax-pass2.imp"
X->HEADER = V->HEADER;
                                                                //   2104        x_mantissa = v_zeroad;                  ! Zero-address for C-B arrays
#line 2104 "regression-compile-tmp/vax-pass2.imp"
X->MANTISSA = V->ZEROAD;
                                                                //   2105        x_mantissa = v_flags %if v_flags # 0;   ! or prim index
#line 2105 "regression-compile-tmp/vax-pass2.imp"
if (((V->FLAGS) == (0))) goto L_013b;
#line 2105 "regression-compile-tmp/vax-pass2.imp"
X->MANTISSA = V->FLAGS;
#line 2105 "regression-compile-tmp/vax-pass2.imp"
L_013b:;
                                                                //   2106        x_xno      = v_xno
#line 2106 "regression-compile-tmp/vax-pass2.imp"
X->XNO = V->XNO;
                                                                //   2107        monitor (x, "Vstack") %if diag&1 # 0
#line 2107 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (1))) == (0))) goto L_013c;
#line 2107 "regression-compile-tmp/vax-pass2.imp"
MONITOR(X, _imp_str_literal("Vstack"));
#line 2107 "regression-compile-tmp/vax-pass2.imp"
L_013c:;
                                                                //   2108     %end
#line 2108 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block VSTACK at level 2
                                                                //   2109  
                                                                //   2110     %routine  DSTACK (%record(stackfm) %name v)
#line 2110 "regression-compile-tmp/vax-pass2.imp"
void DSTACK(  STACKFM /*name*/*V )
#line 2110 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2111        %record(stackfm) %name t
#line 2111 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*T;
                                                                //   2112        t == descriptor
#line 2112 "regression-compile-tmp/vax-pass2.imp"
T = DESCRIPTOR();
                                                                //   2113        t = v
#line 2113 "regression-compile-tmp/vax-pass2.imp"
*T = *V;
                                                                //   2114        monitor (t, "Dstack") %if diag&1 # 0
#line 2114 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (1))) == (0))) goto L_013d;
#line 2114 "regression-compile-tmp/vax-pass2.imp"
MONITOR(T, _imp_str_literal("Dstack"));
#line 2114 "regression-compile-tmp/vax-pass2.imp"
L_013d:;
                                                                //   2115     %end
#line 2115 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DSTACK at level 2
                                                                //   2116  
                                                                //   2117     %routine  GET REAL
#line 2117 "regression-compile-tmp/vax-pass2.imp"
void GETREAL( void )
#line 2117 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2118        %long %real  p, val
#line 2118 "regression-compile-tmp/vax-pass2.imp"
double P;
#line 2118 "regression-compile-tmp/vax-pass2.imp"
double VAL;
                                                                //   2119        %record(stackfm) %name v
#line 2119 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*V;
                                                                //   2120        %integer n, s
#line 2120 "regression-compile-tmp/vax-pass2.imp"
int N;
#line 2120 "regression-compile-tmp/vax-pass2.imp"
int S;
                                                                //   2121        %on 1 %start;        ! real overflow!
#line 2121 "regression-compile-tmp/vax-pass2.imp"
if (!_imp_on_event(1)) goto L_013e;  /* TO DO: Remove %on %event handler just before L_013e: if present for this block */
                                                                //   2122           error ('*', "real value too large")
#line 2122 "regression-compile-tmp/vax-pass2.imp"
ERROR(42, _imp_str_literal("real value too large"));
                                                                //   2123           val = 0;  -> out
#line 2123 "regression-compile-tmp/vax-pass2.imp"
VAL = 0;
#line 2123 "regression-compile-tmp/vax-pass2.imp"
goto U_1000;
                                                                //   2124        %finish
#line 2124 "regression-compile-tmp/vax-pass2.imp"
L_013e:;
                                                                //   2125        n = getword;  get (discard)
#line 2125 "regression-compile-tmp/vax-pass2.imp"
N = GETWORD();
#line 2125 "regression-compile-tmp/vax-pass2.imp"
GET(&DISCARD);
                                                                //   2126        val = 0
#line 2126 "regression-compile-tmp/vax-pass2.imp"
VAL = 0;
                                                                //   2127        %cycle
#line 2127 "regression-compile-tmp/vax-pass2.imp"
L_013f:;
                                                                //   2128           get (s)
#line 2128 "regression-compile-tmp/vax-pass2.imp"
GET(&S);
                                                                //   2129           -> power %if s = '@'
#line 2129 "regression-compile-tmp/vax-pass2.imp"
if (((S) != (64))) goto L_0142;
#line 2129 "regression-compile-tmp/vax-pass2.imp"
goto U_1001;
#line 2129 "regression-compile-tmp/vax-pass2.imp"
L_0142:;
                                                                //   2130           %exit %if s = '.'
#line 2130 "regression-compile-tmp/vax-pass2.imp"
if (((S) != (46))) goto L_0143;
#line 2130 "regression-compile-tmp/vax-pass2.imp"
goto L_0140;
#line 2130 "regression-compile-tmp/vax-pass2.imp"
L_0143:;
/*promote*//*Warning: potential loss of precision converting from integer AST_BINOP ((((int)(S)) - (48)) - 0 bytes) to real AST_BINOP (((VAL) * ((double)(10))) - 0 bytes) detected at ast.c line 108 */
                                                                //   2131           val = val*10+(s-'0')
#line 2131 "regression-compile-tmp/vax-pass2.imp"
VAL = ((((VAL) * ((double)(10)))) + (((((int)(S)) - (48)))));
                                                                //   2132           n = n-1
#line 2132 "regression-compile-tmp/vax-pass2.imp"
N = (((int)(N)) - (1));
                                                                //   2133           -> out %if n = 0
#line 2133 "regression-compile-tmp/vax-pass2.imp"
if (((N) != (0))) goto L_0144;
#line 2133 "regression-compile-tmp/vax-pass2.imp"
goto U_1000;
#line 2133 "regression-compile-tmp/vax-pass2.imp"
L_0144:;
                                                                //   2134        %repeat
#line 2134 "regression-compile-tmp/vax-pass2.imp"
goto L_013f;
#line 2134 "regression-compile-tmp/vax-pass2.imp"
L_0140:;
                                                                //   2135        p = 1
#line 2135 "regression-compile-tmp/vax-pass2.imp"
P = 1;
                                                                //   2136        %cycle
#line 2136 "regression-compile-tmp/vax-pass2.imp"
L_0145:;
                                                                //   2137           n = n - 1;  -> out %if n = 0
#line 2137 "regression-compile-tmp/vax-pass2.imp"
N = (((int)(N)) - (1));
#line 2137 "regression-compile-tmp/vax-pass2.imp"
if (((N) != (0))) goto L_0148;
#line 2137 "regression-compile-tmp/vax-pass2.imp"
goto U_1000;
#line 2137 "regression-compile-tmp/vax-pass2.imp"
L_0148:;
                                                                //   2138           get (s)
#line 2138 "regression-compile-tmp/vax-pass2.imp"
GET(&S);
                                                                //   2139           -> power %if s = '@'
#line 2139 "regression-compile-tmp/vax-pass2.imp"
if (((S) != (64))) goto L_0149;
#line 2139 "regression-compile-tmp/vax-pass2.imp"
goto U_1001;
#line 2139 "regression-compile-tmp/vax-pass2.imp"
L_0149:;
                                                                //   2140           p = p/10
#line 2140 "regression-compile-tmp/vax-pass2.imp"
P = (double)((double)((double)(P)) / (double)((float)(10)));
/*promote*//*promote*/                                                                //   2141           val = val + (s-'0')*p
#line 2141 "regression-compile-tmp/vax-pass2.imp"
VAL = ((VAL) + ((double)((((double)((((int)(S)) - (48)))) * (P)))));
                                                                //   2142        %repeat
#line 2142 "regression-compile-tmp/vax-pass2.imp"
goto L_0145;
                                                                //   2143     power:
#line 2143 "regression-compile-tmp/vax-pass2.imp"
U_1001:;
                                                                //   2144        n = getword;           ! Was GETLONG!!!!
#line 2144 "regression-compile-tmp/vax-pass2.imp"
N = GETWORD();
/*promote*/                                                                //   2145        val = val*10\n
#line 2145 "regression-compile-tmp/vax-pass2.imp"
VAL = ((VAL) * ((double)(_imp_REXP(10, N))));
                                                                //   2146     out:
#line 2146 "regression-compile-tmp/vax-pass2.imp"
U_1000:;
                                                                //   2147        v == descriptor
#line 2147 "regression-compile-tmp/vax-pass2.imp"
V = DESCRIPTOR();
                                                                //   2148        v_type = reall;  v_form = constant
#line 2148 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = 36;
#line 2148 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 0;
                                                                //   2149        v_lrval = val
#line 2149 "regression-compile-tmp/vax-pass2.imp"
V->LRVAL = VAL;
                                                                //   2150     %end
#line 2150 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETREAL at level 2
                                                                //   2151  
                                                                //   2152     %routine  CSTACK (%integer value)
#line 2152 "regression-compile-tmp/vax-pass2.imp"
void CSTACK( int VALUE )
#line 2152 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2153        %record(stackfm) %name v
#line 2153 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*V;
                                                                //   2154        v == descriptor
#line 2154 "regression-compile-tmp/vax-pass2.imp"
V = DESCRIPTOR();
                                                                //   2155        v_disp = value
#line 2155 "regression-compile-tmp/vax-pass2.imp"
V->DISP = VALUE;
                                                                //   2156        v_type = integers
#line 2156 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = 16;
                                                                //   2157        v_form = constant
#line 2157 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 0;
                                                                //   2158        monitor (v, "Cstack") %if diag&1 # 0
#line 2158 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (1))) == (0))) goto L_0146;
#line 2158 "regression-compile-tmp/vax-pass2.imp"
MONITOR(V, _imp_str_literal("Cstack"));
#line 2158 "regression-compile-tmp/vax-pass2.imp"
L_0146:;
                                                                //   2159     %end
#line 2159 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CSTACK at level 2
                                                                //   2160  
                                                                //   2161     %routine  LSTACK (%integer disp)
#line 2161 "regression-compile-tmp/vax-pass2.imp"
void LSTACK( int DISP )
#line 2161 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2162        %record(stackfm) %name  v
#line 2162 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*V;
                                                                //   2163        v == descriptor
#line 2163 "regression-compile-tmp/vax-pass2.imp"
V = DESCRIPTOR();
                                                                //   2164        v_disp = disp
#line 2164 "regression-compile-tmp/vax-pass2.imp"
V->DISP = DISP;
                                                                //   2165        v_base = local
#line 2165 "regression-compile-tmp/vax-pass2.imp"
V->BASE = LOCAL;
                                                                //   2166        v_type = integers
#line 2166 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = 16;
                                                                //   2167        v_form = v in s
#line 2167 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 2;
                                                                //   2168        monitor (v, "Lstack") %if diag&1 # 0
#line 2168 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (1))) == (0))) goto L_014a;
#line 2168 "regression-compile-tmp/vax-pass2.imp"
MONITOR(V, _imp_str_literal("Lstack"));
#line 2168 "regression-compile-tmp/vax-pass2.imp"
L_014a:;
                                                                //   2169        lhs == v
#line 2169 "regression-compile-tmp/vax-pass2.imp"
LHS = V;
                                                                //   2170     %end
#line 2170 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block LSTACK at level 2
                                                                //   2171  
                                                                //   2172     %record(stackfm) %map  TEMP (%integer size)
#line 2172 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*map*/*TEMP( int SIZE )
#line 2172 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2173        %record(stackfm) %name d
#line 2173 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*D;
                                                                //   2174        d == descriptor
#line 2174 "regression-compile-tmp/vax-pass2.imp"
D = DESCRIPTOR();
                                                                //   2175        frame = (frame-size)&(\3)
#line 2175 "regression-compile-tmp/vax-pass2.imp"
FRAME = (((((int)(FRAME)) - (SIZE))) & ((~(3))));
                                                                //   2176        d_base = local;  d_disp = frame
#line 2176 "regression-compile-tmp/vax-pass2.imp"
D->BASE = LOCAL;
#line 2176 "regression-compile-tmp/vax-pass2.imp"
D->DISP = FRAME;
                                                                //   2177        d_type = integers;  d_form = v in s
#line 2177 "regression-compile-tmp/vax-pass2.imp"
D->TYPE = 16;
#line 2177 "regression-compile-tmp/vax-pass2.imp"
D->FORM = 2;
                                                                //   2178        %result == d
#line 2178 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return D;
                                                                //   2179     %end
#line 2179 "regression-compile-tmp/vax-pass2.imp"
} // End of block TEMP at level 2
                                                                //   2180  
                                                                //   2181     %record(stackfm) %map  LITERAL (%integer n)
#line 2181 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*map*/*LITERAL( int N )
#line 2181 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2182        %record(stackfm) %name d
#line 2182 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*D;
                                                                //   2183        d == descriptor
#line 2183 "regression-compile-tmp/vax-pass2.imp"
D = DESCRIPTOR();
                                                                //   2184        d_base = 0;  d_disp = n
#line 2184 "regression-compile-tmp/vax-pass2.imp"
D->BASE = 0;
#line 2184 "regression-compile-tmp/vax-pass2.imp"
D->DISP = N;
                                                                //   2185        d_type = integers;  d_form = constant
#line 2185 "regression-compile-tmp/vax-pass2.imp"
D->TYPE = 16;
#line 2185 "regression-compile-tmp/vax-pass2.imp"
D->FORM = 0;
                                                                //   2186        %result == d
#line 2186 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return D;
                                                                //   2187     %end
#line 2187 "regression-compile-tmp/vax-pass2.imp"
} // End of block LITERAL at level 2
                                                                //   2188  
                                                                //   2189     %routine  SET LHS
#line 2189 "regression-compile-tmp/vax-pass2.imp"
void SETLHS( void )
#line 2189 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2190        lhs == stacked(stp)
#line 2190 "regression-compile-tmp/vax-pass2.imp"
LHS = STACKED[(((int)(STP)) - (1))];
                                                                //   2191        monitor (lhs, "Set lhs") %if diag&1 # 0
#line 2191 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (1))) == (0))) goto L_014b;
#line 2191 "regression-compile-tmp/vax-pass2.imp"
MONITOR(LHS, _imp_str_literal("Set lhs"));
#line 2191 "regression-compile-tmp/vax-pass2.imp"
L_014b:;
                                                                //   2192     %end
#line 2192 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETLHS at level 2
                                                                //   2193  
                                                                //   2194     %routine  SET BOTH
#line 2194 "regression-compile-tmp/vax-pass2.imp"
void SETBOTH( void )
#line 2194 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2195        abort (10) %if stp <= 1
#line 2195 "regression-compile-tmp/vax-pass2.imp"
if (((STP) > (1))) goto L_014c;
#line 2195 "regression-compile-tmp/vax-pass2.imp"
ABORT(10);
#line 2195 "regression-compile-tmp/vax-pass2.imp"
L_014c:;
                                                                //   2196        lhs == stacked(stp-1)
#line 2196 "regression-compile-tmp/vax-pass2.imp"
LHS = STACKED[(((int)((((int)(STP)) - (1)))) - (1))];
                                                                //   2197        rhs == stacked(stp  )
#line 2197 "regression-compile-tmp/vax-pass2.imp"
RHS = STACKED[(((int)(STP)) - (1))];
                                                                //   2198        %if diag&1 # 0 %start
#line 2198 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (1))) == (0))) goto L_014d;
                                                                //   2199           monitor (lhs, "Both lhs")
#line 2199 "regression-compile-tmp/vax-pass2.imp"
MONITOR(LHS, _imp_str_literal("Both lhs"));
                                                                //   2200           monitor (rhs, "     rhs")
#line 2200 "regression-compile-tmp/vax-pass2.imp"
MONITOR(RHS, _imp_str_literal("     rhs"));
                                                                //   2201        %finish
#line 2201 "regression-compile-tmp/vax-pass2.imp"
L_014d:;
                                                                //   2202     %end
#line 2202 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETBOTH at level 2
                                                                //   2203  
                                                                //   2204     %routine  POP LHS
#line 2204 "regression-compile-tmp/vax-pass2.imp"
void POPLHS( void )
#line 2204 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2205        abort (11) %if stp <= 0
#line 2205 "regression-compile-tmp/vax-pass2.imp"
if (((STP) > (0))) goto L_014e;
#line 2205 "regression-compile-tmp/vax-pass2.imp"
ABORT(11);
#line 2205 "regression-compile-tmp/vax-pass2.imp"
L_014e:;
                                                                //   2206        stp = stp - 1
#line 2206 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   2207        lhs == stacked(stp+1)
#line 2207 "regression-compile-tmp/vax-pass2.imp"
LHS = STACKED[(((int)((((int)(STP)) + (1)))) - (1))];
                                                                //   2208        monitor (lhs, "Pop lhs") %if diag&1 # 0
#line 2208 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (1))) == (0))) goto L_014f;
#line 2208 "regression-compile-tmp/vax-pass2.imp"
MONITOR(LHS, _imp_str_literal("Pop lhs"));
#line 2208 "regression-compile-tmp/vax-pass2.imp"
L_014f:;
                                                                //   2209     %end
#line 2209 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block POPLHS at level 2
                                                                //   2210  
                                                                //   2211     %routine  POP DROP
#line 2211 "regression-compile-tmp/vax-pass2.imp"
void POPDROP( void )
#line 2211 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2212        %integer  d
#line 2212 "regression-compile-tmp/vax-pass2.imp"
int D;
                                                                //   2213        %record(stack fm) %name  t
#line 2213 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*T;
                                                                //   2214        abort (12) %if stp <= 0
#line 2214 "regression-compile-tmp/vax-pass2.imp"
if (((STP) > (0))) goto L_0150;
#line 2214 "regression-compile-tmp/vax-pass2.imp"
ABORT(12);
#line 2214 "regression-compile-tmp/vax-pass2.imp"
L_0150:;
                                                                //   2215        stp = stp - 1
#line 2215 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   2216        t == stacked(stp+1)
#line 2216 "regression-compile-tmp/vax-pass2.imp"
T = STACKED[(((int)((((int)(STP)) + (1)))) - (1))];
                                                                //   2217        monitor (t, "Pop drop") %if diag&1 # 0
#line 2217 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (1))) == (0))) goto L_0151;
#line 2217 "regression-compile-tmp/vax-pass2.imp"
MONITOR(T, _imp_str_literal("Pop drop"));
#line 2217 "regression-compile-tmp/vax-pass2.imp"
L_0151:;
                                                                //   2218        d = diag;  diag = 0;  drop (t);  diag = d
#line 2218 "regression-compile-tmp/vax-pass2.imp"
D = DIAG;
#line 2218 "regression-compile-tmp/vax-pass2.imp"
DIAG = 0;
#line 2218 "regression-compile-tmp/vax-pass2.imp"
DROP(T);
#line 2218 "regression-compile-tmp/vax-pass2.imp"
DIAG = D;
                                                                //   2219     %end
#line 2219 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block POPDROP at level 2
                                                                //   2220  
                                                                //   2221     %routine  MACHINE CODE
#line 2221 "regression-compile-tmp/vax-pass2.imp"
void MACHINECODE( void )
#line 2221 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2222        %integer  sym, n, j
#line 2222 "regression-compile-tmp/vax-pass2.imp"
int SYM;
#line 2222 "regression-compile-tmp/vax-pass2.imp"
int N;
#line 2222 "regression-compile-tmp/vax-pass2.imp"
int J;
                                                                //   2223        %integer  opcode, operands, flags
#line 2223 "regression-compile-tmp/vax-pass2.imp"
int OPCODE;
#line 2223 "regression-compile-tmp/vax-pass2.imp"
int OPERANDS;
#line 2223 "regression-compile-tmp/vax-pass2.imp"
int FLAGS;
                                                                //   2224        %string(6)  optext
#line 2224 "regression-compile-tmp/vax-pass2.imp"
_imp_string /*%string(6)*/ OPTEXT;
                                                                //   2225  
                                                                //   2226        %const %integer %array  code (0 : 511) =
#line 2226 "regression-compile-tmp/vax-pass2.imp"
const int CODE[512] = { (-2028848911), (-211812005), (-2028848461), (-228589221), (-2001548617), (-1189085182), (-2001024329), (-1205862398), (-1953804084), 1799356444, (-1953804020), 1262485531, (-1905927613), 947913290, (-1760899355), 239075353, (-1670834472), 100663296, (-1640295101), 964690570, (-1625535828), (-601882621), (-1625531677), 801153610, (-1625526132), (-1707081703), (-1625526121), (-1690304495), (-1625525460), 1010827290, (-1521970958), 207618129, (-1521970953), 224395345, (-1518688158), (-1625292799), (-1518688148), (-551550973), (-1518688143), 2132803588, (-1518688137), 1059061762, (-1468543259), 255852569, (-1424874255), (-197132245), (-1424873774), (-180355029), (-1417079080), 117440512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69763, (-513801909), 69779, (-530579125), 70228, 50331648, 70274, 287309829, 70295, 824180742, 70403, 471859205, 70419, 488636421, 71299, 195048089, 73987, (-343931317), 74003, (-360708533), 78320, 387973121, 78498, 371195905, 82480, 16777216, 86249, 33554432, 86260, 67108864, 86690, 83886080, 92419, (-67108864), 2200706, (-1652552631), 2200708, 1870662948, 2200710, 1333791963, 2200716, (-243266341), 2200727, 1031802002, 2202403, (-666894309), 2217292, 2019557593, 2217296, (-121593263), 2217297, 2036334881, 2232483, (-446693045), 2232499, (-480247477), 2232995, (-463470261), 2233011, (-497024693), 2236012, 320864261, 2237681, 404750341, 2238162, 337641477, 2240194, (-1824522231), 2240204, (-750780389), 2240215, (-1287651310), 2242691, (-381681621), 2242707, (-398458837), 2242801, 354418693, 2243251, 421527557, 2244849, 304087045, 2249858, 270532613, 2249879, 807403526, 2271717, (-1121976318), 2271723, (-1138753534), 2271731, (-1105199102), 2271733, (-1088421886), 2275970, (-1809842175), 2275980, (-736100349), 2275985, 2082471940, 2275991, (-1272971262), 2276930, (-1858076663), 2276932, 1900019748, 2276934, 1363148827, 2276940, (-784334821), 2276950, (-327154101), 2276951, (-1321205742), 2301090, (-1759510527), 2301100, (-685768701), 2301111, (-1222639614), 2305808, 666935946, 2333046, 2071987939, 2342636, 2055211227, 2353878, (-293599669), 2428372, 0, 2474146, (-1776287743), 2474156, (-702545917), 2474167, (-1239416830), 2474678, (-260046245), 2573475, 979370065, 2597458, (-616562661), 2606850, (-1874853879), 2606852, 1883242532, 2606854, 1346371611, 2606860, (-801112037), 2606864, 878706762, 2606865, 2101346340, 2606871, (-1337982958), 2611794, (-633339877), 2612688, 633381514, 2704978, (-1172307966), 2770636, (-1671429927), 2790179, (-650117093), 2799171, 996147281, 2840258, (-1793064959), 2840260, 1931476996, 2840262, 1394606083, 2840268, (-719323133), 2840279, (-1256194046), 70455081, 1480589330, 70457458, (-2143289335), 70457459, (-2124414903), 70457522, 1614807076, 70457523, 1633681700, 70457586, 1077936155, 70457587, 1094713371, 70457778, (-1069547493), 70457779, (-1050672933), 70457908, 545260170, 70457910, 566272650, 70458130, (-1606418414), 70458131, (-1587543918), 71439529, (-413138613), 71456425, (-429915829), 71605877, 505413637, 71621269, 438304773, 71668850, (-1975517175), 71668851, (-1956642743), 71669170, (-901775333), 71669171, (-882900773), 71669522, (-1438646254), 71669523, (-1419771758), 71685234, (-2009071607), 71685554, (-935329765), 71685555, (-916455205), 71685906, (-1472200686), 71685907, (-1453326190), 71769717, 455081989, 71784117, 522190853, 72464839, (-96468983), 72464851, (-79691765), 72471778, (-1889533879), 72471788, (-815791909), 72471799, (-1352662894), 72861843, 694157386, 72861845, 765465674, 72862260, 931136138, 72862614, (-310376885), 72924723, 895483978, 73160836, 1816133665, 73160838, 1279262745, 73160844, (-1740636135), 73160855, (-1723858927), 73160898, 1749024780, 73160902, 1983905820, 73160908, 1782579228, 73160919, 1765802004, 73160962, 1212153867, 73160964, 1447034915, 73160972, 1245708315, 73160983, 1228931091, 73161154, (-163577845), 73161156, 1849688099, 73161158, 1312817179, 73161168, (-111148973), 73161175, (-146800621), 73161292, 912261322, 73161299, 142606986, 73161300, 614470730, 73161392, 159384202, 73161424, 648025162, 73161506, 859832330, 73161508, 1832910874, 73161516, 843055130, 73654386, (-2042626039), 73785459, (-2023751607), 73785522, 1715470372, 73785523, 1734344996, 73785586, 1178599451, 73785587, 1197474011, 73785778, (-968884197), 73785779, (-950009637), 73786130, (-1505755118), 73786131, (-1486880622), 74958020, 1956661004, 74958022, 1419785931, 75324310, (-276822453), 79173880, 180467419, 83019234, (-1841299447), 83019244, (-767557605), 83019255, (-1304428526), 83219571, (-1990197175), 83369250, (-1908408311), 83369252, 1916796964, 83369254, 1379926043, 83369260, (-834666469), 83369271, (-1371537390), 83419234, (-1639972839), 83419244, (-566231013), 83419249, 2118123548, 83419255, 1044381722, 83419283, 677380170, 83419285, 748688458, 83419843, 784376394, 83605618, (-2076180471), 83605619, (-2057306039), 83605682, 1681915940, 83605683, 1700790564, 83605746, 1145045019, 83605747, 1163919579, 83605938, (-1002438629), 83605939, (-983564069), 83606290, (-1539309550), 83606291, (-1520435054), 86555492, 1969225812, 86555494, 1432354899, 86758732, (-585105405), 86758738, (-1155530750), 89296387, 713032266, 89722371, 729809482, 89886834, (-2109734903), 89886835, (-2090860471), 89886898, 1648361508, 89886899, 1667236132, 89886962, 1111490587, 89886963, 1130365147, 89887154, (-1035993061), 89887155, (-1017118501), 89887284, 578814602, 89887286, 599827082, 89887506, (-1572863982), 89887507, (-1553989486), 94949490, (-1941962743), 94949491, (-1923088311), 94949810, (-868220901), 94949811, (-849346341), 94950162, (-1405091822), 94950163, (-1386217326),  };
                                                                //   2227           16_871238F1,16_F360015B, 16_87123AB3,16_F260015B,
                                                                //   2228           16_88B2CAB7,16_B9200002, 16_88BACAB7,16_B8200002,
                                                                //   2229           16_8B8B50CC,16_6B40001C, 16_8B8B510C,16_4B40001B,
                                                                //   2230           16_8E65DA43,16_3880024A, 16_970ACEE5,16_0E400019,
                                                                //   2231           16_9C6916D8,16_06000000, 16_9E3B1543,16_3980028A,
                                                                //   2232           16_9F1C4AAC,16_DC200003, 16_9F1C5AE3,16_2FC0A24A,
                                                                //   2233           16_9F1C708C,16_9A400019, 16_9F1C7097,16_9B400011,
                                                                //   2234           16_9F1C732C,16_3C40001A, 16_A54890F2,16_0C600051,
                                                                //   2235           16_A54890F7,16_0D600051, 16_A57AA862,16_9F200001,
                                                                //   2236           16_A57AA86C,16_DF200003, 16_A57AA871,16_7F200004,
                                                                //   2237           16_A57AA877,16_3F200002, 16_A877CEE5,16_0F400019,
                                                                //   2238           16_AB1224F1,16_F440002B, 16_AB1226D2,16_F540002B,
                                                                //   2239           16_AB8916D8,16_07000000, 16_00000000,16_00000000,
                                                                //   2240           16_00000000,16_00000000, 16_00000000,16_00000000,
                                                                //   2241           16_00000000,16_00000000, 16_00000000,16_00000000,
                                                                //   2242           16_00000000,16_00000000, 16_00000000,16_00000000,
                                                                //   2243           16_00000000,16_00000000, 16_00000000,16_00000000,
                                                                //   2244           16_00000000,16_00000000, 16_00000000,16_00000000,
                                                                //   2245           16_00000000,16_00000000, 16_00000000,16_00000000,
                                                                //   2246           16_00011083,16_E160014B, 16_00011093,16_E060014B,
                                                                //   2247           16_00011254,16_03000000, 16_00011282,16_11200005,
                                                                //   2248           16_00011297,16_31200006, 16_00011303,16_1C200005,
                                                                //   2249           16_00011313,16_1D200005, 16_00011683,16_0BA03299,
                                                                //   2250           16_00012103,16_EB80064B, 16_00012113,16_EA80064B,
                                                                //   2251           16_000131F0,16_17200001, 16_000132A2,16_16200001,
                                                                //   2252           16_00014230,16_01000000, 16_000150E9,16_02000000,
                                                                //   2253           16_000150F4,16_04000000, 16_000152A2,16_05000000,
                                                                //   2254           16_00016903,16_FC000000, 16_00219482,16_9D800C49,
                                                                //   2255           16_00219484,16_6F800D24, 16_00219486,16_4F800CDB,
                                                                //   2256           16_0021948C,16_F1800CDB, 16_00219497,16_3D800C92,
                                                                //   2257           16_00219B23,16_D840001B, 16_0021D54C,16_786000D9,
                                                                //   2258           16_0021D550,16_F8C0A251, 16_0021D551,16_79600121,
                                                                //   2259           16_002210A3,16_E560014B, 16_002210B3,16_E360014B,
                                                                //   2260           16_002212A3,16_E460014B, 16_002212B3,16_E260014B,
                                                                //   2261           16_00221E6C,16_13200005, 16_002224F1,16_18200005,
                                                                //   2262           16_002226D2,16_14200005, 16_00222EC2,16_93400009,
                                                                //   2263           16_00222ECC,16_D340001B, 16_00222ED7,16_B3400012,
                                                                //   2264           16_00223883,16_E940002B, 16_00223893,16_E840002B,
                                                                //   2265           16_002238F1,16_15200005, 16_00223AB3,16_19200005,
                                                                //   2266           16_002240F1,16_12200005, 16_00225482,16_10200005,
                                                                //   2267           16_00225497,16_30200006, 16_0022A9E5,16_BD200002,
                                                                //   2268           16_0022A9EB,16_BC200002, 16_0022A9F3,16_BE200002,
                                                                //   2269           16_0022A9F5,16_BF200002, 16_0022BA82,16_94200001,
                                                                //   2270           16_0022BA8C,16_D4200003, 16_0022BA91,16_7C200004,
                                                                //   2271           16_0022BA97,16_B4200002, 16_0022BE42,16_91400009,
                                                                //   2272           16_0022BE44,16_71400024, 16_0022BE46,16_5140001B,
                                                                //   2273           16_0022BE4C,16_D140001B, 16_0022BE56,16_EC80064B,
                                                                //   2274           16_0022BE57,16_B1400012, 16_00231CA2,16_97200001,
                                                                //   2275           16_00231CAC,16_D7200003, 16_00231CB7,16_B7200002,
                                                                //   2276           16_00232F10,16_27C0A28A, 16_00239976,16_7B8006E3,
                                                                //   2277           16_0023BEEC,16_7A8008DB, 16_0023EAD6,16_EE80064B,
                                                                //   2278           16_00250DD4,16_00000000, 16_0025C0A2,16_96200001,
                                                                //   2279           16_0025C0AC,16_D6200003, 16_0025C0B7,16_B6200002,
                                                                //   2280           16_0025C2B6,16_F080025B, 16_002744A3,16_3A600051,
                                                                //   2281           16_0027A252,16_DB40001B, 16_0027C702,16_90400009,
                                                                //   2282           16_0027C704,16_70400024, 16_0027C706,16_5040001B,
                                                                //   2283           16_0027C70C,16_D040001B, 16_0027C710,16_3460004A,
                                                                //   2284           16_0027C711,16_7D400024, 16_0027C717,16_B0400012,
                                                                //   2285           16_0027DA52,16_DA40001B, 16_0027DDD0,16_25C0A28A,
                                                                //   2286           16_00294652,16_BA200002, 16_002A46CC,16_9C6000D9,
                                                                //   2287           16_002A9323,16_D940001B, 16_002AB643,16_3B600051,
                                                                //   2288           16_002B56C2,16_95200001, 16_002B56C4,16_73200004,
                                                                //   2289           16_002B56C6,16_53200003, 16_002B56CC,16_D5200003,
                                                                //   2290           16_002B56D7,16_B5200002, 16_04330F29,16_58400012,
                                                                //   2291           16_04331872,16_80400009, 16_04331873,16_81600049,
                                                                //   2292           16_043318B2,16_60400024, 16_043318B3,16_61600124,
                                                                //   2293           16_043318F2,16_4040001B, 16_043318F3,16_4140001B,
                                                                //   2294           16_043319B2,16_C040001B, 16_043319B3,16_C16000DB,
                                                                //   2295           16_04331A34,16_2080028A, 16_04331A36,16_21C0A28A,
                                                                //   2296           16_04331B12,16_A0400012, 16_04331B13,16_A1600092,
                                                                //   2297           16_044214A9,16_E760014B, 16_044256A9,16_E660014B,
                                                                //   2298           16_04449E75,16_1E200005, 16_0444DA95,16_1A200005,
                                                                //   2299           16_04459472,16_8A400009, 16_04459473,16_8B600049,
                                                                //   2300           16_044595B2,16_CA40001B, 16_044595B3,16_CB6000DB,
                                                                //   2301           16_04459712,16_AA400012, 16_04459713,16_AB600092,
                                                                //   2302           16_0445D472,16_88400009, 16_0445D5B2,16_C840001B,
                                                                //   2303           16_0445D5B3,16_C96000DB, 16_0445D712,16_A8400012,
                                                                //   2304           16_0445D713,16_A9600092, 16_04471E75,16_1B200005,
                                                                //   2305           16_044756B5,16_1F200005, 16_0451B9C7,16_FA400009,
                                                                //   2306           16_0451B9D3,16_FB40000B, 16_0451D4E2,16_8F600049,
                                                                //   2307           16_0451D4EC,16_CF6000DB, 16_0451D4F7,16_AF600092,
                                                                //   2308           16_0457C893,16_2960004A, 16_0457C895,16_2DA0144A,
                                                                //   2309           16_0457CA34,16_3780028A, 16_0457CB96,16_ED80064B,
                                                                //   2310           16_0458BE33,16_3560004A, 16_045C5884,16_6C400021,
                                                                //   2311           16_045C5886,16_4C400019, 16_045C588C,16_98400019,
                                                                //   2312           16_045C5897,16_99400011, 16_045C58C2,16_6840000C,
                                                                //   2313           16_045C58C6,16_7640001C, 16_045C58CC,16_6A40001C,
                                                                //   2314           16_045C58D7,16_69400014, 16_045C5902,16_4840000B,
                                                                //   2315           16_045C5904,16_56400023, 16_045C590C,16_4A40001B,
                                                                //   2316           16_045C5917,16_49400013, 16_045C59C2,16_F640000B,
                                                                //   2317           16_045C59C4,16_6E400023, 16_045C59C6,16_4E40001B,
                                                                //   2318           16_045C59D0,16_F9600053, 16_045C59D7,16_F7400013,
                                                                //   2319           16_045C5A4C,16_366000CA, 16_045C5A53,16_0880028A,
                                                                //   2320           16_045C5A54,16_24A0144A, 16_045C5AB0,16_0980028A,
                                                                //   2321           16_045C5AD0,16_26A0144A, 16_045C5B22,16_3340000A,
                                                                //   2322           16_045C5B24,16_6D40001A, 16_045C5B2C,16_3240001A,
                                                                //   2323           16_0463E072,16_86400009, 16_0465E073,16_87600049,
                                                                //   2324           16_0465E0B2,16_66400024, 16_0465E0B3,16_67600124,
                                                                //   2325           16_0465E0F2,16_4640001B, 16_0465E0F3,16_476000DB,
                                                                //   2326           16_0465E1B2,16_C640001B, 16_0465E1B3,16_C76000DB,
                                                                //   2327           16_0465E312,16_A6400012, 16_0465E313,16_A7600092,
                                                                //   2328           16_0477C4C4,16_74A0470C, 16_0477C4C6,16_54A036CB,
                                                                //   2329           16_047D5B96,16_EF80064B, 16_04B818F8,16_0AC1B6DB,
                                                                //   2330           16_04F2C5E2,16_92400009, 16_04F2C5EC,16_D240001B,
                                                                //   2331           16_04F2C5F7,16_B2400012, 16_04F5D473,16_89600049,
                                                                //   2332           16_04F81D22,16_8E400009, 16_04F81D24,16_72400024,
                                                                //   2333           16_04F81D26,16_5240001B, 16_04F81D2C,16_CE40001B,
                                                                //   2334           16_04F81D37,16_AE400012, 16_04F8E062,16_9E400019,
                                                                //   2335           16_04F8E06C,16_DE40001B, 16_04F8E071,16_7E40001C,
                                                                //   2336           16_04F8E077,16_3E40001A, 16_04F8E093,16_2860004A,
                                                                //   2337           16_04F8E095,16_2CA0144A, 16_04F8E2C3,16_2EC0A24A,
                                                                //   2338           16_04FBB872,16_84400009, 16_04FBB873,16_85600049,
                                                                //   2339           16_04FBB8B2,16_64400024, 16_04FBB8B3,16_65600124,
                                                                //   2340           16_04FBB8F2,16_4440001B, 16_04FBB8F3,16_456000DB,
                                                                //   2341           16_04FBB9B2,16_C440001B, 16_04FBB9B3,16_C56000DB,
                                                                //   2342           16_04FBBB12,16_A4400012, 16_04FBBB13,16_A5600092,
                                                                //   2343           16_0528BB64,16_75600054, 16_0528BB66,16_55600053,
                                                                //   2344           16_052BD54C,16_DD200003, 16_052BD552,16_BB200002,
                                                                //   2345           16_05528E03,16_2A80024A, 16_05590E03,16_2B80024A,
                                                                //   2346           16_055B9072,16_82400009, 16_055B9073,16_83600049,
                                                                //   2347           16_055B90B2,16_62400024, 16_055B90B3,16_63600124,
                                                                //   2348           16_055B90F2,16_4240001B, 16_055B90F3,16_436000DB,
                                                                //   2349           16_055B91B2,16_C240001B, 16_055B91B3,16_C36000DB,
                                                                //   2350           16_055B9234,16_2280028A, 16_055B9236,16_23C0A28A,
                                                                //   2351           16_055B9312,16_A2400012, 16_055B9313,16_A3600092,
                                                                //   2352           16_05A8D072,16_8C400009, 16_05A8D073,16_8D600049,
                                                                //   2353           16_05A8D1B2,16_CC40001B, 16_05A8D1B3,16_CD6000DB,
                                                                //   2354           16_05A8D312,16_AC400012, 16_05A8D313,16_AD600092
                                                                //   2355  
                                                                //   2356        %routine  MC ERROR (%string(23) text)
#line 2356 "regression-compile-tmp/vax-pass2.imp"
void MCERROR( _imp_string /*%string(23)*/ TEXT )
#line 2356 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2357           error ('*', optext.": ".text)
#line 2357 "regression-compile-tmp/vax-pass2.imp"
ERROR(42, _imp_join((_imp_string)_imp_join((_imp_string)OPTEXT,(_imp_string)_imp_str_literal(": ")),(_imp_string)TEXT));
                                                                //   2358           get (sym) %while sym # ';'
#line 2358 "regression-compile-tmp/vax-pass2.imp"
L_0152:;
#line 2358 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) == (59))) goto L_0153;
#line 2358 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
#line 2358 "regression-compile-tmp/vax-pass2.imp"
goto L_0152;
#line 2358 "regression-compile-tmp/vax-pass2.imp"
L_0153:;
                                                                //   2359        %end
#line 2359 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MCERROR at level 3
                                                                //   2360  
                                                                //   2361        %integer %function  FIND (%integer key)
#line 2361 "regression-compile-tmp/vax-pass2.imp"
int FIND( int KEY )
#line 2361 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2362           %integer a, b, p
#line 2362 "regression-compile-tmp/vax-pass2.imp"
int A;
#line 2362 "regression-compile-tmp/vax-pass2.imp"
int B;
#line 2362 "regression-compile-tmp/vax-pass2.imp"
int P;
                                                                //   2363           a = 0;  b = 512
#line 2363 "regression-compile-tmp/vax-pass2.imp"
A = 0;
#line 2363 "regression-compile-tmp/vax-pass2.imp"
B = 512;
                                                                //   2364           %while a <= b %cycle
#line 2364 "regression-compile-tmp/vax-pass2.imp"
L_0155:;
#line 2364 "regression-compile-tmp/vax-pass2.imp"
if (((A) > (B))) goto L_0156;
                                                                //   2365              p = (a+b)>>2<<1
#line 2365 "regression-compile-tmp/vax-pass2.imp"
P = (((((((((int)(A)) + (B)))) >> (2)))) << (1));
                                                                //   2366              %result = p %if code(p) = key
#line 2366 "regression-compile-tmp/vax-pass2.imp"
if (((CODE[P]) != (KEY))) goto L_0158;
#line 2366 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return P;
#line 2366 "regression-compile-tmp/vax-pass2.imp"
L_0158:;
                                                                //   2367              %if key > code(p) %then a = p+2 %else b = p-2
#line 2367 "regression-compile-tmp/vax-pass2.imp"
if (((KEY) <= (CODE[P]))) goto L_0159;
#line 2367 "regression-compile-tmp/vax-pass2.imp"
A = (((int)(P)) + (2));
#line 2367 "regression-compile-tmp/vax-pass2.imp"
goto L_015a;
#line 2367 "regression-compile-tmp/vax-pass2.imp"
L_0159:;
#line 2367 "regression-compile-tmp/vax-pass2.imp"
B = (((int)(P)) - (2));
#line 2367 "regression-compile-tmp/vax-pass2.imp"
L_015a:;
                                                                //   2368           %repeat
#line 2368 "regression-compile-tmp/vax-pass2.imp"
goto L_0155;
#line 2368 "regression-compile-tmp/vax-pass2.imp"
L_0156:;
                                                                //   2369           %result = -1
#line 2369 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return (-1);
                                                                //   2370        %end
#line 2370 "regression-compile-tmp/vax-pass2.imp"
} // End of block FIND at level 3
                                                                //   2371  
                                                                //   2372        %predicate  PARSED OPERAND (%integer flag)
#line 2372 "regression-compile-tmp/vax-pass2.imp"
int /*Boolean*/ PARSEDOPERAND( int FLAG )
#line 2372 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2373           %byte %array  oper (1 : 128)
#line 2373 "regression-compile-tmp/vax-pass2.imp"
unsigned char OPER[128];
                                                                //   2374           %integer  base, disp, sign, indirect, m, p, size
#line 2374 "regression-compile-tmp/vax-pass2.imp"
int BASE;
#line 2374 "regression-compile-tmp/vax-pass2.imp"
int DISP;
#line 2374 "regression-compile-tmp/vax-pass2.imp"
int SIGN;
#line 2374 "regression-compile-tmp/vax-pass2.imp"
int INDIRECT;
#line 2374 "regression-compile-tmp/vax-pass2.imp"
int M;
#line 2374 "regression-compile-tmp/vax-pass2.imp"
int P;
#line 2374 "regression-compile-tmp/vax-pass2.imp"
int SIZE;
                                                                //   2375           %record(varfm) %name  v
#line 2375 "regression-compile-tmp/vax-pass2.imp"
 VARFM /*name*/*V;
                                                                //   2376  
                                                                //   2377           %predicate  LITERAL (%integername n)
#line 2377 "regression-compile-tmp/vax-pass2.imp"
int /*Boolean*/ LITERAL( int /*name*/*N )
#line 2377 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2378              %false %unless '0' <= sym <= '7'
#line 2378 "regression-compile-tmp/vax-pass2.imp"
if ((((48) > (SYM))) || (((SYM) <= (55)))) goto L_015b;
#line 2378 "regression-compile-tmp/vax-pass2.imp"
L_0157:;
#line 2378 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2378 "regression-compile-tmp/vax-pass2.imp"
L_015b:;
                                                                //   2379              n = 0
#line 2379 "regression-compile-tmp/vax-pass2.imp"
*N = 0;
                                                                //   2380              %cycle
#line 2380 "regression-compile-tmp/vax-pass2.imp"
L_015c:;
                                                                //   2381                 n = n<<3 + sym-'0'
#line 2381 "regression-compile-tmp/vax-pass2.imp"
*N = (((int)((((int)(((*N) << (3)))) + (SYM)))) - (48));
                                                                //   2382                 get (sym)
#line 2382 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
                                                                //   2383                 %true %unless '0' <= sym <= '7'
#line 2383 "regression-compile-tmp/vax-pass2.imp"
if ((((48) > (SYM))) || (((SYM) <= (55)))) goto L_015f;
#line 2383 "regression-compile-tmp/vax-pass2.imp"
L_011a:;
#line 2383 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 2383 "regression-compile-tmp/vax-pass2.imp"
L_015f:;
                                                                //   2384              %repeat
#line 2384 "regression-compile-tmp/vax-pass2.imp"
goto L_015c;
                                                                //   2385           %end
#line 2385 "regression-compile-tmp/vax-pass2.imp"
} // End of block LITERAL at level 4
                                                                //   2386  
                                                                //   2387           %predicate  REG (%integername r)
#line 2387 "regression-compile-tmp/vax-pass2.imp"
int /*Boolean*/ REG( int /*name*/*R )
#line 2387 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2388              get (sym);        !skip (
#line 2388 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
                                                                //   2389              %false %unless literal (r)
#line 2389 "regression-compile-tmp/vax-pass2.imp"
if (LITERAL(R)) goto L_015d;
#line 2389 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2389 "regression-compile-tmp/vax-pass2.imp"
L_015d:;
                                                                //   2390              %false %unless 0 <= r <= 15
#line 2390 "regression-compile-tmp/vax-pass2.imp"
if ((((0) > (*R))) || (((*R) <= (15)))) goto L_0160;
#line 2390 "regression-compile-tmp/vax-pass2.imp"
L_015e:;
#line 2390 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2390 "regression-compile-tmp/vax-pass2.imp"
L_0160:;
                                                                //   2391              %false %if sym # ')'
#line 2391 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) == (41))) goto L_0161;
#line 2391 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2391 "regression-compile-tmp/vax-pass2.imp"
L_0161:;
                                                                //   2392              get (sym)
#line 2392 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
                                                                //   2393              %true
#line 2393 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   2394           %end
#line 2394 "regression-compile-tmp/vax-pass2.imp"
} // End of block REG at level 4
                                                                //   2395  
                                                                //   2396           %routine  SET BYTE (%integer b)
#line 2396 "regression-compile-tmp/vax-pass2.imp"
void SETBYTE( int B )
#line 2396 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2397              p = p + 1;  oper(p) = b
#line 2397 "regression-compile-tmp/vax-pass2.imp"
P = (((int)(P)) + (1));
#line 2397 "regression-compile-tmp/vax-pass2.imp"
OPER[(((int)(P)) - (1))] = B;
                                                                //   2398           %end
#line 2398 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETBYTE at level 4
                                                                //   2399  
                                                                //   2400           %routine  SET WORD (%integer n)
#line 2400 "regression-compile-tmp/vax-pass2.imp"
void SETWORD( int N )
#line 2400 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2401              shortinteger(addr(oper(p+1))) = n
#line 2401 "regression-compile-tmp/vax-pass2.imp"
*_imp_SHORTINTEGER(_imp_ADDR(&OPER[(((int)((((int)(P)) + (1)))) - (1))])) = N;
                                                                //   2402              p = p + 2
#line 2402 "regression-compile-tmp/vax-pass2.imp"
P = (((int)(P)) + (2));
                                                                //   2403           %end
#line 2403 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETWORD at level 4
                                                                //   2404  
                                                                //   2405           %routine  SET LONGWORD (%integer n)
#line 2405 "regression-compile-tmp/vax-pass2.imp"
void SETLONGWORD( int N )
#line 2405 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2406              integer(addr(oper(p+1))) = n
#line 2406 "regression-compile-tmp/vax-pass2.imp"
*_imp_INTEGER(_imp_ADDR(&OPER[(((int)((((int)(P)) + (1)))) - (1))])) = N;
                                                                //   2407              p = p + 4
#line 2407 "regression-compile-tmp/vax-pass2.imp"
P = (((int)(P)) + (4));
                                                                //   2408           %end
#line 2408 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETLONGWORD at level 4
                                                                //   2409  
                                                                //   2410           p = 0
#line 2410 "regression-compile-tmp/vax-pass2.imp"
P = 0;
                                                                //   2411           indirect = 0;  sign = 1
#line 2411 "regression-compile-tmp/vax-pass2.imp"
INDIRECT = 0;
#line 2411 "regression-compile-tmp/vax-pass2.imp"
SIGN = 1;
                                                                //   2412  
                                                                //   2413           entry mask = entry mask ! 16_ffc
#line 2413 "regression-compile-tmp/vax-pass2.imp"
ENTRYMASK = ((ENTRYMASK) | (4092));
                                                                //   2414  
                                                                //   2415           %if sym = '@' %and flag < 5 %start
#line 2415 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (64))) goto L_0162;
#line 2415 "regression-compile-tmp/vax-pass2.imp"
if (((FLAG) >= (5))) goto L_0162;
                                                                //   2416              indirect = 16_10;  get (sym)
#line 2416 "regression-compile-tmp/vax-pass2.imp"
INDIRECT = 16;
#line 2416 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
                                                                //   2417           %finish
#line 2417 "regression-compile-tmp/vax-pass2.imp"
L_0162:;
                                                                //   2418  
                                                                //   2419           %if sym = '#' %start
#line 2419 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (35))) goto L_0163;
                                                                //   2420              get (sym)
#line 2420 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
                                                                //   2421              sign = -1 %and get (sym) %if sym = '-'
#line 2421 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (45))) goto L_0164;
#line 2421 "regression-compile-tmp/vax-pass2.imp"
SIGN = (-1);
#line 2421 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
#line 2421 "regression-compile-tmp/vax-pass2.imp"
L_0164:;
                                                                //   2422              %false %unless literal (disp)
#line 2422 "regression-compile-tmp/vax-pass2.imp"
if (LITERAL(&DISP)) goto L_0165;
#line 2422 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2422 "regression-compile-tmp/vax-pass2.imp"
L_0165:;
                                                                //   2423              disp = disp*sign
#line 2423 "regression-compile-tmp/vax-pass2.imp"
DISP = (((int)(DISP)) * (SIGN));
                                                                //   2424              %if 0 <= disp <= 63 %and indirect = 0 %start
#line 2424 "regression-compile-tmp/vax-pass2.imp"
if ((((0) > (DISP))) || (((DISP) > (63)))) goto L_0166;
#line 2424 "regression-compile-tmp/vax-pass2.imp"
if (((INDIRECT) != (0))) goto L_0166;
                                                                //   2425                 set byte (disp);  ->ok
#line 2425 "regression-compile-tmp/vax-pass2.imp"
SETBYTE(DISP);
#line 2425 "regression-compile-tmp/vax-pass2.imp"
goto U_1002;
                                                                //   2426              %finish
#line 2426 "regression-compile-tmp/vax-pass2.imp"
L_0166:;
                                                                //   2427              set byte (16_8F)
#line 2427 "regression-compile-tmp/vax-pass2.imp"
SETBYTE(143);
                                                                //   2428              %if flag = 3 %or indirect # 0 %start
#line 2428 "regression-compile-tmp/vax-pass2.imp"
if (((FLAG) == (3))) goto L_0167;
#line 2428 "regression-compile-tmp/vax-pass2.imp"
if (((INDIRECT) == (0))) goto L_0168;
#line 2428 "regression-compile-tmp/vax-pass2.imp"
L_0167:;
                                                                //   2429                 set longword (disp);  ->ok
#line 2429 "regression-compile-tmp/vax-pass2.imp"
SETLONGWORD(DISP);
#line 2429 "regression-compile-tmp/vax-pass2.imp"
goto U_1002;
                                                                //   2430              %finish
#line 2430 "regression-compile-tmp/vax-pass2.imp"
L_0168:;
                                                                //   2431              %if flag = 1 %or flag = 5 %start
#line 2431 "regression-compile-tmp/vax-pass2.imp"
if (((FLAG) == (1))) goto L_0169;
#line 2431 "regression-compile-tmp/vax-pass2.imp"
if (((FLAG) != (5))) goto L_016a;
#line 2431 "regression-compile-tmp/vax-pass2.imp"
L_0169:;
                                                                //   2432                 set byte (disp);  ->ok
#line 2432 "regression-compile-tmp/vax-pass2.imp"
SETBYTE(DISP);
#line 2432 "regression-compile-tmp/vax-pass2.imp"
goto U_1002;
                                                                //   2433              %finish
#line 2433 "regression-compile-tmp/vax-pass2.imp"
L_016a:;
                                                                //   2434              %if flag = 2 %or flag = 6 %start
#line 2434 "regression-compile-tmp/vax-pass2.imp"
if (((FLAG) == (2))) goto L_016b;
#line 2434 "regression-compile-tmp/vax-pass2.imp"
if (((FLAG) != (6))) goto L_016c;
#line 2434 "regression-compile-tmp/vax-pass2.imp"
L_016b:;
                                                                //   2435                 set word (disp);  ->ok
#line 2435 "regression-compile-tmp/vax-pass2.imp"
SETWORD(DISP);
#line 2435 "regression-compile-tmp/vax-pass2.imp"
goto U_1002;
                                                                //   2436              %finish
#line 2436 "regression-compile-tmp/vax-pass2.imp"
L_016c:;
                                                                //   2437              set longword (disp);  set longword (0);  ->ok
#line 2437 "regression-compile-tmp/vax-pass2.imp"
SETLONGWORD(DISP);
#line 2437 "regression-compile-tmp/vax-pass2.imp"
SETLONGWORD(0);
#line 2437 "regression-compile-tmp/vax-pass2.imp"
goto U_1002;
                                                                //   2438           %finish
#line 2438 "regression-compile-tmp/vax-pass2.imp"
L_0163:;
                                                                //   2439  
                                                                //   2440           %if sym = '(' %start
#line 2440 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (40))) goto L_016d;
                                                                //   2441              %false %unless reg (base) %and flag < 5
#line 2441 "regression-compile-tmp/vax-pass2.imp"
if (!(REG(&BASE))) goto L_016e;
#line 2441 "regression-compile-tmp/vax-pass2.imp"
if (((FLAG) < (5))) goto L_016f;
#line 2441 "regression-compile-tmp/vax-pass2.imp"
L_016e:;
#line 2441 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2441 "regression-compile-tmp/vax-pass2.imp"
L_016f:;
                                                                //   2442              disp = 0 %and -> basedisp %if indirect # 0
#line 2442 "regression-compile-tmp/vax-pass2.imp"
if (((INDIRECT) == (0))) goto L_0170;
#line 2442 "regression-compile-tmp/vax-pass2.imp"
DISP = 0;
#line 2442 "regression-compile-tmp/vax-pass2.imp"
goto U_1003;
#line 2442 "regression-compile-tmp/vax-pass2.imp"
L_0170:;
                                                                //   2443              base = base+16_60
#line 2443 "regression-compile-tmp/vax-pass2.imp"
BASE = (((int)(BASE)) + (96));
                                                                //   2444              %if sym = '+' %start
#line 2444 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (43))) goto L_0171;
                                                                //   2445                 get (sym)
#line 2445 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
                                                                //   2446                 base = base+16_20
#line 2446 "regression-compile-tmp/vax-pass2.imp"
BASE = (((int)(BASE)) + (32));
                                                                //   2447              %finish
#line 2447 "regression-compile-tmp/vax-pass2.imp"
L_0171:;
                                                                //   2448              set byte (base+indirect)
#line 2448 "regression-compile-tmp/vax-pass2.imp"
SETBYTE((((int)(BASE)) + (INDIRECT)));
                                                                //   2449              -> ok
#line 2449 "regression-compile-tmp/vax-pass2.imp"
goto U_1002;
                                                                //   2450           %finish
#line 2450 "regression-compile-tmp/vax-pass2.imp"
L_016d:;
                                                                //   2451  
                                                                //   2452           %if sym = ' ' %start;                !tag value
#line 2452 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (32))) goto L_0172;
                                                                //   2453              get (sym)
#line 2453 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
                                                                //   2454              %false %unless literal(m)
#line 2454 "regression-compile-tmp/vax-pass2.imp"
if (LITERAL(&M)) goto L_0173;
#line 2454 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2454 "regression-compile-tmp/vax-pass2.imp"
L_0173:;
                                                                //   2455              v == var(m)
#line 2455 "regression-compile-tmp/vax-pass2.imp"
V = &VAR[M];
                                                                //   2456              base = v_base
#line 2456 "regression-compile-tmp/vax-pass2.imp"
BASE = V->BASE;
                                                                //   2457              disp = v_disp
#line 2457 "regression-compile-tmp/vax-pass2.imp"
DISP = V->DISP;
                                                                //   2458              %if v_form = 15 %start;         !label
#line 2458 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (15))) goto L_0174;
                                                                //   2459                 flush code
#line 2459 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
                                                                //   2460                 %if flag = 5 %start;         !byte disp
#line 2460 "regression-compile-tmp/vax-pass2.imp"
if (((FLAG) != (5))) goto L_0175;
                                                                //   2461                    put (obj b lab);  ca = ca+1
#line 2461 "regression-compile-tmp/vax-pass2.imp"
PUT(20);
#line 2461 "regression-compile-tmp/vax-pass2.imp"
CA = (((int)(CA)) + (1));
                                                                //   2462                 %else %if flag = 6;          !word disp
#line 2462 "regression-compile-tmp/vax-pass2.imp"
goto L_0176;
#line 2462 "regression-compile-tmp/vax-pass2.imp"
L_0175:;
#line 2462 "regression-compile-tmp/vax-pass2.imp"
if (((FLAG) != (6))) goto L_0177;
                                                                //   2463                    put (obj w lab);  ca = ca+2
#line 2463 "regression-compile-tmp/vax-pass2.imp"
PUT(21);
#line 2463 "regression-compile-tmp/vax-pass2.imp"
CA = (((int)(CA)) + (2));
                                                                //   2464                 %else;                       !pc-rel
#line 2464 "regression-compile-tmp/vax-pass2.imp"
goto L_0176;
#line 2464 "regression-compile-tmp/vax-pass2.imp"
L_0177:;
                                                                //   2465                    define reference (disp, dir pref)
#line 2465 "regression-compile-tmp/vax-pass2.imp"
DEFINEREFERENCE(DISP, 3);
                                                                //   2466                    put (obj call);  ca = ca + 2
#line 2466 "regression-compile-tmp/vax-pass2.imp"
PUT(11);
#line 2466 "regression-compile-tmp/vax-pass2.imp"
CA = (((int)(CA)) + (2));
                                                                //   2467                    put long (disp)
#line 2467 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(DISP);
                                                                //   2468                    %true
#line 2468 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   2469                 %finish
#line 2469 "regression-compile-tmp/vax-pass2.imp"
L_0176:;
                                                                //   2470                 put word (disp)
#line 2470 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(DISP);
                                                                //   2471                 %true
#line 2471 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   2472              %finish
#line 2472 "regression-compile-tmp/vax-pass2.imp"
L_0174:;
                                                                //   2473              %if  base = local %start
#line 2473 "regression-compile-tmp/vax-pass2.imp"
if (((BASE) != (LOCAL))) goto L_0178;
                                                                //   2474                 base = fp
#line 2474 "regression-compile-tmp/vax-pass2.imp"
BASE = 14;
                                                                //   2475                 base = ap %and disp = disp-60 %if disp > 0
#line 2475 "regression-compile-tmp/vax-pass2.imp"
if (((DISP) <= (0))) goto L_0179;
#line 2475 "regression-compile-tmp/vax-pass2.imp"
BASE = 13;
#line 2475 "regression-compile-tmp/vax-pass2.imp"
DISP = (((int)(DISP)) - (60));
#line 2475 "regression-compile-tmp/vax-pass2.imp"
L_0179:;
                                                                //   2476              %finish
#line 2476 "regression-compile-tmp/vax-pass2.imp"
L_0178:;
                                                                //   2477              base = base-1
#line 2477 "regression-compile-tmp/vax-pass2.imp"
BASE = (((int)(BASE)) - (1));
                                                                //   2478              %if sym = '+' %or sym = '-' %start
#line 2478 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) == (43))) goto L_017a;
#line 2478 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (45))) goto L_017b;
#line 2478 "regression-compile-tmp/vax-pass2.imp"
L_017a:;
                                                                //   2479                 sign = sym
#line 2479 "regression-compile-tmp/vax-pass2.imp"
SIGN = SYM;
                                                                //   2480                 get (sym)
#line 2480 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
                                                                //   2481                 %false %unless literal (m)
#line 2481 "regression-compile-tmp/vax-pass2.imp"
if (LITERAL(&M)) goto L_017c;
#line 2481 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2481 "regression-compile-tmp/vax-pass2.imp"
L_017c:;
                                                                //   2482                 m = -m %if sign = '-'
#line 2482 "regression-compile-tmp/vax-pass2.imp"
if (((SIGN) != (45))) goto L_017d;
#line 2482 "regression-compile-tmp/vax-pass2.imp"
M = (-(M));
#line 2482 "regression-compile-tmp/vax-pass2.imp"
L_017d:;
                                                                //   2483                 disp = disp+m
#line 2483 "regression-compile-tmp/vax-pass2.imp"
DISP = (((int)(DISP)) + (M));
                                                                //   2484              %finish
#line 2484 "regression-compile-tmp/vax-pass2.imp"
L_017b:;
                                                                //   2485     base disp:
#line 2485 "regression-compile-tmp/vax-pass2.imp"
U_1003:;
                                                                //   2486              base = base+indirect
#line 2486 "regression-compile-tmp/vax-pass2.imp"
BASE = (((int)(BASE)) + (INDIRECT));
                                                                //   2487              size = msize (disp)
#line 2487 "regression-compile-tmp/vax-pass2.imp"
SIZE = MSIZE(DISP);
                                                                //   2488              %if size <= 1 %start
#line 2488 "regression-compile-tmp/vax-pass2.imp"
if (((SIZE) > (1))) goto L_017e;
                                                                //   2489                 set byte (16_a0+base)
#line 2489 "regression-compile-tmp/vax-pass2.imp"
SETBYTE((((int)(160)) + (BASE)));
                                                                //   2490                 set byte (disp)
#line 2490 "regression-compile-tmp/vax-pass2.imp"
SETBYTE(DISP);
                                                                //   2491              %else %if size = 2
#line 2491 "regression-compile-tmp/vax-pass2.imp"
goto L_017f;
#line 2491 "regression-compile-tmp/vax-pass2.imp"
L_017e:;
#line 2491 "regression-compile-tmp/vax-pass2.imp"
if (((SIZE) != (2))) goto L_0180;
                                                                //   2492                 set byte (16_c0+base)
#line 2492 "regression-compile-tmp/vax-pass2.imp"
SETBYTE((((int)(192)) + (BASE)));
                                                                //   2493                 set word (disp)
#line 2493 "regression-compile-tmp/vax-pass2.imp"
SETWORD(DISP);
                                                                //   2494              %else
#line 2494 "regression-compile-tmp/vax-pass2.imp"
goto L_017f;
#line 2494 "regression-compile-tmp/vax-pass2.imp"
L_0180:;
                                                                //   2495                 set byte (16_e0+base)
#line 2495 "regression-compile-tmp/vax-pass2.imp"
SETBYTE((((int)(224)) + (BASE)));
                                                                //   2496                 set longword (disp)
#line 2496 "regression-compile-tmp/vax-pass2.imp"
SETLONGWORD(DISP);
                                                                //   2497              %finish
#line 2497 "regression-compile-tmp/vax-pass2.imp"
L_017f:;
                                                                //   2498              -> ok
#line 2498 "regression-compile-tmp/vax-pass2.imp"
goto U_1002;
                                                                //   2499           %finish
#line 2499 "regression-compile-tmp/vax-pass2.imp"
L_0172:;
                                                                //   2500  
                                                                //   2501           %if sym = '-' %and indirect = 0 %and flag < 5 %start
#line 2501 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (45))) goto L_0181;
#line 2501 "regression-compile-tmp/vax-pass2.imp"
if (((INDIRECT) != (0))) goto L_0181;
#line 2501 "regression-compile-tmp/vax-pass2.imp"
if (((FLAG) >= (5))) goto L_0181;
                                                                //   2502              get (sym)
#line 2502 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
                                                                //   2503              %if sym = '(' %start
#line 2503 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (40))) goto L_0182;
                                                                //   2504                 %false %unless reg (base)
#line 2504 "regression-compile-tmp/vax-pass2.imp"
if (REG(&BASE)) goto L_0183;
#line 2504 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2504 "regression-compile-tmp/vax-pass2.imp"
L_0183:;
                                                                //   2505                 set byte (16_70+base)
#line 2505 "regression-compile-tmp/vax-pass2.imp"
SETBYTE((((int)(112)) + (BASE)));
                                                                //   2506                 -> ok
#line 2506 "regression-compile-tmp/vax-pass2.imp"
goto U_1002;
                                                                //   2507                 %finish
#line 2507 "regression-compile-tmp/vax-pass2.imp"
L_0182:;
                                                                //   2508              %false %unless literal (disp)
#line 2508 "regression-compile-tmp/vax-pass2.imp"
if (LITERAL(&DISP)) goto L_0184;
#line 2508 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2508 "regression-compile-tmp/vax-pass2.imp"
L_0184:;
                                                                //   2509              disp = -disp
#line 2509 "regression-compile-tmp/vax-pass2.imp"
DISP = (-(DISP));
                                                                //   2510              -> bd
#line 2510 "regression-compile-tmp/vax-pass2.imp"
goto U_1004;
                                                                //   2511           %finish
#line 2511 "regression-compile-tmp/vax-pass2.imp"
L_0181:;
                                                                //   2512  
                                                                //   2513           %false %unless literal (disp) %and flag < 5
#line 2513 "regression-compile-tmp/vax-pass2.imp"
if (!(LITERAL(&DISP))) goto L_0185;
#line 2513 "regression-compile-tmp/vax-pass2.imp"
if (((FLAG) < (5))) goto L_0186;
#line 2513 "regression-compile-tmp/vax-pass2.imp"
L_0185:;
#line 2513 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2513 "regression-compile-tmp/vax-pass2.imp"
L_0186:;
                                                                //   2514     bd:   %if sym = '(' %start
#line 2514 "regression-compile-tmp/vax-pass2.imp"
U_1004:;
#line 2514 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (40))) goto L_0187;
                                                                //   2515              %false %unless reg (base)
#line 2515 "regression-compile-tmp/vax-pass2.imp"
if (REG(&BASE)) goto L_0188;
#line 2515 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2515 "regression-compile-tmp/vax-pass2.imp"
L_0188:;
                                                                //   2516              -> base disp
#line 2516 "regression-compile-tmp/vax-pass2.imp"
goto U_1003;
                                                                //   2517           %finish
#line 2517 "regression-compile-tmp/vax-pass2.imp"
L_0187:;
                                                                //   2518           %false %unless 0 <= disp <= 15
#line 2518 "regression-compile-tmp/vax-pass2.imp"
if ((((0) > (DISP))) || (((DISP) <= (15)))) goto L_018a;
#line 2518 "regression-compile-tmp/vax-pass2.imp"
L_0189:;
#line 2518 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2518 "regression-compile-tmp/vax-pass2.imp"
L_018a:;
                                                                //   2519           set byte (16_50+disp)
#line 2519 "regression-compile-tmp/vax-pass2.imp"
SETBYTE((((int)(80)) + (DISP)));
                                                                //   2520  
                                                                //   2521     ok:   %if sym = '[' %and flag < 5 %start;            !indexed
#line 2521 "regression-compile-tmp/vax-pass2.imp"
U_1002:;
#line 2521 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (91))) goto L_018b;
#line 2521 "regression-compile-tmp/vax-pass2.imp"
if (((FLAG) >= (5))) goto L_018b;
                                                                //   2522              get (sym)
#line 2522 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
                                                                //   2523              %false %unless literal (base) %and sym = ']'
#line 2523 "regression-compile-tmp/vax-pass2.imp"
if (!(LITERAL(&BASE))) goto L_018c;
#line 2523 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) == (93))) goto L_018d;
#line 2523 "regression-compile-tmp/vax-pass2.imp"
L_018c:;
#line 2523 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 2523 "regression-compile-tmp/vax-pass2.imp"
L_018d:;
                                                                //   2524              get (sym)
#line 2524 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
                                                                //   2525              put number byte (16_40+base)
#line 2525 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE((((int)(64)) + (BASE)));
                                                                //   2526           %finish
#line 2526 "regression-compile-tmp/vax-pass2.imp"
L_018b:;
                                                                //   2527           put number byte (oper(m)) %for m = 1, 1, p
#line 2527 "regression-compile-tmp/vax-pass2.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = P; M = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle M = 1, 1, P");
M -= _increment; _control -= _increment;
L_018e:;
if (M == _final) goto L_018f;
M += _increment; _control += _increment;
if (M != _control) _imp_signal(4,2,0,"Corrupt control variable M"); /* FOR loop control variable corrupted */
}
#line 2527 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE(OPER[(((int)(M)) - (1))]);
#line 2527 "regression-compile-tmp/vax-pass2.imp"
goto L_018e;
#line 2527 "regression-compile-tmp/vax-pass2.imp"
L_018f:;
                                                                //   2528           %true
#line 2528 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   2529        %end
#line 2529 "regression-compile-tmp/vax-pass2.imp"
} // End of block PARSEDOPERAND at level 3
                                                                //   2530  
                                                                //   2531        get (sym)
#line 2531 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
                                                                //   2532        op text = "";  n = 0
#line 2532 "regression-compile-tmp/vax-pass2.imp"
OPTEXT = _imp_str_literal("");
#line 2532 "regression-compile-tmp/vax-pass2.imp"
N = 0;
                                                                //   2533        %cycle
#line 2533 "regression-compile-tmp/vax-pass2.imp"
L_0191:;
                                                                //   2534           %exit %if sym = '_'
#line 2534 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (95))) goto L_0194;
#line 2534 "regression-compile-tmp/vax-pass2.imp"
goto L_0192;
#line 2534 "regression-compile-tmp/vax-pass2.imp"
L_0194:;
                                                                //   2535           %if length(optext) # 6 %start
#line 2535 "regression-compile-tmp/vax-pass2.imp"
if (((*_imp_LENGTH(&OPTEXT)) == (6))) goto L_0195;
                                                                //   2536              optext = optext . tostring(sym)
#line 2536 "regression-compile-tmp/vax-pass2.imp"
OPTEXT = _imp_join((_imp_string)OPTEXT,(_imp_string)_imp_TOSTRING(SYM));
                                                                //   2537              n = n<<5 + sym
#line 2537 "regression-compile-tmp/vax-pass2.imp"
N = (((int)(((N) << (5)))) + (SYM));
                                                                //   2538           %finish
#line 2538 "regression-compile-tmp/vax-pass2.imp"
L_0195:;
                                                                //   2539           get (sym)
#line 2539 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
                                                                //   2540        %repeat
#line 2540 "regression-compile-tmp/vax-pass2.imp"
goto L_0191;
#line 2540 "regression-compile-tmp/vax-pass2.imp"
L_0192:;
                                                                //   2541        get (sym)
#line 2541 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
                                                                //   2542        j = find (n)
#line 2542 "regression-compile-tmp/vax-pass2.imp"
J = FIND(N);
                                                                //   2543        %if j < 0 %start
#line 2543 "regression-compile-tmp/vax-pass2.imp"
if (((J) >= (0))) goto L_0196;
                                                                //   2544           mc error("Unknown opcode")
#line 2544 "regression-compile-tmp/vax-pass2.imp"
MCERROR(_imp_str_literal("Unknown opcode"));
                                                                //   2545           %return
#line 2545 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2546        %finish
#line 2546 "regression-compile-tmp/vax-pass2.imp"
L_0196:;
                                                                //   2547        flags = code(j+1)
#line 2547 "regression-compile-tmp/vax-pass2.imp"
FLAGS = CODE[(((int)(J)) + (1))];
                                                                //   2548        opcode = flags>>24
#line 2548 "regression-compile-tmp/vax-pass2.imp"
OPCODE = (int)((((unsigned int)(FLAGS)) >> (24)));
                                                                //   2549        operands = flags>>21&7
#line 2549 "regression-compile-tmp/vax-pass2.imp"
OPERANDS = (((int)((((unsigned int)(FLAGS)) >> (21)))) & (7));
                                                                //   2550        put code (opcode)
#line 2550 "regression-compile-tmp/vax-pass2.imp"
PUTCODE(OPCODE);
                                                                //   2551        %if operands > 0 %start
#line 2551 "regression-compile-tmp/vax-pass2.imp"
if (((OPERANDS) <= (0))) goto L_0197;
                                                                //   2552           %cycle
#line 2552 "regression-compile-tmp/vax-pass2.imp"
L_0198:;
                                                                //   2553              %unless parsed operand (flags&7) %start
#line 2553 "regression-compile-tmp/vax-pass2.imp"
if (PARSEDOPERAND(((FLAGS) & (7)))) goto L_019b;
                                                                //   2554                 mc error ("Bad operand")
#line 2554 "regression-compile-tmp/vax-pass2.imp"
MCERROR(_imp_str_literal("Bad operand"));
                                                                //   2555                 %return
#line 2555 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2556              %finish
#line 2556 "regression-compile-tmp/vax-pass2.imp"
L_019b:;
                                                                //   2557              flags = flags>>3
#line 2557 "regression-compile-tmp/vax-pass2.imp"
FLAGS = (int)((((unsigned int)(FLAGS)) >> (3)));
                                                                //   2558              operands = operands-1
#line 2558 "regression-compile-tmp/vax-pass2.imp"
OPERANDS = (((int)(OPERANDS)) - (1));
                                                                //   2559              %exit %if operands = 0
#line 2559 "regression-compile-tmp/vax-pass2.imp"
if (((OPERANDS) != (0))) goto L_019c;
#line 2559 "regression-compile-tmp/vax-pass2.imp"
goto L_0199;
#line 2559 "regression-compile-tmp/vax-pass2.imp"
L_019c:;
                                                                //   2560              %if sym # ',' %then mc error ("Operands?") %else get (sym)
#line 2560 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) == (44))) goto L_019d;
#line 2560 "regression-compile-tmp/vax-pass2.imp"
MCERROR(_imp_str_literal("Operands?"));
#line 2560 "regression-compile-tmp/vax-pass2.imp"
goto L_019e;
#line 2560 "regression-compile-tmp/vax-pass2.imp"
L_019d:;
#line 2560 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
#line 2560 "regression-compile-tmp/vax-pass2.imp"
L_019e:;
                                                                //   2561           %repeat
#line 2561 "regression-compile-tmp/vax-pass2.imp"
goto L_0198;
#line 2561 "regression-compile-tmp/vax-pass2.imp"
L_0199:;
                                                                //   2562        %finish
#line 2562 "regression-compile-tmp/vax-pass2.imp"
L_0197:;
                                                                //   2563        mc error ("Operands?") %if sym # ';'
#line 2563 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) == (59))) goto L_019f;
#line 2563 "regression-compile-tmp/vax-pass2.imp"
MCERROR(_imp_str_literal("Operands?"));
#line 2563 "regression-compile-tmp/vax-pass2.imp"
L_019f:;
                                                                //   2564     %end
#line 2564 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MACHINECODE at level 2
                                                                //   2565  
                                                                //   2566     %routine  PLANT
#line 2566 "regression-compile-tmp/vax-pass2.imp"
void PLANT( void )
#line 2566 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2567        ! Plant in-line code values (from "*=constant")
                                                                //   2568        %integer  j
#line 2568 "regression-compile-tmp/vax-pass2.imp"
int J;
                                                                //   2569        %for j = 1, 1, stp %cycle
#line 2569 "regression-compile-tmp/vax-pass2.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = STP; J = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle J = 1, 1, STP");
J -= _increment; _control -= _increment;
L_01a0:;
if (J == _final) goto L_01a1;
J += _increment; _control += _increment;
if (J != _control) _imp_signal(4,2,0,"Corrupt control variable J"); /* FOR loop control variable corrupted */
}
                                                                //   2570           lhs == stacked(j)
#line 2570 "regression-compile-tmp/vax-pass2.imp"
LHS = STACKED[(((int)(J)) - (1))];
                                                                //   2571           word (lhs_disp)
#line 2571 "regression-compile-tmp/vax-pass2.imp"
WORD(LHS->DISP);
                                                                //   2572           drop (lhs)
#line 2572 "regression-compile-tmp/vax-pass2.imp"
DROP(LHS);
                                                                //   2573        %repeat
#line 2573 "regression-compile-tmp/vax-pass2.imp"
goto L_01a0;
#line 2573 "regression-compile-tmp/vax-pass2.imp"
L_01a1:;
                                                                //   2574        stp = 0
#line 2574 "regression-compile-tmp/vax-pass2.imp"
STP = 0;
                                                                //   2575     %end
#line 2575 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PLANT at level 2
                                                                //   2576  
                                                                //   2577     %routine  ASSEMBLE (%integer amode, labs, names)
#line 2577 "regression-compile-tmp/vax-pass2.imp"
void ASSEMBLE( int AMODE, int LABS, int NAMES )
#line 2577 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2578        !amode : = -1  - recordformat
                                                                //   2579        !        = -2  - alternate format starting
                                                                //   2580        !        =  0  - procedure definition
                                                                //   2581        !        =  1  - procedure spec
                                                                //   2582        %switch  c (' ' : 127)
#line 2582 "regression-compile-tmp/vax-pass2.imp"
static int sw4_C_idx;
static const void * /*SWITCH*/ sw4_C[96] = { &&sw4_C_32, &&sw4_C_33, &&sw4_C_34, &&sw4_C_35, &&sw4_C_36, &&sw4_C_37, &&sw4_C_38, &&sw4_C_39, &&sw4_C_40, &&sw4_C_41, &&sw4_C_42, &&sw4_C_43, &&sw4_C_44, &&sw4_C_45, &&sw4_C_46, &&sw4_C_47, &&sw4_C_48, &&sw4_C_49, &&sw4_C_50, &&sw4_C_51, &&sw4_C_52, &&sw4_C_53, &&sw4_C_54, &&sw4_C_55, &&sw4_C_56, &&sw4_C_57, &&sw4_C_58, &&sw4_C_59, &&sw4_C_60, &&sw4_C_61, &&sw4_C_62, &&sw4_C_63, &&sw4_C_64, &&sw4_C_65, &&sw4_C_66, &&sw4_C_67, &&sw4_C_68, &&sw4_C_69, &&sw4_C_70, &&sw4_C_71, &&sw4_C_72, &&sw4_C_73, &&sw4_C_74, &&sw4_C_75, &&sw4_C_76, &&sw4_C_77, &&sw4_C_78, &&sw4_C_79, &&sw4_C_80, &&sw4_C_81, &&sw4_C_82, &&sw4_C_83, &&sw4_C_84, &&sw4_C_85, &&sw4_C_86, &&sw4_C_87, &&sw4_C_88, &&sw4_C_89, &&sw4_C_90, &&sw4_C_91, &&sw4_C_92, &&sw4_C_93, &&sw4_C_94, &&sw4_C_95, &&sw4_C_96, &&sw4_C_97, &&sw4_C_98, &&sw4_C_99, &&sw4_C_100, &&sw4_C_101, &&sw4_C_102, &&sw4_C_103, &&sw4_C_104, &&sw4_C_105, &&sw4_C_106, &&sw4_C_107, &&sw4_C_108, &&sw4_C_109, &&sw4_C_110, &&sw4_C_111, &&sw4_C_112, &&sw4_C_113, &&sw4_C_114, &&sw4_C_115, &&sw4_C_116, &&sw4_C_117, &&sw4_C_118, &&sw4_C_119, &&sw4_C_120, &&sw4_C_121, &&sw4_C_122, &&sw4_C_123, &&sw4_C_124, &&sw4_C_125, &&sw4_C_126, &&sw4_C_127,  };
                                                                //   2583        %record(varfm) %name  v
#line 2583 "regression-compile-tmp/vax-pass2.imp"
 VARFM /*name*/*V;
                                                                //   2584        %record(varfm) %name  gvar == decvar
#line 2584 "regression-compile-tmp/vax-pass2.imp"
 VARFM /*name*/*GVAR;
#line 2584 "regression-compile-tmp/vax-pass2.imp"
GVAR = DECVAR;
                                                                //   2585        %integer %array  string areas (1 : max work)
#line 2585 "regression-compile-tmp/vax-pass2.imp"
int STRINGAREAS[12];
                                                                //   2586        %integer  duplic         = 0
#line 2586 "regression-compile-tmp/vax-pass2.imp"
int DUPLIC;
#line 2586 "regression-compile-tmp/vax-pass2.imp"
DUPLIC = 0;
                                                                //   2587        %integer  this area      = 0
#line 2587 "regression-compile-tmp/vax-pass2.imp"
int THISAREA;
#line 2587 "regression-compile-tmp/vax-pass2.imp"
THISAREA = 0;
                                                                //   2588        %integer  last area      = 0
#line 2588 "regression-compile-tmp/vax-pass2.imp"
int LASTAREA;
#line 2588 "regression-compile-tmp/vax-pass2.imp"
LASTAREA = 0;
                                                                //   2589        %integer  old mask       = entry mask
#line 2589 "regression-compile-tmp/vax-pass2.imp"
int OLDMASK;
#line 2589 "regression-compile-tmp/vax-pass2.imp"
OLDMASK = ENTRYMASK;
                                                                //   2590        %integer  old ca         = ca
#line 2590 "regression-compile-tmp/vax-pass2.imp"
int OLDCA;
#line 2590 "regression-compile-tmp/vax-pass2.imp"
OLDCA = CA;
                                                                //   2591        %integer  old frame      = frame
#line 2591 "regression-compile-tmp/vax-pass2.imp"
int OLDFRAME;
#line 2591 "regression-compile-tmp/vax-pass2.imp"
OLDFRAME = FRAME;
                                                                //   2592        %integer  max frame
#line 2592 "regression-compile-tmp/vax-pass2.imp"
int MAXFRAME;
                                                                //   2593        %integer  frame base
#line 2593 "regression-compile-tmp/vax-pass2.imp"
int FRAMEBASE;
                                                                //   2594        %integer  old last local = last local
#line 2594 "regression-compile-tmp/vax-pass2.imp"
int OLDLASTLOCAL;
#line 2594 "regression-compile-tmp/vax-pass2.imp"
OLDLASTLOCAL = LASTLOCAL;
                                                                //   2595        %integer  old jump       = uncond jump
#line 2595 "regression-compile-tmp/vax-pass2.imp"
int OLDJUMP;
#line 2595 "regression-compile-tmp/vax-pass2.imp"
OLDJUMP = UNCONDJUMP;
                                                                //   2596        %integer  old ivbit      = ivbit state
#line 2596 "regression-compile-tmp/vax-pass2.imp"
int OLDIVBIT;
#line 2596 "regression-compile-tmp/vax-pass2.imp"
OLDIVBIT = IVBITSTATE;
                                                                //   2597        %integer  gstart         = names
#line 2597 "regression-compile-tmp/vax-pass2.imp"
int GSTART;
#line 2597 "regression-compile-tmp/vax-pass2.imp"
GSTART = NAMES;
                                                                //   2598        %integer  gfunction      = 0;      !#0 for string/record functions
#line 2598 "regression-compile-tmp/vax-pass2.imp"
int GFUNCTION;
#line 2598 "regression-compile-tmp/vax-pass2.imp"
GFUNCTION = 0;
                                                                //   2599        %integer  label start    = labs
#line 2599 "regression-compile-tmp/vax-pass2.imp"
int LABELSTART;
#line 2599 "regression-compile-tmp/vax-pass2.imp"
LABELSTART = LABS;
                                                                //   2600        %integer  block tag
#line 2600 "regression-compile-tmp/vax-pass2.imp"
int BLOCKTAG;
                                                                //   2601        %integer  block end tag  = 0
#line 2601 "regression-compile-tmp/vax-pass2.imp"
int BLOCKENDTAG;
#line 2601 "regression-compile-tmp/vax-pass2.imp"
BLOCKENDTAG = 0;
                                                                //   2602        %integer  local lines    = diag lines;  diag lines = 6
#line 2602 "regression-compile-tmp/vax-pass2.imp"
int LOCALLINES;
#line 2602 "regression-compile-tmp/vax-pass2.imp"
LOCALLINES = DIAGLINES;
#line 2602 "regression-compile-tmp/vax-pass2.imp"
DIAGLINES = 6;
                                                                //   2603        %integer  local diags    = 0
#line 2603 "regression-compile-tmp/vax-pass2.imp"
int LOCALDIAGS;
#line 2603 "regression-compile-tmp/vax-pass2.imp"
LOCALDIAGS = 0;
                                                                //   2604        %integer  events = 0
#line 2604 "regression-compile-tmp/vax-pass2.imp"
int EVENTS;
#line 2604 "regression-compile-tmp/vax-pass2.imp"
EVENTS = 0;
                                                                //   2605        %integer  evlow,  evep
#line 2605 "regression-compile-tmp/vax-pass2.imp"
int EVLOW;
#line 2605 "regression-compile-tmp/vax-pass2.imp"
int EVEP;
                                                                //   2606        %integer  proctype, mainprog = 0
#line 2606 "regression-compile-tmp/vax-pass2.imp"
int PROCTYPE;
#line 2606 "regression-compile-tmp/vax-pass2.imp"
int MAINPROG;
#line 2606 "regression-compile-tmp/vax-pass2.imp"
MAINPROG = 0;
                                                                //   2607  
                                                                //   2608        %routinespec  DUMP DIAG (%integer flag)
#line 2608 "regression-compile-tmp/vax-pass2.imp"
auto void DUMPDIAG( int FLAG );
                                                                //   2609        %routinespec  LOAD (%record(stackfm) %name v, %integer r)
#line 2609 "regression-compile-tmp/vax-pass2.imp"
auto void LOAD(  STACKFM /*name*/*V, int R );
                                                                //   2610        %routinespec  LRD  (%record(stackfm) %name v, %integer r)
#line 2610 "regression-compile-tmp/vax-pass2.imp"
auto void LRD(  STACKFM /*name*/*V, int R );
                                                                //   2611        %routinespec  JUMP TO (%integer label, cond, def)
#line 2611 "regression-compile-tmp/vax-pass2.imp"
auto void JUMPTO( int LABEL, int COND, int DEF );
                                                                //   2612        %routinespec  TEST ZERO (%record(stack fm) %name d)
#line 2612 "regression-compile-tmp/vax-pass2.imp"
auto void TESTZERO(  STACKFM /*name*/*D );
                                                                //   2613        %routinespec  PUSH (%record(stackfm) %name v, %integername n)
#line 2613 "regression-compile-tmp/vax-pass2.imp"
auto void PUSH(  STACKFM /*name*/*V, int /*name*/*N );
                                                                //   2614  
                                                                //   2615        !====================== Initialisation =============================
                                                                //   2616  
                                                                //   2617        flush code
#line 2617 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
                                                                //   2618        uncond jump = -1
#line 2618 "regression-compile-tmp/vax-pass2.imp"
UNCONDJUMP = (-1);
                                                                //   2619        last movc3 = -1
#line 2619 "regression-compile-tmp/vax-pass2.imp"
LASTMOVC3 = (-1);
                                                                //   2620        frame = 0 %if amode # -2
#line 2620 "regression-compile-tmp/vax-pass2.imp"
if (((AMODE) == ((-2)))) goto L_01a3;
#line 2620 "regression-compile-tmp/vax-pass2.imp"
FRAME = 0;
#line 2620 "regression-compile-tmp/vax-pass2.imp"
L_01a3:;
                                                                //   2621        frame base = frame;   max frame = frame
#line 2621 "regression-compile-tmp/vax-pass2.imp"
FRAMEBASE = FRAME;
#line 2621 "regression-compile-tmp/vax-pass2.imp"
MAXFRAME = FRAME;
                                                                //   2622        ca = 0
#line 2622 "regression-compile-tmp/vax-pass2.imp"
CA = 0;
                                                                //   2623        entry mask = 16_3c; entry mask = 0 %if control&1 = 0
#line 2623 "regression-compile-tmp/vax-pass2.imp"
ENTRYMASK = 60;
#line 2623 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (1))) != (0))) goto L_01a4;
#line 2623 "regression-compile-tmp/vax-pass2.imp"
ENTRYMASK = 0;
#line 2623 "regression-compile-tmp/vax-pass2.imp"
L_01a4:;
                                                                //   2624        ivbit state = 0
#line 2624 "regression-compile-tmp/vax-pass2.imp"
IVBITSTATE = 0;
                                                                //   2625        %if control&ovf check # 0 %start
#line 2625 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (16))) == (0))) goto L_01a5;
                                                                //   2626           entry mask = iovf bit!entry mask
#line 2626 "regression-compile-tmp/vax-pass2.imp"
ENTRYMASK = ((16384) | (ENTRYMASK));
                                                                //   2627           ivbit state = 1
#line 2627 "regression-compile-tmp/vax-pass2.imp"
IVBITSTATE = 1;
                                                                //   2628        %finish
#line 2628 "regression-compile-tmp/vax-pass2.imp"
L_01a5:;
                                                                //   2629        proctype = potype
#line 2629 "regression-compile-tmp/vax-pass2.imp"
PROCTYPE = POTYPE;
                                                                //   2630        %if amode = 0 %start
#line 2630 "regression-compile-tmp/vax-pass2.imp"
if (((AMODE) != (0))) goto L_01a6;
                                                                //   2631           level = level + 1
#line 2631 "regression-compile-tmp/vax-pass2.imp"
LEVEL = (((int)(LEVEL)) + (1));
                                                                //   2632           error ('!', "nesting too deep") %if level > 6
#line 2632 "regression-compile-tmp/vax-pass2.imp"
if (((LEVEL) <= (6))) goto L_01a7;
#line 2632 "regression-compile-tmp/vax-pass2.imp"
ERROR(33, _imp_str_literal("nesting too deep"));
#line 2632 "regression-compile-tmp/vax-pass2.imp"
L_01a7:;
                                                                //   2633           local = base reg(level)
#line 2633 "regression-compile-tmp/vax-pass2.imp"
LOCAL = (BASEREG+1)[LEVEL];
                                                                //   2634           activity(local) = -1
#line 2634 "regression-compile-tmp/vax-pass2.imp"
ACTIVITY[LOCAL] = (-1);
                                                                //   2635           gfunction = 1 %if gvar_type&(strings!records) # 0 %and
#line 2635 "regression-compile-tmp/vax-pass2.imp"
if (((((GVAR->TYPE) & (((64) | (128))))) == (0))) goto L_01a8;
#line 2635 "regression-compile-tmp/vax-pass2.imp"
if (((GVAR->FORM) != (17))) goto L_01a8;
#line 2635 "regression-compile-tmp/vax-pass2.imp"
GFUNCTION = 1;
#line 2635 "regression-compile-tmp/vax-pass2.imp"
L_01a8:;
                                                                //   2636                             gvar_form = v in r+proc bit
                                                                //   2637           %if level # 0 %start
#line 2637 "regression-compile-tmp/vax-pass2.imp"
if (((LEVEL) == (0))) goto L_01a9;
                                                                //   2638              entry mask = entry mask ! regmask(local)
#line 2638 "regression-compile-tmp/vax-pass2.imp"
ENTRYMASK = ((ENTRYMASK) | (REGMASK[LOCAL]));
                                                                //   2639              decvar_disp = newtag %if decvar_disp = 0
#line 2639 "regression-compile-tmp/vax-pass2.imp"
if (((DECVAR->DISP) != (0))) goto L_01aa;
#line 2639 "regression-compile-tmp/vax-pass2.imp"
DECVAR->DISP = NEWTAG();
#line 2639 "regression-compile-tmp/vax-pass2.imp"
L_01aa:;
                                                                //   2640              block tag = decvar_disp
#line 2640 "regression-compile-tmp/vax-pass2.imp"
BLOCKTAG = DECVAR->DISP;
                                                                //   2641              block end tag = new tag
#line 2641 "regression-compile-tmp/vax-pass2.imp"
BLOCKENDTAG = NEWTAG();
                                                                //   2642              select output tank (directives);  put (dir header)
#line 2642 "regression-compile-tmp/vax-pass2.imp"
SELECTOUTPUTTANK(DIRECTIVES);
#line 2642 "regression-compile-tmp/vax-pass2.imp"
PUT(9);
                                                                //   2643              select output tank (object)
#line 2643 "regression-compile-tmp/vax-pass2.imp"
SELECTOUTPUTTANK(OBJECT);
                                                                //   2644              put (obj header)
#line 2644 "regression-compile-tmp/vax-pass2.imp"
PUT(10);
                                                                //   2645              put (local-1);  put word (block tag)
#line 2645 "regression-compile-tmp/vax-pass2.imp"
PUT((((int)(LOCAL)) - (1)));
#line 2645 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(BLOCKTAG);
                                                                //   2646              put word (block end tag)
#line 2646 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(BLOCKENDTAG);
                                                                //   2647              put word (current line)
#line 2647 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(CURRENTLINE);
                                                                //   2648              %if proctype # 0 %start;     ! external
#line 2648 "regression-compile-tmp/vax-pass2.imp"
if (((PROCTYPE) == (0))) goto L_01ab;
                                                                //   2649                 dump text (externalname)
#line 2649 "regression-compile-tmp/vax-pass2.imp"
DUMPTEXT(&EXTERNALNAME);
                                                                //   2650                 entry mask = entry mask ! 16_800;    ! Save GLA on entry
#line 2650 "regression-compile-tmp/vax-pass2.imp"
ENTRYMASK = ((ENTRYMASK) | (2048));
                                                                //   2651                 %if command & entrybit # 0 %andc
#line 2651 "regression-compile-tmp/vax-pass2.imp"
if (((((COMMAND) & (1024))) == (0))) goto L_01ac;
#line 2651 "regression-compile-tmp/vax-pass2.imp"
if ((_imp_strcmp(ENTRYNAME, _imp_str_literal("")) == 0)) goto L_01ad;
#line 2651 "regression-compile-tmp/vax-pass2.imp"
if ((_imp_strcmp(EXTERNALNAME, ENTRYNAME) != 0)) goto L_01ac;
#line 2651 "regression-compile-tmp/vax-pass2.imp"
L_01ad:;
                                                                //   2652                     (entryname = "" %or externalname = entryname) %start
                                                                //   2653                    mainprog = mainrt;  mainprog = mainfn %if decvar_type # 0
#line 2653 "regression-compile-tmp/vax-pass2.imp"
MAINPROG = 1;
#line 2653 "regression-compile-tmp/vax-pass2.imp"
if (((DECVAR->TYPE) == (0))) goto L_01ae;
#line 2653 "regression-compile-tmp/vax-pass2.imp"
MAINPROG = 2;
#line 2653 "regression-compile-tmp/vax-pass2.imp"
L_01ae:;
                                                                //   2654                    define entry (block tag)
#line 2654 "regression-compile-tmp/vax-pass2.imp"
DEFINEENTRY(BLOCKTAG);
                                                                //   2655                 %finish
#line 2655 "regression-compile-tmp/vax-pass2.imp"
L_01ac:;
                                                                //   2656              %finish
#line 2656 "regression-compile-tmp/vax-pass2.imp"
L_01ab:;
                                                                //   2657              define tag (block tag)
#line 2657 "regression-compile-tmp/vax-pass2.imp"
DEFINETAG(BLOCKTAG);
                                                                //   2658              lput (obj pdef, block tag) %if potype # 0
#line 2658 "regression-compile-tmp/vax-pass2.imp"
if (((POTYPE) == (0))) goto L_01af;
#line 2658 "regression-compile-tmp/vax-pass2.imp"
LPUT(4, BLOCKTAG);
#line 2658 "regression-compile-tmp/vax-pass2.imp"
L_01af:;
                                                                //   2659              dump diag (0)
#line 2659 "regression-compile-tmp/vax-pass2.imp"
DUMPDIAG(0);
                                                                //   2660           %finish
#line 2660 "regression-compile-tmp/vax-pass2.imp"
L_01a9:;
                                                                //   2661        %else %if amode = -1
#line 2661 "regression-compile-tmp/vax-pass2.imp"
goto L_01b0;
#line 2661 "regression-compile-tmp/vax-pass2.imp"
L_01a6:;
#line 2661 "regression-compile-tmp/vax-pass2.imp"
if (((AMODE) != ((-1)))) goto L_01b1;
                                                                //   2662           gvar_extra = parms
#line 2662 "regression-compile-tmp/vax-pass2.imp"
GVAR->EXTRA = PARMS;
                                                                //   2663        %finish
#line 2663 "regression-compile-tmp/vax-pass2.imp"
L_01b1:;
#line 2663 "regression-compile-tmp/vax-pass2.imp"
L_01b0:;
                                                                //   2664  
                                                                //   2665  
                                                                //   2666        !===================================================================
                                                                //   2667  
                                                                //   2668  
                                                                //   2669        %routine  SPEC EXTERNAL (%record(varfm) %name v)
#line 2669 "regression-compile-tmp/vax-pass2.imp"
void SPECEXTERNAL(  VARFM /*name*/*V )
#line 2669 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2670           v_base = pc
#line 2670 "regression-compile-tmp/vax-pass2.imp"
V->BASE = 16;
                                                                //   2671           select output tank (directives)
#line 2671 "regression-compile-tmp/vax-pass2.imp"
SELECTOUTPUTTANK(DIRECTIVES);
                                                                //   2672           put (dir used);  put word (v_xno)
#line 2672 "regression-compile-tmp/vax-pass2.imp"
PUT(1);
#line 2672 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(V->XNO);
                                                                //   2673           select output tank (object)
#line 2673 "regression-compile-tmp/vax-pass2.imp"
SELECTOUTPUTTANK(OBJECT);
                                                                //   2674        %end
#line 2674 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SPECEXTERNAL at level 3
                                                                //   2675  
                                                                //   2676        %routine  DUMP DIAG (%integer flag)
#line 2676 "regression-compile-tmp/vax-pass2.imp"
void DUMPDIAG( int FLAG )
#line 2676 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2677           %integer type, disp, base, indirect
#line 2677 "regression-compile-tmp/vax-pass2.imp"
int TYPE;
#line 2677 "regression-compile-tmp/vax-pass2.imp"
int DISP;
#line 2677 "regression-compile-tmp/vax-pass2.imp"
int BASE;
#line 2677 "regression-compile-tmp/vax-pass2.imp"
int INDIRECT;
                                                                //   2678           %return %if amode # 0 %or command&diag bit = 0
#line 2678 "regression-compile-tmp/vax-pass2.imp"
if (((AMODE) != (0))) goto L_01a2;
#line 2678 "regression-compile-tmp/vax-pass2.imp"
if (((((COMMAND) & (4))) != (0))) goto L_01b2;
#line 2678 "regression-compile-tmp/vax-pass2.imp"
L_01a2:;
#line 2678 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2678 "regression-compile-tmp/vax-pass2.imp"
L_01b2:;
                                                                //   2679           indirect = 0
#line 2679 "regression-compile-tmp/vax-pass2.imp"
INDIRECT = 0;
                                                                //   2680           base = decvar_base - 1
#line 2680 "regression-compile-tmp/vax-pass2.imp"
BASE = (((int)(DECVAR->BASE)) - (1));
                                                                //   2681           type = decvar_type
#line 2681 "regression-compile-tmp/vax-pass2.imp"
TYPE = DECVAR->TYPE;
                                                                //   2682           %if flag = 0 %start;       !proc header
#line 2682 "regression-compile-tmp/vax-pass2.imp"
if (((FLAG) != (0))) goto L_01b3;
                                                                //   2683              put (obj diag p)
#line 2683 "regression-compile-tmp/vax-pass2.imp"
PUT(17);
                                                                //   2684              local diags = local diags+2
#line 2684 "regression-compile-tmp/vax-pass2.imp"
LOCALDIAGS = (((int)(LOCALDIAGS)) + (2));
                                                                //   2685           %else %if decvar_form&15 = v in s
#line 2685 "regression-compile-tmp/vax-pass2.imp"
goto L_01b4;
#line 2685 "regression-compile-tmp/vax-pass2.imp"
L_01b3:;
#line 2685 "regression-compile-tmp/vax-pass2.imp"
if (((((DECVAR->FORM) & (15))) != (2))) goto L_01b5;
                                                                //   2686              put (obj diag v)
#line 2686 "regression-compile-tmp/vax-pass2.imp"
PUT(18);
                                                                //   2687           %else %if decvar_form&15 = a in s
#line 2687 "regression-compile-tmp/vax-pass2.imp"
goto L_01b4;
#line 2687 "regression-compile-tmp/vax-pass2.imp"
L_01b5:;
#line 2687 "regression-compile-tmp/vax-pass2.imp"
if (((((DECVAR->FORM) & (15))) != (4))) goto L_01b6;
                                                                //   2688              put (obj diag v)
#line 2688 "regression-compile-tmp/vax-pass2.imp"
PUT(18);
                                                                //   2689              indirect = 128
#line 2689 "regression-compile-tmp/vax-pass2.imp"
INDIRECT = 128;
                                                                //   2690           %else
#line 2690 "regression-compile-tmp/vax-pass2.imp"
goto L_01b4;
#line 2690 "regression-compile-tmp/vax-pass2.imp"
L_01b6:;
                                                                //   2691              %return
#line 2691 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2692           %finish
#line 2692 "regression-compile-tmp/vax-pass2.imp"
L_01b4:;
                                                                //   2693           local diags = local diags+7+length(var name)
#line 2693 "regression-compile-tmp/vax-pass2.imp"
LOCALDIAGS = (((unsigned char)((((int)(LOCALDIAGS)) + (7)))) + (*_imp_LENGTH(&VARNAME)));
                                                                //   2694           %if flag = 0 %start
#line 2694 "regression-compile-tmp/vax-pass2.imp"
if (((FLAG) != (0))) goto L_01b7;
                                                                //   2695              put word (current line)
#line 2695 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(CURRENTLINE);
                                                                //   2696           %else
#line 2696 "regression-compile-tmp/vax-pass2.imp"
goto L_01b8;
#line 2696 "regression-compile-tmp/vax-pass2.imp"
L_01b7:;
                                                                //   2697              put (type)
#line 2697 "regression-compile-tmp/vax-pass2.imp"
PUT(TYPE);
                                                                //   2698              disp = decvar_disp
#line 2698 "regression-compile-tmp/vax-pass2.imp"
DISP = DECVAR->DISP;
                                                                //   2699              %if base = local-1 %start
#line 2699 "regression-compile-tmp/vax-pass2.imp"
if (((BASE) != ((((int)(LOCAL)) - (1))))) goto L_01b9;
                                                                //   2700                 %if disp >= 0 %start
#line 2700 "regression-compile-tmp/vax-pass2.imp"
if (((DISP) < (0))) goto L_01ba;
                                                                //   2701                    disp = disp+4 %if gfunction # 0
#line 2701 "regression-compile-tmp/vax-pass2.imp"
if (((GFUNCTION) == (0))) goto L_01bb;
#line 2701 "regression-compile-tmp/vax-pass2.imp"
DISP = (((int)(DISP)) + (4));
#line 2701 "regression-compile-tmp/vax-pass2.imp"
L_01bb:;
                                                                //   2702                    disp = disp+4;  base = ap-1
#line 2702 "regression-compile-tmp/vax-pass2.imp"
DISP = (((int)(DISP)) + (4));
#line 2702 "regression-compile-tmp/vax-pass2.imp"
BASE = 12;
                                                                //   2703                 %else
#line 2703 "regression-compile-tmp/vax-pass2.imp"
goto L_01bc;
#line 2703 "regression-compile-tmp/vax-pass2.imp"
L_01ba:;
                                                                //   2704                    base = fp-1
#line 2704 "regression-compile-tmp/vax-pass2.imp"
BASE = 13;
                                                                //   2705                 %finish
#line 2705 "regression-compile-tmp/vax-pass2.imp"
L_01bc:;
                                                                //   2706              %finish
#line 2706 "regression-compile-tmp/vax-pass2.imp"
L_01b9:;
                                                                //   2707              put (base!indirect)
#line 2707 "regression-compile-tmp/vax-pass2.imp"
PUT(((BASE) | (INDIRECT)));
                                                                //   2708              put long (disp)
#line 2708 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(DISP);
                                                                //   2709           %finish
#line 2709 "regression-compile-tmp/vax-pass2.imp"
L_01b8:;
                                                                //   2710           dump text (var name)
#line 2710 "regression-compile-tmp/vax-pass2.imp"
DUMPTEXT(&VARNAME);
                                                                //   2711        %end
#line 2711 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DUMPDIAG at level 3
                                                                //   2712  
                                                                //   2713        %routine  SET DOPE VECTOR (%integer %name gdisp)
#line 2713 "regression-compile-tmp/vax-pass2.imp"
void SETDOPEVECTOR( int /*name*/*GDISP )
#line 2713 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2714           gfix (3)
#line 2714 "regression-compile-tmp/vax-pass2.imp"
GFIX(3);
                                                                //   2715           gdisp = ga
#line 2715 "regression-compile-tmp/vax-pass2.imp"
*GDISP = GA;
                                                                //   2716           glongword (1);        !dimension
#line 2716 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(1);
                                                                //   2717           glongword (vlb)
#line 2717 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(VLB);
                                                                //   2718           glongword (vub)
#line 2718 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(VUB);
                                                                //   2719           vub = vub-vlb+1
#line 2719 "regression-compile-tmp/vax-pass2.imp"
VUB = (((int)((((int)(VUB)) - (VLB)))) + (1));
                                                                //   2720           glongword (data size)
#line 2720 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(DATASIZE);
                                                                //   2721           vlb = vlb*data size
#line 2721 "regression-compile-tmp/vax-pass2.imp"
VLB = (((int)(VLB)) * (DATASIZE));
                                                                //   2722        %end
#line 2722 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETDOPEVECTOR at level 3
                                                                //   2723  
                                                                //   2724        %routine  DEFINE VAR
#line 2724 "regression-compile-tmp/vax-pass2.imp"
void DEFINEVAR( void )
#line 2724 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2725           %integer  type, form, tf, s, size
#line 2725 "regression-compile-tmp/vax-pass2.imp"
int TYPE;
#line 2725 "regression-compile-tmp/vax-pass2.imp"
int FORM;
#line 2725 "regression-compile-tmp/vax-pass2.imp"
int TF;
#line 2725 "regression-compile-tmp/vax-pass2.imp"
int S;
#line 2725 "regression-compile-tmp/vax-pass2.imp"
int SIZE;
                                                                //   2726           %integer  new, round, dv
#line 2726 "regression-compile-tmp/vax-pass2.imp"
int NEW;
#line 2726 "regression-compile-tmp/vax-pass2.imp"
int ROUND;
#line 2726 "regression-compile-tmp/vax-pass2.imp"
int DV;
                                                                //   2727           %own %integer  prim no = 0, xno = 0
#line 2727 "regression-compile-tmp/vax-pass2.imp"
static int PRIMNO = 0;
#line 2727 "regression-compile-tmp/vax-pass2.imp"
static int XNO = 0;
                                                                //   2728  
                                                                //   2729           new = 0
#line 2729 "regression-compile-tmp/vax-pass2.imp"
NEW = 0;
                                                                //   2730  
                                                                //   2731           decl = getword
#line 2731 "regression-compile-tmp/vax-pass2.imp"
DECL = GETWORD();
                                                                //   2732           %if decl = 0 %start;             !recordformat element
#line 2732 "regression-compile-tmp/vax-pass2.imp"
if (((DECL) != (0))) goto L_01bd;
                                                                //   2733              parms = parms - 1;  decvar == var(parms);  decvar = 0
#line 2733 "regression-compile-tmp/vax-pass2.imp"
PARMS = (((int)(PARMS)) - (1));
#line 2733 "regression-compile-tmp/vax-pass2.imp"
DECVAR = &VAR[PARMS];
#line 2733 "regression-compile-tmp/vax-pass2.imp"
*DECVAR = (VARFM){ 0 } /* Assign 0's to all fields of record */;
                                                                //   2734           %else
#line 2734 "regression-compile-tmp/vax-pass2.imp"
goto L_01be;
#line 2734 "regression-compile-tmp/vax-pass2.imp"
L_01bd:;
                                                                //   2735              decvar == var(decl)
#line 2735 "regression-compile-tmp/vax-pass2.imp"
DECVAR = &VAR[DECL];
                                                                //   2736              %if decl > names %or decvar_xno # 0 %start
#line 2736 "regression-compile-tmp/vax-pass2.imp"
if (((DECL) > (NAMES))) goto L_019a;
#line 2736 "regression-compile-tmp/vax-pass2.imp"
if (((DECVAR->XNO) == (0))) goto L_01bf;
#line 2736 "regression-compile-tmp/vax-pass2.imp"
L_019a:;
                                                                //   2737                 ! Either a new name or one previously %externally spec'd
                                                                //   2738                 decvar = 0
#line 2738 "regression-compile-tmp/vax-pass2.imp"
*DECVAR = (VARFM){ 0 } /* Assign 0's to all fields of record */;
                                                                //   2739                 names = decl %if decl > names
#line 2739 "regression-compile-tmp/vax-pass2.imp"
if (((DECL) <= (NAMES))) goto L_01c0;
#line 2739 "regression-compile-tmp/vax-pass2.imp"
NAMES = DECL;
#line 2739 "regression-compile-tmp/vax-pass2.imp"
L_01c0:;
                                                                //   2740                 new = 1
#line 2740 "regression-compile-tmp/vax-pass2.imp"
NEW = 1;
                                                                //   2741              %finish
#line 2741 "regression-compile-tmp/vax-pass2.imp"
L_01bf:;
                                                                //   2742           %finish
#line 2742 "regression-compile-tmp/vax-pass2.imp"
L_01be:;
                                                                //   2743           var name = ""
#line 2743 "regression-compile-tmp/vax-pass2.imp"
VARNAME = _imp_str_literal("");
                                                                //   2744           %cycle
#line 2744 "regression-compile-tmp/vax-pass2.imp"
L_01c1:;
                                                                //   2745              get (s);  %exit %if s = ','
#line 2745 "regression-compile-tmp/vax-pass2.imp"
GET(&S);
#line 2745 "regression-compile-tmp/vax-pass2.imp"
if (((S) != (44))) goto L_01c4;
#line 2745 "regression-compile-tmp/vax-pass2.imp"
goto L_01c2;
#line 2745 "regression-compile-tmp/vax-pass2.imp"
L_01c4:;
                                                                //   2746              var name = var name.tostring(s) %if length(var name) < max ident
#line 2746 "regression-compile-tmp/vax-pass2.imp"
if (((*_imp_LENGTH(&VARNAME)) >= (31))) goto L_01c5;
#line 2746 "regression-compile-tmp/vax-pass2.imp"
VARNAME = _imp_join((_imp_string)VARNAME,(_imp_string)_imp_TOSTRING(S));
#line 2746 "regression-compile-tmp/vax-pass2.imp"
L_01c5:;
                                                                //   2747           %repeat
#line 2747 "regression-compile-tmp/vax-pass2.imp"
goto L_01c1;
#line 2747 "regression-compile-tmp/vax-pass2.imp"
L_01c2:;
                                                                //   2748           abort (14) %if names >= parms
#line 2748 "regression-compile-tmp/vax-pass2.imp"
if (((NAMES) < (PARMS))) goto L_01c6;
#line 2748 "regression-compile-tmp/vax-pass2.imp"
ABORT(14);
#line 2748 "regression-compile-tmp/vax-pass2.imp"
L_01c6:;
                                                                //   2749           get (tf)
#line 2749 "regression-compile-tmp/vax-pass2.imp"
GET(&TF);
                                                                //   2750           type = tf>>4
#line 2750 "regression-compile-tmp/vax-pass2.imp"
TYPE = (int)((((unsigned int)(TF)) >> (4)));
                                                                //   2751           form = fmap(tf&15);           !convert to internal form
#line 2751 "regression-compile-tmp/vax-pass2.imp"
FORM = FMAP[((TF) & (15))];
                                                                //   2752           round = 3;  data size = 4;    ! defaults (integer)
#line 2752 "regression-compile-tmp/vax-pass2.imp"
ROUND = 3;
#line 2752 "regression-compile-tmp/vax-pass2.imp"
DATASIZE = 4;
                                                                //   2753           get (discard);  size = getword
#line 2753 "regression-compile-tmp/vax-pass2.imp"
GET(&DISCARD);
#line 2753 "regression-compile-tmp/vax-pass2.imp"
SIZE = GETWORD();
                                                                //   2754           %if type = 1 %start;          ! integer
#line 2754 "regression-compile-tmp/vax-pass2.imp"
if (((TYPE) != (1))) goto L_01c7;
                                                                //   2755              type = integers
#line 2755 "regression-compile-tmp/vax-pass2.imp"
TYPE = 16;
                                                                //   2756              %if size = 2 %start
#line 2756 "regression-compile-tmp/vax-pass2.imp"
if (((SIZE) != (2))) goto L_01c8;
                                                                //   2757                 type = byte+integers;  round = 0;  size = 1
#line 2757 "regression-compile-tmp/vax-pass2.imp"
TYPE = 18;
#line 2757 "regression-compile-tmp/vax-pass2.imp"
ROUND = 0;
#line 2757 "regression-compile-tmp/vax-pass2.imp"
SIZE = 1;
                                                                //   2758              %else %if size = 3
#line 2758 "regression-compile-tmp/vax-pass2.imp"
goto L_01c9;
#line 2758 "regression-compile-tmp/vax-pass2.imp"
L_01c8:;
#line 2758 "regression-compile-tmp/vax-pass2.imp"
if (((SIZE) != (3))) goto L_01ca;
                                                                //   2759                 type = short+integers; round = 1;  size = 2
#line 2759 "regression-compile-tmp/vax-pass2.imp"
TYPE = 17;
#line 2759 "regression-compile-tmp/vax-pass2.imp"
ROUND = 1;
#line 2759 "regression-compile-tmp/vax-pass2.imp"
SIZE = 2;
                                                                //   2760              %else %if size = 4
#line 2760 "regression-compile-tmp/vax-pass2.imp"
goto L_01c9;
#line 2760 "regression-compile-tmp/vax-pass2.imp"
L_01ca:;
#line 2760 "regression-compile-tmp/vax-pass2.imp"
if (((SIZE) != (4))) goto L_01cb;
                                                                //   2761                 type = long+integers;  round = 7;  size = 8
#line 2761 "regression-compile-tmp/vax-pass2.imp"
TYPE = 21;
#line 2761 "regression-compile-tmp/vax-pass2.imp"
ROUND = 7;
#line 2761 "regression-compile-tmp/vax-pass2.imp"
SIZE = 8;
                                                                //   2762              %else
#line 2762 "regression-compile-tmp/vax-pass2.imp"
goto L_01c9;
#line 2762 "regression-compile-tmp/vax-pass2.imp"
L_01cb:;
                                                                //   2763                 size = 4
#line 2763 "regression-compile-tmp/vax-pass2.imp"
SIZE = 4;
                                                                //   2764              %finish
#line 2764 "regression-compile-tmp/vax-pass2.imp"
L_01c9:;
                                                                //   2765              type = integers %if form = procbit+v in r;  !integer functions
#line 2765 "regression-compile-tmp/vax-pass2.imp"
if (((FORM) != (17))) goto L_01cc;
#line 2765 "regression-compile-tmp/vax-pass2.imp"
TYPE = 16;
#line 2765 "regression-compile-tmp/vax-pass2.imp"
L_01cc:;
                                                                //   2766           %else %if type = 2;           ! %real, %longreal
#line 2766 "regression-compile-tmp/vax-pass2.imp"
goto L_01cd;
#line 2766 "regression-compile-tmp/vax-pass2.imp"
L_01c7:;
#line 2766 "regression-compile-tmp/vax-pass2.imp"
if (((TYPE) != (2))) goto L_01ce;
                                                                //   2767              %if size = 4 %start;       !longreal
#line 2767 "regression-compile-tmp/vax-pass2.imp"
if (((SIZE) != (4))) goto L_01cf;
                                                                //   2768                 size = 8;  type = reall;  round = 7
#line 2768 "regression-compile-tmp/vax-pass2.imp"
SIZE = 8;
#line 2768 "regression-compile-tmp/vax-pass2.imp"
TYPE = 36;
#line 2768 "regression-compile-tmp/vax-pass2.imp"
ROUND = 7;
                                                                //   2769              %else
#line 2769 "regression-compile-tmp/vax-pass2.imp"
goto L_01d0;
#line 2769 "regression-compile-tmp/vax-pass2.imp"
L_01cf:;
                                                                //   2770                 size = 4;  type = reals
#line 2770 "regression-compile-tmp/vax-pass2.imp"
SIZE = 4;
#line 2770 "regression-compile-tmp/vax-pass2.imp"
TYPE = 35;
                                                                //   2771              %finish
#line 2771 "regression-compile-tmp/vax-pass2.imp"
L_01d0:;
                                                                //   2772           %else %if type = 3;           ! %string
#line 2772 "regression-compile-tmp/vax-pass2.imp"
goto L_01cd;
#line 2772 "regression-compile-tmp/vax-pass2.imp"
L_01ce:;
#line 2772 "regression-compile-tmp/vax-pass2.imp"
if (((TYPE) != (3))) goto L_01d1;
                                                                //   2773              type = strings
#line 2773 "regression-compile-tmp/vax-pass2.imp"
TYPE = 64;
                                                                //   2774              round = 0
#line 2774 "regression-compile-tmp/vax-pass2.imp"
ROUND = 0;
                                                                //   2775              size = size + 1 %if size # 0; !infiltrate length cell, unless (*)
#line 2775 "regression-compile-tmp/vax-pass2.imp"
if (((SIZE) == (0))) goto L_01d2;
#line 2775 "regression-compile-tmp/vax-pass2.imp"
SIZE = (((int)(SIZE)) + (1));
#line 2775 "regression-compile-tmp/vax-pass2.imp"
L_01d2:;
                                                                //   2776           %else %if type = 4;           ! %record
#line 2776 "regression-compile-tmp/vax-pass2.imp"
goto L_01cd;
#line 2776 "regression-compile-tmp/vax-pass2.imp"
L_01d1:;
#line 2776 "regression-compile-tmp/vax-pass2.imp"
if (((TYPE) != (4))) goto L_01d3;
                                                                //   2777              type = records
#line 2777 "regression-compile-tmp/vax-pass2.imp"
TYPE = 128;
                                                                //   2778              decvar_format = size
#line 2778 "regression-compile-tmp/vax-pass2.imp"
DECVAR->FORMAT = SIZE;
                                                                //   2779              size = var(size)_length
#line 2779 "regression-compile-tmp/vax-pass2.imp"
SIZE = VAR[SIZE].LENGTH;
                                                                //   2780           %finish
#line 2780 "regression-compile-tmp/vax-pass2.imp"
L_01d3:;
#line 2780 "regression-compile-tmp/vax-pass2.imp"
L_01cd:;
                                                                //   2781           data size = size;             !actual size
#line 2781 "regression-compile-tmp/vax-pass2.imp"
DATASIZE = SIZE;
                                                                //   2782           decvar_length = data size
#line 2782 "regression-compile-tmp/vax-pass2.imp"
DECVAR->LENGTH = DATASIZE;
                                                                //   2783  
                                                                //   2784           get (discard);   otype = getlong
#line 2784 "regression-compile-tmp/vax-pass2.imp"
GET(&DISCARD);
#line 2784 "regression-compile-tmp/vax-pass2.imp"
OTYPE = GETLONG();
                                                                //   2785           duplic = otype&256
#line 2785 "regression-compile-tmp/vax-pass2.imp"
DUPLIC = ((OTYPE) & (256));
                                                                //   2786           spec = otype&8;  otype = otype&7;  !ignore prot for now
#line 2786 "regression-compile-tmp/vax-pass2.imp"
SPEC = ((OTYPE) & (8));
#line 2786 "regression-compile-tmp/vax-pass2.imp"
OTYPE = ((OTYPE) & (7));
                                                                //   2787           %if alias # "" %start
#line 2787 "regression-compile-tmp/vax-pass2.imp"
if ((_imp_strcmp(ALIAS, _imp_str_literal("")) == 0)) goto L_01d4;
                                                                //   2788              external name = alias;  alias = ""
#line 2788 "regression-compile-tmp/vax-pass2.imp"
EXTERNALNAME = ALIAS;
#line 2788 "regression-compile-tmp/vax-pass2.imp"
ALIAS = _imp_str_literal("");
                                                                //   2789           %else
#line 2789 "regression-compile-tmp/vax-pass2.imp"
goto L_01d5;
#line 2789 "regression-compile-tmp/vax-pass2.imp"
L_01d4:;
                                                                //   2790              %if otype = 4 %start;        !system
#line 2790 "regression-compile-tmp/vax-pass2.imp"
if (((OTYPE) != (4))) goto L_01d6;
                                                                //   2791                 %if length(var name) > max ident-4 %start
#line 2791 "regression-compile-tmp/vax-pass2.imp"
if (((*_imp_LENGTH(&VARNAME)) <= (27))) goto L_01d7;
                                                                //   2792                    length(var name) = max ident-4
#line 2792 "regression-compile-tmp/vax-pass2.imp"
*_imp_LENGTH(&VARNAME) = 27;
                                                                //   2793                 %finish
#line 2793 "regression-compile-tmp/vax-pass2.imp"
L_01d7:;
                                                                //   2794                 external name = "SYS$".var name
#line 2794 "regression-compile-tmp/vax-pass2.imp"
EXTERNALNAME = _imp_join((_imp_string)_imp_str_literal("SYS$"),(_imp_string)VARNAME);
                                                                //   2795              %else
#line 2795 "regression-compile-tmp/vax-pass2.imp"
goto L_01d8;
#line 2795 "regression-compile-tmp/vax-pass2.imp"
L_01d6:;
                                                                //   2796                 external name = var name
#line 2796 "regression-compile-tmp/vax-pass2.imp"
EXTERNALNAME = VARNAME;
                                                                //   2797              %finish
#line 2797 "regression-compile-tmp/vax-pass2.imp"
L_01d8:;
                                                                //   2798           %finish
#line 2798 "regression-compile-tmp/vax-pass2.imp"
L_01d5:;
                                                                //   2799  
                                                                //   2800           size = 4 %if gmode # 0 %and amode >= 0 %and type # reall
#line 2800 "regression-compile-tmp/vax-pass2.imp"
if (((GMODE) == (0))) goto L_01d9;
#line 2800 "regression-compile-tmp/vax-pass2.imp"
if (((AMODE) < (0))) goto L_01d9;
#line 2800 "regression-compile-tmp/vax-pass2.imp"
if (((TYPE) == (36))) goto L_01d9;
#line 2800 "regression-compile-tmp/vax-pass2.imp"
SIZE = 4;
#line 2800 "regression-compile-tmp/vax-pass2.imp"
L_01d9:;
                                                                //   2801           !parameters are longwords
                                                                //   2802           %if form&proc bit # 0 %start;                !procedure
#line 2802 "regression-compile-tmp/vax-pass2.imp"
if (((((FORM) & (16))) == (0))) goto L_01da;
                                                                //   2803              decvar_type = type;  decvar_form = form
#line 2803 "regression-compile-tmp/vax-pass2.imp"
DECVAR->TYPE = TYPE;
#line 2803 "regression-compile-tmp/vax-pass2.imp"
DECVAR->FORM = FORM;
                                                                //   2804              decvar_header = -1
#line 2804 "regression-compile-tmp/vax-pass2.imp"
DECVAR->HEADER = (-1);
                                                                //   2805              gtype = 0
#line 2805 "regression-compile-tmp/vax-pass2.imp"
GTYPE = 0;
                                                                //   2806              gtype = 1 %if spec # 0
#line 2806 "regression-compile-tmp/vax-pass2.imp"
if (((SPEC) == (0))) goto L_01db;
#line 2806 "regression-compile-tmp/vax-pass2.imp"
GTYPE = 1;
#line 2806 "regression-compile-tmp/vax-pass2.imp"
L_01db:;
                                                                //   2807              %if otype # 0 %and spec # 0 %start;       !external spec
#line 2807 "regression-compile-tmp/vax-pass2.imp"
if (((OTYPE) == (0))) goto L_01dc;
#line 2807 "regression-compile-tmp/vax-pass2.imp"
if (((SPEC) == (0))) goto L_01dc;
                                                                //   2808                 %if otype >= 6 %start;                 !primitive, permanent
#line 2808 "regression-compile-tmp/vax-pass2.imp"
if (((OTYPE) < (6))) goto L_01dd;
                                                                //   2809                    prim no = prim no+1
#line 2809 "regression-compile-tmp/vax-pass2.imp"
PRIMNO = (((int)(PRIMNO)) + (1));
                                                                //   2810                    decvar_flags = prim no
#line 2810 "regression-compile-tmp/vax-pass2.imp"
DECVAR->FLAGS = PRIMNO;
                                                                //   2811                    %return %if otype = 6;              !primitive
#line 2811 "regression-compile-tmp/vax-pass2.imp"
if (((OTYPE) != (6))) goto L_01de;
#line 2811 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2811 "regression-compile-tmp/vax-pass2.imp"
L_01de:;
                                                                //   2812                 %finish
#line 2812 "regression-compile-tmp/vax-pass2.imp"
L_01dd:;
                                                                //   2813                 xno = xno + 1
#line 2813 "regression-compile-tmp/vax-pass2.imp"
XNO = (((int)(XNO)) + (1));
                                                                //   2814                 decvar_base = pending;  decvar_xno = xno
#line 2814 "regression-compile-tmp/vax-pass2.imp"
DECVAR->BASE = 22;
#line 2814 "regression-compile-tmp/vax-pass2.imp"
DECVAR->XNO = XNO;
                                                                //   2815                 put (obj pspec); put word (xno); dump text (externalname)
#line 2815 "regression-compile-tmp/vax-pass2.imp"
PUT(5);
#line 2815 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(XNO);
#line 2815 "regression-compile-tmp/vax-pass2.imp"
DUMPTEXT(&EXTERNALNAME);
                                                                //   2816                 %return
#line 2816 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2817              %finish
#line 2817 "regression-compile-tmp/vax-pass2.imp"
L_01dc:;
                                                                //   2818              %if gmode = 0 %start;                     !not a parameter
#line 2818 "regression-compile-tmp/vax-pass2.imp"
if (((GMODE) != (0))) goto L_01df;
                                                                //   2819                 potype = otype
#line 2819 "regression-compile-tmp/vax-pass2.imp"
POTYPE = OTYPE;
                                                                //   2820                 %if new # 0 %start
#line 2820 "regression-compile-tmp/vax-pass2.imp"
if (((NEW) == (0))) goto L_01e0;
                                                                //   2821                    decvar_base = pc
#line 2821 "regression-compile-tmp/vax-pass2.imp"
DECVAR->BASE = 16;
                                                                //   2822                    decvar_disp = new tag
#line 2822 "regression-compile-tmp/vax-pass2.imp"
DECVAR->DISP = NEWTAG();
                                                                //   2823                 %finish
#line 2823 "regression-compile-tmp/vax-pass2.imp"
L_01e0:;
                                                                //   2824                 %return
#line 2824 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2825              %finish
#line 2825 "regression-compile-tmp/vax-pass2.imp"
L_01df:;
                                                                //   2826              size = 4
#line 2826 "regression-compile-tmp/vax-pass2.imp"
SIZE = 4;
                                                                //   2827           %else
#line 2827 "regression-compile-tmp/vax-pass2.imp"
goto L_01e1;
#line 2827 "regression-compile-tmp/vax-pass2.imp"
L_01da:;
                                                                //   2828              %if form&(indirect bit!array bit!arrayname bit) # 0 %start
#line 2828 "regression-compile-tmp/vax-pass2.imp"
if (((((FORM) & (((((128) | (32))) | (64))))) == (0))) goto L_01e2;
                                                                //   2829                 size = 4
#line 2829 "regression-compile-tmp/vax-pass2.imp"
SIZE = 4;
                                                                //   2830                 %if form&arrayname bit # 0 %start
#line 2830 "regression-compile-tmp/vax-pass2.imp"
if (((((FORM) & (64))) == (0))) goto L_01e3;
                                                                //   2831                    size = 8;  datasize = 8
#line 2831 "regression-compile-tmp/vax-pass2.imp"
SIZE = 8;
#line 2831 "regression-compile-tmp/vax-pass2.imp"
DATASIZE = 8;
                                                                //   2832                 %else %if form&indirect bit # 0
#line 2832 "regression-compile-tmp/vax-pass2.imp"
goto L_01e4;
#line 2832 "regression-compile-tmp/vax-pass2.imp"
L_01e3:;
#line 2832 "regression-compile-tmp/vax-pass2.imp"
if (((((FORM) & (128))) == (0))) goto L_01e5;
                                                                //   2833                    data size = 4
#line 2833 "regression-compile-tmp/vax-pass2.imp"
DATASIZE = 4;
                                                                //   2834                 %finish
#line 2834 "regression-compile-tmp/vax-pass2.imp"
L_01e5:;
#line 2834 "regression-compile-tmp/vax-pass2.imp"
L_01e4:;
                                                                //   2835                 round = 3 %if form&(indirect bit!arrayname bit) # 0
#line 2835 "regression-compile-tmp/vax-pass2.imp"
if (((((FORM) & (((128) | (64))))) == (0))) goto L_01e6;
#line 2835 "regression-compile-tmp/vax-pass2.imp"
ROUND = 3;
#line 2835 "regression-compile-tmp/vax-pass2.imp"
L_01e6:;
                                                                //   2836                 %if type = 0 %start;          !general type
#line 2836 "regression-compile-tmp/vax-pass2.imp"
if (((TYPE) != (0))) goto L_01e7;
                                                                //   2837                    size = 8
#line 2837 "regression-compile-tmp/vax-pass2.imp"
SIZE = 8;
                                                                //   2838                 %else %if form&arrayname bit # 0
#line 2838 "regression-compile-tmp/vax-pass2.imp"
goto L_01e8;
#line 2838 "regression-compile-tmp/vax-pass2.imp"
L_01e7:;
#line 2838 "regression-compile-tmp/vax-pass2.imp"
if (((((FORM) & (64))) == (0))) goto L_01e9;
                                                                //   2839                    decvar_header = -1
#line 2839 "regression-compile-tmp/vax-pass2.imp"
DECVAR->HEADER = (-1);
                                                                //   2840                 %finish
#line 2840 "regression-compile-tmp/vax-pass2.imp"
L_01e9:;
#line 2840 "regression-compile-tmp/vax-pass2.imp"
L_01e8:;
                                                                //   2841              %finish
#line 2841 "regression-compile-tmp/vax-pass2.imp"
L_01e2:;
                                                                //   2842           %finish
#line 2842 "regression-compile-tmp/vax-pass2.imp"
L_01e1:;
                                                                //   2843           decvar_type = type;  decvar_form = form
#line 2843 "regression-compile-tmp/vax-pass2.imp"
DECVAR->TYPE = TYPE;
#line 2843 "regression-compile-tmp/vax-pass2.imp"
DECVAR->FORM = FORM;
                                                                //   2844  
                                                                //   2845           !deal with owns
                                                                //   2846  
                                                                //   2847           %if otype # 0 %start;                    !own data
#line 2847 "regression-compile-tmp/vax-pass2.imp"
if (((OTYPE) == (0))) goto L_01ea;
                                                                //   2848              owntype = type;  ownform = form
#line 2848 "regression-compile-tmp/vax-pass2.imp"
OWNTYPE = TYPE;
#line 2848 "regression-compile-tmp/vax-pass2.imp"
OWNFORM = FORM;
                                                                //   2849              %if otype = 2 %and form&indirect bit # 0 %start
#line 2849 "regression-compile-tmp/vax-pass2.imp"
if (((OTYPE) != (2))) goto L_01eb;
#line 2849 "regression-compile-tmp/vax-pass2.imp"
if (((((FORM) & (128))) == (0))) goto L_01eb;
                                                                //   2850                 otype = 0
#line 2850 "regression-compile-tmp/vax-pass2.imp"
OTYPE = 0;
                                                                //   2851              %else
#line 2851 "regression-compile-tmp/vax-pass2.imp"
goto L_01ec;
#line 2851 "regression-compile-tmp/vax-pass2.imp"
L_01eb:;
                                                                //   2852                 %if spec = 0 %start
#line 2852 "regression-compile-tmp/vax-pass2.imp"
if (((SPEC) != (0))) goto L_01ed;
                                                                //   2853                    %if form&array bit # 0 %start
#line 2853 "regression-compile-tmp/vax-pass2.imp"
if (((((FORM) & (32))) == (0))) goto L_01ee;
                                                                //   2854                       set dope vector (dv)
#line 2854 "regression-compile-tmp/vax-pass2.imp"
SETDOPEVECTOR(&DV);
                                                                //   2855                       decvar_base = gla;  decvar_disp = ga
#line 2855 "regression-compile-tmp/vax-pass2.imp"
DECVAR->BASE = 12;
#line 2855 "regression-compile-tmp/vax-pass2.imp"
DECVAR->DISP = GA;
                                                                //   2856                       glongword (0);  glongword (0)
#line 2856 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(0);
#line 2856 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(0);
                                                                //   2857                       decvar_header = -2;  decvar_zeroad = ga - vlb
#line 2857 "regression-compile-tmp/vax-pass2.imp"
DECVAR->HEADER = (-2);
#line 2857 "regression-compile-tmp/vax-pass2.imp"
DECVAR->ZEROAD = (((int)(GA)) - (VLB));
                                                                //   2858                       flush gla
#line 2858 "regression-compile-tmp/vax-pass2.imp"
FLUSHGLA();
                                                                //   2859  !                     %if command & picbit # 0 %start
                                                                //   2860  !                        head_base = gla; head_disp = ga - 8
                                                                //   2861  !                        dope_disp = dv
                                                                //   2862  !                        zeroth_base = gla; zeroth_disp = ga - vlb
                                                                //   2863  !                        plant2 (moval, zeroth, head); head_disp = head_disp + 4
                                                                //   2864  !                        plant2 (moval, dope, head)
                                                                //   2865  !                     %else
                                                                //   2866                          put (obj reloc); put long (ga-8); put long (ga-vlb)
#line 2866 "regression-compile-tmp/vax-pass2.imp"
PUT(8);
#line 2866 "regression-compile-tmp/vax-pass2.imp"
PUTLONG((((int)(GA)) - (8)));
#line 2866 "regression-compile-tmp/vax-pass2.imp"
PUTLONG((((int)(GA)) - (VLB)));
                                                                //   2867                          put (obj reloc); put long (ga-4); put long (dv)
#line 2867 "regression-compile-tmp/vax-pass2.imp"
PUT(8);
#line 2867 "regression-compile-tmp/vax-pass2.imp"
PUTLONG((((int)(GA)) - (4)));
#line 2867 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(DV);
                                                                //   2868  !                     %finish
                                                                //   2869                       lput (obj ddef, ga-8) %if otype > 2
#line 2869 "regression-compile-tmp/vax-pass2.imp"
if (((OTYPE) <= (2))) goto L_01ef;
#line 2869 "regression-compile-tmp/vax-pass2.imp"
LPUT(6, (((int)(GA)) - (8)));
#line 2869 "regression-compile-tmp/vax-pass2.imp"
L_01ef:;
                                                                //   2870                    %finish
#line 2870 "regression-compile-tmp/vax-pass2.imp"
L_01ee:;
                                                                //   2871                 %else
#line 2871 "regression-compile-tmp/vax-pass2.imp"
goto L_01f0;
#line 2871 "regression-compile-tmp/vax-pass2.imp"
L_01ed:;
                                                                //   2872                    xno = xno+1; decvar_xno = xno; decvar_base = pc
#line 2872 "regression-compile-tmp/vax-pass2.imp"
XNO = (((int)(XNO)) + (1));
#line 2872 "regression-compile-tmp/vax-pass2.imp"
DECVAR->XNO = XNO;
#line 2872 "regression-compile-tmp/vax-pass2.imp"
DECVAR->BASE = 16;
                                                                //   2873                    s = objdspec;  s = obj weak %if otype = 5
#line 2873 "regression-compile-tmp/vax-pass2.imp"
S = 7;
#line 2873 "regression-compile-tmp/vax-pass2.imp"
if (((OTYPE) != (5))) goto L_01f1;
#line 2873 "regression-compile-tmp/vax-pass2.imp"
S = 19;
#line 2873 "regression-compile-tmp/vax-pass2.imp"
L_01f1:;
                                                                //   2874                    put (s); put word (xno); dump text (externalname)
#line 2874 "regression-compile-tmp/vax-pass2.imp"
PUT(S);
#line 2874 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(XNO);
#line 2874 "regression-compile-tmp/vax-pass2.imp"
DUMPTEXT(&EXTERNALNAME);
                                                                //   2875                    ! Externalarrays actually arraynames....
                                                                //   2876                    decvar_header = -1 %if decvar_form&arraybit # 0
#line 2876 "regression-compile-tmp/vax-pass2.imp"
if (((((DECVAR->FORM) & (32))) == (0))) goto L_01f2;
#line 2876 "regression-compile-tmp/vax-pass2.imp"
DECVAR->HEADER = (-1);
#line 2876 "regression-compile-tmp/vax-pass2.imp"
L_01f2:;
                                                                //   2877                 %finish
#line 2877 "regression-compile-tmp/vax-pass2.imp"
L_01f0:;
                                                                //   2878              %finish
#line 2878 "regression-compile-tmp/vax-pass2.imp"
L_01ec:;
                                                                //   2879              owntype = integers %if form&indirect bit # 0
#line 2879 "regression-compile-tmp/vax-pass2.imp"
if (((((FORM) & (128))) == (0))) goto L_01f3;
#line 2879 "regression-compile-tmp/vax-pass2.imp"
OWNTYPE = 16;
#line 2879 "regression-compile-tmp/vax-pass2.imp"
L_01f3:;
                                                                //   2880              owntype = records %if form&arrayname bit # 0;  !to dump a lot
#line 2880 "regression-compile-tmp/vax-pass2.imp"
if (((((FORM) & (64))) == (0))) goto L_01f4;
#line 2880 "regression-compile-tmp/vax-pass2.imp"
OWNTYPE = 128;
#line 2880 "regression-compile-tmp/vax-pass2.imp"
L_01f4:;
                                                                //   2881              %return
#line 2881 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2882           %finish
#line 2882 "regression-compile-tmp/vax-pass2.imp"
L_01ea:;
                                                                //   2883  
                                                                //   2884           %if form = 15 %start;          !label
#line 2884 "regression-compile-tmp/vax-pass2.imp"
if (((FORM) != (15))) goto L_01f5;
                                                                //   2885              jump to (-decl, 32, 0)
#line 2885 "regression-compile-tmp/vax-pass2.imp"
JUMPTO((-(DECL)), 32, 0);
                                                                //   2886              %return
#line 2886 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2887           %finish
#line 2887 "regression-compile-tmp/vax-pass2.imp"
L_01f5:;
                                                                //   2888  
                                                                //   2889           %if form = switch %start
#line 2889 "regression-compile-tmp/vax-pass2.imp"
if (((FORM) != (6))) goto L_01f6;
                                                                //   2890              data size = 4
#line 2890 "regression-compile-tmp/vax-pass2.imp"
DATASIZE = 4;
                                                                //   2891              gfix (3);   dv = ga
#line 2891 "regression-compile-tmp/vax-pass2.imp"
GFIX(3);
#line 2891 "regression-compile-tmp/vax-pass2.imp"
DV = GA;
                                                                //   2892              glongword (1)
#line 2892 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(1);
                                                                //   2893              glongword (vlb); glongword (vub)
#line 2893 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(VLB);
#line 2893 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(VUB);
                                                                //   2894              glongword (4);      ! data size
#line 2894 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(4);
                                                                //   2895              decvar_type  = integers;  decvar_form = av in s
#line 2895 "regression-compile-tmp/vax-pass2.imp"
DECVAR->TYPE = 16;
#line 2895 "regression-compile-tmp/vax-pass2.imp"
DECVAR->FORM = 3;
                                                                //   2896              decvar_base  = gla;       decvar_disp = dv
#line 2896 "regression-compile-tmp/vax-pass2.imp"
DECVAR->BASE = 12;
#line 2896 "regression-compile-tmp/vax-pass2.imp"
DECVAR->DISP = DV;
                                                                //   2897              decvar_extra = ga-vlb*4
#line 2897 "regression-compile-tmp/vax-pass2.imp"
DECVAR->EXTRA = ((GA) - ((int)((((int)(VLB)) * (4)))));
                                                                //   2898              glongword (0) %for s = vlb, 1, vub
#line 2898 "regression-compile-tmp/vax-pass2.imp"
{static int _initial, _increment, _final, _control;
_initial = VLB; _increment = 1; _final = VUB; S = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle S = VLB, 1, VUB");
S -= _increment; _control -= _increment;
L_01f7:;
if (S == _final) goto L_01f8;
S += _increment; _control += _increment;
if (S != _control) _imp_signal(4,2,0,"Corrupt control variable S"); /* FOR loop control variable corrupted */
}
#line 2898 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(0);
#line 2898 "regression-compile-tmp/vax-pass2.imp"
goto L_01f7;
#line 2898 "regression-compile-tmp/vax-pass2.imp"
L_01f8:;
                                                                //   2899              %return
#line 2899 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2900           %finish
#line 2900 "regression-compile-tmp/vax-pass2.imp"
L_01f6:;
                                                                //   2901  
                                                                //   2902           %if form = recfm %start
#line 2902 "regression-compile-tmp/vax-pass2.imp"
if (((FORM) != (4))) goto L_01fa;
                                                                //   2903              gtype = -1
#line 2903 "regression-compile-tmp/vax-pass2.imp"
GTYPE = (-1);
                                                                //   2904              %return
#line 2904 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   2905           %finish
#line 2905 "regression-compile-tmp/vax-pass2.imp"
L_01fa:;
                                                                //   2906  
                                                                //   2907           %return %if form&array bit # 0
#line 2907 "regression-compile-tmp/vax-pass2.imp"
if (((((FORM) & (32))) == (0))) goto L_01fb;
#line 2907 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 2907 "regression-compile-tmp/vax-pass2.imp"
L_01fb:;
                                                                //   2908           %if gmode = 0 %start;               !reverse definition
#line 2908 "regression-compile-tmp/vax-pass2.imp"
if (((GMODE) != (0))) goto L_01fc;
                                                                //   2909              frame = (frame-size)&(\round)
#line 2909 "regression-compile-tmp/vax-pass2.imp"
FRAME = (((((int)(FRAME)) - (SIZE))) & ((~(ROUND))));
                                                                //   2910              decvar_disp = frame
#line 2910 "regression-compile-tmp/vax-pass2.imp"
DECVAR->DISP = FRAME;
                                                                //   2911              last local = frame
#line 2911 "regression-compile-tmp/vax-pass2.imp"
LASTLOCAL = FRAME;
                                                                //   2912           %else
#line 2912 "regression-compile-tmp/vax-pass2.imp"
goto L_01fd;
#line 2912 "regression-compile-tmp/vax-pass2.imp"
L_01fc:;
                                                                //   2913              round = 3 %if amode >=0
#line 2913 "regression-compile-tmp/vax-pass2.imp"
if (((AMODE) < (0))) goto L_01fe;
#line 2913 "regression-compile-tmp/vax-pass2.imp"
ROUND = 3;
#line 2913 "regression-compile-tmp/vax-pass2.imp"
L_01fe:;
                                                                //   2914              frame = (frame+round)&(\round) %if control&rec round # 0
#line 2914 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (128))) == (0))) goto L_01ff;
#line 2914 "regression-compile-tmp/vax-pass2.imp"
FRAME = (((((int)(FRAME)) + (ROUND))) & ((~(ROUND))));
#line 2914 "regression-compile-tmp/vax-pass2.imp"
L_01ff:;
                                                                //   2915              decvar_disp = frame
#line 2915 "regression-compile-tmp/vax-pass2.imp"
DECVAR->DISP = FRAME;
                                                                //   2916              frame = frame+size
#line 2916 "regression-compile-tmp/vax-pass2.imp"
FRAME = (((int)(FRAME)) + (SIZE));
                                                                //   2917           %finish
#line 2917 "regression-compile-tmp/vax-pass2.imp"
L_01fd:;
                                                                //   2918           decvar_base = local
#line 2918 "regression-compile-tmp/vax-pass2.imp"
DECVAR->BASE = LOCAL;
                                                                //   2919           dump diag (1) %if form&arrayname bit = 0
#line 2919 "regression-compile-tmp/vax-pass2.imp"
if (((((FORM) & (64))) != (0))) goto L_0200;
#line 2919 "regression-compile-tmp/vax-pass2.imp"
DUMPDIAG(1);
#line 2919 "regression-compile-tmp/vax-pass2.imp"
L_0200:;
                                                                //   2920        %end
#line 2920 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DEFINEVAR at level 3
                                                                //   2921  
                                                                //   2922        %routine  DEFINE PARAMETERS
#line 2922 "regression-compile-tmp/vax-pass2.imp"
void DEFINEPARAMETERS( void )
#line 2922 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2923           %integer  p, disp
#line 2923 "regression-compile-tmp/vax-pass2.imp"
int P;
#line 2923 "regression-compile-tmp/vax-pass2.imp"
int DISP;
                                                                //   2924           gvar_extra = parms
#line 2924 "regression-compile-tmp/vax-pass2.imp"
GVAR->EXTRA = PARMS;
                                                                //   2925           disp = 64
#line 2925 "regression-compile-tmp/vax-pass2.imp"
DISP = 64;
                                                                //   2926           disp = 68 %if gfunction # 0
#line 2926 "regression-compile-tmp/vax-pass2.imp"
if (((GFUNCTION) == (0))) goto L_0201;
#line 2926 "regression-compile-tmp/vax-pass2.imp"
DISP = 68;
#line 2926 "regression-compile-tmp/vax-pass2.imp"
L_0201:;
                                                                //   2927           %for p = gstart+1, 1, names %cycle
#line 2927 "regression-compile-tmp/vax-pass2.imp"
{static int _initial, _increment, _final, _control;
_initial = (((int)(GSTART)) + (1)); _increment = 1; _final = NAMES; P = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle P = (((int)(GSTART)) + (1)), 1, NAMES");
P -= _increment; _control -= _increment;
L_0202:;
if (P == _final) goto L_0203;
P += _increment; _control += _increment;
if (P != _control) _imp_signal(4,2,0,"Corrupt control variable P"); /* FOR loop control variable corrupted */
}
                                                                //   2928              actual == var(p)
#line 2928 "regression-compile-tmp/vax-pass2.imp"
ACTUAL = &VAR[P];
                                                                //   2929              parms = parms - 1;  formal == var(parms)
#line 2929 "regression-compile-tmp/vax-pass2.imp"
PARMS = (((int)(PARMS)) - (1));
#line 2929 "regression-compile-tmp/vax-pass2.imp"
FORMAL = &VAR[PARMS];
                                                                //   2930              formal = actual
#line 2930 "regression-compile-tmp/vax-pass2.imp"
*FORMAL = *ACTUAL;
                                                                //   2931              actual_disp = actual_disp+disp
#line 2931 "regression-compile-tmp/vax-pass2.imp"
ACTUAL->DISP = (((int)(ACTUAL->DISP)) + (DISP));
                                                                //   2932              %if actual_type&(records!strings) # 0 %start
#line 2932 "regression-compile-tmp/vax-pass2.imp"
if (((((ACTUAL->TYPE) & (((128) | (64))))) == (0))) goto L_0205;
                                                                //   2933                 !string and record values passed by name
                                                                //   2934                 actual_form = a in s %if actual_form = v in s
#line 2934 "regression-compile-tmp/vax-pass2.imp"
if (((ACTUAL->FORM) != (2))) goto L_0206;
#line 2934 "regression-compile-tmp/vax-pass2.imp"
ACTUAL->FORM = 4;
#line 2934 "regression-compile-tmp/vax-pass2.imp"
L_0206:;
                                                                //   2935              %finish
#line 2935 "regression-compile-tmp/vax-pass2.imp"
L_0205:;
                                                                //   2936           %repeat
#line 2936 "regression-compile-tmp/vax-pass2.imp"
goto L_0202;
#line 2936 "regression-compile-tmp/vax-pass2.imp"
L_0203:;
                                                                //   2937           abort (26) %if parms <= names
#line 2937 "regression-compile-tmp/vax-pass2.imp"
if (((PARMS) > (NAMES))) goto L_0207;
#line 2937 "regression-compile-tmp/vax-pass2.imp"
ABORT(26);
#line 2937 "regression-compile-tmp/vax-pass2.imp"
L_0207:;
                                                                //   2938        %end
#line 2938 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DEFINEPARAMETERS at level 3
                                                                //   2939  
                                                                //   2940        %routine  AMAP (%record(stackfm) %name v)
#line 2940 "regression-compile-tmp/vax-pass2.imp"
void AMAP(  STACKFM /*name*/*V )
#line 2940 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2941           !convert 'v' into a descriptor for the address of 'v'
                                                                //   2942           %integer f
#line 2942 "regression-compile-tmp/vax-pass2.imp"
int F;
                                                                //   2943           %const %short %array map(constant:a in rec) =
#line 2943 "regression-compile-tmp/vax-pass2.imp"
const short MAP[8] = { (-1), (-1), 3, (-1), 2, 6, (-1), 5,  };
                                                                //   2944                -1,     -1,  avins,  -1,   vins, avinrec,  -1,     vinrec
                                                                //   2945           ! constant, vinr,  vins, avins, ains,  vinrec, avinrec, ainrec
                                                                //   2946           monitor (v, "Amap in") %if diag&64 # 0
#line 2946 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (64))) == (0))) goto L_0208;
#line 2946 "regression-compile-tmp/vax-pass2.imp"
MONITOR(V, _imp_str_literal("Amap in"));
#line 2946 "regression-compile-tmp/vax-pass2.imp"
L_0208:;
                                                                //   2947           f = map(v_form&15)
#line 2947 "regression-compile-tmp/vax-pass2.imp"
F = MAP[((V->FORM) & (15))];
                                                                //   2948           abort (15) %if f < 0 %or v_oper # 0
#line 2948 "regression-compile-tmp/vax-pass2.imp"
if (((F) < (0))) goto L_0204;
#line 2948 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) == (0))) goto L_0209;
#line 2948 "regression-compile-tmp/vax-pass2.imp"
L_0204:;
#line 2948 "regression-compile-tmp/vax-pass2.imp"
ABORT(15);
#line 2948 "regression-compile-tmp/vax-pass2.imp"
L_0209:;
                                                                //   2949           %if f = av in s  %and v_xno = 0 %start
#line 2949 "regression-compile-tmp/vax-pass2.imp"
if (((F) != (3))) goto L_020a;
#line 2949 "regression-compile-tmp/vax-pass2.imp"
if (((V->XNO) != (0))) goto L_020a;
                                                                //   2950              %if v_base = 0 %start
#line 2950 "regression-compile-tmp/vax-pass2.imp"
if (((V->BASE) != (0))) goto L_020b;
                                                                //   2951                 f = constant
#line 2951 "regression-compile-tmp/vax-pass2.imp"
F = 0;
                                                                //   2952              %else %if v_disp = 0 %and v_flags&indexed = 0
#line 2952 "regression-compile-tmp/vax-pass2.imp"
goto L_020c;
#line 2952 "regression-compile-tmp/vax-pass2.imp"
L_020b:;
#line 2952 "regression-compile-tmp/vax-pass2.imp"
if (((V->DISP) != (0))) goto L_020d;
#line 2952 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (1))) != (0))) goto L_020d;
                                                                //   2953                 f = v in r
#line 2953 "regression-compile-tmp/vax-pass2.imp"
F = 1;
                                                                //   2954              %finish
#line 2954 "regression-compile-tmp/vax-pass2.imp"
L_020d:;
#line 2954 "regression-compile-tmp/vax-pass2.imp"
L_020c:;
                                                                //   2955           %finish
#line 2955 "regression-compile-tmp/vax-pass2.imp"
L_020a:;
                                                                //   2956           v_form = f
#line 2956 "regression-compile-tmp/vax-pass2.imp"
V->FORM = F;
                                                                //   2957           %if f = v in s %or f = v in rec %start
#line 2957 "regression-compile-tmp/vax-pass2.imp"
if (((F) == (2))) goto L_020e;
#line 2957 "regression-compile-tmp/vax-pass2.imp"
if (((F) != (5))) goto L_020f;
#line 2957 "regression-compile-tmp/vax-pass2.imp"
L_020e:;
                                                                //   2958              v_length = 4
#line 2958 "regression-compile-tmp/vax-pass2.imp"
V->LENGTH = 4;
                                                                //   2959           %else
#line 2959 "regression-compile-tmp/vax-pass2.imp"
goto L_0210;
#line 2959 "regression-compile-tmp/vax-pass2.imp"
L_020f:;
                                                                //   2960              v_length = var(v_format)_length %if v_type = records
#line 2960 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) != (128))) goto L_0211;
#line 2960 "regression-compile-tmp/vax-pass2.imp"
V->LENGTH = VAR[V->FORMAT].LENGTH;
#line 2960 "regression-compile-tmp/vax-pass2.imp"
L_0211:;
                                                                //   2961              v_length = v_iscale %if v_flags&indexed # 0
#line 2961 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (1))) == (0))) goto L_0212;
#line 2961 "regression-compile-tmp/vax-pass2.imp"
V->LENGTH = V->ISCALE;
#line 2961 "regression-compile-tmp/vax-pass2.imp"
L_0212:;
                                                                //   2962           %finish
#line 2962 "regression-compile-tmp/vax-pass2.imp"
L_0210:;
                                                                //   2963           v_type = integers
#line 2963 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = 16;
                                                                //   2964           monitor (v, "Amap out") %if diag&64 # 0
#line 2964 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (64))) == (0))) goto L_0213;
#line 2964 "regression-compile-tmp/vax-pass2.imp"
MONITOR(V, _imp_str_literal("Amap out"));
#line 2964 "regression-compile-tmp/vax-pass2.imp"
L_0213:;
                                                                //   2965        %end
#line 2965 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block AMAP at level 3
                                                                //   2966  
                                                                //   2967        %routine  VMAP (%record(stackfm) %name v)
#line 2967 "regression-compile-tmp/vax-pass2.imp"
void VMAP(  STACKFM /*name*/*V )
#line 2967 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   2968           %integer n
#line 2968 "regression-compile-tmp/vax-pass2.imp"
int N;
                                                                //   2969           monitor (v, "Vmap in") %if diag&64 # 0
#line 2969 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (64))) == (0))) goto L_0214;
#line 2969 "regression-compile-tmp/vax-pass2.imp"
MONITOR(V, _imp_str_literal("Vmap in"));
#line 2969 "regression-compile-tmp/vax-pass2.imp"
L_0214:;
                                                                //   2970           %if v_oper # 0 %start
#line 2970 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) == (0))) goto L_0215;
                                                                //   2971              %if (v_oper = add %or v_oper = sub) %and const (v_link) %start
#line 2971 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) == (9))) goto L_01f9;
#line 2971 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) != (10))) goto L_0216;
#line 2971 "regression-compile-tmp/vax-pass2.imp"
L_01f9:;
#line 2971 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(V->LINK))) goto L_0216;
                                                                //   2972                 n = v_link_disp;   drop (v_link)
#line 2972 "regression-compile-tmp/vax-pass2.imp"
N = V->LINK->DISP;
#line 2972 "regression-compile-tmp/vax-pass2.imp"
DROP(V->LINK);
                                                                //   2973                 n = -n %if v_oper = sub
#line 2973 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) != (10))) goto L_0217;
#line 2973 "regression-compile-tmp/vax-pass2.imp"
N = (-(N));
#line 2973 "regression-compile-tmp/vax-pass2.imp"
L_0217:;
                                                                //   2974                 v_oper = 0
#line 2974 "regression-compile-tmp/vax-pass2.imp"
V->OPER = 0;
                                                                //   2975                 %if v_form = v in r %or v_form = av in s %start
#line 2975 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) == (1))) goto L_0218;
#line 2975 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (3))) goto L_0219;
#line 2975 "regression-compile-tmp/vax-pass2.imp"
L_0218:;
                                                                //   2976                    v_disp = v_disp + n
#line 2976 "regression-compile-tmp/vax-pass2.imp"
V->DISP = (((int)(V->DISP)) + (N));
                                                                //   2977                 %else %if v_form = v in s %and v_type = integers %and
#line 2977 "regression-compile-tmp/vax-pass2.imp"
goto L_021a;
#line 2977 "regression-compile-tmp/vax-pass2.imp"
L_0219:;
#line 2977 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (2))) goto L_021b;
#line 2977 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) != (16))) goto L_021b;
#line 2977 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (1))) != (0))) goto L_021b;
                                                                //   2978                           v_flags&indexed = 0
                                                                //   2979                    v_extra = v_disp;  v_disp = n
#line 2979 "regression-compile-tmp/vax-pass2.imp"
V->EXTRA = V->DISP;
#line 2979 "regression-compile-tmp/vax-pass2.imp"
V->DISP = N;
                                                                //   2980                    v_form = av in rec
#line 2980 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 6;
                                                                //   2981                 %else
#line 2981 "regression-compile-tmp/vax-pass2.imp"
goto L_021a;
#line 2981 "regression-compile-tmp/vax-pass2.imp"
L_021b:;
                                                                //   2982                    load (v, any);  v_disp = n
#line 2982 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, 17);
#line 2982 "regression-compile-tmp/vax-pass2.imp"
V->DISP = N;
                                                                //   2983                 %finish
#line 2983 "regression-compile-tmp/vax-pass2.imp"
L_021a:;
                                                                //   2984              %else
#line 2984 "regression-compile-tmp/vax-pass2.imp"
goto L_021c;
#line 2984 "regression-compile-tmp/vax-pass2.imp"
L_0216:;
                                                                //   2985                 load (v, any)
#line 2985 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, 17);
                                                                //   2986              %finish
#line 2986 "regression-compile-tmp/vax-pass2.imp"
L_021c:;
                                                                //   2987           %finish
#line 2987 "regression-compile-tmp/vax-pass2.imp"
L_0215:;
                                                                //   2988  !         load (v, any) %if v_flags&indexed # 0 %and v_form # av in s
                                                                //   2989           %if v_form = v in s %or v_form = v in rec %start
#line 2989 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) == (2))) goto L_021d;
#line 2989 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (5))) goto L_021e;
#line 2989 "regression-compile-tmp/vax-pass2.imp"
L_021d:;
                                                                //   2990              v_form = v_form+2
#line 2990 "regression-compile-tmp/vax-pass2.imp"
V->FORM = (((int)(V->FORM)) + (2));
                                                                //   2991           %else %if v_form = av in s %or v_form = av in rec
#line 2991 "regression-compile-tmp/vax-pass2.imp"
goto L_021f;
#line 2991 "regression-compile-tmp/vax-pass2.imp"
L_021e:;
#line 2991 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) == (3))) goto L_0220;
#line 2991 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (6))) goto L_0221;
#line 2991 "regression-compile-tmp/vax-pass2.imp"
L_0220:;
                                                                //   2992              v_form = v_form-1
#line 2992 "regression-compile-tmp/vax-pass2.imp"
V->FORM = (((int)(V->FORM)) - (1));
                                                                //   2993           %else %if v_form = constant
#line 2993 "regression-compile-tmp/vax-pass2.imp"
goto L_021f;
#line 2993 "regression-compile-tmp/vax-pass2.imp"
L_0221:;
#line 2993 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (0))) goto L_0222;
                                                                //   2994              v_form = v in s;  v_base = 0
#line 2994 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 2;
#line 2994 "regression-compile-tmp/vax-pass2.imp"
V->BASE = 0;
                                                                //   2995           %else
#line 2995 "regression-compile-tmp/vax-pass2.imp"
goto L_021f;
#line 2995 "regression-compile-tmp/vax-pass2.imp"
L_0222:;
                                                                //   2996              load (v, any);  v_form = v in s
#line 2996 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, 17);
#line 2996 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 2;
                                                                //   2997           %finish
#line 2997 "regression-compile-tmp/vax-pass2.imp"
L_021f:;
                                                                //   2998           monitor (v, "Vmap out") %if diag&64 # 0
#line 2998 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (64))) == (0))) goto L_0223;
#line 2998 "regression-compile-tmp/vax-pass2.imp"
MONITOR(V, _imp_str_literal("Vmap out"));
#line 2998 "regression-compile-tmp/vax-pass2.imp"
L_0223:;
                                                                //   2999        %end
#line 2999 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block VMAP at level 3
                                                                //   3000  
                                                                //   3001        %routine  ADDRESS VAR (%integer mode, %record(stack fm) %name v)
#line 3001 "regression-compile-tmp/vax-pass2.imp"
void ADDRESSVAR( int MODE,  STACKFM /*name*/*V )
#line 3001 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3002           ! If v is av in rec then change form of descriptor
                                                                //   3003           ! according to mode -
                                                                //   3004           !   mode # 0 -> value wanted -> make into v in s + const
                                                                //   3005           !   mode = 0 -> want address -> load base
                                                                //   3006           %record(stack fm) %name  c
#line 3006 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*C;
                                                                //   3007           %integer  n
#line 3007 "regression-compile-tmp/vax-pass2.imp"
int N;
                                                                //   3008           %return %if v_form # av in rec
#line 3008 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) == (6))) goto L_0224;
#line 3008 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3008 "regression-compile-tmp/vax-pass2.imp"
L_0224:;
                                                                //   3009           n = v_disp
#line 3009 "regression-compile-tmp/vax-pass2.imp"
N = V->DISP;
                                                                //   3010           %if mode # 0 %and v_flags = 0 %start
#line 3010 "regression-compile-tmp/vax-pass2.imp"
if (((MODE) == (0))) goto L_0225;
#line 3010 "regression-compile-tmp/vax-pass2.imp"
if (((V->FLAGS) != (0))) goto L_0225;
                                                                //   3011              v_form = v in s;  v_disp = v_extra;  v_type = integers
#line 3011 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 2;
#line 3011 "regression-compile-tmp/vax-pass2.imp"
V->DISP = V->EXTRA;
#line 3011 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = 16;
                                                                //   3012              %if n # 0 %start
#line 3012 "regression-compile-tmp/vax-pass2.imp"
if (((N) == (0))) goto L_0226;
                                                                //   3013                 c == literal(n);  stp = stp - 1
#line 3013 "regression-compile-tmp/vax-pass2.imp"
C = LITERAL(N);
#line 3013 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   3014                 v_oper = add;   v_link == c
#line 3014 "regression-compile-tmp/vax-pass2.imp"
V->OPER = 9;
#line 3014 "regression-compile-tmp/vax-pass2.imp"
V->LINK = C;
                                                                //   3015              %finish
#line 3015 "regression-compile-tmp/vax-pass2.imp"
L_0226:;
                                                                //   3016           %else
#line 3016 "regression-compile-tmp/vax-pass2.imp"
goto L_0227;
#line 3016 "regression-compile-tmp/vax-pass2.imp"
L_0225:;
                                                                //   3017              v_disp = v_extra;  v_extra = 0;   v_type = integers
#line 3017 "regression-compile-tmp/vax-pass2.imp"
V->DISP = V->EXTRA;
#line 3017 "regression-compile-tmp/vax-pass2.imp"
V->EXTRA = 0;
#line 3017 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = 16;
                                                                //   3018              load (v, any);   v_disp = n
#line 3018 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, 17);
#line 3018 "regression-compile-tmp/vax-pass2.imp"
V->DISP = N;
                                                                //   3019              v_form = av in s
#line 3019 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 3;
                                                                //   3020           %finish
#line 3020 "regression-compile-tmp/vax-pass2.imp"
L_0227:;
                                                                //   3021        %end
#line 3021 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ADDRESSVAR at level 3
                                                                //   3022  
                                                                //   3023     !string constant processing
                                                                //   3024  
                                                                //   3025        %record(stackfm) %map  WORK STRING
#line 3025 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*map*/*WORKSTRING( void )
#line 3025 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3026           %record(stackfm) %name d
#line 3026 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*D;
                                                                //   3027           this area = this area + 1
#line 3027 "regression-compile-tmp/vax-pass2.imp"
THISAREA = (((int)(THISAREA)) + (1));
                                                                //   3028           %if this area > last area %start
#line 3028 "regression-compile-tmp/vax-pass2.imp"
if (((THISAREA) <= (LASTAREA))) goto L_0228;
                                                                //   3029              last area = this area
#line 3029 "regression-compile-tmp/vax-pass2.imp"
LASTAREA = THISAREA;
                                                                //   3030              abort (29) %if last area > max work
#line 3030 "regression-compile-tmp/vax-pass2.imp"
if (((LASTAREA) <= (12))) goto L_0229;
#line 3030 "regression-compile-tmp/vax-pass2.imp"
ABORT(29);
#line 3030 "regression-compile-tmp/vax-pass2.imp"
L_0229:;
                                                                //   3031              frame = frame - 256
#line 3031 "regression-compile-tmp/vax-pass2.imp"
FRAME = (((int)(FRAME)) - (256));
                                                                //   3032              string areas(last area) = frame
#line 3032 "regression-compile-tmp/vax-pass2.imp"
STRINGAREAS[(((int)(LASTAREA)) - (1))] = FRAME;
                                                                //   3033           %finish
#line 3033 "regression-compile-tmp/vax-pass2.imp"
L_0228:;
                                                                //   3034           d == descriptor
#line 3034 "regression-compile-tmp/vax-pass2.imp"
D = DESCRIPTOR();
                                                                //   3035           d_type = strings;  d_form = v in s
#line 3035 "regression-compile-tmp/vax-pass2.imp"
D->TYPE = 64;
#line 3035 "regression-compile-tmp/vax-pass2.imp"
D->FORM = 2;
                                                                //   3036           d_base = local;    d_disp = string areas(this area)
#line 3036 "regression-compile-tmp/vax-pass2.imp"
D->BASE = LOCAL;
#line 3036 "regression-compile-tmp/vax-pass2.imp"
D->DISP = STRINGAREAS[(((int)(THISAREA)) - (1))];
                                                                //   3037           %result == d
#line 3037 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return D;
                                                                //   3038        %end
#line 3038 "regression-compile-tmp/vax-pass2.imp"
} // End of block WORKSTRING at level 3
                                                                //   3039  
                                                                //   3040        %routine  DUMP STRING (%integer max)
#line 3040 "regression-compile-tmp/vax-pass2.imp"
void DUMPSTRING( int MAX )
#line 3040 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3041           %integer j, l
#line 3041 "regression-compile-tmp/vax-pass2.imp"
int J;
#line 3041 "regression-compile-tmp/vax-pass2.imp"
int L;
                                                                //   3042           l = length(text)
#line 3042 "regression-compile-tmp/vax-pass2.imp"
L = *_imp_LENGTH(&TEXT);
                                                                //   3043           %if max = 0 %start;                !as much as nesc.
#line 3043 "regression-compile-tmp/vax-pass2.imp"
if (((MAX) != (0))) goto L_022a;
                                                                //   3044              %return %if l = 0
#line 3044 "regression-compile-tmp/vax-pass2.imp"
if (((L) != (0))) goto L_022b;
#line 3044 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3044 "regression-compile-tmp/vax-pass2.imp"
L_022b:;
                                                                //   3045              max = l
#line 3045 "regression-compile-tmp/vax-pass2.imp"
MAX = L;
                                                                //   3046           %else;                             !explicit area
#line 3046 "regression-compile-tmp/vax-pass2.imp"
goto L_022c;
#line 3046 "regression-compile-tmp/vax-pass2.imp"
L_022a:;
                                                                //   3047              max = max - 1;                  !ignore length cell
#line 3047 "regression-compile-tmp/vax-pass2.imp"
MAX = (((int)(MAX)) - (1));
                                                                //   3048              error ('*', "string constant too big") %if max < l
#line 3048 "regression-compile-tmp/vax-pass2.imp"
if (((MAX) >= (L))) goto L_022d;
#line 3048 "regression-compile-tmp/vax-pass2.imp"
ERROR(42, _imp_str_literal("string constant too big"));
#line 3048 "regression-compile-tmp/vax-pass2.imp"
L_022d:;
                                                                //   3049           %finish
#line 3049 "regression-compile-tmp/vax-pass2.imp"
L_022c:;
                                                                //   3050           gbyte (length(text))
#line 3050 "regression-compile-tmp/vax-pass2.imp"
GBYTE(*_imp_LENGTH(&TEXT));
                                                                //   3051           gbyte (charno(text,j)) %for j = 1, 1, max
#line 3051 "regression-compile-tmp/vax-pass2.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = MAX; J = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle J = 1, 1, MAX");
J -= _increment; _control -= _increment;
L_022e:;
if (J == _final) goto L_022f;
J += _increment; _control += _increment;
if (J != _control) _imp_signal(4,2,0,"Corrupt control variable J"); /* FOR loop control variable corrupted */
}
#line 3051 "regression-compile-tmp/vax-pass2.imp"
GBYTE(*_imp_CHARNO(&TEXT, J));
#line 3051 "regression-compile-tmp/vax-pass2.imp"
goto L_022e;
#line 3051 "regression-compile-tmp/vax-pass2.imp"
L_022f:;
                                                                //   3052        %end
#line 3052 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DUMPSTRING at level 3
                                                                //   3053  
                                                                //   3054        %routine  GET STRING (%string(*) %name  text)
#line 3054 "regression-compile-tmp/vax-pass2.imp"
void GETSTRING( _imp_string /*%string(255)*/ /*name*/*TEXT )
#line 3054 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3055           %integer n, s
#line 3055 "regression-compile-tmp/vax-pass2.imp"
int N;
#line 3055 "regression-compile-tmp/vax-pass2.imp"
int S;
                                                                //   3056           get (n)
#line 3056 "regression-compile-tmp/vax-pass2.imp"
GET(&N);
                                                                //   3057           length(text) = n
#line 3057 "regression-compile-tmp/vax-pass2.imp"
*_imp_LENGTH(TEXT) = N;
                                                                //   3058           get block (n, charno(text,1))
#line 3058 "regression-compile-tmp/vax-pass2.imp"
GETBLOCK(N, _imp_CHARNO(TEXT, 1));
                                                                //   3059           %return %if sym = 'G';          !Alias
#line 3059 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (71))) goto L_0231;
#line 3059 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3059 "regression-compile-tmp/vax-pass2.imp"
L_0231:;
                                                                //   3060           s = look;                       !next control item
#line 3060 "regression-compile-tmp/vax-pass2.imp"
S = LOOK();
                                                                //   3061           %if n = 0 %start;               !null string
#line 3061 "regression-compile-tmp/vax-pass2.imp"
if (((N) != (0))) goto L_0232;
                                                                //   3062              lstack (null string)
#line 3062 "regression-compile-tmp/vax-pass2.imp"
LSTACK(24);
                                                                //   3063           %else
#line 3063 "regression-compile-tmp/vax-pass2.imp"
goto L_0233;
#line 3063 "regression-compile-tmp/vax-pass2.imp"
L_0232:;
                                                                //   3064              lstack (ga)
#line 3064 "regression-compile-tmp/vax-pass2.imp"
LSTACK(GA);
                                                                //   3065              dump string (0) %unless s = '$' %or s = 'A';    !own strings
#line 3065 "regression-compile-tmp/vax-pass2.imp"
if (((S) == (36))) goto L_0234;
#line 3065 "regression-compile-tmp/vax-pass2.imp"
if (((S) == (65))) goto L_0234;
#line 3065 "regression-compile-tmp/vax-pass2.imp"
DUMPSTRING(0);
#line 3065 "regression-compile-tmp/vax-pass2.imp"
L_0234:;
                                                                //   3066           %finish
#line 3066 "regression-compile-tmp/vax-pass2.imp"
L_0233:;
                                                                //   3067           lhs_base = gla
#line 3067 "regression-compile-tmp/vax-pass2.imp"
LHS->BASE = 12;
                                                                //   3068           lhs_type = strings
#line 3068 "regression-compile-tmp/vax-pass2.imp"
LHS->TYPE = 64;
                                                                //   3069           lhs_format = n + 1
#line 3069 "regression-compile-tmp/vax-pass2.imp"
LHS->FORMAT = (((int)(N)) + (1));
                                                                //   3070        %end
#line 3070 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GETSTRING at level 3
                                                                //   3071  
                                                                //   3072     !jump processing
                                                                //   3073  
                                                                //   3074        %record(labelfm) %map  NEW LABEL
#line 3074 "regression-compile-tmp/vax-pass2.imp"
 LABELFM /*map*/*NEWLABEL( void )
#line 3074 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3075           labs = labs + 1;  abort (16) %if labs > max labels
#line 3075 "regression-compile-tmp/vax-pass2.imp"
LABS = (((int)(LABS)) + (1));
#line 3075 "regression-compile-tmp/vax-pass2.imp"
if (((LABS) <= (120))) goto L_0235;
#line 3075 "regression-compile-tmp/vax-pass2.imp"
ABORT(16);
#line 3075 "regression-compile-tmp/vax-pass2.imp"
L_0235:;
                                                                //   3076           %result == labels(labs)
#line 3076 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return &LABELS[(((int)(LABS)) - (1))];
                                                                //   3077        %end
#line 3077 "regression-compile-tmp/vax-pass2.imp"
} // End of block NEWLABEL at level 3
                                                                //   3078  
                                                                //   3079        %record(labelfm) %map  FIND (%integer label)
#line 3079 "regression-compile-tmp/vax-pass2.imp"
 LABELFM /*map*/*FIND( int LABEL )
#line 3079 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3080           %integer lp
#line 3080 "regression-compile-tmp/vax-pass2.imp"
int LP;
                                                                //   3081           %record(labelfm) %name l
#line 3081 "regression-compile-tmp/vax-pass2.imp"
 LABELFM /*name*/*L;
                                                                //   3082           lp = labs
#line 3082 "regression-compile-tmp/vax-pass2.imp"
LP = LABS;
                                                                //   3083           %while lp # label start %cycle
#line 3083 "regression-compile-tmp/vax-pass2.imp"
L_0236:;
#line 3083 "regression-compile-tmp/vax-pass2.imp"
if (((LP) == (LABELSTART))) goto L_0237;
                                                                //   3084              l == labels(lp)
#line 3084 "regression-compile-tmp/vax-pass2.imp"
L = &LABELS[(((int)(LP)) - (1))];
                                                                //   3085              %result == l %if l_id = label
#line 3085 "regression-compile-tmp/vax-pass2.imp"
if (((L->ID) != (LABEL))) goto L_0239;
#line 3085 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return L;
#line 3085 "regression-compile-tmp/vax-pass2.imp"
L_0239:;
                                                                //   3086              lp = lp - 1
#line 3086 "regression-compile-tmp/vax-pass2.imp"
LP = (((int)(LP)) - (1));
                                                                //   3087           %repeat
#line 3087 "regression-compile-tmp/vax-pass2.imp"
goto L_0236;
#line 3087 "regression-compile-tmp/vax-pass2.imp"
L_0237:;
                                                                //   3088           %result == null
#line 3088 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return NULL;
                                                                //   3089        %end
#line 3089 "regression-compile-tmp/vax-pass2.imp"
} // End of block FIND at level 3
                                                                //   3090  
                                                                //   3091        %routine  DEFINE LABEL (%integer label)
#line 3091 "regression-compile-tmp/vax-pass2.imp"
void DEFINELABEL( int LABEL )
#line 3091 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3092           %record(labelfm) %name l
#line 3092 "regression-compile-tmp/vax-pass2.imp"
 LABELFM /*name*/*L;
                                                                //   3093           %return %if label = 0;        !jump round proc
#line 3093 "regression-compile-tmp/vax-pass2.imp"
if (((LABEL) != (0))) goto L_023a;
#line 3093 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3093 "regression-compile-tmp/vax-pass2.imp"
L_023a:;
                                                                //   3094           l == find(label)
#line 3094 "regression-compile-tmp/vax-pass2.imp"
L = FIND(LABEL);
                                                                //   3095           %if l == null %start;         !not found
#line 3095 "regression-compile-tmp/vax-pass2.imp"
if (((L) != (NULL))) goto L_023b;
                                                                //   3096              l == new label
#line 3096 "regression-compile-tmp/vax-pass2.imp"
L = NEWLABEL();
                                                                //   3097              l_id = label;  l_tag = new tag
#line 3097 "regression-compile-tmp/vax-pass2.imp"
L->ID = LABEL;
#line 3097 "regression-compile-tmp/vax-pass2.imp"
L->TAG = NEWTAG();
                                                                //   3098           %else %if l_tag < 0 %and label >= 0
#line 3098 "regression-compile-tmp/vax-pass2.imp"
goto L_023c;
#line 3098 "regression-compile-tmp/vax-pass2.imp"
L_023b:;
#line 3098 "regression-compile-tmp/vax-pass2.imp"
if (((L->TAG) >= (0))) goto L_023d;
#line 3098 "regression-compile-tmp/vax-pass2.imp"
if (((LABEL) < (0))) goto L_023d;
                                                                //   3099              l_tag = new tag
#line 3099 "regression-compile-tmp/vax-pass2.imp"
L->TAG = NEWTAG();
                                                                //   3100           %finish
#line 3100 "regression-compile-tmp/vax-pass2.imp"
L_023d:;
#line 3100 "regression-compile-tmp/vax-pass2.imp"
L_023c:;
                                                                //   3101           l_tag = l_tag!16_8000
#line 3101 "regression-compile-tmp/vax-pass2.imp"
L->TAG = ((L->TAG) | (32768));
                                                                //   3102           define tag (l_tag&16_7fff)
#line 3102 "regression-compile-tmp/vax-pass2.imp"
DEFINETAG(((L->TAG) & (32767)));
                                                                //   3103           uncond jump = 0;               !you can get here!
#line 3103 "regression-compile-tmp/vax-pass2.imp"
UNCONDJUMP = 0;
                                                                //   3104        %end
#line 3104 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DEFINELABEL at level 3
                                                                //   3105  
                                                                //   3106        %routine  JUMP TO (%integer label, cond, def)
#line 3106 "regression-compile-tmp/vax-pass2.imp"
void JUMPTO( int LABEL, int COND, int DEF )
#line 3106 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3107           %const %byte %array  inv (0 : 15) =
#line 3107 "regression-compile-tmp/vax-pass2.imp"
const unsigned char INV[16] = { 0, 1, 4, 5, 2, 3, 6, 7, 8, 9, 12, 13, 10, 11, 14, 15,  };
                                                                //   3108              0,  1,  4,  5,  2,  3,  6,  7,
                                                                //   3109             0+8,1+8,4+8,5+8,2+8,3+8,6+8,7+8
                                                                //   3110           %integer  ref
#line 3110 "regression-compile-tmp/vax-pass2.imp"
int REF;
                                                                //   3111           %record(labelfm) %name  lab
#line 3111 "regression-compile-tmp/vax-pass2.imp"
 LABELFM /*name*/*LAB;
                                                                //   3112           invert = 0
#line 3112 "regression-compile-tmp/vax-pass2.imp"
INVERT = 0;
                                                                //   3113           %return %if label = 0 {jump round routine} %or uncond jump = ca
#line 3113 "regression-compile-tmp/vax-pass2.imp"
if (((LABEL) == (0))) goto L_0238;
#line 3113 "regression-compile-tmp/vax-pass2.imp"
if (((UNCONDJUMP) != (CA))) goto L_023e;
#line 3113 "regression-compile-tmp/vax-pass2.imp"
L_0238:;
#line 3113 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3113 "regression-compile-tmp/vax-pass2.imp"
L_023e:;
                                                                //   3114           cond = inv(cond&15) %if cond&16 # 0
#line 3114 "regression-compile-tmp/vax-pass2.imp"
if (((((COND) & (16))) == (0))) goto L_023f;
#line 3114 "regression-compile-tmp/vax-pass2.imp"
COND = INV[((COND) & (15))];
#line 3114 "regression-compile-tmp/vax-pass2.imp"
L_023f:;
                                                                //   3115           lab == find(label)
#line 3115 "regression-compile-tmp/vax-pass2.imp"
LAB = FIND(LABEL);
                                                                //   3116           %if lab == null %start
#line 3116 "regression-compile-tmp/vax-pass2.imp"
if (((LAB) != (NULL))) goto L_0240;
                                                                //   3117              lab == new label
#line 3117 "regression-compile-tmp/vax-pass2.imp"
LAB = NEWLABEL();
                                                                //   3118              lab_id = label
#line 3118 "regression-compile-tmp/vax-pass2.imp"
LAB->ID = LABEL;
                                                                //   3119              lab_tag = new tag
#line 3119 "regression-compile-tmp/vax-pass2.imp"
LAB->TAG = NEWTAG();
                                                                //   3120           %else %if lab_tag < 0 %and def # 0
#line 3120 "regression-compile-tmp/vax-pass2.imp"
goto L_0241;
#line 3120 "regression-compile-tmp/vax-pass2.imp"
L_0240:;
#line 3120 "regression-compile-tmp/vax-pass2.imp"
if (((LAB->TAG) >= (0))) goto L_0242;
#line 3120 "regression-compile-tmp/vax-pass2.imp"
if (((DEF) == (0))) goto L_0242;
                                                                //   3121              lab_tag = new tag
#line 3121 "regression-compile-tmp/vax-pass2.imp"
LAB->TAG = NEWTAG();
                                                                //   3122           %finish
#line 3122 "regression-compile-tmp/vax-pass2.imp"
L_0242:;
#line 3122 "regression-compile-tmp/vax-pass2.imp"
L_0241:;
                                                                //   3123           %if cond = 32 %start; !from definevar
#line 3123 "regression-compile-tmp/vax-pass2.imp"
if (((COND) != (32))) goto L_0243;
                                                                //   3124              decvar_disp = lab_tag&16_7fff
#line 3124 "regression-compile-tmp/vax-pass2.imp"
DECVAR->DISP = ((LAB->TAG) & (32767));
                                                                //   3125              %return
#line 3125 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3126           %finish
#line 3126 "regression-compile-tmp/vax-pass2.imp"
L_0243:;
                                                                //   3127           %if cond = jump %then ref = dir uref %c
#line 3127 "regression-compile-tmp/vax-pass2.imp"
if (((COND) != (0))) goto L_0244;
#line 3127 "regression-compile-tmp/vax-pass2.imp"
REF = 5;
#line 3127 "regression-compile-tmp/vax-pass2.imp"
goto L_0245;
#line 3127 "regression-compile-tmp/vax-pass2.imp"
L_0244:;
#line 3127 "regression-compile-tmp/vax-pass2.imp"
REF = 4;
#line 3127 "regression-compile-tmp/vax-pass2.imp"
L_0245:;
                                                                //   3128                           %else ref = dir cref
                                                                //   3129           flush code
#line 3129 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
                                                                //   3130           put (obj jump)
#line 3130 "regression-compile-tmp/vax-pass2.imp"
PUT(12);
                                                                //   3131           put (cond);  put word (lab_tag&16_7fff)
#line 3131 "regression-compile-tmp/vax-pass2.imp"
PUT(COND);
#line 3131 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(((LAB->TAG) & (32767)));
                                                                //   3132           define reference (lab_tag&16_7fff, ref)
#line 3132 "regression-compile-tmp/vax-pass2.imp"
DEFINEREFERENCE(((LAB->TAG) & (32767)), REF);
                                                                //   3133           ca = ca+2;                        !assume short
#line 3133 "regression-compile-tmp/vax-pass2.imp"
CA = (((int)(CA)) + (2));
                                                                //   3134           uncond jump = ca %if cond = jump; !no way past here
#line 3134 "regression-compile-tmp/vax-pass2.imp"
if (((COND) != (0))) goto L_0246;
#line 3134 "regression-compile-tmp/vax-pass2.imp"
UNCONDJUMP = CA;
#line 3134 "regression-compile-tmp/vax-pass2.imp"
L_0246:;
                                                                //   3135        %end
#line 3135 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block JUMPTO at level 3
                                                                //   3136  
                                                                //   3137        %routine  DEFINE SWITCH LABEL
#line 3137 "regression-compile-tmp/vax-pass2.imp"
void DEFINESWITCHLABEL( void )
#line 3137 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3138           %integer  tag, switch zero, index
#line 3138 "regression-compile-tmp/vax-pass2.imp"
int TAG;
#line 3138 "regression-compile-tmp/vax-pass2.imp"
int SWITCHZERO;
#line 3138 "regression-compile-tmp/vax-pass2.imp"
int INDEX;
                                                                //   3139           switch zero = var(getword)_extra;  tag = new tag
#line 3139 "regression-compile-tmp/vax-pass2.imp"
SWITCHZERO = VAR[GETWORD()].EXTRA;
#line 3139 "regression-compile-tmp/vax-pass2.imp"
TAG = NEWTAG();
                                                                //   3140           pop lhs;   index = lhs_disp;  drop (lhs)
#line 3140 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
#line 3140 "regression-compile-tmp/vax-pass2.imp"
INDEX = LHS->DISP;
#line 3140 "regression-compile-tmp/vax-pass2.imp"
DROP(LHS);
                                                                //   3141           define tag (tag);  uncond jump = 0
#line 3141 "regression-compile-tmp/vax-pass2.imp"
DEFINETAG(TAG);
#line 3141 "regression-compile-tmp/vax-pass2.imp"
UNCONDJUMP = 0;
                                                                //   3142           flush gla;   put (obj set)
#line 3142 "regression-compile-tmp/vax-pass2.imp"
FLUSHGLA();
#line 3142 "regression-compile-tmp/vax-pass2.imp"
PUT(9);
                                                                //   3143           put long (tag);  put long (switch zero+index*4)
#line 3143 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(TAG);
#line 3143 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(((SWITCHZERO) + ((int)((((int)(INDEX)) * (4))))));
                                                                //   3144        %end
#line 3144 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DEFINESWITCHLABEL at level 3
                                                                //   3145  
                                                                //   3146        %routine  SWITCH JUMP
#line 3146 "regression-compile-tmp/vax-pass2.imp"
void SWITCHJUMP( void )
#line 3146 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3147           vstack (var(getword))
#line 3147 "regression-compile-tmp/vax-pass2.imp"
VSTACK(&VAR[GETWORD()]);
                                                                //   3148           set both;   stp = stp - 2
#line 3148 "regression-compile-tmp/vax-pass2.imp"
SETBOTH();
#line 3148 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (2));
                                                                //   3149           lrd (lhs, r1);                      ! index
#line 3149 "regression-compile-tmp/vax-pass2.imp"
LRD(LHS, 2);
                                                                //   3150           lrd (rhs, r2);                      ! address of dope vector
#line 3150 "regression-compile-tmp/vax-pass2.imp"
LRD(RHS, 3);
                                                                //   3151           prim (swjump)
#line 3151 "regression-compile-tmp/vax-pass2.imp"
PRIM(19);
                                                                //   3152           uncond jump = ca
#line 3152 "regression-compile-tmp/vax-pass2.imp"
UNCONDJUMP = CA;
                                                                //   3153        %end
#line 3153 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SWITCHJUMP at level 3
                                                                //   3154  
                                                                //   3155     !loading routines
                                                                //   3156  
                                                                //   3157        %routine  ADDRESS (%record(stackfm) %name v)
#line 3157 "regression-compile-tmp/vax-pass2.imp"
void ADDRESS(  STACKFM /*name*/*V )
#line 3157 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3158           !convert 'v' to a form in which it is directly addressable
                                                                //   3159           %own %record(stackfm)  xvar = 0
#line 3159 "regression-compile-tmp/vax-pass2.imp"
static  STACKFM XVAR = { 0 } /* Initialise all fields of a record to 0. */;
                                                                //   3160           %integer  type, form, disp, len
#line 3160 "regression-compile-tmp/vax-pass2.imp"
int TYPE;
#line 3160 "regression-compile-tmp/vax-pass2.imp"
int FORM;
#line 3160 "regression-compile-tmp/vax-pass2.imp"
int DISP;
#line 3160 "regression-compile-tmp/vax-pass2.imp"
int LEN;
                                                                //   3161           monitor (v, "Address in") %if diag&32 # 0
#line 3161 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (32))) == (0))) goto L_0247;
#line 3161 "regression-compile-tmp/vax-pass2.imp"
MONITOR(V, _imp_str_literal("Address in"));
#line 3161 "regression-compile-tmp/vax-pass2.imp"
L_0247:;
                                                                //   3162           load (v, any) %if v_oper # 0
#line 3162 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) == (0))) goto L_0248;
#line 3162 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, 17);
#line 3162 "regression-compile-tmp/vax-pass2.imp"
L_0248:;
                                                                //   3163           %if v_form >= v in rec %start
#line 3163 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) < (5))) goto L_0249;
                                                                //   3164              %if v_disp = 0 %and
#line 3164 "regression-compile-tmp/vax-pass2.imp"
if (((V->DISP) != (0))) goto L_024a;
#line 3164 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (5))) goto L_024a;
#line 3164 "regression-compile-tmp/vax-pass2.imp"
if ((((V->FLAGS) != (0))) || (((0) != (V->XNO)))) goto L_024a;
                                                                //   3165                  v_form = v in rec %and v_flags = 0 = v_xno %start
                                                                //   3166                 v_form = a in s;  v_disp = v_extra
#line 3166 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 4;
#line 3166 "regression-compile-tmp/vax-pass2.imp"
V->DISP = V->EXTRA;
                                                                //   3167              %else
#line 3167 "regression-compile-tmp/vax-pass2.imp"
goto L_024b;
#line 3167 "regression-compile-tmp/vax-pass2.imp"
L_024a:;
                                                                //   3168                 type = v_type;  form = v_form-3
#line 3168 "regression-compile-tmp/vax-pass2.imp"
TYPE = V->TYPE;
#line 3168 "regression-compile-tmp/vax-pass2.imp"
FORM = (((int)(V->FORM)) - (3));
                                                                //   3169                 disp = v_disp;  len = v_length
#line 3169 "regression-compile-tmp/vax-pass2.imp"
DISP = V->DISP;
#line 3169 "regression-compile-tmp/vax-pass2.imp"
LEN = V->LENGTH;
                                                                //   3170                 v_type = integers;  v_form = v in s;  v_disp = v_extra
#line 3170 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = 16;
#line 3170 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 2;
#line 3170 "regression-compile-tmp/vax-pass2.imp"
V->DISP = V->EXTRA;
                                                                //   3171                 load (v, any)
#line 3171 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, 17);
                                                                //   3172                 v_type = type;  v_form = form
#line 3172 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = TYPE;
#line 3172 "regression-compile-tmp/vax-pass2.imp"
V->FORM = FORM;
                                                                //   3173                 v_disp = disp;  v_length = len
#line 3173 "regression-compile-tmp/vax-pass2.imp"
V->DISP = DISP;
#line 3173 "regression-compile-tmp/vax-pass2.imp"
V->LENGTH = LEN;
                                                                //   3174              %finish
#line 3174 "regression-compile-tmp/vax-pass2.imp"
L_024b:;
                                                                //   3175           %finish
#line 3175 "regression-compile-tmp/vax-pass2.imp"
L_0249:;
                                                                //   3176           %if v_form = a in s %and (v_xno # 0 %or v_base = 0 %or
#line 3176 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (4))) goto L_024c;
#line 3176 "regression-compile-tmp/vax-pass2.imp"
if (((V->XNO) != (0))) goto L_024d;
#line 3176 "regression-compile-tmp/vax-pass2.imp"
if (((V->BASE) == (0))) goto L_024d;
#line 3176 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (1))) == (0))) goto L_024c;
#line 3176 "regression-compile-tmp/vax-pass2.imp"
L_024d:;
                                                                //   3177                                     v_flags&indexed # 0) %start
                                                                //   3178              len = v_length;  type = v_type
#line 3178 "regression-compile-tmp/vax-pass2.imp"
LEN = V->LENGTH;
#line 3178 "regression-compile-tmp/vax-pass2.imp"
TYPE = V->TYPE;
                                                                //   3179              v_form = v in s;  v_length = 4; v_type = integers
#line 3179 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 2;
#line 3179 "regression-compile-tmp/vax-pass2.imp"
V->LENGTH = 4;
#line 3179 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = 16;
                                                                //   3180              load (v, any)
#line 3180 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, 17);
                                                                //   3181              v_form = v in s
#line 3181 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 2;
                                                                //   3182              v_length = len;  v_type = type
#line 3182 "regression-compile-tmp/vax-pass2.imp"
V->LENGTH = LEN;
#line 3182 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = TYPE;
                                                                //   3183           %finish
#line 3183 "regression-compile-tmp/vax-pass2.imp"
L_024c:;
                                                                //   3184           load (v, any) %if v_form = av in s
#line 3184 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (3))) goto L_024e;
#line 3184 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, 17);
#line 3184 "regression-compile-tmp/vax-pass2.imp"
L_024e:;
                                                                //   3185           %if (v_xno # 0 %or v_base = 0) %and v_flags&xdefer # 0 %start
#line 3185 "regression-compile-tmp/vax-pass2.imp"
if (((V->XNO) != (0))) goto L_024f;
#line 3185 "regression-compile-tmp/vax-pass2.imp"
if (((V->BASE) != (0))) goto L_0250;
#line 3185 "regression-compile-tmp/vax-pass2.imp"
L_024f:;
#line 3185 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (2))) == (0))) goto L_0250;
                                                                //   3186              xvar_type = integers;  xvar_form = v in s
#line 3186 "regression-compile-tmp/vax-pass2.imp"
XVAR.TYPE = 16;
#line 3186 "regression-compile-tmp/vax-pass2.imp"
XVAR.FORM = 2;
                                                                //   3187              xvar_xno = v_xno;  xvar_base = pc;   xvar_disp = v_disp
#line 3187 "regression-compile-tmp/vax-pass2.imp"
XVAR.XNO = V->XNO;
#line 3187 "regression-compile-tmp/vax-pass2.imp"
XVAR.BASE = 16;
#line 3187 "regression-compile-tmp/vax-pass2.imp"
XVAR.DISP = V->DISP;
                                                                //   3188              load (xvar, any)
#line 3188 "regression-compile-tmp/vax-pass2.imp"
LOAD(&XVAR, 17);
                                                                //   3189              v_base = xvar_base;  v_xno = 0;  v_disp = 0;
#line 3189 "regression-compile-tmp/vax-pass2.imp"
V->BASE = XVAR.BASE;
#line 3189 "regression-compile-tmp/vax-pass2.imp"
V->XNO = 0;
#line 3189 "regression-compile-tmp/vax-pass2.imp"
V->DISP = 0;
                                                                //   3190              v_flags = v_flags&(\xdefer)
#line 3190 "regression-compile-tmp/vax-pass2.imp"
V->FLAGS = ((V->FLAGS) & ((~(2))));
                                                                //   3191           %finish
#line 3191 "regression-compile-tmp/vax-pass2.imp"
L_0250:;
                                                                //   3192           %if v_flags&indexed # 0 %start
#line 3192 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (1))) == (0))) goto L_0251;
                                                                //   3193              %if v_form = v in s %start
#line 3193 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (2))) goto L_0252;
                                                                //   3194                 %if v_iscale # v_length %start
#line 3194 "regression-compile-tmp/vax-pass2.imp"
if (((V->ISCALE) == (V->LENGTH))) goto L_0253;
                                                                //   3195                    len = v_length;  v_length = v_iscale
#line 3195 "regression-compile-tmp/vax-pass2.imp"
LEN = V->LENGTH;
#line 3195 "regression-compile-tmp/vax-pass2.imp"
V->LENGTH = V->ISCALE;
                                                                //   3196                    type = v_type;   v_type = integers
#line 3196 "regression-compile-tmp/vax-pass2.imp"
TYPE = V->TYPE;
#line 3196 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = 16;
                                                                //   3197                    v_form = av in s;  load (v, any)
#line 3197 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 3;
#line 3197 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, 17);
                                                                //   3198                    v_length = len;  v_type = type
#line 3198 "regression-compile-tmp/vax-pass2.imp"
V->LENGTH = LEN;
#line 3198 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = TYPE;
                                                                //   3199                    v_form = v in s
#line 3199 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 2;
                                                                //   3200                 %finish
#line 3200 "regression-compile-tmp/vax-pass2.imp"
L_0253:;
                                                                //   3201              %else
#line 3201 "regression-compile-tmp/vax-pass2.imp"
goto L_0254;
#line 3201 "regression-compile-tmp/vax-pass2.imp"
L_0252:;
                                                                //   3202                 abort (46)
#line 3202 "regression-compile-tmp/vax-pass2.imp"
ABORT(46);
                                                                //   3203              %finish
#line 3203 "regression-compile-tmp/vax-pass2.imp"
L_0254:;
                                                                //   3204           %finish
#line 3204 "regression-compile-tmp/vax-pass2.imp"
L_0251:;
                                                                //   3205           monitor (v, "Address out") %if diag&32 # 0
#line 3205 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (32))) == (0))) goto L_0255;
#line 3205 "regression-compile-tmp/vax-pass2.imp"
MONITOR(V, _imp_str_literal("Address out"));
#line 3205 "regression-compile-tmp/vax-pass2.imp"
L_0255:;
                                                                //   3206        %end
#line 3206 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ADDRESS at level 3
                                                                //   3207  
                                                                //   3208        %routine  MOVE ARRAYNAME (%record(stackfm) %name v, to)
#line 3208 "regression-compile-tmp/vax-pass2.imp"
void MOVEARRAYNAME(  STACKFM /*name*/*V,  STACKFM /*name*/*TO )
#line 3208 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3209           %record(stackfm)   w = 0
#line 3209 "regression-compile-tmp/vax-pass2.imp"
 STACKFM W;
#line 3209 "regression-compile-tmp/vax-pass2.imp"
W = (STACKFM){ 0 } /* Assign 0's to all fields of record */;
                                                                //   3210           %if v_header < 0 %start;        !header complete
#line 3210 "regression-compile-tmp/vax-pass2.imp"
if (((V->HEADER) >= (0))) goto L_0256;
                                                                //   3211              w_base = v_base;   w_disp = v_disp
#line 3211 "regression-compile-tmp/vax-pass2.imp"
W.BASE = V->BASE;
#line 3211 "regression-compile-tmp/vax-pass2.imp"
W.DISP = V->DISP;
                                                                //   3212              w_extra = v_extra; w_type = v_type
#line 3212 "regression-compile-tmp/vax-pass2.imp"
W.EXTRA = V->EXTRA;
#line 3212 "regression-compile-tmp/vax-pass2.imp"
W.TYPE = V->TYPE;
                                                                //   3213              w_xno = v_xno;     w_form = v in s
#line 3213 "regression-compile-tmp/vax-pass2.imp"
W.XNO = V->XNO;
#line 3213 "regression-compile-tmp/vax-pass2.imp"
W.FORM = 2;
                                                                //   3214              %if v_form&15 >= v in rec %start
#line 3214 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FORM) & (15))) < (5))) goto L_0257;
                                                                //   3215                 w_form = a in s
#line 3215 "regression-compile-tmp/vax-pass2.imp"
W.FORM = 4;
                                                                //   3216                 w_disp = v_extra
#line 3216 "regression-compile-tmp/vax-pass2.imp"
W.DISP = V->EXTRA;
                                                                //   3217              %finish
#line 3217 "regression-compile-tmp/vax-pass2.imp"
L_0257:;
                                                                //   3218              plant2 (movq, w, to)
#line 3218 "regression-compile-tmp/vax-pass2.imp"
PLANT2(13, &W, TO);
                                                                //   3219              drop (v)
#line 3219 "regression-compile-tmp/vax-pass2.imp"
DROP(V);
                                                                //   3220              %return
#line 3220 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3221           %finish
#line 3221 "regression-compile-tmp/vax-pass2.imp"
L_0256:;
                                                                //   3222           w_base = gla
#line 3222 "regression-compile-tmp/vax-pass2.imp"
W.BASE = 12;
                                                                //   3223           w_disp = v_header
#line 3223 "regression-compile-tmp/vax-pass2.imp"
W.DISP = V->HEADER;
                                                                //   3224           w_type = integers
#line 3224 "regression-compile-tmp/vax-pass2.imp"
W.TYPE = 16;
                                                                //   3225           w_form = v in s
#line 3225 "regression-compile-tmp/vax-pass2.imp"
W.FORM = 2;
                                                                //   3226           w_oper = 0
#line 3226 "regression-compile-tmp/vax-pass2.imp"
W.OPER = 0;
                                                                //   3227  !?PSR?!        v_form = v in s;    !**************
                                                                //   3228           %if to ## spv %start
#line 3228 "regression-compile-tmp/vax-pass2.imp"
if (((TO) == (&SPV))) goto L_0258;
                                                                //   3229  !?PSR?!            load (v,r3) %if v_base=r0 %or v_base=r1; !*************
                                                                //   3230              hazard (r0);  hazard (r1)
#line 3230 "regression-compile-tmp/vax-pass2.imp"
HAZARD(1);
#line 3230 "regression-compile-tmp/vax-pass2.imp"
HAZARD(2);
                                                                //   3231              claim (r0);  claim (r1)
#line 3231 "regression-compile-tmp/vax-pass2.imp"
CLAIM(1);
#line 3231 "regression-compile-tmp/vax-pass2.imp"
CLAIM(2);
                                                                //   3232              plant2 (movq, w, regv(r0))
#line 3232 "regression-compile-tmp/vax-pass2.imp"
PLANT2(13, &W, &(REGV-1)[1]);
                                                                //   3233           %else
#line 3233 "regression-compile-tmp/vax-pass2.imp"
goto L_0259;
#line 3233 "regression-compile-tmp/vax-pass2.imp"
L_0258:;
                                                                //   3234              plant2 (movq, w, to)
#line 3234 "regression-compile-tmp/vax-pass2.imp"
PLANT2(13, &W, TO);
                                                                //   3235           %finish
#line 3235 "regression-compile-tmp/vax-pass2.imp"
L_0259:;
                                                                //   3236           amap (v);            !*****************
#line 3236 "regression-compile-tmp/vax-pass2.imp"
AMAP(V);
                                                                //   3237           address (v);      !****************
#line 3237 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(V);
                                                                //   3238           %if to ## spv %start
#line 3238 "regression-compile-tmp/vax-pass2.imp"
if (((TO) == (&SPV))) goto L_025a;
                                                                //   3239              plant2 (addl, v, regv(r0))
#line 3239 "regression-compile-tmp/vax-pass2.imp"
PLANT2(18288, V, &(REGV-1)[1]);
                                                                //   3240              %if to ## regv(r0) %start
#line 3240 "regression-compile-tmp/vax-pass2.imp"
if (((TO) == (&(REGV-1)[1]))) goto L_025b;
                                                                //   3241                 plant2 (movq, regv(r0), to)
#line 3241 "regression-compile-tmp/vax-pass2.imp"
PLANT2(13, &(REGV-1)[1], TO);
                                                                //   3242                 release (r0);  release (r1)
#line 3242 "regression-compile-tmp/vax-pass2.imp"
RELEASE(1);
#line 3242 "regression-compile-tmp/vax-pass2.imp"
RELEASE(2);
                                                                //   3243              %finish
#line 3243 "regression-compile-tmp/vax-pass2.imp"
L_025b:;
                                                                //   3244           %else
#line 3244 "regression-compile-tmp/vax-pass2.imp"
goto L_025c;
#line 3244 "regression-compile-tmp/vax-pass2.imp"
L_025a:;
                                                                //   3245              w_base = sp;  w_disp = 0
#line 3245 "regression-compile-tmp/vax-pass2.imp"
W.BASE = 15;
#line 3245 "regression-compile-tmp/vax-pass2.imp"
W.DISP = 0;
                                                                //   3246              plant2 (addl, v, w)
#line 3246 "regression-compile-tmp/vax-pass2.imp"
PLANT2(18288, V, &W);
                                                                //   3247           %finish
#line 3247 "regression-compile-tmp/vax-pass2.imp"
L_025c:;
                                                                //   3248           release (v_base) %if v_form = v in r;!********************
#line 3248 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (1))) goto L_025d;
#line 3248 "regression-compile-tmp/vax-pass2.imp"
RELEASE(V->BASE);
#line 3248 "regression-compile-tmp/vax-pass2.imp"
L_025d:;
                                                                //   3249           drop (v)
#line 3249 "regression-compile-tmp/vax-pass2.imp"
DROP(V);
                                                                //   3250        %end
#line 3250 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block MOVEARRAYNAME at level 3
                                                                //   3251  
                                                                //   3252        %routine  STRING OP (%integer op, %record(stackfm) %name from, to)
#line 3252 "regression-compile-tmp/vax-pass2.imp"
void STRINGOP( int OP,  STACKFM /*name*/*FROM,  STACKFM /*name*/*TO )
#line 3252 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3253           %integer  old control = control, tl = to_length
#line 3253 "regression-compile-tmp/vax-pass2.imp"
int OLDCONTROL;
#line 3253 "regression-compile-tmp/vax-pass2.imp"
OLDCONTROL = CONTROL;
#line 3253 "regression-compile-tmp/vax-pass2.imp"
int TL;
#line 3253 "regression-compile-tmp/vax-pass2.imp"
TL = TO->LENGTH;
                                                                //   3254           %record(stackfm) %name reg, len
#line 3254 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*REG;
#line 3254 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*LEN;
                                                                //   3255           %if from_flags&indexed # 0 %start
#line 3255 "regression-compile-tmp/vax-pass2.imp"
if (((((FROM->FLAGS) & (1))) == (0))) goto L_025e;
                                                                //   3256              amap (from);  load (from, any)
#line 3256 "regression-compile-tmp/vax-pass2.imp"
AMAP(FROM);
#line 3256 "regression-compile-tmp/vax-pass2.imp"
LOAD(FROM, 17);
                                                                //   3257              from_form = v in s;  from_type = strings
#line 3257 "regression-compile-tmp/vax-pass2.imp"
FROM->FORM = 2;
#line 3257 "regression-compile-tmp/vax-pass2.imp"
FROM->TYPE = 64;
                                                                //   3258           %finish
#line 3258 "regression-compile-tmp/vax-pass2.imp"
L_025e:;
                                                                //   3259           to_length = 1;                         ! byte context for MOVC3
#line 3259 "regression-compile-tmp/vax-pass2.imp"
TO->LENGTH = 1;
                                                                //   3260           address (from);  address (to)
#line 3260 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(FROM);
#line 3260 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(TO);
                                                                //   3261           reg == regv(register(0))
#line 3261 "regression-compile-tmp/vax-pass2.imp"
REG = &(REGV-1)[REGISTER(0)];
                                                                //   3262           plant2 (movzbl, from, reg)
#line 3262 "regression-compile-tmp/vax-pass2.imp"
PLANT2(72, FROM, REG);
                                                                //   3263           claim (from_base)
#line 3263 "regression-compile-tmp/vax-pass2.imp"
CLAIM(FROM->BASE);
                                                                //   3264           claim (reg_base)
#line 3264 "regression-compile-tmp/vax-pass2.imp"
CLAIM(REG->BASE);
                                                                //   3265           %if op&len check # 0 %start
#line 3265 "regression-compile-tmp/vax-pass2.imp"
if (((((OP) & (131072))) == (0))) goto L_025f;
                                                                //   3266              test assigned (from)
#line 3266 "regression-compile-tmp/vax-pass2.imp"
TESTASSIGNED(FROM);
                                                                //   3267              control = control&(\ass check);     ! So won't be done twice
#line 3267 "regression-compile-tmp/vax-pass2.imp"
CONTROL = ((CONTROL) & ((~(1))));
                                                                //   3268              op = op - len check
#line 3268 "regression-compile-tmp/vax-pass2.imp"
OP = (((int)(OP)) - (131072));
                                                                //   3269              len == literal(tl-1)
#line 3269 "regression-compile-tmp/vax-pass2.imp"
LEN = LITERAL((((int)(TL)) - (1)));
                                                                //   3270              len_type = byte+integers
#line 3270 "regression-compile-tmp/vax-pass2.imp"
LEN->TYPE = 18;
                                                                //   3271              plant2 (cmpl+byte, len, reg)
#line 3271 "regression-compile-tmp/vax-pass2.imp"
PLANT2(242, LEN, REG);
                                                                //   3272              pop drop
#line 3272 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
                                                                //   3273              prim (test string ovf)
#line 3273 "regression-compile-tmp/vax-pass2.imp"
PRIM(25);
                                                                //   3274           %finish
#line 3274 "regression-compile-tmp/vax-pass2.imp"
L_025f:;
                                                                //   3275           plant1 (incl, reg)
#line 3275 "regression-compile-tmp/vax-pass2.imp"
PLANT1(96, REG);
                                                                //   3276           string3 (op, reg, from, to)
#line 3276 "regression-compile-tmp/vax-pass2.imp"
STRING3(OP, REG, FROM, TO);
                                                                //   3277           release (reg_base)
#line 3277 "regression-compile-tmp/vax-pass2.imp"
RELEASE(REG->BASE);
                                                                //   3278           control = old control
#line 3278 "regression-compile-tmp/vax-pass2.imp"
CONTROL = OLDCONTROL;
                                                                //   3279        %end
#line 3279 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block STRINGOP at level 3
                                                                //   3280  
                                                                //   3281        %routine  ASSIGN STRING (%record(stackfm) %name from, to)
#line 3281 "regression-compile-tmp/vax-pass2.imp"
void ASSIGNSTRING(  STACKFM /*name*/*FROM,  STACKFM /*name*/*TO )
#line 3281 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3282           %record(stackfm) %name len
#line 3282 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*LEN;
                                                                //   3283           %integer  op
#line 3283 "regression-compile-tmp/vax-pass2.imp"
int OP;
                                                                //   3284           %if from_format # 0 %start;          !string constant
#line 3284 "regression-compile-tmp/vax-pass2.imp"
if (((FROM->FORMAT) == (0))) goto L_0260;
                                                                //   3285              address (to)
#line 3285 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(TO);
                                                                //   3286              %if from_format = 0+1 %start;     !null string
#line 3286 "regression-compile-tmp/vax-pass2.imp"
if (((FROM->FORMAT) != (1))) goto L_0261;
                                                                //   3287                 plant1 (clrl+byte, to);        !*clrb_to
#line 3287 "regression-compile-tmp/vax-pass2.imp"
PLANT1(50, TO);
                                                                //   3288                 %return
#line 3288 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3289              %finish
#line 3289 "regression-compile-tmp/vax-pass2.imp"
L_0261:;
                                                                //   3290              len == literal(from_format);  stp = stp-1;  drop (len)
#line 3290 "regression-compile-tmp/vax-pass2.imp"
LEN = LITERAL(FROM->FORMAT);
#line 3290 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
#line 3290 "regression-compile-tmp/vax-pass2.imp"
DROP(LEN);
                                                                //   3291              %if 0 # to_length < len_disp %start
#line 3291 "regression-compile-tmp/vax-pass2.imp"
if ((((0) == (TO->LENGTH))) || (((TO->LENGTH) >= (LEN->DISP)))) goto L_0262;
                                                                //   3292                 error ('*', "string constant will overflow destination")
#line 3292 "regression-compile-tmp/vax-pass2.imp"
ERROR(42, _imp_str_literal("string constant will overflow destination"));
                                                                //   3293              %finish
#line 3293 "regression-compile-tmp/vax-pass2.imp"
L_0262:;
                                                                //   3294              string3 (movc3, len ,from, to)
#line 3294 "regression-compile-tmp/vax-pass2.imp"
STRING3(30, LEN, FROM, TO);
                                                                //   3295           %else
#line 3295 "regression-compile-tmp/vax-pass2.imp"
goto L_0263;
#line 3295 "regression-compile-tmp/vax-pass2.imp"
L_0260:;
                                                                //   3296              op = movc3
#line 3296 "regression-compile-tmp/vax-pass2.imp"
OP = 30;
                                                                //   3297              %if control&str check # 0 %start
#line 3297 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (2))) == (0))) goto L_0264;
                                                                //   3298                 %if to_type&4 = 0  {dest not work string} %and
#line 3298 "regression-compile-tmp/vax-pass2.imp"
if (((((TO->TYPE) & (4))) != (0))) goto L_0265;
#line 3298 "regression-compile-tmp/vax-pass2.imp"
if ((((0) >= (TO->LENGTH))) || (((TO->LENGTH) >= (256)))) goto L_0265;
                                                                //   3299                     0 < to_length < 256 {ovf possible} %start
                                                                //   3300                    op = op ! len check
#line 3300 "regression-compile-tmp/vax-pass2.imp"
OP = ((OP) | (131072));
                                                                //   3301                 %finish
#line 3301 "regression-compile-tmp/vax-pass2.imp"
L_0265:;
                                                                //   3302              %finish
#line 3302 "regression-compile-tmp/vax-pass2.imp"
L_0264:;
                                                                //   3303              string op (op, from, to)
#line 3303 "regression-compile-tmp/vax-pass2.imp"
STRINGOP(OP, FROM, TO);
                                                                //   3304           %finish
#line 3304 "regression-compile-tmp/vax-pass2.imp"
L_0263:;
                                                                //   3305        %end
#line 3305 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ASSIGNSTRING at level 3
                                                                //   3306  
                                                                //   3307        %routine  CONC (%record(stackfm) %name to, with)
#line 3307 "regression-compile-tmp/vax-pass2.imp"
void CONC(  STACKFM /*name*/*TO,  STACKFM /*name*/*WITH )
#line 3307 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3308           %record(stackfm) %name t
#line 3308 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*T;
                                                                //   3309           %record(stackfm) temp, rest, len
#line 3309 "regression-compile-tmp/vax-pass2.imp"
 STACKFM TEMP;
#line 3309 "regression-compile-tmp/vax-pass2.imp"
 STACKFM REST;
#line 3309 "regression-compile-tmp/vax-pass2.imp"
 STACKFM LEN;
                                                                //   3310           %integer  to len, wlen, total = 0, op
#line 3310 "regression-compile-tmp/vax-pass2.imp"
int TOLEN;
#line 3310 "regression-compile-tmp/vax-pass2.imp"
int WLEN;
#line 3310 "regression-compile-tmp/vax-pass2.imp"
int TOTAL;
#line 3310 "regression-compile-tmp/vax-pass2.imp"
TOTAL = 0;
#line 3310 "regression-compile-tmp/vax-pass2.imp"
int OP;
                                                                //   3311           to len = to_format-1;  wlen  = with_format-1
#line 3311 "regression-compile-tmp/vax-pass2.imp"
TOLEN = (((int)(TO->FORMAT)) - (1));
#line 3311 "regression-compile-tmp/vax-pass2.imp"
WLEN = (((int)(WITH->FORMAT)) - (1));
                                                                //   3312           %if wlen > 0 %and to len > 0 %start
#line 3312 "regression-compile-tmp/vax-pass2.imp"
if (((WLEN) <= (0))) goto L_0266;
#line 3312 "regression-compile-tmp/vax-pass2.imp"
if (((TOLEN) <= (0))) goto L_0266;
                                                                //   3313              ! Initial concat of const/literal strings
                                                                //   3314              total = wlen + tolen
#line 3314 "regression-compile-tmp/vax-pass2.imp"
TOTAL = (((int)(WLEN)) + (TOLEN));
                                                                //   3315           %finish
#line 3315 "regression-compile-tmp/vax-pass2.imp"
L_0266:;
                                                                //   3316           %if to_type&4 = 0 %start;           ! first one
#line 3316 "regression-compile-tmp/vax-pass2.imp"
if (((((TO->TYPE) & (4))) != (0))) goto L_0267;
                                                                //   3317              t == work string;  stp = stp - 1
#line 3317 "regression-compile-tmp/vax-pass2.imp"
T = WORKSTRING();
#line 3317 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   3318              temp = t
#line 3318 "regression-compile-tmp/vax-pass2.imp"
TEMP = *T;
                                                                //   3319              t_type = strings!4;              ! mark as w/string to skip
#line 3319 "regression-compile-tmp/vax-pass2.imp"
T->TYPE = ((64) | (4));
                                                                //   3320              assign string (to, t);           ! length check
#line 3320 "regression-compile-tmp/vax-pass2.imp"
ASSIGNSTRING(TO, T);
                                                                //   3321              drop (t)
#line 3321 "regression-compile-tmp/vax-pass2.imp"
DROP(T);
                                                                //   3322           %else
#line 3322 "regression-compile-tmp/vax-pass2.imp"
goto L_0268;
#line 3322 "regression-compile-tmp/vax-pass2.imp"
L_0267:;
                                                                //   3323              temp = to
#line 3323 "regression-compile-tmp/vax-pass2.imp"
TEMP = *TO;
                                                                //   3324           %finish
#line 3324 "regression-compile-tmp/vax-pass2.imp"
L_0268:;
                                                                //   3325           %if wlen = 0 %start;                ! x."" ???
#line 3325 "regression-compile-tmp/vax-pass2.imp"
if (((WLEN) != (0))) goto L_0269;
                                                                //   3326              drop (with)
#line 3326 "regression-compile-tmp/vax-pass2.imp"
DROP(WITH);
                                                                //   3327              %return
#line 3327 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3328           %finish
#line 3328 "regression-compile-tmp/vax-pass2.imp"
L_0269:;
                                                                //   3329           op = 0;                             ! 'concat' in STRING OP
#line 3329 "regression-compile-tmp/vax-pass2.imp"
OP = 0;
                                                                //   3330           rest = 0
#line 3330 "regression-compile-tmp/vax-pass2.imp"
REST = (STACKFM){ 0 } /* Assign 0's to all fields of record */;
                                                                //   3331           rest_base = r3
#line 3331 "regression-compile-tmp/vax-pass2.imp"
REST.BASE = 4;
                                                                //   3332           rest_form = v in s;                 ! r3 points to free byte in temp
#line 3332 "regression-compile-tmp/vax-pass2.imp"
REST.FORM = 2;
                                                                //   3333           claim (r3)
#line 3333 "regression-compile-tmp/vax-pass2.imp"
CLAIM(4);
                                                                //   3334           %if last movc3 # ca %start;         ! r3 undefined
#line 3334 "regression-compile-tmp/vax-pass2.imp"
if (((LASTMOVC3) == (CA))) goto L_026a;
                                                                //   3335              %if temp_type&4 = 0 %and to len >= 0 %start
#line 3335 "regression-compile-tmp/vax-pass2.imp"
if (((((TEMP.TYPE) & (4))) != (0))) goto L_026b;
#line 3335 "regression-compile-tmp/vax-pass2.imp"
if (((TOLEN) < (0))) goto L_026b;
                                                                //   3336                 ! Can work out start of area for new string
                                                                //   3337                 rest = temp
#line 3337 "regression-compile-tmp/vax-pass2.imp"
REST = TEMP;
                                                                //   3338                 rest_disp = rest_disp + (to len + 1)
#line 3338 "regression-compile-tmp/vax-pass2.imp"
REST.DISP = ((REST.DISP) + ((int)((((int)(TOLEN)) + (1)))));
                                                                //   3339                 release (r3);                  ! unused..
#line 3339 "regression-compile-tmp/vax-pass2.imp"
RELEASE(4);
                                                                //   3340              %else
#line 3340 "regression-compile-tmp/vax-pass2.imp"
goto L_026c;
#line 3340 "regression-compile-tmp/vax-pass2.imp"
L_026b:;
                                                                //   3341                 plant2 (movzbl, temp, regv(r3))
#line 3341 "regression-compile-tmp/vax-pass2.imp"
PLANT2(72, &TEMP, &(REGV-1)[4]);
                                                                //   3342                 temp_index = r3;  claim (r3!128)
#line 3342 "regression-compile-tmp/vax-pass2.imp"
TEMP.INDEX = 4;
#line 3342 "regression-compile-tmp/vax-pass2.imp"
CLAIM(((4) | (128)));
                                                                //   3343                 temp_flags = indexed
#line 3343 "regression-compile-tmp/vax-pass2.imp"
TEMP.FLAGS = 1;
                                                                //   3344                 temp_disp = temp_disp+1
#line 3344 "regression-compile-tmp/vax-pass2.imp"
TEMP.DISP = (((int)(TEMP.DISP)) + (1));
                                                                //   3345                 plant2 (movab, temp, regv(r3))
#line 3345 "regression-compile-tmp/vax-pass2.imp"
PLANT2(4114, &TEMP, &(REGV-1)[4]);
                                                                //   3346                 temp_disp = temp_disp-1
#line 3346 "regression-compile-tmp/vax-pass2.imp"
TEMP.DISP = (((int)(TEMP.DISP)) - (1));
                                                                //   3347                 temp_flags = 0
#line 3347 "regression-compile-tmp/vax-pass2.imp"
TEMP.FLAGS = 0;
                                                                //   3348              %finish
#line 3348 "regression-compile-tmp/vax-pass2.imp"
L_026c:;
                                                                //   3349           %finish
#line 3349 "regression-compile-tmp/vax-pass2.imp"
L_026a:;
                                                                //   3350           len = 0
#line 3350 "regression-compile-tmp/vax-pass2.imp"
LEN = (STACKFM){ 0 } /* Assign 0's to all fields of record */;
                                                                //   3351           len_type = integers;  len_length = 4
#line 3351 "regression-compile-tmp/vax-pass2.imp"
LEN.TYPE = 16;
#line 3351 "regression-compile-tmp/vax-pass2.imp"
LEN.LENGTH = 4;
                                                                //   3352           %if wlen > 0 %start;         ! constant
#line 3352 "regression-compile-tmp/vax-pass2.imp"
if (((WLEN) <= (0))) goto L_026d;
                                                                //   3353              len_form = constant
#line 3353 "regression-compile-tmp/vax-pass2.imp"
LEN.FORM = 0;
                                                                //   3354              len_disp = wlen
#line 3354 "regression-compile-tmp/vax-pass2.imp"
LEN.DISP = WLEN;
                                                                //   3355           %else
#line 3355 "regression-compile-tmp/vax-pass2.imp"
goto L_026e;
#line 3355 "regression-compile-tmp/vax-pass2.imp"
L_026d:;
                                                                //   3356              %if with_flags&indexed # 0 %start
#line 3356 "regression-compile-tmp/vax-pass2.imp"
if (((((WITH->FLAGS) & (1))) == (0))) goto L_026f;
                                                                //   3357                 amap (with);  load (with, any)
#line 3357 "regression-compile-tmp/vax-pass2.imp"
AMAP(WITH);
#line 3357 "regression-compile-tmp/vax-pass2.imp"
LOAD(WITH, 17);
                                                                //   3358                 with_form = v in s
#line 3358 "regression-compile-tmp/vax-pass2.imp"
WITH->FORM = 2;
                                                                //   3359              %finish
#line 3359 "regression-compile-tmp/vax-pass2.imp"
L_026f:;
                                                                //   3360              %if with_form # v in s %start
#line 3360 "regression-compile-tmp/vax-pass2.imp"
if (((WITH->FORM) == (2))) goto L_0270;
                                                                //   3361                 load (with, any)
#line 3361 "regression-compile-tmp/vax-pass2.imp"
LOAD(WITH, 17);
                                                                //   3362                 with_form = v in s
#line 3362 "regression-compile-tmp/vax-pass2.imp"
WITH->FORM = 2;
                                                                //   3363                 with_type = strings
#line 3363 "regression-compile-tmp/vax-pass2.imp"
WITH->TYPE = 64;
                                                                //   3364              %finish
#line 3364 "regression-compile-tmp/vax-pass2.imp"
L_0270:;
                                                                //   3365              %if activity(with_base) = 1 %start
#line 3365 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[WITH->BASE]) != (1))) goto L_0271;
                                                                //   3366                 ! use auto inc to skip length byte
                                                                //   3367                 with_flags = auto i
#line 3367 "regression-compile-tmp/vax-pass2.imp"
WITH->FLAGS = 4;
                                                                //   3368                 op = movc3
#line 3368 "regression-compile-tmp/vax-pass2.imp"
OP = 30;
                                                                //   3369              %finish
#line 3369 "regression-compile-tmp/vax-pass2.imp"
L_0271:;
                                                                //   3370              claim (with_base)
#line 3370 "regression-compile-tmp/vax-pass2.imp"
CLAIM(WITH->BASE);
                                                                //   3371              len_form = v in r
#line 3371 "regression-compile-tmp/vax-pass2.imp"
LEN.FORM = 1;
                                                                //   3372              len_base = register (0)
#line 3372 "regression-compile-tmp/vax-pass2.imp"
LEN.BASE = REGISTER(0);
                                                                //   3373              plant2 (movzbl, with, len)
#line 3373 "regression-compile-tmp/vax-pass2.imp"
PLANT2(72, WITH, &LEN);
                                                                //   3374              with_flags = 0
#line 3374 "regression-compile-tmp/vax-pass2.imp"
WITH->FLAGS = 0;
                                                                //   3375              claim (len_base)
#line 3375 "regression-compile-tmp/vax-pass2.imp"
CLAIM(LEN.BASE);
                                                                //   3376           %finish
#line 3376 "regression-compile-tmp/vax-pass2.imp"
L_026e:;
                                                                //   3377           %if total > 0 %start;        ! Const total length
#line 3377 "regression-compile-tmp/vax-pass2.imp"
if (((TOTAL) <= (0))) goto L_0272;
                                                                //   3378              %if total > 255 %start
#line 3378 "regression-compile-tmp/vax-pass2.imp"
if (((TOTAL) <= (255))) goto L_0273;
                                                                //   3379                 error ('*', "string concatenation results in overflow")
#line 3379 "regression-compile-tmp/vax-pass2.imp"
ERROR(42, _imp_str_literal("string concatenation results in overflow"));
                                                                //   3380                 total = 255
#line 3380 "regression-compile-tmp/vax-pass2.imp"
TOTAL = 255;
                                                                //   3381              %finish
#line 3381 "regression-compile-tmp/vax-pass2.imp"
L_0273:;
                                                                //   3382              plant2 (movb, literal(total), temp)
#line 3382 "regression-compile-tmp/vax-pass2.imp"
PLANT2(8970, LITERAL(TOTAL), &TEMP);
                                                                //   3383              pop drop
#line 3383 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
                                                                //   3384           %else
#line 3384 "regression-compile-tmp/vax-pass2.imp"
goto L_0274;
#line 3384 "regression-compile-tmp/vax-pass2.imp"
L_0272:;
                                                                //   3385              iovf off
#line 3385 "regression-compile-tmp/vax-pass2.imp"
IOVFOFF();
                                                                //   3386              len_type = byte+integers
#line 3386 "regression-compile-tmp/vax-pass2.imp"
LEN.TYPE = 18;
                                                                //   3387              plant2 (addb2, len, temp)
#line 3387 "regression-compile-tmp/vax-pass2.imp"
PLANT2(18290, &LEN, &TEMP);
                                                                //   3388              prim (test string ovf) %if control&str check # 0
#line 3388 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (2))) == (0))) goto L_0275;
#line 3388 "regression-compile-tmp/vax-pass2.imp"
PRIM(25);
#line 3388 "regression-compile-tmp/vax-pass2.imp"
L_0275:;
                                                                //   3389              iovf on
#line 3389 "regression-compile-tmp/vax-pass2.imp"
IOVFON();
                                                                //   3390           %finish
#line 3390 "regression-compile-tmp/vax-pass2.imp"
L_0274:;
                                                                //   3391           string3 (op!no ass chk, len, with, rest)
#line 3391 "regression-compile-tmp/vax-pass2.imp"
STRING3(((OP) | (262144)), &LEN, WITH, &REST);
                                                                //   3392           release (len_base)
#line 3392 "regression-compile-tmp/vax-pass2.imp"
RELEASE(LEN.BASE);
                                                                //   3393           drop (with)
#line 3393 "regression-compile-tmp/vax-pass2.imp"
DROP(WITH);
                                                                //   3394           to = temp
#line 3394 "regression-compile-tmp/vax-pass2.imp"
*TO = TEMP;
                                                                //   3395           to_type = strings!in work
#line 3395 "regression-compile-tmp/vax-pass2.imp"
TO->TYPE = ((64) | (4));
                                                                //   3396        %end
#line 3396 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CONC at level 3
                                                                //   3397  
                                                                //   3398        %routine  FLOAT (%record(stackfm) %name  v)
#line 3398 "regression-compile-tmp/vax-pass2.imp"
void FLOAT(  STACKFM /*name*/*V )
#line 3398 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3399           %integer  r
#line 3399 "regression-compile-tmp/vax-pass2.imp"
int R;
                                                                //   3400           monitor (v, "Float in") %if diag&2 # 0
#line 3400 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (2))) == (0))) goto L_0276;
#line 3400 "regression-compile-tmp/vax-pass2.imp"
MONITOR(V, _imp_str_literal("Float in"));
#line 3400 "regression-compile-tmp/vax-pass2.imp"
L_0276:;
                                                                //   3401           address (v)
#line 3401 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(V);
                                                                //   3402           %if v_form = constant %and v_oper = 0 %start
#line 3402 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (0))) goto L_0277;
#line 3402 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) != (0))) goto L_0277;
                                                                //   3403              v_type = reall
#line 3403 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = 36;
                                                                //   3404              v_lrval = v_disp;      !float it here
#line 3404 "regression-compile-tmp/vax-pass2.imp"
V->LRVAL = V->DISP;
                                                                //   3405              %return
#line 3405 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3406           %finish
#line 3406 "regression-compile-tmp/vax-pass2.imp"
L_0277:;
                                                                //   3407           load (v, any) %if v_type = byte+integers %or v_oper # 0
#line 3407 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) == (18))) goto L_0278;
#line 3407 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) == (0))) goto L_0279;
#line 3407 "regression-compile-tmp/vax-pass2.imp"
L_0278:;
#line 3407 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, 17);
#line 3407 "regression-compile-tmp/vax-pass2.imp"
L_0279:;
                                                                //   3408           r = fpr
#line 3408 "regression-compile-tmp/vax-pass2.imp"
R = FPR();
                                                                //   3409           plant2 (cvtld+(v_type&7)*8, v, regv(r))
#line 3409 "regression-compile-tmp/vax-pass2.imp"
PLANT2(((60) + ((int)((((int)(((V->TYPE) & (7)))) * (8))))), V, &(REGV-1)[R]);
                                                                //   3410           claim (r);  clear (v)
#line 3410 "regression-compile-tmp/vax-pass2.imp"
CLAIM(R);
#line 3410 "regression-compile-tmp/vax-pass2.imp"
CLEAR(V);
                                                                //   3411           v_base = r;  v_disp = 0; v_xno = 0
#line 3411 "regression-compile-tmp/vax-pass2.imp"
V->BASE = R;
#line 3411 "regression-compile-tmp/vax-pass2.imp"
V->DISP = 0;
#line 3411 "regression-compile-tmp/vax-pass2.imp"
V->XNO = 0;
                                                                //   3412           v_type = reall;  v_form = v in r
#line 3412 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = 36;
#line 3412 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 1;
                                                                //   3413           monitor (v, "Float out") %if diag&2 # 0
#line 3413 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (2))) == (0))) goto L_027a;
#line 3413 "regression-compile-tmp/vax-pass2.imp"
MONITOR(V, _imp_str_literal("Float out"));
#line 3413 "regression-compile-tmp/vax-pass2.imp"
L_027a:;
                                                                //   3414        %end
#line 3414 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FLOAT at level 3
                                                                //   3415  
                                                                //   3416        %routine  EQUATE (%record(stackfm) %name a, b, %integer either)
#line 3416 "regression-compile-tmp/vax-pass2.imp"
void EQUATE(  STACKFM /*name*/*A,  STACKFM /*name*/*B, int EITHER )
#line 3416 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3417           %record(stackfm) %name x, y
#line 3417 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*X;
#line 3417 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*Y;
                                                                //   3418           %integer  key
#line 3418 "regression-compile-tmp/vax-pass2.imp"
int KEY;
                                                                //   3419           %switch  op (0 : 4)
#line 3419 "regression-compile-tmp/vax-pass2.imp"
static int sw5_OP_idx;
static const void * /*SWITCH*/ sw5_OP[5] = { &&sw5_OP_0, &&sw5_OP_1, &&sw5_OP_2, &&sw5_OP_3, &&sw5_OP_4,  };
                                                                //   3420           %const %byte %array  map (0 : 24) =
#line 3420 "regression-compile-tmp/vax-pass2.imp"
const unsigned char MAP[25] = { 0, 2, 2, 3, 3, 1, 0, 2, 3, 3, 1, 1, 0, 3, 3, 4, 4, 4, 0, 1, 4, 4, 4, 2, 0,  };
                                                                //   3421              0,2,2,3,3, 1,0,2,3,3, 1,1,0,3,3, 4,4,4,0,1, 4,4,4,2,0
                                                                //   3422           %return %if a_type = b_type
#line 3422 "regression-compile-tmp/vax-pass2.imp"
if (((A->TYPE) != (B->TYPE))) goto L_027b;
#line 3422 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3422 "regression-compile-tmp/vax-pass2.imp"
L_027b:;
                                                                //   3423           x == b;  y == a
#line 3423 "regression-compile-tmp/vax-pass2.imp"
X = B;
#line 3423 "regression-compile-tmp/vax-pass2.imp"
Y = A;
                                                                //   3424           key = (a_type&15)*5+b_type&15
#line 3424 "regression-compile-tmp/vax-pass2.imp"
KEY = ((((((int)(((A->TYPE) & (15)))) * (5)))) + (((B->TYPE) & (15))));
                                                                //   3425           -> op(map(key))
#line 3425 "regression-compile-tmp/vax-pass2.imp"
sw5_OP_idx = MAP[KEY]; if ((0 <= sw5_OP_idx) && (sw5_OP_idx <= 4)) goto *sw5_OP[sw5_OP_idx]; else {
   /*_imp_signal(8, 2, sw5_OP_idx);*/
   fprintf(stderr, "%%SWITCH index OP(%d) not in range 0:4 at %s:%d\n",
           sw5_OP_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   3426        op(1):
#line 3426 "regression-compile-tmp/vax-pass2.imp"
sw5_OP_1:;
                                                                //   3427           %return %if either = 0
#line 3427 "regression-compile-tmp/vax-pass2.imp"
if (((EITHER) != (0))) goto L_027c;
#line 3427 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3427 "regression-compile-tmp/vax-pass2.imp"
L_027c:;
                                                                //   3428           x == a;  y == b
#line 3428 "regression-compile-tmp/vax-pass2.imp"
X = A;
#line 3428 "regression-compile-tmp/vax-pass2.imp"
Y = B;
                                                                //   3429        op(2):
#line 3429 "regression-compile-tmp/vax-pass2.imp"
sw5_OP_2:;
                                                                //   3430           load (x, any) %if x_form # constant
#line 3430 "regression-compile-tmp/vax-pass2.imp"
if (((X->FORM) == (0))) goto L_027d;
#line 3430 "regression-compile-tmp/vax-pass2.imp"
LOAD(X, 17);
#line 3430 "regression-compile-tmp/vax-pass2.imp"
L_027d:;
                                                                //   3431           x_type = y_type
#line 3431 "regression-compile-tmp/vax-pass2.imp"
X->TYPE = Y->TYPE;
                                                                //   3432           %return
#line 3432 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3433        op(3):
#line 3433 "regression-compile-tmp/vax-pass2.imp"
sw5_OP_3:;
                                                                //   3434           %return %if either = 0
#line 3434 "regression-compile-tmp/vax-pass2.imp"
if (((EITHER) != (0))) goto L_027e;
#line 3434 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3434 "regression-compile-tmp/vax-pass2.imp"
L_027e:;
                                                                //   3435           x == a;  y == b
#line 3435 "regression-compile-tmp/vax-pass2.imp"
X = A;
#line 3435 "regression-compile-tmp/vax-pass2.imp"
Y = B;
                                                                //   3436        op(4):
#line 3436 "regression-compile-tmp/vax-pass2.imp"
sw5_OP_4:;
                                                                //   3437           float (x)
#line 3437 "regression-compile-tmp/vax-pass2.imp"
FLOAT(X);
                                                                //   3438           x_type = y_type %if x_form = constant
#line 3438 "regression-compile-tmp/vax-pass2.imp"
if (((X->FORM) != (0))) goto L_027f;
#line 3438 "regression-compile-tmp/vax-pass2.imp"
X->TYPE = Y->TYPE;
#line 3438 "regression-compile-tmp/vax-pass2.imp"
L_027f:;
                                                                //   3439        op(0):
#line 3439 "regression-compile-tmp/vax-pass2.imp"
sw5_OP_0:;
                                                                //   3440        %end
#line 3440 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block EQUATE at level 3
                                                                //   3441  
                                                                //   3442        %predicate  SIMPLE SHIFT (%record(stackfm) %name from, to)
#line 3442 "regression-compile-tmp/vax-pass2.imp"
int /*Boolean*/ SIMPLESHIFT(  STACKFM /*name*/*FROM,  STACKFM /*name*/*TO )
#line 3442 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3443           %record(stackfm) %name  with, lit1, lit2
#line 3443 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*WITH;
#line 3443 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*LIT1;
#line 3443 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*LIT2;
                                                                //   3444           %integer pos, size
#line 3444 "regression-compile-tmp/vax-pass2.imp"
int POS;
#line 3444 "regression-compile-tmp/vax-pass2.imp"
int SIZE;
                                                                //   3445           %false %unless (from_oper = lsh %or from_oper = rsh) %and
#line 3445 "regression-compile-tmp/vax-pass2.imp"
if (((FROM->OPER) == (15))) goto L_0280;
#line 3445 "regression-compile-tmp/vax-pass2.imp"
if (((FROM->OPER) != (16))) goto L_0281;
#line 3445 "regression-compile-tmp/vax-pass2.imp"
L_0280:;
#line 3445 "regression-compile-tmp/vax-pass2.imp"
if (((TO->TYPE) == (16))) goto L_0282;
#line 3445 "regression-compile-tmp/vax-pass2.imp"
L_0281:;
#line 3445 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 3445 "regression-compile-tmp/vax-pass2.imp"
L_0282:;
                                                                //   3446                          to_type = integers
                                                                //   3447           with == from_link
#line 3447 "regression-compile-tmp/vax-pass2.imp"
WITH = FROM->LINK;
                                                                //   3448           pos = -with_disp
#line 3448 "regression-compile-tmp/vax-pass2.imp"
POS = (-(WITH->DISP));
                                                                //   3449           %false %unless pos >= 0 %and with_form = constant
#line 3449 "regression-compile-tmp/vax-pass2.imp"
if (((POS) < (0))) goto L_0283;
#line 3449 "regression-compile-tmp/vax-pass2.imp"
if (((WITH->FORM) == (0))) goto L_0284;
#line 3449 "regression-compile-tmp/vax-pass2.imp"
L_0283:;
#line 3449 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 3449 "regression-compile-tmp/vax-pass2.imp"
L_0284:;
                                                                //   3450           from_oper = 0;  drop (with)
#line 3450 "regression-compile-tmp/vax-pass2.imp"
FROM->OPER = 0;
#line 3450 "regression-compile-tmp/vax-pass2.imp"
DROP(WITH);
                                                                //   3451           size = 32
#line 3451 "regression-compile-tmp/vax-pass2.imp"
SIZE = 32;
                                                                //   3452           size = 16 %if from_type = short+integers
#line 3452 "regression-compile-tmp/vax-pass2.imp"
if (((FROM->TYPE) != (17))) goto L_0285;
#line 3452 "regression-compile-tmp/vax-pass2.imp"
SIZE = 16;
#line 3452 "regression-compile-tmp/vax-pass2.imp"
L_0285:;
                                                                //   3453           size = 8  %if from_type = byte+integers
#line 3453 "regression-compile-tmp/vax-pass2.imp"
if (((FROM->TYPE) != (18))) goto L_0286;
#line 3453 "regression-compile-tmp/vax-pass2.imp"
SIZE = 8;
#line 3453 "regression-compile-tmp/vax-pass2.imp"
L_0286:;
                                                                //   3454           pos = size %if pos > size
#line 3454 "regression-compile-tmp/vax-pass2.imp"
if (((POS) <= (SIZE))) goto L_0287;
#line 3454 "regression-compile-tmp/vax-pass2.imp"
POS = SIZE;
#line 3454 "regression-compile-tmp/vax-pass2.imp"
L_0287:;
                                                                //   3455           size = size - pos;              !size of result
#line 3455 "regression-compile-tmp/vax-pass2.imp"
SIZE = (((int)(SIZE)) - (POS));
                                                                //   3456           address (from);  address (to)
#line 3456 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(FROM);
#line 3456 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(TO);
                                                                //   3457           lit1 == literal(pos)
#line 3457 "regression-compile-tmp/vax-pass2.imp"
LIT1 = LITERAL(POS);
                                                                //   3458           lit2 == literal(size);  lit2_type = byte+integers
#line 3458 "regression-compile-tmp/vax-pass2.imp"
LIT2 = LITERAL(SIZE);
#line 3458 "regression-compile-tmp/vax-pass2.imp"
LIT2->TYPE = 18;
                                                                //   3459           plant4 (extzv, lit1, lit2, from, to)
#line 3459 "regression-compile-tmp/vax-pass2.imp"
PLANT4(87, LIT1, LIT2, FROM, TO);
                                                                //   3460           pop drop;   pop drop
#line 3460 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
#line 3460 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
                                                                //   3461           clear (from);  drop (from)
#line 3461 "regression-compile-tmp/vax-pass2.imp"
CLEAR(FROM);
#line 3461 "regression-compile-tmp/vax-pass2.imp"
DROP(FROM);
                                                                //   3462           %true
#line 3462 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   3463        %end
#line 3463 "regression-compile-tmp/vax-pass2.imp"
} // End of block SIMPLESHIFT at level 3
                                                                //   3464  
                                                                //   3465        %routine  LOAD (%record(stackfm) %name  v, %integer  reg)
#line 3465 "regression-compile-tmp/vax-pass2.imp"
void LOAD(  STACKFM /*name*/*V, int REG )
#line 3465 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3466           !load the entity described by 'v' into reg
                                                                //   3467           %integer  oper, op, other, type, vtype, two op = 0
#line 3467 "regression-compile-tmp/vax-pass2.imp"
int OPER;
#line 3467 "regression-compile-tmp/vax-pass2.imp"
int OP;
#line 3467 "regression-compile-tmp/vax-pass2.imp"
int OTHER;
#line 3467 "regression-compile-tmp/vax-pass2.imp"
int TYPE;
#line 3467 "regression-compile-tmp/vax-pass2.imp"
int VTYPE;
#line 3467 "regression-compile-tmp/vax-pass2.imp"
int TWOOP;
#line 3467 "regression-compile-tmp/vax-pass2.imp"
TWOOP = 0;
                                                                //   3468           %record(stackfm) %name  w, rv, x
#line 3468 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*W;
#line 3468 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*RV;
#line 3468 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*X;
                                                                //   3469           %switch  iop (not : brem), rop (not : brem)
#line 3469 "regression-compile-tmp/vax-pass2.imp"
static int sw6_IOP_idx;
static const void * /*SWITCH*/ sw6_IOP[23] = { &&sw6_IOP_7, &&sw6_IOP_8, &&sw6_IOP_9, &&sw6_IOP_10, &&sw6_IOP_11, &&sw6_IOP_12, &&sw6_IOP_13, &&sw6_IOP_14, &&sw6_IOP_15, &&sw6_IOP_16, &&sw6_IOP_17, &&sw6_IOP_18, &&sw6_IOP_19, &&sw6_IOP_20, &&sw6_IOP_21, &&sw6_IOP_22, &&sw6_IOP_23, &&sw6_IOP_24, &&sw6_IOP_25, &&sw6_IOP_26, &&sw6_IOP_27, &&sw6_IOP_28, &&sw6_IOP_29,  };
#line 3469 "regression-compile-tmp/vax-pass2.imp"
static int sw7_ROP_idx;
static const void * /*SWITCH*/ sw7_ROP[23] = { &&sw7_ROP_7, &&sw7_ROP_8, &&sw7_ROP_9, &&sw7_ROP_10, &&sw7_ROP_11, &&sw7_ROP_12, &&sw7_ROP_13, &&sw7_ROP_14, &&sw7_ROP_15, &&sw7_ROP_16, &&sw7_ROP_17, &&sw7_ROP_18, &&sw7_ROP_19, &&sw7_ROP_20, &&sw7_ROP_21, &&sw7_ROP_22, &&sw7_ROP_23, &&sw7_ROP_24, &&sw7_ROP_25, &&sw7_ROP_26, &&sw7_ROP_27, &&sw7_ROP_28, &&sw7_ROP_29,  };
                                                                //   3470  
                                                                //   3471           abort (37) %unless r0 <= reg <= fpr4; !load what???
#line 3471 "regression-compile-tmp/vax-pass2.imp"
if ((((1) > (REG))) || (((REG) <= (20)))) goto L_0289;
#line 3471 "regression-compile-tmp/vax-pass2.imp"
L_0288:;
#line 3471 "regression-compile-tmp/vax-pass2.imp"
ABORT(37);
#line 3471 "regression-compile-tmp/vax-pass2.imp"
L_0289:;
                                                                //   3472           used(reg) = ca %if reg < any;         !prevent intermediate use
#line 3472 "regression-compile-tmp/vax-pass2.imp"
if (((REG) >= (17))) goto L_028a;
#line 3472 "regression-compile-tmp/vax-pass2.imp"
USED[REG] = CA;
#line 3472 "regression-compile-tmp/vax-pass2.imp"
L_028a:;
                                                                //   3473           %if v_oper = 0 %and v_form = av in rec %start
#line 3473 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) != (0))) goto L_028b;
#line 3473 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (6))) goto L_028b;
                                                                //   3474              address var (1, v)
#line 3474 "regression-compile-tmp/vax-pass2.imp"
ADDRESSVAR(1, V);
                                                                //   3475           %finish
#line 3475 "regression-compile-tmp/vax-pass2.imp"
L_028b:;
                                                                //   3476           type = v_type;  vtype = integers;     !default
#line 3476 "regression-compile-tmp/vax-pass2.imp"
TYPE = V->TYPE;
#line 3476 "regression-compile-tmp/vax-pass2.imp"
VTYPE = 16;
                                                                //   3477           oper = v_oper
#line 3477 "regression-compile-tmp/vax-pass2.imp"
OPER = V->OPER;
                                                                //   3478           monitor (v, "Load ".reg name(reg)) %if diag&2 # 0
#line 3478 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (2))) == (0))) goto L_028c;
#line 3478 "regression-compile-tmp/vax-pass2.imp"
MONITOR(V, _imp_join((_imp_string)_imp_str_literal("Load "),(_imp_string)REGNAME[REG]));
#line 3478 "regression-compile-tmp/vax-pass2.imp"
L_028c:;
                                                                //   3479           %unless fpr0 <= reg <= fpr4 %or floating (v) %start
#line 3479 "regression-compile-tmp/vax-pass2.imp"
if ((((18) > (REG))) || (((REG) <= (20)))) goto L_028e;
#line 3479 "regression-compile-tmp/vax-pass2.imp"
L_028d:;
#line 3479 "regression-compile-tmp/vax-pass2.imp"
if (FLOATING(V)) goto L_028e;
                                                                //   3480              ! Load integer
                                                                //   3481              %if oper # 0 %start;               !complex descriptor
#line 3481 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) == (0))) goto L_028f;
                                                                //   3482                 v_oper = 0
#line 3482 "regression-compile-tmp/vax-pass2.imp"
V->OPER = 0;
                                                                //   3483                 w == v_link
#line 3483 "regression-compile-tmp/vax-pass2.imp"
W = V->LINK;
                                                                //   3484                 %if oper = exp %start
#line 3484 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (21))) goto L_0290;
                                                                //   3485                    load (v, r1);  load (w, r2)
#line 3485 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, 2);
#line 3485 "regression-compile-tmp/vax-pass2.imp"
LOAD(W, 3);
                                                                //   3486                    drop (w)
#line 3486 "regression-compile-tmp/vax-pass2.imp"
DROP(W);
                                                                //   3487                    release (r1);  release (r2)
#line 3487 "regression-compile-tmp/vax-pass2.imp"
RELEASE(2);
#line 3487 "regression-compile-tmp/vax-pass2.imp"
RELEASE(3);
                                                                //   3488                    prim (exp int)
#line 3488 "regression-compile-tmp/vax-pass2.imp"
PRIM(14);
                                                                //   3489                    v_base = r0;  claim (r0)
#line 3489 "regression-compile-tmp/vax-pass2.imp"
V->BASE = 1;
#line 3489 "regression-compile-tmp/vax-pass2.imp"
CLAIM(1);
                                                                //   3490                    load (v, reg) %unless reg = any
#line 3490 "regression-compile-tmp/vax-pass2.imp"
if (((REG) == (17))) goto L_0291;
#line 3490 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, REG);
#line 3490 "regression-compile-tmp/vax-pass2.imp"
L_0291:;
                                                                //   3491                    %return
#line 3491 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3492                 %finish
#line 3492 "regression-compile-tmp/vax-pass2.imp"
L_0290:;
                                                                //   3493                 %if oper = rsh %or oper = lsh %start
#line 3493 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) == (16))) goto L_0292;
#line 3493 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (15))) goto L_0293;
#line 3493 "regression-compile-tmp/vax-pass2.imp"
L_0292:;
                                                                //   3494                    ! These take BYTE shift counts
                                                                //   3495                    load (w, any) %if w_flags&indexed # 0 %and
#line 3495 "regression-compile-tmp/vax-pass2.imp"
if (((((W->FLAGS) & (1))) == (0))) goto L_0294;
#line 3495 "regression-compile-tmp/vax-pass2.imp"
if (((W->TYPE) == (18))) goto L_0294;
#line 3495 "regression-compile-tmp/vax-pass2.imp"
LOAD(W, 17);
#line 3495 "regression-compile-tmp/vax-pass2.imp"
L_0294:;
                                                                //   3496                                      w_type # byte+integers
                                                                //   3497                 %finish
#line 3497 "regression-compile-tmp/vax-pass2.imp"
L_0293:;
                                                                //   3498                 %if oper = rsh %or oper = remy %start
#line 3498 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) == (16))) goto L_0295;
#line 3498 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (28))) goto L_0296;
#line 3498 "regression-compile-tmp/vax-pass2.imp"
L_0295:;
                                                                //   3499                    ! fiddly - need reg pair...
                                                                //   3500                    load (v, register(1)) %unless in free reg (v) %and
#line 3500 "regression-compile-tmp/vax-pass2.imp"
if (!(INFREEREG(V))) goto L_0297;
#line 3500 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[(((int)(V->BASE)) + (1))]) == (0))) goto L_0298;
#line 3500 "regression-compile-tmp/vax-pass2.imp"
L_0297:;
#line 3500 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, REGISTER(1));
#line 3500 "regression-compile-tmp/vax-pass2.imp"
L_0298:;
                                                                //   3501                                                  activity(v_base+1) = 0
                                                                //   3502                    other = v_base+1
#line 3502 "regression-compile-tmp/vax-pass2.imp"
OTHER = (((int)(V->BASE)) + (1));
                                                                //   3503                    abort (30) %if activity(other) < 0
#line 3503 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[OTHER]) >= (0))) goto L_0299;
#line 3503 "regression-compile-tmp/vax-pass2.imp"
ABORT(30);
#line 3503 "regression-compile-tmp/vax-pass2.imp"
L_0299:;
                                                                //   3504                    hazard (other);           !reg is never r10
#line 3504 "regression-compile-tmp/vax-pass2.imp"
HAZARD(OTHER);
                                                                //   3505                    %if oper = rsh %start
#line 3505 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (16))) goto L_029a;
                                                                //   3506                       plant1 (clrl, regv(other))
#line 3506 "regression-compile-tmp/vax-pass2.imp"
PLANT1(48, &(REGV-1)[OTHER]);
                                                                //   3507                    %else
#line 3507 "regression-compile-tmp/vax-pass2.imp"
goto L_029b;
#line 3507 "regression-compile-tmp/vax-pass2.imp"
L_029a:;
                                                                //   3508                       !rem - sign extend to 2nd register
                                                                //   3509                       %if const (v) %start
#line 3509 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(V))) goto L_029c;
                                                                //   3510                          plant2 (movl, literal(-(v_disp>>31)), regv(other))
#line 3510 "regression-compile-tmp/vax-pass2.imp"
PLANT2(8968, LITERAL((-((int)((((unsigned int)(V->DISP)) >> (31)))))), &(REGV-1)[OTHER]);
                                                                //   3511                          pop drop
#line 3511 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
                                                                //   3512                       %else
#line 3512 "regression-compile-tmp/vax-pass2.imp"
goto L_029d;
#line 3512 "regression-compile-tmp/vax-pass2.imp"
L_029c:;
                                                                //   3513                          plant4 (extv, literal(31), literal(1),
#line 3513 "regression-compile-tmp/vax-pass2.imp"
PLANT4(95, LITERAL(31), LITERAL(1), &(REGV-1)[V->BASE], &(REGV-1)[OTHER]);
                                                                //   3514                                  regv(v_base), regv(other))
                                                                //   3515                          pop drop;  pop drop
#line 3515 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
#line 3515 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
                                                                //   3516                       %finish
#line 3516 "regression-compile-tmp/vax-pass2.imp"
L_029d:;
                                                                //   3517                    %finish
#line 3517 "regression-compile-tmp/vax-pass2.imp"
L_029b:;
                                                                //   3518                    claim (other)
#line 3518 "regression-compile-tmp/vax-pass2.imp"
CLAIM(OTHER);
                                                                //   3519                    address (w)
#line 3519 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(W);
                                                                //   3520                    w_type = integers %if oper = rsh;    ! to prevent loading
#line 3520 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (16))) goto L_029e;
#line 3520 "regression-compile-tmp/vax-pass2.imp"
W->TYPE = 16;
#line 3520 "regression-compile-tmp/vax-pass2.imp"
L_029e:;
                                                                //   3521                 %else
#line 3521 "regression-compile-tmp/vax-pass2.imp"
goto L_029f;
#line 3521 "regression-compile-tmp/vax-pass2.imp"
L_0296:;
                                                                //   3522                    %if v_type = integers %start
#line 3522 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) != (16))) goto L_02a0;
                                                                //   3523                       address (v)
#line 3523 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(V);
                                                                //   3524                    %else
#line 3524 "regression-compile-tmp/vax-pass2.imp"
goto L_02a1;
#line 3524 "regression-compile-tmp/vax-pass2.imp"
L_02a0:;
                                                                //   3525                       load (v, reg);  reg = v_base
#line 3525 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, REG);
#line 3525 "regression-compile-tmp/vax-pass2.imp"
REG = V->BASE;
                                                                //   3526                    %finish
#line 3526 "regression-compile-tmp/vax-pass2.imp"
L_02a1:;
                                                                //   3527                 %finish
#line 3527 "regression-compile-tmp/vax-pass2.imp"
L_029f:;
                                                                //   3528                 %if oper >= add %start
#line 3528 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) < (9))) goto L_02a2;
                                                                //   3529                    address (w)
#line 3529 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(W);
                                                                //   3530                    load (w, any) %if w_type # integers
#line 3530 "regression-compile-tmp/vax-pass2.imp"
if (((W->TYPE) == (16))) goto L_02a3;
#line 3530 "regression-compile-tmp/vax-pass2.imp"
LOAD(W, 17);
#line 3530 "regression-compile-tmp/vax-pass2.imp"
L_02a3:;
                                                                //   3531                    op = op map(oper)
#line 3531 "regression-compile-tmp/vax-pass2.imp"
OP = (OPMAP-9)[OPER];
                                                                //   3532                 %finish
#line 3532 "regression-compile-tmp/vax-pass2.imp"
L_02a2:;
                                                                //   3533                 %if oper # rsh %start
#line 3533 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) == (16))) goto L_02a4;
                                                                //   3534                    %if reg = any %start
#line 3534 "regression-compile-tmp/vax-pass2.imp"
if (((REG) != (17))) goto L_02a5;
                                                                //   3535                       %if oper >= add %and op # 0 %start;! two op possible?
#line 3535 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) < (9))) goto L_02a6;
#line 3535 "regression-compile-tmp/vax-pass2.imp"
if (((OP) == (0))) goto L_02a6;
                                                                //   3536                          %if op&commute # 0 %and in free reg (w) %start
#line 3536 "regression-compile-tmp/vax-pass2.imp"
if (((((OP) & (16384))) == (0))) goto L_02a7;
#line 3536 "regression-compile-tmp/vax-pass2.imp"
if (!(INFREEREG(W))) goto L_02a7;
                                                                //   3537                             reg = w_base; x == v; two op = 1
#line 3537 "regression-compile-tmp/vax-pass2.imp"
REG = W->BASE;
#line 3537 "regression-compile-tmp/vax-pass2.imp"
X = V;
#line 3537 "regression-compile-tmp/vax-pass2.imp"
TWOOP = 1;
                                                                //   3538                          %else %if in free reg (v)
#line 3538 "regression-compile-tmp/vax-pass2.imp"
goto L_02a8;
#line 3538 "regression-compile-tmp/vax-pass2.imp"
L_02a7:;
#line 3538 "regression-compile-tmp/vax-pass2.imp"
if (!(INFREEREG(V))) goto L_02a9;
                                                                //   3539                             reg = v_base; x == w; two op = 1
#line 3539 "regression-compile-tmp/vax-pass2.imp"
REG = V->BASE;
#line 3539 "regression-compile-tmp/vax-pass2.imp"
X = W;
#line 3539 "regression-compile-tmp/vax-pass2.imp"
TWOOP = 1;
                                                                //   3540                          %finish
#line 3540 "regression-compile-tmp/vax-pass2.imp"
L_02a9:;
#line 3540 "regression-compile-tmp/vax-pass2.imp"
L_02a8:;
                                                                //   3541                       %finish
#line 3541 "regression-compile-tmp/vax-pass2.imp"
L_02a6:;
                                                                //   3542                       reg = register (0) %if reg = any;  ! Not yet got one?
#line 3542 "regression-compile-tmp/vax-pass2.imp"
if (((REG) != (17))) goto L_02aa;
#line 3542 "regression-compile-tmp/vax-pass2.imp"
REG = REGISTER(0);
#line 3542 "regression-compile-tmp/vax-pass2.imp"
L_02aa:;
                                                                //   3543                    %else
#line 3543 "regression-compile-tmp/vax-pass2.imp"
goto L_02ab;
#line 3543 "regression-compile-tmp/vax-pass2.imp"
L_02a5:;
                                                                //   3544                       hazard (reg) %unless v_base = reg %or
#line 3544 "regression-compile-tmp/vax-pass2.imp"
if (((V->BASE) == (REG))) goto L_02ac;
#line 3544 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) < (9))) goto L_02ad;
#line 3544 "regression-compile-tmp/vax-pass2.imp"
if (((W->BASE) == (REG))) goto L_02ac;
#line 3544 "regression-compile-tmp/vax-pass2.imp"
L_02ad:;
#line 3544 "regression-compile-tmp/vax-pass2.imp"
HAZARD(REG);
#line 3544 "regression-compile-tmp/vax-pass2.imp"
L_02ac:;
                                                                //   3545                                            (oper >= add %and w_base = reg)
                                                                //   3546                    %finish
#line 3546 "regression-compile-tmp/vax-pass2.imp"
L_02ab:;
                                                                //   3547                    rv == regv(reg)
#line 3547 "regression-compile-tmp/vax-pass2.imp"
RV = &(REGV-1)[REG];
                                                                //   3548                 %finish
#line 3548 "regression-compile-tmp/vax-pass2.imp"
L_02a4:;
                                                                //   3549  
                                                                //   3550                 -> iop(oper)
#line 3550 "regression-compile-tmp/vax-pass2.imp"
sw6_IOP_idx = OPER; if ((7 <= sw6_IOP_idx) && (sw6_IOP_idx <= 29)) goto *(sw6_IOP-7)[sw6_IOP_idx];  /* Bounds=7:29 */ else {
   /*_imp_signal(8, 2, sw6_IOP_idx);*/
   fprintf(stderr, "%%SWITCH index IOP(%d) not in range 7:29 at %s:%d\n",
           sw6_IOP_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   3551  
                                                                //   3552        iop(neg):plant2 (mnegl, v, rv);  -> set
#line 3552 "regression-compile-tmp/vax-pass2.imp"
sw6_IOP_8:;
#line 3552 "regression-compile-tmp/vax-pass2.imp"
PLANT2(0, V, RV);
#line 3552 "regression-compile-tmp/vax-pass2.imp"
goto U_1005;
                                                                //   3553        iop(not):plant2 (mcoml, v, rv);  -> set
#line 3553 "regression-compile-tmp/vax-pass2.imp"
sw6_IOP_7:;
#line 3553 "regression-compile-tmp/vax-pass2.imp"
PLANT2(24, V, RV);
#line 3553 "regression-compile-tmp/vax-pass2.imp"
goto U_1005;
                                                                //   3554  
                                                                //   3555        iop(mul):
#line 3555 "regression-compile-tmp/vax-pass2.imp"
sw6_IOP_27:;
                                                                //   3556                 %if w_form = constant %and (w_disp = 2 %or w_disp = 4) %start
#line 3556 "regression-compile-tmp/vax-pass2.imp"
if (((W->FORM) != (0))) goto L_02ae;
#line 3556 "regression-compile-tmp/vax-pass2.imp"
if (((W->DISP) == (2))) goto L_02af;
#line 3556 "regression-compile-tmp/vax-pass2.imp"
if (((W->DISP) != (4))) goto L_02ae;
#line 3556 "regression-compile-tmp/vax-pass2.imp"
L_02af:;
                                                                //   3557                    plant2 (movl, v, rv) %if two op = 0
#line 3557 "regression-compile-tmp/vax-pass2.imp"
if (((TWOOP) != (0))) goto L_02b0;
#line 3557 "regression-compile-tmp/vax-pass2.imp"
PLANT2(8968, V, RV);
#line 3557 "regression-compile-tmp/vax-pass2.imp"
L_02b0:;
                                                                //   3558                    plant2 (addl, rv, rv)
#line 3558 "regression-compile-tmp/vax-pass2.imp"
PLANT2(18288, RV, RV);
                                                                //   3559                    plant2 (addl, rv, rv) %if w_disp = 4
#line 3559 "regression-compile-tmp/vax-pass2.imp"
if (((W->DISP) != (4))) goto L_02b1;
#line 3559 "regression-compile-tmp/vax-pass2.imp"
PLANT2(18288, RV, RV);
#line 3559 "regression-compile-tmp/vax-pass2.imp"
L_02b1:;
                                                                //   3560                    -> wset
#line 3560 "regression-compile-tmp/vax-pass2.imp"
goto U_1006;
                                                                //   3561                 %finish
#line 3561 "regression-compile-tmp/vax-pass2.imp"
L_02ae:;
                                                                //   3562        iop(add):
#line 3562 "regression-compile-tmp/vax-pass2.imp"
sw6_IOP_9:;
                                                                //   3563        iop(or ):
#line 3563 "regression-compile-tmp/vax-pass2.imp"
sw6_IOP_13:;
                                                                //   3564        iop(xor):
#line 3564 "regression-compile-tmp/vax-pass2.imp"
sw6_IOP_14:;
                                                                //   3565        iop(sub):
#line 3565 "regression-compile-tmp/vax-pass2.imp"
sw6_IOP_10:;
                                                                //   3566        iop(div):
#line 3566 "regression-compile-tmp/vax-pass2.imp"
sw6_IOP_17:;
                                                                //   3567        iop(bic):
#line 3567 "regression-compile-tmp/vax-pass2.imp"
sw6_IOP_12:;
                                                                //   3568                 %if two op # 0 %start
#line 3568 "regression-compile-tmp/vax-pass2.imp"
if (((TWOOP) == (0))) goto L_02b2;
                                                                //   3569                    plant2 (op - three op, x, rv)
#line 3569 "regression-compile-tmp/vax-pass2.imp"
PLANT2((((int)(OP)) - (64)), X, RV);
                                                                //   3570                 %else
#line 3570 "regression-compile-tmp/vax-pass2.imp"
goto L_02b3;
#line 3570 "regression-compile-tmp/vax-pass2.imp"
L_02b2:;
                                                                //   3571                    plant3 (op, w, v, rv)
#line 3571 "regression-compile-tmp/vax-pass2.imp"
PLANT3(OP, W, V, RV);
                                                                //   3572                 %finish
#line 3572 "regression-compile-tmp/vax-pass2.imp"
L_02b3:;
                                                                //   3573                 -> wset
#line 3573 "regression-compile-tmp/vax-pass2.imp"
goto U_1006;
                                                                //   3574        iop(remy):
#line 3574 "regression-compile-tmp/vax-pass2.imp"
sw6_IOP_28:;
                                                                //   3575                 plant4 (ediv, w, v, rv, rv)
#line 3575 "regression-compile-tmp/vax-pass2.imp"
PLANT4(143, W, V, RV, RV);
                                                                //   3576                 release (other)
#line 3576 "regression-compile-tmp/vax-pass2.imp"
RELEASE(OTHER);
                                                                //   3577                 -> wset
#line 3577 "regression-compile-tmp/vax-pass2.imp"
goto U_1006;
                                                                //   3578        iop(lsh):
#line 3578 "regression-compile-tmp/vax-pass2.imp"
sw6_IOP_15:;
                                                                //   3579        iop(rsh):  ! rsh converted
#line 3579 "regression-compile-tmp/vax-pass2.imp"
sw6_IOP_16:;
                                                                //   3580                 w_type = byte+integers
#line 3580 "regression-compile-tmp/vax-pass2.imp"
W->TYPE = 18;
                                                                //   3581                 w_disp = w_disp&255 %if const (w)
#line 3581 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(W))) goto L_02b4;
#line 3581 "regression-compile-tmp/vax-pass2.imp"
W->DISP = ((W->DISP) & (255));
#line 3581 "regression-compile-tmp/vax-pass2.imp"
L_02b4:;
                                                                //   3582                 iovf off
#line 3582 "regression-compile-tmp/vax-pass2.imp"
IOVFOFF();
                                                                //   3583                 %if oper = lsh %start
#line 3583 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (15))) goto L_02b5;
                                                                //   3584                    plant3 (ashl, w, v, rv)
#line 3584 "regression-compile-tmp/vax-pass2.imp"
PLANT3(141, W, V, RV);
                                                                //   3585                    iovf on
#line 3585 "regression-compile-tmp/vax-pass2.imp"
IOVFON();
                                                                //   3586                 %else
#line 3586 "regression-compile-tmp/vax-pass2.imp"
goto L_02b6;
#line 3586 "regression-compile-tmp/vax-pass2.imp"
L_02b5:;
                                                                //   3587                    plant3 (ashq, w, v, v)
#line 3587 "regression-compile-tmp/vax-pass2.imp"
PLANT3(142, W, V, V);
                                                                //   3588                    iovf on
#line 3588 "regression-compile-tmp/vax-pass2.imp"
IOVFON();
                                                                //   3589                    release (other)
#line 3589 "regression-compile-tmp/vax-pass2.imp"
RELEASE(OTHER);
                                                                //   3590                    load (v, reg)
#line 3590 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, REG);
                                                                //   3591                    clear (w);  drop (w)
#line 3591 "regression-compile-tmp/vax-pass2.imp"
CLEAR(W);
#line 3591 "regression-compile-tmp/vax-pass2.imp"
DROP(W);
                                                                //   3592                    %return
#line 3592 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3593                 %finish
#line 3593 "regression-compile-tmp/vax-pass2.imp"
L_02b6:;
                                                                //   3594  
                                                                //   3595        wset:    clear (w);  drop (w)
#line 3595 "regression-compile-tmp/vax-pass2.imp"
U_1006:;
#line 3595 "regression-compile-tmp/vax-pass2.imp"
CLEAR(W);
#line 3595 "regression-compile-tmp/vax-pass2.imp"
DROP(W);
                                                                //   3596                 -> set
#line 3596 "regression-compile-tmp/vax-pass2.imp"
goto U_1005;
                                                                //   3597  
                                                                //   3598        iop(*):  abort (33)
#line 3598 "regression-compile-tmp/vax-pass2.imp"
sw6_IOP_default:;
#line 3598 "regression-compile-tmp/vax-pass2.imp"
ABORT(33);
                                                                //   3599  
                                                                //   3600              %else
#line 3600 "regression-compile-tmp/vax-pass2.imp"
L_028f:;
                                                                //   3601                 ! just a simple descriptor
                                                                //   3602                 amap (v) %if type&strings # 0;   !only need address of string
#line 3602 "regression-compile-tmp/vax-pass2.imp"
if (((((TYPE) & (64))) == (0))) goto L_02b7;
#line 3602 "regression-compile-tmp/vax-pass2.imp"
AMAP(V);
#line 3602 "regression-compile-tmp/vax-pass2.imp"
L_02b7:;
                                                                //   3603                 %if reg = any %start;            !none in particular
#line 3603 "regression-compile-tmp/vax-pass2.imp"
if (((REG) != (17))) goto L_02b8;
                                                                //   3604                    ! select an appropriate register
                                                                //   3605                    %if activity (v_base) = 1 %start
#line 3605 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[V->BASE]) != (1))) goto L_02b9;
                                                                //   3606                       ! Use own base
                                                                //   3607                       %return %if v_form = v in r; !ok where it is
#line 3607 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (1))) goto L_02ba;
#line 3607 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3607 "regression-compile-tmp/vax-pass2.imp"
L_02ba:;
                                                                //   3608                       reg = v_base
#line 3608 "regression-compile-tmp/vax-pass2.imp"
REG = V->BASE;
                                                                //   3609                    %else;                        !any other will do
#line 3609 "regression-compile-tmp/vax-pass2.imp"
goto L_02bb;
#line 3609 "regression-compile-tmp/vax-pass2.imp"
L_02b9:;
                                                                //   3610                       reg = register(0)
#line 3610 "regression-compile-tmp/vax-pass2.imp"
REG = REGISTER(0);
                                                                //   3611                    %finish
#line 3611 "regression-compile-tmp/vax-pass2.imp"
L_02bb:;
                                                                //   3612                 %else;                           !specific register required
#line 3612 "regression-compile-tmp/vax-pass2.imp"
goto L_02bc;
#line 3612 "regression-compile-tmp/vax-pass2.imp"
L_02b8:;
                                                                //   3613                    %if reg = v_base %start
#line 3613 "regression-compile-tmp/vax-pass2.imp"
if (((REG) != (V->BASE))) goto L_02bd;
                                                                //   3614                       %return %if v_form = v in r
#line 3614 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (1))) goto L_02be;
#line 3614 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3614 "regression-compile-tmp/vax-pass2.imp"
L_02be:;
                                                                //   3615                    %else
#line 3615 "regression-compile-tmp/vax-pass2.imp"
goto L_02bf;
#line 3615 "regression-compile-tmp/vax-pass2.imp"
L_02bd:;
                                                                //   3616                       hazard (reg)
#line 3616 "regression-compile-tmp/vax-pass2.imp"
HAZARD(REG);
                                                                //   3617                    %finish
#line 3617 "regression-compile-tmp/vax-pass2.imp"
L_02bf:;
                                                                //   3618                 %finish
#line 3618 "regression-compile-tmp/vax-pass2.imp"
L_02bc:;
                                                                //   3619              %finish
                                                                //   3620           %else
#line 3620 "regression-compile-tmp/vax-pass2.imp"
goto L_02c0;
#line 3620 "regression-compile-tmp/vax-pass2.imp"
L_028e:;
                                                                //   3621              ! Load real
                                                                //   3622              vtype = reall
#line 3622 "regression-compile-tmp/vax-pass2.imp"
VTYPE = 36;
                                                                //   3623              %if oper # 0 %and %not floating(v) %start
#line 3623 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) == (0))) goto L_02c1;
#line 3623 "regression-compile-tmp/vax-pass2.imp"
if (FLOATING(V)) goto L_02c1;
                                                                //   3624                 ! integer operation pending
                                                                //   3625                 load (v, any);  oper = 0
#line 3625 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, 17);
#line 3625 "regression-compile-tmp/vax-pass2.imp"
OPER = 0;
                                                                //   3626              %finish
#line 3626 "regression-compile-tmp/vax-pass2.imp"
L_02c1:;
                                                                //   3627              %if oper # 0 %start
#line 3627 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) == (0))) goto L_02c2;
                                                                //   3628                 v_oper = 0;  w == v_link
#line 3628 "regression-compile-tmp/vax-pass2.imp"
V->OPER = 0;
#line 3628 "regression-compile-tmp/vax-pass2.imp"
W = V->LINK;
                                                                //   3629                 %if oper = rexp %start
#line 3629 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (22))) goto L_02c3;
                                                                //   3630                    load (v, fpr2)
#line 3630 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, 19);
                                                                //   3631                    load (w, r4)
#line 3631 "regression-compile-tmp/vax-pass2.imp"
LOAD(W, 5);
                                                                //   3632                    drop (w)
#line 3632 "regression-compile-tmp/vax-pass2.imp"
DROP(W);
                                                                //   3633                    release (fpr2); release (r4)
#line 3633 "regression-compile-tmp/vax-pass2.imp"
RELEASE(19);
#line 3633 "regression-compile-tmp/vax-pass2.imp"
RELEASE(5);
                                                                //   3634                    prim (exp real)
#line 3634 "regression-compile-tmp/vax-pass2.imp"
PRIM(15);
                                                                //   3635                    v_base = fpr0;  claim (fpr0)
#line 3635 "regression-compile-tmp/vax-pass2.imp"
V->BASE = 18;
#line 3635 "regression-compile-tmp/vax-pass2.imp"
CLAIM(18);
                                                                //   3636                    load (v, reg) %unless reg = any
#line 3636 "regression-compile-tmp/vax-pass2.imp"
if (((REG) == (17))) goto L_02c4;
#line 3636 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, REG);
#line 3636 "regression-compile-tmp/vax-pass2.imp"
L_02c4:;
                                                                //   3637                    %return
#line 3637 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3638                 %finish
#line 3638 "regression-compile-tmp/vax-pass2.imp"
L_02c3:;
                                                                //   3639                 %if v_type # reall %start
#line 3639 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) == (36))) goto L_02c5;
                                                                //   3640                    float (v) %unless v_type = reals;!??something fishy here??
#line 3640 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) == (35))) goto L_02c6;
#line 3640 "regression-compile-tmp/vax-pass2.imp"
FLOAT(V);
#line 3640 "regression-compile-tmp/vax-pass2.imp"
L_02c6:;
                                                                //   3641                    load (v, reg);  reg = v_base
#line 3641 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, REG);
#line 3641 "regression-compile-tmp/vax-pass2.imp"
REG = V->BASE;
                                                                //   3642                 %else
#line 3642 "regression-compile-tmp/vax-pass2.imp"
goto L_02c7;
#line 3642 "regression-compile-tmp/vax-pass2.imp"
L_02c5:;
                                                                //   3643                    address (v)
#line 3643 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(V);
                                                                //   3644                 %finish
#line 3644 "regression-compile-tmp/vax-pass2.imp"
L_02c7:;
                                                                //   3645                 %if oper >= add %start
#line 3645 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) < (9))) goto L_02c8;
                                                                //   3646                    address (w)
#line 3646 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(W);
                                                                //   3647                    float (w) %unless floating (w)
#line 3647 "regression-compile-tmp/vax-pass2.imp"
if (FLOATING(W)) goto L_02c9;
#line 3647 "regression-compile-tmp/vax-pass2.imp"
FLOAT(W);
#line 3647 "regression-compile-tmp/vax-pass2.imp"
L_02c9:;
                                                                //   3648                    load (w, any) %unless w_type = reall
#line 3648 "regression-compile-tmp/vax-pass2.imp"
if (((W->TYPE) == (36))) goto L_02ca;
#line 3648 "regression-compile-tmp/vax-pass2.imp"
LOAD(W, 17);
#line 3648 "regression-compile-tmp/vax-pass2.imp"
L_02ca:;
                                                                //   3649                    clear (w);  drop (w)
#line 3649 "regression-compile-tmp/vax-pass2.imp"
CLEAR(W);
#line 3649 "regression-compile-tmp/vax-pass2.imp"
DROP(W);
                                                                //   3650                 %finish
#line 3650 "regression-compile-tmp/vax-pass2.imp"
L_02c8:;
                                                                //   3651                 %if reg = any %start
#line 3651 "regression-compile-tmp/vax-pass2.imp"
if (((REG) != (17))) goto L_02cb;
                                                                //   3652                    %if v_form = v in r %then reg = v_base %else reg = fpr
#line 3652 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (1))) goto L_02cc;
#line 3652 "regression-compile-tmp/vax-pass2.imp"
REG = V->BASE;
#line 3652 "regression-compile-tmp/vax-pass2.imp"
goto L_02cd;
#line 3652 "regression-compile-tmp/vax-pass2.imp"
L_02cc:;
#line 3652 "regression-compile-tmp/vax-pass2.imp"
REG = FPR();
#line 3652 "regression-compile-tmp/vax-pass2.imp"
L_02cd:;
                                                                //   3653                 %else
#line 3653 "regression-compile-tmp/vax-pass2.imp"
goto L_02ce;
#line 3653 "regression-compile-tmp/vax-pass2.imp"
L_02cb:;
                                                                //   3654                    hazard (reg) %unless reg = v_base
#line 3654 "regression-compile-tmp/vax-pass2.imp"
if (((REG) == (V->BASE))) goto L_02cf;
#line 3654 "regression-compile-tmp/vax-pass2.imp"
HAZARD(REG);
#line 3654 "regression-compile-tmp/vax-pass2.imp"
L_02cf:;
                                                                //   3655                 %finish
#line 3655 "regression-compile-tmp/vax-pass2.imp"
L_02ce:;
                                                                //   3656                 rv == regv(reg)
#line 3656 "regression-compile-tmp/vax-pass2.imp"
RV = &(REGV-1)[REG];
                                                                //   3657                 -> rop(oper)
#line 3657 "regression-compile-tmp/vax-pass2.imp"
sw7_ROP_idx = OPER; if ((7 <= sw7_ROP_idx) && (sw7_ROP_idx <= 29)) goto *(sw7_ROP-7)[sw7_ROP_idx];  /* Bounds=7:29 */ else {
   /*_imp_signal(8, 2, sw7_ROP_idx);*/
   fprintf(stderr, "%%SWITCH index ROP(%d) not in range 7:29 at %s:%d\n",
           sw7_ROP_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   3658  
                                                                //   3659        rop(neg):plant2 (mnegd, v, rv);              -> set
#line 3659 "regression-compile-tmp/vax-pass2.imp"
sw7_ROP_8:;
#line 3659 "regression-compile-tmp/vax-pass2.imp"
PLANT2(4, V, RV);
#line 3659 "regression-compile-tmp/vax-pass2.imp"
goto U_1005;
                                                                //   3660  
                                                                //   3661        rop(add):plant3 (addd+three op, v, w, rv);   -> set
#line 3661 "regression-compile-tmp/vax-pass2.imp"
sw7_ROP_9:;
#line 3661 "regression-compile-tmp/vax-pass2.imp"
PLANT3(18356, V, W, RV);
#line 3661 "regression-compile-tmp/vax-pass2.imp"
goto U_1005;
                                                                //   3662        rop(sub):plant3 (subd+three op, w, v, rv);   -> set
#line 3662 "regression-compile-tmp/vax-pass2.imp"
sw7_ROP_10:;
#line 3662 "regression-compile-tmp/vax-pass2.imp"
PLANT3(3004, W, V, RV);
#line 3662 "regression-compile-tmp/vax-pass2.imp"
goto U_1005;
                                                                //   3663        rop(mul):plant3 (muld+three op, v, w, rv);   -> set
#line 3663 "regression-compile-tmp/vax-pass2.imp"
sw7_ROP_27:;
#line 3663 "regression-compile-tmp/vax-pass2.imp"
PLANT3(17092, V, W, RV);
#line 3663 "regression-compile-tmp/vax-pass2.imp"
goto U_1005;
                                                                //   3664        rop(rdiv):plant3 (divd+three op, w, v, rv);  -> set
#line 3664 "regression-compile-tmp/vax-pass2.imp"
sw7_ROP_23:;
#line 3664 "regression-compile-tmp/vax-pass2.imp"
PLANT3(716, W, V, RV);
#line 3664 "regression-compile-tmp/vax-pass2.imp"
goto U_1005;
                                                                //   3665  
                                                                //   3666        rop(*):  abort (32)
#line 3666 "regression-compile-tmp/vax-pass2.imp"
sw7_ROP_default:;
#line 3666 "regression-compile-tmp/vax-pass2.imp"
ABORT(32);
                                                                //   3667  
                                                                //   3668              %else
#line 3668 "regression-compile-tmp/vax-pass2.imp"
L_02c2:;
                                                                //   3669                 ! Simple real object
                                                                //   3670                 float (v) %and type = reall %if type&real bit = 0
#line 3670 "regression-compile-tmp/vax-pass2.imp"
if (((((TYPE) & (32))) != (0))) goto L_02d0;
#line 3670 "regression-compile-tmp/vax-pass2.imp"
FLOAT(V);
#line 3670 "regression-compile-tmp/vax-pass2.imp"
TYPE = 36;
#line 3670 "regression-compile-tmp/vax-pass2.imp"
L_02d0:;
                                                                //   3671                 %if reg = any %start
#line 3671 "regression-compile-tmp/vax-pass2.imp"
if (((REG) != (17))) goto L_02d1;
                                                                //   3672                    %return %if v_form = v in r %and v_type = reall
#line 3672 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (1))) goto L_02d2;
#line 3672 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) != (36))) goto L_02d2;
#line 3672 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3672 "regression-compile-tmp/vax-pass2.imp"
L_02d2:;
                                                                //   3673                    reg = fpr
#line 3673 "regression-compile-tmp/vax-pass2.imp"
REG = FPR();
                                                                //   3674                 %else
#line 3674 "regression-compile-tmp/vax-pass2.imp"
goto L_02d3;
#line 3674 "regression-compile-tmp/vax-pass2.imp"
L_02d1:;
                                                                //   3675                    %return %if reg = v_base
#line 3675 "regression-compile-tmp/vax-pass2.imp"
if (((REG) != (V->BASE))) goto L_02d4;
#line 3675 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 3675 "regression-compile-tmp/vax-pass2.imp"
L_02d4:;
                                                                //   3676                    hazard (reg)
#line 3676 "regression-compile-tmp/vax-pass2.imp"
HAZARD(REG);
                                                                //   3677                 %finish
#line 3677 "regression-compile-tmp/vax-pass2.imp"
L_02d3:;
                                                                //   3678              %finish
                                                                //   3679           %finish
#line 3679 "regression-compile-tmp/vax-pass2.imp"
L_02c0:;
                                                                //   3680           op = (7+type&7)*8 + vtype&7
#line 3680 "regression-compile-tmp/vax-pass2.imp"
OP = ((((((int)(((7) + ((int)(((TYPE) & (7))))))) * (8)))) + (((VTYPE) & (7))));
                                                                //   3681           op = movl %if type = integers %or zero (v)
#line 3681 "regression-compile-tmp/vax-pass2.imp"
if (((TYPE) == (16))) goto L_02d5;
#line 3681 "regression-compile-tmp/vax-pass2.imp"
if (!(ZERO(V))) goto L_02d6;
#line 3681 "regression-compile-tmp/vax-pass2.imp"
L_02d5:;
#line 3681 "regression-compile-tmp/vax-pass2.imp"
OP = 8968;
#line 3681 "regression-compile-tmp/vax-pass2.imp"
L_02d6:;
                                                                //   3682           %if v_form = av in s %or v_form = av in rec %start
#line 3682 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) == (3))) goto L_02d7;
#line 3682 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (6))) goto L_02d8;
#line 3682 "regression-compile-tmp/vax-pass2.imp"
L_02d7:;
                                                                //   3683              op = moval + type&7
#line 3683 "regression-compile-tmp/vax-pass2.imp"
OP = ((4112) + ((int)(((TYPE) & (7)))));
                                                                //   3684              v_form = v_form - 1
#line 3684 "regression-compile-tmp/vax-pass2.imp"
V->FORM = (((int)(V->FORM)) - (1));
                                                                //   3685           %finish
#line 3685 "regression-compile-tmp/vax-pass2.imp"
L_02d8:;
                                                                //   3686           address (v)
#line 3686 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(V);
                                                                //   3687           scale index (op, v)
#line 3687 "regression-compile-tmp/vax-pass2.imp"
SCALEINDEX(&OP, V);
                                                                //   3688           plant2 (op, v, regv(reg))
#line 3688 "regression-compile-tmp/vax-pass2.imp"
PLANT2(OP, V, &(REGV-1)[REG]);
                                                                //   3689        set:
#line 3689 "regression-compile-tmp/vax-pass2.imp"
U_1005:;
                                                                //   3690           clear (v)
#line 3690 "regression-compile-tmp/vax-pass2.imp"
CLEAR(V);
                                                                //   3691           claim (reg)
#line 3691 "regression-compile-tmp/vax-pass2.imp"
CLAIM(REG);
                                                                //   3692           v_type = vtype
#line 3692 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = VTYPE;
                                                                //   3693           v_form = v in r
#line 3693 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 1;
                                                                //   3694           v_base = reg
#line 3694 "regression-compile-tmp/vax-pass2.imp"
V->BASE = REG;
                                                                //   3695           v_disp = 0;  v_extra = 0
#line 3695 "regression-compile-tmp/vax-pass2.imp"
V->DISP = 0;
#line 3695 "regression-compile-tmp/vax-pass2.imp"
V->EXTRA = 0;
                                                                //   3696           v_xno  = 0;  v_flags = 0
#line 3696 "regression-compile-tmp/vax-pass2.imp"
V->XNO = 0;
#line 3696 "regression-compile-tmp/vax-pass2.imp"
V->FLAGS = 0;
                                                                //   3697        %end
#line 3697 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
sw7_ROP_7:;
sw7_ROP_11:;
sw7_ROP_12:;
sw7_ROP_13:;
sw7_ROP_14:;
sw7_ROP_15:;
sw7_ROP_16:;
sw7_ROP_17:;
sw7_ROP_18:;
sw7_ROP_19:;
sw7_ROP_20:;
sw7_ROP_21:;
sw7_ROP_22:;
sw7_ROP_24:;
sw7_ROP_25:;
sw7_ROP_26:;
sw7_ROP_28:;
sw7_ROP_29:;
goto sw7_ROP_default;
sw6_IOP_11:;
sw6_IOP_18:;
sw6_IOP_19:;
sw6_IOP_20:;
sw6_IOP_21:;
sw6_IOP_22:;
sw6_IOP_23:;
sw6_IOP_24:;
sw6_IOP_25:;
sw6_IOP_26:;
sw6_IOP_29:;
goto sw6_IOP_default;
} // End of block LOAD at level 3
                                                                //   3698  
                                                                //   3699        %routine  COP (%integer op, %integername l, %integer r)
#line 3699 "regression-compile-tmp/vax-pass2.imp"
void COP( int OP, int /*name*/*L, int R )
#line 3699 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3700           !perform a compile-time operation
                                                                //   3701           %switch  c (not : brem)
#line 3701 "regression-compile-tmp/vax-pass2.imp"
static int sw8_C_idx;
static const void * /*SWITCH*/ sw8_C[23] = { &&sw8_C_7, &&sw8_C_8, &&sw8_C_9, &&sw8_C_10, &&sw8_C_11, &&sw8_C_12, &&sw8_C_13, &&sw8_C_14, &&sw8_C_15, &&sw8_C_16, &&sw8_C_17, &&sw8_C_18, &&sw8_C_19, &&sw8_C_20, &&sw8_C_21, &&sw8_C_22, &&sw8_C_23, &&sw8_C_24, &&sw8_C_25, &&sw8_C_26, &&sw8_C_27, &&sw8_C_28, &&sw8_C_29,  };
                                                                //   3702           -> c (op)
#line 3702 "regression-compile-tmp/vax-pass2.imp"
sw8_C_idx = OP; if ((7 <= sw8_C_idx) && (sw8_C_idx <= 29)) goto *(sw8_C-7)[sw8_C_idx];  /* Bounds=7:29 */ else {
   /*_imp_signal(8, 2, sw8_C_idx);*/
   fprintf(stderr, "%%SWITCH index C(%d) not in range 7:29 at %s:%d\n",
           sw8_C_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   3703        c(add):   l = l+r;        %return
#line 3703 "regression-compile-tmp/vax-pass2.imp"
sw8_C_9:;
#line 3703 "regression-compile-tmp/vax-pass2.imp"
*L = ((*(int *)(L)) + (R));
#line 3703 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3704        c(sub):   l = l-r;        %return
#line 3704 "regression-compile-tmp/vax-pass2.imp"
sw8_C_10:;
#line 3704 "regression-compile-tmp/vax-pass2.imp"
*L = ((*(int *)(L)) - (R));
#line 3704 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3705        c(bsub):  l = r-l;        %return
#line 3705 "regression-compile-tmp/vax-pass2.imp"
sw8_C_11:;
#line 3705 "regression-compile-tmp/vax-pass2.imp"
*L = (((int)(R)) - (*L));
#line 3705 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3706        c(mul):   l = l*r;        %return
#line 3706 "regression-compile-tmp/vax-pass2.imp"
sw8_C_27:;
#line 3706 "regression-compile-tmp/vax-pass2.imp"
*L = ((*(int *)(L)) * (R));
#line 3706 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3707        c(div):   error ('*', "cannot divide by 0") %and r = 1 %if r = 0
#line 3707 "regression-compile-tmp/vax-pass2.imp"
sw8_C_17:;
#line 3707 "regression-compile-tmp/vax-pass2.imp"
if (((R) != (0))) goto L_02d9;
#line 3707 "regression-compile-tmp/vax-pass2.imp"
ERROR(42, _imp_str_literal("cannot divide by 0"));
#line 3707 "regression-compile-tmp/vax-pass2.imp"
R = 1;
#line 3707 "regression-compile-tmp/vax-pass2.imp"
L_02d9:;
                                                                //   3708                  l = l//r;       %return
#line 3708 "regression-compile-tmp/vax-pass2.imp"
*L = (long)((long)(*(int *)(L)) / (long)((int)(_Z(R))));
#line 3708 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3709        c(remy):  error ('*', "cannot take REM (c, 0)") %and r = 1 %if r = 0
#line 3709 "regression-compile-tmp/vax-pass2.imp"
sw8_C_28:;
#line 3709 "regression-compile-tmp/vax-pass2.imp"
if (((R) != (0))) goto L_02da;
#line 3709 "regression-compile-tmp/vax-pass2.imp"
ERROR(42, _imp_str_literal("cannot take REM (c, 0)"));
#line 3709 "regression-compile-tmp/vax-pass2.imp"
R = 1;
#line 3709 "regression-compile-tmp/vax-pass2.imp"
L_02da:;
                                                                //   3710                  l = l-l//r*r;  %return
#line 3710 "regression-compile-tmp/vax-pass2.imp"
*L = ((*L) - (((((long)((long)(*(int *)(L)) / (long)((int)(_Z(R)))))) * (R))));
#line 3710 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3711        c(bic):   l = l&(\r);     %return
#line 3711 "regression-compile-tmp/vax-pass2.imp"
sw8_C_12:;
#line 3711 "regression-compile-tmp/vax-pass2.imp"
*L = ((*L) & ((~(R))));
#line 3711 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3712        c(or ):   l = l!r;        %return
#line 3712 "regression-compile-tmp/vax-pass2.imp"
sw8_C_13:;
#line 3712 "regression-compile-tmp/vax-pass2.imp"
*L = ((*L) | (R));
#line 3712 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3713        c(xor):   l = l!!r;       %return
#line 3713 "regression-compile-tmp/vax-pass2.imp"
sw8_C_14:;
#line 3713 "regression-compile-tmp/vax-pass2.imp"
*L = ((*L) ^ (R));
#line 3713 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3714        c(rsh):!!!!!! rsh is same as lsh with shift negated, so << NOT >>
#line 3714 "regression-compile-tmp/vax-pass2.imp"
sw8_C_16:;
                                                                //   3715        c(lsh):   l = l>>(-r);       %return
#line 3715 "regression-compile-tmp/vax-pass2.imp"
sw8_C_15:;
#line 3715 "regression-compile-tmp/vax-pass2.imp"
*L = (int)(((*(unsigned int *)(L)) >> ((-(R)))));
#line 3715 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3716        c(exp):   l = l\\r;       %return
#line 3716 "regression-compile-tmp/vax-pass2.imp"
sw8_C_21:;
#line 3716 "regression-compile-tmp/vax-pass2.imp"
*L = _imp_IEXP(*L, R);
#line 3716 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   3717        c(neg):
#line 3717 "regression-compile-tmp/vax-pass2.imp"
sw8_C_8:;
                                                                //   3718        c(not):
#line 3718 "regression-compile-tmp/vax-pass2.imp"
sw8_C_7:;
                                                                //   3719        c(rdiv):
#line 3719 "regression-compile-tmp/vax-pass2.imp"
sw8_C_23:;
                                                                //   3720        c(rexp):
#line 3720 "regression-compile-tmp/vax-pass2.imp"
sw8_C_22:;
                                                                //   3721        c(*):
#line 3721 "regression-compile-tmp/vax-pass2.imp"
sw8_C_default:;
                                                                //   3722           abort (19)
#line 3722 "regression-compile-tmp/vax-pass2.imp"
ABORT(19);
                                                                //   3723        %end
#line 3723 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
sw8_C_18:;
sw8_C_19:;
sw8_C_20:;
sw8_C_24:;
sw8_C_25:;
sw8_C_26:;
sw8_C_29:;
goto sw8_C_default;
} // End of block COP at level 3
                                                                //   3724  
                                                                //   3725        %routine  OPERATE (%integer oper)
#line 3725 "regression-compile-tmp/vax-pass2.imp"
void OPERATE( int OPER )
#line 3725 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3726           %integer  key, lcon, rcon, wcon, lop, rop, scale, j
#line 3726 "regression-compile-tmp/vax-pass2.imp"
int KEY;
#line 3726 "regression-compile-tmp/vax-pass2.imp"
int LCON;
#line 3726 "regression-compile-tmp/vax-pass2.imp"
int RCON;
#line 3726 "regression-compile-tmp/vax-pass2.imp"
int WCON;
#line 3726 "regression-compile-tmp/vax-pass2.imp"
int LOP;
#line 3726 "regression-compile-tmp/vax-pass2.imp"
int ROP;
#line 3726 "regression-compile-tmp/vax-pass2.imp"
int SCALE;
#line 3726 "regression-compile-tmp/vax-pass2.imp"
int J;
                                                                //   3727           %record(stackfm) %name  with, lh, rh
#line 3727 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*WITH;
#line 3727 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*LH;
#line 3727 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*RH;
                                                                //   3728  
                                                                //   3729           %routine  LOSE (%record(stackfm) %name  v)
#line 3729 "regression-compile-tmp/vax-pass2.imp"
void LOSE(  STACKFM /*name*/*V )
#line 3729 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3730              %if v_oper > neg %start
#line 3730 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) <= (8))) goto L_02db;
                                                                //   3731                 clear (v_link);  drop (v_link)
#line 3731 "regression-compile-tmp/vax-pass2.imp"
CLEAR(V->LINK);
#line 3731 "regression-compile-tmp/vax-pass2.imp"
DROP(V->LINK);
                                                                //   3732              %finish
#line 3732 "regression-compile-tmp/vax-pass2.imp"
L_02db:;
                                                                //   3733              clear (v);  drop (v)
#line 3733 "regression-compile-tmp/vax-pass2.imp"
CLEAR(V);
#line 3733 "regression-compile-tmp/vax-pass2.imp"
DROP(V);
                                                                //   3734           %end
#line 3734 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block LOSE at level 4
                                                                //   3735  
                                                                //   3736           %routine  SWAP
#line 3736 "regression-compile-tmp/vax-pass2.imp"
void SWAP( void )
#line 3736 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3737              %record(stackfm)  temp
#line 3737 "regression-compile-tmp/vax-pass2.imp"
 STACKFM TEMP;
                                                                //   3738              %integer  t
#line 3738 "regression-compile-tmp/vax-pass2.imp"
int T;
                                                                //   3739              temp = lh;    lh   = rh;    rh   = temp
#line 3739 "regression-compile-tmp/vax-pass2.imp"
TEMP = *LH;
#line 3739 "regression-compile-tmp/vax-pass2.imp"
*LH = *RH;
#line 3739 "regression-compile-tmp/vax-pass2.imp"
*RH = TEMP;
                                                                //   3740              t    = lcon;  lcon = rcon;  rcon = t
#line 3740 "regression-compile-tmp/vax-pass2.imp"
T = LCON;
#line 3740 "regression-compile-tmp/vax-pass2.imp"
LCON = RCON;
#line 3740 "regression-compile-tmp/vax-pass2.imp"
RCON = T;
                                                                //   3741              lop = lh_oper;  rop = rh_oper
#line 3741 "regression-compile-tmp/vax-pass2.imp"
LOP = LH->OPER;
#line 3741 "regression-compile-tmp/vax-pass2.imp"
ROP = RH->OPER;
                                                                //   3742           %end
#line 3742 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SWAP at level 4
                                                                //   3743  
                                                                //   3744           %predicate  GOOD BASE (%record(stack fm) %name  v, %integer mult)
#line 3744 "regression-compile-tmp/vax-pass2.imp"
int /*Boolean*/ GOODBASE(  STACKFM /*name*/*V, int MULT )
#line 3744 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3745              ! Is v a suitable candidate for doing addition
                                                                //   3746              ! by address op fiddling?
                                                                //   3747              %integer f, t, d
#line 3747 "regression-compile-tmp/vax-pass2.imp"
int F;
#line 3747 "regression-compile-tmp/vax-pass2.imp"
int T;
#line 3747 "regression-compile-tmp/vax-pass2.imp"
int D;
                                                                //   3748              ! directly usable?
                                                                //   3749              %false %if v_flags&indexed # 0;        ! already indexed
#line 3749 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FLAGS) & (1))) == (0))) goto L_02dc;
#line 3749 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 3749 "regression-compile-tmp/vax-pass2.imp"
L_02dc:;
                                                                //   3750              %false %if v_oper # 0
#line 3750 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) == (0))) goto L_02dd;
#line 3750 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 3750 "regression-compile-tmp/vax-pass2.imp"
L_02dd:;
                                                                //   3751              %if v_form = constant %and v_type = integers %and
#line 3751 "regression-compile-tmp/vax-pass2.imp"
if (((V->FORM) != (0))) goto L_02de;
#line 3751 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) != (16))) goto L_02de;
#line 3751 "regression-compile-tmp/vax-pass2.imp"
if ((((0) > (V->DISP))) || (((V->DISP) <= (63)))) goto L_02de;
#line 3751 "regression-compile-tmp/vax-pass2.imp"
L_02df:;
#line 3751 "regression-compile-tmp/vax-pass2.imp"
if (((MULT) == (1))) goto L_02de;
                                                                //   3752                  %not 0 <= v_disp <= 63 %and mult # 1 %start
                                                                //   3753                 v_form = av in s;   v_base = 0
#line 3753 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 3;
#line 3753 "regression-compile-tmp/vax-pass2.imp"
V->BASE = 0;
                                                                //   3754              %finish
#line 3754 "regression-compile-tmp/vax-pass2.imp"
L_02de:;
                                                                //   3755              f = v_form;  t = v_type
#line 3755 "regression-compile-tmp/vax-pass2.imp"
F = V->FORM;
#line 3755 "regression-compile-tmp/vax-pass2.imp"
T = V->TYPE;
                                                                //   3756              %true %if f = av in s %or
#line 3756 "regression-compile-tmp/vax-pass2.imp"
if (((F) == (3))) goto L_02e0;
#line 3756 "regression-compile-tmp/vax-pass2.imp"
if (((MULT) == (1))) goto L_02e1;
#line 3756 "regression-compile-tmp/vax-pass2.imp"
if (((T) != (16))) goto L_02e1;
#line 3756 "regression-compile-tmp/vax-pass2.imp"
if (((F) != (2))) goto L_02e1;
#line 3756 "regression-compile-tmp/vax-pass2.imp"
L_02e0:;
#line 3756 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
#line 3756 "regression-compile-tmp/vax-pass2.imp"
L_02e1:;
                                                                //   3757                        (mult # 1 %and t = integers %and
                                                                //   3758                         f = v in s);                ! useable directly
                                                                //   3759              %false %unless f = av in rec %or
#line 3759 "regression-compile-tmp/vax-pass2.imp"
if (((F) == (6))) goto L_02e2;
#line 3759 "regression-compile-tmp/vax-pass2.imp"
if (((MULT) == (1))) goto L_02e3;
#line 3759 "regression-compile-tmp/vax-pass2.imp"
if (((T) != (16))) goto L_02e3;
#line 3759 "regression-compile-tmp/vax-pass2.imp"
if (((F) == (5))) goto L_02e2;
#line 3759 "regression-compile-tmp/vax-pass2.imp"
L_02e3:;
#line 3759 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
#line 3759 "regression-compile-tmp/vax-pass2.imp"
L_02e2:;
                                                                //   3760                            (mult # 1 %and t = integers %and f = v in rec)
                                                                //   3761              v_form = v in s;  d = v_disp;  v_disp = v_extra
#line 3761 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 2;
#line 3761 "regression-compile-tmp/vax-pass2.imp"
D = V->DISP;
#line 3761 "regression-compile-tmp/vax-pass2.imp"
V->DISP = V->EXTRA;
                                                                //   3762              %if d = 0 %and f = v in rec %start
#line 3762 "regression-compile-tmp/vax-pass2.imp"
if (((D) != (0))) goto L_02e4;
#line 3762 "regression-compile-tmp/vax-pass2.imp"
if (((F) != (5))) goto L_02e4;
                                                                //   3763                 v_form = a in s
#line 3763 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 4;
                                                                //   3764                 f = av in rec;    ! => av in s
#line 3764 "regression-compile-tmp/vax-pass2.imp"
F = 6;
                                                                //   3765              %finish
#line 3765 "regression-compile-tmp/vax-pass2.imp"
L_02e4:;
                                                                //   3766              load (v, any)
#line 3766 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, 17);
                                                                //   3767              v_disp = d;  v_form = f - rec mod
#line 3767 "regression-compile-tmp/vax-pass2.imp"
V->DISP = D;
#line 3767 "regression-compile-tmp/vax-pass2.imp"
V->FORM = (((int)(F)) - (3));
                                                                //   3768              %true
#line 3768 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 1;
                                                                //   3769           %end
#line 3769 "regression-compile-tmp/vax-pass2.imp"
} // End of block GOODBASE at level 4
                                                                //   3770  
                                                                //   3771           %if diag&256 # 0 %start
#line 3771 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (256))) == (0))) goto L_02e5;
                                                                //   3772              print string ("Operate: ")
#line 3772 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("Operate: "));
                                                                //   3773              print string (op name(oper))
#line 3773 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING((OPNAME-7)[OPER]);
                                                                //   3774              newline
#line 3774 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   3775           %finish
#line 3775 "regression-compile-tmp/vax-pass2.imp"
L_02e5:;
                                                                //   3776  
                                                                //   3777           %if oper <= neg %start;    !unary
#line 3777 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) > (8))) goto L_02e6;
                                                                //   3778              abort (17) %if stp <= 0
#line 3778 "regression-compile-tmp/vax-pass2.imp"
if (((STP) > (0))) goto L_02e7;
#line 3778 "regression-compile-tmp/vax-pass2.imp"
ABORT(17);
#line 3778 "regression-compile-tmp/vax-pass2.imp"
L_02e7:;
                                                                //   3779              lh == stacked(stp);  lop = lh_oper
#line 3779 "regression-compile-tmp/vax-pass2.imp"
LH = STACKED[(((int)(STP)) - (1))];
#line 3779 "regression-compile-tmp/vax-pass2.imp"
LOP = LH->OPER;
                                                                //   3780              monitor (lh, "Oper in TOS") %if diag&256 # 0
#line 3780 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (256))) == (0))) goto L_02e8;
#line 3780 "regression-compile-tmp/vax-pass2.imp"
MONITOR(LH, _imp_str_literal("Oper in TOS"));
#line 3780 "regression-compile-tmp/vax-pass2.imp"
L_02e8:;
                                                                //   3781              %if const (lh) %start
#line 3781 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(LH))) goto L_02e9;
                                                                //   3782                 lh_disp = \lh_disp+oper-not;  ! generates - or \ as req.
#line 3782 "regression-compile-tmp/vax-pass2.imp"
LH->DISP = (((((~(LH->DISP))) + (OPER))) - (7));
                                                                //   3783              %else %if lh_form = constant %and lop = 0;  ! real constant
#line 3783 "regression-compile-tmp/vax-pass2.imp"
goto L_02ea;
#line 3783 "regression-compile-tmp/vax-pass2.imp"
L_02e9:;
#line 3783 "regression-compile-tmp/vax-pass2.imp"
if (((LH->FORM) != (0))) goto L_02eb;
#line 3783 "regression-compile-tmp/vax-pass2.imp"
if (((LOP) != (0))) goto L_02eb;
                                                                //   3784                 lh_lrval = -lh_lrval
#line 3784 "regression-compile-tmp/vax-pass2.imp"
LH->LRVAL = (-(LH->LRVAL));
                                                                //   3785              %else %if 0 # lop <= neg;        ! unary pending
#line 3785 "regression-compile-tmp/vax-pass2.imp"
goto L_02ea;
#line 3785 "regression-compile-tmp/vax-pass2.imp"
L_02eb:;
#line 3785 "regression-compile-tmp/vax-pass2.imp"
if ((((0) == (LOP))) || (((LOP) > (8)))) goto L_02ec;
                                                                //   3786                 %if oper = lop %start;        ! -(-A) => A
#line 3786 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (LOP))) goto L_02ed;
                                                                //   3787                    lh_oper = 0
#line 3787 "regression-compile-tmp/vax-pass2.imp"
LH->OPER = 0;
                                                                //   3788                 %else
#line 3788 "regression-compile-tmp/vax-pass2.imp"
goto L_02ee;
#line 3788 "regression-compile-tmp/vax-pass2.imp"
L_02ed:;
                                                                //   3789                    cstack (2*(oper-not)-1);   ! neg=8,not=7
#line 3789 "regression-compile-tmp/vax-pass2.imp"
CSTACK((((int)(((2) * ((int)((((int)(OPER)) - (7))))))) - (1)));
                                                                //   3790                    operate (add)
#line 3790 "regression-compile-tmp/vax-pass2.imp"
OPERATE(9);
                                                                //   3791                 %finish
#line 3791 "regression-compile-tmp/vax-pass2.imp"
L_02ee:;
                                                                //   3792              %else
#line 3792 "regression-compile-tmp/vax-pass2.imp"
goto L_02ea;
#line 3792 "regression-compile-tmp/vax-pass2.imp"
L_02ec:;
                                                                //   3793                 %if lop # 0 %start
#line 3793 "regression-compile-tmp/vax-pass2.imp"
if (((LOP) == (0))) goto L_02ef;
                                                                //   3794                    %if oper = neg %and lop = sub %start
#line 3794 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (8))) goto L_02f0;
#line 3794 "regression-compile-tmp/vax-pass2.imp"
if (((LOP) != (10))) goto L_02f0;
                                                                //   3795                       ! -(A-B) => B-A
                                                                //   3796                       with == lh_link;  lh_link == null; oper = 0
#line 3796 "regression-compile-tmp/vax-pass2.imp"
WITH = LH->LINK;
#line 3796 "regression-compile-tmp/vax-pass2.imp"
LH->LINK = NULL;
#line 3796 "regression-compile-tmp/vax-pass2.imp"
OPER = 0;
                                                                //   3797                       with_link == lh;  with_oper = sub
#line 3797 "regression-compile-tmp/vax-pass2.imp"
WITH->LINK = LH;
#line 3797 "regression-compile-tmp/vax-pass2.imp"
WITH->OPER = 10;
                                                                //   3798                       stacked(stp) == with
#line 3798 "regression-compile-tmp/vax-pass2.imp"
STACKED[(((int)(STP)) - (1))] = WITH;
                                                                //   3799                    %else
#line 3799 "regression-compile-tmp/vax-pass2.imp"
goto L_02f1;
#line 3799 "regression-compile-tmp/vax-pass2.imp"
L_02f0:;
                                                                //   3800                       load (lh, any)
#line 3800 "regression-compile-tmp/vax-pass2.imp"
LOAD(LH, 17);
                                                                //   3801                    %finish
#line 3801 "regression-compile-tmp/vax-pass2.imp"
L_02f1:;
                                                                //   3802                 %finish
#line 3802 "regression-compile-tmp/vax-pass2.imp"
L_02ef:;
                                                                //   3803                 lh_oper = oper;  lh_link == null
#line 3803 "regression-compile-tmp/vax-pass2.imp"
LH->OPER = OPER;
#line 3803 "regression-compile-tmp/vax-pass2.imp"
LH->LINK = NULL;
                                                                //   3804              %finish
#line 3804 "regression-compile-tmp/vax-pass2.imp"
L_02ea:;
                                                                //   3805              -> out
#line 3805 "regression-compile-tmp/vax-pass2.imp"
goto U_1007;
                                                                //   3806           %finish
#line 3806 "regression-compile-tmp/vax-pass2.imp"
L_02e6:;
                                                                //   3807  
                                                                //   3808           abort (18) %if stp <= 1
#line 3808 "regression-compile-tmp/vax-pass2.imp"
if (((STP) > (1))) goto L_02f2;
#line 3808 "regression-compile-tmp/vax-pass2.imp"
ABORT(18);
#line 3808 "regression-compile-tmp/vax-pass2.imp"
L_02f2:;
                                                                //   3809           stp = stp - 1;                     ! pop one
#line 3809 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   3810           lcon = 0;  rcon = 0;  wcon = 0
#line 3810 "regression-compile-tmp/vax-pass2.imp"
LCON = 0;
#line 3810 "regression-compile-tmp/vax-pass2.imp"
RCON = 0;
#line 3810 "regression-compile-tmp/vax-pass2.imp"
WCON = 0;
                                                                //   3811           lh == stacked(stp)
#line 3811 "regression-compile-tmp/vax-pass2.imp"
LH = STACKED[(((int)(STP)) - (1))];
                                                                //   3812           rh == stacked(stp+1)
#line 3812 "regression-compile-tmp/vax-pass2.imp"
RH = STACKED[(((int)((((int)(STP)) + (1)))) - (1))];
                                                                //   3813  
                                                                //   3814           %if diag&256 # 0 %start
#line 3814 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (256))) == (0))) goto L_02f3;
                                                                //   3815              monitor (lh, "Oper in LHS")
#line 3815 "regression-compile-tmp/vax-pass2.imp"
MONITOR(LH, _imp_str_literal("Oper in LHS"));
                                                                //   3816              monitor (rh, "Oper in RHS")
#line 3816 "regression-compile-tmp/vax-pass2.imp"
MONITOR(RH, _imp_str_literal("Oper in RHS"));
                                                                //   3817           %finish
#line 3817 "regression-compile-tmp/vax-pass2.imp"
L_02f3:;
                                                                //   3818  
                                                                //   3819           ! LH oper RH
                                                                //   3820  
                                                                //   3821           %if const (lh) %start
#line 3821 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(LH))) goto L_02f4;
                                                                //   3822              %if lh_disp = lnull op(oper) # no null %start
#line 3822 "regression-compile-tmp/vax-pass2.imp"
if ((((LH->DISP) != ((LNULLOP-9)[OPER]))) || ((((LNULLOP-9)[OPER]) == (2)))) goto L_02f5;
                                                                //   3823                 ! eg 0 + RH
                                                                //   3824                 stacked(stp) == rh
#line 3824 "regression-compile-tmp/vax-pass2.imp"
STACKED[(((int)(STP)) - (1))] = RH;
                                                                //   3825                 drop (lh)
#line 3825 "regression-compile-tmp/vax-pass2.imp"
DROP(LH);
                                                                //   3826                 -> out
#line 3826 "regression-compile-tmp/vax-pass2.imp"
goto U_1007;
                                                                //   3827              %finish
#line 3827 "regression-compile-tmp/vax-pass2.imp"
L_02f5:;
                                                                //   3828              %if lh_disp = 0 %and
#line 3828 "regression-compile-tmp/vax-pass2.imp"
if (((LH->DISP) != (0))) goto L_02f6;
#line 3828 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) == (16))) goto L_02f7;
#line 3828 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) == (15))) goto L_02f7;
#line 3828 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (28))) goto L_02f6;
#line 3828 "regression-compile-tmp/vax-pass2.imp"
L_02f7:;
                                                                //   3829                  (oper = rsh %or oper = lsh %or oper = remy) %start
                                                                //   3830                 ! 0>>anything = 0
                                                                //   3831                 ! 0<<anything = 0
                                                                //   3832                 ! rem (0, anything) = 0
                                                                //   3833                 lose (rh)
#line 3833 "regression-compile-tmp/vax-pass2.imp"
LOSE(RH);
                                                                //   3834                 lh_disp = 0
#line 3834 "regression-compile-tmp/vax-pass2.imp"
LH->DISP = 0;
                                                                //   3835                 -> out
#line 3835 "regression-compile-tmp/vax-pass2.imp"
goto U_1007;
                                                                //   3836              %finish
#line 3836 "regression-compile-tmp/vax-pass2.imp"
L_02f6:;
                                                                //   3837              lcon = 1
#line 3837 "regression-compile-tmp/vax-pass2.imp"
LCON = 1;
                                                                //   3838           %finish
#line 3838 "regression-compile-tmp/vax-pass2.imp"
L_02f4:;
                                                                //   3839           %if const (rh) %start
#line 3839 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(RH))) goto L_02f8;
                                                                //   3840              %if rh_disp = rnull op(oper) # no null %start
#line 3840 "regression-compile-tmp/vax-pass2.imp"
if ((((RH->DISP) != ((RNULLOP-9)[OPER]))) || ((((RNULLOP-9)[OPER]) == (2)))) goto L_02f9;
                                                                //   3841                 ! eg LH // 1
                                                                //   3842                 drop (rh)
#line 3842 "regression-compile-tmp/vax-pass2.imp"
DROP(RH);
                                                                //   3843                 -> out
#line 3843 "regression-compile-tmp/vax-pass2.imp"
goto U_1007;
                                                                //   3844              %else %if (oper = rsh %and rh_disp > 31) %or
#line 3844 "regression-compile-tmp/vax-pass2.imp"
L_02f9:;
#line 3844 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (16))) goto L_02fa;
#line 3844 "regression-compile-tmp/vax-pass2.imp"
if (((RH->DISP) > (31))) goto L_02fb;
#line 3844 "regression-compile-tmp/vax-pass2.imp"
L_02fa:;
#line 3844 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (15))) goto L_02fc;
#line 3844 "regression-compile-tmp/vax-pass2.imp"
if (((RH->DISP) >= ((-31)))) goto L_02fc;
#line 3844 "regression-compile-tmp/vax-pass2.imp"
L_02fb:;
                                                                //   3845                        (oper = lsh %and rh_disp < -31)
                                                                //   3846                 ! eg J << 45 = 0
                                                                //   3847                 lose (lh)
#line 3847 "regression-compile-tmp/vax-pass2.imp"
LOSE(LH);
                                                                //   3848                 stacked(stp) == rh;  rh_disp = 0
#line 3848 "regression-compile-tmp/vax-pass2.imp"
STACKED[(((int)(STP)) - (1))] = RH;
#line 3848 "regression-compile-tmp/vax-pass2.imp"
RH->DISP = 0;
                                                                //   3849                 -> out
#line 3849 "regression-compile-tmp/vax-pass2.imp"
goto U_1007;
                                                                //   3850              %else %if oper = remy %and |rh_disp| = 1
#line 3850 "regression-compile-tmp/vax-pass2.imp"
L_02fc:;
#line 3850 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (28))) goto L_02fd;
#line 3850 "regression-compile-tmp/vax-pass2.imp"
if (((_imp_IMOD(RH->DISP)) != (1))) goto L_02fd;
                                                                //   3851                 ! rem(x,1) = rem(x,-1) = 0
                                                                //   3852                 lose (lh)
#line 3852 "regression-compile-tmp/vax-pass2.imp"
LOSE(LH);
                                                                //   3853                 stacked(stp) == rh;  rh_disp = 0
#line 3853 "regression-compile-tmp/vax-pass2.imp"
STACKED[(((int)(STP)) - (1))] = RH;
#line 3853 "regression-compile-tmp/vax-pass2.imp"
RH->DISP = 0;
                                                                //   3854                 -> out
#line 3854 "regression-compile-tmp/vax-pass2.imp"
goto U_1007;
                                                                //   3855              %finish
#line 3855 "regression-compile-tmp/vax-pass2.imp"
L_02fd:;
                                                                //   3856              rcon = 1
#line 3856 "regression-compile-tmp/vax-pass2.imp"
RCON = 1;
                                                                //   3857              %if oper = sub %start
#line 3857 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (10))) goto L_02fe;
                                                                //   3858                 rh_disp = -rh_disp
#line 3858 "regression-compile-tmp/vax-pass2.imp"
RH->DISP = (-(RH->DISP));
                                                                //   3859                 oper = add
#line 3859 "regression-compile-tmp/vax-pass2.imp"
OPER = 9;
                                                                //   3860              %finish
#line 3860 "regression-compile-tmp/vax-pass2.imp"
L_02fe:;
                                                                //   3861           %finish
#line 3861 "regression-compile-tmp/vax-pass2.imp"
L_02f8:;
                                                                //   3862           %if lcon&rcon # 0 %and oper # rdiv %and oper # rexp %start
#line 3862 "regression-compile-tmp/vax-pass2.imp"
if (((((LCON) & (RCON))) == (0))) goto L_02ff;
#line 3862 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) == (23))) goto L_02ff;
#line 3862 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) == (22))) goto L_02ff;
                                                                //   3863              cop (oper, lh_disp, rh_disp);  drop (rh)
#line 3863 "regression-compile-tmp/vax-pass2.imp"
COP(OPER, &LH->DISP, RH->DISP);
#line 3863 "regression-compile-tmp/vax-pass2.imp"
DROP(RH);
                                                                //   3864              -> out
#line 3864 "regression-compile-tmp/vax-pass2.imp"
goto U_1007;
                                                                //   3865           %finish
#line 3865 "regression-compile-tmp/vax-pass2.imp"
L_02ff:;
                                                                //   3866           swap %if lcon # 0 %and comm(oper) # 0;  ! get var oper const
#line 3866 "regression-compile-tmp/vax-pass2.imp"
if (((LCON) == (0))) goto L_0300;
#line 3866 "regression-compile-tmp/vax-pass2.imp"
if ((((COMM-9)[OPER]) == (0))) goto L_0300;
#line 3866 "regression-compile-tmp/vax-pass2.imp"
SWAP();
#line 3866 "regression-compile-tmp/vax-pass2.imp"
L_0300:;
                                                                //   3867           lop = lh_oper;   rop = rh_oper
#line 3867 "regression-compile-tmp/vax-pass2.imp"
LOP = LH->OPER;
#line 3867 "regression-compile-tmp/vax-pass2.imp"
ROP = RH->OPER;
                                                                //   3868           %if lop # 0 %start
#line 3868 "regression-compile-tmp/vax-pass2.imp"
if (((LOP) == (0))) goto L_0301;
                                                                //   3869              ! (LH lop WITH) oper RH
                                                                //   3870              with == lh_link
#line 3870 "regression-compile-tmp/vax-pass2.imp"
WITH = LH->LINK;
                                                                //   3871              wcon = 1 %if lop > neg %and const (with)
#line 3871 "regression-compile-tmp/vax-pass2.imp"
if (((LOP) <= (8))) goto L_0302;
#line 3871 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(WITH))) goto L_0302;
#line 3871 "regression-compile-tmp/vax-pass2.imp"
WCON = 1;
#line 3871 "regression-compile-tmp/vax-pass2.imp"
L_0302:;
                                                                //   3872              %if wcon&rcon # 0 %start
#line 3872 "regression-compile-tmp/vax-pass2.imp"
if (((((WCON) & (RCON))) == (0))) goto L_0303;
                                                                //   3873                 key = trans(oper)!trans(lop)
#line 3873 "regression-compile-tmp/vax-pass2.imp"
KEY = (((TRANS-9)[OPER]) | ((TRANS-9)[LOP]));
                                                                //   3874                 %if key = 0 %or (key = 1 %and oper = lop) %start
#line 3874 "regression-compile-tmp/vax-pass2.imp"
if (((KEY) == (0))) goto L_0304;
#line 3874 "regression-compile-tmp/vax-pass2.imp"
if (((KEY) != (1))) goto L_0305;
#line 3874 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (LOP))) goto L_0305;
#line 3874 "regression-compile-tmp/vax-pass2.imp"
L_0304:;
                                                                //   3875                    cop (oper, with_disp, rh_disp)
#line 3875 "regression-compile-tmp/vax-pass2.imp"
COP(OPER, &WITH->DISP, RH->DISP);
                                                                //   3876                    drop (rh)
#line 3876 "regression-compile-tmp/vax-pass2.imp"
DROP(RH);
                                                                //   3877                    %if with_disp = rnull op(lop) # no null %start
#line 3877 "regression-compile-tmp/vax-pass2.imp"
if ((((WITH->DISP) != ((RNULLOP-9)[LOP]))) || ((((RNULLOP-9)[LOP]) == (2)))) goto L_0306;
                                                                //   3878                       ! Can now remove WITH
                                                                //   3879                       lh_oper = 0;  drop (with)
#line 3879 "regression-compile-tmp/vax-pass2.imp"
LH->OPER = 0;
#line 3879 "regression-compile-tmp/vax-pass2.imp"
DROP(WITH);
                                                                //   3880                    %finish
#line 3880 "regression-compile-tmp/vax-pass2.imp"
L_0306:;
                                                                //   3881                    -> out
#line 3881 "regression-compile-tmp/vax-pass2.imp"
goto U_1007;
                                                                //   3882                 %finish
#line 3882 "regression-compile-tmp/vax-pass2.imp"
L_0305:;
                                                                //   3883              %finish
#line 3883 "regression-compile-tmp/vax-pass2.imp"
L_0303:;
                                                                //   3884              swap %if oper = add %and rop = 0
#line 3884 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (9))) goto L_0307;
#line 3884 "regression-compile-tmp/vax-pass2.imp"
if (((ROP) != (0))) goto L_0307;
#line 3884 "regression-compile-tmp/vax-pass2.imp"
SWAP();
#line 3884 "regression-compile-tmp/vax-pass2.imp"
L_0307:;
                                                                //   3885           %finish
#line 3885 "regression-compile-tmp/vax-pass2.imp"
L_0301:;
                                                                //   3886           load (lh, any) %if lh_oper # 0
#line 3886 "regression-compile-tmp/vax-pass2.imp"
if (((LH->OPER) == (0))) goto L_0308;
#line 3886 "regression-compile-tmp/vax-pass2.imp"
LOAD(LH, 17);
#line 3886 "regression-compile-tmp/vax-pass2.imp"
L_0308:;
                                                                //   3887           %if rcon # 0 %start
#line 3887 "regression-compile-tmp/vax-pass2.imp"
if (((RCON) == (0))) goto L_0309;
                                                                //   3888              %if rh_disp = -1 %and (oper = mul %or oper = xor) %start
#line 3888 "regression-compile-tmp/vax-pass2.imp"
if (((RH->DISP) != ((-1)))) goto L_030a;
#line 3888 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) == (27))) goto L_030b;
#line 3888 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (14))) goto L_030a;
#line 3888 "regression-compile-tmp/vax-pass2.imp"
L_030b:;
                                                                //   3889                 %if oper = mul %start
#line 3889 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (27))) goto L_030c;
                                                                //   3890                    lh_oper = neg;        ! A*(-1) -> -A
#line 3890 "regression-compile-tmp/vax-pass2.imp"
LH->OPER = 8;
                                                                //   3891                 %else
#line 3891 "regression-compile-tmp/vax-pass2.imp"
goto L_030d;
#line 3891 "regression-compile-tmp/vax-pass2.imp"
L_030c:;
                                                                //   3892                    lh_oper = not;        ! A!!(-1) -> \A
#line 3892 "regression-compile-tmp/vax-pass2.imp"
LH->OPER = 7;
                                                                //   3893                 %finish
#line 3893 "regression-compile-tmp/vax-pass2.imp"
L_030d:;
                                                                //   3894                 drop (rh);   -> out
#line 3894 "regression-compile-tmp/vax-pass2.imp"
DROP(RH);
#line 3894 "regression-compile-tmp/vax-pass2.imp"
goto U_1007;
                                                                //   3895              %else %if oper = add %and lh_type = integers
#line 3895 "regression-compile-tmp/vax-pass2.imp"
L_030a:;
#line 3895 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (9))) goto L_030e;
#line 3895 "regression-compile-tmp/vax-pass2.imp"
if (((LH->TYPE) != (16))) goto L_030e;
                                                                //   3896                 ! a+const (not short lit)
                                                                //   3897                 %if lh_form = v in r %and %not -63 <= rh_disp <= 63 %start
#line 3897 "regression-compile-tmp/vax-pass2.imp"
if (((LH->FORM) != (1))) goto L_030f;
#line 3897 "regression-compile-tmp/vax-pass2.imp"
if (((((-63)) > (RH->DISP))) || (((RH->DISP) <= (63)))) goto L_030f;
#line 3897 "regression-compile-tmp/vax-pass2.imp"
L_0310:;
                                                                //   3898                    lh_form = av in s;  lh_disp = 0
#line 3898 "regression-compile-tmp/vax-pass2.imp"
LH->FORM = 3;
#line 3898 "regression-compile-tmp/vax-pass2.imp"
LH->DISP = 0;
                                                                //   3899                 %finish
#line 3899 "regression-compile-tmp/vax-pass2.imp"
L_030f:;
                                                                //   3900                 %if (lh_form = av in s %or lh_form = av in rec) %and
#line 3900 "regression-compile-tmp/vax-pass2.imp"
if (((LH->FORM) == (3))) goto L_0311;
#line 3900 "regression-compile-tmp/vax-pass2.imp"
if (((LH->FORM) != (6))) goto L_0312;
#line 3900 "regression-compile-tmp/vax-pass2.imp"
L_0311:;
#line 3900 "regression-compile-tmp/vax-pass2.imp"
if (((((LH->FLAGS) & (2))) != (0))) goto L_0312;
                                                                //   3901                      lh_flags&xdefer = 0 %start
                                                                //   3902                    lh_disp = lh_disp+rh_disp
#line 3902 "regression-compile-tmp/vax-pass2.imp"
LH->DISP = (((int)(LH->DISP)) + (RH->DISP));
                                                                //   3903                    drop (rh);   -> out
#line 3903 "regression-compile-tmp/vax-pass2.imp"
DROP(RH);
#line 3903 "regression-compile-tmp/vax-pass2.imp"
goto U_1007;
                                                                //   3904                 %finish
#line 3904 "regression-compile-tmp/vax-pass2.imp"
L_0312:;
                                                                //   3905              %else %if oper = bic %and rh_disp = \255 %and
#line 3905 "regression-compile-tmp/vax-pass2.imp"
goto L_0313;
#line 3905 "regression-compile-tmp/vax-pass2.imp"
L_030e:;
#line 3905 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (12))) goto L_0314;
#line 3905 "regression-compile-tmp/vax-pass2.imp"
if (((RH->DISP) != ((~(255))))) goto L_0314;
#line 3905 "regression-compile-tmp/vax-pass2.imp"
if (((((LH->FLAGS) & (1))) != (0))) goto L_0314;
#line 3905 "regression-compile-tmp/vax-pass2.imp"
if (((LH->FORM) == (1))) goto L_0314;
                                                                //   3906                        lh_flags&indexed = 0 %and lh_form # v in r
                                                                //   3907                 !int&255 -> byte
                                                                //   3908                 address (lh) %and test assigned (lh) %if lh_type = integers
#line 3908 "regression-compile-tmp/vax-pass2.imp"
if (((LH->TYPE) != (16))) goto L_0315;
#line 3908 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(LH);
#line 3908 "regression-compile-tmp/vax-pass2.imp"
TESTASSIGNED(LH);
#line 3908 "regression-compile-tmp/vax-pass2.imp"
L_0315:;
                                                                //   3909                 lh_type = byte+integers
#line 3909 "regression-compile-tmp/vax-pass2.imp"
LH->TYPE = 18;
                                                                //   3910                 drop (rh);   -> out
#line 3910 "regression-compile-tmp/vax-pass2.imp"
DROP(RH);
#line 3910 "regression-compile-tmp/vax-pass2.imp"
goto U_1007;
                                                                //   3911              %finish
#line 3911 "regression-compile-tmp/vax-pass2.imp"
L_0314:;
#line 3911 "regression-compile-tmp/vax-pass2.imp"
L_0313:;
                                                                //   3912           %finish
#line 3912 "regression-compile-tmp/vax-pass2.imp"
L_0309:;
                                                                //   3913           %if oper = add %start
#line 3913 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (9))) goto L_0316;
                                                                //   3914              ! Here LH + (RH {rop X}?)
                                                                //   3915              ! Look for various fiddles involving address ops
                                                                //   3916              ! and indexing
                                                                //   3917              scale = 1
#line 3917 "regression-compile-tmp/vax-pass2.imp"
SCALE = 1;
                                                                //   3918              %if rop > neg %start
#line 3918 "regression-compile-tmp/vax-pass2.imp"
if (((ROP) <= (8))) goto L_0317;
                                                                //   3919                 with == rh_link
#line 3919 "regression-compile-tmp/vax-pass2.imp"
WITH = RH->LINK;
                                                                //   3920                 %if const (with) %and (rop = mul %or rop = lsh) %start
#line 3920 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(WITH))) goto L_0318;
#line 3920 "regression-compile-tmp/vax-pass2.imp"
if (((ROP) == (27))) goto L_0319;
#line 3920 "regression-compile-tmp/vax-pass2.imp"
if (((ROP) != (15))) goto L_0318;
#line 3920 "regression-compile-tmp/vax-pass2.imp"
L_0319:;
                                                                //   3921                    j = with_disp
#line 3921 "regression-compile-tmp/vax-pass2.imp"
J = WITH->DISP;
                                                                //   3922                    j = 1<<j %if rop = lsh
#line 3922 "regression-compile-tmp/vax-pass2.imp"
if (((ROP) != (15))) goto L_031a;
#line 3922 "regression-compile-tmp/vax-pass2.imp"
J = ((1) << (J));
#line 3922 "regression-compile-tmp/vax-pass2.imp"
L_031a:;
                                                                //   3923                    %if j = 2 %or j = 4 %or j = 8 %start
#line 3923 "regression-compile-tmp/vax-pass2.imp"
if (((J) == (2))) goto L_031b;
#line 3923 "regression-compile-tmp/vax-pass2.imp"
if (((J) == (4))) goto L_031b;
#line 3923 "regression-compile-tmp/vax-pass2.imp"
if (((J) != (8))) goto L_031c;
#line 3923 "regression-compile-tmp/vax-pass2.imp"
L_031b:;
                                                                //   3924                       scale = j
#line 3924 "regression-compile-tmp/vax-pass2.imp"
SCALE = J;
                                                                //   3925                    %finish
#line 3925 "regression-compile-tmp/vax-pass2.imp"
L_031c:;
                                                                //   3926                 %finish
#line 3926 "regression-compile-tmp/vax-pass2.imp"
L_0318:;
                                                                //   3927              %finish
#line 3927 "regression-compile-tmp/vax-pass2.imp"
L_0317:;
                                                                //   3928              %if good base (lh, scale) %start
#line 3928 "regression-compile-tmp/vax-pass2.imp"
if (!(GOODBASE(LH, SCALE))) goto L_031d;
                                                                //   3929                 ! OK
                                                                //   3930              %else %if good base (rh, 1)
#line 3930 "regression-compile-tmp/vax-pass2.imp"
goto L_031e;
#line 3930 "regression-compile-tmp/vax-pass2.imp"
L_031d:;
#line 3930 "regression-compile-tmp/vax-pass2.imp"
if (!(GOODBASE(RH, 1))) goto L_031f;
                                                                //   3931                 swap
#line 3931 "regression-compile-tmp/vax-pass2.imp"
SWAP();
                                                                //   3932              %else
#line 3932 "regression-compile-tmp/vax-pass2.imp"
goto L_031e;
#line 3932 "regression-compile-tmp/vax-pass2.imp"
L_031f:;
                                                                //   3933                 -> no joy
#line 3933 "regression-compile-tmp/vax-pass2.imp"
goto U_1008;
                                                                //   3934              %finish
#line 3934 "regression-compile-tmp/vax-pass2.imp"
L_031e:;
                                                                //   3935              %if scale # 1 %start
#line 3935 "regression-compile-tmp/vax-pass2.imp"
if (((SCALE) == (1))) goto L_0320;
                                                                //   3936                 rh_oper = 0;  rop = 0
#line 3936 "regression-compile-tmp/vax-pass2.imp"
RH->OPER = 0;
#line 3936 "regression-compile-tmp/vax-pass2.imp"
ROP = 0;
                                                                //   3937                 drop (with)
#line 3937 "regression-compile-tmp/vax-pass2.imp"
DROP(WITH);
                                                                //   3938              %finish
#line 3938 "regression-compile-tmp/vax-pass2.imp"
L_0320:;
                                                                //   3939              -> no joy %if scale = 1 %and lh_form = v in s
#line 3939 "regression-compile-tmp/vax-pass2.imp"
if (((SCALE) != (1))) goto L_0321;
#line 3939 "regression-compile-tmp/vax-pass2.imp"
if (((LH->FORM) != (2))) goto L_0321;
#line 3939 "regression-compile-tmp/vax-pass2.imp"
goto U_1008;
#line 3939 "regression-compile-tmp/vax-pass2.imp"
L_0321:;
                                                                //   3940              load (rh, any)
#line 3940 "regression-compile-tmp/vax-pass2.imp"
LOAD(RH, 17);
                                                                //   3941              lh_index = rh_base;  release (rh_base);  drop (rh)
#line 3941 "regression-compile-tmp/vax-pass2.imp"
LH->INDEX = RH->BASE;
#line 3941 "regression-compile-tmp/vax-pass2.imp"
RELEASE(RH->BASE);
#line 3941 "regression-compile-tmp/vax-pass2.imp"
DROP(RH);
                                                                //   3942              lh_flags = indexed;  claim (lh_index!128)
#line 3942 "regression-compile-tmp/vax-pass2.imp"
LH->FLAGS = 1;
#line 3942 "regression-compile-tmp/vax-pass2.imp"
CLAIM(((LH->INDEX) | (128)));
                                                                //   3943              lh_flags = lh_flags!xdefer %if lh_form = v in s
#line 3943 "regression-compile-tmp/vax-pass2.imp"
if (((LH->FORM) != (2))) goto L_0322;
#line 3943 "regression-compile-tmp/vax-pass2.imp"
LH->FLAGS = ((LH->FLAGS) | (2));
#line 3943 "regression-compile-tmp/vax-pass2.imp"
L_0322:;
                                                                //   3944              lh_iscale = scale;  lh_length = scale
#line 3944 "regression-compile-tmp/vax-pass2.imp"
LH->ISCALE = SCALE;
#line 3944 "regression-compile-tmp/vax-pass2.imp"
LH->LENGTH = SCALE;
                                                                //   3945              lh_form = av in s
#line 3945 "regression-compile-tmp/vax-pass2.imp"
LH->FORM = 3;
                                                                //   3946              -> out
#line 3946 "regression-compile-tmp/vax-pass2.imp"
goto U_1007;
                                                                //   3947  no joy:
#line 3947 "regression-compile-tmp/vax-pass2.imp"
U_1008:;
                                                                //   3948           %finish
#line 3948 "regression-compile-tmp/vax-pass2.imp"
L_0316:;
                                                                //   3949           %if rop # 0 %start
#line 3949 "regression-compile-tmp/vax-pass2.imp"
if (((ROP) == (0))) goto L_0323;
                                                                //   3950              ! LH oper (RH rop WITH)
                                                                //   3951              with == rh_link
#line 3951 "regression-compile-tmp/vax-pass2.imp"
WITH = RH->LINK;
                                                                //   3952              %if rop = neg %and (oper = add %or oper = sub) %start
#line 3952 "regression-compile-tmp/vax-pass2.imp"
if (((ROP) != (8))) goto L_0324;
#line 3952 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) == (9))) goto L_0325;
#line 3952 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (10))) goto L_0324;
#line 3952 "regression-compile-tmp/vax-pass2.imp"
L_0325:;
                                                                //   3953                 !   A+(-B) -> A-B
                                                                //   3954                 oper = add+sub-oper
#line 3954 "regression-compile-tmp/vax-pass2.imp"
OPER = (((int)(19)) - (OPER));
                                                                //   3955                 rh_oper = 0
#line 3955 "regression-compile-tmp/vax-pass2.imp"
RH->OPER = 0;
                                                                //   3956              %else
#line 3956 "regression-compile-tmp/vax-pass2.imp"
goto L_0326;
#line 3956 "regression-compile-tmp/vax-pass2.imp"
L_0324:;
                                                                //   3957                 load (rh, any)
#line 3957 "regression-compile-tmp/vax-pass2.imp"
LOAD(RH, 17);
                                                                //   3958              %finish
#line 3958 "regression-compile-tmp/vax-pass2.imp"
L_0326:;
                                                                //   3959           %finish
#line 3959 "regression-compile-tmp/vax-pass2.imp"
L_0323:;
                                                                //   3960           lh_oper = oper;  lh_link == rh
#line 3960 "regression-compile-tmp/vax-pass2.imp"
LH->OPER = OPER;
#line 3960 "regression-compile-tmp/vax-pass2.imp"
LH->LINK = RH;
                                                                //   3961  out:     monitor (lh, "Oper out") %if diag&256 # 0
#line 3961 "regression-compile-tmp/vax-pass2.imp"
U_1007:;
#line 3961 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (256))) == (0))) goto L_0327;
#line 3961 "regression-compile-tmp/vax-pass2.imp"
MONITOR(LH, _imp_str_literal("Oper out"));
#line 3961 "regression-compile-tmp/vax-pass2.imp"
L_0327:;
                                                                //   3962        %end
#line 3962 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block OPERATE at level 3
                                                                //   3963  
                                                                //   3964  ! Following should really be operations..
                                                                //   3965  
                                                                //   3966        %routine  ADDRESS OP (%integer code)
#line 3966 "regression-compile-tmp/vax-pass2.imp"
void ADDRESSOP( int CODE )
#line 3966 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3967           ! Evaluate  LHS ++ RHS
                                                                //   3968           %integer  type, len
#line 3968 "regression-compile-tmp/vax-pass2.imp"
int TYPE;
#line 3968 "regression-compile-tmp/vax-pass2.imp"
int LEN;
                                                                //   3969           set both
#line 3969 "regression-compile-tmp/vax-pass2.imp"
SETBOTH();
                                                                //   3970           type = lhs_type;  len = lhs_length
#line 3970 "regression-compile-tmp/vax-pass2.imp"
TYPE = LHS->TYPE;
#line 3970 "regression-compile-tmp/vax-pass2.imp"
LEN = LHS->LENGTH;
                                                                //   3971           error ('*', "object length unspecified for ++ or --") %if len = 0
#line 3971 "regression-compile-tmp/vax-pass2.imp"
if (((LEN) != (0))) goto L_0328;
#line 3971 "regression-compile-tmp/vax-pass2.imp"
ERROR(42, _imp_str_literal("object length unspecified for ++ or --"));
#line 3971 "regression-compile-tmp/vax-pass2.imp"
L_0328:;
                                                                //   3972           amap (lhs)
#line 3972 "regression-compile-tmp/vax-pass2.imp"
AMAP(LHS);
                                                                //   3973           cstack (len);  operate (mul)
#line 3973 "regression-compile-tmp/vax-pass2.imp"
CSTACK(LEN);
#line 3973 "regression-compile-tmp/vax-pass2.imp"
OPERATE(27);
                                                                //   3974           %if code = 117 %then operate (add) %else operate (sub)
#line 3974 "regression-compile-tmp/vax-pass2.imp"
if (((CODE) != (117))) goto L_0329;
#line 3974 "regression-compile-tmp/vax-pass2.imp"
OPERATE(9);
#line 3974 "regression-compile-tmp/vax-pass2.imp"
goto L_032a;
#line 3974 "regression-compile-tmp/vax-pass2.imp"
L_0329:;
#line 3974 "regression-compile-tmp/vax-pass2.imp"
OPERATE(10);
#line 3974 "regression-compile-tmp/vax-pass2.imp"
L_032a:;
                                                                //   3975           vmap (lhs)
#line 3975 "regression-compile-tmp/vax-pass2.imp"
VMAP(LHS);
                                                                //   3976           lhs_type = type;   lhs_length = len
#line 3976 "regression-compile-tmp/vax-pass2.imp"
LHS->TYPE = TYPE;
#line 3976 "regression-compile-tmp/vax-pass2.imp"
LHS->LENGTH = LEN;
                                                                //   3977        %end
#line 3977 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ADDRESSOP at level 3
                                                                //   3978  
                                                                //   3979        %routine  CONCATENATE
#line 3979 "regression-compile-tmp/vax-pass2.imp"
void CONCATENATE( void )
#line 3979 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3980           ! Evaluate LHS . RHS
                                                                //   3981           set both
#line 3981 "regression-compile-tmp/vax-pass2.imp"
SETBOTH();
                                                                //   3982           conc (lhs, rhs)
#line 3982 "regression-compile-tmp/vax-pass2.imp"
CONC(LHS, RHS);
                                                                //   3983           stp = stp - 1
#line 3983 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   3984        %end
#line 3984 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CONCATENATE at level 3
                                                                //   3985  
                                                                //   3986        %routine  SET MODULUS
#line 3986 "regression-compile-tmp/vax-pass2.imp"
void SETMODULUS( void )
#line 3986 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   3987           ! Evaluate  |LHS|
                                                                //   3988           !
                                                                //   3989           ! Generates the sequence
                                                                //   3990           !    Load    LHS,Rn
                                                                //   3991           !    TSTL    Rn
                                                                //   3992           !    BGEQ    Pos
                                                                //   3993           !    MNEGx   Rn, Rn
                                                                //   3994           ! Pos:
                                                                //   3995           !
                                                                //   3996           ! leaving |LHS| in a register
                                                                //   3997           %integer  op
#line 3997 "regression-compile-tmp/vax-pass2.imp"
int OP;
                                                                //   3998           set lhs
#line 3998 "regression-compile-tmp/vax-pass2.imp"
SETLHS();
                                                                //   3999           %if lhs_form = constant %and lhs_oper = 0 %start
#line 3999 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->FORM) != (0))) goto L_032b;
#line 3999 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->OPER) != (0))) goto L_032b;
                                                                //   4000              ! Do it in line...
                                                                //   4001              %if lhs_type&integers # 0 %start
#line 4001 "regression-compile-tmp/vax-pass2.imp"
if (((((LHS->TYPE) & (16))) == (0))) goto L_032c;
                                                                //   4002                 lhs_disp = |lhs_disp|
#line 4002 "regression-compile-tmp/vax-pass2.imp"
LHS->DISP = _imp_IMOD(LHS->DISP);
                                                                //   4003              %else %if lhs_type = reall
#line 4003 "regression-compile-tmp/vax-pass2.imp"
goto L_032d;
#line 4003 "regression-compile-tmp/vax-pass2.imp"
L_032c:;
#line 4003 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->TYPE) != (36))) goto L_032e;
                                                                //   4004                 lhs_lrval = -lhs_lrval %if lhs_lrval < 0
#line 4004 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->LRVAL) >= (0))) goto L_032f;
#line 4004 "regression-compile-tmp/vax-pass2.imp"
LHS->LRVAL = (-(LHS->LRVAL));
#line 4004 "regression-compile-tmp/vax-pass2.imp"
L_032f:;
                                                                //   4005              %else
#line 4005 "regression-compile-tmp/vax-pass2.imp"
goto L_032d;
#line 4005 "regression-compile-tmp/vax-pass2.imp"
L_032e:;
                                                                //   4006                 abort (48)
#line 4006 "regression-compile-tmp/vax-pass2.imp"
ABORT(48);
                                                                //   4007              %finish
#line 4007 "regression-compile-tmp/vax-pass2.imp"
L_032d:;
                                                                //   4008           %else
#line 4008 "regression-compile-tmp/vax-pass2.imp"
goto L_0330;
#line 4008 "regression-compile-tmp/vax-pass2.imp"
L_032b:;
                                                                //   4009              load (lhs, any)
#line 4009 "regression-compile-tmp/vax-pass2.imp"
LOAD(LHS, 17);
                                                                //   4010              test zero (lhs);    claim (lhs_base)
#line 4010 "regression-compile-tmp/vax-pass2.imp"
TESTZERO(LHS);
#line 4010 "regression-compile-tmp/vax-pass2.imp"
CLAIM(LHS->BASE);
                                                                //   4011              word (bgeq+3<<8)
#line 4011 "regression-compile-tmp/vax-pass2.imp"
WORD(((24) + ((int)(((3) << (8))))));
                                                                //   4012              op = mnegl
#line 4012 "regression-compile-tmp/vax-pass2.imp"
OP = 0;
                                                                //   4013              op = mnegd %if lhs_type&real bit # 0
#line 4013 "regression-compile-tmp/vax-pass2.imp"
if (((((LHS->TYPE) & (32))) == (0))) goto L_0331;
#line 4013 "regression-compile-tmp/vax-pass2.imp"
OP = 4;
#line 4013 "regression-compile-tmp/vax-pass2.imp"
L_0331:;
                                                                //   4014              plant2 (op, lhs, lhs);                ! 3 bytes..
#line 4014 "regression-compile-tmp/vax-pass2.imp"
PLANT2(OP, LHS, LHS);
                                                                //   4015           %finish
#line 4015 "regression-compile-tmp/vax-pass2.imp"
L_0330:;
                                                                //   4016        %end
#line 4016 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETMODULUS at level 3
                                                                //   4017  
                                                                //   4018        %routine  ASSIGN (%integer assop)
#line 4018 "regression-compile-tmp/vax-pass2.imp"
void ASSIGN( int ASSOP )
#line 4018 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4019           !assop = -1 : parameter assignment
                                                                //   4020           !      =  0 : == assignment
                                                                //   4021           !      =  1 : = assignment
                                                                //   4022           !      =  2 : <- assignment
                                                                //   4023           %integer  op, oper, work, move, slen, dlen, total, loop ca
#line 4023 "regression-compile-tmp/vax-pass2.imp"
int OP;
#line 4023 "regression-compile-tmp/vax-pass2.imp"
int OPER;
#line 4023 "regression-compile-tmp/vax-pass2.imp"
int WORK;
#line 4023 "regression-compile-tmp/vax-pass2.imp"
int MOVE;
#line 4023 "regression-compile-tmp/vax-pass2.imp"
int SLEN;
#line 4023 "regression-compile-tmp/vax-pass2.imp"
int DLEN;
#line 4023 "regression-compile-tmp/vax-pass2.imp"
int TOTAL;
#line 4023 "regression-compile-tmp/vax-pass2.imp"
int LOOPCA;
                                                                //   4024           %integer  st, dt, wt
#line 4024 "regression-compile-tmp/vax-pass2.imp"
int ST;
#line 4024 "regression-compile-tmp/vax-pass2.imp"
int DT;
#line 4024 "regression-compile-tmp/vax-pass2.imp"
int WT;
                                                                //   4025           %const %string(2) %array  assym (-1 : 2) =
#line 4025 "regression-compile-tmp/vax-pass2.imp"
const _imp_string /*%string(2)*/ ASSYM[4] = { _imp_str_literal("p="), _imp_str_literal("=="), _imp_str_literal("= "), _imp_str_literal("<-"),  };
                                                                //   4026              "p=", "==", "= ", "<-"
                                                                //   4027           %record(varfm) %name  vv
#line 4027 "regression-compile-tmp/vax-pass2.imp"
 VARFM /*name*/*VV;
                                                                //   4028           %record(stackfm) %name  source, dest, len, w, count
#line 4028 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*SOURCE;
#line 4028 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*DEST;
#line 4028 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*LEN;
#line 4028 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*W;
#line 4028 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*COUNT;
                                                                //   4029  
                                                                //   4030           %routine  SHAPE UP (%integer type, %record(stackfm) %name cc)
#line 4030 "regression-compile-tmp/vax-pass2.imp"
void SHAPEUP( int TYPE,  STACKFM /*name*/*CC )
#line 4030 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4031              ! Get cc into a form such that OPERAND won't complain
                                                                //   4032              ! about size of constants, eg short = 16_FFFF would be wrong
                                                                //   4033              %if type = byte+integers %start
#line 4033 "regression-compile-tmp/vax-pass2.imp"
if (((TYPE) != (18))) goto L_0332;
                                                                //   4034                 cc_disp = cc_disp & 255
#line 4034 "regression-compile-tmp/vax-pass2.imp"
CC->DISP = ((CC->DISP) & (255));
                                                                //   4035              %else %if type = short+integers
#line 4035 "regression-compile-tmp/vax-pass2.imp"
goto L_0333;
#line 4035 "regression-compile-tmp/vax-pass2.imp"
L_0332:;
#line 4035 "regression-compile-tmp/vax-pass2.imp"
if (((TYPE) != (17))) goto L_0334;
                                                                //   4036                 cc_disp = cc_disp & 16_FFFF;    ! splat top bits
#line 4036 "regression-compile-tmp/vax-pass2.imp"
CC->DISP = ((CC->DISP) & (65535));
                                                                //   4037                 ! Sign extend short, ie bits <31:15> all 0 or all 1)
                                                                //   4038                 cc_disp = cc_disp!(\16_FFFF) %if cc_disp&16_8000 # 0
#line 4038 "regression-compile-tmp/vax-pass2.imp"
if (((((CC->DISP) & (32768))) == (0))) goto L_0335;
#line 4038 "regression-compile-tmp/vax-pass2.imp"
CC->DISP = ((CC->DISP) | ((~(65535))));
#line 4038 "regression-compile-tmp/vax-pass2.imp"
L_0335:;
                                                                //   4039              %finish
#line 4039 "regression-compile-tmp/vax-pass2.imp"
L_0334:;
#line 4039 "regression-compile-tmp/vax-pass2.imp"
L_0333:;
                                                                //   4040              cc_type = type
#line 4040 "regression-compile-tmp/vax-pass2.imp"
CC->TYPE = TYPE;
                                                                //   4041           %end
#line 4041 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SHAPEUP at level 4
                                                                //   4042  
                                                                //   4043           dest   == stacked(stp-1)
#line 4043 "regression-compile-tmp/vax-pass2.imp"
DEST = STACKED[(((int)((((int)(STP)) - (1)))) - (1))];
                                                                //   4044           source == stacked(stp)
#line 4044 "regression-compile-tmp/vax-pass2.imp"
SOURCE = STACKED[(((int)(STP)) - (1))];
                                                                //   4045  
                                                                //   4046           %if diag&128 # 0 %start
#line 4046 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (128))) == (0))) goto L_0336;
                                                                //   4047              monitor (source, "Ass ".assym(assop)." srce")
#line 4047 "regression-compile-tmp/vax-pass2.imp"
MONITOR(SOURCE, _imp_join((_imp_string)_imp_join((_imp_string)_imp_str_literal("Ass "),(_imp_string)(ASSYM+1)[ASSOP]),(_imp_string)_imp_str_literal(" srce")));
                                                                //   4048              monitor (dest,   "       dest")
#line 4048 "regression-compile-tmp/vax-pass2.imp"
MONITOR(DEST, _imp_str_literal("       dest"));
                                                                //   4049           %finish
#line 4049 "regression-compile-tmp/vax-pass2.imp"
L_0336:;
                                                                //   4050  
                                                                //   4051           %if assop < 0 %start;                  !parameter assignment
#line 4051 "regression-compile-tmp/vax-pass2.imp"
if (((ASSOP) >= (0))) goto L_0337;
                                                                //   4052              load (source, any) %if source_oper # 0
#line 4052 "regression-compile-tmp/vax-pass2.imp"
if (((SOURCE->OPER) == (0))) goto L_0338;
#line 4052 "regression-compile-tmp/vax-pass2.imp"
LOAD(SOURCE, 17);
#line 4052 "regression-compile-tmp/vax-pass2.imp"
L_0338:;
                                                                //   4053              dest_extra = dest_extra-1
#line 4053 "regression-compile-tmp/vax-pass2.imp"
DEST->EXTRA = (((int)(DEST->EXTRA)) - (1));
                                                                //   4054              vv == var(dest_extra)
#line 4054 "regression-compile-tmp/vax-pass2.imp"
VV = &VAR[DEST->EXTRA];
                                                                //   4055              %if vv_form # v in s %start
#line 4055 "regression-compile-tmp/vax-pass2.imp"
if (((VV->FORM) == (2))) goto L_0339;
                                                                //   4056                 %if vv_form&arrayname bit # 0 %start
#line 4056 "regression-compile-tmp/vax-pass2.imp"
if (((((VV->FORM) & (64))) == (0))) goto L_033a;
                                                                //   4057                    source_oper = 1
#line 4057 "regression-compile-tmp/vax-pass2.imp"
SOURCE->OPER = 1;
                                                                //   4058                 %else %if vv_form &proc bit # 0
#line 4058 "regression-compile-tmp/vax-pass2.imp"
goto L_033b;
#line 4058 "regression-compile-tmp/vax-pass2.imp"
L_033a:;
#line 4058 "regression-compile-tmp/vax-pass2.imp"
if (((((VV->FORM) & (16))) == (0))) goto L_033c;
                                                                //   4059                    %unless r6 <= source_base <= r9 %start;!not already a param
#line 4059 "regression-compile-tmp/vax-pass2.imp"
if ((((7) > (SOURCE->BASE))) || (((SOURCE->BASE) <= (10)))) goto L_033e;
#line 4059 "regression-compile-tmp/vax-pass2.imp"
L_033d:;
                                                                //   4060                       w == temp(24);  stp = stp - 1
#line 4060 "regression-compile-tmp/vax-pass2.imp"
W = TEMP(24);
#line 4060 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4061                       w_base = fp;  work = w_disp
#line 4061 "regression-compile-tmp/vax-pass2.imp"
W->BASE = 14;
#line 4061 "regression-compile-tmp/vax-pass2.imp"
WORK = W->DISP;
                                                                //   4062                       %if source_xno # 0 %start;        !external
#line 4062 "regression-compile-tmp/vax-pass2.imp"
if (((SOURCE->XNO) == (0))) goto L_033f;
                                                                //   4063                          source_form = v in s
#line 4063 "regression-compile-tmp/vax-pass2.imp"
SOURCE->FORM = 2;
                                                                //   4064                          plant2 (moval, source, w)
#line 4064 "regression-compile-tmp/vax-pass2.imp"
PLANT2(4112, SOURCE, W);
                                                                //   4065                       %else;                            !normal routine
#line 4065 "regression-compile-tmp/vax-pass2.imp"
goto L_0340;
#line 4065 "regression-compile-tmp/vax-pass2.imp"
L_033f:;
                                                                //   4066                          hazard (r10)
#line 4066 "regression-compile-tmp/vax-pass2.imp"
HAZARD(11);
                                                                //   4067                          put code (opcode(moval&255))
#line 4067 "regression-compile-tmp/vax-pass2.imp"
PUTCODE(OPCODE[((4112) & (255))]);
                                                                //   4068                          flush code
#line 4068 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
                                                                //   4069                          define reference (source_disp, dirpref)
#line 4069 "regression-compile-tmp/vax-pass2.imp"
DEFINEREFERENCE(SOURCE->DISP, 3);
                                                                //   4070                          put (obj call);  put long (source_disp);  ca = ca+2
#line 4070 "regression-compile-tmp/vax-pass2.imp"
PUT(11);
#line 4070 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(SOURCE->DISP);
#line 4070 "regression-compile-tmp/vax-pass2.imp"
CA = (((int)(CA)) + (2));
                                                                //   4071                          put number byte (16_5a)
#line 4071 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE(90);
                                                                //   4072                          !moval p,r10
                                                                //   4073                          entry mask = entry mask ! 16_400;  ! save R10
#line 4073 "regression-compile-tmp/vax-pass2.imp"
ENTRYMASK = ((ENTRYMASK) | (1024));
                                                                //   4074                          local = local!128; !prevent OPERAND changing it to FP
#line 4074 "regression-compile-tmp/vax-pass2.imp"
LOCAL = ((LOCAL) | (128));
                                                                //   4075                          plant2 (movl, regv(r10), w)
#line 4075 "regression-compile-tmp/vax-pass2.imp"
PLANT2(8968, &(REGV-1)[11], W);
                                                                //   4076                          %if local = r6!128 %then move = movl %c
#line 4076 "regression-compile-tmp/vax-pass2.imp"
if (((LOCAL) != (((7) | (128))))) goto L_0341;
#line 4076 "regression-compile-tmp/vax-pass2.imp"
MOVE = 8968;
#line 4076 "regression-compile-tmp/vax-pass2.imp"
goto L_0342;
#line 4076 "regression-compile-tmp/vax-pass2.imp"
L_0341:;
#line 4076 "regression-compile-tmp/vax-pass2.imp"
MOVE = 13;
#line 4076 "regression-compile-tmp/vax-pass2.imp"
L_0342:;
                                                                //   4077                                             %else move = movq
                                                                //   4078                          w_disp = w_disp+4
#line 4078 "regression-compile-tmp/vax-pass2.imp"
W->DISP = (((int)(W->DISP)) + (4));
                                                                //   4079                          plant2 (move, regv(r6), w)
#line 4079 "regression-compile-tmp/vax-pass2.imp"
PLANT2(MOVE, &(REGV-1)[7], W);
                                                                //   4080                          w_disp = w_disp+8
#line 4080 "regression-compile-tmp/vax-pass2.imp"
W->DISP = (((int)(W->DISP)) + (8));
                                                                //   4081                          %if local > r7!128 %start
#line 4081 "regression-compile-tmp/vax-pass2.imp"
if (((LOCAL) <= (((8) | (128))))) goto L_0343;
                                                                //   4082                              %if local = r8!128 %then move = movl %c
#line 4082 "regression-compile-tmp/vax-pass2.imp"
if (((LOCAL) != (((9) | (128))))) goto L_0344;
#line 4082 "regression-compile-tmp/vax-pass2.imp"
MOVE = 8968;
#line 4082 "regression-compile-tmp/vax-pass2.imp"
goto L_0345;
#line 4082 "regression-compile-tmp/vax-pass2.imp"
L_0344:;
#line 4082 "regression-compile-tmp/vax-pass2.imp"
MOVE = 13;
#line 4082 "regression-compile-tmp/vax-pass2.imp"
L_0345:;
                                                                //   4083                                                 %else move = movq
                                                                //   4084                             plant2 (move, regv(r8), w)
#line 4084 "regression-compile-tmp/vax-pass2.imp"
PLANT2(MOVE, &(REGV-1)[9], W);
                                                                //   4085                          %finish
#line 4085 "regression-compile-tmp/vax-pass2.imp"
L_0343:;
                                                                //   4086                          w_disp = w_disp + 8
#line 4086 "regression-compile-tmp/vax-pass2.imp"
W->DISP = (((int)(W->DISP)) + (8));
                                                                //   4087                          plant2 (movl, regv(gla), w)
#line 4087 "regression-compile-tmp/vax-pass2.imp"
PLANT2(8968, &(REGV-1)[12], W);
                                                                //   4088                          local = local&127
#line 4088 "regression-compile-tmp/vax-pass2.imp"
LOCAL = ((LOCAL) & (127));
                                                                //   4089                       %finish
#line 4089 "regression-compile-tmp/vax-pass2.imp"
L_0340:;
                                                                //   4090                       drop (source);  source == w;  source_disp = work
#line 4090 "regression-compile-tmp/vax-pass2.imp"
DROP(SOURCE);
#line 4090 "regression-compile-tmp/vax-pass2.imp"
SOURCE = W;
#line 4090 "regression-compile-tmp/vax-pass2.imp"
SOURCE->DISP = WORK;
                                                                //   4091                       w_base = local
#line 4091 "regression-compile-tmp/vax-pass2.imp"
W->BASE = LOCAL;
                                                                //   4092                       source_form = av in s
#line 4092 "regression-compile-tmp/vax-pass2.imp"
SOURCE->FORM = 3;
                                                                //   4093                    %else
#line 4093 "regression-compile-tmp/vax-pass2.imp"
goto L_0346;
#line 4093 "regression-compile-tmp/vax-pass2.imp"
L_033e:;
                                                                //   4094                       source_form = v in s
#line 4094 "regression-compile-tmp/vax-pass2.imp"
SOURCE->FORM = 2;
                                                                //   4095                    %finish
#line 4095 "regression-compile-tmp/vax-pass2.imp"
L_0346:;
                                                                //   4096                    source_type = integers
#line 4096 "regression-compile-tmp/vax-pass2.imp"
SOURCE->TYPE = 16;
                                                                //   4097                 %else %if vv_type = 0;          !general type
#line 4097 "regression-compile-tmp/vax-pass2.imp"
goto L_033b;
#line 4097 "regression-compile-tmp/vax-pass2.imp"
L_033c:;
#line 4097 "regression-compile-tmp/vax-pass2.imp"
if (((VV->TYPE) != (0))) goto L_0347;
                                                                //   4098                    source_oper = 2
#line 4098 "regression-compile-tmp/vax-pass2.imp"
SOURCE->OPER = 2;
                                                                //   4099                    source_oper = 3 %if source_type = 0;  !also general
#line 4099 "regression-compile-tmp/vax-pass2.imp"
if (((SOURCE->TYPE) != (0))) goto L_0348;
#line 4099 "regression-compile-tmp/vax-pass2.imp"
SOURCE->OPER = 3;
#line 4099 "regression-compile-tmp/vax-pass2.imp"
L_0348:;
                                                                //   4100                 %else
#line 4100 "regression-compile-tmp/vax-pass2.imp"
goto L_033b;
#line 4100 "regression-compile-tmp/vax-pass2.imp"
L_0347:;
                                                                //   4101                    amap (source)
#line 4101 "regression-compile-tmp/vax-pass2.imp"
AMAP(SOURCE);
                                                                //   4102                 %finish
#line 4102 "regression-compile-tmp/vax-pass2.imp"
L_033b:;
                                                                //   4103              %else %if vv_type&real bit # 0
#line 4103 "regression-compile-tmp/vax-pass2.imp"
goto L_0349;
#line 4103 "regression-compile-tmp/vax-pass2.imp"
L_0339:;
#line 4103 "regression-compile-tmp/vax-pass2.imp"
if (((((VV->TYPE) & (32))) == (0))) goto L_034a;
                                                                //   4104                 float (source) %unless floating (source)
#line 4104 "regression-compile-tmp/vax-pass2.imp"
if (FLOATING(SOURCE)) goto L_034b;
#line 4104 "regression-compile-tmp/vax-pass2.imp"
FLOAT(SOURCE);
#line 4104 "regression-compile-tmp/vax-pass2.imp"
L_034b:;
                                                                //   4105                 %if vv_type = reall %and source_type = reals %start
#line 4105 "regression-compile-tmp/vax-pass2.imp"
if (((VV->TYPE) != (36))) goto L_034c;
#line 4105 "regression-compile-tmp/vax-pass2.imp"
if (((SOURCE->TYPE) != (35))) goto L_034c;
                                                                //   4106                    load (source, any)
#line 4106 "regression-compile-tmp/vax-pass2.imp"
LOAD(SOURCE, 17);
                                                                //   4107                 %else %if vv_type = reals
#line 4107 "regression-compile-tmp/vax-pass2.imp"
goto L_034d;
#line 4107 "regression-compile-tmp/vax-pass2.imp"
L_034c:;
#line 4107 "regression-compile-tmp/vax-pass2.imp"
if (((VV->TYPE) != (35))) goto L_034e;
                                                                //   4108                    source_type = reals
#line 4108 "regression-compile-tmp/vax-pass2.imp"
SOURCE->TYPE = 35;
                                                                //   4109                 %finish
#line 4109 "regression-compile-tmp/vax-pass2.imp"
L_034e:;
#line 4109 "regression-compile-tmp/vax-pass2.imp"
L_034d:;
                                                                //   4110              %finish
#line 4110 "regression-compile-tmp/vax-pass2.imp"
L_034a:;
#line 4110 "regression-compile-tmp/vax-pass2.imp"
L_0349:;
                                                                //   4111              %if vv_type = records %and source_format = 0 %start
#line 4111 "regression-compile-tmp/vax-pass2.imp"
if (((VV->TYPE) != (128))) goto L_034f;
#line 4111 "regression-compile-tmp/vax-pass2.imp"
if (((SOURCE->FORMAT) != (0))) goto L_034f;
                                                                //   4112                 ! Passing rec(*) as value (parameter typed)
                                                                //   4113                 source_format = vv_format
#line 4113 "regression-compile-tmp/vax-pass2.imp"
SOURCE->FORMAT = VV->FORMAT;
                                                                //   4114              %finish
#line 4114 "regression-compile-tmp/vax-pass2.imp"
L_034f:;
                                                                //   4115              source_link == dest_link
#line 4115 "regression-compile-tmp/vax-pass2.imp"
SOURCE->LINK = DEST->LINK;
                                                                //   4116              dest_link == source
#line 4116 "regression-compile-tmp/vax-pass2.imp"
DEST->LINK = SOURCE;
                                                                //   4117              stp = stp-1
#line 4117 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4118              %return
#line 4118 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4119           %finish
#line 4119 "regression-compile-tmp/vax-pass2.imp"
L_0337:;
                                                                //   4120  
                                                                //   4121           stp = stp-2
#line 4121 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (2));
                                                                //   4122           %if dest_form&arrayname bit # 0 %start
#line 4122 "regression-compile-tmp/vax-pass2.imp"
if (((((DEST->FORM) & (64))) == (0))) goto L_0350;
                                                                //   4123              op = dest_form&15
#line 4123 "regression-compile-tmp/vax-pass2.imp"
OP = ((DEST->FORM) & (15));
                                                                //   4124              %if op >= v in rec %then op = v in rec %c
#line 4124 "regression-compile-tmp/vax-pass2.imp"
if (((OP) < (5))) goto L_0351;
#line 4124 "regression-compile-tmp/vax-pass2.imp"
OP = 5;
#line 4124 "regression-compile-tmp/vax-pass2.imp"
goto L_0352;
#line 4124 "regression-compile-tmp/vax-pass2.imp"
L_0351:;
#line 4124 "regression-compile-tmp/vax-pass2.imp"
OP = 2;
#line 4124 "regression-compile-tmp/vax-pass2.imp"
L_0352:;
                                                                //   4125                                 %else op = v in s
                                                                //   4126              dest_form = op
#line 4126 "regression-compile-tmp/vax-pass2.imp"
DEST->FORM = OP;
                                                                //   4127              address (dest)
#line 4127 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(DEST);
                                                                //   4128              move arrayname (source, dest)
#line 4128 "regression-compile-tmp/vax-pass2.imp"
MOVEARRAYNAME(SOURCE, DEST);
                                                                //   4129              clear (dest);  drop (dest)
#line 4129 "regression-compile-tmp/vax-pass2.imp"
CLEAR(DEST);
#line 4129 "regression-compile-tmp/vax-pass2.imp"
DROP(DEST);
                                                                //   4130              %return
#line 4130 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4131           %finish
#line 4131 "regression-compile-tmp/vax-pass2.imp"
L_0350:;
                                                                //   4132  
                                                                //   4133           %if assop = 0 %start;               !==
#line 4133 "regression-compile-tmp/vax-pass2.imp"
if (((ASSOP) != (0))) goto L_0353;
                                                                //   4134              amap (source);  amap (dest)
#line 4134 "regression-compile-tmp/vax-pass2.imp"
AMAP(SOURCE);
#line 4134 "regression-compile-tmp/vax-pass2.imp"
AMAP(DEST);
                                                                //   4135           %finish
#line 4135 "regression-compile-tmp/vax-pass2.imp"
L_0353:;
                                                                //   4136  
                                                                //   4137           %if same (source, dest) %start;     ! ????
#line 4137 "regression-compile-tmp/vax-pass2.imp"
if (!(SAME(SOURCE, DEST))) goto L_0354;
                                                                //   4138              clear (source);  drop (source)
#line 4138 "regression-compile-tmp/vax-pass2.imp"
CLEAR(SOURCE);
#line 4138 "regression-compile-tmp/vax-pass2.imp"
DROP(SOURCE);
                                                                //   4139              clear (dest);    drop (dest)
#line 4139 "regression-compile-tmp/vax-pass2.imp"
CLEAR(DEST);
#line 4139 "regression-compile-tmp/vax-pass2.imp"
DROP(DEST);
                                                                //   4140              %return
#line 4140 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4141           %finish
#line 4141 "regression-compile-tmp/vax-pass2.imp"
L_0354:;
                                                                //   4142  
                                                                //   4143           %if source_oper = 0 %and source_form = av in rec %start
#line 4143 "regression-compile-tmp/vax-pass2.imp"
if (((SOURCE->OPER) != (0))) goto L_0355;
#line 4143 "regression-compile-tmp/vax-pass2.imp"
if (((SOURCE->FORM) != (6))) goto L_0355;
                                                                //   4144              address var (1, source)
#line 4144 "regression-compile-tmp/vax-pass2.imp"
ADDRESSVAR(1, SOURCE);
                                                                //   4145           %finish
#line 4145 "regression-compile-tmp/vax-pass2.imp"
L_0355:;
                                                                //   4146           %if dest_type&strings # 0 %start
#line 4146 "regression-compile-tmp/vax-pass2.imp"
if (((((DEST->TYPE) & (64))) == (0))) goto L_0356;
                                                                //   4147              assign string (source, dest)
#line 4147 "regression-compile-tmp/vax-pass2.imp"
ASSIGNSTRING(SOURCE, DEST);
                                                                //   4148              drop (source);  drop (dest)
#line 4148 "regression-compile-tmp/vax-pass2.imp"
DROP(SOURCE);
#line 4148 "regression-compile-tmp/vax-pass2.imp"
DROP(DEST);
                                                                //   4149              %return
#line 4149 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4150           %finish
#line 4150 "regression-compile-tmp/vax-pass2.imp"
L_0356:;
                                                                //   4151           %if dest_type = records %start
#line 4151 "regression-compile-tmp/vax-pass2.imp"
if (((DEST->TYPE) != (128))) goto L_0357;
                                                                //   4152              slen = 0
#line 4152 "regression-compile-tmp/vax-pass2.imp"
SLEN = 0;
                                                                //   4153              slen = var(source_format)_length %if source_type = records
#line 4153 "regression-compile-tmp/vax-pass2.imp"
if (((SOURCE->TYPE) != (128))) goto L_0358;
#line 4153 "regression-compile-tmp/vax-pass2.imp"
SLEN = VAR[SOURCE->FORMAT].LENGTH;
#line 4153 "regression-compile-tmp/vax-pass2.imp"
L_0358:;
                                                                //   4154              dlen = var(dest_format)_length
#line 4154 "regression-compile-tmp/vax-pass2.imp"
DLEN = VAR[DEST->FORMAT].LENGTH;
                                                                //   4155              %if dlen = 0 = slen %start;      ! Eh ???
#line 4155 "regression-compile-tmp/vax-pass2.imp"
if ((((DLEN) != (0))) || (((0) != (SLEN)))) goto L_0359;
                                                                //   4156                 clear (source) %if source_type = records
#line 4156 "regression-compile-tmp/vax-pass2.imp"
if (((SOURCE->TYPE) != (128))) goto L_035a;
#line 4156 "regression-compile-tmp/vax-pass2.imp"
CLEAR(SOURCE);
#line 4156 "regression-compile-tmp/vax-pass2.imp"
L_035a:;
                                                                //   4157                 clear (dest)
#line 4157 "regression-compile-tmp/vax-pass2.imp"
CLEAR(DEST);
                                                                //   4158                 error ('*', "record format not specified")
#line 4158 "regression-compile-tmp/vax-pass2.imp"
ERROR(42, _imp_str_literal("record format not specified"));
                                                                //   4159              %else
#line 4159 "regression-compile-tmp/vax-pass2.imp"
goto L_035b;
#line 4159 "regression-compile-tmp/vax-pass2.imp"
L_0359:;
                                                                //   4160                 %if dlen = 0 %start;          ! rec = record(n)
#line 4160 "regression-compile-tmp/vax-pass2.imp"
if (((DLEN) != (0))) goto L_035c;
                                                                //   4161                    work = slen
#line 4161 "regression-compile-tmp/vax-pass2.imp"
WORK = SLEN;
                                                                //   4162                 %else %if slen = 0;           ! rec = 0
#line 4162 "regression-compile-tmp/vax-pass2.imp"
goto L_035d;
#line 4162 "regression-compile-tmp/vax-pass2.imp"
L_035c:;
#line 4162 "regression-compile-tmp/vax-pass2.imp"
if (((SLEN) != (0))) goto L_035e;
                                                                //   4163                    work = dlen
#line 4163 "regression-compile-tmp/vax-pass2.imp"
WORK = DLEN;
                                                                //   4164                 %else
#line 4164 "regression-compile-tmp/vax-pass2.imp"
goto L_035d;
#line 4164 "regression-compile-tmp/vax-pass2.imp"
L_035e:;
                                                                //   4165                    error ('*', "record format mismatch??") %if dlen # slen
#line 4165 "regression-compile-tmp/vax-pass2.imp"
if (((DLEN) == (SLEN))) goto L_035f;
#line 4165 "regression-compile-tmp/vax-pass2.imp"
ERROR(42, _imp_str_literal("record format mismatch??"));
#line 4165 "regression-compile-tmp/vax-pass2.imp"
L_035f:;
                                                                //   4166                    work = slen
#line 4166 "regression-compile-tmp/vax-pass2.imp"
WORK = SLEN;
                                                                //   4167                 %finish
#line 4167 "regression-compile-tmp/vax-pass2.imp"
L_035d:;
                                                                //   4168                 abort (0) %if work < 0;       ! more than 1/2 a VM ?????
#line 4168 "regression-compile-tmp/vax-pass2.imp"
if (((WORK) >= (0))) goto L_0360;
#line 4168 "regression-compile-tmp/vax-pass2.imp"
ABORT(0);
#line 4168 "regression-compile-tmp/vax-pass2.imp"
L_0360:;
                                                                //   4169                 total = work
#line 4169 "regression-compile-tmp/vax-pass2.imp"
TOTAL = WORK;
                                                                //   4170                 work = rem (total, 16_FFFF)
#line 4170 "regression-compile-tmp/vax-pass2.imp"
WORK = _imp_REM(TOTAL, 65535);
                                                                //   4171                 total = (total-work)//16_FFFF;! No of blocks left
#line 4171 "regression-compile-tmp/vax-pass2.imp"
TOTAL = (long)((long)(((((int)(TOTAL)) - (WORK)))) / (long)((int)(65535)));
                                                                //   4172                 work = 16_FFFF %and total = total-1 %if work = 0
#line 4172 "regression-compile-tmp/vax-pass2.imp"
if (((WORK) != (0))) goto L_0361;
#line 4172 "regression-compile-tmp/vax-pass2.imp"
WORK = 65535;
#line 4172 "regression-compile-tmp/vax-pass2.imp"
TOTAL = (((int)(TOTAL)) - (1));
#line 4172 "regression-compile-tmp/vax-pass2.imp"
L_0361:;
                                                                //   4173                 len == literal(work);  stp = stp-1
#line 4173 "regression-compile-tmp/vax-pass2.imp"
LEN = LITERAL(WORK);
#line 4173 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4174                 shape up (short+integers, len)
#line 4174 "regression-compile-tmp/vax-pass2.imp"
SHAPEUP(17, LEN);
                                                                //   4175                 %if dest_flags&indexed # 0 %and
#line 4175 "regression-compile-tmp/vax-pass2.imp"
if (((((DEST->FLAGS) & (1))) == (0))) goto L_0362;
#line 4175 "regression-compile-tmp/vax-pass2.imp"
if (((DEST->ISCALE) != (1))) goto L_0362;
#line 4175 "regression-compile-tmp/vax-pass2.imp"
if (((TOTAL) == (0))) goto L_0362;
                                                                //   4176                     dest_iscale = 1 %and total # 0 %start
                                                                //   4177                    ! If MOVCn required, context is BYTE,
                                                                //   4178                    ! so fool ADDRESS.
                                                                //   4179                    dest_length = 1
#line 4179 "regression-compile-tmp/vax-pass2.imp"
DEST->LENGTH = 1;
                                                                //   4180                 %finish
#line 4180 "regression-compile-tmp/vax-pass2.imp"
L_0362:;
                                                                //   4181                 address (dest);  dest_type = integers
#line 4181 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(DEST);
#line 4181 "regression-compile-tmp/vax-pass2.imp"
DEST->TYPE = 16;
                                                                //   4182                 %if source_type = records %start
#line 4182 "regression-compile-tmp/vax-pass2.imp"
if (((SOURCE->TYPE) != (128))) goto L_0363;
                                                                //   4183                    op = movc3
#line 4183 "regression-compile-tmp/vax-pass2.imp"
OP = 30;
                                                                //   4184                    %if total # 0 %start
#line 4184 "regression-compile-tmp/vax-pass2.imp"
if (((TOTAL) == (0))) goto L_0364;
                                                                //   4185                       op = op!no short
#line 4185 "regression-compile-tmp/vax-pass2.imp"
OP = ((OP) | (65536));
                                                                //   4186                       %if source_flags&indexed # 0 %and
#line 4186 "regression-compile-tmp/vax-pass2.imp"
if (((((SOURCE->FLAGS) & (1))) == (0))) goto L_0365;
#line 4186 "regression-compile-tmp/vax-pass2.imp"
if (((SOURCE->ISCALE) != (1))) goto L_0365;
                                                                //   4187                           source_iscale = 1 %start
                                                                //   4188                          ! same fiddle as above
                                                                //   4189                          source_length = 1
#line 4189 "regression-compile-tmp/vax-pass2.imp"
SOURCE->LENGTH = 1;
                                                                //   4190                       %finish
#line 4190 "regression-compile-tmp/vax-pass2.imp"
L_0365:;
                                                                //   4191                    %finish
#line 4191 "regression-compile-tmp/vax-pass2.imp"
L_0364:;
                                                                //   4192                    address (source);  source_type = integers
#line 4192 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(SOURCE);
#line 4192 "regression-compile-tmp/vax-pass2.imp"
SOURCE->TYPE = 16;
                                                                //   4193                    string3 (op, len, source, dest)
#line 4193 "regression-compile-tmp/vax-pass2.imp"
STRING3(OP, LEN, SOURCE, DEST);
                                                                //   4194                    clear (source)
#line 4194 "regression-compile-tmp/vax-pass2.imp"
CLEAR(SOURCE);
                                                                //   4195                    op = 1;                    ! mark record move
#line 4195 "regression-compile-tmp/vax-pass2.imp"
OP = 1;
                                                                //   4196                 %else;                        ! rec = 0
#line 4196 "regression-compile-tmp/vax-pass2.imp"
goto L_0366;
#line 4196 "regression-compile-tmp/vax-pass2.imp"
L_0363:;
                                                                //   4197                    work = scale type (work)
#line 4197 "regression-compile-tmp/vax-pass2.imp"
WORK = SCALETYPE(WORK);
                                                                //   4198                    %if work >= 0 %and total = 0 %start
#line 4198 "regression-compile-tmp/vax-pass2.imp"
if (((WORK) < (0))) goto L_0367;
#line 4198 "regression-compile-tmp/vax-pass2.imp"
if (((TOTAL) != (0))) goto L_0367;
                                                                //   4199                       ! Can use short form
                                                                //   4200                       plant1 (clrl+work, dest)
#line 4200 "regression-compile-tmp/vax-pass2.imp"
PLANT1((((int)(48)) + (WORK)), DEST);
                                                                //   4201                    %else
#line 4201 "regression-compile-tmp/vax-pass2.imp"
goto L_0368;
#line 4201 "regression-compile-tmp/vax-pass2.imp"
L_0367:;
                                                                //   4202                       plant5 (movc5, zerov, gla work, zerov, len, dest)
#line 4202 "regression-compile-tmp/vax-pass2.imp"
PLANT5(31, &ZEROV, &GLAWORK, &ZEROV, LEN, DEST);
                                                                //   4203                    %finish
#line 4203 "regression-compile-tmp/vax-pass2.imp"
L_0368:;
                                                                //   4204                    op = 0;                    ! marks rec=0
#line 4204 "regression-compile-tmp/vax-pass2.imp"
OP = 0;
                                                                //   4205                 %finish
#line 4205 "regression-compile-tmp/vax-pass2.imp"
L_0366:;
                                                                //   4206                 clear (dest)
#line 4206 "regression-compile-tmp/vax-pass2.imp"
CLEAR(DEST);
                                                                //   4207                 %if total > 0 %start;         ! more to do...
#line 4207 "regression-compile-tmp/vax-pass2.imp"
if (((TOTAL) <= (0))) goto L_0369;
                                                                //   4208                    %if total # 1 %start;      ! need a loop
#line 4208 "regression-compile-tmp/vax-pass2.imp"
if (((TOTAL) == (1))) goto L_036a;
                                                                //   4209                       count == literal(total);  stp = stp - 1
#line 4209 "regression-compile-tmp/vax-pass2.imp"
COUNT = LITERAL(TOTAL);
#line 4209 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4210                       load (count, r10)
#line 4210 "regression-compile-tmp/vax-pass2.imp"
LOAD(COUNT, 11);
                                                                //   4211                       loop ca = ca
#line 4211 "regression-compile-tmp/vax-pass2.imp"
LOOPCA = CA;
                                                                //   4212                    %finish
#line 4212 "regression-compile-tmp/vax-pass2.imp"
L_036a:;
                                                                //   4213                    len_disp = -1;             ! => 16_FFFF in OPERAND
#line 4213 "regression-compile-tmp/vax-pass2.imp"
LEN->DISP = (-1);
                                                                //   4214                    dest_base = r3;  dest_disp = 0;  dest_form = v in s
#line 4214 "regression-compile-tmp/vax-pass2.imp"
DEST->BASE = 4;
#line 4214 "regression-compile-tmp/vax-pass2.imp"
DEST->DISP = 0;
#line 4214 "regression-compile-tmp/vax-pass2.imp"
DEST->FORM = 2;
                                                                //   4215                    dest_flags = 0;  claim (r3)
#line 4215 "regression-compile-tmp/vax-pass2.imp"
DEST->FLAGS = 0;
#line 4215 "regression-compile-tmp/vax-pass2.imp"
CLAIM(4);
                                                                //   4216                    %if op # 0 %start;         ! rec move
#line 4216 "regression-compile-tmp/vax-pass2.imp"
if (((OP) == (0))) goto L_036b;
                                                                //   4217                       source_base = r1; source_disp = 0; source_form = v in s
#line 4217 "regression-compile-tmp/vax-pass2.imp"
SOURCE->BASE = 2;
#line 4217 "regression-compile-tmp/vax-pass2.imp"
SOURCE->DISP = 0;
#line 4217 "regression-compile-tmp/vax-pass2.imp"
SOURCE->FORM = 2;
                                                                //   4218                       source_flags = 0; claim (r1)
#line 4218 "regression-compile-tmp/vax-pass2.imp"
SOURCE->FLAGS = 0;
#line 4218 "regression-compile-tmp/vax-pass2.imp"
CLAIM(2);
                                                                //   4219                       plant3 (movc3, len, source, dest)
#line 4219 "regression-compile-tmp/vax-pass2.imp"
PLANT3(30, LEN, SOURCE, DEST);
                                                                //   4220                    %else
#line 4220 "regression-compile-tmp/vax-pass2.imp"
goto L_036c;
#line 4220 "regression-compile-tmp/vax-pass2.imp"
L_036b:;
                                                                //   4221                       plant5 (movc5, zerov, gla work, zerov, len, dest)
#line 4221 "regression-compile-tmp/vax-pass2.imp"
PLANT5(31, &ZEROV, &GLAWORK, &ZEROV, LEN, DEST);
                                                                //   4222                    %finish
#line 4222 "regression-compile-tmp/vax-pass2.imp"
L_036c:;
                                                                //   4223                    %if total # 1 %start
#line 4223 "regression-compile-tmp/vax-pass2.imp"
if (((TOTAL) == (1))) goto L_036d;
                                                                //   4224                       plant1 (sobgtr, count)
#line 4224 "regression-compile-tmp/vax-pass2.imp"
PLANT1(103, COUNT);
                                                                //   4225                       put number byte (loop ca-(ca+1));    ! byte offset
#line 4225 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE(((LOOPCA) - ((int)((((int)(CA)) + (1))))));
                                                                //   4226                       release (r10)
#line 4226 "regression-compile-tmp/vax-pass2.imp"
RELEASE(11);
                                                                //   4227                       drop (count)
#line 4227 "regression-compile-tmp/vax-pass2.imp"
DROP(COUNT);
                                                                //   4228                    %finish
#line 4228 "regression-compile-tmp/vax-pass2.imp"
L_036d:;
                                                                //   4229                 %finish
#line 4229 "regression-compile-tmp/vax-pass2.imp"
L_0369:;
                                                                //   4230                 drop (len)
#line 4230 "regression-compile-tmp/vax-pass2.imp"
DROP(LEN);
                                                                //   4231              %finish
#line 4231 "regression-compile-tmp/vax-pass2.imp"
L_035b:;
                                                                //   4232              drop (dest)
#line 4232 "regression-compile-tmp/vax-pass2.imp"
DROP(DEST);
                                                                //   4233              drop (source)
#line 4233 "regression-compile-tmp/vax-pass2.imp"
DROP(SOURCE);
                                                                //   4234              %return
#line 4234 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4235           %finish
#line 4235 "regression-compile-tmp/vax-pass2.imp"
L_0357:;
                                                                //   4236  
                                                                //   4237           oper = source_oper
#line 4237 "regression-compile-tmp/vax-pass2.imp"
OPER = SOURCE->OPER;
                                                                //   4238           %if oper # 0 %start
#line 4238 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) == (0))) goto L_036e;
                                                                //   4239              %if assop = 2 %start
#line 4239 "regression-compile-tmp/vax-pass2.imp"
if (((ASSOP) != (2))) goto L_036f;
                                                                //   4240                 %if dest_type&integers # 0 %start
#line 4240 "regression-compile-tmp/vax-pass2.imp"
if (((((DEST->TYPE) & (16))) == (0))) goto L_0370;
                                                                //   4241                    iovf off
#line 4241 "regression-compile-tmp/vax-pass2.imp"
IOVFOFF();
                                                                //   4242                 %finish
#line 4242 "regression-compile-tmp/vax-pass2.imp"
L_0370:;
                                                                //   4243              %finish
#line 4243 "regression-compile-tmp/vax-pass2.imp"
L_036f:;
                                                                //   4244              %if oper < add %start;        !unary
#line 4244 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) >= (9))) goto L_0371;
                                                                //   4245                 %if oper = not %and dest_type&real bit # 0 %start
#line 4245 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (7))) goto L_0372;
#line 4245 "regression-compile-tmp/vax-pass2.imp"
if (((((DEST->TYPE) & (32))) == (0))) goto L_0372;
                                                                //   4246                    ! Real = \integer
                                                                //   4247                    load (source, any)
#line 4247 "regression-compile-tmp/vax-pass2.imp"
LOAD(SOURCE, 17);
                                                                //   4248                    source_oper = 0
#line 4248 "regression-compile-tmp/vax-pass2.imp"
SOURCE->OPER = 0;
                                                                //   4249                 %else
#line 4249 "regression-compile-tmp/vax-pass2.imp"
goto L_0373;
#line 4249 "regression-compile-tmp/vax-pass2.imp"
L_0372:;
                                                                //   4250                    op = mnegl;  op = mcoml %if oper = not
#line 4250 "regression-compile-tmp/vax-pass2.imp"
OP = 0;
#line 4250 "regression-compile-tmp/vax-pass2.imp"
if (((OPER) != (7))) goto L_0374;
#line 4250 "regression-compile-tmp/vax-pass2.imp"
OP = 24;
#line 4250 "regression-compile-tmp/vax-pass2.imp"
L_0374:;
                                                                //   4251                    source_oper = 0
#line 4251 "regression-compile-tmp/vax-pass2.imp"
SOURCE->OPER = 0;
                                                                //   4252                    equate (dest, source, 0)
#line 4252 "regression-compile-tmp/vax-pass2.imp"
EQUATE(DEST, SOURCE, 0);
                                                                //   4253                    %if dest_type = source_type # byte+integers %start
#line 4253 "regression-compile-tmp/vax-pass2.imp"
if ((((DEST->TYPE) != (SOURCE->TYPE))) || (((SOURCE->TYPE) == (18)))) goto L_0375;
                                                                //   4254                       %if same (source, dest) %start
#line 4254 "regression-compile-tmp/vax-pass2.imp"
if (!(SAME(SOURCE, DEST))) goto L_0376;
                                                                //   4255                          address (dest)
#line 4255 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(DEST);
                                                                //   4256                          source = dest;  claim (source_base)
#line 4256 "regression-compile-tmp/vax-pass2.imp"
*SOURCE = *DEST;
#line 4256 "regression-compile-tmp/vax-pass2.imp"
CLAIM(SOURCE->BASE);
                                                                //   4257                       %else
#line 4257 "regression-compile-tmp/vax-pass2.imp"
goto L_0377;
#line 4257 "regression-compile-tmp/vax-pass2.imp"
L_0376:;
                                                                //   4258                          address (source);  address (dest)
#line 4258 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(SOURCE);
#line 4258 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(DEST);
                                                                //   4259                       %finish
#line 4259 "regression-compile-tmp/vax-pass2.imp"
L_0377:;
                                                                //   4260                       plant2 (op+dest_type&7, source, dest)
#line 4260 "regression-compile-tmp/vax-pass2.imp"
PLANT2(((OP) + ((int)(((DEST->TYPE) & (7))))), SOURCE, DEST);
                                                                //   4261                       clear (source)
#line 4261 "regression-compile-tmp/vax-pass2.imp"
CLEAR(SOURCE);
                                                                //   4262                       drop (source);  drop (dest)
#line 4262 "regression-compile-tmp/vax-pass2.imp"
DROP(SOURCE);
#line 4262 "regression-compile-tmp/vax-pass2.imp"
DROP(DEST);
                                                                //   4263                       iovf on
#line 4263 "regression-compile-tmp/vax-pass2.imp"
IOVFON();
                                                                //   4264                       %return
#line 4264 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4265                    %finish
#line 4265 "regression-compile-tmp/vax-pass2.imp"
L_0375:;
                                                                //   4266                    source_oper = oper
#line 4266 "regression-compile-tmp/vax-pass2.imp"
SOURCE->OPER = OPER;
                                                                //   4267                 %finish
#line 4267 "regression-compile-tmp/vax-pass2.imp"
L_0373:;
                                                                //   4268              %else
#line 4268 "regression-compile-tmp/vax-pass2.imp"
goto L_0378;
#line 4268 "regression-compile-tmp/vax-pass2.imp"
L_0371:;
                                                                //   4269                 op = op map(oper)
#line 4269 "regression-compile-tmp/vax-pass2.imp"
OP = (OPMAP-9)[OPER];
                                                                //   4270                 %if op # 0 %start;            !3-op possible
#line 4270 "regression-compile-tmp/vax-pass2.imp"
if (((OP) == (0))) goto L_0379;
                                                                //   4271                    w == source_link
#line 4271 "regression-compile-tmp/vax-pass2.imp"
W = SOURCE->LINK;
                                                                //   4272                    source_oper = 0
#line 4272 "regression-compile-tmp/vax-pass2.imp"
SOURCE->OPER = 0;
                                                                //   4273                    wt = w_type;  st = source_type;  dt = dest_type
#line 4273 "regression-compile-tmp/vax-pass2.imp"
WT = W->TYPE;
#line 4273 "regression-compile-tmp/vax-pass2.imp"
ST = SOURCE->TYPE;
#line 4273 "regression-compile-tmp/vax-pass2.imp"
DT = DEST->TYPE;
                                                                //   4274                    %if (dt!wt!st)&real bit = 0 %start
#line 4274 "regression-compile-tmp/vax-pass2.imp"
if (((((((((DT) | (WT))) | (ST))) & (32))) != (0))) goto L_037a;
                                                                //   4275                       ! Massage integer constants to permit 3-ops
                                                                //   4276                       %if const (w) %and
#line 4276 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(W))) goto L_037b;
#line 4276 "regression-compile-tmp/vax-pass2.imp"
if (!(FITS(W->DISP, DT))) goto L_037b;
                                                                //   4277                           fits (w_disp, dt) %start
                                                                //   4278                          w_type = dt %and wt = dt %if st = dt
#line 4278 "regression-compile-tmp/vax-pass2.imp"
if (((ST) != (DT))) goto L_037c;
#line 4278 "regression-compile-tmp/vax-pass2.imp"
W->TYPE = DT;
#line 4278 "regression-compile-tmp/vax-pass2.imp"
WT = DT;
#line 4278 "regression-compile-tmp/vax-pass2.imp"
L_037c:;
                                                                //   4279                       %else %if const (source) %and
#line 4279 "regression-compile-tmp/vax-pass2.imp"
goto L_037d;
#line 4279 "regression-compile-tmp/vax-pass2.imp"
L_037b:;
#line 4279 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(SOURCE))) goto L_037e;
#line 4279 "regression-compile-tmp/vax-pass2.imp"
if (!(FITS(SOURCE->DISP, DT))) goto L_037e;
                                                                //   4280                                 fits (source_disp, dt)
                                                                //   4281                          source_type = dt %and st = dt %if wt = dt
#line 4281 "regression-compile-tmp/vax-pass2.imp"
if (((WT) != (DT))) goto L_037f;
#line 4281 "regression-compile-tmp/vax-pass2.imp"
SOURCE->TYPE = DT;
#line 4281 "regression-compile-tmp/vax-pass2.imp"
ST = DT;
#line 4281 "regression-compile-tmp/vax-pass2.imp"
L_037f:;
                                                                //   4282                       %finish
#line 4282 "regression-compile-tmp/vax-pass2.imp"
L_037e:;
#line 4282 "regression-compile-tmp/vax-pass2.imp"
L_037d:;
                                                                //   4283                    %finish
#line 4283 "regression-compile-tmp/vax-pass2.imp"
L_037a:;
                                                                //   4284                    %unless dt # st = wt %start
#line 4284 "regression-compile-tmp/vax-pass2.imp"
if ((((DT) == (ST))) || (((ST) == (WT)))) goto L_0381;
#line 4284 "regression-compile-tmp/vax-pass2.imp"
L_0380:;
                                                                //   4285                       equate (dest, source, 0)
#line 4285 "regression-compile-tmp/vax-pass2.imp"
EQUATE(DEST, SOURCE, 0);
                                                                //   4286                       equate (dest, w, 0)
#line 4286 "regression-compile-tmp/vax-pass2.imp"
EQUATE(DEST, W, 0);
                                                                //   4287                       %if source_type = dest_type = w_type %start
#line 4287 "regression-compile-tmp/vax-pass2.imp"
if ((((SOURCE->TYPE) != (DEST->TYPE))) || (((DEST->TYPE) != (W->TYPE)))) goto L_0382;
                                                                //   4288                          %if same (dest, source) %start
#line 4288 "regression-compile-tmp/vax-pass2.imp"
if (!(SAME(DEST, SOURCE))) goto L_0383;
                                                                //   4289                             address (dest);  source = dest
#line 4289 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(DEST);
#line 4289 "regression-compile-tmp/vax-pass2.imp"
*SOURCE = *DEST;
                                                                //   4290                             claim (source_base)
#line 4290 "regression-compile-tmp/vax-pass2.imp"
CLAIM(SOURCE->BASE);
                                                                //   4291                             address (w)
#line 4291 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(W);
                                                                //   4292                          %else %if same (dest, w)
#line 4292 "regression-compile-tmp/vax-pass2.imp"
goto L_0384;
#line 4292 "regression-compile-tmp/vax-pass2.imp"
L_0383:;
#line 4292 "regression-compile-tmp/vax-pass2.imp"
if (!(SAME(DEST, W))) goto L_0385;
                                                                //   4293                             address (dest);  w = dest
#line 4293 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(DEST);
#line 4293 "regression-compile-tmp/vax-pass2.imp"
*W = *DEST;
                                                                //   4294                             claim (w_base)
#line 4294 "regression-compile-tmp/vax-pass2.imp"
CLAIM(W->BASE);
                                                                //   4295                             address (source)
#line 4295 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(SOURCE);
                                                                //   4296                          %else %if same (source, w);   ! a = b + b
#line 4296 "regression-compile-tmp/vax-pass2.imp"
goto L_0384;
#line 4296 "regression-compile-tmp/vax-pass2.imp"
L_0385:;
#line 4296 "regression-compile-tmp/vax-pass2.imp"
if (!(SAME(SOURCE, W))) goto L_0386;
                                                                //   4297                             address (source);  w = source
#line 4297 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(SOURCE);
#line 4297 "regression-compile-tmp/vax-pass2.imp"
*W = *SOURCE;
                                                                //   4298                             claim (w_base)
#line 4298 "regression-compile-tmp/vax-pass2.imp"
CLAIM(W->BASE);
                                                                //   4299                             address (dest)
#line 4299 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(DEST);
                                                                //   4300                          %else
#line 4300 "regression-compile-tmp/vax-pass2.imp"
goto L_0384;
#line 4300 "regression-compile-tmp/vax-pass2.imp"
L_0386:;
                                                                //   4301                             address (source)
#line 4301 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(SOURCE);
                                                                //   4302                             address (dest)
#line 4302 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(DEST);
                                                                //   4303                             address (w)
#line 4303 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(W);
                                                                //   4304                          %finish
#line 4304 "regression-compile-tmp/vax-pass2.imp"
L_0384:;
                                                                //   4305                          iovf off %if dest_type = byte+integers
#line 4305 "regression-compile-tmp/vax-pass2.imp"
if (((DEST->TYPE) != (18))) goto L_0387;
#line 4305 "regression-compile-tmp/vax-pass2.imp"
IOVFOFF();
#line 4305 "regression-compile-tmp/vax-pass2.imp"
L_0387:;
                                                                //   4306                          plant3 (op+dest_type&7, w, source, dest)
#line 4306 "regression-compile-tmp/vax-pass2.imp"
PLANT3(((OP) + ((int)(((DEST->TYPE) & (7))))), W, SOURCE, DEST);
                                                                //   4307                          iovf on
#line 4307 "regression-compile-tmp/vax-pass2.imp"
IOVFON();
                                                                //   4308                          clear (source);  clear (w)
#line 4308 "regression-compile-tmp/vax-pass2.imp"
CLEAR(SOURCE);
#line 4308 "regression-compile-tmp/vax-pass2.imp"
CLEAR(W);
                                                                //   4309                          drop (source);  drop (dest);  drop (w)
#line 4309 "regression-compile-tmp/vax-pass2.imp"
DROP(SOURCE);
#line 4309 "regression-compile-tmp/vax-pass2.imp"
DROP(DEST);
#line 4309 "regression-compile-tmp/vax-pass2.imp"
DROP(W);
                                                                //   4310                          %return
#line 4310 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4311                       %finish
#line 4311 "regression-compile-tmp/vax-pass2.imp"
L_0382:;
                                                                //   4312                    %finish
#line 4312 "regression-compile-tmp/vax-pass2.imp"
L_0381:;
                                                                //   4313                    source_oper = oper
#line 4313 "regression-compile-tmp/vax-pass2.imp"
SOURCE->OPER = OPER;
                                                                //   4314                 %else
#line 4314 "regression-compile-tmp/vax-pass2.imp"
goto L_0388;
#line 4314 "regression-compile-tmp/vax-pass2.imp"
L_0379:;
                                                                //   4315                    drop (dest) %and %return %if simple shift (source, dest)
#line 4315 "regression-compile-tmp/vax-pass2.imp"
if (!(SIMPLESHIFT(SOURCE, DEST))) goto L_0389;
#line 4315 "regression-compile-tmp/vax-pass2.imp"
DROP(DEST);
#line 4315 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 4315 "regression-compile-tmp/vax-pass2.imp"
L_0389:;
                                                                //   4316                 %finish
#line 4316 "regression-compile-tmp/vax-pass2.imp"
L_0388:;
                                                                //   4317              %finish
#line 4317 "regression-compile-tmp/vax-pass2.imp"
L_0378:;
                                                                //   4318              load (source, any) %if source_oper # 0
#line 4318 "regression-compile-tmp/vax-pass2.imp"
if (((SOURCE->OPER) == (0))) goto L_038a;
#line 4318 "regression-compile-tmp/vax-pass2.imp"
LOAD(SOURCE, 17);
#line 4318 "regression-compile-tmp/vax-pass2.imp"
L_038a:;
                                                                //   4319           %finish
#line 4319 "regression-compile-tmp/vax-pass2.imp"
L_036e:;
                                                                //   4320           ! Prevent trouble with "byte = intarray(n)": would generate MOVB
                                                                //   4321           !   but with source indexed, should be appropriate source length op.
                                                                //   4322           load (source, any) %if source_flags&indexed # 0 %and
#line 4322 "regression-compile-tmp/vax-pass2.imp"
if (((((SOURCE->FLAGS) & (1))) == (0))) goto L_038b;
#line 4322 "regression-compile-tmp/vax-pass2.imp"
if ((((SOURCE->TYPE) == (18))) || (((18) != (DEST->TYPE)))) goto L_038b;
#line 4322 "regression-compile-tmp/vax-pass2.imp"
LOAD(SOURCE, 17);
#line 4322 "regression-compile-tmp/vax-pass2.imp"
L_038b:;
                                                                //   4323                                  source_type # byte+integers = dest_type
                                                                //   4324           shape up (dest_type, source) %if assop = 2 %and const (source)
#line 4324 "regression-compile-tmp/vax-pass2.imp"
if (((ASSOP) != (2))) goto L_038c;
#line 4324 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(SOURCE))) goto L_038c;
#line 4324 "regression-compile-tmp/vax-pass2.imp"
SHAPEUP(DEST->TYPE, SOURCE);
#line 4324 "regression-compile-tmp/vax-pass2.imp"
L_038c:;
                                                                //   4325           address (dest)
#line 4325 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(DEST);
                                                                //   4326           source_type = dest_type %if source_form = constant %and
#line 4326 "regression-compile-tmp/vax-pass2.imp"
if (((SOURCE->FORM) != (0))) goto L_038d;
#line 4326 "regression-compile-tmp/vax-pass2.imp"
if (((((DEST->TYPE) & (16))) == (0))) goto L_038d;
#line 4326 "regression-compile-tmp/vax-pass2.imp"
SOURCE->TYPE = DEST->TYPE;
#line 4326 "regression-compile-tmp/vax-pass2.imp"
L_038d:;
                                                                //   4327                                       dest_type&integers # 0
                                                                //   4328           op = (source_type&7)*8+7*8
#line 4328 "regression-compile-tmp/vax-pass2.imp"
OP = ((((((int)(((SOURCE->TYPE) & (7)))) * (8)))) + ((((int)(7)) * (8))));
                                                                //   4329           op = movl %if source_type = dest_type %or zero (source)
#line 4329 "regression-compile-tmp/vax-pass2.imp"
if (((SOURCE->TYPE) == (DEST->TYPE))) goto L_038e;
#line 4329 "regression-compile-tmp/vax-pass2.imp"
if (!(ZERO(SOURCE))) goto L_038f;
#line 4329 "regression-compile-tmp/vax-pass2.imp"
L_038e:;
#line 4329 "regression-compile-tmp/vax-pass2.imp"
OP = 8968;
#line 4329 "regression-compile-tmp/vax-pass2.imp"
L_038f:;
                                                                //   4330           op = op + dest_type&7
#line 4330 "regression-compile-tmp/vax-pass2.imp"
OP = ((OP) + ((int)(((DEST->TYPE) & (7)))));
                                                                //   4331           %if source_form = av in s %or source_form = av in rec %start
#line 4331 "regression-compile-tmp/vax-pass2.imp"
if (((SOURCE->FORM) == (3))) goto L_0390;
#line 4331 "regression-compile-tmp/vax-pass2.imp"
if (((SOURCE->FORM) != (6))) goto L_0391;
#line 4331 "regression-compile-tmp/vax-pass2.imp"
L_0390:;
                                                                //   4332              %if dest_type # integers %start
#line 4332 "regression-compile-tmp/vax-pass2.imp"
if (((DEST->TYPE) == (16))) goto L_0392;
                                                                //   4333                 load (source, any)
#line 4333 "regression-compile-tmp/vax-pass2.imp"
LOAD(SOURCE, 17);
                                                                //   4334              %else
#line 4334 "regression-compile-tmp/vax-pass2.imp"
goto L_0393;
#line 4334 "regression-compile-tmp/vax-pass2.imp"
L_0392:;
                                                                //   4335                 source_form = source_form-1;  op = moval
#line 4335 "regression-compile-tmp/vax-pass2.imp"
SOURCE->FORM = (((int)(SOURCE->FORM)) - (1));
#line 4335 "regression-compile-tmp/vax-pass2.imp"
OP = 4112;
                                                                //   4336              %finish
#line 4336 "regression-compile-tmp/vax-pass2.imp"
L_0393:;
                                                                //   4337           %finish
#line 4337 "regression-compile-tmp/vax-pass2.imp"
L_0391:;
                                                                //   4338           address (source)
#line 4338 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(SOURCE);
                                                                //   4339           scale index (op, source)
#line 4339 "regression-compile-tmp/vax-pass2.imp"
SCALEINDEX(&OP, SOURCE);
                                                                //   4340           plant2 (op, source, dest)
#line 4340 "regression-compile-tmp/vax-pass2.imp"
PLANT2(OP, SOURCE, DEST);
                                                                //   4341           clear (source);  clear (dest)
#line 4341 "regression-compile-tmp/vax-pass2.imp"
CLEAR(SOURCE);
#line 4341 "regression-compile-tmp/vax-pass2.imp"
CLEAR(DEST);
                                                                //   4342           drop (source);  drop (dest)
#line 4342 "regression-compile-tmp/vax-pass2.imp"
DROP(SOURCE);
#line 4342 "regression-compile-tmp/vax-pass2.imp"
DROP(DEST);
                                                                //   4343           iovf on
#line 4343 "regression-compile-tmp/vax-pass2.imp"
IOVFON();
                                                                //   4344        %end
#line 4344 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ASSIGN at level 3
                                                                //   4345  
                                                                //   4346        %routine  LRD (%record(stackfm) %name v, %integer reg)
#line 4346 "regression-compile-tmp/vax-pass2.imp"
void LRD(  STACKFM /*name*/*V, int REG )
#line 4346 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4347           !load, release and drop
                                                                //   4348           load (v, reg)
#line 4348 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, REG);
                                                                //   4349           release (v_base);             !reg could be any!!!!!
#line 4349 "regression-compile-tmp/vax-pass2.imp"
RELEASE(V->BASE);
                                                                //   4350           drop (v)
#line 4350 "regression-compile-tmp/vax-pass2.imp"
DROP(V);
                                                                //   4351        %end
#line 4351 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block LRD at level 3
                                                                //   4352  
                                                                //   4353        %routine  SET STATUS
#line 4353 "regression-compile-tmp/vax-pass2.imp"
void SETSTATUS( void )
#line 4353 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4354           ! This is the top level - load a 'success' result
                                                                //   4355           ! into R0 for the CLI's benefit (return pending).
                                                                //   4356           %record(stackfm) %name  res
#line 4356 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*RES;
                                                                //   4357           %return %if uncond jump = ca
#line 4357 "regression-compile-tmp/vax-pass2.imp"
if (((UNCONDJUMP) != (CA))) goto L_0394;
#line 4357 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 4357 "regression-compile-tmp/vax-pass2.imp"
L_0394:;
                                                                //   4358           res == literal(1);  stp = stp - 1
#line 4358 "regression-compile-tmp/vax-pass2.imp"
RES = LITERAL(1);
#line 4358 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4359           lrd (res, r0)
#line 4359 "regression-compile-tmp/vax-pass2.imp"
LRD(RES, 1);
                                                                //   4360        %end
#line 4360 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETSTATUS at level 3
                                                                //   4361  
                                                                //   4362        %routine  SET RESULT (%record(stack fm) %name v, %integer mode)
#line 4362 "regression-compile-tmp/vax-pass2.imp"
void SETRESULT(  STACKFM /*name*/*V, int MODE )
#line 4362 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4363           %integer  reg
#line 4363 "regression-compile-tmp/vax-pass2.imp"
int REG;
                                                                //   4364           amap (v) %if mode = 'M';                     !a map
#line 4364 "regression-compile-tmp/vax-pass2.imp"
if (((MODE) != (77))) goto L_0395;
#line 4364 "regression-compile-tmp/vax-pass2.imp"
AMAP(V);
#line 4364 "regression-compile-tmp/vax-pass2.imp"
L_0395:;
                                                                //   4365           %if gvar_type&(strings!records) # 0 %and mode = 'V' %start
#line 4365 "regression-compile-tmp/vax-pass2.imp"
if (((((GVAR->TYPE) & (((64) | (128))))) == (0))) goto L_0396;
#line 4365 "regression-compile-tmp/vax-pass2.imp"
if (((MODE) != (86))) goto L_0396;
                                                                //   4366              ! Result of string/record function - goes via
                                                                //   4367              ! (hidden) first parameter..
                                                                //   4368              lstack (64);                               ! disp of result addr
#line 4368 "regression-compile-tmp/vax-pass2.imp"
LSTACK(64);
                                                                //   4369              lhs_form = a in s
#line 4369 "regression-compile-tmp/vax-pass2.imp"
LHS->FORM = 4;
                                                                //   4370              %if gvar_type&records # 0 %start
#line 4370 "regression-compile-tmp/vax-pass2.imp"
if (((((GVAR->TYPE) & (128))) == (0))) goto L_0397;
                                                                //   4371                 lhs_type = records;  lhs_format = gvar_format
#line 4371 "regression-compile-tmp/vax-pass2.imp"
LHS->TYPE = 128;
#line 4371 "regression-compile-tmp/vax-pass2.imp"
LHS->FORMAT = GVAR->FORMAT;
                                                                //   4372                 dstack (v);  assign (1)
#line 4372 "regression-compile-tmp/vax-pass2.imp"
DSTACK(V);
#line 4372 "regression-compile-tmp/vax-pass2.imp"
ASSIGN(1);
                                                                //   4373              %else
#line 4373 "regression-compile-tmp/vax-pass2.imp"
goto L_0398;
#line 4373 "regression-compile-tmp/vax-pass2.imp"
L_0397:;
                                                                //   4374                 lhs_type = strings;  lhs_length = gvar_length
#line 4374 "regression-compile-tmp/vax-pass2.imp"
LHS->TYPE = 64;
#line 4374 "regression-compile-tmp/vax-pass2.imp"
LHS->LENGTH = GVAR->LENGTH;
                                                                //   4375                 stp = stp - 1
#line 4375 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4376                 assign string (v, lhs)
#line 4376 "regression-compile-tmp/vax-pass2.imp"
ASSIGNSTRING(V, LHS);
                                                                //   4377                 drop (lhs)
#line 4377 "regression-compile-tmp/vax-pass2.imp"
DROP(LHS);
                                                                //   4378              %finish
#line 4378 "regression-compile-tmp/vax-pass2.imp"
L_0398:;
                                                                //   4379              drop (v)
#line 4379 "regression-compile-tmp/vax-pass2.imp"
DROP(V);
                                                                //   4380           %else
#line 4380 "regression-compile-tmp/vax-pass2.imp"
goto L_0399;
#line 4380 "regression-compile-tmp/vax-pass2.imp"
L_0396:;
                                                                //   4381              reg = r0
#line 4381 "regression-compile-tmp/vax-pass2.imp"
REG = 1;
                                                                //   4382              reg = fpr0 %if gvar_type&real bit # 0 %and mode = 'V'
#line 4382 "regression-compile-tmp/vax-pass2.imp"
if (((((GVAR->TYPE) & (32))) == (0))) goto L_039a;
#line 4382 "regression-compile-tmp/vax-pass2.imp"
if (((MODE) != (86))) goto L_039a;
#line 4382 "regression-compile-tmp/vax-pass2.imp"
REG = 18;
#line 4382 "regression-compile-tmp/vax-pass2.imp"
L_039a:;
                                                                //   4383              lrd (v, reg)
#line 4383 "regression-compile-tmp/vax-pass2.imp"
LRD(V, REG);
                                                                //   4384           %finish
#line 4384 "regression-compile-tmp/vax-pass2.imp"
L_0399:;
                                                                //   4385        %end
#line 4385 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETRESULT at level 3
                                                                //   4386  
                                                                //   4387        %routine  RETURN
#line 4387 "regression-compile-tmp/vax-pass2.imp"
void RETURN( void )
#line 4387 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4388           %return %if uncond jump = ca
#line 4388 "regression-compile-tmp/vax-pass2.imp"
if (((UNCONDJUMP) != (CA))) goto L_039b;
#line 4388 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
#line 4388 "regression-compile-tmp/vax-pass2.imp"
L_039b:;
                                                                //   4389           put code (opcode(ret&255))
#line 4389 "regression-compile-tmp/vax-pass2.imp"
PUTCODE(OPCODE[((23) & (255))]);
                                                                //   4390           uncond jump = ca
#line 4390 "regression-compile-tmp/vax-pass2.imp"
UNCONDJUMP = CA;
                                                                //   4391        %end
#line 4391 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block RETURN at level 3
                                                                //   4392  
                                                                //   4393        %routine  RECORD SELECT
#line 4393 "regression-compile-tmp/vax-pass2.imp"
void RECORDSELECT( void )
#line 4393 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4394           %integer  n
#line 4394 "regression-compile-tmp/vax-pass2.imp"
int N;
                                                                //   4395           n = getword;  set lhs
#line 4395 "regression-compile-tmp/vax-pass2.imp"
N = GETWORD();
#line 4395 "regression-compile-tmp/vax-pass2.imp"
SETLHS();
                                                                //   4396           vstack (var(var(lhs_format)_extra-n))
#line 4396 "regression-compile-tmp/vax-pass2.imp"
VSTACK(&VAR[(((int)(VAR[LHS->FORMAT].EXTRA)) - (N))]);
                                                                //   4397           set both
#line 4397 "regression-compile-tmp/vax-pass2.imp"
SETBOTH();
                                                                //   4398           stp = stp - 1
#line 4398 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4399           monitor (lhs, "Rec sel in") %if diag&8 # 0
#line 4399 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (8))) == (0))) goto L_039c;
#line 4399 "regression-compile-tmp/vax-pass2.imp"
MONITOR(LHS, _imp_str_literal("Rec sel in"));
#line 4399 "regression-compile-tmp/vax-pass2.imp"
L_039c:;
                                                                //   4400           %if lhs_flags&indexed # 0 %and
#line 4400 "regression-compile-tmp/vax-pass2.imp"
if (((((LHS->FLAGS) & (1))) == (0))) goto L_039d;
#line 4400 "regression-compile-tmp/vax-pass2.imp"
if (((((LHS->FLAGS) & (2))) != (0))) goto L_039e;
#line 4400 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->FORM) == (4))) goto L_039e;
#line 4400 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->FORM) != (7))) goto L_039d;
#line 4400 "regression-compile-tmp/vax-pass2.imp"
L_039e:;
                                                                //   4401               (lhs_flags&xdefer # 0 %or
                                                                //   4402                lhs_form = a in s %or lhs_form = a in rec) %start
                                                                //   4403              ! address calc incomplete
                                                                //   4404              address (lhs)
#line 4404 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(LHS);
                                                                //   4405              %if lhs_flags&xdefer # 0 %and rhs_disp # 0 %start
#line 4405 "regression-compile-tmp/vax-pass2.imp"
if (((((LHS->FLAGS) & (2))) == (0))) goto L_039f;
#line 4405 "regression-compile-tmp/vax-pass2.imp"
if (((RHS->DISP) == (0))) goto L_039f;
                                                                //   4406                 amap (lhs)
#line 4406 "regression-compile-tmp/vax-pass2.imp"
AMAP(LHS);
                                                                //   4407                 load (lhs, any)
#line 4407 "regression-compile-tmp/vax-pass2.imp"
LOAD(LHS, 17);
                                                                //   4408                 lhs_form = v in s
#line 4408 "regression-compile-tmp/vax-pass2.imp"
LHS->FORM = 2;
                                                                //   4409              %finish
#line 4409 "regression-compile-tmp/vax-pass2.imp"
L_039f:;
                                                                //   4410           %finish
#line 4410 "regression-compile-tmp/vax-pass2.imp"
L_039d:;
                                                                //   4411           %if lhs_form = v in s %or lhs_form = v in rec %start
#line 4411 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->FORM) == (2))) goto L_03a0;
#line 4411 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->FORM) != (5))) goto L_03a1;
#line 4411 "regression-compile-tmp/vax-pass2.imp"
L_03a0:;
                                                                //   4412              rhs_disp = rhs_disp+lhs_disp
#line 4412 "regression-compile-tmp/vax-pass2.imp"
RHS->DISP = (((int)(RHS->DISP)) + (LHS->DISP));
                                                                //   4413              lhs_form = lhs_form - v in s + rhs_form
#line 4413 "regression-compile-tmp/vax-pass2.imp"
LHS->FORM = (((unsigned char)((((int)(LHS->FORM)) - (2)))) + (RHS->FORM));
                                                                //   4414              rhs_mantissa = rhs_mantissa + lhs_disp;   ! For arrays in records
#line 4414 "regression-compile-tmp/vax-pass2.imp"
RHS->MANTISSA = (((int)(RHS->MANTISSA)) + (LHS->DISP));
                                                                //   4415           %else %if lhs_form = a in s %or lhs_form = a in rec
#line 4415 "regression-compile-tmp/vax-pass2.imp"
goto L_03a2;
#line 4415 "regression-compile-tmp/vax-pass2.imp"
L_03a1:;
#line 4415 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->FORM) == (4))) goto L_03a3;
#line 4415 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->FORM) != (7))) goto L_03a4;
#line 4415 "regression-compile-tmp/vax-pass2.imp"
L_03a3:;
                                                                //   4416              %if lhs_form = a in s %and activity(lhs_base) < 0 %start
#line 4416 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->FORM) != (4))) goto L_03a5;
#line 4416 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[LHS->BASE]) >= (0))) goto L_03a5;
                                                                //   4417                 lhs_extra = lhs_disp
#line 4417 "regression-compile-tmp/vax-pass2.imp"
LHS->EXTRA = LHS->DISP;
                                                                //   4418                 lhs_form  = rhs_form + rec mod
#line 4418 "regression-compile-tmp/vax-pass2.imp"
LHS->FORM = (((int)(RHS->FORM)) + (3));
                                                                //   4419              %else
#line 4419 "regression-compile-tmp/vax-pass2.imp"
goto L_03a6;
#line 4419 "regression-compile-tmp/vax-pass2.imp"
L_03a5:;
                                                                //   4420                 lhs_form = lhs_form - 2;  lhs_type = integers
#line 4420 "regression-compile-tmp/vax-pass2.imp"
LHS->FORM = (((int)(LHS->FORM)) - (2));
#line 4420 "regression-compile-tmp/vax-pass2.imp"
LHS->TYPE = 16;
                                                                //   4421                 load (lhs, any)
#line 4421 "regression-compile-tmp/vax-pass2.imp"
LOAD(LHS, 17);
                                                                //   4422                 lhs_form = rhs_form
#line 4422 "regression-compile-tmp/vax-pass2.imp"
LHS->FORM = RHS->FORM;
                                                                //   4423              %finish
#line 4423 "regression-compile-tmp/vax-pass2.imp"
L_03a6:;
                                                                //   4424           %else %if lhs_form <= v in r
#line 4424 "regression-compile-tmp/vax-pass2.imp"
goto L_03a2;
#line 4424 "regression-compile-tmp/vax-pass2.imp"
L_03a4:;
#line 4424 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->FORM) > (1))) goto L_03a7;
                                                                //   4425              lhs_form = rhs_form
#line 4425 "regression-compile-tmp/vax-pass2.imp"
LHS->FORM = RHS->FORM;
                                                                //   4426           %else
#line 4426 "regression-compile-tmp/vax-pass2.imp"
goto L_03a2;
#line 4426 "regression-compile-tmp/vax-pass2.imp"
L_03a7:;
                                                                //   4427              abort (45)
#line 4427 "regression-compile-tmp/vax-pass2.imp"
ABORT(45);
                                                                //   4428           %finish
#line 4428 "regression-compile-tmp/vax-pass2.imp"
L_03a2:;
                                                                //   4429           lhs_disp     = rhs_disp
#line 4429 "regression-compile-tmp/vax-pass2.imp"
LHS->DISP = RHS->DISP;
                                                                //   4430           lhs_type     = rhs_type
#line 4430 "regression-compile-tmp/vax-pass2.imp"
LHS->TYPE = RHS->TYPE;
                                                                //   4431           lhs_length   = rhs_length
#line 4431 "regression-compile-tmp/vax-pass2.imp"
LHS->LENGTH = RHS->LENGTH;
                                                                //   4432           lhs_format   = rhs_format
#line 4432 "regression-compile-tmp/vax-pass2.imp"
LHS->FORMAT = RHS->FORMAT;
                                                                //   4433           lhs_header   = rhs_header
#line 4433 "regression-compile-tmp/vax-pass2.imp"
LHS->HEADER = RHS->HEADER;
                                                                //   4434           lhs_mantissa = rhs_mantissa
#line 4434 "regression-compile-tmp/vax-pass2.imp"
LHS->MANTISSA = RHS->MANTISSA;
                                                                //   4435           drop (rhs)
#line 4435 "regression-compile-tmp/vax-pass2.imp"
DROP(RHS);
                                                                //   4436           monitor (lhs, "Rec sel out") %if diag&8 # 0
#line 4436 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (8))) == (0))) goto L_03a8;
#line 4436 "regression-compile-tmp/vax-pass2.imp"
MONITOR(LHS, _imp_str_literal("Rec sel out"));
#line 4436 "regression-compile-tmp/vax-pass2.imp"
L_03a8:;
                                                                //   4437        %end
#line 4437 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block RECORDSELECT at level 3
                                                                //   4438  
                                                                //   4439        %routine  ARRAY REF (%integer mode)
#line 4439 "regression-compile-tmp/vax-pass2.imp"
void ARRAYREF( int MODE )
#line 4439 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4440           !mode = 0 -     last subscript (or only)
                                                                //   4441           !     = 1 - not last subscript
                                                                //   4442           %record(stackfm) %name  a, ind
#line 4442 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*A;
#line 4442 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*IND;
                                                                //   4443           %integer  type, len, rlen, c, form, x, idrop
#line 4443 "regression-compile-tmp/vax-pass2.imp"
int TYPE;
#line 4443 "regression-compile-tmp/vax-pass2.imp"
int LEN;
#line 4443 "regression-compile-tmp/vax-pass2.imp"
int RLEN;
#line 4443 "regression-compile-tmp/vax-pass2.imp"
int C;
#line 4443 "regression-compile-tmp/vax-pass2.imp"
int FORM;
#line 4443 "regression-compile-tmp/vax-pass2.imp"
int X;
#line 4443 "regression-compile-tmp/vax-pass2.imp"
int IDROP;
                                                                //   4444           %integer  aname, icon, ival, hbase, hdisp
#line 4444 "regression-compile-tmp/vax-pass2.imp"
int ANAME;
#line 4444 "regression-compile-tmp/vax-pass2.imp"
int ICON;
#line 4444 "regression-compile-tmp/vax-pass2.imp"
int IVAL;
#line 4444 "regression-compile-tmp/vax-pass2.imp"
int HBASE;
#line 4444 "regression-compile-tmp/vax-pass2.imp"
int HDISP;
                                                                //   4445  
                                                                //   4446           %if mode # 0 %start;            !multi-dim
#line 4446 "regression-compile-tmp/vax-pass2.imp"
if (((MODE) == (0))) goto L_03a9;
                                                                //   4447              set both
#line 4447 "regression-compile-tmp/vax-pass2.imp"
SETBOTH();
                                                                //   4448              %if lhs_oper = 0 %start
#line 4448 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->OPER) != (0))) goto L_03aa;
                                                                //   4449                 lhs_oper = 1;  lhs_link == null
#line 4449 "regression-compile-tmp/vax-pass2.imp"
LHS->OPER = 1;
#line 4449 "regression-compile-tmp/vax-pass2.imp"
LHS->LINK = NULL;
                                                                //   4450              %finish
#line 4450 "regression-compile-tmp/vax-pass2.imp"
L_03aa:;
                                                                //   4451              address (rhs);                !index
#line 4451 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(RHS);
                                                                //   4452              rhs_link == lhs_link;  lhs_link == rhs
#line 4452 "regression-compile-tmp/vax-pass2.imp"
RHS->LINK = LHS->LINK;
#line 4452 "regression-compile-tmp/vax-pass2.imp"
LHS->LINK = RHS;
                                                                //   4453              stp = stp - 1
#line 4453 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4454              %return
#line 4454 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4455           %finish
#line 4455 "regression-compile-tmp/vax-pass2.imp"
L_03a9:;
                                                                //   4456  
                                                                //   4457           a   == stacked(stp-1)
#line 4457 "regression-compile-tmp/vax-pass2.imp"
A = STACKED[(((int)((((int)(STP)) - (1)))) - (1))];
                                                                //   4458           ind == stacked(stp);    idrop = 1; ! index still stacked
#line 4458 "regression-compile-tmp/vax-pass2.imp"
IND = STACKED[(((int)(STP)) - (1))];
#line 4458 "regression-compile-tmp/vax-pass2.imp"
IDROP = 1;
                                                                //   4459           %if diag&8 # 0 %start
#line 4459 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (8))) == (0))) goto L_03ab;
                                                                //   4460              monitor (a, "Array base")
#line 4460 "regression-compile-tmp/vax-pass2.imp"
MONITOR(A, _imp_str_literal("Array base"));
                                                                //   4461              monitor (ind, "Array index")
#line 4461 "regression-compile-tmp/vax-pass2.imp"
MONITOR(IND, _imp_str_literal("Array index"));
                                                                //   4462           %finish
#line 4462 "regression-compile-tmp/vax-pass2.imp"
L_03ab:;
                                                                //   4463  
                                                                //   4464           rlen = a_length;    type = a_type
#line 4464 "regression-compile-tmp/vax-pass2.imp"
RLEN = A->LENGTH;
#line 4464 "regression-compile-tmp/vax-pass2.imp"
TYPE = A->TYPE;
                                                                //   4465           form = a_form&15;   aname = a_form&arrayname bit
#line 4465 "regression-compile-tmp/vax-pass2.imp"
FORM = ((A->FORM) & (15));
#line 4465 "regression-compile-tmp/vax-pass2.imp"
ANAME = ((A->FORM) & (64));
                                                                //   4466           a_type = integers;  a_form = v in s
#line 4466 "regression-compile-tmp/vax-pass2.imp"
A->TYPE = 16;
#line 4466 "regression-compile-tmp/vax-pass2.imp"
A->FORM = 2;
                                                                //   4467           %if form >= v in rec %start;   ! Array or arrayname in record
#line 4467 "regression-compile-tmp/vax-pass2.imp"
if (((FORM) < (5))) goto L_03ac;
                                                                //   4468              form = form - 3
#line 4468 "regression-compile-tmp/vax-pass2.imp"
FORM = (((int)(FORM)) - (3));
                                                                //   4469              a_form = v in rec
#line 4469 "regression-compile-tmp/vax-pass2.imp"
A->FORM = 5;
                                                                //   4470           %finish
#line 4470 "regression-compile-tmp/vax-pass2.imp"
L_03ac:;
                                                                //   4471  
                                                                //   4472           ! remember where header is - may be needed
                                                                //   4473           %if a_header > 0 %start
#line 4473 "regression-compile-tmp/vax-pass2.imp"
if (((A->HEADER) <= (0))) goto L_03ad;
                                                                //   4474              hbase = gla;  hdisp = a_header
#line 4474 "regression-compile-tmp/vax-pass2.imp"
HBASE = 12;
#line 4474 "regression-compile-tmp/vax-pass2.imp"
HDISP = A->HEADER;
                                                                //   4475           %else
#line 4475 "regression-compile-tmp/vax-pass2.imp"
goto L_03ae;
#line 4475 "regression-compile-tmp/vax-pass2.imp"
L_03ad:;
                                                                //   4476              hbase = a_base;  hdisp = a_disp
#line 4476 "regression-compile-tmp/vax-pass2.imp"
HBASE = A->BASE;
#line 4476 "regression-compile-tmp/vax-pass2.imp"
HDISP = A->DISP;
                                                                //   4477           %finish
#line 4477 "regression-compile-tmp/vax-pass2.imp"
L_03ae:;
                                                                //   4478  
                                                                //   4479           %if a_oper = 0 %start;    ! 1-dim
#line 4479 "regression-compile-tmp/vax-pass2.imp"
if (((A->OPER) != (0))) goto L_03af;
                                                                //   4480              ! constant index?
                                                                //   4481              icon = 0;  icon = 1 %and ival = ind_disp %if const (ind)
#line 4481 "regression-compile-tmp/vax-pass2.imp"
ICON = 0;
#line 4481 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(IND))) goto L_03b0;
#line 4481 "regression-compile-tmp/vax-pass2.imp"
ICON = 1;
#line 4481 "regression-compile-tmp/vax-pass2.imp"
IVAL = IND->DISP;
#line 4481 "regression-compile-tmp/vax-pass2.imp"
L_03b0:;
                                                                //   4482              ! sort out length of actual elements of array (may be %namearray)
                                                                //   4483              len = rlen;  len = 4 %if form = a in s
#line 4483 "regression-compile-tmp/vax-pass2.imp"
LEN = RLEN;
#line 4483 "regression-compile-tmp/vax-pass2.imp"
if (((FORM) != (4))) goto L_03b1;
#line 4483 "regression-compile-tmp/vax-pass2.imp"
LEN = 4;
#line 4483 "regression-compile-tmp/vax-pass2.imp"
L_03b1:;
                                                                //   4484              ! change A into a descriptor for the zeroth element
                                                                //   4485              %if a_form = v in rec %start
#line 4485 "regression-compile-tmp/vax-pass2.imp"
if (((A->FORM) != (5))) goto L_03b2;
                                                                //   4486                 %if aname = 0 %start;     ! array in record
#line 4486 "regression-compile-tmp/vax-pass2.imp"
if (((ANAME) != (0))) goto L_03b3;
                                                                //   4487                    %if a_mantissa = 0 %start
#line 4487 "regression-compile-tmp/vax-pass2.imp"
if (((A->MANTISSA) != (0))) goto L_03b4;
                                                                //   4488                       ! ie addr(A(0)) = addr(record)
                                                                //   4489                       a_form = a in s;  a_disp = a_extra
#line 4489 "regression-compile-tmp/vax-pass2.imp"
A->FORM = 4;
#line 4489 "regression-compile-tmp/vax-pass2.imp"
A->DISP = A->EXTRA;
                                                                //   4490                    %else
#line 4490 "regression-compile-tmp/vax-pass2.imp"
goto L_03b5;
#line 4490 "regression-compile-tmp/vax-pass2.imp"
L_03b4:;
                                                                //   4491                       a_disp = a_extra;  a_form = v in s
#line 4491 "regression-compile-tmp/vax-pass2.imp"
A->DISP = A->EXTRA;
#line 4491 "regression-compile-tmp/vax-pass2.imp"
A->FORM = 2;
                                                                //   4492                       load (a, any)
#line 4492 "regression-compile-tmp/vax-pass2.imp"
LOAD(A, 17);
                                                                //   4493                       a_form = v in s;  a_disp = a_mantissa
#line 4493 "regression-compile-tmp/vax-pass2.imp"
A->FORM = 2;
#line 4493 "regression-compile-tmp/vax-pass2.imp"
A->DISP = A->MANTISSA;
                                                                //   4494                    %finish
#line 4494 "regression-compile-tmp/vax-pass2.imp"
L_03b5:;
                                                                //   4495                 %else;                    ! arrayname in record
#line 4495 "regression-compile-tmp/vax-pass2.imp"
goto L_03b6;
#line 4495 "regression-compile-tmp/vax-pass2.imp"
L_03b3:;
                                                                //   4496                    a_form = a in rec
#line 4496 "regression-compile-tmp/vax-pass2.imp"
A->FORM = 7;
                                                                //   4497                    address (a)
#line 4497 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(A);
                                                                //   4498                    hbase = a_base;  hdisp = a_disp;  ! Will have changed
#line 4498 "regression-compile-tmp/vax-pass2.imp"
HBASE = A->BASE;
#line 4498 "regression-compile-tmp/vax-pass2.imp"
HDISP = A->DISP;
                                                                //   4499                 %finish
#line 4499 "regression-compile-tmp/vax-pass2.imp"
L_03b6:;
                                                                //   4500              %else;                       ! v in s
#line 4500 "regression-compile-tmp/vax-pass2.imp"
goto L_03b7;
#line 4500 "regression-compile-tmp/vax-pass2.imp"
L_03b2:;
                                                                //   4501                 %if a_header = -1 %start
#line 4501 "regression-compile-tmp/vax-pass2.imp"
if (((A->HEADER) != ((-1)))) goto L_03b8;
                                                                //   4502                    a_form = a in s;       ! for arrayname or header complete
#line 4502 "regression-compile-tmp/vax-pass2.imp"
A->FORM = 4;
                                                                //   4503                 %else
#line 4503 "regression-compile-tmp/vax-pass2.imp"
goto L_03b9;
#line 4503 "regression-compile-tmp/vax-pass2.imp"
L_03b8:;
                                                                //   4504                    a_disp = a_mantissa
#line 4504 "regression-compile-tmp/vax-pass2.imp"
A->DISP = A->MANTISSA;
                                                                //   4505                    a_form = v in s
#line 4505 "regression-compile-tmp/vax-pass2.imp"
A->FORM = 2;
                                                                //   4506                 %finish
#line 4506 "regression-compile-tmp/vax-pass2.imp"
L_03b9:;
                                                                //   4507              %finish
#line 4507 "regression-compile-tmp/vax-pass2.imp"
L_03b7:;
                                                                //   4508  
                                                                //   4509              %if control&arr check # 0 %start; ! Check array index
#line 4509 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (8))) == (0))) goto L_03ba;
                                                                //   4510                 load (ind, r1)
#line 4510 "regression-compile-tmp/vax-pass2.imp"
LOAD(IND, 2);
                                                                //   4511                 lstack (hdisp); lhs_base = hbase
#line 4511 "regression-compile-tmp/vax-pass2.imp"
LSTACK(HDISP);
#line 4511 "regression-compile-tmp/vax-pass2.imp"
LHS->BASE = HBASE;
                                                                //   4512                 lhs_xno = a_xno;  stp = stp - 1
#line 4512 "regression-compile-tmp/vax-pass2.imp"
LHS->XNO = A->XNO;
#line 4512 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4513                 %if a_header < 0 %start;       ! Header complete: load in 1 go
#line 4513 "regression-compile-tmp/vax-pass2.imp"
if (((A->HEADER) >= (0))) goto L_03bb;
                                                                //   4514                    hazard (r2); hazard (r3)
#line 4514 "regression-compile-tmp/vax-pass2.imp"
HAZARD(3);
#line 4514 "regression-compile-tmp/vax-pass2.imp"
HAZARD(4);
                                                                //   4515                    plant2 (movq, lhs, regv(r2))
#line 4515 "regression-compile-tmp/vax-pass2.imp"
PLANT2(13, LHS, &(REGV-1)[3]);
                                                                //   4516                 %else
#line 4516 "regression-compile-tmp/vax-pass2.imp"
goto L_03bc;
#line 4516 "regression-compile-tmp/vax-pass2.imp"
L_03bb:;
                                                                //   4517                    lhs_disp = lhs_disp + 4;    ! point at dope vector pointer
#line 4517 "regression-compile-tmp/vax-pass2.imp"
LHS->DISP = (((int)(LHS->DISP)) + (4));
                                                                //   4518                    load (lhs, r3);             ! load it: r3 -> dope vector
#line 4518 "regression-compile-tmp/vax-pass2.imp"
LOAD(LHS, 4);
                                                                //   4519                    amap (a);  load (a, r2);    ! r2 is zero address
#line 4519 "regression-compile-tmp/vax-pass2.imp"
AMAP(A);
#line 4519 "regression-compile-tmp/vax-pass2.imp"
LOAD(A, 3);
                                                                //   4520                    release (r2);  release (r3)
#line 4520 "regression-compile-tmp/vax-pass2.imp"
RELEASE(3);
#line 4520 "regression-compile-tmp/vax-pass2.imp"
RELEASE(4);
                                                                //   4521                 %finish
#line 4521 "regression-compile-tmp/vax-pass2.imp"
L_03bc:;
                                                                //   4522                 drop (lhs)
#line 4522 "regression-compile-tmp/vax-pass2.imp"
DROP(LHS);
                                                                //   4523                 release (r1)
#line 4523 "regression-compile-tmp/vax-pass2.imp"
RELEASE(2);
                                                                //   4524                 prim (aref)
#line 4524 "regression-compile-tmp/vax-pass2.imp"
PRIM(18);
                                                                //   4525                 claim (r1);  a_base = r1;  a_disp = 0
#line 4525 "regression-compile-tmp/vax-pass2.imp"
CLAIM(2);
#line 4525 "regression-compile-tmp/vax-pass2.imp"
A->BASE = 2;
#line 4525 "regression-compile-tmp/vax-pass2.imp"
A->DISP = 0;
                                                                //   4526              %else;                         ! No checking
#line 4526 "regression-compile-tmp/vax-pass2.imp"
goto L_03bd;
#line 4526 "regression-compile-tmp/vax-pass2.imp"
L_03ba:;
                                                                //   4527                 aname = 0;  aname = 1 %if a_form = a in s
#line 4527 "regression-compile-tmp/vax-pass2.imp"
ANAME = 0;
#line 4527 "regression-compile-tmp/vax-pass2.imp"
if (((A->FORM) != (4))) goto L_03be;
#line 4527 "regression-compile-tmp/vax-pass2.imp"
ANAME = 1;
#line 4527 "regression-compile-tmp/vax-pass2.imp"
L_03be:;
                                                                //   4528                 %if aname = 0 %and (ind_oper = add %or ind_oper = sub) %and
#line 4528 "regression-compile-tmp/vax-pass2.imp"
if (((ANAME) != (0))) goto L_03bf;
#line 4528 "regression-compile-tmp/vax-pass2.imp"
if (((IND->OPER) == (9))) goto L_03c0;
#line 4528 "regression-compile-tmp/vax-pass2.imp"
if (((IND->OPER) != (10))) goto L_03bf;
#line 4528 "regression-compile-tmp/vax-pass2.imp"
L_03c0:;
#line 4528 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(IND->LINK))) goto L_03bf;
                                                                //   4529                     const (ind_link)  %start
                                                                //   4530                    !  a(j+const) -> a(j) ++ const
                                                                //   4531                    c = ind_link_disp;  c = -c %if ind_oper = sub
#line 4531 "regression-compile-tmp/vax-pass2.imp"
C = IND->LINK->DISP;
#line 4531 "regression-compile-tmp/vax-pass2.imp"
if (((IND->OPER) != (10))) goto L_03c1;
#line 4531 "regression-compile-tmp/vax-pass2.imp"
C = (-(C));
#line 4531 "regression-compile-tmp/vax-pass2.imp"
L_03c1:;
                                                                //   4532                    a_disp = a_disp + c * len
#line 4532 "regression-compile-tmp/vax-pass2.imp"
A->DISP = ((A->DISP) + ((int)((((int)(C)) * (LEN)))));
                                                                //   4533                    drop (ind_link);   ind_oper = 0
#line 4533 "regression-compile-tmp/vax-pass2.imp"
DROP(IND->LINK);
#line 4533 "regression-compile-tmp/vax-pass2.imp"
IND->OPER = 0;
                                                                //   4534                 %finish
#line 4534 "regression-compile-tmp/vax-pass2.imp"
L_03bf:;
                                                                //   4535                 %if icon # 0 %and ival = 0 %and aname # 0 %and
#line 4535 "regression-compile-tmp/vax-pass2.imp"
if (((ICON) == (0))) goto L_03c2;
#line 4535 "regression-compile-tmp/vax-pass2.imp"
if (((IVAL) != (0))) goto L_03c2;
#line 4535 "regression-compile-tmp/vax-pass2.imp"
if (((ANAME) == (0))) goto L_03c2;
#line 4535 "regression-compile-tmp/vax-pass2.imp"
if (((FORM) == (2))) goto L_03c3;
#line 4535 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[A->BASE]) >= (0))) goto L_03c2;
#line 4535 "regression-compile-tmp/vax-pass2.imp"
L_03c3:;
                                                                //   4536                     (form = v in s %or activity(a_base) < 0) %start
                                                                //   4537                    ! aname(0) -> @aname
                                                                //   4538                    %if form = v in s %start
#line 4538 "regression-compile-tmp/vax-pass2.imp"
if (((FORM) != (2))) goto L_03c4;
                                                                //   4539                       form = a in s
#line 4539 "regression-compile-tmp/vax-pass2.imp"
FORM = 4;
                                                                //   4540                    %else
#line 4540 "regression-compile-tmp/vax-pass2.imp"
goto L_03c5;
#line 4540 "regression-compile-tmp/vax-pass2.imp"
L_03c4:;
                                                                //   4541                       form = a in rec;  a_extra = a_disp;  a_disp = 0
#line 4541 "regression-compile-tmp/vax-pass2.imp"
FORM = 7;
#line 4541 "regression-compile-tmp/vax-pass2.imp"
A->EXTRA = A->DISP;
#line 4541 "regression-compile-tmp/vax-pass2.imp"
A->DISP = 0;
                                                                //   4542                    %finish
#line 4542 "regression-compile-tmp/vax-pass2.imp"
L_03c5:;
                                                                //   4543                 %else
#line 4543 "regression-compile-tmp/vax-pass2.imp"
goto L_03c6;
#line 4543 "regression-compile-tmp/vax-pass2.imp"
L_03c2:;
                                                                //   4544                    %if len = 0 %start;    ! %record/%string(*) %arraynames
#line 4544 "regression-compile-tmp/vax-pass2.imp"
if (((LEN) != (0))) goto L_03c7;
                                                                //   4545                       !get size from dope vector
                                                                //   4546                       lstack (hdisp+4);   ! disp of dope vector pointer
#line 4546 "regression-compile-tmp/vax-pass2.imp"
LSTACK((((int)(HDISP)) + (4)));
                                                                //   4547                       lhs_base = hbase
#line 4547 "regression-compile-tmp/vax-pass2.imp"
LHS->BASE = HBASE;
                                                                //   4548                       lhs_xno = a_xno
#line 4548 "regression-compile-tmp/vax-pass2.imp"
LHS->XNO = A->XNO;
                                                                //   4549                       load (lhs, any)
#line 4549 "regression-compile-tmp/vax-pass2.imp"
LOAD(LHS, 17);
                                                                //   4550                       lhs_form = v in s;  lhs_disp = 12;  ! size l/word in dv.
#line 4550 "regression-compile-tmp/vax-pass2.imp"
LHS->FORM = 2;
#line 4550 "regression-compile-tmp/vax-pass2.imp"
LHS->DISP = 12;
                                                                //   4551                    %else
#line 4551 "regression-compile-tmp/vax-pass2.imp"
goto L_03c8;
#line 4551 "regression-compile-tmp/vax-pass2.imp"
L_03c7:;
                                                                //   4552                       cstack (len)
#line 4552 "regression-compile-tmp/vax-pass2.imp"
CSTACK(LEN);
                                                                //   4553                    %finish
#line 4553 "regression-compile-tmp/vax-pass2.imp"
L_03c8:;
                                                                //   4554                    operate (mul)
#line 4554 "regression-compile-tmp/vax-pass2.imp"
OPERATE(27);
                                                                //   4555                    amap (a);  operate (add)
#line 4555 "regression-compile-tmp/vax-pass2.imp"
AMAP(A);
#line 4555 "regression-compile-tmp/vax-pass2.imp"
OPERATE(9);
                                                                //   4556                    vmap (a)
#line 4556 "regression-compile-tmp/vax-pass2.imp"
VMAP(A);
                                                                //   4557                    %if form  = a in s %then form = a_form + 2 %c
#line 4557 "regression-compile-tmp/vax-pass2.imp"
if (((FORM) != (4))) goto L_03c9;
#line 4557 "regression-compile-tmp/vax-pass2.imp"
FORM = (((int)(A->FORM)) + (2));
#line 4557 "regression-compile-tmp/vax-pass2.imp"
goto L_03ca;
#line 4557 "regression-compile-tmp/vax-pass2.imp"
L_03c9:;
#line 4557 "regression-compile-tmp/vax-pass2.imp"
FORM = A->FORM;
#line 4557 "regression-compile-tmp/vax-pass2.imp"
L_03ca:;
                                                                //   4558                                       %else form = a_form
                                                                //   4559                    idrop = 0;                  ! ind will have been dropped
#line 4559 "regression-compile-tmp/vax-pass2.imp"
IDROP = 0;
                                                                //   4560                 %finish
#line 4560 "regression-compile-tmp/vax-pass2.imp"
L_03c6:;
                                                                //   4561              %finish
#line 4561 "regression-compile-tmp/vax-pass2.imp"
L_03bd:;
                                                                //   4562              stp = stp - 1 %and drop (ind) %if idrop # 0;   ! Not already done
#line 4562 "regression-compile-tmp/vax-pass2.imp"
if (((IDROP) == (0))) goto L_03cb;
#line 4562 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
#line 4562 "regression-compile-tmp/vax-pass2.imp"
DROP(IND);
#line 4562 "regression-compile-tmp/vax-pass2.imp"
L_03cb:;
                                                                //   4563           %else;              ! multi dim - uses the perm
#line 4563 "regression-compile-tmp/vax-pass2.imp"
goto L_03cc;
#line 4563 "regression-compile-tmp/vax-pass2.imp"
L_03af:;
                                                                //   4564              stp = stp - 1
#line 4564 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4565              a_oper = 0
#line 4565 "regression-compile-tmp/vax-pass2.imp"
A->OPER = 0;
                                                                //   4566              ! expend stacked indices
                                                                //   4567              address (ind)
#line 4567 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(IND);
                                                                //   4568              push (ind, x)
#line 4568 "regression-compile-tmp/vax-pass2.imp"
PUSH(IND, &X);
                                                                //   4569              %cycle
#line 4569 "regression-compile-tmp/vax-pass2.imp"
L_03cd:;
                                                                //   4570                 ind == a_link;  a_link == ind_link
#line 4570 "regression-compile-tmp/vax-pass2.imp"
IND = A->LINK;
#line 4570 "regression-compile-tmp/vax-pass2.imp"
A->LINK = IND->LINK;
                                                                //   4571                 push (ind, x)
#line 4571 "regression-compile-tmp/vax-pass2.imp"
PUSH(IND, &X);
                                                                //   4572              %repeat %until a_link == null
#line 4572 "regression-compile-tmp/vax-pass2.imp"
if (((A->LINK) == (NULL))) goto L_03ce;
#line 4572 "regression-compile-tmp/vax-pass2.imp"
goto L_03cd;
#line 4572 "regression-compile-tmp/vax-pass2.imp"
L_03ce:;
                                                                //   4573              address (a)
#line 4573 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(A);
                                                                //   4574              hazard (r2);  hazard (r3)
#line 4574 "regression-compile-tmp/vax-pass2.imp"
HAZARD(3);
#line 4574 "regression-compile-tmp/vax-pass2.imp"
HAZARD(4);
                                                                //   4575              plant2 (movq, a, regv(r2))
#line 4575 "regression-compile-tmp/vax-pass2.imp"
PLANT2(13, A, &(REGV-1)[3]);
                                                                //   4576              prim (arefn)
#line 4576 "regression-compile-tmp/vax-pass2.imp"
PRIM(17);
                                                                //   4577              claim (r1);  a_base = r1;  a_disp = 0;  a_form = v in s
#line 4577 "regression-compile-tmp/vax-pass2.imp"
CLAIM(2);
#line 4577 "regression-compile-tmp/vax-pass2.imp"
A->BASE = 2;
#line 4577 "regression-compile-tmp/vax-pass2.imp"
A->DISP = 0;
#line 4577 "regression-compile-tmp/vax-pass2.imp"
A->FORM = 2;
                                                                //   4578           %finish
#line 4578 "regression-compile-tmp/vax-pass2.imp"
L_03cc:;
                                                                //   4579           a_form = form
#line 4579 "regression-compile-tmp/vax-pass2.imp"
A->FORM = FORM;
                                                                //   4580           a_xno = 0 %unless a_base = pc
#line 4580 "regression-compile-tmp/vax-pass2.imp"
if (((A->BASE) == (16))) goto L_03d0;
#line 4580 "regression-compile-tmp/vax-pass2.imp"
A->XNO = 0;
#line 4580 "regression-compile-tmp/vax-pass2.imp"
L_03d0:;
                                                                //   4581           a_type = type;  a_length = rlen
#line 4581 "regression-compile-tmp/vax-pass2.imp"
A->TYPE = TYPE;
#line 4581 "regression-compile-tmp/vax-pass2.imp"
A->LENGTH = RLEN;
                                                                //   4582           monitor (a, "Array ref") %if diag&8 # 0
#line 4582 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (8))) == (0))) goto L_03d1;
#line 4582 "regression-compile-tmp/vax-pass2.imp"
MONITOR(A, _imp_str_literal("Array ref"));
#line 4582 "regression-compile-tmp/vax-pass2.imp"
L_03d1:;
                                                                //   4583        %end
#line 4583 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ARRAYREF at level 3
                                                                //   4584  
                                                                //   4585     !comparison processing
                                                                //   4586  
                                                                //   4587        %routine  TEST ZERO (%record(stackfm) %name v)
#line 4587 "regression-compile-tmp/vax-pass2.imp"
void TESTZERO(  STACKFM /*name*/*V )
#line 4587 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4588           !check v against zero
                                                                //   4589           %record(stackfm) %name w
#line 4589 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*W;
                                                                //   4590           %integer d, op
#line 4590 "regression-compile-tmp/vax-pass2.imp"
int D;
#line 4590 "regression-compile-tmp/vax-pass2.imp"
int OP;
                                                                //   4591           unsigned = 0
#line 4591 "regression-compile-tmp/vax-pass2.imp"
UNSIGNED = 0;
                                                                //   4592           %if v_oper = bic %and v_link_form = constant %start
#line 4592 "regression-compile-tmp/vax-pass2.imp"
if (((V->OPER) != (12))) goto L_03d2;
#line 4592 "regression-compile-tmp/vax-pass2.imp"
if (((V->LINK->FORM) != (0))) goto L_03d2;
                                                                //   4593              d = \v_link_disp
#line 4593 "regression-compile-tmp/vax-pass2.imp"
D = (~(V->LINK->DISP));
                                                                //   4594              drop (v_link);  v_oper = 0
#line 4594 "regression-compile-tmp/vax-pass2.imp"
DROP(V->LINK);
#line 4594 "regression-compile-tmp/vax-pass2.imp"
V->OPER = 0;
                                                                //   4595              op = bitl
#line 4595 "regression-compile-tmp/vax-pass2.imp"
OP = 49320;
                                                                //   4596              %if  v_type = byte+integers %start
#line 4596 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) != (18))) goto L_03d3;
                                                                //   4597                 %if d&(\255) # 0 %then load (v, any) %else op = bitl+byte
#line 4597 "regression-compile-tmp/vax-pass2.imp"
if (((((D) & ((~(255))))) == (0))) goto L_03d4;
#line 4597 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, 17);
#line 4597 "regression-compile-tmp/vax-pass2.imp"
goto L_03d5;
#line 4597 "regression-compile-tmp/vax-pass2.imp"
L_03d4:;
#line 4597 "regression-compile-tmp/vax-pass2.imp"
OP = 49322;
#line 4597 "regression-compile-tmp/vax-pass2.imp"
L_03d5:;
                                                                //   4598              %else %if v_type = short+integers
#line 4598 "regression-compile-tmp/vax-pass2.imp"
goto L_03d6;
#line 4598 "regression-compile-tmp/vax-pass2.imp"
L_03d3:;
#line 4598 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) != (17))) goto L_03d7;
                                                                //   4599                 %if d&16_ffff0000 # 0 %then load (v, any) %else op = bitl+short
#line 4599 "regression-compile-tmp/vax-pass2.imp"
if (((((D) & ((-65536)))) == (0))) goto L_03d8;
#line 4599 "regression-compile-tmp/vax-pass2.imp"
LOAD(V, 17);
#line 4599 "regression-compile-tmp/vax-pass2.imp"
goto L_03d9;
#line 4599 "regression-compile-tmp/vax-pass2.imp"
L_03d8:;
#line 4599 "regression-compile-tmp/vax-pass2.imp"
OP = 49321;
#line 4599 "regression-compile-tmp/vax-pass2.imp"
L_03d9:;
                                                                //   4600              %finish
#line 4600 "regression-compile-tmp/vax-pass2.imp"
L_03d7:;
#line 4600 "regression-compile-tmp/vax-pass2.imp"
L_03d6:;
                                                                //   4601              address (v)
#line 4601 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(V);
                                                                //   4602              w == literal(d);  stp = stp-1
#line 4602 "regression-compile-tmp/vax-pass2.imp"
W = LITERAL(D);
#line 4602 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4603              w_type = v_type
#line 4603 "regression-compile-tmp/vax-pass2.imp"
W->TYPE = V->TYPE;
                                                                //   4604              plant2 (op, v, w)
#line 4604 "regression-compile-tmp/vax-pass2.imp"
PLANT2(OP, V, W);
                                                                //   4605              drop (w)
#line 4605 "regression-compile-tmp/vax-pass2.imp"
DROP(W);
                                                                //   4606           %else
#line 4606 "regression-compile-tmp/vax-pass2.imp"
goto L_03da;
#line 4606 "regression-compile-tmp/vax-pass2.imp"
L_03d2:;
                                                                //   4607              address (v)
#line 4607 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(V);
                                                                //   4608              unsigned = 8 %if v_type = byte+integers
#line 4608 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) != (18))) goto L_03db;
#line 4608 "regression-compile-tmp/vax-pass2.imp"
UNSIGNED = 8;
#line 4608 "regression-compile-tmp/vax-pass2.imp"
L_03db:;
                                                                //   4609              plant1 (tstl+v_type&7, v)
#line 4609 "regression-compile-tmp/vax-pass2.imp"
PLANT1(((232) + ((int)(((V->TYPE) & (7))))), V);
                                                                //   4610           %finish
#line 4610 "regression-compile-tmp/vax-pass2.imp"
L_03da:;
                                                                //   4611           clear (v)
#line 4611 "regression-compile-tmp/vax-pass2.imp"
CLEAR(V);
                                                                //   4612        %end
#line 4612 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block TESTZERO at level 3
                                                                //   4613  
                                                                //   4614        %routine  COMPARE (%record(stackfm) %name left, right, %integer mod)
#line 4614 "regression-compile-tmp/vax-pass2.imp"
void COMPARE(  STACKFM /*name*/*LEFT,  STACKFM /*name*/*RIGHT, int MOD )
#line 4614 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4615           ! set the cc from left and right
                                                                //   4616           %integer  work
#line 4616 "regression-compile-tmp/vax-pass2.imp"
int WORK;
                                                                //   4617           %record(stackfm) %name  len, temp
#line 4617 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*LEN;
#line 4617 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*TEMP;
                                                                //   4618  
                                                                //   4619           %routine  CHECK (%record(stackfm) %name a, b)
#line 4619 "regression-compile-tmp/vax-pass2.imp"
void CHECK(  STACKFM /*name*/*A,  STACKFM /*name*/*B )
#line 4619 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4620              ! a is a constant string
                                                                //   4621              %record(stackfm) len
#line 4621 "regression-compile-tmp/vax-pass2.imp"
 STACKFM LEN;
                                                                //   4622              len = 0
#line 4622 "regression-compile-tmp/vax-pass2.imp"
LEN = (STACKFM){ 0 } /* Assign 0's to all fields of record */;
                                                                //   4623              len_disp = a_format
#line 4623 "regression-compile-tmp/vax-pass2.imp"
LEN.DISP = A->FORMAT;
                                                                //   4624              %if len_disp = 0+1 %start;          !null
#line 4624 "regression-compile-tmp/vax-pass2.imp"
if (((LEN.DISP) != (1))) goto L_03dc;
                                                                //   4625                 b_type = byte+integers
#line 4625 "regression-compile-tmp/vax-pass2.imp"
B->TYPE = 18;
                                                                //   4626                 test zero (b)
#line 4626 "regression-compile-tmp/vax-pass2.imp"
TESTZERO(B);
                                                                //   4627              %else
#line 4627 "regression-compile-tmp/vax-pass2.imp"
goto L_03dd;
#line 4627 "regression-compile-tmp/vax-pass2.imp"
L_03dc:;
                                                                //   4628                 address (b)
#line 4628 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(B);
                                                                //   4629                 string3 (cmpc3, len, a, b)
#line 4629 "regression-compile-tmp/vax-pass2.imp"
STRING3(246, &LEN, A, B);
                                                                //   4630              %finish
#line 4630 "regression-compile-tmp/vax-pass2.imp"
L_03dd:;
                                                                //   4631           %end
#line 4631 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CHECK at level 4
                                                                //   4632  
                                                                //   4633           %if zero (right) %start
#line 4633 "regression-compile-tmp/vax-pass2.imp"
if (!(ZERO(RIGHT))) goto L_03de;
                                                                //   4634  !**************  rubbish            %if mod # 0 %and left_oper = sub %start
                                                                //   4635  !**************  rubbish               ! a - b comp 0 => a comp b
                                                                //   4636  !**************  rubbish               drop (right);  right == left_link;  left_oper = 0
                                                                //   4637  !**************  rubbish            %else
                                                                //   4638                 test zero (left);  %return
#line 4638 "regression-compile-tmp/vax-pass2.imp"
TESTZERO(LEFT);
#line 4638 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4639  !*****************rubbish            %finish
                                                                //   4640           %finish
#line 4640 "regression-compile-tmp/vax-pass2.imp"
L_03de:;
                                                                //   4641           %if zero (left) %start
#line 4641 "regression-compile-tmp/vax-pass2.imp"
if (!(ZERO(LEFT))) goto L_03df;
                                                                //   4642              %if mod # 0 %and right_oper = sub %start
#line 4642 "regression-compile-tmp/vax-pass2.imp"
if (((MOD) == (0))) goto L_03e0;
#line 4642 "regression-compile-tmp/vax-pass2.imp"
if (((RIGHT->OPER) != (10))) goto L_03e0;
                                                                //   4643                 ! 0 comp a - b => b comp a
                                                                //   4644                 drop (left);   left == right_link;  right_oper = 0
#line 4644 "regression-compile-tmp/vax-pass2.imp"
DROP(LEFT);
#line 4644 "regression-compile-tmp/vax-pass2.imp"
LEFT = RIGHT->LINK;
#line 4644 "regression-compile-tmp/vax-pass2.imp"
RIGHT->OPER = 0;
                                                                //   4645              %else
#line 4645 "regression-compile-tmp/vax-pass2.imp"
goto L_03e1;
#line 4645 "regression-compile-tmp/vax-pass2.imp"
L_03e0:;
                                                                //   4646                 invert = invert!!16
#line 4646 "regression-compile-tmp/vax-pass2.imp"
INVERT = ((INVERT) ^ (16));
                                                                //   4647                 test zero (right);  %return
#line 4647 "regression-compile-tmp/vax-pass2.imp"
TESTZERO(RIGHT);
#line 4647 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4648              %finish
#line 4648 "regression-compile-tmp/vax-pass2.imp"
L_03e1:;
                                                                //   4649           %finish
#line 4649 "regression-compile-tmp/vax-pass2.imp"
L_03df:;
                                                                //   4650  
                                                                //   4651           unsigned = 0
#line 4651 "regression-compile-tmp/vax-pass2.imp"
UNSIGNED = 0;
                                                                //   4652           %if right_type&strings # 0 %start
#line 4652 "regression-compile-tmp/vax-pass2.imp"
if (((((RIGHT->TYPE) & (64))) == (0))) goto L_03e2;
                                                                //   4653              %unless '=' # look # '#' %start
#line 4653 "regression-compile-tmp/vax-pass2.imp"
if (({int tmp1 = 61, tmp2 = LOOK(), tmp3 = 35; (tmp1 == tmp2) || (tmp2 != tmp3);})) goto L_03e3;
#line 4653 "regression-compile-tmp/vax-pass2.imp"
L_03cf:;
                                                                //   4654                 %if left_format # 0 %start
#line 4654 "regression-compile-tmp/vax-pass2.imp"
if (((LEFT->FORMAT) == (0))) goto L_03e4;
                                                                //   4655                    check (left, right);  %return
#line 4655 "regression-compile-tmp/vax-pass2.imp"
CHECK(LEFT, RIGHT);
#line 4655 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4656                 %finish
#line 4656 "regression-compile-tmp/vax-pass2.imp"
L_03e4:;
                                                                //   4657                 %if right_format # 0 %start
#line 4657 "regression-compile-tmp/vax-pass2.imp"
if (((RIGHT->FORMAT) == (0))) goto L_03e5;
                                                                //   4658                    check (right, left);  %return
#line 4658 "regression-compile-tmp/vax-pass2.imp"
CHECK(RIGHT, LEFT);
#line 4658 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4659                 %finish
#line 4659 "regression-compile-tmp/vax-pass2.imp"
L_03e5:;
                                                                //   4660                 string op (cmpc3, left, right);  %return
#line 4660 "regression-compile-tmp/vax-pass2.imp"
STRINGOP(246, LEFT, RIGHT);
#line 4660 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4661              %finish
#line 4661 "regression-compile-tmp/vax-pass2.imp"
L_03e3:;
                                                                //   4662              load (left, r10);  load (right, r2)
#line 4662 "regression-compile-tmp/vax-pass2.imp"
LOAD(LEFT, 11);
#line 4662 "regression-compile-tmp/vax-pass2.imp"
LOAD(RIGHT, 3);
                                                                //   4663              release (r10);  release (r2)
#line 4663 "regression-compile-tmp/vax-pass2.imp"
RELEASE(11);
#line 4663 "regression-compile-tmp/vax-pass2.imp"
RELEASE(3);
                                                                //   4664              prim (scomp)
#line 4664 "regression-compile-tmp/vax-pass2.imp"
PRIM(11);
                                                                //   4665              %return
#line 4665 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4666           %finish
#line 4666 "regression-compile-tmp/vax-pass2.imp"
L_03e2:;
                                                                //   4667  ! ???? Why the following, if pass1 won't let one compare records????????
                                                                //   4668           %if left_type = records %or right_type = records %start
#line 4668 "regression-compile-tmp/vax-pass2.imp"
if (((LEFT->TYPE) == (128))) goto L_03e6;
#line 4668 "regression-compile-tmp/vax-pass2.imp"
if (((RIGHT->TYPE) != (128))) goto L_03e7;
#line 4668 "regression-compile-tmp/vax-pass2.imp"
L_03e6:;
                                                                //   4669              work = var(left_format)_length
#line 4669 "regression-compile-tmp/vax-pass2.imp"
WORK = VAR[LEFT->FORMAT].LENGTH;
                                                                //   4670              %if work = 0 %and right_type = records %start
#line 4670 "regression-compile-tmp/vax-pass2.imp"
if (((WORK) != (0))) goto L_03e8;
#line 4670 "regression-compile-tmp/vax-pass2.imp"
if (((RIGHT->TYPE) != (128))) goto L_03e8;
                                                                //   4671                 work = var(right_format)_length
#line 4671 "regression-compile-tmp/vax-pass2.imp"
WORK = VAR[RIGHT->FORMAT].LENGTH;
                                                                //   4672              %finish
#line 4672 "regression-compile-tmp/vax-pass2.imp"
L_03e8:;
                                                                //   4673              len == literal(work); stp = stp - 1
#line 4673 "regression-compile-tmp/vax-pass2.imp"
LEN = LITERAL(WORK);
#line 4673 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4674              len_type = short+integers
#line 4674 "regression-compile-tmp/vax-pass2.imp"
LEN->TYPE = 17;
                                                                //   4675              address (left); left_type = integers
#line 4675 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(LEFT);
#line 4675 "regression-compile-tmp/vax-pass2.imp"
LEFT->TYPE = 16;
                                                                //   4676              address (right); right_type=integers
#line 4676 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(RIGHT);
#line 4676 "regression-compile-tmp/vax-pass2.imp"
RIGHT->TYPE = 16;
                                                                //   4677              string3 (cmpc3, len, left, right)
#line 4677 "regression-compile-tmp/vax-pass2.imp"
STRING3(246, LEN, LEFT, RIGHT);
                                                                //   4678              clear (left);  clear (right)
#line 4678 "regression-compile-tmp/vax-pass2.imp"
CLEAR(LEFT);
#line 4678 "regression-compile-tmp/vax-pass2.imp"
CLEAR(RIGHT);
                                                                //   4679              drop (len)
#line 4679 "regression-compile-tmp/vax-pass2.imp"
DROP(LEN);
                                                                //   4680              %return
#line 4680 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4681           %finish
#line 4681 "regression-compile-tmp/vax-pass2.imp"
L_03e7:;
                                                                //   4682           address (left);    address (right)
#line 4682 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(LEFT);
#line 4682 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(RIGHT);
                                                                //   4683           equate (left, right, 1)
#line 4683 "regression-compile-tmp/vax-pass2.imp"
EQUATE(LEFT, RIGHT, 1);
                                                                //   4684           unsigned = 8 %if left_type = byte+integers
#line 4684 "regression-compile-tmp/vax-pass2.imp"
if (((LEFT->TYPE) != (18))) goto L_03e9;
#line 4684 "regression-compile-tmp/vax-pass2.imp"
UNSIGNED = 8;
#line 4684 "regression-compile-tmp/vax-pass2.imp"
L_03e9:;
                                                                //   4685           %if short literal(left) >= 0 %start
#line 4685 "regression-compile-tmp/vax-pass2.imp"
if (((SHORTLITERAL(LEFT)) < (0))) goto L_03ea;
                                                                //   4686              ! faster to have it on the right...
                                                                //   4687              invert = invert!!16
#line 4687 "regression-compile-tmp/vax-pass2.imp"
INVERT = ((INVERT) ^ (16));
                                                                //   4688              temp == right;  right == left;  left == temp
#line 4688 "regression-compile-tmp/vax-pass2.imp"
TEMP = RIGHT;
#line 4688 "regression-compile-tmp/vax-pass2.imp"
RIGHT = LEFT;
#line 4688 "regression-compile-tmp/vax-pass2.imp"
LEFT = TEMP;
                                                                //   4689           %finish
#line 4689 "regression-compile-tmp/vax-pass2.imp"
L_03ea:;
                                                                //   4690           plant2 (cmpl+left_type&7, left, right)
#line 4690 "regression-compile-tmp/vax-pass2.imp"
PLANT2(((240) + ((int)(((LEFT->TYPE) & (7))))), LEFT, RIGHT);
                                                                //   4691           clear (left);  clear (right)
#line 4691 "regression-compile-tmp/vax-pass2.imp"
CLEAR(LEFT);
#line 4691 "regression-compile-tmp/vax-pass2.imp"
CLEAR(RIGHT);
                                                                //   4692        %end
#line 4692 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COMPARE at level 3
                                                                //   4693  
                                                                //   4694        %routine  COMPARE ARRAYNAMES (%record(stack fm) %name lhs, rhs)
#line 4694 "regression-compile-tmp/vax-pass2.imp"
void COMPAREARRAYNAMES(  STACKFM /*name*/*LHS,  STACKFM /*name*/*RHS )
#line 4694 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4695           lhs_form = lhs_form&15;  rhs_form = rhs_form&15
#line 4695 "regression-compile-tmp/vax-pass2.imp"
LHS->FORM = ((LHS->FORM) & (15));
#line 4695 "regression-compile-tmp/vax-pass2.imp"
RHS->FORM = ((RHS->FORM) & (15));
                                                                //   4696           address (lhs);  address (rhs)
#line 4696 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(LHS);
#line 4696 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(RHS);
                                                                //   4697           plant2 (cmpd, lhs, rhs)
#line 4697 "regression-compile-tmp/vax-pass2.imp"
PLANT2(244, LHS, RHS);
                                                                //   4698           clear (lhs); clear (rhs)
#line 4698 "regression-compile-tmp/vax-pass2.imp"
CLEAR(LHS);
#line 4698 "regression-compile-tmp/vax-pass2.imp"
CLEAR(RHS);
                                                                //   4699        %end
#line 4699 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block COMPAREARRAYNAMES at level 3
                                                                //   4700  
                                                                //   4701        %routine  SET CC
#line 4701 "regression-compile-tmp/vax-pass2.imp"
void SETCC( void )
#line 4701 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4702           %const %byte %array cc  (1:6) =  4,   8, 8+2+1, 8+1, 8+2, 4+2
#line 4702 "regression-compile-tmp/vax-pass2.imp"
const unsigned char CC[6] = { 4, 8, 11, 9, 10, 6,  };
                                                                //   4703           %const %byte %array cmap(1:6) = '=', '<', '(',  '>', ')', '#'
#line 4703 "regression-compile-tmp/vax-pass2.imp"
const unsigned char CMAP[6] = { 61, 60, 40, 62, 41, 35,  };
                                                                //   4704           %record(stackfm) %name pos, one, temp
#line 4704 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*POS;
#line 4704 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*ONE;
#line 4704 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*TEMP;
                                                                //   4705           %integer sym, code, r
#line 4705 "regression-compile-tmp/vax-pass2.imp"
int SYM;
#line 4705 "regression-compile-tmp/vax-pass2.imp"
int CODE;
#line 4705 "regression-compile-tmp/vax-pass2.imp"
int R;
                                                                //   4706  
                                                                //   4707           get (sym)
#line 4707 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
                                                                //   4708           code = 0
#line 4708 "regression-compile-tmp/vax-pass2.imp"
CODE = 0;
                                                                //   4709           %for r = 1,1,6 %cycle
#line 4709 "regression-compile-tmp/vax-pass2.imp"
R = 0;
if ((((6)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle R = 1, 1, 6");
L_03eb:;
if (R == 6) goto L_03ec;
R += 1;
                                                                //   4710              code = r %and %exit %if cmap(r) = sym
#line 4710 "regression-compile-tmp/vax-pass2.imp"
if ((((CMAP-1)[R]) != (SYM))) goto L_03ee;
#line 4710 "regression-compile-tmp/vax-pass2.imp"
CODE = R;
#line 4710 "regression-compile-tmp/vax-pass2.imp"
goto L_03ec;
#line 4710 "regression-compile-tmp/vax-pass2.imp"
L_03ee:;
                                                                //   4711           %repeat
#line 4711 "regression-compile-tmp/vax-pass2.imp"
goto L_03eb;
#line 4711 "regression-compile-tmp/vax-pass2.imp"
L_03ec:;
                                                                //   4712           abort (34) %if code = 0
#line 4712 "regression-compile-tmp/vax-pass2.imp"
if (((CODE) != (0))) goto L_03ef;
#line 4712 "regression-compile-tmp/vax-pass2.imp"
ABORT(34);
#line 4712 "regression-compile-tmp/vax-pass2.imp"
L_03ef:;
                                                                //   4713           code = cc(code)
#line 4713 "regression-compile-tmp/vax-pass2.imp"
CODE = (CC-1)[CODE];
                                                                //   4714           set both
#line 4714 "regression-compile-tmp/vax-pass2.imp"
SETBOTH();
                                                                //   4715           %if code&1 # 0 %start;                  !swop first
#line 4715 "regression-compile-tmp/vax-pass2.imp"
if (((((CODE) & (1))) == (0))) goto L_03f0;
                                                                //   4716              temp == lhs;  lhs == rhs;  rhs == temp
#line 4716 "regression-compile-tmp/vax-pass2.imp"
TEMP = LHS;
#line 4716 "regression-compile-tmp/vax-pass2.imp"
LHS = RHS;
#line 4716 "regression-compile-tmp/vax-pass2.imp"
RHS = TEMP;
                                                                //   4717           %finish
#line 4717 "regression-compile-tmp/vax-pass2.imp"
L_03f0:;
                                                                //   4718           compare (lhs, rhs, 1);  stp = stp-2
#line 4718 "regression-compile-tmp/vax-pass2.imp"
COMPARE(LHS, RHS, 1);
#line 4718 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (2));
                                                                //   4719           drop (lhs);  drop (rhs)
#line 4719 "regression-compile-tmp/vax-pass2.imp"
DROP(LHS);
#line 4719 "regression-compile-tmp/vax-pass2.imp"
DROP(RHS);
                                                                //   4720           r = register (0)
#line 4720 "regression-compile-tmp/vax-pass2.imp"
R = REGISTER(0);
                                                                //   4721           temp == regv (r)
#line 4721 "regression-compile-tmp/vax-pass2.imp"
TEMP = &(REGV-1)[R];
                                                                //   4722           claim (r)
#line 4722 "regression-compile-tmp/vax-pass2.imp"
CLAIM(R);
                                                                //   4723           plant1 (movpsl, temp)
#line 4723 "regression-compile-tmp/vax-pass2.imp"
PLANT1(39, TEMP);
                                                                //   4724           plant2 (mcoml, temp, temp) %if code&2 # 0;  !invert it
#line 4724 "regression-compile-tmp/vax-pass2.imp"
if (((((CODE) & (2))) == (0))) goto L_03f1;
#line 4724 "regression-compile-tmp/vax-pass2.imp"
PLANT2(24, TEMP, TEMP);
#line 4724 "regression-compile-tmp/vax-pass2.imp"
L_03f1:;
                                                                //   4725           pos == literal(code&(4!8));  stp = stp - 1
#line 4725 "regression-compile-tmp/vax-pass2.imp"
POS = LITERAL(((CODE) & (((4) | (8)))));
#line 4725 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4726           one == literal(1);           stp = stp - 1
#line 4726 "regression-compile-tmp/vax-pass2.imp"
ONE = LITERAL(1);
#line 4726 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4727           drop (pos); drop (one)
#line 4727 "regression-compile-tmp/vax-pass2.imp"
DROP(POS);
#line 4727 "regression-compile-tmp/vax-pass2.imp"
DROP(ONE);
                                                                //   4728           plant4 (extzv, pos, one, temp, temp)
#line 4728 "regression-compile-tmp/vax-pass2.imp"
PLANT4(87, POS, ONE, TEMP, TEMP);
                                                                //   4729           dstack (temp)
#line 4729 "regression-compile-tmp/vax-pass2.imp"
DSTACK(TEMP);
                                                                //   4730        %end
#line 4730 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETCC at level 3
                                                                //   4731  
                                                                //   4732        %routine  FOR
#line 4732 "regression-compile-tmp/vax-pass2.imp"
void FOR( void )
#line 4732 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4733           ! compile a %for clause
                                                                //   4734           %integer  lab, err, fixed, old control
#line 4734 "regression-compile-tmp/vax-pass2.imp"
int LAB;
#line 4734 "regression-compile-tmp/vax-pass2.imp"
int ERR;
#line 4734 "regression-compile-tmp/vax-pass2.imp"
int FIXED;
#line 4734 "regression-compile-tmp/vax-pass2.imp"
int OLDCONTROL;
                                                                //   4735           %integer  sc, sv, ic, iv, lc, lv, x
#line 4735 "regression-compile-tmp/vax-pass2.imp"
int SC;
#line 4735 "regression-compile-tmp/vax-pass2.imp"
int SV;
#line 4735 "regression-compile-tmp/vax-pass2.imp"
int IC;
#line 4735 "regression-compile-tmp/vax-pass2.imp"
int IV;
#line 4735 "regression-compile-tmp/vax-pass2.imp"
int LC;
#line 4735 "regression-compile-tmp/vax-pass2.imp"
int LV;
#line 4735 "regression-compile-tmp/vax-pass2.imp"
int X;
                                                                //   4736           %record(stackfm) %name  cont, init, incr, last
#line 4736 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*CONT;
#line 4736 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*INIT;
#line 4736 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*INCR;
#line 4736 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*LAST;
                                                                //   4737  
                                                                //   4738           %routine  STAB (%record(stack fm) %name v, %integername con, val)
#line 4738 "regression-compile-tmp/vax-pass2.imp"
void STAB(  STACKFM /*name*/*V, int /*name*/*CON, int /*name*/*VAL )
#line 4738 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4739              %record(stack fm) %name  w
#line 4739 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*W;
                                                                //   4740              con = 0
#line 4740 "regression-compile-tmp/vax-pass2.imp"
*CON = 0;
                                                                //   4741              %if const (v) %start
#line 4741 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(V))) goto L_03f2;
                                                                //   4742                 con = 1
#line 4742 "regression-compile-tmp/vax-pass2.imp"
*CON = 1;
                                                                //   4743                 val = v_disp
#line 4743 "regression-compile-tmp/vax-pass2.imp"
*VAL = V->DISP;
                                                                //   4744              %else
#line 4744 "regression-compile-tmp/vax-pass2.imp"
goto L_03f3;
#line 4744 "regression-compile-tmp/vax-pass2.imp"
L_03f2:;
                                                                //   4745                 w == temp(4)
#line 4745 "regression-compile-tmp/vax-pass2.imp"
W = TEMP(4);
                                                                //   4746                 dstack (v);   v = w
#line 4746 "regression-compile-tmp/vax-pass2.imp"
DSTACK(V);
#line 4746 "regression-compile-tmp/vax-pass2.imp"
*V = *W;
                                                                //   4747                 assign (1)
#line 4747 "regression-compile-tmp/vax-pass2.imp"
ASSIGN(1);
                                                                //   4748              %finish
#line 4748 "regression-compile-tmp/vax-pass2.imp"
L_03f3:;
                                                                //   4749           %end
#line 4749 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block STAB at level 4
                                                                //   4750  
                                                                //   4751           stp = stp - 4
#line 4751 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (4));
                                                                //   4752           cont == stacked(stp+1)
#line 4752 "regression-compile-tmp/vax-pass2.imp"
CONT = STACKED[(((int)((((int)(STP)) + (1)))) - (1))];
                                                                //   4753           incr == stacked(stp+2)
#line 4753 "regression-compile-tmp/vax-pass2.imp"
INCR = STACKED[(((int)((((int)(STP)) + (2)))) - (1))];
                                                                //   4754           last == stacked(stp+3)
#line 4754 "regression-compile-tmp/vax-pass2.imp"
LAST = STACKED[(((int)((((int)(STP)) + (3)))) - (1))];
                                                                //   4755           init == stacked(stp+4)
#line 4755 "regression-compile-tmp/vax-pass2.imp"
INIT = STACKED[(((int)((((int)(STP)) + (4)))) - (1))];
                                                                //   4756  
                                                                //   4757           abort (20) %if cont_type&integers = 0
#line 4757 "regression-compile-tmp/vax-pass2.imp"
if (((((CONT->TYPE) & (16))) != (0))) goto L_03f4;
#line 4757 "regression-compile-tmp/vax-pass2.imp"
ABORT(20);
#line 4757 "regression-compile-tmp/vax-pass2.imp"
L_03f4:;
                                                                //   4758           %if cont_type # integers %start
#line 4758 "regression-compile-tmp/vax-pass2.imp"
if (((CONT->TYPE) == (16))) goto L_03f5;
                                                                //   4759              error ('*', "only %integer %for-loop variables permitted")
#line 4759 "regression-compile-tmp/vax-pass2.imp"
ERROR(42, _imp_str_literal("only %integer %for-loop variables permitted"));
                                                                //   4760              cont_type = integers
#line 4760 "regression-compile-tmp/vax-pass2.imp"
CONT->TYPE = 16;
                                                                //   4761           %finish
#line 4761 "regression-compile-tmp/vax-pass2.imp"
L_03f5:;
                                                                //   4762           stab (incr, ic, iv)
#line 4762 "regression-compile-tmp/vax-pass2.imp"
STAB(INCR, &IC, &IV);
                                                                //   4763           stab (last, lc, lv)
#line 4763 "regression-compile-tmp/vax-pass2.imp"
STAB(LAST, &LC, &LV);
                                                                //   4764           sc = 0;  sc = 1 %and sv = init_disp %if const (init)
#line 4764 "regression-compile-tmp/vax-pass2.imp"
SC = 0;
#line 4764 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(INIT))) goto L_03f6;
#line 4764 "regression-compile-tmp/vax-pass2.imp"
SC = 1;
#line 4764 "regression-compile-tmp/vax-pass2.imp"
SV = INIT->DISP;
#line 4764 "regression-compile-tmp/vax-pass2.imp"
L_03f6:;
                                                                //   4765           %unless activity(cont_base) < 0 %and cont_form = v in s  %and
#line 4765 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[CONT->BASE]) >= (0))) goto L_03ed;
#line 4765 "regression-compile-tmp/vax-pass2.imp"
if (((CONT->FORM) != (2))) goto L_03ed;
#line 4765 "regression-compile-tmp/vax-pass2.imp"
if (((CONT->FLAGS) == (0))) goto L_03f7;
#line 4765 "regression-compile-tmp/vax-pass2.imp"
L_03ed:;
                                                                //   4766                   cont_flags = 0 %start
                                                                //   4767              ! Can't use cv directly
                                                                //   4768              amap (cont);   stab (cont, x, x);  cont_form = a in s
#line 4768 "regression-compile-tmp/vax-pass2.imp"
AMAP(CONT);
#line 4768 "regression-compile-tmp/vax-pass2.imp"
STAB(CONT, &X, &X);
#line 4768 "regression-compile-tmp/vax-pass2.imp"
CONT->FORM = 4;
                                                                //   4769           %finish
#line 4769 "regression-compile-tmp/vax-pass2.imp"
L_03f7:;
                                                                //   4770           fixed = sc&ic&lc;                ! constant bounded loop?
#line 4770 "regression-compile-tmp/vax-pass2.imp"
FIXED = ((((SC) & (IC))) & (LC));
                                                                //   4771           dstack (cont);                   ! to assign to
#line 4771 "regression-compile-tmp/vax-pass2.imp"
DSTACK(CONT);
                                                                //   4772           %if fixed = 0 %and control&for check # 0 %start
#line 4772 "regression-compile-tmp/vax-pass2.imp"
if (((FIXED) != (0))) goto L_03f8;
#line 4772 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (4))) == (0))) goto L_03f8;
                                                                //   4773              ! Need perm call
                                                                //   4774              dstack (init);  pop lhs;  lrd (lhs, r1)
#line 4774 "regression-compile-tmp/vax-pass2.imp"
DSTACK(INIT);
#line 4774 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
#line 4774 "regression-compile-tmp/vax-pass2.imp"
LRD(LHS, 2);
                                                                //   4775              dstack (incr);  pop lhs;  lrd (lhs, r2)
#line 4775 "regression-compile-tmp/vax-pass2.imp"
DSTACK(INCR);
#line 4775 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
#line 4775 "regression-compile-tmp/vax-pass2.imp"
LRD(LHS, 3);
                                                                //   4776              dstack (last);  pop lhs;  lrd (lhs, r3)
#line 4776 "regression-compile-tmp/vax-pass2.imp"
DSTACK(LAST);
#line 4776 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
#line 4776 "regression-compile-tmp/vax-pass2.imp"
LRD(LHS, 4);
                                                                //   4777              prim (for test);              ! returns init-incr
#line 4777 "regression-compile-tmp/vax-pass2.imp"
PRIM(10);
                                                                //   4778              dstack (regv(r0))
#line 4778 "regression-compile-tmp/vax-pass2.imp"
DSTACK(&(REGV-1)[1]);
                                                                //   4779              claim (r0)
#line 4779 "regression-compile-tmp/vax-pass2.imp"
CLAIM(1);
                                                                //   4780           %else %if fixed # 0
#line 4780 "regression-compile-tmp/vax-pass2.imp"
goto L_03f9;
#line 4780 "regression-compile-tmp/vax-pass2.imp"
L_03f8:;
#line 4780 "regression-compile-tmp/vax-pass2.imp"
if (((FIXED) == (0))) goto L_03fa;
                                                                //   4781              ! Fixed loop - test for legality
                                                                //   4782              sv = sv - iv
#line 4782 "regression-compile-tmp/vax-pass2.imp"
SV = (((int)(SV)) - (IV));
                                                                //   4783              err = 0
#line 4783 "regression-compile-tmp/vax-pass2.imp"
ERR = 0;
                                                                //   4784              %if iv = 0 %start
#line 4784 "regression-compile-tmp/vax-pass2.imp"
if (((IV) != (0))) goto L_03fb;
                                                                //   4785                 err = 1 %unless sv = lv;   ! x, 0, y
#line 4785 "regression-compile-tmp/vax-pass2.imp"
if (((SV) == (LV))) goto L_03fc;
#line 4785 "regression-compile-tmp/vax-pass2.imp"
ERR = 1;
#line 4785 "regression-compile-tmp/vax-pass2.imp"
L_03fc:;
                                                                //   4786              %else
#line 4786 "regression-compile-tmp/vax-pass2.imp"
goto L_03fd;
#line 4786 "regression-compile-tmp/vax-pass2.imp"
L_03fb:;
                                                                //   4787                 %if iv > 0 %start
#line 4787 "regression-compile-tmp/vax-pass2.imp"
if (((IV) <= (0))) goto L_03fe;
                                                                //   4788                    err = 1 %if sv > lv
#line 4788 "regression-compile-tmp/vax-pass2.imp"
if (((SV) <= (LV))) goto L_03ff;
#line 4788 "regression-compile-tmp/vax-pass2.imp"
ERR = 1;
#line 4788 "regression-compile-tmp/vax-pass2.imp"
L_03ff:;
                                                                //   4789                 %else
#line 4789 "regression-compile-tmp/vax-pass2.imp"
goto L_0400;
#line 4789 "regression-compile-tmp/vax-pass2.imp"
L_03fe:;
                                                                //   4790                    err = 1 %if sv < lv
#line 4790 "regression-compile-tmp/vax-pass2.imp"
if (((SV) >= (LV))) goto L_0401;
#line 4790 "regression-compile-tmp/vax-pass2.imp"
ERR = 1;
#line 4790 "regression-compile-tmp/vax-pass2.imp"
L_0401:;
                                                                //   4791                 %finish
#line 4791 "regression-compile-tmp/vax-pass2.imp"
L_0400:;
                                                                //   4792                 err = 1 %if rem (lv-sv, iv) # 0
#line 4792 "regression-compile-tmp/vax-pass2.imp"
if (((_imp_REM((((int)(LV)) - (SV)), IV)) == (0))) goto L_0402;
#line 4792 "regression-compile-tmp/vax-pass2.imp"
ERR = 1;
#line 4792 "regression-compile-tmp/vax-pass2.imp"
L_0402:;
                                                                //   4793              %finish
#line 4793 "regression-compile-tmp/vax-pass2.imp"
L_03fd:;
                                                                //   4794              error ('*', "%for loop cannot terminate") %if err # 0
#line 4794 "regression-compile-tmp/vax-pass2.imp"
if (((ERR) == (0))) goto L_0403;
#line 4794 "regression-compile-tmp/vax-pass2.imp"
ERROR(42, _imp_str_literal("%for loop cannot terminate"));
#line 4794 "regression-compile-tmp/vax-pass2.imp"
L_0403:;
                                                                //   4795              cstack (sv)
#line 4795 "regression-compile-tmp/vax-pass2.imp"
CSTACK(SV);
                                                                //   4796           %else
#line 4796 "regression-compile-tmp/vax-pass2.imp"
goto L_03f9;
#line 4796 "regression-compile-tmp/vax-pass2.imp"
L_03fa:;
                                                                //   4797              dstack (init);  dstack (incr);  operate (sub)
#line 4797 "regression-compile-tmp/vax-pass2.imp"
DSTACK(INIT);
#line 4797 "regression-compile-tmp/vax-pass2.imp"
DSTACK(INCR);
#line 4797 "regression-compile-tmp/vax-pass2.imp"
OPERATE(10);
                                                                //   4798           %finish
#line 4798 "regression-compile-tmp/vax-pass2.imp"
L_03f9:;
                                                                //   4799           assign (1)
#line 4799 "regression-compile-tmp/vax-pass2.imp"
ASSIGN(1);
                                                                //   4800           lab = getword;  define label (lab)
#line 4800 "regression-compile-tmp/vax-pass2.imp"
LAB = GETWORD();
#line 4800 "regression-compile-tmp/vax-pass2.imp"
DEFINELABEL(LAB);
                                                                //   4801  
                                                                //   4802           ! No need to check assigned from here on
                                                                //   4803           old control = control
#line 4803 "regression-compile-tmp/vax-pass2.imp"
OLDCONTROL = CONTROL;
                                                                //   4804           control = control & (\ass check)
#line 4804 "regression-compile-tmp/vax-pass2.imp"
CONTROL = ((CONTROL) & ((~(1))));
                                                                //   4805  
                                                                //   4806           ! %exit %if cont = last
                                                                //   4807           compare (cont, last, 0)
#line 4807 "regression-compile-tmp/vax-pass2.imp"
COMPARE(CONT, LAST, 0);
                                                                //   4808           jump to (lab+1, 1, 1)
#line 4808 "regression-compile-tmp/vax-pass2.imp"
JUMPTO((((int)(LAB)) + (1)), 1, 1);
                                                                //   4809  
                                                                //   4810           ! cont = cont + incr
                                                                //   4811           dstack (cont);  dstack (cont);  dstack (incr)
#line 4811 "regression-compile-tmp/vax-pass2.imp"
DSTACK(CONT);
#line 4811 "regression-compile-tmp/vax-pass2.imp"
DSTACK(CONT);
#line 4811 "regression-compile-tmp/vax-pass2.imp"
DSTACK(INCR);
                                                                //   4812           operate (add);   assign (1)
#line 4812 "regression-compile-tmp/vax-pass2.imp"
OPERATE(9);
#line 4812 "regression-compile-tmp/vax-pass2.imp"
ASSIGN(1);
                                                                //   4813  
                                                                //   4814           control = old control
#line 4814 "regression-compile-tmp/vax-pass2.imp"
CONTROL = OLDCONTROL;
                                                                //   4815  
                                                                //   4816           drop (cont);  drop (incr);  drop (init);  drop (last)
#line 4816 "regression-compile-tmp/vax-pass2.imp"
DROP(CONT);
#line 4816 "regression-compile-tmp/vax-pass2.imp"
DROP(INCR);
#line 4816 "regression-compile-tmp/vax-pass2.imp"
DROP(INIT);
#line 4816 "regression-compile-tmp/vax-pass2.imp"
DROP(LAST);
                                                                //   4817        %end
#line 4817 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block FOR at level 3
                                                                //   4818  
                                                                //   4819  
                                                                //   4820     !procedure processing
                                                                //   4821  
                                                                //   4822        %routine  PUSH (%record(stackfm) %name  t, %integer %name n)
#line 4822 "regression-compile-tmp/vax-pass2.imp"
void PUSH(  STACKFM /*name*/*T, int /*name*/*N )
#line 4822 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4823           %integer op, mop, old op
#line 4823 "regression-compile-tmp/vax-pass2.imp"
int OP;
#line 4823 "regression-compile-tmp/vax-pass2.imp"
int MOP;
#line 4823 "regression-compile-tmp/vax-pass2.imp"
int OLDOP;
                                                                //   4824           %record(stackfm) %name w
#line 4824 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*W;
                                                                //   4825           %record(stackfm) ww
#line 4825 "regression-compile-tmp/vax-pass2.imp"
 STACKFM WW;
                                                                //   4826  
                                                                //   4827           monitor (t, "Push") %if diag&16 # 0
#line 4827 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (16))) == (0))) goto L_0404;
#line 4827 "regression-compile-tmp/vax-pass2.imp"
MONITOR(T, _imp_str_literal("Push"));
#line 4827 "regression-compile-tmp/vax-pass2.imp"
L_0404:;
                                                                //   4828  
                                                                //   4829           op = pushl;  mop = -1
#line 4829 "regression-compile-tmp/vax-pass2.imp"
OP = 32;
#line 4829 "regression-compile-tmp/vax-pass2.imp"
MOP = (-1);
                                                                //   4830           %if t_oper # 0 %start;           !arraynames or %name
#line 4830 "regression-compile-tmp/vax-pass2.imp"
if (((T->OPER) == (0))) goto L_0405;
                                                                //   4831              old op = t_oper;  t_oper = 0
#line 4831 "regression-compile-tmp/vax-pass2.imp"
OLDOP = T->OPER;
#line 4831 "regression-compile-tmp/vax-pass2.imp"
T->OPER = 0;
                                                                //   4832              %if old op = 2 %start;        !general name
#line 4832 "regression-compile-tmp/vax-pass2.imp"
if (((OLDOP) != (2))) goto L_0406;
                                                                //   4833                 push (literal(t_type<<24+t_length), n);  stp = stp-1
#line 4833 "regression-compile-tmp/vax-pass2.imp"
PUSH(LITERAL((((int)(((T->TYPE) << (24)))) + (T->LENGTH))), N);
#line 4833 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4834                 t_form = t_form & 15
#line 4834 "regression-compile-tmp/vax-pass2.imp"
T->FORM = ((T->FORM) & (15));
                                                                //   4835                 address (t)
#line 4835 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(T);
                                                                //   4836                 amap (t)
#line 4836 "regression-compile-tmp/vax-pass2.imp"
AMAP(T);
                                                                //   4837              %else %if old op = 1
#line 4837 "regression-compile-tmp/vax-pass2.imp"
goto L_0407;
#line 4837 "regression-compile-tmp/vax-pass2.imp"
L_0406:;
#line 4837 "regression-compile-tmp/vax-pass2.imp"
if (((OLDOP) != (1))) goto L_0408;
                                                                //   4838                 move arrayname (t, spv)
#line 4838 "regression-compile-tmp/vax-pass2.imp"
MOVEARRAYNAME(T, &SPV);
                                                                //   4839                 n = n + 2; %return
#line 4839 "regression-compile-tmp/vax-pass2.imp"
*N = ((*(int *)(N)) + (2));
#line 4839 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4840              %else
#line 4840 "regression-compile-tmp/vax-pass2.imp"
L_0408:;
                                                                //   4841                 t_form = v in s;  mop = movq
#line 4841 "regression-compile-tmp/vax-pass2.imp"
T->FORM = 2;
#line 4841 "regression-compile-tmp/vax-pass2.imp"
MOP = 13;
                                                                //   4842                 drop (t)
#line 4842 "regression-compile-tmp/vax-pass2.imp"
DROP(T);
                                                                //   4843              %finish
#line 4843 "regression-compile-tmp/vax-pass2.imp"
L_0407:;
                                                                //   4844           %else %if t_type = integers
#line 4844 "regression-compile-tmp/vax-pass2.imp"
goto L_0409;
#line 4844 "regression-compile-tmp/vax-pass2.imp"
L_0405:;
#line 4844 "regression-compile-tmp/vax-pass2.imp"
if (((T->TYPE) != (16))) goto L_040a;
                                                                //   4845              address (t) %if t_form # av in s
#line 4845 "regression-compile-tmp/vax-pass2.imp"
if (((T->FORM) == (3))) goto L_040b;
#line 4845 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(T);
#line 4845 "regression-compile-tmp/vax-pass2.imp"
L_040b:;
                                                                //   4846              %if t_form = constant %and -64 <= t_disp < 0 %start
#line 4846 "regression-compile-tmp/vax-pass2.imp"
if (((T->FORM) != (0))) goto L_040c;
#line 4846 "regression-compile-tmp/vax-pass2.imp"
if (((((-64)) > (T->DISP))) || (((T->DISP) >= (0)))) goto L_040c;
                                                                //   4847                 ! Can use mcoml,mnegl -  let PLANT2 fix it
                                                                //   4848                 mop = movl;
#line 4848 "regression-compile-tmp/vax-pass2.imp"
MOP = 8968;
                                                                //   4849                 drop (t);  n = n - 1
#line 4849 "regression-compile-tmp/vax-pass2.imp"
DROP(T);
#line 4849 "regression-compile-tmp/vax-pass2.imp"
*N = ((*(int *)(N)) - (1));
                                                                //   4850              %finish
#line 4850 "regression-compile-tmp/vax-pass2.imp"
L_040c:;
                                                                //   4851           %else
#line 4851 "regression-compile-tmp/vax-pass2.imp"
goto L_0409;
#line 4851 "regression-compile-tmp/vax-pass2.imp"
L_040a:;
                                                                //   4852              %if t_type&(records!strings) # 0 %start
#line 4852 "regression-compile-tmp/vax-pass2.imp"
if (((((T->TYPE) & (((128) | (64))))) == (0))) goto L_040d;
                                                                //   4853                 %if t_type = records %start
#line 4853 "regression-compile-tmp/vax-pass2.imp"
if (((T->TYPE) != (128))) goto L_040e;
                                                                //   4854                    w == temp(var(t_format)_length)
#line 4854 "regression-compile-tmp/vax-pass2.imp"
W = TEMP(VAR[T->FORMAT].LENGTH);
                                                                //   4855                    w_type = records;  w_format = t_format
#line 4855 "regression-compile-tmp/vax-pass2.imp"
W->TYPE = 128;
#line 4855 "regression-compile-tmp/vax-pass2.imp"
W->FORMAT = T->FORMAT;
                                                                //   4856                    dstack (w);  dstack (t);  assign (1)
#line 4856 "regression-compile-tmp/vax-pass2.imp"
DSTACK(W);
#line 4856 "regression-compile-tmp/vax-pass2.imp"
DSTACK(T);
#line 4856 "regression-compile-tmp/vax-pass2.imp"
ASSIGN(1);
                                                                //   4857                    stp = stp - 1
#line 4857 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4858                    drop (t);  t == w
#line 4858 "regression-compile-tmp/vax-pass2.imp"
DROP(T);
#line 4858 "regression-compile-tmp/vax-pass2.imp"
T = W;
                                                                //   4859                 %else %if t_type = strings;   !not already in wk strg
#line 4859 "regression-compile-tmp/vax-pass2.imp"
goto L_040f;
#line 4859 "regression-compile-tmp/vax-pass2.imp"
L_040e:;
#line 4859 "regression-compile-tmp/vax-pass2.imp"
if (((T->TYPE) != (64))) goto L_0410;
                                                                //   4860                    w == work string;  stp = stp-1
#line 4860 "regression-compile-tmp/vax-pass2.imp"
W = WORKSTRING();
#line 4860 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   4861                    ww = w
#line 4861 "regression-compile-tmp/vax-pass2.imp"
WW = *W;
                                                                //   4862                    assign string (t, w);  drop (t)
#line 4862 "regression-compile-tmp/vax-pass2.imp"
ASSIGNSTRING(T, W);
#line 4862 "regression-compile-tmp/vax-pass2.imp"
DROP(T);
                                                                //   4863                    t == w;  t = ww
#line 4863 "regression-compile-tmp/vax-pass2.imp"
T = W;
#line 4863 "regression-compile-tmp/vax-pass2.imp"
*T = WW;
                                                                //   4864                 %finish
#line 4864 "regression-compile-tmp/vax-pass2.imp"
L_0410:;
#line 4864 "regression-compile-tmp/vax-pass2.imp"
L_040f:;
                                                                //   4865                 t_type = integers;  op = pushal
#line 4865 "regression-compile-tmp/vax-pass2.imp"
T->TYPE = 16;
#line 4865 "regression-compile-tmp/vax-pass2.imp"
OP = 4136;
                                                                //   4866              %else %if t_type&real bit # 0
#line 4866 "regression-compile-tmp/vax-pass2.imp"
goto L_0411;
#line 4866 "regression-compile-tmp/vax-pass2.imp"
L_040d:;
#line 4866 "regression-compile-tmp/vax-pass2.imp"
if (((((T->TYPE) & (32))) == (0))) goto L_0412;
                                                                //   4867                 address (t)
#line 4867 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(T);
                                                                //   4868                 drop (t);  clear (t);  mop = movd
#line 4868 "regression-compile-tmp/vax-pass2.imp"
DROP(T);
#line 4868 "regression-compile-tmp/vax-pass2.imp"
CLEAR(T);
#line 4868 "regression-compile-tmp/vax-pass2.imp"
MOP = 12;
                                                                //   4869                 %if t_type = reals %start
#line 4869 "regression-compile-tmp/vax-pass2.imp"
if (((T->TYPE) != (35))) goto L_0413;
                                                                //   4870                    n = n - 1; mop = movf
#line 4870 "regression-compile-tmp/vax-pass2.imp"
*N = ((*(int *)(N)) - (1));
#line 4870 "regression-compile-tmp/vax-pass2.imp"
MOP = 11;
                                                                //   4871                 %finish
#line 4871 "regression-compile-tmp/vax-pass2.imp"
L_0413:;
                                                                //   4872              %else %if t_type = long+integers
#line 4872 "regression-compile-tmp/vax-pass2.imp"
goto L_0411;
#line 4872 "regression-compile-tmp/vax-pass2.imp"
L_0412:;
#line 4872 "regression-compile-tmp/vax-pass2.imp"
if (((T->TYPE) != (21))) goto L_0414;
                                                                //   4873                 mop = movq;  address (t);  drop (t)
#line 4873 "regression-compile-tmp/vax-pass2.imp"
MOP = 13;
#line 4873 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(T);
#line 4873 "regression-compile-tmp/vax-pass2.imp"
DROP(T);
                                                                //   4874              %else
#line 4874 "regression-compile-tmp/vax-pass2.imp"
goto L_0411;
#line 4874 "regression-compile-tmp/vax-pass2.imp"
L_0414:;
                                                                //   4875                 address (t);  clear (t);  drop (t)
#line 4875 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(T);
#line 4875 "regression-compile-tmp/vax-pass2.imp"
CLEAR(T);
#line 4875 "regression-compile-tmp/vax-pass2.imp"
DROP(T);
                                                                //   4876                 mop = t_type&7*8+7*8
#line 4876 "regression-compile-tmp/vax-pass2.imp"
MOP = ((((((int)(((T->TYPE) & (7)))) * (8)))) + ((((int)(7)) * (8))));
                                                                //   4877                 n = n - 1;                !only 1 longword
#line 4877 "regression-compile-tmp/vax-pass2.imp"
*N = ((*(int *)(N)) - (1));
                                                                //   4878              %finish
#line 4878 "regression-compile-tmp/vax-pass2.imp"
L_0411:;
                                                                //   4879           %finish
#line 4879 "regression-compile-tmp/vax-pass2.imp"
L_0409:;
                                                                //   4880           %if mop = -1 %start
#line 4880 "regression-compile-tmp/vax-pass2.imp"
if (((MOP) != ((-1)))) goto L_0415;
                                                                //   4881              %if t_form = av in s %start
#line 4881 "regression-compile-tmp/vax-pass2.imp"
if (((T->FORM) != (3))) goto L_0416;
                                                                //   4882                 op = pushal;  t_form = v in s
#line 4882 "regression-compile-tmp/vax-pass2.imp"
OP = 4136;
#line 4882 "regression-compile-tmp/vax-pass2.imp"
T->FORM = 2;
                                                                //   4883              %finish
#line 4883 "regression-compile-tmp/vax-pass2.imp"
L_0416:;
                                                                //   4884              scale index (op, t)
#line 4884 "regression-compile-tmp/vax-pass2.imp"
SCALEINDEX(&OP, T);
                                                                //   4885              plant1 (op, t) %if op # 0
#line 4885 "regression-compile-tmp/vax-pass2.imp"
if (((OP) == (0))) goto L_0417;
#line 4885 "regression-compile-tmp/vax-pass2.imp"
PLANT1(OP, T);
#line 4885 "regression-compile-tmp/vax-pass2.imp"
L_0417:;
                                                                //   4886              clear (t);  drop (t)
#line 4886 "regression-compile-tmp/vax-pass2.imp"
CLEAR(T);
#line 4886 "regression-compile-tmp/vax-pass2.imp"
DROP(T);
                                                                //   4887           %else
#line 4887 "regression-compile-tmp/vax-pass2.imp"
goto L_0418;
#line 4887 "regression-compile-tmp/vax-pass2.imp"
L_0415:;
                                                                //   4888              scale index (mop, t)
#line 4888 "regression-compile-tmp/vax-pass2.imp"
SCALEINDEX(&MOP, T);
                                                                //   4889              plant2 (mop, t, spv)
#line 4889 "regression-compile-tmp/vax-pass2.imp"
PLANT2(MOP, T, &SPV);
                                                                //   4890              n = n + 1;          !an extra param
#line 4890 "regression-compile-tmp/vax-pass2.imp"
*N = ((*(int *)(N)) + (1));
                                                                //   4891           %finish
#line 4891 "regression-compile-tmp/vax-pass2.imp"
L_0418:;
                                                                //   4892           n = n + 1
#line 4892 "regression-compile-tmp/vax-pass2.imp"
*N = ((*(int *)(N)) + (1));
                                                                //   4893        %end
#line 4893 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PUSH at level 3
                                                                //   4894  
                                                                //   4895        %routine  CALL (%record(stackfm) %name v)
#line 4895 "regression-compile-tmp/vax-pass2.imp"
void CALL(  STACKFM /*name*/*V )
#line 4895 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   4896           !call procedure 'v'
                                                                //   4897           %integer  reg, n, disp, type, form, pn, pa
#line 4897 "regression-compile-tmp/vax-pass2.imp"
int REG;
#line 4897 "regression-compile-tmp/vax-pass2.imp"
int N;
#line 4897 "regression-compile-tmp/vax-pass2.imp"
int DISP;
#line 4897 "regression-compile-tmp/vax-pass2.imp"
int TYPE;
#line 4897 "regression-compile-tmp/vax-pass2.imp"
int FORM;
#line 4897 "regression-compile-tmp/vax-pass2.imp"
int PN;
#line 4897 "regression-compile-tmp/vax-pass2.imp"
int PA;
                                                                //   4898           %record(stackfm) %name  t, p, w
#line 4898 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*T;
#line 4898 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*P;
#line 4898 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*W;
                                                                //   4899           %record(stackfm)  ec
#line 4899 "regression-compile-tmp/vax-pass2.imp"
 STACKFM EC;
                                                                //   4900           %switch  pri (1 : 31)
#line 4900 "regression-compile-tmp/vax-pass2.imp"
static int sw9_PRI_idx;
static const void * /*SWITCH*/ sw9_PRI[31] = { &&sw9_PRI_1, &&sw9_PRI_2, &&sw9_PRI_3, &&sw9_PRI_4, &&sw9_PRI_5, &&sw9_PRI_6, &&sw9_PRI_7, &&sw9_PRI_8, &&sw9_PRI_9, &&sw9_PRI_10, &&sw9_PRI_11, &&sw9_PRI_12, &&sw9_PRI_13, &&sw9_PRI_14, &&sw9_PRI_15, &&sw9_PRI_16, &&sw9_PRI_17, &&sw9_PRI_18, &&sw9_PRI_19, &&sw9_PRI_20, &&sw9_PRI_21, &&sw9_PRI_22, &&sw9_PRI_23, &&sw9_PRI_24, &&sw9_PRI_25, &&sw9_PRI_26, &&sw9_PRI_27, &&sw9_PRI_28, &&sw9_PRI_29, &&sw9_PRI_30, &&sw9_PRI_31,  };
                                                                //   4901           %const %byte %array params (1 : 31) =
#line 4901 "regression-compile-tmp/vax-pass2.imp"
const unsigned char PARAMS[31] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 2, 2,  };
                                                                //   4902              1(17), 2(2), 0(3), 1, 1(4), 0, 0, 2, 2
                                                                //   4903           %const %byte %array  ptype (2 : 8) =
#line 4903 "regression-compile-tmp/vax-pass2.imp"
const unsigned char PTYPE[7] = { 18, 17, 16, 64, 128, 35, 36,  };
                                                                //   4904              byte+integers, short+integers,
                                                                //   4905              integers, strings, records,
                                                                //   4906              reals, reall
                                                                //   4907           %const %byte %array  plen (2 : 8) =
#line 4907 "regression-compile-tmp/vax-pass2.imp"
const unsigned char PLEN[7] = { 1, 2, 4, 0, 0, 4, 8,  };
                                                                //   4908              1, 2, 4, 0, 0, 4, 8
                                                                //   4909  
                                                                //   4910           monitor (v, "Call") %if diag&16 # 0
#line 4910 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (16))) == (0))) goto L_0419;
#line 4910 "regression-compile-tmp/vax-pass2.imp"
MONITOR(V, _imp_str_literal("Call"));
#line 4910 "regression-compile-tmp/vax-pass2.imp"
L_0419:;
                                                                //   4911           type = v_type;  form = v_form&15
#line 4911 "regression-compile-tmp/vax-pass2.imp"
TYPE = V->TYPE;
#line 4911 "regression-compile-tmp/vax-pass2.imp"
FORM = ((V->FORM) & (15));
                                                                //   4912           disp = v_disp
#line 4912 "regression-compile-tmp/vax-pass2.imp"
DISP = V->DISP;
                                                                //   4913           pn   = v_mantissa
#line 4913 "regression-compile-tmp/vax-pass2.imp"
PN = V->MANTISSA;
                                                                //   4914           %if pn # 0 %start;                  ! %PRIM
#line 4914 "regression-compile-tmp/vax-pass2.imp"
if (((PN) == (0))) goto L_041a;
                                                                //   4915              pa = params(pn);                 ! #parameters
#line 4915 "regression-compile-tmp/vax-pass2.imp"
PA = (PARAMS-1)[PN];
                                                                //   4916              %if pa > 0 %start
#line 4916 "regression-compile-tmp/vax-pass2.imp"
if (((PA) <= (0))) goto L_041b;
                                                                //   4917                 t == v_link;   t_oper = 0
#line 4917 "regression-compile-tmp/vax-pass2.imp"
T = V->LINK;
#line 4917 "regression-compile-tmp/vax-pass2.imp"
T->OPER = 0;
                                                                //   4918                 %if pa = 2 %start
#line 4918 "regression-compile-tmp/vax-pass2.imp"
if (((PA) != (2))) goto L_041c;
                                                                //   4919                    rhs == t;                  ! 2nd parameter heads list
#line 4919 "regression-compile-tmp/vax-pass2.imp"
RHS = T;
                                                                //   4920                    t == t_link
#line 4920 "regression-compile-tmp/vax-pass2.imp"
T = T->LINK;
                                                                //   4921                    t_oper = 0
#line 4921 "regression-compile-tmp/vax-pass2.imp"
T->OPER = 0;
                                                                //   4922                 %finish
#line 4922 "regression-compile-tmp/vax-pass2.imp"
L_041c:;
                                                                //   4923                 dstack (t);   set lhs
#line 4923 "regression-compile-tmp/vax-pass2.imp"
DSTACK(T);
#line 4923 "regression-compile-tmp/vax-pass2.imp"
SETLHS();
                                                                //   4924                 drop (t)
#line 4924 "regression-compile-tmp/vax-pass2.imp"
DROP(T);
                                                                //   4925              %finish
#line 4925 "regression-compile-tmp/vax-pass2.imp"
L_041b:;
                                                                //   4926              drop (v) %if pn < 23;            ! No actual external ref
#line 4926 "regression-compile-tmp/vax-pass2.imp"
if (((PN) >= (23))) goto L_041d;
#line 4926 "regression-compile-tmp/vax-pass2.imp"
DROP(V);
#line 4926 "regression-compile-tmp/vax-pass2.imp"
L_041d:;
                                                                //   4927              -> pri (pn)
#line 4927 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_idx = PN; if ((1 <= sw9_PRI_idx) && (sw9_PRI_idx <= 31)) goto *(sw9_PRI-1)[sw9_PRI_idx];  /* Bounds=1:31 */ else {
   /*_imp_signal(8, 2, sw9_PRI_idx);*/
   fprintf(stderr, "%%SWITCH index PRI(%d) not in range 1:31 at %s:%d\n",
           sw9_PRI_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   4928        pri(1):                                !addr
#line 4928 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_1:;
                                                                //   4929              %if lhs_form = 15 %start;        ! of label?
#line 4929 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->FORM) != (15))) goto L_041e;
                                                                //   4930                 n = register (0);  claim (n)
#line 4930 "regression-compile-tmp/vax-pass2.imp"
N = REGISTER(0);
#line 4930 "regression-compile-tmp/vax-pass2.imp"
CLAIM(N);
                                                                //   4931                 entry mask = entry mask ! reg mask (n)
#line 4931 "regression-compile-tmp/vax-pass2.imp"
ENTRYMASK = ((ENTRYMASK) | (REGMASK[N]));
                                                                //   4932                 put code (16_9E);     !movab
#line 4932 "regression-compile-tmp/vax-pass2.imp"
PUTCODE(158);
                                                                //   4933                 flush code
#line 4933 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
                                                                //   4934                 define reference (lhs_disp, dir pref)
#line 4934 "regression-compile-tmp/vax-pass2.imp"
DEFINEREFERENCE(LHS->DISP, 3);
                                                                //   4935                 put (obj call);  ca = ca + 2;   !assume short
#line 4935 "regression-compile-tmp/vax-pass2.imp"
PUT(11);
#line 4935 "regression-compile-tmp/vax-pass2.imp"
CA = (((int)(CA)) + (2));
                                                                //   4936                 put long (lhs_disp)
#line 4936 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(LHS->DISP);
                                                                //   4937                 put number byte (16_50+n-1); !Rn
#line 4937 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE((((int)((((int)(80)) + (N)))) - (1)));
                                                                //   4938                 lhs_base = n;  lhs_disp = 0; lhs_xno = 0
#line 4938 "regression-compile-tmp/vax-pass2.imp"
LHS->BASE = N;
#line 4938 "regression-compile-tmp/vax-pass2.imp"
LHS->DISP = 0;
#line 4938 "regression-compile-tmp/vax-pass2.imp"
LHS->XNO = 0;
                                                                //   4939                 lhs_type = integers;  lhs_form = v in r
#line 4939 "regression-compile-tmp/vax-pass2.imp"
LHS->TYPE = 16;
#line 4939 "regression-compile-tmp/vax-pass2.imp"
LHS->FORM = 1;
                                                                //   4940              %else
#line 4940 "regression-compile-tmp/vax-pass2.imp"
goto L_041f;
#line 4940 "regression-compile-tmp/vax-pass2.imp"
L_041e:;
                                                                //   4941  !!!!           error ('*' "cannot take address of...") %if .. ??
                                                                //   4942                 amap (lhs)
#line 4942 "regression-compile-tmp/vax-pass2.imp"
AMAP(LHS);
                                                                //   4943              %finish
#line 4943 "regression-compile-tmp/vax-pass2.imp"
L_041f:;
                                                                //   4944              %return
#line 4944 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4945        pri(2):                                !byte
#line 4945 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_2:;
                                                                //   4946        pri(3):                                !short
#line 4946 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_3:;
                                                                //   4947        pri(4):                                !integer
#line 4947 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_4:;
                                                                //   4948        pri(5):                                !string
#line 4948 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_5:;
                                                                //   4949        pri(6):                                !record
#line 4949 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_6:;
                                                                //   4950        pri(7):                                !real
#line 4950 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_7:;
                                                                //   4951        pri(8):                                !longreal
#line 4951 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_8:;
                                                                //   4952              load (lhs, any) %if pn = 5 %and lhs_flags&indexed # 0
#line 4952 "regression-compile-tmp/vax-pass2.imp"
if (((PN) != (5))) goto L_0420;
#line 4952 "regression-compile-tmp/vax-pass2.imp"
if (((((LHS->FLAGS) & (1))) == (0))) goto L_0420;
#line 4952 "regression-compile-tmp/vax-pass2.imp"
LOAD(LHS, 17);
#line 4952 "regression-compile-tmp/vax-pass2.imp"
L_0420:;
                                                                //   4953              vmap (lhs)
#line 4953 "regression-compile-tmp/vax-pass2.imp"
VMAP(LHS);
                                                                //   4954              lhs_type   = ptype(pn)
#line 4954 "regression-compile-tmp/vax-pass2.imp"
LHS->TYPE = (PTYPE-2)[PN];
                                                                //   4955              lhs_length = plen(pn)
#line 4955 "regression-compile-tmp/vax-pass2.imp"
LHS->LENGTH = (PLEN-2)[PN];
                                                                //   4956              lhs_format = 0;                  ! For strings/records
#line 4956 "regression-compile-tmp/vax-pass2.imp"
LHS->FORMAT = 0;
                                                                //   4957              %return
#line 4957 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4958        pri(9):                                !int
#line 4958 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_9:;
                                                                //   4959        pri(10):                               !intpt
#line 4959 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_10:;
                                                                //   4960              address (lhs)
#line 4960 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(LHS);
                                                                //   4961              n = register (0);  claim (n)
#line 4961 "regression-compile-tmp/vax-pass2.imp"
N = REGISTER(0);
#line 4961 "regression-compile-tmp/vax-pass2.imp"
CLAIM(N);
                                                                //   4962              plant2 (11*8-4*8+lhs_type&7*8+6*(10-pn), lhs, regv(n))
#line 4962 "regression-compile-tmp/vax-pass2.imp"
PLANT2(((((((((((((int)(11)) * (8)))) - ((((int)(4)) * (8)))))) + ((((int)(((LHS->TYPE) & (7)))) * (8)))))) + (((6) * ((int)((((int)(10)) - (PN))))))), LHS, &(REGV-1)[N]);
                                                                //   4963              release (lhs_base)
#line 4963 "regression-compile-tmp/vax-pass2.imp"
RELEASE(LHS->BASE);
                                                                //   4964              lhs_base = n
#line 4964 "regression-compile-tmp/vax-pass2.imp"
LHS->BASE = N;
                                                                //   4965              lhs_form = v in r;  lhs_disp = 0; lhs_xno = 0
#line 4965 "regression-compile-tmp/vax-pass2.imp"
LHS->FORM = 1;
#line 4965 "regression-compile-tmp/vax-pass2.imp"
LHS->DISP = 0;
#line 4965 "regression-compile-tmp/vax-pass2.imp"
LHS->XNO = 0;
                                                                //   4966              lhs_type = integers;  lhs_length = 4
#line 4966 "regression-compile-tmp/vax-pass2.imp"
LHS->TYPE = 16;
#line 4966 "regression-compile-tmp/vax-pass2.imp"
LHS->LENGTH = 4;
                                                                //   4967              %return
#line 4967 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4968        pri(11):                               !read ch
#line 4968 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_11:;
                                                                //   4969        pri(12):                               !read symbol
#line 4969 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_12:;
                                                                //   4970              %if lhs_type&(integers!strings) = 0 %start
#line 4970 "regression-compile-tmp/vax-pass2.imp"
if (((((LHS->TYPE) & (((16) | (64))))) != (0))) goto L_0421;
                                                                //   4971                 error ('*', "invalid parameter to READ SYMBOL/CH")
#line 4971 "regression-compile-tmp/vax-pass2.imp"
ERROR(42, _imp_str_literal("invalid parameter to READ SYMBOL/CH"));
                                                                //   4972                 lhs_type = integers
#line 4972 "regression-compile-tmp/vax-pass2.imp"
LHS->TYPE = 16;
                                                                //   4973              %finish
#line 4973 "regression-compile-tmp/vax-pass2.imp"
L_0421:;
                                                                //   4974              prim (rch+pn-11)
#line 4974 "regression-compile-tmp/vax-pass2.imp"
PRIM((((int)((((int)(20)) + (PN)))) - (11)));
                                                                //   4975              abort (47) %if lhs_oper # 0
#line 4975 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->OPER) == (0))) goto L_0422;
#line 4975 "regression-compile-tmp/vax-pass2.imp"
ABORT(47);
#line 4975 "regression-compile-tmp/vax-pass2.imp"
L_0422:;
                                                                //   4976              %if lhs_type&strings # 0 %start
#line 4976 "regression-compile-tmp/vax-pass2.imp"
if (((((LHS->TYPE) & (64))) == (0))) goto L_0423;
                                                                //   4977                 %if lhs_form # v in s %or lhs_flags # 0 %start
#line 4977 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->FORM) != (2))) goto L_0424;
#line 4977 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->FLAGS) == (0))) goto L_0425;
#line 4977 "regression-compile-tmp/vax-pass2.imp"
L_0424:;
                                                                //   4978                    amap (lhs);  load (lhs, any)
#line 4978 "regression-compile-tmp/vax-pass2.imp"
AMAP(LHS);
#line 4978 "regression-compile-tmp/vax-pass2.imp"
LOAD(LHS, 17);
                                                                //   4979                    lhs_form = v in s;  lhs_type = byte+integers
#line 4979 "regression-compile-tmp/vax-pass2.imp"
LHS->FORM = 2;
#line 4979 "regression-compile-tmp/vax-pass2.imp"
LHS->TYPE = 18;
                                                                //   4980                 %finish
#line 4980 "regression-compile-tmp/vax-pass2.imp"
L_0425:;
                                                                //   4981                 lhs_flags = auto i %if activity(lhs_base) = 1
#line 4981 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVITY[LHS->BASE]) != (1))) goto L_0426;
#line 4981 "regression-compile-tmp/vax-pass2.imp"
LHS->FLAGS = 4;
#line 4981 "regression-compile-tmp/vax-pass2.imp"
L_0426:;
                                                                //   4982                 lhs_type = byte + integers;  lhs_length = 1
#line 4982 "regression-compile-tmp/vax-pass2.imp"
LHS->TYPE = 18;
#line 4982 "regression-compile-tmp/vax-pass2.imp"
LHS->LENGTH = 1;
                                                                //   4983                 dstack (lhs);  cstack (1);  assign (1)
#line 4983 "regression-compile-tmp/vax-pass2.imp"
DSTACK(LHS);
#line 4983 "regression-compile-tmp/vax-pass2.imp"
CSTACK(1);
#line 4983 "regression-compile-tmp/vax-pass2.imp"
ASSIGN(1);
                                                                //   4984                 claim (lhs_base)
#line 4984 "regression-compile-tmp/vax-pass2.imp"
CLAIM(LHS->BASE);
                                                                //   4985                 %if lhs_flags = auto i %start
#line 4985 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->FLAGS) != (4))) goto L_0427;
                                                                //   4986                    lhs_flags = 0
#line 4986 "regression-compile-tmp/vax-pass2.imp"
LHS->FLAGS = 0;
                                                                //   4987                 %else
#line 4987 "regression-compile-tmp/vax-pass2.imp"
goto L_0428;
#line 4987 "regression-compile-tmp/vax-pass2.imp"
L_0427:;
                                                                //   4988                    lhs_disp = lhs_disp + 1
#line 4988 "regression-compile-tmp/vax-pass2.imp"
LHS->DISP = (((int)(LHS->DISP)) + (1));
                                                                //   4989                 %finish
#line 4989 "regression-compile-tmp/vax-pass2.imp"
L_0428:;
                                                                //   4990              %finish
#line 4990 "regression-compile-tmp/vax-pass2.imp"
L_0423:;
                                                                //   4991              w == regv(r0);  claim (r0);  dstack (w)
#line 4991 "regression-compile-tmp/vax-pass2.imp"
W = &(REGV-1)[1];
#line 4991 "regression-compile-tmp/vax-pass2.imp"
CLAIM(1);
#line 4991 "regression-compile-tmp/vax-pass2.imp"
DSTACK(W);
                                                                //   4992              assign (1)
#line 4992 "regression-compile-tmp/vax-pass2.imp"
ASSIGN(1);
                                                                //   4993              %return
#line 4993 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   4994        pri(20):                               !skip item
#line 4994 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_20:;
                                                                //   4995              pn = 22;                         !=skip symbol
#line 4995 "regression-compile-tmp/vax-pass2.imp"
PN = 22;
                                                                //   4996        pri(21):                               !skip ch
#line 4996 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_21:;
                                                                //   4997        pri(22):                               !skip symbol
#line 4997 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_22:;
                                                                //   4998              prim (rch+pn-21)
#line 4998 "regression-compile-tmp/vax-pass2.imp"
PRIM((((int)((((int)(20)) + (PN)))) - (21)));
                                                                //   4999              %return
#line 4999 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5000        pri(13):                               !printch
#line 5000 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_13:;
                                                                //   5001        pri(14):                               !print symbol
#line 5001 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_14:;
                                                                //   5002              stp = stp - 1
#line 5002 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   5003              lrd (lhs, r0)
#line 5003 "regression-compile-tmp/vax-pass2.imp"
LRD(LHS, 1);
                                                                //   5004              prim (pch+pn-13)
#line 5004 "regression-compile-tmp/vax-pass2.imp"
PRIM((((int)((((int)(22)) + (PN)))) - (13)));
                                                                //   5005              %return
#line 5005 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5006        pri(15):                               !tostring
#line 5006 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_15:;
                                                                //   5007              stp = stp-1
#line 5007 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   5008              w == temp(2);  w_type = byte+integers
#line 5008 "regression-compile-tmp/vax-pass2.imp"
W = TEMP(2);
#line 5008 "regression-compile-tmp/vax-pass2.imp"
W->TYPE = 18;
                                                                //   5009              dstack (w);  dstack (w)
#line 5009 "regression-compile-tmp/vax-pass2.imp"
DSTACK(W);
#line 5009 "regression-compile-tmp/vax-pass2.imp"
DSTACK(W);
                                                                //   5010              dstack (lhs);  drop (lhs)
#line 5010 "regression-compile-tmp/vax-pass2.imp"
DSTACK(LHS);
#line 5010 "regression-compile-tmp/vax-pass2.imp"
DROP(LHS);
                                                                //   5011              set both;  lhs_disp = lhs_disp + 1
#line 5011 "regression-compile-tmp/vax-pass2.imp"
SETBOTH();
#line 5011 "regression-compile-tmp/vax-pass2.imp"
LHS->DISP = (((int)(LHS->DISP)) + (1));
                                                                //   5012              assign (1)
#line 5012 "regression-compile-tmp/vax-pass2.imp"
ASSIGN(1);
                                                                //   5013              cstack (1)
#line 5013 "regression-compile-tmp/vax-pass2.imp"
CSTACK(1);
                                                                //   5014              assign (1)
#line 5014 "regression-compile-tmp/vax-pass2.imp"
ASSIGN(1);
                                                                //   5015              set lhs;  lhs_type = strings;  lhs_format = 2
#line 5015 "regression-compile-tmp/vax-pass2.imp"
SETLHS();
#line 5015 "regression-compile-tmp/vax-pass2.imp"
LHS->TYPE = 64;
#line 5015 "regression-compile-tmp/vax-pass2.imp"
LHS->FORMAT = 2;
                                                                //   5016              %return
#line 5016 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5017        pri(18):                                 !charno
#line 5017 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_18:;
                                                                //   5018              %if control&str check # 0 %start
#line 5018 "regression-compile-tmp/vax-pass2.imp"
if (((((CONTROL) & (2))) == (0))) goto L_0429;
                                                                //   5019                 load (lhs, r0);  release (r0);  ! string address
#line 5019 "regression-compile-tmp/vax-pass2.imp"
LOAD(LHS, 1);
#line 5019 "regression-compile-tmp/vax-pass2.imp"
RELEASE(1);
                                                                //   5020                 lrd  (rhs, r1);                 ! character #
#line 5020 "regression-compile-tmp/vax-pass2.imp"
LRD(RHS, 2);
                                                                //   5021                 prim (char num)
#line 5021 "regression-compile-tmp/vax-pass2.imp"
PRIM(24);
                                                                //   5022                 claim (r0)
#line 5022 "regression-compile-tmp/vax-pass2.imp"
CLAIM(1);
                                                                //   5023                 lhs_form = v in s;  lhs_length = 1
#line 5023 "regression-compile-tmp/vax-pass2.imp"
LHS->FORM = 2;
#line 5023 "regression-compile-tmp/vax-pass2.imp"
LHS->LENGTH = 1;
                                                                //   5024                 lhs_type = byte+integers
#line 5024 "regression-compile-tmp/vax-pass2.imp"
LHS->TYPE = 18;
                                                                //   5025                 %return
#line 5025 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5026              %finish
#line 5026 "regression-compile-tmp/vax-pass2.imp"
L_0429:;
                                                                //   5027              dstack (rhs);   drop (rhs)
#line 5027 "regression-compile-tmp/vax-pass2.imp"
DSTACK(RHS);
#line 5027 "regression-compile-tmp/vax-pass2.imp"
DROP(RHS);
                                                                //   5028              operate (add);  set lhs
#line 5028 "regression-compile-tmp/vax-pass2.imp"
OPERATE(9);
#line 5028 "regression-compile-tmp/vax-pass2.imp"
SETLHS();
                                                                //   5029        pri(17):                                 !length
#line 5029 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_17:;
                                                                //   5030              vmap (lhs)
#line 5030 "regression-compile-tmp/vax-pass2.imp"
VMAP(LHS);
                                                                //   5031              lhs_type = byte+integers
#line 5031 "regression-compile-tmp/vax-pass2.imp"
LHS->TYPE = 18;
                                                                //   5032              lhs_length = 1
#line 5032 "regression-compile-tmp/vax-pass2.imp"
LHS->LENGTH = 1;
                                                                //   5033              %return
#line 5033 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5034        pri(19):                                 !rem
#line 5034 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_19:;
                                                                //   5035              dstack (rhs);  drop (rhs)
#line 5035 "regression-compile-tmp/vax-pass2.imp"
DSTACK(RHS);
#line 5035 "regression-compile-tmp/vax-pass2.imp"
DROP(RHS);
                                                                //   5036              operate (remy)
#line 5036 "regression-compile-tmp/vax-pass2.imp"
OPERATE(28);
                                                                //   5037              set lhs
#line 5037 "regression-compile-tmp/vax-pass2.imp"
SETLHS();
                                                                //   5038        pri(16):                                 !float
#line 5038 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_16:;
                                                                //   5039              %return;                           ! already done by ASSIGN!
#line 5039 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5040        pri(24):                                 !PUT
#line 5040 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_24:;
                                                                //   5041        pri(25):                                 !PUT WORD
#line 5041 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_25:;
                                                                //   5042        pri(26):                                 !PUT LONG
#line 5042 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_26:;
                                                                //   5043        pri(27):                                 !GET (%integername b)
#line 5043 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_27:;
                                                                //   5044        pri(30):                                 !PUT BLOCK
#line 5044 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_30:;
                                                                //   5045        pri(31):                                 !GET BLOCK
#line 5045 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_31:;
                                                                //   5046              stp = stp - 1;                     ! no result
#line 5046 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   5047              lrd (lhs, r0)
#line 5047 "regression-compile-tmp/vax-pass2.imp"
LRD(LHS, 1);
                                                                //   5048              lrd (rhs, r1) %if pn >= 30
#line 5048 "regression-compile-tmp/vax-pass2.imp"
if (((PN) < (30))) goto L_042a;
#line 5048 "regression-compile-tmp/vax-pass2.imp"
LRD(RHS, 2);
#line 5048 "regression-compile-tmp/vax-pass2.imp"
L_042a:;
                                                                //   5049              hazard (reg) %for reg = r0, 1, r10
#line 5049 "regression-compile-tmp/vax-pass2.imp"
REG = 0;
if ((((11)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle REG = 1, 1, 11");
L_042b:;
if (REG == 11) goto L_042c;
REG += 1;
#line 5049 "regression-compile-tmp/vax-pass2.imp"
HAZARD(REG);
#line 5049 "regression-compile-tmp/vax-pass2.imp"
goto L_042b;
#line 5049 "regression-compile-tmp/vax-pass2.imp"
L_042c:;
                                                                //   5050              v_form = v in s;  plant1 (jsb, v);  drop (v)
#line 5050 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 2;
#line 5050 "regression-compile-tmp/vax-pass2.imp"
PLANT1(15, V);
#line 5050 "regression-compile-tmp/vax-pass2.imp"
DROP(V);
                                                                //   5051              %return
#line 5051 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5052        pri(28):                                 !GET WORD ()
#line 5052 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_28:;
                                                                //   5053        pri(29):                                 !GET LONG ()
#line 5053 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_29:;
                                                                //   5054              hazard (reg) %for reg = r0, 1, r10
#line 5054 "regression-compile-tmp/vax-pass2.imp"
REG = 0;
if ((((11)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle REG = 1, 1, 11");
L_042e:;
if (REG == 11) goto L_042f;
REG += 1;
#line 5054 "regression-compile-tmp/vax-pass2.imp"
HAZARD(REG);
#line 5054 "regression-compile-tmp/vax-pass2.imp"
goto L_042e;
#line 5054 "regression-compile-tmp/vax-pass2.imp"
L_042f:;
                                                                //   5055              v_form = v in s;  plant1 (jsb, v);  drop (v)
#line 5055 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 2;
#line 5055 "regression-compile-tmp/vax-pass2.imp"
PLANT1(15, V);
#line 5055 "regression-compile-tmp/vax-pass2.imp"
DROP(V);
                                                                //   5056              dstack (regv(r0));  claim (r0);    ! The result
#line 5056 "regression-compile-tmp/vax-pass2.imp"
DSTACK(&(REGV-1)[1]);
#line 5056 "regression-compile-tmp/vax-pass2.imp"
CLAIM(1);
                                                                //   5057              %return
#line 5057 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
                                                                //   5058        pri(23):                                 !printstring
#line 5058 "regression-compile-tmp/vax-pass2.imp"
sw9_PRI_23:;
                                                                //   5059              ! main point of this is to prevent loading
                                                                //   5060              ! parameter into work string..
                                                                //   5061              ! (pity if it's there already!)
                                                                //   5062              stp = stp - 1
#line 5062 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   5063              v_link == lhs;  lhs_link == null
#line 5063 "regression-compile-tmp/vax-pass2.imp"
V->LINK = LHS;
#line 5063 "regression-compile-tmp/vax-pass2.imp"
LHS->LINK = NULL;
                                                                //   5064              %if lhs_type = strings %start
#line 5064 "regression-compile-tmp/vax-pass2.imp"
if (((LHS->TYPE) != (64))) goto L_0431;
                                                                //   5065                 ! Not already in work string - hurrah!
                                                                //   5066                 address (lhs)
#line 5066 "regression-compile-tmp/vax-pass2.imp"
ADDRESS(LHS);
                                                                //   5067                 test assigned (lhs)
#line 5067 "regression-compile-tmp/vax-pass2.imp"
TESTASSIGNED(LHS);
                                                                //   5068                 amap (lhs);                     ! now integer (av in s)
#line 5068 "regression-compile-tmp/vax-pass2.imp"
AMAP(LHS);
                                                                //   5069              %finish
#line 5069 "regression-compile-tmp/vax-pass2.imp"
L_0431:;
                                                                //   5070           %finish
#line 5070 "regression-compile-tmp/vax-pass2.imp"
L_041a:;
                                                                //   5071  
                                                                //   5072           n = 0
#line 5072 "regression-compile-tmp/vax-pass2.imp"
N = 0;
                                                                //   5073           t == v_link
#line 5073 "regression-compile-tmp/vax-pass2.imp"
T = V->LINK;
                                                                //   5074           %while t ## null %cycle
#line 5074 "regression-compile-tmp/vax-pass2.imp"
L_0432:;
#line 5074 "regression-compile-tmp/vax-pass2.imp"
if (((T) == (NULL))) goto L_0433;
                                                                //   5075              p == t_link
#line 5075 "regression-compile-tmp/vax-pass2.imp"
P = T->LINK;
                                                                //   5076              push (t, n)
#line 5076 "regression-compile-tmp/vax-pass2.imp"
PUSH(T, &N);
                                                                //   5077              t == p
#line 5077 "regression-compile-tmp/vax-pass2.imp"
T = P;
                                                                //   5078           %repeat
#line 5078 "regression-compile-tmp/vax-pass2.imp"
goto L_0432;
#line 5078 "regression-compile-tmp/vax-pass2.imp"
L_0433:;
                                                                //   5079           %if v_type&(strings!records) # 0 %and
#line 5079 "regression-compile-tmp/vax-pass2.imp"
if (((((V->TYPE) & (((64) | (128))))) == (0))) goto L_0435;
#line 5079 "regression-compile-tmp/vax-pass2.imp"
if (((((V->FORM) & (15))) != (1))) goto L_0435;
                                                                //   5080               v_form&15 = v in r    %start;          !stringfn
                                                                //   5081              %if v_type&strings # 0 %then p == work string %c
#line 5081 "regression-compile-tmp/vax-pass2.imp"
if (((((V->TYPE) & (64))) == (0))) goto L_0436;
#line 5081 "regression-compile-tmp/vax-pass2.imp"
P = WORKSTRING();
#line 5081 "regression-compile-tmp/vax-pass2.imp"
goto L_0437;
#line 5081 "regression-compile-tmp/vax-pass2.imp"
L_0436:;
#line 5081 "regression-compile-tmp/vax-pass2.imp"
P = TEMP(VAR[V->FORMAT].LENGTH);
#line 5081 "regression-compile-tmp/vax-pass2.imp"
L_0437:;
                                                                //   5082                                     %else p == temp(var(v_format)_length)
                                                                //   5083              p_type = integers
#line 5083 "regression-compile-tmp/vax-pass2.imp"
P->TYPE = 16;
                                                                //   5084              plant1 (pushal, p)
#line 5084 "regression-compile-tmp/vax-pass2.imp"
PLANT1(4136, P);
                                                                //   5085              p_type = strings!4;      !already in a work string
#line 5085 "regression-compile-tmp/vax-pass2.imp"
P->TYPE = ((64) | (4));
                                                                //   5086              p_type = records %if v_type = records
#line 5086 "regression-compile-tmp/vax-pass2.imp"
if (((V->TYPE) != (128))) goto L_0438;
#line 5086 "regression-compile-tmp/vax-pass2.imp"
P->TYPE = 128;
#line 5086 "regression-compile-tmp/vax-pass2.imp"
L_0438:;
                                                                //   5087              p_format = v_format
#line 5087 "regression-compile-tmp/vax-pass2.imp"
P->FORMAT = V->FORMAT;
                                                                //   5088              v_type = 0;  type = 0
#line 5088 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = 0;
#line 5088 "regression-compile-tmp/vax-pass2.imp"
TYPE = 0;
                                                                //   5089              n = n + 1;                !an extra hidden parameter
#line 5089 "regression-compile-tmp/vax-pass2.imp"
N = (((int)(N)) + (1));
                                                                //   5090           %finish
#line 5090 "regression-compile-tmp/vax-pass2.imp"
L_0435:;
                                                                //   5091           hazard (reg) %for reg = r0, 1, r10
#line 5091 "regression-compile-tmp/vax-pass2.imp"
REG = 0;
if ((((11)-(1)) % (1)) != 0) _imp_signal(5,1,0,"Illegal cycle REG = 1, 1, 11");
L_0439:;
if (REG == 11) goto L_043a;
REG += 1;
#line 5091 "regression-compile-tmp/vax-pass2.imp"
HAZARD(REG);
#line 5091 "regression-compile-tmp/vax-pass2.imp"
goto L_0439;
#line 5091 "regression-compile-tmp/vax-pass2.imp"
L_043a:;
                                                                //   5092           %if v_base # pc %start;                        !parameter
#line 5092 "regression-compile-tmp/vax-pass2.imp"
if (((V->BASE) == (16))) goto L_043c;
                                                                //   5093              v_type = integers;  v_form = v in s
#line 5093 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = 16;
#line 5093 "regression-compile-tmp/vax-pass2.imp"
V->FORM = 2;
                                                                //   5094              plant2 (movl, v, regv(r1))
#line 5094 "regression-compile-tmp/vax-pass2.imp"
PLANT2(8968, V, &(REGV-1)[2]);
                                                                //   5095              primep (proc enter)
#line 5095 "regression-compile-tmp/vax-pass2.imp"
PRIMEP(13);
                                                                //   5096              plant1 (calls,literal(n)); popdrop
#line 5096 "regression-compile-tmp/vax-pass2.imp"
PLANT1(7, LITERAL(N));
#line 5096 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
                                                                //   5097              flush code
#line 5097 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
                                                                //   5098              put (obj prim ref); put (proc enter); ca=ca+5
#line 5098 "regression-compile-tmp/vax-pass2.imp"
PUT(24);
#line 5098 "regression-compile-tmp/vax-pass2.imp"
PUT(13);
#line 5098 "regression-compile-tmp/vax-pass2.imp"
CA = (((int)(CA)) + (5));
                                                                //   5099           %else %if v_xno # 0
#line 5099 "regression-compile-tmp/vax-pass2.imp"
goto L_043d;
#line 5099 "regression-compile-tmp/vax-pass2.imp"
L_043c:;
#line 5099 "regression-compile-tmp/vax-pass2.imp"
if (((V->XNO) == (0))) goto L_043e;
                                                                //   5100              ec = v
#line 5100 "regression-compile-tmp/vax-pass2.imp"
EC = *V;
                                                                //   5101              ec_form = v in s
#line 5101 "regression-compile-tmp/vax-pass2.imp"
EC.FORM = 2;
                                                                //   5102              plant2 (calls, literal(n), ec); popdrop
#line 5102 "regression-compile-tmp/vax-pass2.imp"
PLANT2(7, LITERAL(N), &EC);
#line 5102 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
                                                                //   5103           %else
#line 5103 "regression-compile-tmp/vax-pass2.imp"
goto L_043d;
#line 5103 "regression-compile-tmp/vax-pass2.imp"
L_043e:;
                                                                //   5104              plant1 (calls, literal(n));  pop drop;  !second operand set in p3
#line 5104 "regression-compile-tmp/vax-pass2.imp"
PLANT1(7, LITERAL(N));
#line 5104 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
                                                                //   5105              flush code
#line 5105 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
                                                                //   5106              define reference (disp, dir pref)
#line 5106 "regression-compile-tmp/vax-pass2.imp"
DEFINEREFERENCE(DISP, 3);
                                                                //   5107              put (obj call);  put long (disp)
#line 5107 "regression-compile-tmp/vax-pass2.imp"
PUT(11);
#line 5107 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(DISP);
                                                                //   5108              ca = ca + 2;            !assume short
#line 5108 "regression-compile-tmp/vax-pass2.imp"
CA = (((int)(CA)) + (2));
                                                                //   5109           %finish
#line 5109 "regression-compile-tmp/vax-pass2.imp"
L_043d:;
                                                                //   5110           %if type # 0 %start;                        !There's a result
#line 5110 "regression-compile-tmp/vax-pass2.imp"
if (((TYPE) == (0))) goto L_043f;
                                                                //   5111              v_type = type;  v_form = form
#line 5111 "regression-compile-tmp/vax-pass2.imp"
V->TYPE = TYPE;
#line 5111 "regression-compile-tmp/vax-pass2.imp"
V->FORM = FORM;
                                                                //   5112              v_base = r0;  v_disp = 0; v_xno = 0
#line 5112 "regression-compile-tmp/vax-pass2.imp"
V->BASE = 1;
#line 5112 "regression-compile-tmp/vax-pass2.imp"
V->DISP = 0;
#line 5112 "regression-compile-tmp/vax-pass2.imp"
V->XNO = 0;
                                                                //   5113              claim (r0);  dstack (v)
#line 5113 "regression-compile-tmp/vax-pass2.imp"
CLAIM(1);
#line 5113 "regression-compile-tmp/vax-pass2.imp"
DSTACK(V);
                                                                //   5114           %finish
#line 5114 "regression-compile-tmp/vax-pass2.imp"
L_043f:;
                                                                //   5115           drop (v)
#line 5115 "regression-compile-tmp/vax-pass2.imp"
DROP(V);
                                                                //   5116        %end
#line 5116 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block CALL at level 3
                                                                //   5117  
                                                                //   5118   !sundries
                                                                //   5119  
                                                                //   5120        %routine  SET LANGUAGE
#line 5120 "regression-compile-tmp/vax-pass2.imp"
void SETLANGUAGE( void )
#line 5120 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   5121           %integer  l
#line 5121 "regression-compile-tmp/vax-pass2.imp"
int L;
                                                                //   5122           l = getword;                                !ignore!!!
#line 5122 "regression-compile-tmp/vax-pass2.imp"
L = GETWORD();
                                                                //   5123        %end
#line 5123 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETLANGUAGE at level 3
                                                                //   5124  
                                                                //   5125        %routine  SET DIAG
#line 5125 "regression-compile-tmp/vax-pass2.imp"
void SETDIAG( void )
#line 5125 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   5126           %integer  new diag = getword
#line 5126 "regression-compile-tmp/vax-pass2.imp"
int NEWDIAG;
#line 5126 "regression-compile-tmp/vax-pass2.imp"
NEWDIAG = GETWORD();
                                                                //   5127           diag = new diag&16_3FFF %if new diag&(3<<14) = 2<<14
#line 5127 "regression-compile-tmp/vax-pass2.imp"
if (((((NEWDIAG) & (((3) << (14))))) != (((2) << (14))))) goto L_0440;
#line 5127 "regression-compile-tmp/vax-pass2.imp"
DIAG = ((NEWDIAG) & (16383));
#line 5127 "regression-compile-tmp/vax-pass2.imp"
L_0440:;
                                                                //   5128        %end
#line 5128 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETDIAG at level 3
                                                                //   5129  
                                                                //   5130        %routine  SET CONTROL
#line 5130 "regression-compile-tmp/vax-pass2.imp"
void SETCONTROL( void )
#line 5130 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   5131           %integer  new control
#line 5131 "regression-compile-tmp/vax-pass2.imp"
int NEWCONTROL;
                                                                //   5132           ! Don't allow %control to turn on things
                                                                //   5133           ! which were turned off by command line
                                                                //   5134           ! (except for record rounding).
                                                                //   5135           new control = get word
#line 5135 "regression-compile-tmp/vax-pass2.imp"
NEWCONTROL = GETWORD();
                                                                //   5136           control = new control & (original control!rec round)
#line 5136 "regression-compile-tmp/vax-pass2.imp"
CONTROL = ((NEWCONTROL) & (((ORIGINALCONTROL) | (128))));
                                                                //   5137        %end
#line 5137 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETCONTROL at level 3
                                                                //   5138  
                                                                //   5139        %routine  LINE BOUND
#line 5139 "regression-compile-tmp/vax-pass2.imp"
void LINEBOUND( void )
#line 5139 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   5140           ! Perform consistency checks and update line counter
                                                                //   5141           abort (23) %if stp # 0
#line 5141 "regression-compile-tmp/vax-pass2.imp"
if (((STP) == (0))) goto L_0441;
#line 5141 "regression-compile-tmp/vax-pass2.imp"
ABORT(23);
#line 5141 "regression-compile-tmp/vax-pass2.imp"
L_0441:;
                                                                //   5142           abort (24) %unless using_link == null
#line 5142 "regression-compile-tmp/vax-pass2.imp"
if (((USING.LINK) == (NULL))) goto L_0442;
#line 5142 "regression-compile-tmp/vax-pass2.imp"
ABORT(24);
#line 5142 "regression-compile-tmp/vax-pass2.imp"
L_0442:;
                                                                //   5143           abort (25) %if active regs # 0
#line 5143 "regression-compile-tmp/vax-pass2.imp"
if (((ACTIVEREGS) == (0))) goto L_0443;
#line 5143 "regression-compile-tmp/vax-pass2.imp"
ABORT(25);
#line 5143 "regression-compile-tmp/vax-pass2.imp"
L_0443:;
                                                                //   5144           abort (39) %if index regs # 0
#line 5144 "regression-compile-tmp/vax-pass2.imp"
if (((INDEXREGS) == (0))) goto L_0444;
#line 5144 "regression-compile-tmp/vax-pass2.imp"
ABORT(39);
#line 5144 "regression-compile-tmp/vax-pass2.imp"
L_0444:;
                                                                //   5145           flush code;  current line = getword
#line 5145 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
#line 5145 "regression-compile-tmp/vax-pass2.imp"
CURRENTLINE = GETWORD();
                                                                //   5146           this area = 0;     !return work strings
#line 5146 "regression-compile-tmp/vax-pass2.imp"
THISAREA = 0;
                                                                //   5147           line error = 0
#line 5147 "regression-compile-tmp/vax-pass2.imp"
LINEERROR = 0;
                                                                //   5148           %if diag # 0 %start
#line 5148 "regression-compile-tmp/vax-pass2.imp"
if (((DIAG) == (0))) goto L_0445;
                                                                //   5149              newline
#line 5149 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   5150              print string ("Line ");   write (current line, 0)
#line 5150 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("Line "));
#line 5150 "regression-compile-tmp/vax-pass2.imp"
_imp_WRITE(CURRENTLINE, 0);
                                                                //   5151              newline
#line 5151 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   5152           %finish
#line 5152 "regression-compile-tmp/vax-pass2.imp"
L_0445:;
                                                                //   5153        %end
#line 5153 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block LINEBOUND at level 3
                                                                //   5154  
                                                                //   5155        %routine  EVENT BLOCK
#line 5155 "regression-compile-tmp/vax-pass2.imp"
void EVENTBLOCK( void )
#line 5155 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   5156           %record(stack fm) %name  savesp
#line 5156 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*SAVESP;
                                                                //   5157           events = getword;  get (discard)
#line 5157 "regression-compile-tmp/vax-pass2.imp"
EVENTS = GETWORD();
#line 5157 "regression-compile-tmp/vax-pass2.imp"
GET(&DISCARD);
                                                                //   5158           evlow = getword;                     !finish label
#line 5158 "regression-compile-tmp/vax-pass2.imp"
EVLOW = GETWORD();
                                                                //   5159           evno = evno + 1
#line 5159 "regression-compile-tmp/vax-pass2.imp"
EVNO = (((int)(EVNO)) + (1));
                                                                //   5160           savesp == temp(4);  stp = stp - 1
#line 5160 "regression-compile-tmp/vax-pass2.imp"
SAVESP = TEMP(4);
#line 5160 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
                                                                //   5161           plant2 (movl, regv(sp), savesp);     !preserve stack
#line 5161 "regression-compile-tmp/vax-pass2.imp"
PLANT2(8968, &(REGV-1)[15], SAVESP);
                                                                //   5162           jump to (evlow, jump, 1);  evlow = last ref
#line 5162 "regression-compile-tmp/vax-pass2.imp"
JUMPTO(EVLOW, 0, 1);
#line 5162 "regression-compile-tmp/vax-pass2.imp"
EVLOW = LASTREF;
                                                                //   5163           evep = new tag;  define tag (evep)
#line 5163 "regression-compile-tmp/vax-pass2.imp"
EVEP = NEWTAG();
#line 5163 "regression-compile-tmp/vax-pass2.imp"
DEFINETAG(EVEP);
                                                                //   5164           uncond jump = 0
#line 5164 "regression-compile-tmp/vax-pass2.imp"
UNCONDJUMP = 0;
                                                                //   5165           plant2 (movl, savesp, regv(sp))
#line 5165 "regression-compile-tmp/vax-pass2.imp"
PLANT2(8968, SAVESP, &(REGV-1)[15]);
                                                                //   5166           drop (savesp)
#line 5166 "regression-compile-tmp/vax-pass2.imp"
DROP(SAVESP);
                                                                //   5167        %end
#line 5167 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block EVENTBLOCK at level 3
                                                                //   5168  
                                                                //   5169        %routine  GENERATE SIGNAL
#line 5169 "regression-compile-tmp/vax-pass2.imp"
void GENERATESIGNAL( void )
#line 5169 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   5170           cstack (0) %while stp < 2
#line 5170 "regression-compile-tmp/vax-pass2.imp"
L_0446:;
#line 5170 "regression-compile-tmp/vax-pass2.imp"
if (((STP) >= (2))) goto L_0447;
#line 5170 "regression-compile-tmp/vax-pass2.imp"
CSTACK(0);
#line 5170 "regression-compile-tmp/vax-pass2.imp"
goto L_0446;
#line 5170 "regression-compile-tmp/vax-pass2.imp"
L_0447:;
                                                                //   5171           cstack (getword)
#line 5171 "regression-compile-tmp/vax-pass2.imp"
CSTACK(GETWORD());
                                                                //   5172           pop lhs;  load (lhs, r0);  drop (lhs)
#line 5172 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
#line 5172 "regression-compile-tmp/vax-pass2.imp"
LOAD(LHS, 1);
#line 5172 "regression-compile-tmp/vax-pass2.imp"
DROP(LHS);
                                                                //   5173           pop lhs;  load (lhs, r2);  drop (lhs)
#line 5173 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
#line 5173 "regression-compile-tmp/vax-pass2.imp"
LOAD(LHS, 3);
#line 5173 "regression-compile-tmp/vax-pass2.imp"
DROP(LHS);
                                                                //   5174           pop lhs;  load (lhs, r1);  drop (lhs)
#line 5174 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
#line 5174 "regression-compile-tmp/vax-pass2.imp"
LOAD(LHS, 2);
#line 5174 "regression-compile-tmp/vax-pass2.imp"
DROP(LHS);
                                                                //   5175           release (r0);  release (r1);  release (r2)
#line 5175 "regression-compile-tmp/vax-pass2.imp"
RELEASE(1);
#line 5175 "regression-compile-tmp/vax-pass2.imp"
RELEASE(2);
#line 5175 "regression-compile-tmp/vax-pass2.imp"
RELEASE(3);
                                                                //   5176           prim (signal)
#line 5176 "regression-compile-tmp/vax-pass2.imp"
PRIM(16);
                                                                //   5177           uncond jump = ca
#line 5177 "regression-compile-tmp/vax-pass2.imp"
UNCONDJUMP = CA;
                                                                //   5178        %end
#line 5178 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block GENERATESIGNAL at level 3
                                                                //   5179  
                                                                //   5180        %routine  SET BOUNDS
#line 5180 "regression-compile-tmp/vax-pass2.imp"
void SETBOUNDS( void )
#line 5180 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   5181           set both
#line 5181 "regression-compile-tmp/vax-pass2.imp"
SETBOTH();
                                                                //   5182           vlb = lhs_disp;  vub = rhs_disp
#line 5182 "regression-compile-tmp/vax-pass2.imp"
VLB = LHS->DISP;
#line 5182 "regression-compile-tmp/vax-pass2.imp"
VUB = RHS->DISP;
                                                                //   5183           pop drop;   pop drop
#line 5183 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
#line 5183 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
                                                                //   5184        %end
#line 5184 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block SETBOUNDS at level 3
                                                                //   5185  
                                                                //   5186        %routine  DECLARE ARRAY
#line 5186 "regression-compile-tmp/vax-pass2.imp"
void DECLAREARRAY( void )
#line 5186 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   5187           %record(stackfm)  d
#line 5187 "regression-compile-tmp/vax-pass2.imp"
 STACKFM D;
                                                                //   5188           %integer  dim, arrays, sp, j, hdisp, dv
#line 5188 "regression-compile-tmp/vax-pass2.imp"
int DIM;
#line 5188 "regression-compile-tmp/vax-pass2.imp"
int ARRAYS;
#line 5188 "regression-compile-tmp/vax-pass2.imp"
int SP;
#line 5188 "regression-compile-tmp/vax-pass2.imp"
int J;
#line 5188 "regression-compile-tmp/vax-pass2.imp"
int HDISP;
#line 5188 "regression-compile-tmp/vax-pass2.imp"
int DV;
                                                                //   5189           dim = getword;  get (discard)
#line 5189 "regression-compile-tmp/vax-pass2.imp"
DIM = GETWORD();
#line 5189 "regression-compile-tmp/vax-pass2.imp"
GET(&DISCARD);
                                                                //   5190           arrays = getword;    !how many
#line 5190 "regression-compile-tmp/vax-pass2.imp"
ARRAYS = GETWORD();
                                                                //   5191           %if gmode # 0 %start
#line 5191 "regression-compile-tmp/vax-pass2.imp"
if (((GMODE) == (0))) goto L_0449;
                                                                //   5192              parms = parms + arrays
#line 5192 "regression-compile-tmp/vax-pass2.imp"
PARMS = (((int)(PARMS)) + (ARRAYS));
                                                                //   5193              set both
#line 5193 "regression-compile-tmp/vax-pass2.imp"
SETBOTH();
                                                                //   5194              vlb = lhs_disp;  vub = rhs_disp
#line 5194 "regression-compile-tmp/vax-pass2.imp"
VLB = LHS->DISP;
#line 5194 "regression-compile-tmp/vax-pass2.imp"
VUB = RHS->DISP;
                                                                //   5195              abort (22) %if vlb > vub+1
#line 5195 "regression-compile-tmp/vax-pass2.imp"
if (((VLB) <= ((((int)(VUB)) + (1))))) goto L_044a;
#line 5195 "regression-compile-tmp/vax-pass2.imp"
ABORT(22);
#line 5195 "regression-compile-tmp/vax-pass2.imp"
L_044a:;
                                                                //   5196              set dope vector (dv)
#line 5196 "regression-compile-tmp/vax-pass2.imp"
SETDOPEVECTOR(&DV);
                                                                //   5197              stp = stp - 2
#line 5197 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (2));
                                                                //   5198              drop (rhs);  drop (lhs)
#line 5198 "regression-compile-tmp/vax-pass2.imp"
DROP(RHS);
#line 5198 "regression-compile-tmp/vax-pass2.imp"
DROP(LHS);
                                                                //   5199           %else
#line 5199 "regression-compile-tmp/vax-pass2.imp"
goto L_044b;
#line 5199 "regression-compile-tmp/vax-pass2.imp"
L_0449:;
                                                                //   5200              names = names - arrays
#line 5200 "regression-compile-tmp/vax-pass2.imp"
NAMES = (((int)(NAMES)) - (ARRAYS));
                                                                //   5201              set both
#line 5201 "regression-compile-tmp/vax-pass2.imp"
SETBOTH();
                                                                //   5202              %if dim = 1 %and const (lhs) %and const (rhs) %and
#line 5202 "regression-compile-tmp/vax-pass2.imp"
if (((DIM) != (1))) goto L_044c;
#line 5202 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(LHS))) goto L_044c;
#line 5202 "regression-compile-tmp/vax-pass2.imp"
if (!(CONST(RHS))) goto L_044c;
#line 5202 "regression-compile-tmp/vax-pass2.imp"
if ((((((int)(RHS->DISP)) + (1))) < (LHS->DISP))) goto L_044c;
                                                                //   5203                  rhs_disp+1 >= lhs_disp  %start
                                                                //   5204                 !can alocate in-line - trap array-inside-out at run time..??
                                                                //   5205                 vlb = lhs_disp;  vub = rhs_disp
#line 5205 "regression-compile-tmp/vax-pass2.imp"
VLB = LHS->DISP;
#line 5205 "regression-compile-tmp/vax-pass2.imp"
VUB = RHS->DISP;
                                                                //   5206                 stp = stp - 2;               !unstack them
#line 5206 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (2));
                                                                //   5207                 drop (rhs);  drop (lhs)
#line 5207 "regression-compile-tmp/vax-pass2.imp"
DROP(RHS);
#line 5207 "regression-compile-tmp/vax-pass2.imp"
DROP(LHS);
                                                                //   5208                 frame = (frame-arrays*8)&(\3)
#line 5208 "regression-compile-tmp/vax-pass2.imp"
FRAME = ((((FRAME) - ((int)((((int)(ARRAYS)) * (8)))))) & ((~(3))));
                                                                //   5209                 hdisp = frame
#line 5209 "regression-compile-tmp/vax-pass2.imp"
HDISP = FRAME;
                                                                //   5210                 dim = 0;                     !for a marker
#line 5210 "regression-compile-tmp/vax-pass2.imp"
DIM = 0;
                                                                //   5211                 set dope vector (dv)
#line 5211 "regression-compile-tmp/vax-pass2.imp"
SETDOPEVECTOR(&DV);
                                                                //   5212                 zeroth_base = local
#line 5212 "regression-compile-tmp/vax-pass2.imp"
ZEROTH.BASE = LOCAL;
                                                                //   5213                 dope_disp = dv
#line 5213 "regression-compile-tmp/vax-pass2.imp"
DOPE.DISP = DV;
                                                                //   5214                 head_base = local;  head_disp = hdisp
#line 5214 "regression-compile-tmp/vax-pass2.imp"
HEAD.BASE = LOCAL;
#line 5214 "regression-compile-tmp/vax-pass2.imp"
HEAD.DISP = HDISP;
                                                                //   5215              %else
#line 5215 "regression-compile-tmp/vax-pass2.imp"
goto L_044d;
#line 5215 "regression-compile-tmp/vax-pass2.imp"
L_044c:;
                                                                //   5216                 frame = (frame-dim*12)&(\3)-4
#line 5216 "regression-compile-tmp/vax-pass2.imp"
FRAME = (((int)(((((FRAME) - ((int)((((int)(DIM)) * (12)))))) & ((~(3)))))) - (4));
                                                                //   5217                 lstack (frame)
#line 5217 "regression-compile-tmp/vax-pass2.imp"
LSTACK(FRAME);
                                                                //   5218                 pop lhs
#line 5218 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
                                                                //   5219                 d = regv(r4);   hazard (r4)
#line 5219 "regression-compile-tmp/vax-pass2.imp"
D = (REGV-1)[5];
#line 5219 "regression-compile-tmp/vax-pass2.imp"
HAZARD(5);
                                                                //   5220                 plant2 (moval, lhs, d)
#line 5220 "regression-compile-tmp/vax-pass2.imp"
PLANT2(4112, LHS, &D);
                                                                //   5221                 drop (lhs)
#line 5221 "regression-compile-tmp/vax-pass2.imp"
DROP(LHS);
                                                                //   5222                 d_form = v in s;  d_disp = 4-12
#line 5222 "regression-compile-tmp/vax-pass2.imp"
D.FORM = 2;
#line 5222 "regression-compile-tmp/vax-pass2.imp"
D.DISP = (-8);
                                                                //   5223                 %for sp = 2, 2, dim<<1 %cycle
#line 5223 "regression-compile-tmp/vax-pass2.imp"
{static int _initial, _increment, _final, _control;
_initial = 2; _increment = 2; _final = ((DIM) << (1)); SP = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle SP = 2, 2, ((DIM) << (1))");
SP -= _increment; _control -= _increment;
L_044e:;
if (SP == _final) goto L_044f;
SP += _increment; _control += _increment;
if (SP != _control) _imp_signal(4,2,0,"Corrupt control variable SP"); /* FOR loop control variable corrupted */
}
                                                                //   5224                    lhs == stacked(sp-1)
#line 5224 "regression-compile-tmp/vax-pass2.imp"
LHS = STACKED[(((int)((((int)(SP)) - (1)))) - (1))];
                                                                //   5225                    rhs == stacked(sp)
#line 5225 "regression-compile-tmp/vax-pass2.imp"
RHS = STACKED[(((int)(SP)) - (1))];
                                                                //   5226                    claim (r4)
#line 5226 "regression-compile-tmp/vax-pass2.imp"
CLAIM(5);
                                                                //   5227                    lrd (lhs, r1);  lrd (rhs, r2)
#line 5227 "regression-compile-tmp/vax-pass2.imp"
LRD(LHS, 2);
#line 5227 "regression-compile-tmp/vax-pass2.imp"
LRD(RHS, 3);
                                                                //   5228                    d_disp = d_disp+12
#line 5228 "regression-compile-tmp/vax-pass2.imp"
D.DISP = (((int)(D.DISP)) + (12));
                                                                //   5229                    plant2 (movq, regv(r1), d)
#line 5229 "regression-compile-tmp/vax-pass2.imp"
PLANT2(13, &(REGV-1)[2], &D);
                                                                //   5230                 %repeat
#line 5230 "regression-compile-tmp/vax-pass2.imp"
goto L_044e;
#line 5230 "regression-compile-tmp/vax-pass2.imp"
L_044f:;
                                                                //   5231                 prim (set dv)
#line 5231 "regression-compile-tmp/vax-pass2.imp"
PRIM(1);
                                                                //   5232                 word (dim);  word (data size)
#line 5232 "regression-compile-tmp/vax-pass2.imp"
WORD(DIM);
#line 5232 "regression-compile-tmp/vax-pass2.imp"
WORD(DATASIZE);
                                                                //   5233                 stp = 0
#line 5233 "regression-compile-tmp/vax-pass2.imp"
STP = 0;
                                                                //   5234                 frame = frame-arrays*8;  hdisp = frame
#line 5234 "regression-compile-tmp/vax-pass2.imp"
FRAME = ((FRAME) - ((int)((((int)(ARRAYS)) * (8)))));
#line 5234 "regression-compile-tmp/vax-pass2.imp"
HDISP = FRAME;
                                                                //   5235                 lstack (frame);  pop lhs
#line 5235 "regression-compile-tmp/vax-pass2.imp"
LSTACK(FRAME);
#line 5235 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
                                                                //   5236                 plant2 (moval, lhs, regv(r3))
#line 5236 "regression-compile-tmp/vax-pass2.imp"
PLANT2(4112, LHS, &(REGV-1)[4]);
                                                                //   5237                 drop (lhs)
#line 5237 "regression-compile-tmp/vax-pass2.imp"
DROP(LHS);
                                                                //   5238              %finish
#line 5238 "regression-compile-tmp/vax-pass2.imp"
L_044d:;
                                                                //   5239           %finish
#line 5239 "regression-compile-tmp/vax-pass2.imp"
L_044b:;
                                                                //   5240           %for j = 1, 1, arrays %cycle
#line 5240 "regression-compile-tmp/vax-pass2.imp"
{static int _initial, _increment, _final, _control;
_initial = 1; _increment = 1; _final = ARRAYS; J = _control = _initial;
if (((_final-_initial) % _increment) != 0) _imp_signal(5,1,0,"Illegal cycle J = 1, 1, ARRAYS");
J -= _increment; _control -= _increment;
L_0451:;
if (J == _final) goto L_0452;
J += _increment; _control += _increment;
if (J != _control) _imp_signal(4,2,0,"Corrupt control variable J"); /* FOR loop control variable corrupted */
}
                                                                //   5241              %if gmode # 0 %start
#line 5241 "regression-compile-tmp/vax-pass2.imp"
if (((GMODE) == (0))) goto L_0454;
                                                                //   5242                 parms = parms - 1;  decvar == var(parms)
#line 5242 "regression-compile-tmp/vax-pass2.imp"
PARMS = (((int)(PARMS)) - (1));
#line 5242 "regression-compile-tmp/vax-pass2.imp"
DECVAR = &VAR[PARMS];
                                                                //   5243                 decvar_disp = frame;  decvar_zeroad = frame-vlb
#line 5243 "regression-compile-tmp/vax-pass2.imp"
DECVAR->DISP = FRAME;
#line 5243 "regression-compile-tmp/vax-pass2.imp"
DECVAR->ZEROAD = (((int)(FRAME)) - (VLB));
                                                                //   5244                 decvar_header = ga;  decvar_base = 0
#line 5244 "regression-compile-tmp/vax-pass2.imp"
DECVAR->HEADER = GA;
#line 5244 "regression-compile-tmp/vax-pass2.imp"
DECVAR->BASE = 0;
                                                                //   5245                 glongword (-vlb);  glongword (0)
#line 5245 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD((-(VLB)));
#line 5245 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(0);
                                                                //   5246                 flush gla
#line 5246 "regression-compile-tmp/vax-pass2.imp"
FLUSHGLA();
                                                                //   5247                 put (obj reloc); put long (ga-4); put long (dv)
#line 5247 "regression-compile-tmp/vax-pass2.imp"
PUT(8);
#line 5247 "regression-compile-tmp/vax-pass2.imp"
PUTLONG((((int)(GA)) - (4)));
#line 5247 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(DV);
                                                                //   5248                 frame = frame + vub*data size;       !now the total size
#line 5248 "regression-compile-tmp/vax-pass2.imp"
FRAME = ((FRAME) + ((int)((((int)(VUB)) * (DATASIZE)))));
                                                                //   5249              %else
#line 5249 "regression-compile-tmp/vax-pass2.imp"
goto L_0455;
#line 5249 "regression-compile-tmp/vax-pass2.imp"
L_0454:;
                                                                //   5250                 names = names + 1;    decvar == var(names)
#line 5250 "regression-compile-tmp/vax-pass2.imp"
NAMES = (((int)(NAMES)) + (1));
#line 5250 "regression-compile-tmp/vax-pass2.imp"
DECVAR = &VAR[NAMES];
                                                                //   5251                 decvar_base = local;  decvar_header = -1
#line 5251 "regression-compile-tmp/vax-pass2.imp"
DECVAR->BASE = LOCAL;
#line 5251 "regression-compile-tmp/vax-pass2.imp"
DECVAR->HEADER = (-1);
                                                                //   5252                 decvar_disp = hdisp;  hdisp = hdisp+8
#line 5252 "regression-compile-tmp/vax-pass2.imp"
DECVAR->DISP = HDISP;
#line 5252 "regression-compile-tmp/vax-pass2.imp"
HDISP = (((int)(HDISP)) + (8));
                                                                //   5253                 %if dim = 0 %start;                !in-line
#line 5253 "regression-compile-tmp/vax-pass2.imp"
if (((DIM) != (0))) goto L_0456;
                                                                //   5254                    frame = (frame-vub*data size)&(\7)
#line 5254 "regression-compile-tmp/vax-pass2.imp"
FRAME = ((((FRAME) - ((int)((((int)(VUB)) * (DATASIZE)))))) & ((~(7))));
                                                                //   5255                    zeroth_disp = frame-vlb
#line 5255 "regression-compile-tmp/vax-pass2.imp"
ZEROTH.DISP = (((int)(FRAME)) - (VLB));
                                                                //   5256                    decvar_zeroad = frame-vlb; ! zero address for fast access
#line 5256 "regression-compile-tmp/vax-pass2.imp"
DECVAR->ZEROAD = (((int)(FRAME)) - (VLB));
                                                                //   5257                    decvar_header = -2;        ! marker for above detail
#line 5257 "regression-compile-tmp/vax-pass2.imp"
DECVAR->HEADER = (-2);
                                                                //   5258                    plant2 (moval, zeroth, head);  head_disp = head_disp+4
#line 5258 "regression-compile-tmp/vax-pass2.imp"
PLANT2(4112, &ZEROTH, &HEAD);
#line 5258 "regression-compile-tmp/vax-pass2.imp"
HEAD.DISP = (((int)(HEAD.DISP)) + (4));
                                                                //   5259                    plant2 (moval, dope, head);  head_disp = head_disp+4
#line 5259 "regression-compile-tmp/vax-pass2.imp"
PLANT2(4112, &DOPE, &HEAD);
#line 5259 "regression-compile-tmp/vax-pass2.imp"
HEAD.DISP = (((int)(HEAD.DISP)) + (4));
                                                                //   5260                 %else
#line 5260 "regression-compile-tmp/vax-pass2.imp"
goto L_0457;
#line 5260 "regression-compile-tmp/vax-pass2.imp"
L_0456:;
                                                                //   5261                    prim (adec);                     !bumps r3 note
#line 5261 "regression-compile-tmp/vax-pass2.imp"
PRIM(2);
                                                                //   5262                 %finish
#line 5262 "regression-compile-tmp/vax-pass2.imp"
L_0457:;
                                                                //   5263              %finish
#line 5263 "regression-compile-tmp/vax-pass2.imp"
L_0455:;
                                                                //   5264           %repeat
#line 5264 "regression-compile-tmp/vax-pass2.imp"
goto L_0451;
#line 5264 "regression-compile-tmp/vax-pass2.imp"
L_0452:;
                                                                //   5265        %end
#line 5265 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block DECLAREARRAY at level 3
                                                                //   5266  
                                                                //   5267        %routine  RESOLVE
#line 5267 "regression-compile-tmp/vax-pass2.imp"
void RESOLVE( void )
#line 5267 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   5268           !compile a string resolution
                                                                //   5269           ! S -> A.(B).C
                                                                //   5270           %record(stackfm) %name  s, a, b, c
#line 5270 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*S;
#line 5270 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*A;
#line 5270 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*B;
#line 5270 "regression-compile-tmp/vax-pass2.imp"
 STACKFM /*name*/*C;
                                                                //   5271           %integer  flag, sc, bc, acf
#line 5271 "regression-compile-tmp/vax-pass2.imp"
int FLAG;
#line 5271 "regression-compile-tmp/vax-pass2.imp"
int SC;
#line 5271 "regression-compile-tmp/vax-pass2.imp"
int BC;
#line 5271 "regression-compile-tmp/vax-pass2.imp"
int ACF;
                                                                //   5272  
                                                                //   5273           %routine  TEST ASSIGNED (%integer base)
#line 5273 "regression-compile-tmp/vax-pass2.imp"
void TESTASSIGNED( int BASE )
#line 5273 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   5274              put code (opcode(cmpw&255));      ! cmpw
#line 5274 "regression-compile-tmp/vax-pass2.imp"
PUTCODE(OPCODE[((241) & (255))]);
                                                                //   5275              put number byte (16_60+base-1);   ! (base)
#line 5275 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE((((int)((((int)(96)) + (BASE)))) - (1)));
                                                                //   5276              put number byte (16_60+gla-1);    ! (gla)
#line 5276 "regression-compile-tmp/vax-pass2.imp"
PUTNUMBERBYTE(107);
                                                                //   5277              prim (test ass)
#line 5277 "regression-compile-tmp/vax-pass2.imp"
PRIM(3);
                                                                //   5278           %end
#line 5278 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block TESTASSIGNED at level 4
                                                                //   5279  
                                                                //   5280           acf = control&ass check;              ! assignment checking ?
#line 5280 "regression-compile-tmp/vax-pass2.imp"
ACF = ((CONTROL) & (1));
                                                                //   5281           flag = getword;                       !<cond><a present><c present>
#line 5281 "regression-compile-tmp/vax-pass2.imp"
FLAG = GETWORD();
                                                                //   5282           cstack (0) %if flag&1 = 0;            !c missing
#line 5282 "regression-compile-tmp/vax-pass2.imp"
if (((((FLAG) & (1))) != (0))) goto L_0458;
#line 5282 "regression-compile-tmp/vax-pass2.imp"
CSTACK(0);
#line 5282 "regression-compile-tmp/vax-pass2.imp"
L_0458:;
                                                                //   5283           pop lhs;   c == lhs
#line 5283 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
#line 5283 "regression-compile-tmp/vax-pass2.imp"
C = LHS;
                                                                //   5284           pop lhs;   b == lhs;   bc = b_format
#line 5284 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
#line 5284 "regression-compile-tmp/vax-pass2.imp"
B = LHS;
#line 5284 "regression-compile-tmp/vax-pass2.imp"
BC = B->FORMAT;
                                                                //   5285           cstack (0) %if flag&2 = 0;            !a missing
#line 5285 "regression-compile-tmp/vax-pass2.imp"
if (((((FLAG) & (2))) != (0))) goto L_0459;
#line 5285 "regression-compile-tmp/vax-pass2.imp"
CSTACK(0);
#line 5285 "regression-compile-tmp/vax-pass2.imp"
L_0459:;
                                                                //   5286           pop lhs;   a == lhs
#line 5286 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
#line 5286 "regression-compile-tmp/vax-pass2.imp"
A = LHS;
                                                                //   5287           pop lhs;   s == lhs;   sc = s_format
#line 5287 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
#line 5287 "regression-compile-tmp/vax-pass2.imp"
S = LHS;
#line 5287 "regression-compile-tmp/vax-pass2.imp"
SC = S->FORMAT;
                                                                //   5288           lrd (a, r0)
#line 5288 "regression-compile-tmp/vax-pass2.imp"
LRD(A, 1);
                                                                //   5289           lrd (c, r1)
#line 5289 "regression-compile-tmp/vax-pass2.imp"
LRD(C, 2);
                                                                //   5290           lrd (b, r3);  test assigned (r3) %if bc = 0 # acf
#line 5290 "regression-compile-tmp/vax-pass2.imp"
LRD(B, 4);
#line 5290 "regression-compile-tmp/vax-pass2.imp"
if ((((BC) != (0))) || (((0) == (ACF)))) goto L_045a;
#line 5290 "regression-compile-tmp/vax-pass2.imp"
TESTASSIGNED(4);
#line 5290 "regression-compile-tmp/vax-pass2.imp"
L_045a:;
                                                                //   5291           lrd (s, r4);  test assigned (r4) %if sc = 0 # acf
#line 5291 "regression-compile-tmp/vax-pass2.imp"
LRD(S, 5);
#line 5291 "regression-compile-tmp/vax-pass2.imp"
if ((((SC) != (0))) || (((0) == (ACF)))) goto L_045b;
#line 5291 "regression-compile-tmp/vax-pass2.imp"
TESTASSIGNED(5);
#line 5291 "regression-compile-tmp/vax-pass2.imp"
L_045b:;
                                                                //   5292           prim (resolution)
#line 5292 "regression-compile-tmp/vax-pass2.imp"
PRIM(26);
                                                                //   5293           prim (check resolution) %if flag&4 = 0
#line 5293 "regression-compile-tmp/vax-pass2.imp"
if (((((FLAG) & (4))) != (0))) goto L_045c;
#line 5293 "regression-compile-tmp/vax-pass2.imp"
PRIM(6);
#line 5293 "regression-compile-tmp/vax-pass2.imp"
L_045c:;
                                                                //   5294        %end
#line 5294 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block RESOLVE at level 3
                                                                //   5295  
                                                                //   5296        %routine  ADUMP (%integer  times)
#line 5296 "regression-compile-tmp/vax-pass2.imp"
void ADUMP( int TIMES )
#line 5296 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   5297           %integer  j
#line 5297 "regression-compile-tmp/vax-pass2.imp"
int J;
                                                                //   5298           %for j = times-1, -1, 0 %cycle
#line 5298 "regression-compile-tmp/vax-pass2.imp"
J = (((unsigned char)((((int)(TIMES)) - (1)))) + (1));
if ((((0)-((((int)(TIMES)) - (1)))) % ((-1))) != 0) _imp_signal(5,1,0,"Illegal cycle J = (((int)(TIMES)) - (1)), (-1), 0");
L_045d:;
if (J == 0) goto L_045e;
J += (-1);
                                                                //   5299              %if owntype = integers %start
#line 5299 "regression-compile-tmp/vax-pass2.imp"
if (((OWNTYPE) != (16))) goto L_0460;
                                                                //   5300                 glongword (ownval)
#line 5300 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(OWNVAL);
                                                                //   5301              %else %if owntype = byte+integers
#line 5301 "regression-compile-tmp/vax-pass2.imp"
goto L_0461;
#line 5301 "regression-compile-tmp/vax-pass2.imp"
L_0460:;
#line 5301 "regression-compile-tmp/vax-pass2.imp"
if (((OWNTYPE) != (18))) goto L_0462;
                                                                //   5302                 gbyte (ownval)
#line 5302 "regression-compile-tmp/vax-pass2.imp"
GBYTE(OWNVAL);
                                                                //   5303              %else %if owntype = short+integers
#line 5303 "regression-compile-tmp/vax-pass2.imp"
goto L_0461;
#line 5303 "regression-compile-tmp/vax-pass2.imp"
L_0462:;
#line 5303 "regression-compile-tmp/vax-pass2.imp"
if (((OWNTYPE) != (17))) goto L_0463;
                                                                //   5304                 gword (ownval)
#line 5304 "regression-compile-tmp/vax-pass2.imp"
GWORD(OWNVAL);
                                                                //   5305              %else %if owntype = strings
#line 5305 "regression-compile-tmp/vax-pass2.imp"
goto L_0461;
#line 5305 "regression-compile-tmp/vax-pass2.imp"
L_0463:;
#line 5305 "regression-compile-tmp/vax-pass2.imp"
if (((OWNTYPE) != (64))) goto L_0464;
                                                                //   5306                 dump string (data size)
#line 5306 "regression-compile-tmp/vax-pass2.imp"
DUMPSTRING(DATASIZE);
                                                                //   5307              %else %if owntype&real bit # 0
#line 5307 "regression-compile-tmp/vax-pass2.imp"
goto L_0461;
#line 5307 "regression-compile-tmp/vax-pass2.imp"
L_0464:;
#line 5307 "regression-compile-tmp/vax-pass2.imp"
if (((((OWNTYPE) & (32))) == (0))) goto L_0465;
                                                                //   5308                 glongword (ownval)
#line 5308 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(OWNVAL);
                                                                //   5309                 glongword (mantissa) %if owntype = reall
#line 5309 "regression-compile-tmp/vax-pass2.imp"
if (((OWNTYPE) != (36))) goto L_0466;
#line 5309 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(MANTISSA);
#line 5309 "regression-compile-tmp/vax-pass2.imp"
L_0466:;
                                                                //   5310              %else
#line 5310 "regression-compile-tmp/vax-pass2.imp"
goto L_0461;
#line 5310 "regression-compile-tmp/vax-pass2.imp"
L_0465:;
                                                                //   5311                 init gla (data size, 1, 0)
#line 5311 "regression-compile-tmp/vax-pass2.imp"
INITGLA(DATASIZE, 1, 0);
                                                                //   5312              %finish
#line 5312 "regression-compile-tmp/vax-pass2.imp"
L_0461:;
                                                                //   5313           %repeat
#line 5313 "regression-compile-tmp/vax-pass2.imp"
goto L_045d;
#line 5313 "regression-compile-tmp/vax-pass2.imp"
L_045e:;
                                                                //   5314        %end
#line 5314 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ADUMP at level 3
                                                                //   5315  
                                                                //   5316        %routine  INITIALISE OWNS
#line 5316 "regression-compile-tmp/vax-pass2.imp"
void INITIALISEOWNS( void )
#line 5316 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   5317           %integer  aparm = getlong
#line 5317 "regression-compile-tmp/vax-pass2.imp"
int APARM;
#line 5317 "regression-compile-tmp/vax-pass2.imp"
APARM = GETLONG();
                                                                //   5318           %if stp # 0 %start
#line 5318 "regression-compile-tmp/vax-pass2.imp"
if (((STP) == (0))) goto L_0467;
                                                                //   5319              pop lhs
#line 5319 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
                                                                //   5320              ownval = lhs_disp;  mantissa = lhs_mantissa
#line 5320 "regression-compile-tmp/vax-pass2.imp"
OWNVAL = LHS->DISP;
#line 5320 "regression-compile-tmp/vax-pass2.imp"
MANTISSA = LHS->MANTISSA;
                                                                //   5321              drop (lhs)
#line 5321 "regression-compile-tmp/vax-pass2.imp"
DROP(LHS);
                                                                //   5322              %if owntype&real bit # 0 %and
#line 5322 "regression-compile-tmp/vax-pass2.imp"
if (((((OWNTYPE) & (32))) == (0))) goto L_0468;
#line 5322 "regression-compile-tmp/vax-pass2.imp"
if (((((LHS->TYPE) & (32))) != (0))) goto L_0468;
                                                                //   5323                  lhs_type&real bit = 0 %start
                                                                //   5324                 longreal(addr(ownval)) = ownval
#line 5324 "regression-compile-tmp/vax-pass2.imp"
*_imp_LONGREAL(_imp_ADDR(&OWNVAL)) = OWNVAL;
                                                                //   5325              %finish
#line 5325 "regression-compile-tmp/vax-pass2.imp"
L_0468:;
                                                                //   5326           %else
#line 5326 "regression-compile-tmp/vax-pass2.imp"
goto L_0469;
#line 5326 "regression-compile-tmp/vax-pass2.imp"
L_0467:;
                                                                //   5327              ownval = 0;  mantissa = 0;  text = ""
#line 5327 "regression-compile-tmp/vax-pass2.imp"
OWNVAL = 0;
#line 5327 "regression-compile-tmp/vax-pass2.imp"
MANTISSA = 0;
#line 5327 "regression-compile-tmp/vax-pass2.imp"
TEXT = _imp_str_literal("");
                                                                //   5328           %finish
#line 5328 "regression-compile-tmp/vax-pass2.imp"
L_0469:;
                                                                //   5329           %if ownform&array bit # 0 %start
#line 5329 "regression-compile-tmp/vax-pass2.imp"
if (((((OWNFORM) & (32))) == (0))) goto L_046a;
                                                                //   5330              %if (owntype#strings %or text = "") %and
#line 5330 "regression-compile-tmp/vax-pass2.imp"
if (((OWNTYPE) != (64))) goto L_0430;
#line 5330 "regression-compile-tmp/vax-pass2.imp"
if ((_imp_strcmp(TEXT, _imp_str_literal("")) != 0)) goto L_046b;
#line 5330 "regression-compile-tmp/vax-pass2.imp"
L_0430:;
#line 5330 "regression-compile-tmp/vax-pass2.imp"
if (((((OWNTYPE) & (32))) != (0))) goto L_046b;
                                                                //   5331                  owntype&realbit = 0 %start
                                                                //   5332                 %if owntype & integers # 0 %start
#line 5332 "regression-compile-tmp/vax-pass2.imp"
if (((((OWNTYPE) & (16))) == (0))) goto L_046c;
                                                                //   5333                    init gla (aparm, datasize, ownval)
#line 5333 "regression-compile-tmp/vax-pass2.imp"
INITGLA(APARM, DATASIZE, OWNVAL);
                                                                //   5334                 %else
#line 5334 "regression-compile-tmp/vax-pass2.imp"
goto L_046d;
#line 5334 "regression-compile-tmp/vax-pass2.imp"
L_046c:;
                                                                //   5335                    init gla (aparm*datasize, 1, 0)
#line 5335 "regression-compile-tmp/vax-pass2.imp"
INITGLA((((int)(APARM)) * (DATASIZE)), 1, 0);
                                                                //   5336                 %finish
#line 5336 "regression-compile-tmp/vax-pass2.imp"
L_046d:;
                                                                //   5337              %else
#line 5337 "regression-compile-tmp/vax-pass2.imp"
goto L_046e;
#line 5337 "regression-compile-tmp/vax-pass2.imp"
L_046b:;
                                                                //   5338                 adump (aparm)
#line 5338 "regression-compile-tmp/vax-pass2.imp"
ADUMP(APARM);
                                                                //   5339              %finish
#line 5339 "regression-compile-tmp/vax-pass2.imp"
L_046e:;
                                                                //   5340           %else %if otype = 0;                      !const
#line 5340 "regression-compile-tmp/vax-pass2.imp"
goto L_046f;
#line 5340 "regression-compile-tmp/vax-pass2.imp"
L_046a:;
#line 5340 "regression-compile-tmp/vax-pass2.imp"
if (((OTYPE) != (0))) goto L_0470;
                                                                //   5341              decvar_disp = ownval;  decvar_base = 0
#line 5341 "regression-compile-tmp/vax-pass2.imp"
DECVAR->DISP = OWNVAL;
#line 5341 "regression-compile-tmp/vax-pass2.imp"
DECVAR->BASE = 0;
                                                                //   5342              decvar_form = decvar_form-2
#line 5342 "regression-compile-tmp/vax-pass2.imp"
DECVAR->FORM = (((int)(DECVAR->FORM)) - (2));
                                                                //   5343           %else
#line 5343 "regression-compile-tmp/vax-pass2.imp"
goto L_046f;
#line 5343 "regression-compile-tmp/vax-pass2.imp"
L_0470:;
                                                                //   5344              gfix (3)
#line 5344 "regression-compile-tmp/vax-pass2.imp"
GFIX(3);
                                                                //   5345              lput (objddef, ga) %if otype >= 3
#line 5345 "regression-compile-tmp/vax-pass2.imp"
if (((OTYPE) < (3))) goto L_0471;
#line 5345 "regression-compile-tmp/vax-pass2.imp"
LPUT(6, GA);
#line 5345 "regression-compile-tmp/vax-pass2.imp"
L_0471:;
                                                                //   5346              decvar_base = gla;  decvar_disp = ga
#line 5346 "regression-compile-tmp/vax-pass2.imp"
DECVAR->BASE = 12;
#line 5346 "regression-compile-tmp/vax-pass2.imp"
DECVAR->DISP = GA;
                                                                //   5347              adump (1)
#line 5347 "regression-compile-tmp/vax-pass2.imp"
ADUMP(1);
                                                                //   5348              dump diag (1) %if otype # 2
#line 5348 "regression-compile-tmp/vax-pass2.imp"
if (((OTYPE) == (2))) goto L_0472;
#line 5348 "regression-compile-tmp/vax-pass2.imp"
DUMPDIAG(1);
#line 5348 "regression-compile-tmp/vax-pass2.imp"
L_0472:;
                                                                //   5349           %finish
#line 5349 "regression-compile-tmp/vax-pass2.imp"
L_046f:;
                                                                //   5350        %end
#line 5350 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block INITIALISEOWNS at level 3
                                                                //   5351  
                                                                //   5352        %routine  ZERO OWN
#line 5352 "regression-compile-tmp/vax-pass2.imp"
void ZEROOWN( void )
#line 5352 "regression-compile-tmp/vax-pass2.imp"
{
                                                                //   5353           init gla (vub*datasize, 1, 0)
#line 5353 "regression-compile-tmp/vax-pass2.imp"
INITGLA((((int)(VUB)) * (DATASIZE)), 1, 0);
                                                                //   5354        %end
#line 5354 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block ZEROOWN at level 3
                                                                //   5355  
                                                                //   5356  
                                                                //   5357        !======================= main loop =======================
                                                                //   5358  
                                                                //   5359     NEXT:
#line 5359 "regression-compile-tmp/vax-pass2.imp"
U_1009:;
                                                                //   5360        get (sym) %until sym # nl %and sym # ' '
#line 5360 "regression-compile-tmp/vax-pass2.imp"
L_0473:;
#line 5360 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
#line 5360 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) == (10))) goto L_0475;
#line 5360 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (32))) goto L_0474;
#line 5360 "regression-compile-tmp/vax-pass2.imp"
L_0475:;
#line 5360 "regression-compile-tmp/vax-pass2.imp"
goto L_0473;
#line 5360 "regression-compile-tmp/vax-pass2.imp"
L_0474:;
                                                                //   5361        code = sym
#line 5361 "regression-compile-tmp/vax-pass2.imp"
CODE = SYM;
                                                                //   5362        abort (21) %unless ' ' < sym <= 127
#line 5362 "regression-compile-tmp/vax-pass2.imp"
if ((((32) >= (SYM))) || (((SYM) <= (127)))) goto L_0477;
#line 5362 "regression-compile-tmp/vax-pass2.imp"
L_0476:;
#line 5362 "regression-compile-tmp/vax-pass2.imp"
ABORT(21);
#line 5362 "regression-compile-tmp/vax-pass2.imp"
L_0477:;
                                                                //   5363        %if diag & 2048 # 0 %and sym # 'O' %start
#line 5363 "regression-compile-tmp/vax-pass2.imp"
if (((((DIAG) & (2048))) == (0))) goto L_0478;
#line 5363 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) == (79))) goto L_0478;
                                                                //   5364           print string ("Sym='"); print symbol (sym)
#line 5364 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSTRING(_imp_str_literal("Sym='"));
#line 5364 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSYMBOL(SYM);
                                                                //   5365           print symbol ('''');  newline
#line 5365 "regression-compile-tmp/vax-pass2.imp"
_imp_PRINTSYMBOL(39);
#line 5365 "regression-compile-tmp/vax-pass2.imp"
_imp_NEWLINE();
                                                                //   5366        %finish
#line 5366 "regression-compile-tmp/vax-pass2.imp"
L_0478:;
                                                                //   5367        -> c(code)
#line 5367 "regression-compile-tmp/vax-pass2.imp"
sw4_C_idx = CODE; if ((32 <= sw4_C_idx) && (sw4_C_idx <= 127)) goto *(sw4_C-32)[sw4_C_idx];  /* Bounds=32:127 */ else {
   /*_imp_signal(8, 2, sw4_C_idx);*/
   fprintf(stderr, "%%SWITCH index C(%d) not in range 32:127 at %s:%d\n",
           sw4_C_idx, (_imp_current_file != 0 ? _imp_current_file : __FILE__),
           (_imp_current_line != 0 ? _imp_current_line : __LINE__));
           exit(1);
}
                                                                //   5368     c(*): abort (21);           !illegal code item
#line 5368 "regression-compile-tmp/vax-pass2.imp"
sw4_C_default:;
#line 5368 "regression-compile-tmp/vax-pass2.imp"
ABORT(21);
                                                                //   5369  
                                                                //   5370     c('k'):code = 1;       -> testit
#line 5370 "regression-compile-tmp/vax-pass2.imp"
sw4_C_107:;
#line 5370 "regression-compile-tmp/vax-pass2.imp"
CODE = 1;
#line 5370 "regression-compile-tmp/vax-pass2.imp"
goto U_100a;
                                                                //   5371     c('t'):code = 6;       -> testit
#line 5371 "regression-compile-tmp/vax-pass2.imp"
sw4_C_116:;
#line 5371 "regression-compile-tmp/vax-pass2.imp"
CODE = 6;
#line 5371 "regression-compile-tmp/vax-pass2.imp"
goto U_100a;
                                                                //   5372     c('='):code = 1;       -> jmp
#line 5372 "regression-compile-tmp/vax-pass2.imp"
sw4_C_61:;
#line 5372 "regression-compile-tmp/vax-pass2.imp"
CODE = 1;
#line 5372 "regression-compile-tmp/vax-pass2.imp"
goto U_100b;
                                                                //   5373     c('<'):code = 2;       -> jmp
#line 5373 "regression-compile-tmp/vax-pass2.imp"
sw4_C_60:;
#line 5373 "regression-compile-tmp/vax-pass2.imp"
CODE = 2;
#line 5373 "regression-compile-tmp/vax-pass2.imp"
goto U_100b;
                                                                //   5374     c('('):code = 3;       -> jmp
#line 5374 "regression-compile-tmp/vax-pass2.imp"
sw4_C_40:;
#line 5374 "regression-compile-tmp/vax-pass2.imp"
CODE = 3;
#line 5374 "regression-compile-tmp/vax-pass2.imp"
goto U_100b;
                                                                //   5375     c('>'):code = 4;       -> jmp
#line 5375 "regression-compile-tmp/vax-pass2.imp"
sw4_C_62:;
#line 5375 "regression-compile-tmp/vax-pass2.imp"
CODE = 4;
#line 5375 "regression-compile-tmp/vax-pass2.imp"
goto U_100b;
                                                                //   5376     c(')'):code = 5;       -> jmp
#line 5376 "regression-compile-tmp/vax-pass2.imp"
sw4_C_41:;
#line 5376 "regression-compile-tmp/vax-pass2.imp"
CODE = 5;
#line 5376 "regression-compile-tmp/vax-pass2.imp"
goto U_100b;
                                                                //   5377     c('#'):code = 6;       -> jmp
#line 5377 "regression-compile-tmp/vax-pass2.imp"
sw4_C_35:;
#line 5377 "regression-compile-tmp/vax-pass2.imp"
CODE = 6;
#line 5377 "regression-compile-tmp/vax-pass2.imp"
goto U_100b;
                                                                //   5378     testit:
#line 5378 "regression-compile-tmp/vax-pass2.imp"
U_100a:;
                                                                //   5379        plant2 (bitl, literal(1), regv(r0))
#line 5379 "regression-compile-tmp/vax-pass2.imp"
PLANT2(49320, LITERAL(1), &(REGV-1)[1]);
                                                                //   5380        pop drop
#line 5380 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
                                                                //   5381     jmp:
#line 5381 "regression-compile-tmp/vax-pass2.imp"
U_100b:;
                                                                //   5382        jump to (getword, code+unsigned+invert, 1)
#line 5382 "regression-compile-tmp/vax-pass2.imp"
JUMPTO(GETWORD(), (((int)((((int)(CODE)) + (UNSIGNED)))) + (INVERT)), 1);
                                                                //   5383        -> next
#line 5383 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5384  
                                                                //   5385     c(']'): operate (neg);           !rsh
#line 5385 "regression-compile-tmp/vax-pass2.imp"
sw4_C_93:;
#line 5385 "regression-compile-tmp/vax-pass2.imp"
OPERATE(8);
                                                                //   5386             operate (rsh);  -> next
#line 5386 "regression-compile-tmp/vax-pass2.imp"
OPERATE(16);
#line 5386 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5387     c('['): operate (lsh);  -> next
#line 5387 "regression-compile-tmp/vax-pass2.imp"
sw4_C_91:;
#line 5387 "regression-compile-tmp/vax-pass2.imp"
OPERATE(15);
#line 5387 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5388     c('\'): operate (not);  -> next
#line 5388 "regression-compile-tmp/vax-pass2.imp"
sw4_C_92:;
#line 5388 "regression-compile-tmp/vax-pass2.imp"
OPERATE(7);
#line 5388 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5389     c('U'): operate (neg);  -> next
#line 5389 "regression-compile-tmp/vax-pass2.imp"
sw4_C_85:;
#line 5389 "regression-compile-tmp/vax-pass2.imp"
OPERATE(8);
#line 5389 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5390     c('+'): operate (add);  -> next
#line 5390 "regression-compile-tmp/vax-pass2.imp"
sw4_C_43:;
#line 5390 "regression-compile-tmp/vax-pass2.imp"
OPERATE(9);
#line 5390 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5391     c('-'): operate (sub);  -> next
#line 5391 "regression-compile-tmp/vax-pass2.imp"
sw4_C_45:;
#line 5391 "regression-compile-tmp/vax-pass2.imp"
OPERATE(10);
#line 5391 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5392     c('!'): operate (or);   -> next
#line 5392 "regression-compile-tmp/vax-pass2.imp"
sw4_C_33:;
#line 5392 "regression-compile-tmp/vax-pass2.imp"
OPERATE(13);
#line 5392 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5393     c('%'): operate (xor);  -> next
#line 5393 "regression-compile-tmp/vax-pass2.imp"
sw4_C_37:;
#line 5393 "regression-compile-tmp/vax-pass2.imp"
OPERATE(14);
#line 5393 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5394     c('/'): operate (div);  -> next
#line 5394 "regression-compile-tmp/vax-pass2.imp"
sw4_C_47:;
#line 5394 "regression-compile-tmp/vax-pass2.imp"
OPERATE(17);
#line 5394 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5395     c('X'): operate (exp);  -> next
#line 5395 "regression-compile-tmp/vax-pass2.imp"
sw4_C_88:;
#line 5395 "regression-compile-tmp/vax-pass2.imp"
OPERATE(21);
#line 5395 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5396     c('x'): operate (rexp); -> next
#line 5396 "regression-compile-tmp/vax-pass2.imp"
sw4_C_120:;
#line 5396 "regression-compile-tmp/vax-pass2.imp"
OPERATE(22);
#line 5396 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5397     c('Q'): operate (rdiv); -> next
#line 5397 "regression-compile-tmp/vax-pass2.imp"
sw4_C_81:;
#line 5397 "regression-compile-tmp/vax-pass2.imp"
OPERATE(23);
#line 5397 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5398     c('*'): operate (mul);  -> next
#line 5398 "regression-compile-tmp/vax-pass2.imp"
sw4_C_42:;
#line 5398 "regression-compile-tmp/vax-pass2.imp"
OPERATE(27);
#line 5398 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5399     c('&'): operate (not);
#line 5399 "regression-compile-tmp/vax-pass2.imp"
sw4_C_38:;
#line 5399 "regression-compile-tmp/vax-pass2.imp"
OPERATE(7);
                                                                //   5400             operate (bic);  ->next
#line 5400 "regression-compile-tmp/vax-pass2.imp"
OPERATE(12);
#line 5400 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5401     c(117):                                  ! ++
#line 5401 "regression-compile-tmp/vax-pass2.imp"
sw4_C_117:;
                                                                //   5402     c(113): address op (code);   -> next;    ! --
#line 5402 "regression-compile-tmp/vax-pass2.imp"
sw4_C_113:;
#line 5402 "regression-compile-tmp/vax-pass2.imp"
ADDRESSOP(CODE);
#line 5402 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5403     c('.'): concatenate;         -> next
#line 5403 "regression-compile-tmp/vax-pass2.imp"
sw4_C_46:;
#line 5403 "regression-compile-tmp/vax-pass2.imp"
CONCATENATE();
#line 5403 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5404     c('v'): set modulus;         -> next
#line 5404 "regression-compile-tmp/vax-pass2.imp"
sw4_C_118:;
#line 5404 "regression-compile-tmp/vax-pass2.imp"
SETMODULUS();
#line 5404 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5405  
                                                                //   5406     c('B'):  code = 0;   -> bjf
#line 5406 "regression-compile-tmp/vax-pass2.imp"
sw4_C_66:;
#line 5406 "regression-compile-tmp/vax-pass2.imp"
CODE = 0;
#line 5406 "regression-compile-tmp/vax-pass2.imp"
goto U_100c;
                                                                //   5407     c('F'):  code = 1
#line 5407 "regression-compile-tmp/vax-pass2.imp"
sw4_C_70:;
#line 5407 "regression-compile-tmp/vax-pass2.imp"
CODE = 1;
                                                                //   5408     bjf:
#line 5408 "regression-compile-tmp/vax-pass2.imp"
U_100c:;
                                                                //   5409        flush code;  set line
#line 5409 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
#line 5409 "regression-compile-tmp/vax-pass2.imp"
SETLINE();
                                                                //   5410        jump to (getword, jump, code)
#line 5410 "regression-compile-tmp/vax-pass2.imp"
JUMPTO(GETWORD(), 0, CODE);
                                                                //   5411        -> next
#line 5411 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5412  
                                                                //   5413     c('J'):
#line 5413 "regression-compile-tmp/vax-pass2.imp"
sw4_C_74:;
                                                                //   5414        flush code;  set line
#line 5414 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
#line 5414 "regression-compile-tmp/vax-pass2.imp"
SETLINE();
                                                                //   5415        jump to (-getword, jump, 0)
#line 5415 "regression-compile-tmp/vax-pass2.imp"
JUMPTO((-(GETWORD())), 0, 0);
                                                                //   5416        -> next
#line 5416 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5417  
                                                                //   5418     c(':'):
#line 5418 "regression-compile-tmp/vax-pass2.imp"
sw4_C_58:;
                                                                //   5419        define label (getword)
#line 5419 "regression-compile-tmp/vax-pass2.imp"
DEFINELABEL(GETWORD());
                                                                //   5420        -> next
#line 5420 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5421  
                                                                //   5422     c('L'):
#line 5422 "regression-compile-tmp/vax-pass2.imp"
sw4_C_76:;
                                                                //   5423         n = getword
#line 5423 "regression-compile-tmp/vax-pass2.imp"
N = GETWORD();
                                                                //   5424         names = n %if n > names
#line 5424 "regression-compile-tmp/vax-pass2.imp"
if (((N) <= (NAMES))) goto L_0479;
#line 5424 "regression-compile-tmp/vax-pass2.imp"
NAMES = N;
#line 5424 "regression-compile-tmp/vax-pass2.imp"
L_0479:;
                                                                //   5425         define label (-n);
#line 5425 "regression-compile-tmp/vax-pass2.imp"
DEFINELABEL((-(N)));
                                                                //   5426         -> next
#line 5426 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5427  
                                                                //   5428     c('T'):
#line 5428 "regression-compile-tmp/vax-pass2.imp"
sw4_C_84:;
                                                                //   5429        cstack (-1);     -> res
#line 5429 "regression-compile-tmp/vax-pass2.imp"
CSTACK((-1));
#line 5429 "regression-compile-tmp/vax-pass2.imp"
goto U_100d;
                                                                //   5430     c('K'):
#line 5430 "regression-compile-tmp/vax-pass2.imp"
sw4_C_75:;
                                                                //   5431        cstack (0)
#line 5431 "regression-compile-tmp/vax-pass2.imp"
CSTACK(0);
                                                                //   5432     c('M'):
#line 5432 "regression-compile-tmp/vax-pass2.imp"
sw4_C_77:;
                                                                //   5433     c('V'):
#line 5433 "regression-compile-tmp/vax-pass2.imp"
sw4_C_86:;
                                                                //   5434     res:
#line 5434 "regression-compile-tmp/vax-pass2.imp"
U_100d:;
                                                                //   5435        pop lhs
#line 5435 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
                                                                //   5436        set result (lhs, code)
#line 5436 "regression-compile-tmp/vax-pass2.imp"
SETRESULT(LHS, CODE);
                                                                //   5437        ! and...
                                                                //   5438     c('R'):
#line 5438 "regression-compile-tmp/vax-pass2.imp"
sw4_C_82:;
                                                                //   5439        set status %if mainprog = mainrt %and code ='R'
#line 5439 "regression-compile-tmp/vax-pass2.imp"
if (((MAINPROG) != (1))) goto L_047a;
#line 5439 "regression-compile-tmp/vax-pass2.imp"
if (((CODE) != (82))) goto L_047a;
#line 5439 "regression-compile-tmp/vax-pass2.imp"
SETSTATUS();
#line 5439 "regression-compile-tmp/vax-pass2.imp"
L_047a:;
                                                                //   5440        return
#line 5440 "regression-compile-tmp/vax-pass2.imp"
RETURN();
                                                                //   5441        -> next
#line 5441 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5442  
                                                                //   5443     c('j'): assign (2);            -> next
#line 5443 "regression-compile-tmp/vax-pass2.imp"
sw4_C_106:;
#line 5443 "regression-compile-tmp/vax-pass2.imp"
ASSIGN(2);
#line 5443 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5444     c('S'): assign (1);            -> next
#line 5444 "regression-compile-tmp/vax-pass2.imp"
sw4_C_83:;
#line 5444 "regression-compile-tmp/vax-pass2.imp"
ASSIGN(1);
#line 5444 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5445     c('Z'): assign (0);            -> next
#line 5445 "regression-compile-tmp/vax-pass2.imp"
sw4_C_90:;
#line 5445 "regression-compile-tmp/vax-pass2.imp"
ASSIGN(0);
#line 5445 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5446     c('p'): assign (-1);           -> next
#line 5446 "regression-compile-tmp/vax-pass2.imp"
sw4_C_112:;
#line 5446 "regression-compile-tmp/vax-pass2.imp"
ASSIGN((-1));
#line 5446 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5447  
                                                                //   5448     c('G'): get string (alias);    -> next
#line 5448 "regression-compile-tmp/vax-pass2.imp"
sw4_C_71:;
#line 5448 "regression-compile-tmp/vax-pass2.imp"
GETSTRING(&ALIAS);
#line 5448 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5449     c('$'): define var;            -> next
#line 5449 "regression-compile-tmp/vax-pass2.imp"
sw4_C_36:;
#line 5449 "regression-compile-tmp/vax-pass2.imp"
DEFINEVAR();
#line 5449 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5450     c('N'): cstack (getlong);      -> next
#line 5450 "regression-compile-tmp/vax-pass2.imp"
sw4_C_78:;
#line 5450 "regression-compile-tmp/vax-pass2.imp"
CSTACK(GETLONG());
#line 5450 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5451     c(''''):get string (text);     -> next
#line 5451 "regression-compile-tmp/vax-pass2.imp"
sw4_C_39:;
#line 5451 "regression-compile-tmp/vax-pass2.imp"
GETSTRING(&TEXT);
#line 5451 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5452     c('D'): get real;              -> next
#line 5452 "regression-compile-tmp/vax-pass2.imp"
sw4_C_68:;
#line 5452 "regression-compile-tmp/vax-pass2.imp"
GETREAL();
#line 5452 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5453  
                                                                //   5454     c('n'): record select;         -> next
#line 5454 "regression-compile-tmp/vax-pass2.imp"
sw4_C_110:;
#line 5454 "regression-compile-tmp/vax-pass2.imp"
RECORDSELECT();
#line 5454 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5455  
                                                                //   5456     c('a'): array ref (0);         -> next
#line 5456 "regression-compile-tmp/vax-pass2.imp"
sw4_C_97:;
#line 5456 "regression-compile-tmp/vax-pass2.imp"
ARRAYREF(0);
#line 5456 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5457     c('i'): array ref (1);         -> next
#line 5457 "regression-compile-tmp/vax-pass2.imp"
sw4_C_105:;
#line 5457 "regression-compile-tmp/vax-pass2.imp"
ARRAYREF(1);
#line 5457 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5458     c('d'): declare array;         -> next
#line 5458 "regression-compile-tmp/vax-pass2.imp"
sw4_C_100:;
#line 5458 "regression-compile-tmp/vax-pass2.imp"
DECLAREARRAY();
#line 5458 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5459  
                                                                //   5460     c('O'): line bound;            -> next
#line 5460 "regression-compile-tmp/vax-pass2.imp"
sw4_C_79:;
#line 5460 "regression-compile-tmp/vax-pass2.imp"
LINEBOUND();
#line 5460 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5461  
                                                                //   5462  
                                                                //   5463     c('@'):
#line 5463 "regression-compile-tmp/vax-pass2.imp"
sw4_C_64:;
                                                                //   5464        v == var(getword)
#line 5464 "regression-compile-tmp/vax-pass2.imp"
V = &VAR[GETWORD()];
                                                                //   5465        spec external (v) %if v_base = pending
#line 5465 "regression-compile-tmp/vax-pass2.imp"
if (((V->BASE) != (22))) goto L_047b;
#line 5465 "regression-compile-tmp/vax-pass2.imp"
SPECEXTERNAL(V);
#line 5465 "regression-compile-tmp/vax-pass2.imp"
L_047b:;
                                                                //   5466        vstack (v)
#line 5466 "regression-compile-tmp/vax-pass2.imp"
VSTACK(V);
                                                                //   5467        -> next
#line 5467 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5468  
                                                                //   5469     c('~'):
#line 5469 "regression-compile-tmp/vax-pass2.imp"
sw4_C_126:;
                                                                //   5470        get (sym)
#line 5470 "regression-compile-tmp/vax-pass2.imp"
GET(&SYM);
                                                                //   5471        %if sym = 'A' %start
#line 5471 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (65))) goto L_047c;
                                                                //   5472           decvar == gvar
#line 5472 "regression-compile-tmp/vax-pass2.imp"
DECVAR = GVAR;
                                                                //   5473           assemble (-2, labs, names)
#line 5473 "regression-compile-tmp/vax-pass2.imp"
ASSEMBLE((-2), LABS, NAMES);
                                                                //   5474           -> next
#line 5474 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5475        %finish
#line 5475 "regression-compile-tmp/vax-pass2.imp"
L_047c:;
                                                                //   5476        %if sym = 'B' %start
#line 5476 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) != (66))) goto L_047d;
                                                                //   5477           -> out
#line 5477 "regression-compile-tmp/vax-pass2.imp"
goto U_100e;
                                                                //   5478        %finish
#line 5478 "regression-compile-tmp/vax-pass2.imp"
L_047d:;
                                                                //   5479        abort (36) %unless sym = 'C'
#line 5479 "regression-compile-tmp/vax-pass2.imp"
if (((SYM) == (67))) goto L_047e;
#line 5479 "regression-compile-tmp/vax-pass2.imp"
ABORT(36);
#line 5479 "regression-compile-tmp/vax-pass2.imp"
L_047e:;
                                                                //   5480        maxframe = frame %if frame > maxframe
#line 5480 "regression-compile-tmp/vax-pass2.imp"
if (((FRAME) <= (MAXFRAME))) goto L_047f;
#line 5480 "regression-compile-tmp/vax-pass2.imp"
MAXFRAME = FRAME;
#line 5480 "regression-compile-tmp/vax-pass2.imp"
L_047f:;
                                                                //   5481        frame = frame base
#line 5481 "regression-compile-tmp/vax-pass2.imp"
FRAME = FRAMEBASE;
                                                                //   5482        -> next
#line 5482 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5483  
                                                                //   5484     c('E'): pop lhs;  call (lhs);  -> next
#line 5484 "regression-compile-tmp/vax-pass2.imp"
sw4_C_69:;
#line 5484 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
#line 5484 "regression-compile-tmp/vax-pass2.imp"
CALL(LHS);
#line 5484 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5485  
                                                                //   5486     c('C'):
#line 5486 "regression-compile-tmp/vax-pass2.imp"
sw4_C_67:;
                                                                //   5487        set both
#line 5487 "regression-compile-tmp/vax-pass2.imp"
SETBOTH();
                                                                //   5488        %if lhs_form&(arrayname bit!arraybit) # 0 %start
#line 5488 "regression-compile-tmp/vax-pass2.imp"
if (((((LHS->FORM) & (((64) | (32))))) == (0))) goto L_0480;
                                                                //   5489           compare arraynames (lhs, rhs)
#line 5489 "regression-compile-tmp/vax-pass2.imp"
COMPAREARRAYNAMES(LHS, RHS);
                                                                //   5490           pop drop;  pop drop
#line 5490 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
#line 5490 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
                                                                //   5491           -> next
#line 5491 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5492        %finish
#line 5492 "regression-compile-tmp/vax-pass2.imp"
L_0480:;
                                                                //   5493        amap (lhs); amap (rhs)
#line 5493 "regression-compile-tmp/vax-pass2.imp"
AMAP(LHS);
#line 5493 "regression-compile-tmp/vax-pass2.imp"
AMAP(RHS);
                                                                //   5494  
                                                                //   5495     c('?'):
#line 5495 "regression-compile-tmp/vax-pass2.imp"
sw4_C_63:;
                                                                //   5496        set both
#line 5496 "regression-compile-tmp/vax-pass2.imp"
SETBOTH();
                                                                //   5497        compare (lhs, rhs, 1)
#line 5497 "regression-compile-tmp/vax-pass2.imp"
COMPARE(LHS, RHS, 1);
                                                                //   5498        pop drop;   pop drop
#line 5498 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
#line 5498 "regression-compile-tmp/vax-pass2.imp"
POPDROP();
                                                                //   5499        -> next
#line 5499 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5500  
                                                                //   5501     c('"'):
#line 5501 "regression-compile-tmp/vax-pass2.imp"
sw4_C_34:;
                                                                //   5502        set both;  invert = 16
#line 5502 "regression-compile-tmp/vax-pass2.imp"
SETBOTH();
#line 5502 "regression-compile-tmp/vax-pass2.imp"
INVERT = 16;
                                                                //   5503        load (rhs, any) %if rhs_flags&indexed # 0
#line 5503 "regression-compile-tmp/vax-pass2.imp"
if (((((RHS->FLAGS) & (1))) == (0))) goto L_0481;
#line 5503 "regression-compile-tmp/vax-pass2.imp"
LOAD(RHS, 17);
#line 5503 "regression-compile-tmp/vax-pass2.imp"
L_0481:;
                                                                //   5504        compare (rhs, lhs, 0)
#line 5504 "regression-compile-tmp/vax-pass2.imp"
COMPARE(RHS, LHS, 0);
                                                                //   5505        stp = stp - 1;  lhs = rhs;  drop (rhs)
#line 5505 "regression-compile-tmp/vax-pass2.imp"
STP = (((int)(STP)) - (1));
#line 5505 "regression-compile-tmp/vax-pass2.imp"
*LHS = *RHS;
#line 5505 "regression-compile-tmp/vax-pass2.imp"
DROP(RHS);
                                                                //   5506        claim (lhs_base)
#line 5506 "regression-compile-tmp/vax-pass2.imp"
CLAIM(LHS->BASE);
                                                                //   5507        -> next
#line 5507 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5508  
                                                                //   5509     c('c'): set cc;                          -> next
#line 5509 "regression-compile-tmp/vax-pass2.imp"
sw4_C_99:;
#line 5509 "regression-compile-tmp/vax-pass2.imp"
SETCC();
#line 5509 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5510     c('f'): for;                             -> next
#line 5510 "regression-compile-tmp/vax-pass2.imp"
sw4_C_102:;
#line 5510 "regression-compile-tmp/vax-pass2.imp"
FOR();
#line 5510 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5511     c('l'): set language;                    -> next
#line 5511 "regression-compile-tmp/vax-pass2.imp"
sw4_C_108:;
#line 5511 "regression-compile-tmp/vax-pass2.imp"
SETLANGUAGE();
#line 5511 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5512     c('r'): resolve;                         -> next
#line 5512 "regression-compile-tmp/vax-pass2.imp"
sw4_C_114:;
#line 5512 "regression-compile-tmp/vax-pass2.imp"
RESOLVE();
#line 5512 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5513     c('A'): initialise owns;                 -> next
#line 5513 "regression-compile-tmp/vax-pass2.imp"
sw4_C_65:;
#line 5513 "regression-compile-tmp/vax-pass2.imp"
INITIALISEOWNS();
#line 5513 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5514     c('I'): zero own;                        -> next
#line 5514 "regression-compile-tmp/vax-pass2.imp"
sw4_C_73:;
#line 5514 "regression-compile-tmp/vax-pass2.imp"
ZEROOWN();
#line 5514 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5515     c('b'): set bounds;                      -> next
#line 5515 "regression-compile-tmp/vax-pass2.imp"
sw4_C_98:;
#line 5515 "regression-compile-tmp/vax-pass2.imp"
SETBOUNDS();
#line 5515 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5516     c('y'): set diag;                        -> next
#line 5516 "regression-compile-tmp/vax-pass2.imp"
sw4_C_121:;
#line 5516 "regression-compile-tmp/vax-pass2.imp"
SETDIAG();
#line 5516 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5517     c('z'): set control;                     -> next
#line 5517 "regression-compile-tmp/vax-pass2.imp"
sw4_C_122:;
#line 5517 "regression-compile-tmp/vax-pass2.imp"
SETCONTROL();
#line 5517 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5518     c('W'): switch jump;                     -> next
#line 5518 "regression-compile-tmp/vax-pass2.imp"
sw4_C_87:;
#line 5518 "regression-compile-tmp/vax-pass2.imp"
SWITCHJUMP();
#line 5518 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5519     c('_'): define switch label;             -> next
#line 5519 "regression-compile-tmp/vax-pass2.imp"
sw4_C_95:;
#line 5519 "regression-compile-tmp/vax-pass2.imp"
DEFINESWITCHLABEL();
#line 5519 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5520     c('o'): event block;                     -> next
#line 5520 "regression-compile-tmp/vax-pass2.imp"
sw4_C_111:;
#line 5520 "regression-compile-tmp/vax-pass2.imp"
EVENTBLOCK();
#line 5520 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5521     c('e'): generate signal;                 -> next
#line 5521 "regression-compile-tmp/vax-pass2.imp"
sw4_C_101:;
#line 5521 "regression-compile-tmp/vax-pass2.imp"
GENERATESIGNAL();
#line 5521 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5522     c('w'): machine code;                    -> next
#line 5522 "regression-compile-tmp/vax-pass2.imp"
sw4_C_119:;
#line 5522 "regression-compile-tmp/vax-pass2.imp"
MACHINECODE();
#line 5522 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5523     c('P'): plant;                           -> next
#line 5523 "regression-compile-tmp/vax-pass2.imp"
sw4_C_80:;
#line 5523 "regression-compile-tmp/vax-pass2.imp"
PLANT();
#line 5523 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5524     c('m'): prim (monit);                    -> next
#line 5524 "regression-compile-tmp/vax-pass2.imp"
sw4_C_109:;
#line 5524 "regression-compile-tmp/vax-pass2.imp"
PRIM(12);
#line 5524 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5525     c('s'): prim (stop);  uncond jump = ca;  -> next
#line 5525 "regression-compile-tmp/vax-pass2.imp"
sw4_C_115:;
#line 5525 "regression-compile-tmp/vax-pass2.imp"
PRIM(8);
#line 5525 "regression-compile-tmp/vax-pass2.imp"
UNCONDJUMP = CA;
#line 5525 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5526  
                                                                //   5527     c('{'): gmode = -1
#line 5527 "regression-compile-tmp/vax-pass2.imp"
sw4_C_123:;
#line 5527 "regression-compile-tmp/vax-pass2.imp"
GMODE = (-1);
                                                                //   5528             assemble (gtype, labs, names)
#line 5528 "regression-compile-tmp/vax-pass2.imp"
ASSEMBLE(GTYPE, LABS, NAMES);
                                                                //   5529             -> next
#line 5529 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5530  
                                                                //   5531     c('}'):
#line 5531 "regression-compile-tmp/vax-pass2.imp"
sw4_C_125:;
                                                                //   5532        gmode = 0
#line 5532 "regression-compile-tmp/vax-pass2.imp"
GMODE = 0;
                                                                //   5533        -> out %if amode < 0
#line 5533 "regression-compile-tmp/vax-pass2.imp"
if (((AMODE) >= (0))) goto L_0482;
#line 5533 "regression-compile-tmp/vax-pass2.imp"
goto U_100e;
#line 5533 "regression-compile-tmp/vax-pass2.imp"
L_0482:;
                                                                //   5534        define parameters %if names > gstart
#line 5534 "regression-compile-tmp/vax-pass2.imp"
if (((NAMES) <= (GSTART))) goto L_0483;
#line 5534 "regression-compile-tmp/vax-pass2.imp"
DEFINEPARAMETERS();
#line 5534 "regression-compile-tmp/vax-pass2.imp"
L_0483:;
                                                                //   5535        -> out %if amode # 0;          !spec
#line 5535 "regression-compile-tmp/vax-pass2.imp"
if (((AMODE) == (0))) goto L_0484;
#line 5535 "regression-compile-tmp/vax-pass2.imp"
goto U_100e;
#line 5535 "regression-compile-tmp/vax-pass2.imp"
L_0484:;
                                                                //   5536        frame = 0
#line 5536 "regression-compile-tmp/vax-pass2.imp"
FRAME = 0;
                                                                //   5537        -> next
#line 5537 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5538  
                                                                //   5539     c('H'):
#line 5539 "regression-compile-tmp/vax-pass2.imp"
sw4_C_72:;
                                                                //   5540        decvar == begin;  decvar_disp = new tag
#line 5540 "regression-compile-tmp/vax-pass2.imp"
DECVAR = &BEGIN;
#line 5540 "regression-compile-tmp/vax-pass2.imp"
DECVAR->DISP = NEWTAG();
                                                                //   5541        otype = 0;  spec = 0;  potype = 3
#line 5541 "regression-compile-tmp/vax-pass2.imp"
OTYPE = 0;
#line 5541 "regression-compile-tmp/vax-pass2.imp"
SPEC = 0;
#line 5541 "regression-compile-tmp/vax-pass2.imp"
POTYPE = 3;
                                                                //   5542        %if level # 0 %start;      !not initial begin
#line 5542 "regression-compile-tmp/vax-pass2.imp"
if (((LEVEL) == (0))) goto L_0485;
                                                                //   5543           cstack (decvar_disp)
#line 5543 "regression-compile-tmp/vax-pass2.imp"
CSTACK(DECVAR->DISP);
                                                                //   5544           pop lhs;  lhs_base = pc;  lhs_type = 0
#line 5544 "regression-compile-tmp/vax-pass2.imp"
POPLHS();
#line 5544 "regression-compile-tmp/vax-pass2.imp"
LHS->BASE = 16;
#line 5544 "regression-compile-tmp/vax-pass2.imp"
LHS->TYPE = 0;
                                                                //   5545           lhs_header = -1;   call (lhs)
#line 5545 "regression-compile-tmp/vax-pass2.imp"
LHS->HEADER = (-1);
#line 5545 "regression-compile-tmp/vax-pass2.imp"
CALL(LHS);
                                                                //   5546           potype = 0
#line 5546 "regression-compile-tmp/vax-pass2.imp"
POTYPE = 0;
                                                                //   5547        %finish
#line 5547 "regression-compile-tmp/vax-pass2.imp"
L_0485:;
                                                                //   5548        var name = "$GO$";  external name = var name
#line 5548 "regression-compile-tmp/vax-pass2.imp"
VARNAME = _imp_str_literal("$GO$");
#line 5548 "regression-compile-tmp/vax-pass2.imp"
EXTERNALNAME = VARNAME;
                                                                //   5549        assemble (0, labs, names)
#line 5549 "regression-compile-tmp/vax-pass2.imp"
ASSEMBLE(0, LABS, NAMES);
                                                                //   5550        -> next
#line 5550 "regression-compile-tmp/vax-pass2.imp"
goto U_1009;
                                                                //   5551  
                                                                //   5552     c(';'):
#line 5552 "regression-compile-tmp/vax-pass2.imp"
sw4_C_59:;
                                                                //   5553        %if level # 0 %start
#line 5553 "regression-compile-tmp/vax-pass2.imp"
if (((LEVEL) == (0))) goto L_0486;
                                                                //   5554           set status %if mainprog = mainrt
#line 5554 "regression-compile-tmp/vax-pass2.imp"
if (((MAINPROG) != (1))) goto L_0487;
#line 5554 "regression-compile-tmp/vax-pass2.imp"
SETSTATUS();
#line 5554 "regression-compile-tmp/vax-pass2.imp"
L_0487:;
                                                                //   5555           return
#line 5555 "regression-compile-tmp/vax-pass2.imp"
RETURN();
                                                                //   5556        %finish
#line 5556 "regression-compile-tmp/vax-pass2.imp"
L_0486:;
                                                                //   5557        gfix (3)
#line 5557 "regression-compile-tmp/vax-pass2.imp"
GFIX(3);
                                                                //   5558        define tag (block end tag) %if block end tag # 0
#line 5558 "regression-compile-tmp/vax-pass2.imp"
if (((BLOCKENDTAG) == (0))) goto L_0488;
#line 5558 "regression-compile-tmp/vax-pass2.imp"
DEFINETAG(BLOCKENDTAG);
#line 5558 "regression-compile-tmp/vax-pass2.imp"
L_0488:;
                                                                //   5559        flush code
#line 5559 "regression-compile-tmp/vax-pass2.imp"
FLUSHCODE();
                                                                //   5560        flush gla
#line 5560 "regression-compile-tmp/vax-pass2.imp"
FLUSHGLA();
                                                                //   5561  
                                                                //   5562     OUT:
#line 5562 "regression-compile-tmp/vax-pass2.imp"
U_100e:;
                                                                //   5563  
                                                                //   5564        %if amode = 0 %start
#line 5564 "regression-compile-tmp/vax-pass2.imp"
if (((AMODE) != (0))) goto L_0489;
                                                                //   5565           activity(local) = 0;   !release the base reg
#line 5565 "regression-compile-tmp/vax-pass2.imp"
ACTIVITY[LOCAL] = 0;
                                                                //   5566           level = level - 1;  local = base reg(level)
#line 5566 "regression-compile-tmp/vax-pass2.imp"
LEVEL = (((int)(LEVEL)) - (1));
#line 5566 "regression-compile-tmp/vax-pass2.imp"
LOCAL = (BASEREG+1)[LEVEL];
                                                                //   5567           activity(local) = -1
#line 5567 "regression-compile-tmp/vax-pass2.imp"
ACTIVITY[LOCAL] = (-1);
                                                                //   5568           frame = frame&(\7)
#line 5568 "regression-compile-tmp/vax-pass2.imp"
FRAME = ((FRAME) & ((~(7))));
                                                                //   5569           %if level >= 0 %start
#line 5569 "regression-compile-tmp/vax-pass2.imp"
if (((LEVEL) < (0))) goto L_048a;
                                                                //   5570              select output tank (directives)
#line 5570 "regression-compile-tmp/vax-pass2.imp"
SELECTOUTPUTTANK(DIRECTIVES);
                                                                //   5571              local diags = local diags+1
#line 5571 "regression-compile-tmp/vax-pass2.imp"
LOCALDIAGS = (((int)(LOCALDIAGS)) + (1));
                                                                //   5572              put (dir end);  put long (proctype);  put word (entry mask)
#line 5572 "regression-compile-tmp/vax-pass2.imp"
PUT(6);
#line 5572 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(PROCTYPE);
#line 5572 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(ENTRYMASK);
                                                                //   5573              put word (frame);  put word (frame>>16)
#line 5573 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(FRAME);
#line 5573 "regression-compile-tmp/vax-pass2.imp"
PUTWORD((int)((((unsigned int)(FRAME)) >> (16))));
                                                                //   5574              put word (local diags);  put word (diag lines)
#line 5574 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(LOCALDIAGS);
#line 5574 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(DIAGLINES);
                                                                //   5575              put word (block tag);  put long (ca)
#line 5575 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(BLOCKTAG);
#line 5575 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(CA);
                                                                //   5576              select output tank (object);  put (obj term)
#line 5576 "regression-compile-tmp/vax-pass2.imp"
SELECTOUTPUTTANK(OBJECT);
#line 5576 "regression-compile-tmp/vax-pass2.imp"
PUT(16);
                                                                //   5577              put word (events)
#line 5577 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(EVENTS);
                                                                //   5578              %if events # 0 %start
#line 5578 "regression-compile-tmp/vax-pass2.imp"
if (((EVENTS) == (0))) goto L_048b;
                                                                //   5579                 put word (evlow);   put word (evep)
#line 5579 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(EVLOW);
#line 5579 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(EVEP);
                                                                //   5580              %finish
#line 5580 "regression-compile-tmp/vax-pass2.imp"
L_048b:;
                                                                //   5581           %finish
#line 5581 "regression-compile-tmp/vax-pass2.imp"
L_048a:;
                                                                //   5582        %else
#line 5582 "regression-compile-tmp/vax-pass2.imp"
goto L_048c;
#line 5582 "regression-compile-tmp/vax-pass2.imp"
L_0489:;
                                                                //   5583           %if amode < 0 %start
#line 5583 "regression-compile-tmp/vax-pass2.imp"
if (((AMODE) >= (0))) goto L_048d;
                                                                //   5584              frame = maxframe %if maxframe > frame
#line 5584 "regression-compile-tmp/vax-pass2.imp"
if (((MAXFRAME) <= (FRAME))) goto L_048e;
#line 5584 "regression-compile-tmp/vax-pass2.imp"
FRAME = MAXFRAME;
#line 5584 "regression-compile-tmp/vax-pass2.imp"
L_048e:;
                                                                //   5585              %if amode = -1 %start
#line 5585 "regression-compile-tmp/vax-pass2.imp"
if (((AMODE) != ((-1)))) goto L_048f;
                                                                //   5586                 gvar_length = frame
#line 5586 "regression-compile-tmp/vax-pass2.imp"
GVAR->LENGTH = FRAME;
                                                                //   5587              %else
#line 5587 "regression-compile-tmp/vax-pass2.imp"
goto L_0490;
#line 5587 "regression-compile-tmp/vax-pass2.imp"
L_048f:;
                                                                //   5588                 oldframe = frame
#line 5588 "regression-compile-tmp/vax-pass2.imp"
OLDFRAME = FRAME;
                                                                //   5589              %finish
#line 5589 "regression-compile-tmp/vax-pass2.imp"
L_0490:;
                                                                //   5590           %finish
#line 5590 "regression-compile-tmp/vax-pass2.imp"
L_048d:;
                                                                //   5591        %finish
#line 5591 "regression-compile-tmp/vax-pass2.imp"
L_048c:;
                                                                //   5592        diag lines  = local lines
#line 5592 "regression-compile-tmp/vax-pass2.imp"
DIAGLINES = LOCALLINES;
                                                                //   5593        diag size   = diag size+local diags
#line 5593 "regression-compile-tmp/vax-pass2.imp"
DIAGSIZE = (((int)(DIAGSIZE)) + (LOCALDIAGS));
                                                                //   5594        frame       = old frame
#line 5594 "regression-compile-tmp/vax-pass2.imp"
FRAME = OLDFRAME;
                                                                //   5595        last local  = old last local
#line 5595 "regression-compile-tmp/vax-pass2.imp"
LASTLOCAL = OLDLASTLOCAL;
                                                                //   5596        uncond jump = old jump
#line 5596 "regression-compile-tmp/vax-pass2.imp"
UNCONDJUMP = OLDJUMP;
                                                                //   5597        ca          = old ca
#line 5597 "regression-compile-tmp/vax-pass2.imp"
CA = OLDCA;
                                                                //   5598        entry mask  = old mask
#line 5598 "regression-compile-tmp/vax-pass2.imp"
ENTRYMASK = OLDMASK;
                                                                //   5599        ivbit state = old ivbit
#line 5599 "regression-compile-tmp/vax-pass2.imp"
IVBITSTATE = OLDIVBIT;
                                                                //   5600     %end
#line 5600 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
sw4_C_32:;
sw4_C_44:;
sw4_C_48:;
sw4_C_49:;
sw4_C_50:;
sw4_C_51:;
sw4_C_52:;
sw4_C_53:;
sw4_C_54:;
sw4_C_55:;
sw4_C_56:;
sw4_C_57:;
sw4_C_89:;
sw4_C_94:;
sw4_C_96:;
sw4_C_103:;
sw4_C_104:;
sw4_C_124:;
sw4_C_127:;
goto sw4_C_default;
} // End of block ASSEMBLE at level 2
                                                                //   5601  
                                                                //   5602     glongword (16_80808080);  glongword (16_80808080)
#line 5602 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD((-2139062272));
#line 5602 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD((-2139062272));
                                                                //   5603     glongword (3+'G'<<8+'L'<<16+'A'<<24);            !gla marker
#line 5603 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(((((((((3) + ((int)(((71) << (8))))))) + (((76) << (16)))))) + (((65) << (24)))));
                                                                //   5604     glongword (0);                                   !codebase
#line 5604 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(0);
                                                                //   5605     glongword (0);                                   !diagbase
#line 5605 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(0);
                                                                //   5606     glongword (0);                                   !line base
#line 5606 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(0);
                                                                //   5607     gword (0);                                       !null string
#line 5607 "regression-compile-tmp/vax-pass2.imp"
GWORD(0);
                                                                //   5608     glongword (0)
#line 5608 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(0);
                                                                //   5609     glongword (0);                                   !event list
#line 5609 "regression-compile-tmp/vax-pass2.imp"
GLONGWORD(0);
                                                                //   5610  
                                                                //   5611     assemble (0, 0, 0);                              !set it going<<<<<<<
#line 5611 "regression-compile-tmp/vax-pass2.imp"
ASSEMBLE(0, 0, 0);
                                                                //   5612  
                                                                //   5613     gfix (7)
#line 5613 "regression-compile-tmp/vax-pass2.imp"
GFIX(7);
                                                                //   5614     put (obj end)
#line 5614 "regression-compile-tmp/vax-pass2.imp"
PUT(14);
                                                                //   5615  
                                                                //   5616     select output tank (directives)
#line 5616 "regression-compile-tmp/vax-pass2.imp"
SELECTOUTPUTTANK(DIRECTIVES);
                                                                //   5617     put (dir sizes)
#line 5617 "regression-compile-tmp/vax-pass2.imp"
PUT(7);
                                                                //   5618     put long (ga)
#line 5618 "regression-compile-tmp/vax-pass2.imp"
PUTLONG(GA);
                                                                //   5619     put word (newtag-1)
#line 5619 "regression-compile-tmp/vax-pass2.imp"
PUTWORD((((int)(NEWTAG())) - (1)));
                                                                //   5620     put word (specs)
#line 5620 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(SPECS);
                                                                //   5621     put word (diag size);  put word (evno)
#line 5621 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(DIAGSIZE);
#line 5621 "regression-compile-tmp/vax-pass2.imp"
PUTWORD(EVNO);
                                                                //   5622     put ('*')
#line 5622 "regression-compile-tmp/vax-pass2.imp"
PUT(42);
                                                                //   5623  
                                                                //   5624  
                                                                //   5625     exit (fatal) %if errors # 0
#line 5625 "regression-compile-tmp/vax-pass2.imp"
if (((ERRORS) == (0))) goto L_0491;
#line 5625 "regression-compile-tmp/vax-pass2.imp"
EXIT(268435500);
#line 5625 "regression-compile-tmp/vax-pass2.imp"
L_0491:;
                                                                //   5626  
                                                                //   5627     control = original control
#line 5627 "regression-compile-tmp/vax-pass2.imp"
CONTROL = ORIGINALCONTROL;
                                                                //   5628  
                                                                //   5629  %end
#line 5629 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return;
} // End of block PASS2 at level 1
                                                                //   5630  
                                                                //   5631  %BEGIN
#line 5631 "regression-compile-tmp/vax-pass2.imp"
int main(int argc, char **argv) {
  _imp_initialise(argc, argv);
                                                                //   5632  %END
#line 5632 "regression-compile-tmp/vax-pass2.imp"
/* Remove %on %event handler here if present for this block */
return 0;
} // End of block _imp_main at level 1
                                                                //   5633  
                                                                //   5634  %end %of %file
#line 5634 "regression-compile-tmp/vax-pass2.imp"
// End of file
