         Edinburgh IMP77 Compiler - Version 8.4
    1 %external %routine %spec close output
		.Ltext0:
				.align	2
		OP.7946:
		.LFB189:
    2 %external %routine %spec close input
    3 %external %routine %spec open output(%integer i, %string(255) s)
    4 %external %routine %spec open input(%integer i, %string(255) s)
    5 %recordformat impcomfm(%integer statements, flags, code, gla, diags, perm,
    6                         %string(31) file,
    7                         %string(63) Option)
    8 %externalrecord(impcomfm) IMPCOM
    9
   10 !
   11 !            On EMAS all shorts should be changed to integers.
   12 !            Also, the INCLUDE facility will need to be modified.
   13 !
   14 !
   15          !###################################################
   16          !            Copyright: 1 January 1980             #
   17          !     Interactive Datasystems (Edinburgh) Ltd.     #
   18          !              32 Upper Gilmore Place              #
   19          !                Edinburgh EH3 9NJ                 #
   20          !               All Rights Reserved                #
   21          !###################################################
   22
   23 %BEGIN
		.LVL1005:
				sub	sp, sp, #864
				sub	sp, sp, #106496
				stp	x29, x30, [sp]
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				stp	x21, x22, [sp, 32]
				str	x23, [sp, 48]
				adrp	x2, :got:__stack_chk_guard
				ldr	x2, [x2, #:got_lo12:__stack_chk_guard]
				add	x3, x29, 98304
				ldr	x4, [x2]
				str	x4, [x3, 9048]
				mov	x4,0
				mov	x2, x3
				add	x3, x29, 106496
				add	x3, x3, 864
				str	x3, [x2, 9040]
   24    %CONSTSTRING(4) version = "8.4"
				bl	_imp_initialise
		.LVL1006:
   25
   26    !configuration parameters
   27
   28    %CONSTINTEGER max int      = ((-1)>>1)//10
   29    %CONSTINTEGER max dig      = (-1)>>1-maxint*10
   30    %CONSTINTEGER byte size    = 8;            !bits per byte
   31    %CONSTINTEGER max tag      = 800;          !max no. of tags
   32    %CONSTINTEGER max dict     = 6000;         !max extent of dictionary
   33    %CONSTINTEGER name bits    = 11
   34    %CONSTINTEGER max names    = 1<<namebits-1
   35    %OWNINTEGER   spare names  = max names
   36    %CONSTINTEGER max grammar  = 1720
   37    %CONSTINTEGER lit max      = 50;           !max no. of constants/stat.
   38    %CONSTINTEGER rec size     = 520;          !size of analysis record
   39    %CONSTINTEGER dim limit    = 6;            !maximum array dimension
   40
   41    !symbols
   42
   43    %CONSTINTEGER ff     = 12;              !form feed
   44    %CONSTINTEGER marker = '^';             !marker for faults
   45    %CONSTINTEGER squote = '"';             !string quote
   46    %CONSTINTEGER cquote = '''';            !character quote
   47
   48    !streams
   49
   50    %CONSTINTEGER source = 1; ! input streams
   51    ! 2 is for prims
   52    ! 3 is for include files
   53    %CONSTINTEGER report = 0, object = 1, listing = 2;! output streams
   54
   55
   56    !types
   57
   58    %CONSTINTEGER integer = 1
   59    %CONSTINTEGER real    = 2
   60    %CONSTINTEGER stringv = 3
   61    %CONSTINTEGER record  = 4
   62
   63    !forms
   64
   65    %CONSTINTEGER iform = integer<<4+1
   66
   67    %CONSTINTEGER var = 91
   68    %CONSTINTEGER const   = 93
   69    %CONSTINTEGER swit    = 105
   70    %CONSTINTEGER comment = 22
   71    %CONSTINTEGER termin  = 20
   72    %CONSTINTEGER lab     = 3
   73    %CONSTINTEGER jump    = 54
   74
   75    %CONSTINTEGER recfm = 4
   76    %CONSTINTEGER proc  = 7;                     !class for proc
   77
   78    !phrase entries
   79
   80    %CONSTINTEGER escdec   = 252
   81    %CONSTINTEGER escproc  = 253
   82    %CONSTINTEGER escarray = 254
   83    %CONSTINTEGER escrec   = 255
   84
   85    %RECORDFORMAT arfm(%SHORTINTEGER class,sub,link,ptype,papp,pformat,x,pos);!imp77:
   86 !emas:%RECORDFORMAT arfm(%INTEGER class,sub,link,ptype,papp,pformat,x,pos)
   87
   88    %RECORDFORMAT tagfm(%INTEGER app, format, %C
   89                        %SHORTINTEGER flags, index, text, link)
   90
   91    !flags
   92
   93 !      *===.===.===.===.===.====.====.====.===.======.======*
   94 !      ! u ! c ! c ! p ! s ! a  ! o  ! pr ! s ! type ! form !
   95 !      ! 1 ! 1 ! 1 ! 1 ! 1 ! 1  ! 1  ! 1  ! 1 !  3   !  4   !
   96 !      *===^===^===^===^===^====^====^====^===^======^======*
   97 !        u   c   c   p   s   a    o    p    s    t      f
   98 !        s   l   o   a   u   n    w    r    p    y      o
   99 !        e   o   n   r   b   a    n    o    e    p      r
  100 !        d   s   s   a   n   m         t    c    e      m
  101 !            e   t   m   a   e
  102 !            d       s   m
  103 !                        e
  104 !
  105 !
  106
  107    %CONSTINTEGER used bit   = b'1000000000000000',
  108                  closed     = b'0100000000000000',
  109                  const bit  = b'0010000000000000',
  110                  parameters = b'0001000000000000',
  111                  subname    = b'0000100000000000',
  112                  aname      = b'0000010000000000',
  113                  own bit    = b'0000001000000000',
  114                  prot       = b'0000000100000000',
  115                  spec       = b'0000000010000000'
  116
  117    %CONSTINTEGER trans bit  = x'4000'
  118    %CONSTINTEGER error      = x'8000'
  119
  120    %CONSTINTEGER manifest = 120, figurative = 130
  121    %CONSTINTEGER actions  = 180, phrasal    = 200
  122
  123    %CONSTBYTEINTEGERARRAY amap(0:15) = %C
				mov	w0, 89
				add	x1, x29, 40960
				strb	w0, [x1, 62]
				mov	w1, 91
				add	x2, x29, 40960
				strb	w1, [x2, 63]
				mov	w1, 92
				strb	w1, [x2, 64]
				mov	w1, 104
				strb	w1, [x2, 65]
				mov	w1, 94
				strb	w1, [x2, 66]
				mov	w1, 93
				strb	w1, [x2, 67]
				mov	w1, 105
				strb	w1, [x2, 68]
				mov	w1, 100
				strb	w1, [x2, 69]
				mov	w1, 101
				strb	w1, [x2, 70]
				mov	w1, 102
				strb	w1, [x2, 71]
				mov	w1, 103
				strb	w1, [x2, 72]
				mov	w1, 106
				strb	w1, [x2, 73]
				mov	w1, 107
				strb	w1, [x2, 74]
				mov	w1, 108
				strb	w1, [x2, 75]
				mov	w1, 109
				strb	w1, [x2, 76]
				strb	w0, [x2, 77]
  124  89, 91, 92, 104, 94, const, swit, 100, 101, 102, 103, 106, 107, 108, 109, 89
  125 !?   v   n   l    fm  const  swit  rp   fp   mp   pp   a    an   na   nan  ?
  126
  127    %CONSTBYTEINTEGERARRAY atoms(0:15) = 89, 1, 1, 10,  9,  1, 10,  7,
				add	x1, x29, 36864
				strb	w0, [x1, 4092]
				mov	w21, 1
				strb	w21, [x1, 4093]
				strb	w21, [x1, 4094]
				mov	w1, 10
				add	x2, x29, 36864
				strb	w1, [x2, 4095]
				mov	w2, 9
				add	x3, x29, 40960
				strb	w2, [x3]
				strb	w21, [x3, 1]
				strb	w1, [x3, 2]
				mov	w20, 7
				strb	w20, [x3, 3]
				strb	w20, [x3, 4]
				strb	w20, [x3, 5]
				strb	w20, [x3, 6]
				mov	w19, 4
				strb	w19, [x3, 7]
				strb	w21, [x3, 8]
				strb	w19, [x3, 9]
				strb	w21, [x3, 10]
				strb	w0, [x3, 11]
  128                                          7, 7, 7,  4,  1,  4,  1, 89
  129
  130    %RECORD(arfm)%ARRAY ar(1:rec size)
  131
  132    %OWNINTEGER class        = 0;             !class of atom wanted
  133    %OWNINTEGER x            = 0;             !usually last tag
  134    %OWNINTEGER atom1        = 0;             !atom class (major)
  135    %OWNINTEGER atom2        = 0;             !atom class (minor)
  136    %OWNINTEGER subatom      = 0;             !extra info about atom
  137    %OWNINTEGER type         = 0,
  138                app          = 0,
  139                format       = 0;             !atom info
  140    %INTEGER hash value
  141    %OWNINTEGER faulty       = 0;             !fault indicator
  142    %OWNINTEGER fault rate   = 0;             !fault rate count
  143    %OWNINTEGER lines        = 0;             !current line number
  144    %OWNINTEGER text line    = 0;             !starting line for string const
  145    %OWNINTEGER margin       = 0;             !statement start margin
  146    %OWNINTEGER error margin = 0,
  147                error sym    = 0,
  148                column       = 0
  149    %OWNINTEGER stats        = 0;             !statements compiled
  150    %OWNINTEGER mon pos      = 0;             !flag for diagnose
  151    %OWNINTEGER sym          = nl;            !current input symbol
  152    %OWNINTEGER symtype      = 0;             !type of current symbol
  153    %OWNINTEGER quote        = 0;             !>0 strings, <0 chars
  154    %owninteger end mark     = 0;             !%end flag
  155    %OWNINTEGER cont         = ' ',
  156                csym         = ' ';           !listing continuation marker
  157    %OWNINTEGER decl         = 0;             !current declarator flags
  158    %OWNINTEGER dim          = 0;             !arrayname dimension
  159    %OWNINTEGER spec given   = 0
  160
  161    %OWNINTEGER escape class = 0;             !when and where to escape
  162    %OWNINTEGER protection   = 0,
  163                atom flags   = 0
  164    %OWNINTEGER otype        = 0;             !current 'own' type
  165    %OWNINTEGER reals ln     = 1;             ! =4 for %REALSLONG
  166    %OWNINTEGER last1        = 0;             !previous atom class
  167    %OWNINTEGER gen type     = 0
  168    %OWNINTEGER ptype        = 0;             !current phrase type
  169    %OWNINTEGER papp         = 0;             !current phrase parameters
  170    %OWNINTEGER pformat      = 0;             !current phrase format
  171    %OWNINTEGER force        = 0;             !force next ptype
  172    %OWNINTEGER g            = 0,
  173                gg           = 0,
  174                map gg       = 0;             !grammar entries
  175    %OWNINTEGER fdef         = 0;             !current format definition
  176    %OWNINTEGER this         = -1;            !current recordformat tag
  177    %OWNINTEGER nmin         = 0;             !analysis record atom pointer
  178    %OWNINTEGER nmax         = 0;             !analysis record phrase pointer
  179    %OWNINTEGER rbase        = 0;             !record format definition base
  180    %OWNINTEGER stbase       = 0;             !constant work area base
  181    %OWNINTEGER gmin         = max grammar;   !upper bound on grammar
  182    %OWNINTEGER dmax         = 1
  183    %OWNINTEGER tmin         = max tag;       !upper bound on tags
  184    %OWNINTEGER ss           = 0;             !source statement entry
  185    %STRING(63) include file
  186    %OWNINTEGER include list = 0,
  187                include level= 0
  188    %OWNINTEGER include      = 0;                 !=0 unused, #0 being used
  189    %OWNINTEGER perm         = 1;             !1 = compiling perm, 0 = program
  190    %OWNINTEGER progmode     = 0;             !-1 = file, 1 = begin/eop
  191    %OWNINTEGER sstype       = 0;             !-1:exec stat
  192                                              ! 0: declaration
  193                                              ! 1: block in
  194                                              ! 2: block out
  195    %OWNINTEGER spec mode    = 0;             !>=0: definition
  196                                              ! -1: proc spec
  197                                              ! -2: recordformat
  198    %OWNINTEGER ocount       = -1;            !own constants wanted
  199    %OWNINTEGER limit        = 0;             !lookup limit
  200    %OWNINTEGER copy         = 0;             !duplicate name flag
  201    %OWNINTEGER order        = 0;             !out of sequence flag
  202    %OWNINTEGER for warn     = 0;             !non-local flag
  203    %OWNINTEGER dubious      = 0;             !flag for dubious statements
  204    %OWNINTEGER dp           = 1
  205    %OWNINTEGER pos1         = 0,
  206                pos2         = 0;             !error position
  207    %OWNINTEGER pos          = 0;             !input line index
  208    %OWNINTEGER dimension    = 0;             !current array dimension
  209    %OWNINTEGER local        = 0;             !search limit for locals
  210    %OWNINTEGER fm base      = 0;             !entry for format decls
  211    %OWNINTEGER search base  = 0;             !entry for record_names
  212    %OWNINTEGER format list  = 0;             !size of current format list
  213    %INTEGER recid
  214    %OWNBYTEINTEGERARRAY char(0:133) = nl(134);  !input line
  215    %INTEGERARRAY lit pool(0:lit max)
  216    %OWNINTEGER lit          = 0;             !current literal (integer)
  217    %OWNINTEGER lp           = 0;             !literals pointer
  218    %OWNINTEGER block x      = 0;             !block tag
  219    %OWNINTEGER list         = 1;             !<= to enable
  220    %OWNINTEGER control      = 0
  221    %OWNINTEGER diag         = 0;             !diagnose flags
  222    %SHORTINTEGERARRAY hash(0:max names)
  223    %RECORD(tagfm)%ARRAY tag(0:max tag)
  224    %SHORTINTEGERARRAY dict(1:max dict)
  225    %BYTEINTEGERARRAY buff(1:512)
  226    %OWNINTEGER bp           = 0
  227
  228 !*** start of generated tables ***
  229    %endoflist
  575 !***  end  of generated tables ***
				mov	x2, 65536
				mov	w1, 0
				add	x0, x29, 40960
				add	x0, x0, 78
				bl	memset
		.LVL1007:
				add	x0, x29, 40960
				strb	w21, [x0, 78]
				mov	x0, 90
				add	x1, x29, 40960
				str	x0, [x1, 79]
				strb	w19, [x1, 334]
				mov	x0, 17494
				movk	x0, 0x4345, lsl 16
				add	x1, x29, 40960
				add	x1, x1, 512
				str	x0, [x1, -177]
				add	x0, x29, 40960
				strb	w20, [x0, 590]
				mov	x0, 22351
				movk	x0, 0x564e, lsl 16
				movk	x0, 0x4544, lsl 32
				movk	x0, 0x43, lsl 48
				str	x0, [x1, 79]
				mov	w4, 8
				add	x0, x29, 40960
				strb	w4, [x0, 846]
				mov	x0, 22597
				movk	x0, 0x5654, lsl 16
				movk	x0, 0x5053, lsl 32
				movk	x0, 0x4345, lsl 48
				add	x1, x29, 40960
				add	x1, x1, 1024
				str	x0, [x1, -177]
				add	x0, x29, 40960
				strb	w19, [x0, 1102]
				mov	x0, 17473
				movk	x0, 0x4345, lsl 16
				str	x0, [x1, 79]
				add	x0, x29, 40960
				strb	w20, [x0, 1358]
				mov	x0, 22351
				movk	x0, 0x414e, lsl 16
				movk	x0, 0x4544, lsl 32
				movk	x0, 0x43, lsl 48
				add	x1, x29, 40960
				add	x1, x1, 1536
				str	x0, [x1, -177]
				add	x0, x29, 40960
				strb	w4, [x0, 1614]
				mov	x0, 22597
				movk	x0, 0x4154, lsl 16
				movk	x0, 0x5053, lsl 32
				movk	x0, 0x4345, lsl 48
				str	x0, [x1, 79]
				add	x0, x29, 40960
				strb	w19, [x0, 1870]
				mov	x0, 21072
				movk	x0, 0x434f, lsl 16
				add	x1, x29, 40960
				add	x1, x1, 2048
				str	x0, [x1, -177]
				add	x0, x29, 40960
				strb	w4, [x0, 2126]
				mov	x0, 21072
				movk	x0, 0x434f, lsl 16
				movk	x0, 0x5053, lsl 32
				movk	x0, 0x4345, lsl 48
				str	x0, [x1, 79]
				add	x0, x29, 40960
				strb	w20, [x0, 2382]
				mov	x0, 20294
				movk	x0, 0x4d52, lsl 16
				movk	x0, 0x4544, lsl 32
				movk	x0, 0x43, lsl 48
				add	x1, x29, 40960
				add	x1, x1, 2560
				str	x0, [x1, -177]
				mov	w0, 5
				add	x1, x29, 40960
				strb	w0, [x1, 2638]
				mov	x1, 22355
				movk	x1, 0x4544, lsl 16
				movk	x1, 0x43, lsl 32
				add	x2, x29, 40960
				add	x2, x2, 2560
				str	x1, [x2, 79]
				add	x1, x29, 40960
				strb	w19, [x1, 2894]
				mov	x1, 17484
				movk	x1, 0x4345, lsl 16
				add	x2, x29, 40960
				add	x2, x2, 3072
				str	x1, [x2, -177]
				add	x1, x29, 40960
				strb	w4, [x1, 3150]
				mov	x1, 20294
				movk	x1, 0x4d52, lsl 16
				movk	x1, 0x5053, lsl 32
				movk	x1, 0x4345, lsl 48
				str	x1, [x2, 79]
				mov	w1, 6
				add	x2, x29, 45056
				strb	w1, [x2, 590]
				mov	x2, 20559
				movk	x2, 0x4954, lsl 16
				movk	x2, 0x4e4f, lsl 32
				add	x3, x29, 45056
				add	x3, x3, 512
				str	x2, [x3, 79]
				add	x2, x29, 45056
				strb	w0, [x2, 846]
				mov	x2, 20291
				movk	x2, 0x4d4d, lsl 16
				movk	x2, 0x41, lsl 32
				add	x3, x29, 45056
				add	x3, x3, 1024
				str	x2, [x3, -177]
				add	x2, x29, 45056
				strb	w21, [x2, 1102]
				mov	x2, 84
				str	x2, [x3, 79]
				add	x2, x29, 45056
				strb	w0, [x2, 1358]
				mov	x2, 20291
				movk	x2, 0x4f4c, lsl 16
				movk	x2, 0x4e, lsl 32
				add	x3, x29, 45056
				add	x3, x3, 1536
				str	x2, [x3, -177]
				add	x2, x29, 45056
				strb	w20, [x2, 1614]
				mov	x2, 20291
				movk	x2, 0x4d4d, lsl 16
				movk	x2, 0x4e45, lsl 32
				movk	x2, 0x54, lsl 48
				str	x2, [x3, 79]
				mov	w3, 2
				add	x2, x29, 45056
				strb	w3, [x2, 1870]
				mov	x2, 16972
				add	x5, x29, 45056
				add	x5, x5, 2048
				str	x2, [x5, -177]
				add	x2, x29, 45056
				strb	w0, [x2, 2126]
				mov	x2, 19521
				movk	x2, 0x4149, lsl 16
				movk	x2, 0x53, lsl 32
				str	x2, [x5, 79]
				add	x2, x29, 45056
				strb	w3, [x2, 2382]
				mov	x2, 16978
				add	x5, x29, 45056
				add	x5, x5, 2560
				str	x2, [x5, -177]
				mov	w2, 3
				add	x5, x29, 45056
				strb	w2, [x5, 2638]
				mov	x5, 21843
				movk	x5, 0x42, lsl 16
				add	x6, x29, 45056
				add	x6, x6, 2560
				str	x5, [x6, 79]
				add	x5, x29, 45056
				strb	w1, [x5, 2894]
				mov	x5, 21057
				movk	x5, 0x4152, lsl 16
				movk	x5, 0x4459, lsl 32
				add	x6, x29, 45056
				add	x6, x6, 3072
				str	x5, [x6, -177]
				add	x5, x29, 45056
				strb	w0, [x5, 3150]
				mov	x5, 21587
				movk	x5, 0x5059, lsl 16
				movk	x5, 0x45, lsl 32
				str	x5, [x6, 79]
				add	x5, x29, 45056
				strb	w0, [x5, 3406]
				mov	x5, 21057
				movk	x5, 0x4152, lsl 16
				movk	x5, 0x59, lsl 32
				add	x6, x29, 45056
				add	x6, x6, 3584
				str	x5, [x6, -177]
				add	x5, x29, 45056
				strb	w19, [x5, 3662]
				mov	x5, 16718
				movk	x5, 0x454d, lsl 16
				str	x5, [x6, 79]
				add	x5, x29, 45056
				strb	w0, [x5, 3918]
				mov	x5, 21072
				movk	x5, 0x434f, lsl 16
				movk	x5, 0x44, lsl 32
				add	x6, x29, 49152
				str	x5, [x6, -177]
				strb	w0, [x6, 78]
				mov	x5, 20038
				movk	x5, 0x414d, lsl 16
				movk	x5, 0x50, lsl 32
				str	x5, [x6, 79]
				strb	w1, [x6, 334]
				mov	x5, 22355
				movk	x5, 0x5449, lsl 16
				movk	x5, 0x4843, lsl 32
				add	x6, x29, 49152
				add	x6, x6, 512
				str	x5, [x6, -177]
				add	x5, x29, 49152
				strb	w2, [x5, 590]
				mov	x5, 22351
				movk	x5, 0x4e, lsl 16
				str	x5, [x6, 79]
				add	x5, x29, 49152
				strb	w4, [x5, 846]
				mov	x5, 22597
				movk	x5, 0x4554, lsl 16
				movk	x5, 0x4e52, lsl 32
				movk	x5, 0x4c41, lsl 48
				add	x6, x29, 49152
				add	x6, x6, 1024
				str	x5, [x6, -177]
				add	x5, x29, 49152
				strb	w1, [x5, 1102]
				mov	x5, 21587
				movk	x5, 0x4952, lsl 16
				movk	x5, 0x474e, lsl 32
				str	x5, [x6, 79]
				add	x5, x29, 49152
				strb	w1, [x5, 1358]
				mov	x5, 17746
				movk	x5, 0x4f43, lsl 16
				movk	x5, 0x4452, lsl 32
				add	x6, x29, 49152
				add	x6, x6, 1536
				str	x5, [x6, -177]
				add	x5, x29, 49152
				strb	w1, [x5, 1614]
				mov	x5, 20294
				movk	x5, 0x4d52, lsl 16
				movk	x5, 0x5441, lsl 32
				str	x5, [x6, 79]
				add	x5, x29, 49152
				strb	w19, [x5, 1870]
				mov	x5, 20563
				movk	x5, 0x4345, lsl 16
				add	x6, x29, 49152
				add	x6, x6, 2048
				str	x5, [x6, -177]
				add	x5, x29, 49152
				strb	w0, [x5, 2126]
				mov	x5, 17229
				movk	x5, 0x444f, lsl 16
				movk	x5, 0x45, lsl 32
				str	x5, [x6, 79]
				add	x5, x29, 49152
				strb	w0, [x5, 2382]
				mov	x5, 16716
				movk	x5, 0x4542, lsl 16
				movk	x5, 0x4c, lsl 32
				add	x6, x29, 49152
				add	x6, x6, 2560
				str	x5, [x6, -177]
				add	x5, x29, 49152
				strb	w2, [x5, 2638]
				mov	x5, 20559
				movk	x5, 0x31, lsl 16
				str	x5, [x6, 79]
				add	x5, x29, 49152
				strb	w2, [x5, 2894]
				mov	x5, 20559
				movk	x5, 0x32, lsl 16
				add	x6, x29, 49152
				add	x6, x6, 3072
				str	x5, [x6, -177]
				add	x5, x29, 49152
				strb	w2, [x5, 3150]
				mov	x5, 20559
				movk	x5, 0x33, lsl 16
				str	x5, [x6, 79]
				add	x5, x29, 49152
				strb	w19, [x5, 3406]
				mov	x5, 18771
				movk	x5, 0x4e47, lsl 16
				add	x6, x29, 49152
				add	x6, x6, 3584
				str	x5, [x6, -177]
				add	x5, x29, 49152
				strb	w2, [x5, 3662]
				mov	x5, 20309
				movk	x5, 0x50, lsl 16
				str	x5, [x6, 79]
				add	x5, x29, 49152
				strb	w2, [x5, 3918]
				mov	x5, 20301
				movk	x5, 0x44, lsl 16
				add	x6, x29, 53248
				str	x5, [x6, -177]
				strb	w2, [x6, 78]
				mov	x5, 20292
				movk	x5, 0x54, lsl 16
				str	x5, [x6, 79]
				strb	w19, [x6, 334]
				mov	x5, 20291
				movk	x5, 0x504d, lsl 16
				add	x6, x29, 53248
				add	x6, x6, 512
				str	x5, [x6, -177]
				add	x5, x29, 53248
				strb	w0, [x5, 590]
				mov	x5, 17217
				movk	x5, 0x4d4f, lsl 16
				movk	x5, 0x50, lsl 32
				str	x5, [x6, 79]
				add	x5, x29, 53248
				strb	w3, [x5, 846]
				mov	x5, 20805
				add	x6, x29, 53248
				add	x6, x6, 1024
				str	x5, [x6, -177]
				add	x5, x29, 53248
				strb	w19, [x5, 1102]
				mov	x5, 20805
				movk	x5, 0x5145, lsl 16
				str	x5, [x6, 79]
				add	x5, x29, 53248
				strb	w2, [x5, 1358]
				mov	x5, 16714
				movk	x5, 0x4d, lsl 16
				add	x6, x29, 53248
				add	x6, x6, 1536
				str	x5, [x6, -177]
				add	x5, x29, 53248
				strb	w19, [x5, 1614]
				mov	x5, 21834
				movk	x5, 0x504d, lsl 16
				str	x5, [x6, 79]
				add	x5, x29, 53248
				strb	w0, [x5, 1870]
				mov	x5, 17746
				movk	x5, 0x4f53, lsl 16
				movk	x5, 0x50, lsl 32
				add	x6, x29, 53248
				add	x6, x6, 2048
				str	x5, [x6, -177]
				add	x5, x29, 53248
				strb	w2, [x5, 2126]
				mov	x5, 20033
				movk	x5, 0x44, lsl 16
				str	x5, [x6, 79]
				add	x5, x29, 53248
				strb	w3, [x5, 2382]
				mov	x5, 21071
				add	x6, x29, 53248
				add	x6, x6, 2560
				str	x5, [x6, -177]
				add	x5, x29, 53248
				strb	w2, [x5, 2638]
				mov	x5, 20302
				movk	x5, 0x54, lsl 16
				str	x5, [x6, 79]
				add	x5, x29, 53248
				strb	w0, [x5, 2894]
				mov	x5, 18519
				movk	x5, 0x4c49, lsl 16
				movk	x5, 0x45, lsl 32
				add	x6, x29, 53248
				add	x6, x6, 3072
				str	x5, [x6, -177]
				add	x5, x29, 53248
				strb	w0, [x5, 3150]
				mov	x5, 20053
				movk	x5, 0x4954, lsl 16
				movk	x5, 0x4c, lsl 32
				str	x5, [x6, 79]
				add	x5, x29, 53248
				strb	w2, [x5, 3406]
				mov	x5, 20294
				movk	x5, 0x52, lsl 16
				add	x6, x29, 53248
				add	x6, x6, 3584
				str	x5, [x6, -177]
				add	x5, x29, 53248
				strb	w0, [x5, 3662]
				mov	x5, 22339
				movk	x5, 0x524f, lsl 16
				movk	x5, 0x44, lsl 32
				str	x5, [x6, 79]
				add	x5, x29, 53248
				strb	w19, [x5, 3918]
				mov	x5, 22597
				movk	x5, 0x5449, lsl 16
				add	x6, x29, 57344
				str	x5, [x6, -177]
				strb	w3, [x6, 78]
				mov	x5, 20047
				str	x5, [x6, 79]
				strb	w1, [x6, 334]
				mov	x5, 18771
				movk	x5, 0x4e47, lsl 16
				movk	x5, 0x4c41, lsl 32
				add	x6, x29, 57344
				add	x6, x6, 512
				str	x5, [x6, -177]
				add	x5, x29, 57344
				strb	w19, [x5, 590]
				mov	x5, 18516
				movk	x5, 0x4e45, lsl 16
				str	x5, [x6, 79]
				add	x5, x29, 57344
				strb	w0, [x5, 846]
				mov	x5, 21587
				movk	x5, 0x5241, lsl 16
				movk	x5, 0x54, lsl 32
				add	x6, x29, 57344
				add	x6, x6, 1024
				str	x5, [x6, -177]
				add	x5, x29, 57344
				strb	w19, [x5, 1102]
				mov	x5, 19525
				movk	x5, 0x4553, lsl 16
				str	x5, [x6, 79]
				add	x5, x29, 57344
				strb	w1, [x5, 1358]
				mov	x5, 18758
				movk	x5, 0x494e, lsl 16
				movk	x5, 0x4853, lsl 32
				add	x6, x29, 57344
				add	x6, x6, 1536
				str	x5, [x6, -177]
				add	x5, x29, 57344
				strb	w0, [x5, 1614]
				mov	x5, 17734
				movk	x5, 0x534c, lsl 16
				movk	x5, 0x45, lsl 32
				str	x5, [x6, 79]
				add	x5, x29, 57344
				strb	w0, [x5, 1870]
				mov	x5, 22851
				movk	x5, 0x4c43, lsl 16
				movk	x5, 0x45, lsl 32
				add	x6, x29, 57344
				add	x6, x6, 2048
				str	x5, [x6, -177]
				add	x5, x29, 57344
				strb	w1, [x5, 2126]
				mov	x5, 17746
				movk	x5, 0x4550, lsl 16
				movk	x5, 0x5441, lsl 32
				str	x5, [x6, 79]
				add	x5, x29, 57344
				strb	w20, [x5, 2382]
				mov	x5, 21072
				movk	x5, 0x474f, lsl 16
				movk	x5, 0x4152, lsl 32
				movk	x5, 0x4d, lsl 48
				add	x6, x29, 57344
				add	x6, x6, 2560
				str	x5, [x6, -177]
				add	x5, x29, 57344
				strb	w0, [x5, 2638]
				mov	x5, 17730
				movk	x5, 0x4947, lsl 16
				movk	x5, 0x4e, lsl 32
				str	x5, [x6, 79]
				add	x5, x29, 57344
				strb	w2, [x5, 2894]
				mov	x5, 20037
				movk	x5, 0x44, lsl 16
				add	x6, x29, 57344
				add	x6, x6, 3072
				str	x5, [x6, -177]
				add	x5, x29, 57344
				strb	w20, [x5, 3150]
				mov	x5, 20037
				movk	x5, 0x5044, lsl 16
				movk	x5, 0x4f52, lsl 32
				movk	x5, 0x47, lsl 48
				str	x5, [x6, 79]
				add	x5, x29, 57344
				strb	w20, [x5, 3406]
				mov	x5, 20037
				movk	x5, 0x5044, lsl 16
				movk	x5, 0x5245, lsl 32
				movk	x5, 0x4d, lsl 48
				add	x6, x29, 57344
				add	x6, x6, 3584
				str	x5, [x6, -177]
				add	x5, x29, 57344
				strb	w20, [x5, 3662]
				mov	x5, 21062
				movk	x5, 0x5345, lsl 16
				movk	x5, 0x4c55, lsl 32
				movk	x5, 0x54, lsl 48
				str	x5, [x6, 79]
				add	x5, x29, 57344
				strb	w20, [x5, 3918]
				mov	x5, 21069
				movk	x5, 0x5345, lsl 16
				movk	x5, 0x4c55, lsl 32
				movk	x5, 0x54, lsl 48
				add	x6, x29, 61440
				str	x5, [x6, -177]
				strb	w19, [x6, 78]
				mov	x5, 16706
				movk	x5, 0x4b43, lsl 16
				str	x5, [x6, 79]
				strb	w20, [x6, 334]
				mov	x5, 20301
				movk	x5, 0x494e, lsl 16
				movk	x5, 0x4f54, lsl 32
				movk	x5, 0x52, lsl 48
				add	x6, x29, 61440
				add	x6, x6, 512
				str	x5, [x6, -177]
				add	x5, x29, 61440
				strb	w19, [x5, 590]
				mov	x5, 21587
				movk	x5, 0x504f, lsl 16
				str	x5, [x6, 79]
				add	x5, x29, 61440
				strb	w19, [x5, 846]
				mov	x5, 18764
				movk	x5, 0x5453, lsl 16
				add	x6, x29, 61440
				add	x6, x6, 1024
				str	x5, [x6, -177]
				add	x5, x29, 61440
				strb	w20, [x5, 1102]
				mov	x5, 17746
				movk	x5, 0x4c41, lsl 16
				movk	x5, 0x4c53, lsl 32
				movk	x5, 0x4e, lsl 48
				str	x5, [x6, 79]
				add	x5, x29, 61440
				strb	w20, [x5, 1358]
				mov	x5, 20291
				movk	x5, 0x544e, lsl 16
				movk	x5, 0x4f52, lsl 32
				movk	x5, 0x4c, lsl 48
				add	x6, x29, 61440
				add	x6, x6, 1536
				str	x5, [x6, -177]
				add	x5, x29, 61440
				strb	w20, [x5, 1614]
				mov	x5, 20041
				movk	x5, 0x4c43, lsl 16
				movk	x5, 0x4455, lsl 32
				movk	x5, 0x45, lsl 48
				str	x5, [x6, 79]
				add	x5, x29, 61440
				strb	w19, [x5, 1870]
				mov	x5, 16717
				movk	x5, 0x5353, lsl 16
				add	x6, x29, 61440
				add	x6, x6, 2048
				str	x5, [x6, -177]
				add	x5, x29, 61440
				strb	w0, [x5, 2126]
				mov	x5, 21586
				movk	x5, 0x5059, lsl 16
				movk	x5, 0x45, lsl 32
				str	x5, [x6, 79]
				add	x5, x29, 61440
				strb	w0, [x5, 2382]
				mov	x5, 17473
				movk	x5, 0x4f44, lsl 16
				movk	x5, 0x50, lsl 32
				add	x6, x29, 61440
				add	x6, x6, 2560
				str	x5, [x6, -177]
				add	x5, x29, 61440
				strb	w0, [x5, 2638]
				mov	x5, 17481
				movk	x5, 0x4e45, lsl 16
				movk	x5, 0x54, lsl 32
				str	x5, [x6, 79]
				add	x5, x29, 61440
				strb	w21, [x5, 2894]
				mov	x5, 86
				add	x6, x29, 61440
				add	x6, x6, 3072
				str	x5, [x6, -177]
				add	x5, x29, 61440
				strb	w21, [x5, 3150]
				mov	x5, 78
				str	x5, [x6, 79]
				add	x5, x29, 61440
				strb	w0, [x5, 3406]
				mov	x5, 20291
				movk	x5, 0x534e, lsl 16
				movk	x5, 0x54, lsl 32
				add	x6, x29, 61440
				add	x6, x6, 3584
				str	x5, [x6, -177]
				add	x5, x29, 61440
				strb	w3, [x5, 3662]
				mov	x5, 19782
				str	x5, [x6, 79]
				add	x5, x29, 65536
				strb	w21, [x5, 78]
				mov	x5, 82
				add	x6, x29, 65536
				str	x5, [x6, 79]
				strb	w21, [x6, 334]
				mov	x5, 70
				add	x6, x29, 65536
				add	x6, x6, 512
				str	x5, [x6, -177]
				add	x5, x29, 65536
				strb	w21, [x5, 590]
				mov	x5, 77
				str	x5, [x6, 79]
				add	x5, x29, 65536
				strb	w21, [x5, 846]
				mov	x5, 80
				add	x6, x29, 65536
				add	x6, x6, 1024
				str	x5, [x6, -177]
				add	x5, x29, 65536
				strb	w3, [x5, 1102]
				mov	x5, 20562
				str	x5, [x6, 79]
				add	x5, x29, 65536
				strb	w3, [x5, 1358]
				mov	x5, 20550
				add	x6, x29, 65536
				add	x6, x6, 1536
				str	x5, [x6, -177]
				add	x5, x29, 65536
				strb	w3, [x5, 1614]
				mov	x5, 20557
				str	x5, [x6, 79]
				add	x5, x29, 65536
				strb	w3, [x5, 1870]
				mov	x5, 20560
				add	x6, x29, 65536
				add	x6, x6, 2048
				str	x5, [x6, -177]
				add	x5, x29, 65536
				strb	w21, [x5, 2126]
				mov	x5, 76
				str	x5, [x6, 79]
				add	x5, x29, 65536
				strb	w21, [x5, 2382]
				mov	x5, 83
				add	x6, x29, 65536
				add	x6, x6, 2560
				str	x5, [x6, -177]
				add	x5, x29, 65536
				strb	w21, [x5, 2638]
				mov	x5, 65
				str	x5, [x6, 79]
				add	x5, x29, 65536
				strb	w3, [x5, 2894]
				mov	x5, 20033
				add	x6, x29, 65536
				add	x6, x6, 3072
				str	x5, [x6, -177]
				add	x5, x29, 65536
				strb	w3, [x5, 3150]
				mov	x3, 16718
				str	x3, [x6, 79]
				add	x3, x29, 65536
				strb	w2, [x3, 3406]
				mov	x3, 16718
				movk	x3, 0x4e, lsl 16
				add	x5, x29, 65536
				add	x5, x5, 3584
				str	x3, [x5, -177]
				add	x3, x29, 69632
				strb	w20, [x3, 2126]
				mov	x3, 19749
				movk	x3, 0x5453, lsl 16
				movk	x3, 0x5241, lsl 32
				movk	x3, 0x54, lsl 48
				add	x5, x29, 69632
				add	x5, x5, 2048
				str	x3, [x5, 79]
				add	x3, x29, 69632
				strb	w1, [x3, 2382]
				mov	x3, 17189
				movk	x3, 0x454c, lsl 16
				movk	x3, 0x5241, lsl 32
				add	x5, x29, 69632
				add	x5, x5, 2560
				str	x3, [x5, -177]
				add	x3, x29, 69632
				strb	w0, [x3, 2638]
				mov	x3, 20517
				movk	x3, 0x4552, lsl 16
				movk	x3, 0x44, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 69632
				strb	w4, [x3, 3150]
				mov	x3, 17445
				movk	x3, 0x4255, lsl 16
				movk	x3, 0x4f49, lsl 32
				movk	x3, 0x5355, lsl 48
				add	x5, x29, 69632
				add	x5, x5, 3072
				str	x3, [x5, 79]
				add	x3, x29, 69632
				strb	w19, [x3, 3406]
				mov	x3, 17445
				movk	x3, 0x5055, lsl 16
				add	x5, x29, 69632
				add	x5, x5, 3584
				str	x3, [x5, -177]
				add	x3, x29, 69632
				strb	w19, [x3, 3662]
				mov	x3, 20517
				movk	x3, 0x4e49, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 69632
				strb	w0, [x3, 3918]
				mov	x3, 20517
				movk	x3, 0x554f, lsl 16
				movk	x3, 0x54, lsl 32
				add	x5, x29, 73728
				str	x3, [x5, -177]
				strb	w0, [x5, 78]
				mov	x3, 17701
				movk	x3, 0x5544, lsl 16
				movk	x3, 0x50, lsl 32
				str	x3, [x5, 79]
				strb	w1, [x5, 590]
				mov	x3, 18768
				movk	x3, 0x4544, lsl 16
				movk	x3, 0x544e, lsl 32
				add	x5, x29, 73728
				add	x5, x5, 512
				str	x3, [x5, 79]
				add	x3, x29, 73728
				strb	w1, [x3, 846]
				mov	x3, 18755
				movk	x3, 0x4544, lsl 16
				movk	x3, 0x544e, lsl 32
				add	x5, x29, 73728
				add	x5, x5, 1024
				str	x3, [x5, -177]
				add	x3, x29, 73728
				strb	w1, [x3, 1102]
				mov	x3, 18767
				movk	x3, 0x4544, lsl 16
				movk	x3, 0x544e, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 73728
				strb	w0, [x3, 1358]
				mov	x3, 20038
				movk	x3, 0x4d41, lsl 16
				movk	x3, 0x45, lsl 32
				add	x5, x29, 73728
				add	x5, x5, 1536
				str	x3, [x5, -177]
				add	x3, x29, 73728
				strb	w19, [x3, 1614]
				mov	x3, 22355
				movk	x3, 0x4449, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 73728
				strb	w19, [x3, 1870]
				mov	x3, 20292
				movk	x3, 0x4c54, lsl 16
				add	x5, x29, 73728
				add	x5, x5, 2048
				str	x3, [x5, -177]
				add	x3, x29, 73728
				strb	w19, [x3, 2126]
				mov	x3, 20292
				movk	x3, 0x5254, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 73728
				strb	w19, [x3, 2382]
				mov	x3, 21313
				movk	x3, 0x5045, lsl 16
				add	x5, x29, 73728
				add	x5, x5, 2560
				str	x3, [x5, -177]
				add	x3, x29, 73728
				strb	w19, [x3, 2638]
				mov	x3, 21315
				movk	x3, 0x5045, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 73728
				strb	w19, [x3, 2894]
				mov	x3, 21327
				movk	x3, 0x5045, lsl 16
				add	x5, x29, 73728
				add	x5, x5, 3072
				str	x3, [x5, -177]
				add	x3, x29, 73728
				strb	w19, [x3, 3150]
				mov	x3, 21328
				movk	x3, 0x5045, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 73728
				strb	w2, [x3, 3406]
				mov	x3, 21057
				movk	x3, 0x42, lsl 16
				add	x5, x29, 73728
				add	x5, x5, 3584
				str	x3, [x5, -177]
				add	x3, x29, 73728
				strb	w0, [x3, 3662]
				mov	x3, 20546
				movk	x3, 0x524c, lsl 16
				movk	x3, 0x42, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 73728
				strb	w2, [x3, 3918]
				mov	x3, 21071
				movk	x3, 0x42, lsl 16
				add	x5, x29, 77824
				str	x3, [x5, -177]
				strb	w2, [x5, 78]
				mov	x3, 21072
				movk	x3, 0x42, lsl 16
				str	x3, [x5, 79]
				strb	w2, [x5, 334]
				mov	x3, 21059
				movk	x3, 0x42, lsl 16
				add	x5, x29, 77824
				add	x5, x5, 512
				str	x3, [x5, -177]
				add	x3, x29, 77824
				strb	w19, [x3, 590]
				mov	x3, 17234
				movk	x3, 0x4252, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 77824
				strb	w0, [x3, 846]
				mov	x3, 17746
				movk	x3, 0x5243, lsl 16
				movk	x3, 0x42, lsl 32
				add	x5, x29, 77824
				add	x5, x5, 1024
				str	x3, [x5, -177]
				add	x3, x29, 77824
				strb	w0, [x3, 1102]
				mov	x3, 17746
				movk	x3, 0x4c43, lsl 16
				movk	x3, 0x42, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 77824
				strb	w2, [x3, 1358]
				mov	x3, 16716
				movk	x3, 0x42, lsl 16
				add	x5, x29, 77824
				add	x5, x5, 1536
				str	x3, [x5, -177]
				add	x3, x29, 77824
				strb	w19, [x3, 1614]
				mov	x3, 19533
				movk	x3, 0x4241, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 77824
				strb	w19, [x3, 1870]
				mov	x3, 19539
				movk	x3, 0x4241, lsl 16
				add	x5, x29, 77824
				add	x5, x5, 2048
				str	x3, [x5, -177]
				add	x3, x29, 77824
				strb	w0, [x3, 2126]
				mov	x3, 20056
				movk	x3, 0x4d41, lsl 16
				movk	x3, 0x45, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 77824
				strb	w19, [x3, 2382]
				mov	x3, 22351
				movk	x3, 0x544e, lsl 16
				add	x5, x29, 77824
				add	x5, x5, 2560
				str	x3, [x5, -177]
				add	x3, x29, 77824
				strb	w0, [x3, 2638]
				mov	x3, 16964
				movk	x3, 0x4553, lsl 16
				movk	x3, 0x50, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 77824
				strb	w1, [x3, 2894]
				mov	x3, 17232
				movk	x3, 0x4e4f, lsl 16
				movk	x3, 0x5453, lsl 32
				add	x5, x29, 77824
				add	x5, x5, 3072
				str	x3, [x5, -177]
				add	x3, x29, 77824
				strb	w19, [x3, 3150]
				mov	x3, 19779
				movk	x3, 0x444f, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 77824
				strb	w0, [x3, 3406]
				mov	x3, 21315
				movk	x3, 0x4749, lsl 16
				movk	x3, 0x4e, lsl 32
				add	x5, x29, 77824
				add	x5, x5, 3584
				str	x3, [x5, -177]
				add	x3, x29, 77824
				strb	w19, [x3, 3662]
				mov	x3, 21827
				movk	x3, 0x504f, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 77824
				strb	w19, [x3, 3918]
				mov	x3, 20291
				movk	x3, 0x3150, lsl 16
				add	x5, x29, 81920
				str	x3, [x5, -177]
				strb	w19, [x5, 78]
				mov	x3, 20291
				movk	x3, 0x3250, lsl 16
				str	x3, [x5, 79]
				strb	w19, [x5, 334]
				mov	x3, 20291
				movk	x3, 0x3350, lsl 16
				add	x5, x29, 81920
				add	x5, x5, 512
				str	x3, [x5, -177]
				add	x3, x29, 81920
				strb	w0, [x3, 590]
				mov	x3, 20041
				movk	x3, 0x4544, lsl 16
				movk	x3, 0x46, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 81920
				strb	w0, [x3, 846]
				mov	x3, 17752
				movk	x3, 0x534c, lsl 16
				movk	x3, 0x45, lsl 32
				add	x5, x29, 81920
				add	x5, x5, 1024
				str	x3, [x5, -177]
				add	x3, x29, 81920
				strb	w1, [x3, 1102]
				mov	x3, 21059
				movk	x3, 0x5345, lsl 16
				movk	x3, 0x504f, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 81920
				strb	w19, [x3, 1358]
				mov	x3, 19534
				movk	x3, 0x4241, lsl 16
				add	x5, x29, 81920
				add	x5, x5, 1536
				str	x3, [x5, -177]
				add	x3, x29, 81920
				strb	w1, [x3, 1614]
				mov	x3, 21842
				movk	x3, 0x544e, lsl 16
				movk	x3, 0x4c49, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 81920
				strb	w1, [x3, 1870]
				mov	x3, 17217
				movk	x3, 0x4e4f, lsl 16
				movk	x3, 0x5453, lsl 32
				add	x5, x29, 81920
				add	x5, x5, 2048
				str	x3, [x5, -177]
				add	x3, x29, 81920
				strb	w19, [x3, 2126]
				mov	x3, 21071
				movk	x3, 0x4252, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 81920
				strb	w0, [x3, 2382]
				mov	x3, 19782
				movk	x3, 0x4e41, lsl 16
				movk	x3, 0x59, lsl 32
				add	x5, x29, 81920
				add	x5, x5, 2560
				str	x3, [x5, -177]
				add	x3, x29, 81920
				strb	w20, [x3, 2638]
				mov	x3, 21327
				movk	x3, 0x5254, lsl 16
				movk	x3, 0x4e49, lsl 32
				movk	x3, 0x47, lsl 48
				str	x3, [x5, 79]
				add	x3, x29, 81920
				strb	w19, [x3, 2894]
				mov	x3, 19782
				movk	x3, 0x424c, lsl 16
				add	x5, x29, 81920
				add	x5, x5, 3072
				str	x3, [x5, -177]
				add	x3, x29, 81920
				strb	w19, [x3, 3150]
				mov	x3, 19782
				movk	x3, 0x4252, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 81920
				strb	w19, [x3, 3406]
				mov	x3, 19782
				movk	x3, 0x524f, lsl 16
				add	x5, x29, 81920
				add	x5, x5, 3584
				str	x3, [x5, -177]
				add	x3, x29, 81920
				strb	w20, [x3, 3662]
				mov	x3, 16722
				movk	x3, 0x474e, lsl 16
				movk	x3, 0x5245, lsl 32
				movk	x3, 0x42, lsl 48
				str	x3, [x5, 79]
				add	x3, x29, 81920
				strb	w19, [x3, 3918]
				mov	x3, 21318
				movk	x3, 0x4449, lsl 16
				add	x5, x29, 86016
				str	x3, [x5, -177]
				strb	w1, [x5, 1358]
				mov	x3, 17445
				movk	x3, 0x4d55, lsl 16
				movk	x3, 0x594d, lsl 32
				add	x5, x29, 86016
				add	x5, x5, 1536
				str	x3, [x5, -177]
				add	x3, x29, 86016
				strb	w0, [x3, 1614]
				mov	x3, 17445
				movk	x3, 0x4345, lsl 16
				movk	x3, 0x4c, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 86016
				strb	w0, [x3, 1870]
				mov	x3, 21541
				movk	x3, 0x5059, lsl 16
				movk	x3, 0x45, lsl 32
				add	x5, x29, 86016
				add	x5, x5, 2048
				str	x3, [x5, -177]
				add	x3, x29, 86016
				strb	w0, [x3, 2126]
				mov	x3, 23077
				movk	x3, 0x5245, lsl 16
				movk	x3, 0x4f, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 86016
				strb	w1, [x3, 2382]
				mov	x3, 16677
				movk	x3, 0x5050, lsl 16
				movk	x3, 0x594c, lsl 32
				add	x5, x29, 86016
				add	x5, x5, 2560
				str	x3, [x5, -177]
				add	x3, x29, 86016
				strb	w0, [x3, 2638]
				mov	x3, 20517
				movk	x3, 0x4f52, lsl 16
				movk	x3, 0x54, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 86016
				strb	w4, [x3, 2894]
				mov	x3, 21285
				movk	x3, 0x5445, lsl 16
				movk	x3, 0x5250, lsl 32
				movk	x3, 0x544f, lsl 48
				add	x5, x29, 86016
				add	x5, x5, 3072
				str	x3, [x5, -177]
				add	x3, x29, 86016
				strb	w1, [x3, 3150]
				mov	x3, 20517
				movk	x3, 0x5954, lsl 16
				movk	x3, 0x4550, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 86016
				strb	w0, [x3, 3406]
				mov	x3, 18213
				movk	x3, 0x5041, lsl 16
				movk	x3, 0x50, lsl 32
				add	x5, x29, 86016
				add	x5, x5, 3584
				str	x3, [x5, -177]
				add	x3, x29, 86016
				strb	w1, [x3, 3662]
				mov	x3, 19493
				movk	x3, 0x434f, lsl 16
				movk	x3, 0x4c41, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 86016
				strb	w1, [x3, 3918]
				mov	x3, 18213
				movk	x3, 0x4155, lsl 16
				movk	x3, 0x4452, lsl 32
				add	x5, x29, 90112
				str	x3, [x5, -177]
				strb	w1, [x5, 78]
				mov	x3, 19749
				movk	x3, 0x4f43, lsl 16
				movk	x3, 0x4544, lsl 32
				str	x3, [x5, 79]
				strb	w20, [x5, 334]
				mov	x3, 17189
				movk	x3, 0x5544, lsl 16
				movk	x3, 0x4d4d, lsl 32
				movk	x3, 0x59, lsl 48
				add	x5, x29, 90112
				add	x5, x5, 512
				str	x3, [x5, -177]
				add	x3, x29, 90112
				strb	w4, [x3, 590]
				mov	x3, 21285
				movk	x3, 0x5445, lsl 16
				movk	x3, 0x5954, lsl 32
				movk	x3, 0x4550, lsl 48
				str	x3, [x5, 79]
				add	x3, x29, 90112
				strb	w0, [x3, 846]
				mov	x3, 20261
				movk	x3, 0x4550, lsl 16
				movk	x3, 0x52, lsl 32
				add	x5, x29, 90112
				add	x5, x5, 1024
				str	x3, [x5, -177]
				add	x3, x29, 90112
				strb	w1, [x3, 1102]
				mov	x3, 20517
				movk	x3, 0x5241, lsl 16
				movk	x3, 0x4d41, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 90112
				strb	w1, [x3, 1358]
				mov	x3, 16933
				movk	x3, 0x4f4c, lsl 16
				movk	x3, 0x4b43, lsl 32
				add	x5, x29, 90112
				add	x5, x5, 1536
				str	x3, [x5, -177]
				add	x3, x29, 90112
				strb	w1, [x3, 1614]
				mov	x3, 20261
				movk	x3, 0x4854, lsl 16
				movk	x3, 0x5245, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 90112
				strb	w4, [x3, 1870]
				mov	x3, 17189
				movk	x3, 0x4d4f, lsl 16
				movk	x3, 0x4950, lsl 32
				movk	x3, 0x454c, lsl 48
				add	x5, x29, 90112
				add	x5, x5, 2048
				str	x3, [x5, -177]
				add	x3, x29, 90112
				strb	w2, [x3, 2126]
				mov	x3, 20545
				movk	x3, 0x50, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 90112
				strb	w20, [x3, 2382]
				mov	x3, 16706
				movk	x3, 0x4553, lsl 16
				movk	x3, 0x5041, lsl 32
				movk	x3, 0x50, lsl 48
				add	x5, x29, 90112
				add	x5, x5, 2560
				str	x3, [x5, -177]
				add	x3, x29, 90112
				strb	w19, [x3, 2638]
				mov	x3, 20545
				movk	x3, 0x3250, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 90112
				strb	w19, [x3, 2894]
				mov	x3, 20545
				movk	x3, 0x3350, lsl 16
				add	x5, x29, 90112
				add	x5, x5, 3072
				str	x3, [x5, -177]
				add	x3, x29, 90112
				strb	w19, [x3, 3150]
				mov	x3, 20545
				movk	x3, 0x3450, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 90112
				strb	w19, [x3, 3406]
				mov	x3, 20545
				movk	x3, 0x3550, lsl 16
				add	x5, x29, 90112
				add	x5, x5, 3584
				str	x3, [x5, -177]
				add	x3, x29, 90112
				strb	w19, [x3, 3662]
				mov	x3, 20545
				movk	x3, 0x3650, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 90112
				strb	w0, [x3, 3918]
				mov	x3, 17473
				movk	x3, 0x4645, lsl 16
				movk	x3, 0x4e, lsl 32
				add	x5, x29, 94208
				str	x3, [x5, -177]
				strb	w0, [x5, 78]
				mov	x3, 20558
				movk	x3, 0x5241, lsl 16
				movk	x3, 0x4d, lsl 32
				str	x3, [x5, 79]
				strb	w0, [x5, 334]
				mov	x3, 22355
				movk	x3, 0x4544, lsl 16
				movk	x3, 0x46, lsl 32
				add	x5, x29, 94208
				add	x5, x5, 512
				str	x3, [x5, -177]
				add	x3, x29, 94208
				strb	w0, [x3, 590]
				mov	x3, 22355
				movk	x3, 0x4449, lsl 16
				movk	x3, 0x53, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 94208
				strb	w0, [x3, 846]
				mov	x3, 18755
				movk	x3, 0x5845, lsl 16
				movk	x3, 0x50, lsl 32
				add	x5, x29, 94208
				add	x5, x5, 1024
				str	x3, [x5, -177]
				add	x3, x29, 94208
				strb	w1, [x3, 1102]
				mov	x3, 17234
				movk	x3, 0x4e4f, lsl 16
				movk	x3, 0x5453, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 94208
				strb	w1, [x3, 1358]
				mov	x3, 17235
				movk	x3, 0x4e4f, lsl 16
				movk	x3, 0x5453, lsl 32
				add	x5, x29, 94208
				add	x5, x5, 1536
				str	x3, [x5, -177]
				add	x3, x29, 94208
				strb	w1, [x3, 1614]
				mov	x3, 21057
				movk	x3, 0x4152, lsl 16
				movk	x3, 0x5059, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 94208
				strb	w19, [x3, 1870]
				mov	x3, 18776
				movk	x3, 0x504d, lsl 16
				add	x5, x29, 94208
				add	x5, x5, 2048
				str	x3, [x5, -177]
				add	x3, x29, 94208
				strb	w2, [x3, 2126]
				mov	x3, 19785
				movk	x3, 0x50, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 94208
				strb	w19, [x3, 2382]
				mov	x3, 20291
				movk	x3, 0x444e, lsl 16
				add	x5, x29, 94208
				add	x5, x5, 2560
				str	x3, [x5, -177]
				add	x3, x29, 94208
				strb	w0, [x3, 2638]
				mov	x3, 17235
				movk	x3, 0x4e4f, lsl 16
				movk	x3, 0x44, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 94208
				strb	w19, [x3, 2894]
				mov	x3, 22597
				movk	x3, 0x3150, lsl 16
				add	x5, x29, 94208
				add	x5, x5, 3072
				str	x3, [x5, -177]
				add	x3, x29, 94208
				strb	w19, [x3, 3150]
				mov	x3, 22597
				movk	x3, 0x3250, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 94208
				strb	w19, [x3, 3406]
				mov	x3, 17747
				movk	x3, 0x5058, lsl 16
				add	x5, x29, 94208
				add	x5, x5, 3584
				str	x3, [x5, -177]
				add	x3, x29, 94208
				strb	w19, [x3, 3662]
				mov	x3, 17737
				movk	x3, 0x5058, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 94208
				strb	w0, [x3, 3918]
				mov	x3, 17737
				movk	x3, 0x5058, lsl 16
				movk	x3, 0x31, lsl 32
				add	x5, x29, 98304
				str	x3, [x5, -177]
				strb	w0, [x5, 78]
				mov	x3, 17737
				movk	x3, 0x5058, lsl 16
				movk	x3, 0x32, lsl 32
				str	x3, [x5, 79]
				strb	w0, [x5, 334]
				mov	x3, 21321
				movk	x3, 0x5845, lsl 16
				movk	x3, 0x50, lsl 32
				add	x5, x29, 98304
				add	x5, x5, 512
				str	x3, [x5, -177]
				add	x3, x29, 98304
				strb	w2, [x3, 590]
				mov	x3, 17747
				movk	x3, 0x51, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 98304
				strb	w19, [x3, 846]
				mov	x3, 17478
				movk	x3, 0x4645, lsl 16
				add	x5, x29, 98304
				add	x5, x5, 1024
				str	x3, [x5, -177]
				add	x3, x29, 98304
				strb	w2, [x3, 1102]
				mov	x3, 22597
				movk	x3, 0x50, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 98304
				strb	w20, [x3, 1358]
				mov	x3, 16718
				movk	x3, 0x5252, lsl 16
				movk	x3, 0x5941, lsl 32
				movk	x3, 0x50, lsl 48
				add	x5, x29, 98304
				add	x5, x5, 1536
				str	x3, [x5, -177]
				add	x3, x29, 98304
				strb	w1, [x3, 1614]
				mov	x3, 21587
				movk	x3, 0x5552, lsl 16
				movk	x3, 0x5443, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 98304
				strb	w1, [x3, 1870]
				mov	x3, 17746
				movk	x3, 0x4553, lsl 16
				movk	x3, 0x5058, lsl 32
				add	x5, x29, 98304
				add	x5, x5, 2048
				str	x3, [x5, -177]
				add	x3, x29, 98304
				strb	w2, [x3, 2126]
				mov	x3, 20546
				movk	x3, 0x4c, lsl 16
				str	x3, [x5, 79]
				add	x3, x29, 98304
				strb	w1, [x3, 2382]
				mov	x3, 20291
				movk	x3, 0x534e, lsl 16
				movk	x3, 0x4254, lsl 32
				add	x5, x29, 98304
				add	x5, x5, 2560
				str	x3, [x5, -177]
				add	x3, x29, 98304
				strb	w0, [x3, 2638]
				mov	x3, 18758
				movk	x3, 0x4554, lsl 16
				movk	x3, 0x4d, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 98304
				strb	w0, [x3, 2894]
				mov	x3, 20301
				movk	x3, 0x4552, lsl 16
				movk	x3, 0x41, lsl 32
				add	x5, x29, 98304
				add	x5, x5, 3072
				str	x3, [x5, -177]
				add	x3, x29, 98304
				strb	w0, [x3, 3150]
				mov	x3, 19523
				movk	x3, 0x5349, lsl 16
				movk	x3, 0x54, lsl 32
				str	x3, [x5, 79]
				add	x3, x29, 98304
				strb	w2, [x3, 3406]
				mov	x2, 20550
				movk	x2, 0x50, lsl 16
				add	x3, x29, 98304
				add	x3, x3, 3584
				str	x2, [x3, -177]
				add	x2, x29, 98304
				strb	w19, [x2, 3662]
				mov	x2, 20550
				movk	x2, 0x3050, lsl 16
				str	x2, [x3, 79]
				add	x2, x29, 98304
				strb	w19, [x2, 3918]
				mov	x2, 20550
				movk	x2, 0x3150, lsl 16
				add	x3, x29, 102400
				str	x2, [x3, -177]
				strb	w19, [x3, 78]
				mov	x2, 20550
				movk	x2, 0x3250, lsl 16
				str	x2, [x3, 79]
				strb	w20, [x3, 334]
				mov	x2, 20041
				movk	x2, 0x5449, lsl 16
				movk	x2, 0x4156, lsl 32
				movk	x2, 0x52, lsl 48
				add	x3, x29, 102400
				add	x3, x3, 512
				str	x2, [x3, -177]
				add	x2, x29, 102400
				strb	w1, [x2, 590]
				mov	x2, 17746
				movk	x2, 0x4543, lsl 16
				movk	x2, 0x5058, lsl 32
				str	x2, [x3, 79]
				add	x2, x29, 102400
				strb	w19, [x2, 846]
				mov	x2, 18757
				movk	x2, 0x504d, lsl 16
				add	x3, x29, 102400
				add	x3, x3, 1024
				str	x2, [x3, -177]
				add	x2, x29, 102400
				strb	w1, [x2, 1102]
				mov	x2, 17481
				movk	x2, 0x4e45, lsl 16
				movk	x2, 0x5354, lsl 32
				str	x2, [x3, 79]
				add	x2, x29, 102400
				strb	w0, [x2, 1358]
				mov	x0, 16722
				movk	x0, 0x474e, lsl 16
				movk	x0, 0x45, lsl 32
				add	x2, x29, 102400
				add	x2, x2, 1536
				str	x0, [x2, -177]
				add	x0, x29, 102400
				strb	w20, [x0, 1614]
				mov	x0, 17234
				movk	x0, 0x4e4f, lsl 16
				movk	x0, 0x5453, lsl 32
				movk	x0, 0x42, lsl 48
				str	x0, [x2, 79]
				add	x0, x29, 102400
				strb	w19, [x0, 1870]
				mov	x0, 16726
				movk	x0, 0x5052, lsl 16
				add	x2, x29, 102400
				add	x2, x2, 2048
				str	x0, [x2, -177]
				add	x0, x29, 102400
				strb	w20, [x0, 2126]
				mov	x0, 20041
				movk	x0, 0x5449, lsl 16
				movk	x0, 0x4544, lsl 32
				movk	x0, 0x43, lsl 48
				str	x0, [x2, 79]
				add	x0, x29, 102400
				strb	w1, [x0, 3150]
				mov	x0, 21317
				movk	x0, 0x4443, lsl 16
				movk	x0, 0x4345, lsl 32
				add	x2, x29, 102400
				add	x2, x2, 3072
				str	x0, [x2, 79]
				add	x0, x29, 102400
				strb	w20, [x0, 3406]
				mov	x0, 21317
				movk	x0, 0x5043, lsl 16
				movk	x0, 0x4f52, lsl 32
				movk	x0, 0x43, lsl 48
				add	x2, x29, 102400
				add	x2, x2, 3584
				str	x0, [x2, -177]
				add	x0, x29, 102400
				strb	w4, [x0, 3662]
				mov	x0, 21317
				movk	x0, 0x4143, lsl 16
				movk	x0, 0x5252, lsl 32
				movk	x0, 0x5941, lsl 48
				str	x0, [x2, 79]
				add	x0, x29, 102400
				strb	w1, [x0, 3918]
				mov	x0, 21317
				movk	x0, 0x5243, lsl 16
				movk	x0, 0x4345, lsl 32
				add	x1, x29, 106496
				str	x0, [x1, -177]
				adrp	x19, .LANCHOR5
				add	x19, x19, :lo12:.LANCHOR5
				add	x0, x19, 784
				ldp	x2, x3, [x0]
				add	x1, x29, 40960
				add	x1, x1, 12
				stp	x2, x3, [x1]
				ldp	x2, x3, [x0, 16]
				add	x1, x29, 40960
				add	x1, x1, 28
				stp	x2, x3, [x1]
				ldp	x2, x3, [x0, 32]
				add	x1, x29, 40960
				add	x1, x1, 44
				stp	x2, x3, [x1]
				ldrh	w0, [x19, 832]
				add	x1, x29, 40960
				strh	w0, [x1, 60]
				mov	x2, 240
				add	x1, x19, 840
				add	x0, x29, 20480
				add	x0, x0, 2988
				bl	memcpy
		.LVL1008:
				mov	x2, 1152
				add	x1, x19, 1080
				add	x0, x29, 24576
				add	x0, x0, 3228
				bl	memcpy
		.LVL1009:
  576
  577 %ROUTINE flush buffer
				sub	sp, sp, #1376
				stp	x29, x30, [sp]
				add	x29, sp, 0
				stp	x20, x21, [sp, 24]
				mov	x20, x18
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x0]
				str	x1, [x29, 1368]
				mov	x1,0
		.LVL86:
		.LBB327:
		.LBB328:
				adrp	x0, :got:_imp_OutStream
				ldr	x0, [x0, #:got_lo12:_imp_OutStream]
				mov	w1, 1
				str	w1, [x0]
				adrp	x0, :got:_imp_outfile
				ldr	x0, [x0, #:got_lo12:_imp_outfile]
				ldr	x1, [x0, 296]
				adrp	x0, :got:_imp_OutFile
				ldr	x0, [x0, #:got_lo12:_imp_OutFile]
				str	x1, [x0]
				adrp	x0, .LANCHOR3
				add	x0, x0, :lo12:.LANCHOR3
				add	x0, x0, 256
				bl	check_outstream
		.LVL87:
		.LBE328:
		.LBE327:
		.LBB329:
  578    %INTEGER j
  579    %IF faulty = 0 %START
  580       select output(object)
  581       %FOR j = 1, 1, bp %CYCLE
  582          printsymbol(buff(j))
				adrp	x0, .LANCHOR0
				ldr	w21, [x0, #:lo12:.LANCHOR0]
		.LVL88:
  583       %REPEAT
				cmp	w21, #1
				bmi	.L71
		.L61:
		.LVL89:
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L62
				add	x8, x29, 856
				bl	_imp_c2istr
		.LVL97:
		.L63:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w22, [x0]
				cmp	w22, 0
				mov	w0, 583
				csel	w22, w22, w0, ne
				add	x24, x29, 1112
				mov	x8, x24
				adrp	x0, .LC77
				add	x0, x0, :lo12:.LC77
				bl	_imp_c2istr
		.LVL98:
				add	x19, x29, 336
				mov	x25, 256
				mov	x2, x25
				add	x1, x29, 856
				mov	x0, x19
				bl	memcpy
		.LVL99:
				add	x23, x29, 80
				mov	x2, x25
				mov	x1, x24
				mov	x0, x23
				bl	memcpy
		.LVL100:
				mov	w5, 0
				mov	w4, 1
				mov	w3, 5
				mov	x2, x23
				mov	w1, w22
				mov	x0, x19
				bl	_signal_event
		.LVL101:
				ldr	x19, [x29, 16]
				ldp	x22, x23, [x29, 40]
				ldp	x24, x25, [x29, 56]
				b	.L61
		.L62:
		.LBB332:
				add	x22, x29, 1112
				mov	x23, 256
				mov	x2, x23
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x22
				bl	memcpy
		.LVL102:
				add	x19, x29, 600
				mov	x2, x23
				mov	x1, x22
				mov	x0, x19
				bl	memcpy
		.LVL103:
		.LBE332:
				mov	x2, x23
				mov	x1, x19
				add	x0, x29, 856
				bl	memcpy
		.LVL104:
				b	.L63
		.LVL105:
		.L72:
				str	x19, [x29, 16]
				stp	x22, x23, [x29, 40]
				stp	x24, x25, [x29, 56]
		.LBE335:
  584       select output(listing)
  585    %FINISH
  586    bp = 0
				cbz	w21, .L65
				str	x19, [x29, 16]
				add	x19, x20, 102400
				add	x19, x19, 2310
				sub	w21, w21, #1
		.LVL90:
				add	x20, x20, x21
				add	x20, x20, 102400
				add	x20, x20, 2311
		.LVL91:
		.L66:
		.LBB330:
		.LBB331:
				ldrb	w0, [x19], 1
		.LVL92:
				bl	_imp_printsymbol
		.LVL93:
		.LBE331:
		.LBE330:
				cmp	x19, x20
				bne	.L66
				ldr	x19, [x29, 16]
		.L65:
		.LVL94:
		.LBE329:
		.LBB333:
		.LBB334:
				adrp	x0, :got:_imp_OutStream
				ldr	x0, [x0, #:got_lo12:_imp_OutStream]
				mov	w1, 2
				str	w1, [x0]
				adrp	x0, :got:_imp_outfile
				ldr	x0, [x0, #:got_lo12:_imp_outfile]
				ldr	x1, [x0, 584]
				adrp	x0, :got:_imp_OutFile
				ldr	x0, [x0, #:got_lo12:_imp_OutFile]
				str	x1, [x0]
				adrp	x0, .LANCHOR3
				add	x0, x0, :lo12:.LANCHOR3
				add	x0, x0, 256
				bl	check_outstream
		.LVL95:
		.LDL4:
		.LBE334:
		.LBE333:
				adrp	x0, .LANCHOR0
				str	wzr, [x0, #:lo12:.LANCHOR0]
  587 %END
  588 %ROUTINE print ident(%INTEGER p, mode)
		.LVL50:
				sub	sp, sp, #1904
				stp	x29, x30, [sp]
				add	x29, sp, 0
				stp	x20, x21, [sp, 24]
				mov	x21, x18
				adrp	x2, :got:__stack_chk_guard
				ldr	x2, [x2, #:got_lo12:__stack_chk_guard]
				ldr	x3, [x2]
				str	x3, [x29, 1896]
				mov	x3,0
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 1368]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L72
				ldp	x20, x21, [sp, 24]
				ldp	x29, x30, [sp]
				add	sp, sp, 1376
				ret
		.LVL96:
		.L71:
				str	x19, [x29, 16]
				stp	x22, x23, [x29, 40]
				stp	x24, x25, [x29, 56]
		.LBB335:
				bl	__stack_chk_fail
		.LVL106:
		.LFE186:
				.align	2
		DEF.8928:
		.LFB215:
  589    %INTEGER j, ad
  590    p = tag(p)_text
				add	x0, x18, x0, sxtw 4
		.LVL51:
				ldrsh	w20, [x0, 224]
		.LVL52:
  591    %IF p = 0 %START
				cbnz	w20, .L42
  592       bp = bp+1 %AND buff(bp) = '?' %if Mode # 0
				cbz	w1, .L41
  593       %RETURN
				adrp	x1, .LANCHOR0
		.LVL53:
				ldr	w0, [x1, #:lo12:.LANCHOR0]
				add	w2, w0, 1
				str	w2, [x1, #:lo12:.LANCHOR0]
  594    %FINISH
				add	x0, x18, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 63
				strb	w1, [x0, 2310]
				b	.L41
		.LVL54:
		.L42:
				str	x19, [x29, 16]
		.LVL55:
  595    ad = addr(dict(p+1))
				add	x20, x18, x20, sxth 1
		.LVL56:
				add	x20, x20, 24576
				add	x20, x20, 2260
				mov	w19, w20
		.LVL57:
		.LBB321:
  596    %IF mode = 0 %THEN printstring(string(ad)) %ELSE %START
				cbz	w1, .L57
		.L44:
				str	x22, [x29, 40]
  597       %FOR j = ad+1, 1, ad+byteinteger(ad) %CYCLE
  598          bp = bp+1
				sxtw	x0, w20
				ldrb	w22, [x0]
				add	w22, w22, w20
		.LVL58:
		.LBB322:
  599          buff(bp) = byteinteger(j)
				mvn	w0, w20
		.LBE322:
				cmn	w0, w22
				bmi	.L58
		.LVL59:
		.L45:
				sxtw	x1, w19
				ldrb	w1, [x1]
				add	x0, x21, x0, sxtw
				add	x0, x0, 102400
				strb	w1, [x0, 2310]
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L46
				add	x8, x29, 1128
				bl	_imp_c2istr
		.LVL72:
		.L47:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w24, [x0]
				cmp	w24, 0
				mov	w0, 599
				csel	w24, w24, w0, ne
				add	x26, x29, 1384
				mov	x8, x26
				adrp	x0, .LC76
				add	x0, x0, :lo12:.LC76
				bl	_imp_c2istr
		.LVL73:
				add	x23, x29, 352
				mov	x27, 256
				mov	x2, x27
				add	x1, x29, 1128
				mov	x0, x23
				bl	memcpy
		.LVL74:
				add	x25, x29, 96
				mov	x2, x27
				mov	x1, x26
				mov	x0, x25
				bl	memcpy
		.LVL75:
				mov	w5, 0
				mov	w4, 1
				mov	w3, 5
				mov	x2, x25
				mov	w1, w24
				mov	x0, x23
				bl	_signal_event
		.LVL76:
				ldp	x23, x24, [x29, 48]
				ldp	x25, x26, [x29, 64]
				ldr	x27, [x29, 80]
				b	.L45
		.LVL77:
		.L46:
		.LBB323:
				add	x24, x29, 1640
				mov	x25, 256
				mov	x2, x25
				adrp	x1, .LANCHOR3
		.LVL78:
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x24
				bl	memcpy
		.LVL79:
				add	x23, x29, 872
				mov	x2, x25
				mov	x1, x24
				mov	x0, x23
				bl	memcpy
		.LVL80:
		.LBE323:
				mov	x2, x25
				mov	x1, x23
				add	x0, x29, 1128
				bl	memcpy
		.LVL81:
				b	.L47
		.L43:
		.L50:
		.L51:
		.L56:
				ldr	x19, [x29, 16]
		.LVL82:
				ldr	x22, [x29, 40]
		.LVL83:
				b	.L41
		.LVL84:
		.L59:
				str	x19, [x29, 16]
				stp	x22, x23, [x29, 40]
				stp	x24, x25, [x29, 56]
				stp	x26, x27, [x29, 72]
		.LBE326:
  600       %REPEAT
  601    %FINISH
  602 %END
				cmp	w20, w22
				beq	.L56
				adrp	x0, .LANCHOR0
				ldr	w0, [x0, #:lo12:.LANCHOR0]
				sub	w20, w0, w20
		.LVL60:
		.L49:
				add	w0, w19, w20
		.LVL61:
				cmp	w22, w19
				bne	.L49
				add	w19, w19, w20
		.LVL63:
				adrp	x0, .LANCHOR0
				str	w19, [x0, #:lo12:.LANCHOR0]
				ldr	x19, [x29, 16]
				ldr	x22, [x29, 40]
		.LVL64:
		.L41:
		.LBE321:
  603 %ROUTINE abandon(%INTEGER n)
		.LVL17:
				sub	sp, sp, #1360
				stp	x29, x30, [sp, 16]
				add	x29, sp, 16
				stp	x19, x20, [sp, 32]
				str	x21, [sp, 48]
				mov	w21, w0
				adrp	x0, :got:__stack_chk_guard
		.LVL18:
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x0]
				str	x1, [x29, 1336]
				mov	x1,0
		.LVL19:
		.LDL2:
				add	w19, w19, 1
		.LVL62:
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 1896]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L59
				ldp	x20, x21, [sp, 24]
				ldp	x29, x30, [sp]
				add	sp, sp, 1904
				ret
		.LVL65:
		.L57:
				add	x20, x29, 1640
		.LVL66:
				mov	x21, 256
				mov	x2, x21
				add	x1, x29, 616
		.LVL67:
				mov	x0, x20
				bl	memcpy
		.LVL68:
		.LBB324:
		.LBB325:
				add	x19, x29, 352
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL69:
				mov	x0, x19
				bl	_imp_printstring
		.LVL70:
				ldr	x19, [x29, 16]
				b	.L41
		.LVL71:
		.L58:
				stp	x23, x24, [x29, 48]
				stp	x25, x26, [x29, 64]
				str	x27, [x29, 80]
		.LBE325:
		.LBE324:
		.LBB326:
				bl	__stack_chk_fail
		.LVL85:
		.LFE187:
				.align	2
		FLUSHBUFFER.7840:
		.LFB186:
  604    %SWITCH reason(0:9)
  605    %INTEGER stream
  606    stream = listing
  607    %CYCLE
  608       newline %IF sym # nl
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 10
				bne	.L32
		.L19:
		.LVL20:
		.LBB308:
		.LBB309:
				mov	w0, 42
				bl	_imp_printsymbol
		.LVL21:
		.LBE309:
		.LBE308:
  609       printsymbol('*');  write(lines,4);  space
  610       ->reason(n)
				mov	w1, 4
				adrp	x0, .LANCHOR0+184
				ldr	w0, [x0, #:lo12:.LANCHOR0+184]
				bl	_imp_writeint
		.LVL22:
		.LBB310:
		.LBB311:
				bl	_imp_space
		.LVL23:
		.LDL3:
		.LBE311:
		.LBE310:
  611 reason(0):printstring("compiler error!");          ->more
  612 reason(1):printstring("switch vector too large");  ->more
  613 reason(2):printstring("too many names");           ->more
  614 reason(3):printstring("program too complex");      ->more
  615 reason(4):printstring("feature not implemented");  ->more
  616 reason(5):printstring("input ended: ")
  617           %IF quote # 0 %START
  618             %IF quote < 0 %THEN printsymbol(cquote) %C
  619                           %ELSE printsymbol(squote)
  620           %ELSE
  621              printstring("%endof")
  622              %IF progmode >= 0 %THEN printstring("program") %C
  623                                %ELSE printstring("file")
  624           %FINISH
  625           printstring(" missing?");                ->more
  626 reason(6):printstring("too many faults!");         ->more
  627 reason(7):printstring("string constant too long"); ->more
  628 reason(8):printstring("dictionary full"); -> more
  629 reason(9):printstring("Included file ".include file." does not exist")
  630 more: newline
  631       printstring("***  compilation abandoned ***");  newline
  632       %EXIT %IF stream = report
  633       close output
  634       stream = report
  635       select output(report)
  636    %REPEAT
  637 !IMP80 BUG???     %SIGNAL 15,15 %IF diag&4096 # 0
  638    %STOP
  639 %END
  640 %ROUTINE op(%INTEGER code, param)
		.LVL0:
  641       buff(bp+1) <- code
				adrp	x4, .LANCHOR0
				ldr	w2, [x4, #:lo12:.LANCHOR0]
				add	x3, x18, x2, sxtw
				add	x3, x3, 102400
				strb	w0, [x3, 2310]
				cmp	w21, 9
				bls	.L20
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L21
				add	x8, x29, 824
				bl	_imp_c2istr
		.LVL24:
		.L22:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w20, [x0]
				cmp	w20, 0
				mov	w0, 641
				csel	w20, w20, w0, ne
				add	x19, x29, 48
				mov	x2, 256
				add	x1, x29, 824
				mov	x0, x19
				bl	memcpy
		.LVL25:
				mov	w0, 610
				str	w0, [sp]
				adrp	x7, .LC73
				add	x7, x7, :lo12:.LC73
				mov	w6, w21
				adrp	x5, .LC74
				add	x5, x5, :lo12:.LC74
				mov	w4, w21
				mov	w3, 3
				mov	w2, 6
				mov	w1, w20
				mov	x0, x19
				bl	_signal_eventf
		.LVL26:
		.L20:
		.L24:
				add	x20, x29, 1080
				mov	x22, 256
				mov	x2, x22
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x20
				bl	memcpy
		.LVL34:
				add	x19, x29, 312
				mov	x2, x22
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL35:
		.LBE314:
				mov	x2, x22
				mov	x1, x19
				add	x0, x29, 824
				bl	memcpy
		.LVL36:
				ldr	x22, [x29, 40]
				b	.L22
		.L25:
				str	x22, [x29, 40]
		.LBB315:
  642       buff(bp+2) <- param>>8
				add	w0, w2, 1
		.LVL1:
				add	x0, x18, x0, sxtw
				add	x0, x0, 102400
				lsr	w3, w1, 8
				strb	w3, [x0, 2310]
  643       buff(bp+3) <- param
				add	w0, w2, 2
				add	x18, x18, x0, sxtw
				add	x18, x18, 102400
				strb	w1, [x18, 2310]
  644       bp = bp+3
				add	w2, w2, 3
				str	w2, [x4, #:lo12:.LANCHOR0]
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L25
				add	x8, x29, 1080
				bl	_imp_c2istr
		.LVL27:
		.L26:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w20, [x0]
				cmp	w20, 0
				mov	w0, 644
				csel	w20, w20, w0, ne
				add	x19, x29, 48
				mov	x2, 256
				add	x1, x29, 1080
				mov	x0, x19
				bl	memcpy
		.LVL28:
				mov	w0, 610
				str	w0, [sp]
				adrp	x7, .LC73
				add	x7, x7, :lo12:.LC73
				mov	w6, w21
				adrp	x5, .LC75
				add	x5, x5, :lo12:.LC75
				mov	w4, w21
				mov	w3, 2
				mov	w2, 8
				mov	w1, w20
				mov	x0, x19
				bl	_signal_eventf
		.LVL29:
				add	x19, x29, 1080
				mov	x22, 256
				mov	x2, x22
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x19
				bl	memcpy
		.LVL37:
				add	x20, x29, 568
				mov	x2, x22
				mov	x1, x19
				mov	x0, x20
				bl	memcpy
		.LVL38:
		.LBE315:
				mov	x2, x22
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL39:
				ldr	x22, [x29, 40]
				b	.L26
		.L33:
				str	x22, [x29, 40]
  645 %END
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 1336]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L33
				ldp	x19, x20, [sp, 32]
				ldr	x21, [sp, 48]
		.LVL30:
				ldp	x29, x30, [sp, 16]
				add	sp, sp, 1360
				ret
		.LVL31:
		.L32:
		.LBB312:
		.LBB313:
				bl	_imp_newline
		.LVL32:
				b	.L19
		.LVL33:
		.L21:
				str	x22, [x29, 40]
		.LBE313:
		.LBE312:
		.LBB314:
				bl	__stack_chk_fail
		.LVL40:
		.LFE188:
				.align	2
		SHOW.8238:
		.LFB200:
  646 %ROUTINE set const(%INTEGER m)
				ret
		.LFE189:
				.align	2
		SETCONST.7949:
		.LFB190:
		.LVL2:
  647       buff(bp+1) <- 'N'
				adrp	x3, .LANCHOR0
				ldr	w1, [x3, #:lo12:.LANCHOR0]
				add	x2, x18, x1, sxtw
				add	x2, x2, 102400
				mov	w4, 78
				strb	w4, [x2, 2310]
  648       buff(bp+5) <- m;  m = m>>8
				add	w2, w1, 4
				add	x2, x18, x2, sxtw
				add	x2, x2, 102400
				strb	w0, [x2, 2310]
		.LVL3:
  649       buff(bp+4) <- m;  m = m>>8
				add	w2, w1, 3
				add	x2, x18, x2, sxtw
				add	x2, x2, 102400
				lsr	w4, w0, 8
		.LVL4:
				strb	w4, [x2, 2310]
		.LVL5:
  650       buff(bp+3) <- m;  m = m>>8
				add	w2, w1, 2
				add	x2, x18, x2, sxtw
				add	x2, x2, 102400
				lsr	w4, w0, 16
		.LVL6:
				strb	w4, [x2, 2310]
		.LVL7:
  651       buff(bp+2) <- m
				add	w2, w1, 1
				add	x18, x18, x2, sxtw
				add	x18, x18, 102400
				lsr	w0, w0, 24
		.LVL8:
				strb	w0, [x18, 2310]
  652       bp = bp+5
				add	w1, w1, 5
				str	w1, [x3, #:lo12:.LANCHOR0]
  653 %END
  654
				ret
		.LFE190:
				.align	2
		SETCELL.8162:
		.LFB195:
  655
  656
  657 %ROUTINE compile block(%INTEGER level, block tag, dmin, tmax, id)
				sub	sp, sp, #2048
				stp	x29, x30, [sp]
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				stp	x21, x22, [sp, 32]
				str	x26, [sp, 72]
				mov	x19, x18
				adrp	x5, :got:__stack_chk_guard
				ldr	x5, [x5, #:got_lo12:__stack_chk_guard]
				ldr	x6, [x5]
				str	x6, [x29, 2040]
				mov	x6,0
				add	x5, x29, 2048
				str	x5, [x29, 496]
				str	w0, [x29, 476]
				str	w1, [x29, 444]
				str	w3, [x29, 480]
				str	w4, [x29, 472]
				str	x18, [x29, 424]
  658
  659    %INTEGERFNSPEC gapp
  660    %ROUTINESPEC delete names(%INTEGER quiet)
  661    %ROUTINESPEC analyse
  662    %ROUTINESPEC compile
  663
  664    %INTEGER open;    open       = closed;      !zero if can return from proc
  665    %INTEGER dbase;   dbase      = dmax;        !dictionary base
				mov	w0, 16384
				str	w0, [x29, 448]
  666    %INTEGER tbase;   tbase      = tmax;        !tag base
				adrp	x0, .LANCHOR2+2556
				ldr	w4, [x0, #:lo12:.LANCHOR2+2556]
		.LVL943:
  667    %INTEGER tstart;  tstart     = tmax
				str	w3, [x29, 484]
  668    %INTEGER label;   label      = 4;           !first internal label
				str	w3, [x29, 488]
  669    %INTEGER access;  access     = 1;           !non-zero if accessible
				mov	w0, 4
				str	w0, [x29, 440]
  670    %INTEGER inhibit; inhibit    = 0;           !non-zero inhibits declaratons
				mov	w0, 1
				str	w0, [x29, 452]
  671
				str	wzr, [x29, 436]
				sxtw	x1, w1
  672    %SHORTINTEGERNAME bflags; bflags      == tag(block tag)_flags
  673    %INTEGER block type;      block type   = bflags>>4&7
				add	x0, x18, x1, lsl 4
				add	x0, x0, 220
				str	x0, [x29, 416]
				add	x26, x18, x1, lsl 4
  674    %INTEGER block form;      block form   = bflags&15
				ldrsh	w0, [x26, 220]
				ubfx	x1, x0, 4, 3
				str	w1, [x29, 460]
  675    %INTEGER block fm;        block fm     = tag(block tag)_format
				and	w0, w0, 15
				str	w0, [x29, 464]
  676    %INTEGER block otype;     block otype  = otype
				ldr	w0, [x26, 216]
				str	w0, [x29, 456]
  677    %INTEGERNAME block app;   block app   == tag(block tag)_app
				adrp	x0, .LANCHOR0+188
				ldr	w20, [x0, #:lo12:.LANCHOR0+188]
		.LVL944:
  678
  679    %INTEGER l, new app
  680
  681 %ROUTINE fault(%INTEGER n)
		.LVL363:
				sub	sp, sp, #2448
				stp	x29, x30, [sp, 16]
				add	x29, sp, 16
				stp	x19, x20, [sp, 32]
				stp	x21, x22, [sp, 48]
				stp	x23, x24, [sp, 64]
				stp	x25, x26, [sp, 80]
				stp	x27, x28, [sp, 96]
				mov	w23, w0
				str	x18, [x29, 104]
				adrp	x0, :got:__stack_chk_guard
		.LVL364:
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x0]
				str	x1, [x29, 2424]
				mov	x1,0
  682
  683     ! -5 : -1  - warnings
  684     !  1 : 22  - errors
  685
  686     %SWITCH fm(-5:22)
  687     %INTEGER st
  688
  689     %ROUTINE print ss
  690        %INTEGER s, p
  691        %RETURN %IF pos = 0
				adrp	x0, .LANCHOR0+260
				ldr	w0, [x0, #:lo12:.LANCHOR0+260]
				cbnz	w0, .L405
		.L375:
		.LDL20:
		.LBE456:
		.LBE470:
		.LBB471:
		.LBB472:
				bl	_imp_newline
		.LVL379:
		.LBE472:
		.LBE471:
  692        space
  693        p = 1
  694        %CYCLE
  695           printsymbol(marker) %IF p = pos1
				adrp	x20, .LANCHOR0
				add	x20, x20, :lo12:.LANCHOR0
		.LBB452:
		.LBB453:
				mov	w28, 94
				b	.L377
		.LVL403:
		.L410:
				mov	w0, w28
				bl	_imp_printsymbol
		.LVL404:
				b	.L378
		.L382:
		.L383:
		.LVL405:
		.L384:
		.LBE453:
		.LBE452:
		.LBB454:
		.LBB455:
				bl	_imp_printsymbol
		.LVL406:
				add	x19, x19, 1
		.LVL407:
		.L377:
				mov	w21, w19
		.LVL408:
		.LBE455:
		.LBE454:
				ldr	w0, [x20, 296]
				cmp	w0, w19
				beq	.L410
		.L378:
  696           %EXIT %IF p = pos
				ldr	w1, [x20, 260]
				cmp	w21, w1
				beq	.L385
		.L380:
  697           s = char(p);  p = p+1
				add	x24, x25, 2704
				b	.L386
		.LVL366:
		.L402:
		.LBE449:
		.LBE448:
		.LBB458:
		.LBB459:
				bl	_imp_newline
		.LVL367:
				b	.L366
		.LVL368:
		.L407:
		.LBE459:
		.LBE458:
		.LBB460:
		.LBB461:
				mov	w0, 63
				bl	_imp_printsymbol
		.LVL369:
		.LBE461:
		.LBE460:
				ldrb	w0, [x19, x24]
		.LVL409:
				add	w2, w19, 1
		.LVL410:
  698           %EXIT %IF s = nl %OR (s='%' %AND p = pos)
				cmp	w0, 10
				beq	.L385
  699           %IF s < ' ' %START;         !beware of tabs
				cmp	w0, 31
				bgt	.L384
  700              %IF s = ff %THEN s = nl %ELSE s = ' '
				cmp	w0, 37
				ccmp	w2, w1, 0, eq
				beq	.L385
		.L381:
  701           %FINISH
  702           printsymbol(s)
  703        %REPEAT
  704        pos = 0 %IF list <= 0
				cmp	w0, 12
				mov	w0, 10
		.LVL411:
				mov	w1, 32
				csel	w0, w0, w1, eq
				b	.L384
		.L379:
		.LVL412:
		.L385:
				ldr	w0, [x25, 2840]
				cmp	w0, 0
				bgt	.L375
  705     %END
				adrp	x0, .LANCHOR0+260
				str	wzr, [x0, #:lo12:.LANCHOR0+260]
				b	.L375
		.L406:
		.L387:
		.LBE457:
		.LBE483:
  706
  707     pos1 = pos2 %IF pos2 > pos1
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 256]
				ldr	w0, [x0, 296]
				cmp	w1, w0
				ble	.L365
  708     newline %IF sym # nl
				adrp	x0, .LANCHOR0+296
				str	w1, [x0, #:lo12:.LANCHOR0+296]
		.L365:
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 10
				bne	.L402
		.L366:
		.LVL365:
  709     st = report
  710     st = listing %IF n = -3;              !don<dq>t report unused on the console
  711     %cycle
				cmn	w23, #3
				cset	w22, eq
				lsl	w22, w22, 1
		.LBB445:
		.LBB446:
				adrp	x26, .LANCHOR3
				add	x26, x26, :lo12:.LANCHOR3
				add	x27, x26, 256
		.LBE446:
		.LBE445:
  712        SELECT OUTPUT(st)
  713        %if n < 0 %then printsymbol('?') %and pos1 = 0 %else printsymbol('*')
				tbnz	w23, #31, .L407
		.L368:
		.LVL382:
		.LBB474:
		.LBB475:
				mov	w0, 42
				bl	_imp_printsymbol
		.LVL383:
		.L369:
		.LBE475:
		.LBE474:
  714        %if st # report %start
				cbz	w22, .L370
  715           %if list <= 0 %and pos1 # 0 %start
				adrp	x0, .LANCHOR0+296
				str	wzr, [x0, #:lo12:.LANCHOR0+296]
				ldr	w0, [x25, 2840]
				cmp	w0, 0
				bgt	.L373
  716              spaces(pos1+margin);  PRINTSTRING("      ! ")
				b	.L369
		.L370:
				adrp	x0, .LANCHOR0+296
				ldr	w0, [x0, #:lo12:.LANCHOR0+296]
				cbz	w0, .L373
		.LVL384:
				adrp	x1, .LANCHOR0+300
				ldr	w1, [x1, #:lo12:.LANCHOR0+300]
		.LBB476:
		.LBB477:
				add	w0, w0, w1
		.LVL385:
				bl	_imp_spaces
		.LVL386:
		.LBE477:
		.LBE476:
		.LBB478:
  717           %finish
				add	x20, x29, 1400
				mov	x21, 256
				mov	x2, x21
				add	x1, x26, 920
				mov	x0, x20
				bl	memcpy
		.LVL387:
				add	x19, x29, 376
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL388:
				add	x20, x29, 1656
				mov	x2, x21
				mov	x1, x19
				mov	x0, x20
				bl	memcpy
		.LVL389:
		.LBE478:
		.LBB479:
		.LBB480:
				add	x19, x29, 112
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL390:
				mov	x0, x19
				bl	_imp_printstring
		.LVL391:
				b	.L373
		.L403:
				add	x20, x29, 1912
				mov	x21, 256
				mov	x2, x21
				add	x1, x29, 632
				mov	x0, x20
				bl	memcpy
		.LVL392:
		.LBE480:
		.LBE479:
		.LBB481:
		.LBB482:
				add	x19, x29, 112
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL393:
				mov	x0, x19
				bl	_imp_printstring
		.LVL394:
				b	.L372
		.LVL395:
		.L404:
		.LDL21:
		.L391:
		.LBE482:
		.LBE481:
  718        %finish %else %start
  719           PRINTSTRING(include file) %if include # 0
				adrp	x0, .LANCHOR0+308
				ldr	w0, [x0, #:lo12:.LANCHOR0+308]
				cbnz	w0, .L403
		.L372:
  720           write(lines, 4);  printsymbol(csym);  space
				mov	w1, 4
				adrp	x0, .LANCHOR0+184
				ldr	w0, [x0, #:lo12:.LANCHOR0+184]
				bl	_imp_writeint
		.LVL370:
		.LBB462:
		.LBB463:
				ldrb	w0, [x25, 2848]
				bl	_imp_printsymbol
		.LVL371:
		.LBE463:
		.LBE462:
		.LBB464:
		.LBB465:
				bl	_imp_space
		.LVL372:
		.L371:
		.L373:
		.LBE465:
		.LBE464:
		.LBB466:
  721        %finish
				adrp	x25, .LANCHOR2
				add	x25, x25, :lo12:.LANCHOR2
		.LBB448:
		.LBB449:
  722        ->fm(n) %if -5 <= n <= 22
  723        PRINTSTRING("fault");  write(n, 2);              ->ps
				add	x20, x29, 1400
				mov	x21, 256
				mov	x2, x21
				add	x1, x26, 1176
				mov	x0, x20
				bl	memcpy
		.LVL373:
				add	x19, x29, 888
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL374:
				add	x20, x29, 2168
				mov	x2, x21
				mov	x1, x19
				mov	x0, x20
				bl	memcpy
		.LVL375:
		.LBE467:
		.LBB468:
		.LBB469:
				add	x19, x29, 112
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL376:
				mov	x0, x19
				bl	_imp_printstring
		.LVL377:
		.LBE469:
		.LBE468:
  724
				mov	w1, 2
				mov	w0, w23
				bl	_imp_writeint
		.LVL378:
		.LDL19:
		.LBB470:
		.LBB456:
  725 fm(-5):PRINTSTRING("Dubious statement");  dubious = 0;  ->psd
  726 fm(-4):PRINTSTRING("Non-local")
  727        pos1 = for warn;  for warn = 0;                  ->ps
				add	w0, w23, 5
				cmp	w0, 27
				bls	.L404
		.L374:
		.LBE466:
		.LBB467:
  728 fm(-3):print ident(x, 0);  PRINTSTRING(" unused");      ->nps
  729 fm(-2):PRINTSTRING("""}""");                            ->miss
  730 fm(-1):PRINTSTRING("access");                           ->psd
  731
  732 fm(0): PRINTSTRING("form");                             ->ps
  733 fm(1): PRINTSTRING("atom");                             ->ps
  734 fm(2): PRINTSTRING("not declared");                     ->ps
  735 fm(3): PRINTSTRING("too complex");                      ->ps
  736 fm(4): PRINTSTRING("duplicate ");  Print Ident(x, 0);   ->ps
  737 fm(5): PRINTSTRING("type");                             ->ps
  738 fm(6): PRINTSTRING("match");                            ->psd
  739 fm(7): PRINTSTRING("context");                          ->psd
  740 fm(21):PRINTSTRING("context ");  print ident(this, 0);  ->ps
  741 fm(8): PRINTSTRING("%cycle");                           ->miss
  742 fm(9): PRINTSTRING("%start");                           ->miss
  743 fm(10):PRINTSTRING("size");  WRITE(lit, 1) %if pos1 = 0;->ps
  744 fm(11):PRINTSTRING("bounds")
  745        WRITE(ocount, 1) %unless ocount < 0;             ->ps
  746 fm(12):PRINTSTRING("index");                            ->ps
  747 fm(13):PRINTSTRING("order");                            ->psd
  748 fm(14):PRINTSTRING("not a location");                   ->ps
  749 fm(15):PRINTSTRING("%begin");                           ->miss
  750 fm(16):PRINTSTRING("%end");                             ->miss
  751 fm(17):PRINTSTRING("%repeat");                          ->miss
  752 fm(18):PRINTSTRING("%finish");                          ->miss
  753 fm(19):PRINTSTRING("result");                           ->miss
  754 fm(22):PRINTSTRING("format");                           ->ps
  755 fm(20):printsymbol('"');  print ident(x, 0);  printsymbol('"')
  756 miss:  PRINTSTRING(" missing");                         ->nps
  757 psd:   pos1 = 0
  758 ps:    print ss
  759 nps:   NEWLINE
  760        %exit %if st = listing
				cbnz	w22, .L406
  761        st = listing
				mov	w22, 2
		.LVL380:
		.L386:
		.LBB473:
		.LBB447:
				adrp	x0, :got:_imp_OutStream
				ldr	x0, [x0, #:got_lo12:_imp_OutStream]
				str	w22, [x0]
				sxtw	x1, w22
				lsl	x0, x1, 3
				add	x0, x0, x1
				adrp	x1, :got:_imp_outfile
				ldr	x1, [x1, #:got_lo12:_imp_outfile]
				add	x0, x1, x0, lsl 5
				ldr	x1, [x0, 8]
				adrp	x0, :got:_imp_OutFile
				ldr	x0, [x0, #:got_lo12:_imp_OutFile]
				str	x1, [x0]
				mov	x0, x27
				bl	check_outstream
		.LVL381:
		.LBE447:
		.LBE473:
  762     %repeat
  763     %if n >= 0 %start
				tbz	w23, #31, .L411
		.L388:
		.L389:
  764 !IMP80 BUG???         %signal 15,15 %if diag&4096 # 0
  765        %stop %if diag&4096 # 0
  766        %if n # 13 %start;           !order is fairly safe
  767           ocount = -1
  768           gg = 0
  769           copy = 0;  quote = 0
  770           search base = 0;  escape class = 0
  771           gg = 0
  772        %finish
  773        faulty = faulty+1
  774
  775        !check that there haven<dq>t been too many faults
  776
  777        fault rate = fault rate+3;  abandon(6) %IF fault rate > 30
  778        fault rate = 3 %IF fault rate <= 0
  779     %FINISH
  780     tbase = tstart
				ldr	x1, [x29, 104]
				ldr	w0, [x1, 72]
				str	w0, [x1, 68]
  781     %IF list <= 0 %AND sym # nl %START
				adrp	x0, .LANCHOR2+2840
				ldr	w0, [x0, #:lo12:.LANCHOR2+2840]
				cmp	w0, 0
				bgt	.L364
  782        error margin = column
				adrp	x0, .LANCHOR2+2548
				ldr	w1, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w1, 10
				beq	.L364
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w2, [x0, 288]
				str	w2, [x0, 312]
  783        error sym = sym;  sym = nl
				str	w1, [x0, 316]
  784     %FINISH
				adrp	x0, .LANCHOR2+2548
				mov	w1, 10
				str	w1, [x0, #:lo12:.LANCHOR2+2548]
				b	.L364
		.L411:
		.LVL413:
		.LBB484:
		.LBB485:
				mov	w0, 0
				bl	exit
		.LVL414:
		.L408:
		.LBE485:
		.LBE484:
		.LBB486:
  785 %END
  786
  787    dmin = dmin-1;  dict(dmin) = -1;            !end marker for starts & cycles
				sub	w1, w2, #1
				str	w1, [x29, 468]
  788    abandon(2) %IF dmax = dmin
				sub	w0, w2, #2
				add	x0, x18, x0, sxtw 1
				add	x0, x0, 24576
				add	x0, x0, 2256
				mov	w2, -1
				strh	w2, [x0, 4]
				cmp	w4, w1
				beq	.L935
		.LVL945:
		.L896:
  789
				mov	w0, 2
				bl	ABANDON.7872
		.LVL948:
				b	.L896
		.L936:
				str	x23, [x29, 48]
  790    %IF list > 0 %AND level > 0 %START
				adrp	x0, .LANCHOR2+2840
				ldr	w0, [x0, #:lo12:.LANCHOR2+2840]
				cmp	w0, 0
				ble	.L897
  791       write(lines, 5);  spaces(level*3-1)
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L408
				add	x8, x29, 1400
				bl	_imp_c2istr
		.LVL396:
		.L393:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w20, [x0]
				cmp	w20, 0
				mov	w0, 791
				csel	w20, w20, w0, ne
				add	x19, x29, 112
				mov	x2, 256
				add	x1, x29, 1400
				mov	x0, x19
				bl	memcpy
		.LVL397:
				mov	w0, 729
				str	w0, [sp]
				adrp	x7, .LC73
				add	x7, x7, :lo12:.LC73
				mov	w6, w23
				adrp	x5, .LC78
				add	x5, x5, :lo12:.LC78
				mov	w4, w23
				mov	w3, 2
				mov	w2, 8
				mov	w1, w20
				mov	x0, x19
				bl	_signal_eventf
		.LVL398:
		.L390:
		.L364:
				add	x19, x29, 1400
				mov	x21, 256
				mov	x2, x21
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x19
				bl	memcpy
		.LVL415:
				add	x20, x29, 1144
				mov	x2, x21
				mov	x1, x19
				mov	x0, x20
				bl	memcpy
		.LVL416:
		.LBE486:
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL417:
				b	.L393
		.LVL418:
		.L409:
				ldr	w0, [x29, 476]
				cmp	w0, 0
				bgt	.L936
		.L897:
				mov	w1, 5
				adrp	x0, .LANCHOR0+184
				ldr	w0, [x0, #:lo12:.LANCHOR0+184]
				bl	_imp_writeint
		.LVL949:
  792       %IF block tag = 0 %START
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 2424]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L409
				ldp	x19, x20, [sp, 32]
				ldp	x21, x22, [sp, 48]
		.LVL399:
				ldp	x23, x24, [sp, 64]
		.LVL400:
				ldp	x25, x26, [sp, 80]
				ldp	x27, x28, [sp, 96]
				ldp	x29, x30, [sp, 16]
				add	sp, sp, 2448
				ret
		.LVL401:
		.L405:
		.L376:
		.LBB483:
		.LBB457:
		.LBB450:
		.LBB451:
				bl	_imp_space
		.LVL402:
				mov	x19, 1
		.LBE451:
		.LBE450:
				bl	__stack_chk_fail
		.LVL419:
		.LFE192:
				.align	2
		POPLABEL.9036:
		.LFB221:
				ldr	w0, [x29, 476]
				add	w0, w0, w0, lsl 1
		.LBB717:
		.LBB718:
				sub	w0, w0, #1
				bl	_imp_spaces
		.LVL950:
		.LBE718:
		.LBE717:
				ldr	w0, [x29, 444]
				cbnz	w0, .L898
		.LBB719:
  793          printstring("Begin")
				add	x22, x29, 1784
				mov	x23, 256
				mov	x2, x23
				adrp	x1, .LANCHOR5
				add	x1, x1, :lo12:.LANCHOR5
				sub	x1, x1, #48
				mov	x0, x22
				bl	memcpy
		.LVL951:
				add	x21, x29, 504
				mov	x2, x23
				mov	x1, x22
				mov	x0, x21
				bl	memcpy
		.LVL952:
				add	x22, x29, 1272
				mov	x2, x23
				mov	x1, x21
				mov	x0, x22
				bl	memcpy
		.LVL953:
		.LBE719:
		.LBB720:
		.LBB721:
				add	x21, x29, 128
				mov	x2, x23
				mov	x1, x22
				mov	x0, x21
				bl	memcpy
		.LVL954:
				mov	x0, x21
				bl	_imp_printstring
		.LVL955:
		.L899:
		.LBE721:
		.LBE720:
		.LBB722:
		.LBB723:
				bl	_imp_newline
		.LVL956:
				ldr	x23, [x29, 48]
				b	.L897
		.L898:
		.LBE723:
		.LBE722:
		.LBB724:
  794       %FINISH %ELSE %START
  795          printstring("Procedure ");  print ident(block tag, 0)
				add	x22, x29, 1784
				mov	x23, 256
				mov	x2, x23
				adrp	x1, .LANCHOR5
				add	x1, x1, :lo12:.LANCHOR5
				add	x1, x1, 208
				mov	x0, x22
				bl	memcpy
		.LVL957:
				add	x21, x29, 760
				mov	x2, x23
				mov	x1, x22
				mov	x0, x21
				bl	memcpy
		.LVL958:
				add	x22, x29, 1528
				mov	x2, x23
				mov	x1, x21
				mov	x0, x22
				bl	memcpy
		.LVL959:
		.LBE724:
		.LBB725:
		.LBB726:
				add	x21, x29, 128
				mov	x2, x23
				mov	x1, x22
				mov	x0, x21
				bl	memcpy
		.LVL960:
				mov	x0, x21
				bl	_imp_printstring
		.LVL961:
		.LBE726:
		.LBE725:
  796       %FINISH
				mov	x18, x19
				mov	w1, 0
				ldr	w0, [x29, 444]
				bl	PRINTIDENT.7853
		.LVL962:
				b	.L899
		.L937:
				str	x28, [x29, 88]
  797       newline
  798    %FINISH
  799
  800    !deal with procedure definition (parameters)
  801
  802    %IF block tag # 0 %START;                   !proc
				ldr	w0, [x29, 444]
				cbnz	w0, .L937
		.L900:
  803       analyse;  compile %IF ss # 0
				add	x18, x29, 416
				bl	ANALYSE.7963
		.LVL963:
  804
				adrp	x0, .LANCHOR0+624
				ldr	w0, [x0, #:lo12:.LANCHOR0+624]
				cbnz	w0, .L938
		.L901:
  805       %IF block otype # 0 %START;              !external-ish
				cbz	w20, .L905
				add	x18, x29, 416
				bl	COMPILE.7965
		.LVL968:
				b	.L901
		.L939:
  806          %IF bflags&spec = 0 %START;           !definition
				ldr	x0, [x29, 416]
				ldrh	w0, [x0]
				tbnz	x0, 0, .L905
  807             %IF progmode <= 0 %AND level = 1 %THEN progmode = -1 %C
				adrp	x0, .LANCHOR0+644
				ldr	w0, [x0, #:lo12:.LANCHOR0+644]
				cmp	w0, 0
				bgt	.L903
  808                                              %ELSE fault(7)
				ldr	w0, [x29, 476]
				cmp	w0, 1
				beq	.L939
		.L903:
  809          %FINISH
				adrp	x0, .LANCHOR0+644
				mov	w1, -1
				str	w1, [x0, #:lo12:.LANCHOR0+644]
  810       %FINISH
				b	.L905
		.LVL969:
		.L909:
		.LBB737:
		.LBB735:
		.LBB733:
		.LBB731:
  811
  812       new app = gapp;                          !generate app grammar
				add	x18, x29, 416
				mov	w0, 7
				bl	FAULT.7982
		.LVL964:
		.L902:
		.L904:
		.L905:
		.LBB727:
		.LBB728:
  813       %IF spec given # 0 %START;               !definition after spec
				adrp	x0, .LANCHOR0+268
				ldr	w0, [x0, #:lo12:.LANCHOR0+268]
				cbz	w0, .L916
  814          fault(6) %IF new app # block app;     !different from spec
				ldr	w0, [x26, 212]
				cmp	w0, w20
				beq	.L916
  815       %FINISH
				add	x18, x29, 416
				mov	w0, 6
				bl	FAULT.7982
		.LVL985:
		.L915:
		.L916:
  816       block app = new app;                     !use the latest
				str	w20, [x26, 212]
  817
  818       %IF level < 0 %START;                    !not procedure definition
				ldr	w0, [x29, 476]
				tbnz	w0, #31, .L941
				ldr	x28, [x29, 88]
				b	.L917
		.LVL986:
		.L940:
		.LBB738:
		.LBB736:
  819          delete names(0)
				add	x18, x29, 416
				mov	w0, 0
				bl	DELETENAMES.7961
		.LVL989:
  820          %RETURN
				ldr	x28, [x29, 88]
				b	.L895
		.L943:
  821       %FINISH
  822    %FINISH %ELSE %START
  823       open = 0;                                !can return from a block?
				str	wzr, [x29, 448]
		.LVL946:
		.L917:
  824    %FINISH
  825
  826    %CYCLE
  827       analyse
				add	x21, x29, 416
				mov	x18, x21
				bl	ANALYSE.7963
		.LVL991:
  828       %CONTINUE %IF ss = 0
				adrp	x20, .LANCHOR0
				add	x20, x20, :lo12:.LANCHOR0
				ldr	w0, [x20, 624]
				cbz	w0, .L919
		.L920:
  829       compile
				mov	x18, x21
				bl	COMPILE.7965
		.LVL992:
  830       fault(-5) %IF dubious # 0
				ldr	w0, [x20, 636]
				cbnz	w0, .L943
		.L921:
  831       flush buffer %IF bp >= 128
				mov	w22, -5
				b	.L919
		.LVL947:
		.L935:
				mov	x18, x21
				mov	w0, w22
				bl	FAULT.7982
		.LVL990:
				b	.L921
		.L922:
				ldr	w0, [x20]
				cmp	w0, 127
				ble	.L922
  832       %IF sstype > 0 %START;                 !block in or out
				ldr	w0, [x20, 620]
				cmp	w0, 0
				bgt	.L942
		.L919:
				mov	x18, x19
				bl	FLUSHBUFFER.7840
		.LVL993:
				b	.L922
		.L942:
  833          %EXIT %IF sstype = 2;               !out
				cmp	w0, 2
				beq	.L924
		.L925:
  834          compile block(spec mode, block x, dmin, tmax, id)
				mov	x18, x19
				ldr	w4, [x29, 472]
				ldr	w3, [x29, 480]
				ldr	w2, [x29, 468]
				ldr	w1, [x20, 648]
				ldr	w0, [x20, 632]
				bl	COMPILEBLOCK.7956
		.LVL994:
  835          %EXIT %IF ss < 0;                   !endofprogram
				ldr	w0, [x20, 624]
				tbz	w0, #31, .L919
		.L924:
  836       %FINISH
  837    %REPEAT
  838    %IF list > 0 %AND level > 0 %START
				adrp	x0, .LANCHOR2+2840
				ldr	w0, [x0, #:lo12:.LANCHOR2+2840]
				cmp	w0, 0
				ble	.L927
  839       write(lines, 5);  spaces(level*3-1)
				ldr	w0, [x29, 476]
				cmp	w0, 0
				bgt	.L944
		.L927:
				mov	w1, 5
				adrp	x0, .LANCHOR0+184
				ldr	w0, [x0, #:lo12:.LANCHOR0+184]
				bl	_imp_writeint
		.LVL996:
  840       printstring("End")
				ldr	w0, [x29, 476]
				add	w0, w0, w0, lsl 1
		.LBB739:
		.LBB740:
				sub	w0, w0, #1
				bl	_imp_spaces
		.LVL997:
		.LBE740:
		.LBE739:
		.LBB741:
				add	x19, x29, 1784
				mov	x20, 256
				mov	x2, x20
				adrp	x1, .LANCHOR5
				add	x1, x1, :lo12:.LANCHOR5
				add	x1, x1, 528
				mov	x0, x19
				bl	memcpy
		.LVL998:
				add	x21, x29, 1016
				mov	x2, x20
				mov	x1, x19
				mov	x0, x21
				bl	memcpy
		.LVL999:
				mov	x2, x20
				mov	x1, x21
				mov	x0, x19
				bl	memcpy
		.LVL1000:
		.LBE741:
		.LBB742:
		.LBB743:
				add	x0, x29, 128
				mov	x2, x20
				mov	x1, x19
				mov	x19, x0
				bl	memcpy
		.LVL1001:
				mov	x0, x19
				bl	_imp_printstring
		.LVL1002:
		.LBE743:
		.LBE742:
		.LBB744:
		.LBB745:
				bl	_imp_newline
		.LVL1003:
				b	.L927
		.L945:
				stp	x23, x24, [x29, 48]
				str	x25, [x29, 64]
				stp	x27, x28, [x29, 80]
		.LBE745:
		.LBE744:
  841       newline
  842    %FINISH
  843    delete names(0)
				add	x18, x29, 416
				mov	w0, 0
				bl	DELETENAMES.7961
		.LVL995:
		.L895:
  844    %RETURN
  845
  846    %INTEGERFN gapp;                            !generate app grammar (backwards)
				add	x0, x29, 2048
				str	x0, [x29, 408]
  847       %CONSTINTEGER comma = 140;               !psep
  848       %ROUTINESPEC set cell(%INTEGER g, tt)
  849       %ROUTINESPEC class(%RECORD(tagfm)%NAME v)
  850       %RECORD(tagfm)%NAME v
  851       %INTEGER p, link, tp, c, ap, t
  852
  853       %RESULT = 0 %IF tmax = local;            !no app needed
				adrp	x0, .LANCHOR0+344
				ldr	w28, [x0, #:lo12:.LANCHOR0+344]
				ldr	w0, [x29, 480]
				cmp	w28, w0
				beq	.L906
				stp	x23, x24, [x29, 48]
				str	x25, [x29, 64]
				str	x27, [x29, 80]
		.L907:
  854
				mov	w20, 0
		.LVL965:
  855       p = gmax1;  link = 0;  t = tmax
				mov	w1, 719
				str	w1, [x29, 400]
  856
				str	wzr, [x29, 396]
		.LVL966:
		.LBB729:
		.LBB730:
  857       %CYCLE
  858          v == tag(t);  t = t-1
  859          class(v);                             !deduce class from tag
				mov	w0, w27
		.LVL974:
		.L908:
				sub	w27, w0, #1
		.LVL975:
		.LBB734:
		.LBB732:
  860          %IF c < 0 %START;                     !insert %PARAM
				ldr	w0, [x29, 384]
				tbz	w0, #31, .L911
  861             c = -c
				neg	w0, w0
				str	w0, [x29, 384]
  862             set cell(196, tp)
				add	x1, x29, 384
				str	x1, [x29, 120]
				b	.L908
		.LVL967:
		.L938:
		.LBE728:
		.LBE727:
				ldr	x18, [x29, 120]
				ldr	w1, [x29, 388]
				mov	w0, 196
				bl	SETCELL.8162
		.LVL983:
  863             tp = -1
				mov	w0, -1
				str	w0, [x29, 388]
				b	.L911
		.L912:
  864          %FINISH
  865          set cell(c, tp)
				ldr	x18, [x29, 120]
				ldr	w1, [x29, 388]
				ldr	w0, [x29, 384]
				bl	SETCELL.8162
		.LVL972:
  866          %EXIT %IF t = local;                  !end of parameters
				cmp	w28, w27
				beq	.L912
		.L913:
  867          set cell(comma, -1);                  !add the separating comma
				ldr	x18, [x29, 120]
				mov	w1, -1
				mov	w0, 140
				bl	SETCELL.8162
		.LVL973:
  868       %REPEAT
  869       abandon(3) %IF gmax > gmin
				adrp	x0, .LANCHOR1
				ldr	w1, [x0, #:lo12:.LANCHOR1]
				adrp	x0, .LANCHOR2+2696
				ldr	w0, [x0, #:lo12:.LANCHOR2+2696]
				cmp	w1, w0
				bgt	.L940
		.L914:
  870
				ldr	x18, [x29, 424]
				mov	w0, 3
				bl	ABANDON.7872
		.LVL987:
				b	.L914
		.LVL988:
		.L941:
		.LBE736:
		.LBE738:
  871       %RESULT = link
				ldr	w20, [x29, 396]
				ldp	x23, x24, [x29, 48]
				ldr	x25, [x29, 64]
				ldr	x27, [x29, 80]
		.LVL984:
		.L906:
		.LBE735:
		.LBE737:
  872
  873       %ROUTINE set cell(%INTEGER g, tt)
		.LVL9:
  874
  875          !add the cell to the grammar, combining common tails
  876
  877          %WHILE p # gmax %CYCLE
  878             p = p+1
				adrp	x2, .LANCHOR1
				ldr	w6, [x2, #:lo12:.LANCHOR1]
				ldr	w2, [x18, 16]
				cmp	w6, w2
				beq	.L4
				add	w3, w2, 1
				str	w3, [x18, 16]
  879             %IF glink(p) = link %AND gram(p) = g %START
				add	x8, x2, :lo12:.LANCHOR1
				add	x7, x8, 8
				ldrsh	w5, [x7, w3, sxtw 1]
				ldr	w4, [x18, 12]
				cmp	w5, w4
				bne	.L9
				ldrsh	w4, [x8, w3, sxtw 1]
				cmp	w4, w0
				bne	.L9
				tbnz	w1, #31, .L6
  880                %IF tt < 0 %OR (gram(p+1) = tt %AND glink(p+1)=ap) %START
				add	x8, x8, 3456
		.L9:
  881                   link = p;                    !already there
				add	w2, w2, 2
				ldrsh	w4, [x8, w2, sxtw 1]
				cmp	w4, w1
				bne	.L9
				str	w3, [x18, 12]
				b	.L3
		.L4:
  882                   %RETURN
				ldrsh	w4, [x7, w2, sxtw 1]
				ldr	w2, [x18, 8]
				cmp	w4, w2
				bne	.L9
		.L6:
  883                %FINISH
  884             %FINISH
  885          %REPEAT
  886
  887          !add a new cell
  888
  889          gmax = gmax+1
				add	w2, w6, 1
				adrp	x4, .LANCHOR1
				add	x3, x4, :lo12:.LANCHOR1
				str	w2, [x4, #:lo12:.LANCHOR1]
  890          gram(gmax) = g
				add	x5, x3, 3456
				sxtw	x4, w2
				strh	w0, [x5, x4, lsl 1]
  891          glink(gmax) = link
				add	x3, x3, 8
				ldr	w0, [x18, 12]
		.LVL10:
				strh	w0, [x3, x4, lsl 1]
  892          link = gmax
				str	w2, [x18, 12]
  893
  894          %IF tt >= 0 %START;             ! set type cell
				tbnz	w1, #31, .L8
  895             gmax = gmax+1
				add	w6, w6, 2
				adrp	x2, .LANCHOR1
				str	w6, [x2, #:lo12:.LANCHOR1]
  896             gram(gmax) = tt
				sxtw	x6, w6
				strh	w1, [x5, x6, lsl 1]
  897             glink(gmax) = ap
				ldr	w1, [x18, 8]
		.LVL11:
				strh	w1, [x3, x6, lsl 1]
		.L8:
  898          %FINISH
  899
  900          p = gmax
				adrp	x0, .LANCHOR1
				ldr	w0, [x0, #:lo12:.LANCHOR1]
				str	w0, [x18, 16]
		.L3:
  901       %END
  902
				ret
		.LFE195:
				.align	2
		DEFLAB.8875:
		.LFB210:
  903       %ROUTINE class(%RECORD(tagfm)%NAME v)
  904          %CONSTINTEGER err    = 89
  905          %CONSTINTEGER rtp    = 100
  906          %CONSTINTEGER fnp    = 101
  907          %CONSTINTEGER mapp   = 102
  908          %CONSTINTEGER predp  = 103
  909          %CONSTINTEGERARRAY class map(0:15) = %C
				adrp	x1, .LANCHOR5
				add	x1, x1, :lo12:.LANCHOR5
				ldp	x24, x25, [x1, 464]
				ldp	x22, x23, [x1, 480]
				ldp	x20, x21, [x1, 496]
				add	x1, x1, 464
				ldp	x1, x2, [x1, 48]
				stp	x1, x2, [x29, 96]
		.LBE730:
		.LBE729:
				add	x1, x29, 1568
				stp	x24, x25, [x1, 216]
				stp	x22, x23, [x1, 232]
				stp	x20, x21, [x1, 248]
				add	x3, x29, 2080
				ldp	x1, x2, [x29, 96]
				stp	x1, x2, [x3, -248]
  910          err,1764, 247, err(4), -rtp, -fnp, -mapp, -predp, err, 214,
  911          err, 229, err
  912          %INTEGER tags, type, form
  913          ap = 0
				str	wzr, [x29, 392]
				ldr	x1, [x29, 424]
				add	x0, x1, x0, sxtw 4
		.LVL976:
  914          tags = v_flags
				ldrsh	w1, [x0, 220]
		.LVL977:
  915          type = tags>>4&7;  form = tags&15
				ubfx	x3, x1, 4, 3
		.LVL978:
  916          tp = v_format<<3!type
				and	w1, w1, 15
		.LVL979:
				ldr	w2, [x0, 216]
				orr	w2, w3, w2, lsl 3
				str	w2, [x29, 388]
  917          c = class map(form)
				add	x2, x29, 1784
				ldr	w1, [x2, w1, sxtw 2]
		.LVL980:
				str	w1, [x29, 384]
		.L910:
  918          c = 208 %AND tp = 0 %IF type = 0 %AND form = 2;  !%NAME
  919          ap = v_app %IF tags&parameters # 0
				cmp	w3, 0
				ccmp	w1, 2, 0, eq
				beq	.L909
  920       %END
				mov	w1, 208
		.LVL970:
				str	w1, [x29, 384]
				ldr	w0, [x0, 212]
		.LVL981:
				str	w0, [x29, 392]
		.LDL48:
		.LVL982:
		.LBE732:
		.LBE734:
  921    %END
				str	wzr, [x29, 388]
				b	.L910
		.LVL971:
		.L911:
		.LBE731:
		.LBE733:
  922
  923 %ROUTINE delete names(%INTEGER quiet)
		.LVL745:
				stp	x29, x30, [sp, -80]!
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				stp	x21, x22, [sp, 32]
				stp	x23, x24, [sp, 48]
				str	x25, [sp, 64]
				mov	x20, x18
				mov	w22, w0
  924    %INTEGER flags
  925    %RECORD(tagfm)%NAME tx
  926    %WHILE tmax > tbase %CYCLE
  927       x = tmax;  tmax = tmax-1
				ldr	w1, [x18, 64]
				ldr	w2, [x18, 68]
				cmp	w1, w2
				ble	.L795
				adrp	x21, .LANCHOR0
				add	x21, x21, :lo12:.LANCHOR0
				ldr	w1, [x20, 64]
				ldr	w0, [x20, 68]
				cmp	w1, w0
				ble	.L798
		.L792:
				str	w1, [x21, 208]
  928       tx == tag(x)
				sub	w0, w1, #1
				str	w0, [x20, 64]
		.LVL747:
				ldr	x19, [x20, 8]
				add	x19, x19, x1, sxtw 4
		.LVL748:
  929       flags = tx_flags
  930       fault(20) %IF flags&spec # 0 %and flags&own bit = 0
  931                {spec with no definition & not external}
				ldrh	w0, [x19, 220]
				tbnz	x0, 0, .L791
  932       %IF flags&used bit = 0 %AND level >= 0 %AND list <= 0 %START
				mov	w24, 20
				mov	x18, x20
				mov	w0, w24
				bl	FAULT.7982
		.LVL749:
  933          fault(-3) %IF quiet = 0;          !unused
				ldr	w0, [x20, 60]
				tbnz	w0, #31, .L791
				ldr	w0, [x23, 2840]
				cmp	w0, 0
				ccmp	w22, 0, 0, le
				bne	.L791
  934       %FINISH
				adrp	x23, .LANCHOR2
				add	x23, x23, :lo12:.LANCHOR2
				mov	w25, -3
				b	.L792
		.L790:
		.LVL746:
		.L791:
				mov	x18, x20
				mov	w0, w25
				bl	FAULT.7982
		.LVL750:
				b	.L791
		.L789:
		.L798:
  935       dict(tx_text) = tx_link
				ldrsh	w0, [x19, 226]
				ldr	x2, [x20, 8]
				ldrsh	w1, [x19, 224]
				sub	w1, w1, #1
				add	x1, x2, x1, sxtw 1
				add	x1, x1, 24576
				add	x1, x1, 2256
				strh	w0, [x1, 4]
		.LDL35:
  936    %REPEAT
  937 %END
  938
				ldp	x19, x20, [sp, 16]
				ldp	x21, x22, [sp, 32]
		.LVL751:
				ldp	x23, x24, [sp, 48]
				ldr	x25, [sp, 64]
				ldp	x29, x30, [sp], 80
				ret
		.LVL752:
		.L795:
				ret
		.LFE197:
				.align	2
		ANALYSE.7963:
		.LFB198:
  939 %ROUTINE analyse
				mov	x16, 6080
				sub	sp, sp, x16
				stp	x29, x30, [sp, 16]
				add	x29, sp, 16
				stp	x19, x20, [sp, 32]
				stp	x21, x22, [sp, 48]
				stp	x23, x24, [sp, 64]
				stp	x25, x26, [sp, 80]
				stp	x27, x28, [sp, 96]
				mov	x22, x18
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x0]
				str	x1, [x29, 6056]
				mov	x1,0
				add	x0, x29, 4096
				add	x0, x0, 1968
				str	x0, [x29, 416]
				str	x18, [x29, 400]
  940
  941    %CONSTINTEGER order bits = x'3000', order bit = x'1000'
  942    %CONSTINTEGER escape     = x'1000'
  943    %INTEGER strp, mark, flags, prot err, k, s, c
  944    %OWNINTEGER key = 0
  945    %SHORTINTEGER node
  946    %SHORTINTEGERNAME z
  947    %RECORD(arfm)%NAME arp
  948 !emas:   %INTEGER node
  949 !emas:   %INTEGERNAME z
  950    %SWITCH act(actions:phrasal), paction(0:15)
  951
  952    %ROUTINE trace analysis
				add	x0, x29, 4096
				add	x0, x0, 1968
				str	x0, [x29, 392]
				add	x0, x29, 400
				str	x0, [x29, 384]
  953       !diagnostic trace routine (diagnose&1 # 0)
  954       %INTEGER a
  955       %ROUTINE show(%INTEGER a)
		.LVL41:
				sub	sp, sp, #832
				stp	x29, x30, [sp]
				add	x29, sp, 0
				adrp	x1, :got:__stack_chk_guard
				ldr	x1, [x1, #:got_lo12:__stack_chk_guard]
				ldr	x2, [x1]
				str	x2, [x29, 824]
				mov	x2,0
		.LVL42:
		.LBB316:
  956          %IF 0 < a < 130 %START
  957             space
  958             printstring(text(a))
  959          %FINISH %ELSE write(a, 3)
  960       %END
  961       %OWNINTEGER la1=0, la2=0, lsa=0, lt=0
				sub	w1, w0, #1
				cmp	w1, 128
				bls	.L39
		.L35:
		.LBE316:
				mov	w1, 3
				bl	_imp_writeint
		.LVL43:
		.L36:
		.L34:
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 824]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L40
				ldp	x29, x30, [sp]
				add	sp, sp, 832
				ret
		.LVL44:
		.L39:
				stp	x19, x20, [x29, 16]
				str	x21, [x29, 32]
		.LBB317:
		.LBB318:
				bl	_imp_space
		.LVL45:
				add	x20, x29, 568
				mov	x21, 256
				mov	x2, x21
				add	x1, x29, 312
				mov	x0, x20
				bl	memcpy
		.LVL46:
		.LBE318:
		.LBE317:
		.LBB319:
		.LBB320:
				add	x19, x29, 48
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL47:
				mov	x0, x19
				bl	_imp_printstring
		.LVL48:
				ldp	x19, x20, [x29, 16]
				ldr	x21, [x29, 32]
				b	.L34
		.L40:
				stp	x19, x20, [x29, 16]
				str	x21, [x29, 32]
		.LBE320:
		.LBE319:
				bl	__stack_chk_fail
		.LVL49:
		.LFE200:
				.align	2
		PRINTIDENT.7853:
		.LFB187:
  962       newline %IF mon pos # pos %AND sym # nl
				ldr	w1, [x19, 688]
				ldr	w0, [x19, 260]
				cmp	w1, w0
				beq	.L825
  963       mon pos = pos
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 10
				bne	.L888
		.L825:
				ldr	w0, [x19, 260]
				str	w0, [x19, 688]
  964       write(g, 3)
				mov	w1, 3
				ldr	w0, [x19, 680]
				bl	_imp_writeint
		.LVL852:
		.LBB636:
		.LBB637:
				bl	_imp_space
		.LVL853:
				add	x20, x29, 4096
				add	x20, x20, 936
				mov	x28, 256
				mov	x2, x28
				add	x1, x29, 4096
				add	x1, x1, 1192
				mov	x0, x20
				bl	memcpy
		.LVL854:
		.LBE637:
		.LBE636:
		.LBB638:
		.LBB639:
				add	x0, x29, 112
				mov	x2, x28
				mov	x1, x20
				mov	x20, x0
				bl	memcpy
		.LVL855:
				mov	x0, x20
				bl	_imp_printstring
		.LVL856:
		.LBE639:
		.LBE638:
		.LBB640:
		.LBB641:
				mov	w0, 34
				bl	_imp_printsymbol
		.LVL857:
		.LDL40:
		.LBE641:
		.LBE640:
  965       space
  966       printstring(text(class))
  967       printsymbol('"') %IF gg&trans bit # 0
  968       a = gg>>8&15
				ldr	w20, [x19, 656]
				ubfx	x20, x20, 8, 4
		.LVL858:
  969       %IF a # 0 %START
				cbnz	w20, .L889
		.L826:
  970          printsymbol('{')
  971          write(a, 0)
				mov	w1, 0
				mov	w0, w20
				bl	_imp_writeint
		.LVL847:
		.LBB634:
		.LBB635:
				mov	w0, 125
				bl	_imp_printsymbol
		.LVL848:
				b	.L826
		.LVL849:
		.L890:
		.LBE635:
		.LBE634:
  972          printsymbol('}')
  973       %FINISH
  974       %IF atom1 # la1 %OR atom2 # la2 %OR lsa # subatom %C
				ldr	w1, [x19, 240]
				ldr	w0, [x19, 692]
				cmp	w1, w0
				bne	.L827
  975                       %OR lt # type %START
				ldr	w1, [x19, 248]
				ldr	w0, [x19, 696]
				cmp	w1, w0
				beq	.L890
		.L827:
		.LBB642:
  976          printstring(" [")
				adrp	x0, .LANCHOR3
				add	x0, x0, :lo12:.LANCHOR3
				str	x0, [x29, 104]
		.LVL765:
		.L813:
		.LBE628:
		.LBE627:
		.LBE626:
				ldr	x0, [x29, 104]
				add	x24, x0, 1744
				b	.L824
		.LVL766:
		.L812:
		.LBE629:
		.LBE649:
		.LBE652:
				ldr	w1, [x19, 700]
				ldr	w0, [x19, 220]
				cmp	w1, w0
				bne	.L827
				add	x20, x29, 4096
				add	x20, x20, 1448
		.LVL859:
				mov	x28, 256
				mov	x2, x28
				mov	x1, x24
				mov	x0, x20
				bl	memcpy
		.LVL860:
				add	x0, x29, 4096
				add	x0, x0, 1704
				mov	x2, x28
				mov	x1, x20
				mov	x20, x0
				bl	memcpy
		.LVL861:
				add	x0, x29, 4096
				add	x0, x0, 680
				mov	x2, x28
				mov	x1, x20
				mov	x20, x0
				bl	memcpy
		.LVL862:
		.LBE642:
		.LBB643:
		.LBB644:
				add	x0, x29, 112
				mov	x2, x28
				mov	x1, x20
				mov	x20, x0
				bl	memcpy
		.LVL863:
				mov	x0, x20
				bl	_imp_printstring
		.LVL864:
		.LBE644:
		.LBE643:
  977          la1 = atom1
				ldr	w1, [x19, 704]
				ldr	w0, [x19, 236]
				cmp	w1, w0
				bne	.L827
				b	.L828
		.LVL850:
		.L832:
		.LBE650:
		.LBE690:
				ldr	w0, [x19, 240]
				str	w0, [x19, 692]
  978          show(la1)
				add	x20, x29, 384
				mov	x18, x20
				bl	SHOW.8238
		.LVL865:
  979          la2 = atom2
				ldr	w0, [x19, 248]
				str	w0, [x19, 696]
  980          show(la2)
				mov	x18, x20
				bl	SHOW.8238
		.LVL866:
  981          lsa = subatom
				ldr	w0, [x19, 220]
				str	w0, [x19, 700]
  982          write(lsa, 3)
				mov	w1, 3
				bl	_imp_writeint
		.LVL867:
  983          lt = type
				ldr	w0, [x19, 236]
				str	w0, [x19, 704]
  984          write(lt, 5)
				mov	w1, 5
				bl	_imp_writeint
		.LVL868:
		.LBB645:
		.LBB646:
				mov	w0, 93
				bl	_imp_printsymbol
		.LVL869:
		.L828:
		.LBE646:
		.LBE645:
		.LBB647:
		.LBB648:
				bl	_imp_newline
		.LVL870:
		.LDL41:
		.LBE648:
		.LBE647:
		.LBE651:
		.LBE691:
  985          printsymbol(']')
  986       %FINISH
  987       newline
  988    %END
  989
  990 %ROUTINE get sym
				stp	x29, x30, [sp, -16]!
				add	x29, sp, 0
		.LVL211:
		.LBB362:
		.LBB363:
				adrp	x0, .LANCHOR2
				add	x0, x0, :lo12:.LANCHOR2
				add	x0, x0, 2548
				bl	_imp_readsymbol
		.LVL212:
		.LBE363:
		.LBE362:
  991    readsymbol(sym)
  992    pos = pos+1 %IF pos # 133
				adrp	x0, .LANCHOR0+260
				ldr	w0, [x0, #:lo12:.LANCHOR0+260]
				cmp	w0, 133
				beq	.L168
  993    char(pos) = sym
				add	w0, w0, 1
				adrp	x1, .LANCHOR0+260
				str	w0, [x1, #:lo12:.LANCHOR0+260]
		.L168:
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldrb	w0, [x1, 2548]
				add	x3, x1, 2704
				adrp	x2, .LANCHOR0+260
				ldrsw	x2, [x2, #:lo12:.LANCHOR0+260]
				strb	w0, [x3, x2]
  994    printsymbol(sym) %IF list <= 0
				ldr	w1, [x1, 2840]
				cmp	w1, 0
				ble	.L171
		.L169:
  995    column = column+1
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 288]
				add	w1, w1, 1
				str	w1, [x0, 288]
  996 %END
  997 %ROUTINE read sym
				ldp	x29, x30, [sp], 16
				ret
		.L171:
		.LVL213:
		.LBB364:
		.LBB365:
				bl	_imp_printsymbol
		.LVL214:
				b	.L169
		.LBE365:
		.LBE364:
		.LFE201:
				.align	2
		READSYM.8264:
		.LFB202:
				sub	sp, sp, #1216
				stp	x29, x30, [sp]
				add	x29, sp, 0
				str	x19, [sp, 16]
				mov	x19, x18
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x0]
				str	x1, [x29, 1208]
				mov	x1,0
  998    %owninteger Last = 0
  999 %CONSTBYTEINTEGERARRAY mapped(0:127) = %C
				mov	x2, 128
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				add	x1, x1, 536
				add	x0, x29, 1080
				bl	memcpy
		.LVL215:
 1000    0,  0,  0,  0,   0,  0,  0,  0,    0,  0, nl,  0,  3 ,  0,  0,  0,
 1001    0,  0,  0,  0,   0,  0,  0,  0,    0,  0,  0,  0,   0,  0,  0,  0,
 1002   0 ,'!','"','#', '$', 1 ,'&', 39,  '(',')','*','+', ',','-','.','/',
 1003  '0','1','2','3', '4','5','6','7',  '8','9',':',';', '<','=','>','?',
 1004  '@','A','B','C', 'D','E','F','G',  'H','I','J','K', 'L','M','N','O',
 1005  'P','Q','R','S', 'T','U','V','W',  'X','Y','Z','[', '\',']','^','_',
 1006  '`','A','B','C', 'D','E','F','G',  'H','I','J','K', 'L','M','N','O',
 1007  'P','Q','R','S', 'T','U','V','W',  'X','Y','Z', 2 , '|','}','~',  0
 1008
 1009 !!   0 = space
 1010 !!   1 = %
 1011 !!   2 = {
 1012 !!   3 = ff
 1013 !!   other values represent themselves
 1014
 1015    %IF sym = nl %START
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 10
				bne	.L184
		.L174:
 1016 s1:   lines = lines+1
 1017       printsymbol(end mark) %if end mark # 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 184]
				add	w1, w1, 1
				str	w1, [x0, 184]
				ldr	w0, [x0, 292]
				cbnz	w0, .L207
		.L175:
		.L176:
 1018 s11:  pos = 0;  pos1 = 0;  pos2 = 0;  margin = 0;  column = 0
 1019       Last = 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 260]
				str	wzr, [x0, 304]
 1020       end mark = 0
				str	wzr, [x0, 296]
				str	wzr, [x0, 292]
 1021       %IF list <= 0 %START
				str	wzr, [x0, 256]
				adrp	x0, .LANCHOR2+2840
				ldr	w0, [x0, #:lo12:.LANCHOR2+2840]
				cmp	w0, 0
				ble	.L208
		.L183:
 1022          %IF include # 0 %START
				str	wzr, [x0, 300]
				adrp	x0, .LANCHOR0+308
				ldr	w0, [x0, #:lo12:.LANCHOR0+308]
				cbz	w0, .L178
				stp	x20, x21, [x29, 24]
				str	x22, [x29, 40]
		.LBB370:
 1023             printstring(" &");  write(lines, -4)
				str	wzr, [x0, 288]
				add	x21, x29, 312
				mov	x22, 256
				mov	x2, x22
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				add	x1, x1, 664
				mov	x0, x21
				bl	memcpy
		.LVL221:
				add	x20, x29, 568
				mov	x2, x22
				mov	x1, x21
				mov	x0, x20
				bl	memcpy
		.LVL222:
				add	x21, x29, 824
				mov	x2, x22
				mov	x1, x20
				mov	x0, x21
				bl	memcpy
		.LVL223:
		.LBE370:
		.LBB371:
		.LBB372:
				add	x20, x29, 48
				mov	x2, x22
				mov	x1, x21
				mov	x0, x20
				bl	memcpy
		.LVL224:
				mov	x0, x20
				bl	_imp_printstring
		.LVL225:
		.LBE372:
		.LBE371:
 1024          %FINISH %ELSE  write(lines, 5)
				mov	w1, -4
				adrp	x0, .LANCHOR0+184
				ldr	w0, [x0, #:lo12:.LANCHOR0+184]
				bl	_imp_writeint
		.LVL226:
				ldp	x20, x21, [x29, 24]
				ldr	x22, [x29, 40]
		.L179:
 1025          csym = cont;  printsymbol(csym)
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w0, [x1, 2844]
				str	w0, [x1, 2848]
		.LVL227:
		.LBB373:
		.LBB374:
				bl	_imp_printsymbol
		.LVL228:
		.LBE374:
		.LBE373:
		.LBB375:
		.LBB376:
				bl	_imp_space
		.LVL229:
		.LBE376:
		.LBE375:
 1026          space
				mov	w1, 5
				adrp	x0, .LANCHOR0+184
				ldr	w0, [x0, #:lo12:.LANCHOR0+184]
				bl	_imp_writeint
		.LVL232:
				b	.L179
		.L213:
		.LVL233:
		.LBB379:
		.LBB380:
				bl	_imp_printsymbol
		.LVL234:
		.LBE380:
		.LBE379:
 1027          %IF error margin # 0 %START
				adrp	x0, .LANCHOR0+312
				ldr	w0, [x0, #:lo12:.LANCHOR0+312]
				cbz	w0, .L183
				str	x20, [x29, 24]
 1028             lines = lines-1
				adrp	x20, .LANCHOR0
				add	x20, x20, :lo12:.LANCHOR0
				ldr	w1, [x20, 184]
				sub	w1, w1, #1
				str	w1, [x20, 184]
		.LVL230:
		.LBB377:
		.LBB378:
				bl	_imp_spaces
		.LVL231:
		.LBE378:
		.LBE377:
 1029             spaces(error margin)
 1030             error margin = 0
				str	wzr, [x20, 312]
 1031             %IF error sym # 0 %START
				ldr	w0, [x20, 316]
				cbnz	w0, .L213
		.L177:
		.L181:
		.L182:
				ldr	x20, [x29, 24]
				b	.L183
		.L178:
 1032                printsymbol(error sym)
 1033                pos = 1
				mov	w1, 1
				str	w1, [x20, 260]
 1034 !IMP80 BUG???
 1035 !!             char(1) = error sym
 1036                byteinteger(addr(char(0))+1) = error sym
				ldr	w2, [x20, 316]
		.LBB381:
		.LBB382:
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
		.LBE382:
		.LBE381:
				strb	w2, [x1, 2705]
 1037                sym = error sym;  error sym = 0
				str	w2, [x1, 2548]
 1038                ->s5
				str	wzr, [x20, 316]
				ldr	x20, [x29, 24]
				b	.L180
		.L173:
		.L206:
				ldr	x20, [x29, 24]
				b	.L184
		.L209:
		.LVL235:
		.LBB383:
		.LBB384:
				bl	_imp_printsymbol
		.LVL236:
				b	.L186
		.L210:
		.LBE384:
		.LBE383:
 1039             %FINISH
 1040          %FINISH
 1041       %FINISH
 1042 s2:   symtype = 1
 1043    %FINISH
				adrp	x0, .LANCHOR0+320
				mov	w1, 1
				str	w1, [x0, #:lo12:.LANCHOR0+320]
		.L184:
		.LVL216:
		.LBB366:
		.LBB367:
				adrp	x0, .LANCHOR2
				add	x0, x0, :lo12:.LANCHOR2
				add	x0, x0, 2548
				bl	_imp_readsymbol
		.LVL217:
		.LBE367:
		.LBE366:
 1044 s3:readsymbol(sym)
 1045    pos = pos+1 %IF pos # 133
				adrp	x0, .LANCHOR0+260
				ldr	w0, [x0, #:lo12:.LANCHOR0+260]
				cmp	w0, 133
				beq	.L185
 1046    char(pos) = sym
				add	w0, w0, 1
				adrp	x1, .LANCHOR0+260
				str	w0, [x1, #:lo12:.LANCHOR0+260]
		.L185:
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldrb	w0, [x1, 2548]
				add	x3, x1, 2704
				adrp	x2, .LANCHOR0+260
				ldrsw	x2, [x2, #:lo12:.LANCHOR0+260]
				strb	w0, [x3, x2]
 1047    printsymbol(sym) %IF list <= 0
				ldr	w1, [x1, 2840]
				cmp	w1, 0
				ble	.L209
		.L186:
 1048    column = column+1
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 288]
				add	w1, w1, 1
				str	w1, [x0, 288]
		.L180:
 1049 s5:%IF sym # nl %START
 1050       Last = Sym
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 10
				beq	.L198
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				str	w0, [x1, 304]
 1051       %RETURN %IF quote # 0;                     !dont alter strings
				ldr	w1, [x1, 324]
				cbnz	w1, .L172
		.L189:
 1052       sym = mapped(sym&127)
				and	w0, w0, 127
				add	x1, x29, 1080
				ldrb	w0, [x1, w0, sxtw]
				adrp	x1, .LANCHOR2+2548
				str	w0, [x1, #:lo12:.LANCHOR2+2548]
 1053       %IF sym <= 3 %START;                       !special symbol
				cmp	w0, 3
				bgt	.L190
 1054          ->s2 %IF sym = 0;                       !space (or dubious control)
				cbz	w0, .L183
		.L191:
 1055          symtype = 2 %AND ->s3 %IF sym = 1;      !%
				cmp	w0, 1
				beq	.L210
		.L192:
				str	x20, [x29, 24]
 1056          cont = '+' %AND ->s11 %IF sym = 3;      !ff
				cmp	w0, 3
				beq	.L211
		.L193:
		.L194:
		.L195:
				adrp	x0, .LANCHOR0+320
				mov	w1, 2
				str	w1, [x0, #:lo12:.LANCHOR0+320]
 1057          !must be {
				b	.L184
		.L211:
				adrp	x0, .LANCHOR2+2844
				mov	w1, 43
				str	w1, [x0, #:lo12:.LANCHOR2+2844]
 1058          %CYCLE
				ldr	x20, [x29, 24]
				b	.L176
		.L190:
 1059             get sym
				bl	GETSYM.8259
		.LVL218:
 1060             ->s3 %IF sym = '}'
				adrp	x20, .LANCHOR2
				add	x20, x20, :lo12:.LANCHOR2
				ldr	w0, [x20, 2548]
				cmp	w0, 125
				beq	.L206
		.L196:
 1061             ->s4 %IF sym = nl
				cmp	w0, 10
				bne	.L193
				ldr	x20, [x29, 24]
		.L187:
		.L198:
 1062          %REPEAT
 1063       %FINISH
 1064       key = kdict(sym)
				ldr	x1, [x19]
				ldr	x2, [x1, 8]
				sub	w1, w0, #32
				add	x1, x2, x1, sxtw 1
				add	x1, x1, 24576
				add	x1, x1, 1104
				ldrsh	w1, [x1, 4]
				adrp	x2, .LANCHOR0+328
				str	w1, [x2, #:lo12:.LANCHOR0+328]
 1065       %IF key&3 = 0 %AND symtype = 2 %START;            !keyword
				tbnz	x1, 0, .L197
 1066          %IF sym = 'C' %AND nextsymbol = nl %START;     !%C...
				adrp	x2, .LANCHOR0+320
				ldr	w2, [x2, #:lo12:.LANCHOR0+320]
				cmp	w2, 2
				beq	.L214
		.L197:
				cmp	w0, 67
				bne	.L172
		.LBB385:
		.LBB386:
				bl	_imp_nextsymbol
		.LVL237:
		.LBE386:
		.LBE385:
 1067             getsym;  cont = '+';  ->s1
				cmp	w0, 10
				bne	.L172
				bl	GETSYM.8259
		.LVL238:
 1068          %FINISH
				adrp	x0, .LANCHOR2+2844
				mov	w1, 43
				str	w1, [x0, #:lo12:.LANCHOR2+2844]
 1069       %ELSE
				b	.L174
		.L212:
				stp	x20, x21, [x29, 24]
				str	x22, [x29, 40]
 1070          symtype = key&3-2
				and	w1, w1, 3
				sub	w1, w1, #2
				adrp	x0, .LANCHOR0+320
				str	w1, [x0, #:lo12:.LANCHOR0+320]
				b	.L172
		.L214:
 1071       %FINISH
 1072       %RETURN
 1073    %FINISH
 1074 s4:symtype = quote
 1075    ->S1 %if last = 0 %and Quote = 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 324]
				str	w1, [x0, 320]
 1076    Cont = '+'
				ldr	w0, [x0, 304]
				orr	w1, w1, w0
				cbz	w1, .L174
		.L199:
				adrp	x0, .LANCHOR2+2844
				mov	w1, 43
				str	w1, [x0, #:lo12:.LANCHOR2+2844]
		.L188:
		.L200:
		.L172:
 1077 %END
 1078
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 1208]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L212
				ldr	x19, [sp, 16]
				ldp	x29, x30, [sp]
				add	sp, sp, 1216
				ret
		.L207:
		.LVL219:
		.LBB368:
		.LBB369:
				bl	_imp_printsymbol
		.LVL220:
				b	.L176
		.L208:
		.LBE369:
		.LBE368:
				bl	__stack_chk_fail
		.LVL239:
		.LFE202:
				.align	2
		GET.8431:
		.LFB206:
 1079 %INTEGERFN format selected
 1080    format list = tag(format)_app;      !number of names
				ldr	x1, [x24]
				ldr	x1, [x1]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw 4
				ldr	w1, [x0, 212]
				adrp	x2, .LANCHOR0+212
				str	w1, [x2, #:lo12:.LANCHOR0+212]
 1081    %IF format list < 0 %START;         !forward ref
				tbnz	w1, #31, .L157
		.L111:
 1082       atom1 = error+22
				adrp	x0, .LANCHOR0+240
				mov	w1, 32790
				str	w1, [x0, #:lo12:.LANCHOR0+240]
				ldp	x25, x26, [x29, 64]
				b	.L93
		.LVL176:
		.L156:
		.LBE359:
		.LBE358:
 1083       %RESULT = 0
 1084    %FINISH
 1085    %IF sym = '_' %START
				adrp	x1, .LANCHOR2+2548
				ldr	w1, [x1, #:lo12:.LANCHOR2+2548]
				cmp	w1, 95
				bne	.L114
 1086       escape class = esc rec
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				mov	w2, 255
				str	w2, [x1, 244]
 1087       search base = tag(format)_format
				ldr	w0, [x0, 216]
				str	w0, [x1, 200]
				b	.L114
		.L157:
 1088    %FINISH
 1089    %RESULT = 1
 1090 %END
 1091
 1092 %ROUTINE code atom(%INTEGER target)
		.LVL251:
				stp	x29, x30, [sp, -144]!
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				stp	x21, x22, [sp, 32]
				stp	x23, x24, [sp, 48]
				mov	w22, w0
				mov	x20, x18
				adrp	x0, :got:__stack_chk_guard
		.LVL252:
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x0]
				str	x1, [x29, 136]
				mov	x1,0
				add	x0, x29, 144
				str	x0, [x29, 128]
				str	x18, [x29, 104]
 1093    %INTEGER dbase, da
 1094    %INTEGER base, n, mul, pend quote
 1095    %INTEGER j,k,l, pt
 1096
 1097    %ROUTINE lookup(%INTEGER d)
		.LVL135:
				sub	sp, sp, #880
				stp	x29, x30, [sp]
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				stp	x21, x22, [sp, 32]
				stp	x23, x24, [sp, 48]
				str	x27, [sp, 80]
				mov	w27, w0
				mov	x24, x18
				adrp	x0, :got:__stack_chk_guard
		.LVL136:
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x0]
				str	x1, [x29, 872]
				mov	x1,0
 1098       %CONSTINTEGER magic = 6700421
 1099       %INTEGER new name, vid, k1, k2, form
 1100       %RECORD(tagfm)%NAME t
 1101 !emas:      %LONGINTEGER k0
 1102       %INTEGER new
 1103
 1104       !first locate the text of the name
 1105
 1106       new = addr(dict(dmax+1))
				ldr	x0, [x18]
				ldr	x0, [x0]
				ldr	x18, [x0, 8]
				adrp	x0, .LANCHOR2+2556
				ldrsw	x23, [x0, #:lo12:.LANCHOR2+2556]
				add	x23, x23, 12288
				add	x23, x23, 1130
				add	w23, w18, w23, lsl 1
		.LVL137:
 1107
 1108             !******** Machine code to inhibit overflow test ********
 1109
 1110 !            *LI_1,magic
 1111 !            * M_0,hash value
 1112 !            *ST_1,K2
 1113
 1114             {K2 = hash value*magic}
 1115 K2 = hash value*magic ;! requires NOCHECK option
				ldr	w22, [x18, 208]
				mov	w0, 15749
				movk	w0, 0x66, lsl 16
				mul	w22, w22, w0
 1116                        ! we could fix this properly by a shift+add loop
 1117             !*******************************************************
 1118
 1119       k2 = k2>>(32-2*name bits)!1
				lsr	w22, w22, 10
				orr	w22, w22, 1
		.LVL138:
 1120 !emas:      k0 = magic
 1121 !emas:      k1 = (k0*hash value)&X'7FFFFFFF'
 1122 !emas:      k2 = k1>>(32-2*name bits)!1
 1123       k1 = k2>>name bits;                      !giving name bits
				lsr	w19, w22, 11
		.LVL139:
 1124       %CYCLE
 1125          newname = hash(k1)
				add	x0, x18, x19, sxtw 1
				add	x0, x0, 20480
				add	x0, x0, 1104
				ldrsh	w20, [x0, 4]
		.LVL140:
				mov	x26, 10792
		.LVL141:
		.L95:
				ldr	x0, [x24]
				ldr	x0, [x0]
				ldr	x18, [x0, 8]
				add	x1, x26, x19, sxtw
				add	x1, x18, x1, lsl 1
				ldrsh	w20, [x1, 4]
		.LVL145:
				mov	w21, w20
		.LVL146:
 1126          %EXIT %IF newname = 0;                !not in
				cbz	w20, .L94
				stp	x25, x26, [x29, 64]
				mov	w21, w20
				cbnz	w20, .L95
				ldp	x25, x26, [x29, 64]
		.L94:
 1127          ->in %IF string(addr(dict(newname+1))) = string(new)
 1128          k1 = (k1+k2)&max names
				add	w19, w22, w19
		.LVL143:
				and	w19, w19, 2047
		.LDL7:
		.LVL144:
 1129       %REPEAT
				sxtw	x23, w23
				mov	x25, 13418
				add	x0, x25, x21, sxtw
				mov	x1, x23
				add	x0, x18, x0, lsl 1
				bl	_imp_strcmp
		.LVL142:
				cbz	w0, .L96
		.L97:
 1130
 1131       ! not found
 1132
 1133       spare names = spare names-1
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w0, [x1, 2560]
				sub	w0, w0, #1
				str	w0, [x1, 2560]
 1134       abandon(2) %IF spare names <= 0
				cmp	w0, 0
				ble	.L151
		.L98:
 1135       hash(k1) = dmax;                               !put it in
				adrp	x0, .LANCHOR2
				add	x0, x0, :lo12:.LANCHOR2
				ldr	w21, [x0, 2556]
				ldr	x1, [x24]
				ldr	x1, [x1]
				ldr	x1, [x1, 8]
				add	x19, x1, x19, sxtw 1
		.LVL147:
				add	x19, x19, 20480
				add	x19, x19, 1104
				strh	w21, [x19, 4]
				mov	w0, 2
				bl	ABANDON.7872
		.LVL154:
				b	.L98
		.L96:
 1136       dict(dmax) = -1
				ldr	x1, [x24]
				ldr	x1, [x1]
				ldr	x2, [x1, 8]
				sub	w1, w21, #1
				add	x1, x2, x1, sxtw 1
				add	x1, x1, 24576
				add	x1, x1, 2256
				mov	w2, -1
				strh	w2, [x1, 4]
		.LVL148:
 1137       newname = dmax;  dmax = dp;  ->not in
 1138
				ldr	w1, [x0, 2564]
				str	w1, [x0, 2556]
		.L131:
 1139 in:   search base = rbase %IF this >= 0 %AND d # 0;  !record elem defn
 1140       %IF search base # 0 %START;                    !record subname
				adrp	x0, .LANCHOR2+2568
				adrp	x0, .LANCHOR0+200
				ldr	w0, [x0, #:lo12:.LANCHOR0+200]
				cbz	w0, .L101
		.LVL155:
 1141          new = -1
				ldr	w0, [x0, #:lo12:.LANCHOR2+2568]
				cmp	w0, 0
				ccmp	w27, 0, 4, ge
				bne	.L153
		.L100:
 1142          x = search base
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				str	w0, [x1, 208]
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 204]
				str	w1, [x0, 200]
				b	.L100
		.L101:
 1143          %CYCLE
 1144             ->not in %IF x < format list
				ldr	w3, [x1, 212]
				cmp	w0, w3
				blt	.L148
				cmp	w0, w3
				blt	.L154
		.L104:
				sub	w0, w0, #1
 1145             %EXIT %IF tag(x)_text = new name
				ldr	x1, [x24]
				ldr	x1, [x1]
				ldr	x4, [x1, 8]
				add	x1, x4, x0, sxtw 4
				ldrsh	w1, [x1, 224]
				sub	w0, w0, #1
				cmp	w1, w20
				beq	.L108
		.L105:
				add	x2, x4, x1, sxtw 4
				ldrsh	w2, [x2, 224]
				cmp	w2, w20
				bne	.L105
				adrp	x0, .LANCHOR0+208
				str	w1, [x0, #:lo12:.LANCHOR0+208]
				b	.L108
		.LVL156:
		.L153:
 1146             x = x-1
				mov	w1, w0
		.LDL8:
 1147          %REPEAT
 1148       %FINISH %ELSE %START;                   !hash in for normal names
 1149          x = dict(newname)
				ldr	x0, [x24]
				ldr	x0, [x0]
				ldr	x1, [x0, 8]
				sub	w0, w21, #1
				add	x0, x1, x0, sxtw 1
				add	x0, x0, 24576
				add	x0, x0, 2256
				ldrsh	w1, [x0, 4]
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	w1, [x0, 208]
 1150          ->not in %IF x <= limit;             !wrong level
				ldr	w0, [x0, 216]
				cmp	w1, w0
				ble	.L149
		.L103:
		.L107:
		.L108:
 1151       %FINISH
 1152
 1153       subatom = x;                            !name found, extract info
				adrp	x19, .LANCHOR0
		.LVL157:
				add	x19, x19, :lo12:.LANCHOR0
				ldr	w20, [x19, 208]
		.LVL158:
				str	w20, [x19, 220]
 1154       t == tag(x)
				ldr	x0, [x24]
				ldr	x0, [x0]
				ldr	x0, [x0, 8]
		.LVL159:
				add	x20, x0, x20, sxtw 4
		.LVL160:
 1155       atom flags = t_flags
				ldrsh	w1, [x20, 220]
				str	w1, [x19, 224]
 1156       format = t_format;  app = t_app
				ldr	w2, [x20, 216]
				str	w2, [x19, 228]
 1157       protection = atom flags&prot
				ldr	w2, [x20, 212]
				str	w2, [x19, 232]
 1158       type = atom flags>>4&7;  atom1 = amap(atom flags&15)
				ubfx	x2, x1, 4, 3
				str	w2, [x19, 236]
 1159
				and	x1, x1, 15
				add	x0, x0, x1
		.LVL161:
				add	x0, x0, 36864
				ldrb	w0, [x0, 2038]
				str	w0, [x19, 240]
		.LBB352:
 1160       %IF diag&8 # 0 %START
 1161          printstring("lookup:")
				add	x22, x29, 616
		.LVL162:
				mov	x23, 256
				mov	x2, x23
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				add	x1, x1, 280
				mov	x0, x22
				bl	memcpy
		.LVL163:
				add	x25, x29, 360
				mov	x2, x23
				mov	x1, x22
				mov	x0, x25
				bl	memcpy
		.LVL164:
				mov	x2, x23
				mov	x1, x25
				mov	x0, x22
				bl	memcpy
		.LVL165:
		.LBE352:
		.LBB353:
		.LBB354:
				add	x0, x29, 96
				mov	x2, x23
				mov	x1, x22
				mov	x22, x0
				bl	memcpy
		.LVL166:
				mov	x0, x22
				bl	_imp_printstring
		.LVL167:
		.LBE354:
		.LBE353:
 1162          write(atom1, 3)
				mov	w1, 3
				ldr	w0, [x19, 240]
				bl	_imp_writeint
		.LVL168:
 1163          write(type, 1)
				mov	w1, 1
				ldr	w0, [x19, 236]
				bl	_imp_writeint
		.LVL169:
 1164          write(app, 3)
				mov	w1, 3
				ldr	w0, [x19, 232]
				bl	_imp_writeint
		.LVL170:
 1165          write(format, 5)
				mov	w1, 5
				ldr	w0, [x19, 228]
				bl	_imp_writeint
		.LVL171:
 1166          write(atom flags, 3)
				mov	w1, 3
				ldr	w0, [x19, 224]
				bl	_imp_writeint
		.LVL172:
		.LBB355:
		.LBB356:
				bl	_imp_newline
		.LVL173:
		.LDL9:
		.LBE356:
		.LBE355:
 1167          newline
 1168       %FINISH
 1169
 1170       %IF d = 0 %START;                             !old name wanted
				cbnz	w27, .L109
 1171          t_flags <- t_flags!used bit
				ldrh	w0, [x20, 220]
				orr	w0, w0, -32768
				strh	w0, [x20, 220]
 1172          search base = 0
				str	wzr, [x19, 200]
 1173
 1174          %IF atom flags&subname # 0 %AND format # 0 %START; !a record
 1175             %RETURN %IF format selected = 0
				ldr	w0, [x19, 228]
				cbnz	w0, .L155
		.L110:
		.L114:
 1176          %FINISH
 1177
 1178          %IF atom flags&parameters # 0 %START;      !proc or array
 1179
 1180             %IF app = 0 %START;                     !no parameters needed
				adrp	x0, .LANCHOR0+232
				ldr	w0, [x0, #:lo12:.LANCHOR0+232]
				cbnz	w0, .L115
 1181                atom2 = atom1
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				ldr	w0, [x1, 240]
				str	w0, [x1, 248]
 1182                atom1 = atom1-4
				sub	w2, w0, #4
				str	w2, [x1, 240]
		.LVL174:
		.LBB357:
 1183                %IF 97 <= atom1 <= 98 %START
 1184                   map gg = atom1;  atom1 = var
				mov	x0, x1
				str	w2, [x1, 252]
 1185                %FINISH
				mov	w1, 91
				str	w1, [x0, 240]
				b	.L120
		.LVL177:
		.L115:
 1186             %FINISH %ELSE %START
 1187                %IF sym = '(' %START
				adrp	x1, .LANCHOR2+2548
				ldr	w1, [x1, #:lo12:.LANCHOR2+2548]
				cmp	w1, 40
				bne	.L120
 1188                   search base = 0;                  !ignore format for now
				sub	w0, w0, #101
				cmp	w0, 1
				bls	.L156
		.L116:
		.L119:
		.LVL175:
		.L120:
		.LBE357:
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				str	wzr, [x1, 200]
 1189                   %IF atom1 >= 106 %START;          !arrays
				ldr	w1, [x1, 240]
				cmp	w1, 105
				ble	.L117
 1190                      app = phrase(app+200)
				adrp	x2, .LANCHOR0
				add	x2, x2, :lo12:.LANCHOR0
				adrp	x3, .LANCHOR2
				add	x3, x3, :lo12:.LANCHOR2
				add	x3, x3, 2576
				ldrsh	w0, [x3, w0, sxtw 1]
				str	w0, [x2, 232]
 1191                      escape class = esc array
				mov	w0, 254
				str	w0, [x2, 244]
 1192                      atom1 = (atom1-106)>>1+91;     !a,an->v  na,nan->n
				sub	w0, w1, #106
				lsr	w0, w0, 1
				add	w0, w0, 91
				str	w0, [x2, 240]
		.L118:
 1193                   %FINISH %ELSE %START;             !procedures
 1194                      escape class = esc proc
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w2, 253
				str	w2, [x0, 244]
 1195                      atom1 = atom1-4
				sub	w1, w1, #4
				str	w1, [x0, 240]
				b	.L118
		.L109:
 1196                   %FINISH
 1197                   phrase(200) = app
				adrp	x0, .LANCHOR0+232
				ldr	w1, [x0, #:lo12:.LANCHOR0+232]
				adrp	x0, .LANCHOR2+2576
				strh	w1, [x0, #:lo12:.LANCHOR2+2576]
				b	.L120
		.L117:
 1198                %FINISH
 1199             %FINISH
 1200             pos2 = pos;  %return
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 260]
				str	w1, [x0, 256]
 1201          %FINISH
				ldp	x25, x26, [x29, 64]
				b	.L93
		.L155:
		.LBB358:
		.LBB359:
 1202
 1203          !deal with constintegers etc
 1204
 1205          %IF atom flags&const bit # 0 %AND atom1 = var %START
 1206                map gg = const;  atom2 = const
 1207                subatom = -subatom %IF type = integer
 1208          %FINISH
 1209          %RETURN
 1210
 1211       %FINISH
 1212                                                  !new name wanted
 1213       ->not in %IF tbase # tstart;               !don<dq>t fault proc parm-parm
				ldr	x0, [x24]
				ldr	x0, [x0]
				ldr	w1, [x0, 68]
				ldr	w0, [x0, 72]
				cmp	w1, w0
				beq	.L158
		.L121:
 1214       %IF d = lab+spec+used bit %START
				mov	w0, 32899
				cmp	w27, w0
				beq	.L163
		.L123:
 1215          t_flags = t_flags!used bit
				ldrh	w0, [x20, 220]
				orr	w0, w0, -32768
				strh	w0, [x20, 220]
 1216          %RETURN
				ldp	x25, x26, [x29, 64]
				b	.L93
		.L164:
 1217       %FINISH
 1218       %IF atom flags&spec # 0 %START;            !a spec has been given
 1219          %IF d = lab %START;                     !define label
				cmp	w27, 3
				beq	.L164
		.L124:
		.LBB361:
 1220             t_flags <- t_Flags-Spec
				ldrh	w0, [x20, 220]
				sub	w0, w0, #128
				strh	w0, [x20, 220]
 1221             %RETURN
				ldp	x25, x26, [x29, 64]
				b	.L93
		.LVL196:
		.L165:
 1222          %FINISH
 1223          %IF 7 <= decl&15 <= 10 %AND decl&spec = 0 %START
 1224
 1225             !procedure definition after spec
 1226
				adrp	x0, .LANCHOR0+264
				ldr	w0, [x0, #:lo12:.LANCHOR0+264]
		.LVL191:
				and	w1, w0, 15
		.LVL192:
 1227             %IF (decl!!atom flags)&b'1111111' = 0 %START;  !correct type?
				adrp	x1, .LANCHOR0+224
		.LVL197:
				ldr	w1, [x1, #:lo12:.LANCHOR0+224]
				eor	w0, w0, w1
		.LVL198:
				tbnz	x0, 0, .L127
 1228                t_flags = t_flags-spec
				sub	w1, w1, #7
		.LVL193:
				cmp	w1, 3
				bls	.L165
		.L125:
		.L128:
		.LBE361:
				ldrh	w0, [x20, 220]
				sub	w0, w0, #128
				strh	w0, [x20, 220]
 1229                spec given = 1
				adrp	x0, .LANCHOR0+268
				mov	w1, 1
				str	w1, [x0, #:lo12:.LANCHOR0+268]
 1230                %RETURN
				tbnz	x0, 0, .L129
				ldp	x25, x26, [x29, 64]
				b	.L93
		.L126:
		.LVL199:
		.L129:
 1231             %FINISH
 1232
 1233             !note that an external procedure must be speced as a
 1234             !non-external procedure.
 1235
 1236          %FINISH
 1237          %IF decl&15 = recfm %START;              !recordformat
				tbnz	x0, 0, .L129
		.LVL194:
		.L127:
 1238             t_flags = record<<4+recfm
				mov	w0, 68
				strh	w0, [x20, 220]
 1239             t_format = fdef
				adrp	x0, .LANCHOR0+272
				ldr	w0, [x0, #:lo12:.LANCHOR0+272]
				str	w0, [x20, 216]
 1240             %RETURN
				ldp	x25, x26, [x29, 64]
				b	.L93
		.LVL195:
		.L163:
 1241          %FINISH
 1242       %FINISH
 1243       %RETURN %IF last1 = jump %AND atom1 = swit
				adrp	x0, .LANCHOR0+276
				ldr	w0, [x0, #:lo12:.LANCHOR0+276]
				cmp	w0, 54
				beq	.L166
		.L130:
 1244       copy = x %IF copy = 0
				adrp	x0, .LANCHOR0+280
				ldr	w0, [x0, #:lo12:.LANCHOR0+280]
				cbnz	w0, .L121
				adrp	x0, .LANCHOR0+240
				ldr	w0, [x0, #:lo12:.LANCHOR0+240]
				cmp	w0, 105
				bne	.L130
				ldp	x25, x26, [x29, 64]
				b	.L93
		.LVL201:
		.L154:
				adrp	x0, .LANCHOR0+208
				str	w1, [x0, #:lo12:.LANCHOR0+208]
				ldp	x25, x26, [x29, 64]
				b	.L131
		.L99:
		.L148:
				ldp	x25, x26, [x29, 64]
				b	.L131
		.LVL202:
		.L149:
				ldp	x25, x26, [x29, 64]
				b	.L131
		.LVL203:
		.L159:
 1245
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 208]
		.LVL200:
				str	w1, [x0, 280]
				b	.L121
		.L166:
 1246 notin:app = 0;  vid = 0
 1247       atom1 = error+2
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 232]
		.LVL149:
				mov	w1, 32770
				str	w1, [x0, 240]
				adrp	x0, .LANCHOR0+232
				str	wzr, [x0, #:lo12:.LANCHOR0+232]
		.LVL178:
				ldp	x25, x26, [x29, 64]
		.L132:
 1248
				mov	w4, 0
 1249       %return %if d = 0;                         !old name wanted
				cbnz	w27, .L132
		.LVL150:
		.L93:
 1250       type = d>>4&7;  form = d&15;  atom1 = amap(form)
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ubfx	x1, x27, 4, 3
				str	w1, [x0, 236]
 1251
				and	w1, w27, 15
		.LVL179:
 1252       %IF this < 0 %START;                       !normal scope
				ldr	x2, [x24]
				ldr	x4, [x2]
				ldr	x3, [x4, 8]
				add	x2, x3, x1, sxtw
				add	x2, x2, 36864
				ldrb	w2, [x2, 2038]
				str	w2, [x0, 240]
				adrp	x0, .LANCHOR2+2568
				ldr	w0, [x0, #:lo12:.LANCHOR2+2568]
				tbnz	w0, #31, .L159
		.L133:
		.LVL180:
 1253          new = newname
 1254          tmax = tmax+1;  x = tmax
				ldr	w0, [x4, 64]
				add	w0, w0, 1
				str	w0, [x4, 64]
 1255       %FINISH %ELSE %START;                      !recordformat scope
				ldr	x0, [x24]
				ldr	x0, [x0]
				ldr	w2, [x0, 64]
				adrp	x0, .LANCHOR0+208
				str	w2, [x0, #:lo12:.LANCHOR0+208]
				mov	w0, w21
				b	.L134
		.LVL204:
		.L160:
 1256          new = -1
				mov	w0, -1
		.LVL182:
		.L134:
		.LBB360:
 1257          recid = recid-1;  vid = recid
				ldr	w0, [x3, 204]
				sub	w0, w0, #1
				str	w0, [x3, 204]
 1258          tmin = tmin-1;  x = tmin
				ldr	x0, [x24]
				ldr	x0, [x0]
				ldr	x0, [x0, 8]
				ldr	w4, [x0, 204]
		.LVL181:
				adrp	x2, .LANCHOR2
				add	x2, x2, :lo12:.LANCHOR2
				ldr	w0, [x2, 2688]
				sub	w0, w0, #1
				str	w0, [x2, 2688]
 1259          format list = tmin
				adrp	x2, .LANCHOR0
				add	x2, x2, :lo12:.LANCHOR0
				str	w0, [x2, 208]
				str	w0, [x2, 212]
 1260       %FINISH
 1261
 1262       %IF 11 <= form <= 14 %START;               !arrays
 1263          dim = 1 %IF dim = 0;                    !set dim for owns
				adrp	x2, .LANCHOR0+192
				ldr	w2, [x2, #:lo12:.LANCHOR0+192]
				cbnz	w2, .L136
 1264          app = dim
				adrp	x2, .LANCHOR0+192
				mov	w3, 1
				str	w3, [x2, #:lo12:.LANCHOR0+192]
		.L136:
				adrp	x2, .LANCHOR0
				add	x2, x2, :lo12:.LANCHOR0
				ldr	w3, [x2, 192]
				str	w3, [x2, 232]
				b	.L135
		.LVL205:
		.L161:
 1265       %FINISH
 1266
 1267       d = d!used bit %IF (otype > 2 %AND d&spec = 0) %OR perm # 0 %OR %C
				sub	w2, w1, #11
				cmp	w2, 3
				bls	.L160
		.L135:
		.LDL10:
		.LBE360:
 1268                          Level = Include Level
 1269
 1270       !external definitions need not be used in the file in which
				adrp	x2, .LANCHOR2+2692
				ldr	w2, [x2, #:lo12:.LANCHOR2+2692]
				cbnz	w2, .L137
 1271       !they are defined, so inhibit a useless unused warning.
				ldr	x2, [x24]
				ldr	x2, [x2]
				adrp	x3, .LANCHOR0+284
				ldr	w3, [x3, #:lo12:.LANCHOR0+284]
				ldr	w2, [x2, 60]
				cmp	w3, w2
				bne	.L138
		.L137:
 1272
 1273       t == tag(x)
				orr	w27, w27, 32768
		.LVL183:
		.L138:
				adrp	x2, .LANCHOR0+208
				ldr	w3, [x2, #:lo12:.LANCHOR0+208]
				ldr	x2, [x24]
				ldr	x2, [x2]
				ldr	x5, [x2, 8]
		.LVL184:
 1274       %IF form = lab %START
				cmp	w1, 3
				beq	.L161
		.LVL185:
		.L139:
				add	x2, x5, x3, sxtw 4
 1275          id = id+1;  vid = id
				ldr	w1, [x2, 56]
		.LVL206:
				add	w1, w1, 1
				str	w1, [x2, 56]
 1276       %FINISH
				ldr	x1, [x24]
				ldr	x1, [x1]
				ldr	w4, [x1, 56]
		.LVL207:
				b	.L139
		.LVL208:
		.L162:
 1277       t_index = vid
				strh	w4, [x2, 222]
 1278       t_text   = new name
				strh	w21, [x2, 224]
 1279       t_flags <- d
				strh	w27, [x2, 220]
 1280       t_app    = app
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				ldr	w4, [x1, 232]
		.LVL186:
				str	w4, [x2, 212]
 1281       t_format = fdef;  format = fdef
				ldr	w4, [x1, 272]
				str	w4, [x2, 216]
 1282       subatom = x
				str	w4, [x1, 228]
				str	w3, [x1, 220]
 1283
 1284       %IF new >= 0 %START;                             !insert into hash table
				tbnz	w0, #31, .L141
 1285          t_link = dict(new);  dict(new) = x
				sub	w0, w0, #1
		.LVL187:
				ldr	x1, [x24]
				ldr	x1, [x1]
				ldr	x1, [x1, 8]
				mov	x4, 13416
				add	x0, x4, x0, sxtw
		.LVL188:
				lsl	x0, x0, 1
				add	x1, x1, x0
				ldrsh	w1, [x1, 4]
				strh	w1, [x2, 226]
 1286          %IF gmin = max grammar %START;                !proc param params
				ldr	x1, [x24]
				ldr	x1, [x1]
				ldr	x1, [x1, 8]
				add	x0, x1, x0
				strh	w3, [x0, 4]
				adrp	x0, .LANCHOR2+2696
				ldr	w0, [x0, #:lo12:.LANCHOR2+2696]
				cmp	w0, 1720
				beq	.L162
		.L140:
		.L141:
 1287             tmin = tmin-1;  subatom = tmin
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w0, [x1, 2688]
				sub	w0, w0, #1
				str	w0, [x1, 2688]
 1288             tag(tmin) = t
				adrp	x1, .LANCHOR0+220
				str	w0, [x1, #:lo12:.LANCHOR0+220]
				ldr	x1, [x24]
				ldr	x1, [x1]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw 4
				add	x1, x0, 212
				add	x0, x2, 212
				ldp	x2, x3, [x0]
				stp	x2, x3, [x1]
				b	.L141
		.LVL209:
		.L152:
				stp	x25, x26, [x29, 64]
 1289          %FINISH
 1290       %FINISH
 1291       abandon(3) %IF tmax >= tmin
				ldr	x0, [x24]
				ldr	x0, [x0]
				adrp	x1, .LANCHOR2+2688
				ldr	w2, [x1, #:lo12:.LANCHOR2+2688]
				ldr	w1, [x0, 64]
				cmp	w2, w1
				bgt	.L93
 1292    %END
				ldr	x18, [x0, 8]
				mov	w0, 3
				bl	ABANDON.7872
		.LVL189:
		.L112:
				b	.L93
		.LVL190:
		.L158:
		.L122:
 1293
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 872]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L152
				ldp	x19, x20, [sp, 16]
				ldp	x21, x22, [sp, 32]
		.LVL151:
				ldp	x23, x24, [sp, 48]
				ldr	x27, [sp, 80]
		.LVL152:
				ldp	x29, x30, [sp]
				add	sp, sp, 880
				ret
		.LVL153:
		.L151:
				bl	__stack_chk_fail
		.LVL210:
		.LFE205:
				.align	2
		GETSYM.8259:
		.LFB201:
 1294
 1295
 1296 top:  pos1 = pos
 1297       subatom = 0;  pend quote = 0;  atom flags = 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 260]
				str	w1, [x0, 296]
				str	wzr, [x0, 220]
		.LVL253:
				ldr	w0, [x19, 260]
				str	w0, [x19, 296]
				str	wzr, [x19, 220]
 1298
				mov	w21, 0
		.LVL262:
		.L272:
				mov	w19, 0
		.LVL272:
		.L254:
 1299       !app and format must be left for assigning to papp & pformat
				str	wzr, [x0, 224]
				str	wzr, [x19, 224]
 1300
 1301       ->name %IF symtype = -2;                   !letter
				ldr	w0, [x0, 320]
				cmn	w0, #2
				beq	.L240
				ldr	w0, [x19, 320]
				cmn	w0, #2
				beq	.L240
		.L247:
 1302       ->number %IF symtype < 0;                  !digit
				tbnz	w0, #31, .L241
				tbnz	w0, #31, .L241
		.L248:
 1303       %IF symtype = 0 %START
				cbz	w0, .L242
				cbz	w0, .L242
		.L249:
 1304          atom1 = termin;  atom2 = 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 20
				str	w1, [x0, 240]
 1305          %RETURN
				str	wzr, [x0, 248]
				b	.L239
		.L244:
 1306       %FINISH
 1307       %IF symtype # 2 %START;                    !catch keywords here
				cmp	w0, 2
				beq	.L256
				cmp	w0, 2
				beq	.L256
 1308          ->text %IF quote # 0;                   !completion of text
				adrp	x0, .LANCHOR0+324
				ldr	w0, [x0, #:lo12:.LANCHOR0+324]
				cbz	w0, .L244
				ldr	w0, [x19, 324]
				cbz	w0, .L244
		.L251:
 1309          ->strings %IF sym = squote;             !start of string
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 34
				beq	.L252
		.L253:
 1310          ->symbols %IF sym = cquote;             !start of symbol
				cmp	w0, 39
				beq	.L306
		.L255:
 1311          ->number %IF sym = '.' %AND '0' <= nextsymbol <= '9'
				cmp	w0, 46
				beq	.L314
		.L243:
		.L256:
 1312       %FINISH
 1313
 1314                                                  !locate atom in fixed dict
 1315       k = key>>2;  read sym
				adrp	x21, .LANCHOR0
				add	x21, x21, :lo12:.LANCHOR0
				ldr	w0, [x21, 328]
				lsr	w19, w0, 2
		.LVL254:
 1316       %CYCLE
				mov	x18, x20
				bl	READSYM.8264
		.LVL255:
		.LDL11:
 1317          j = kdict(k)
				ldr	x0, [x20]
				ldr	x0, [x0, 8]
				add	x0, x0, x19, sxtw 1
				add	x1, x0, 24576
				ldrsh	w1, [x1, 1044]
		.LVL256:
		.LDL12:
				sub	w0, w0, #48
				cmp	w0, 9
				bhi	.L256
		.L241:
		.LBE387:
 1318          %EXIT %IF j&x'4000' # 0
 1319          %IF j&127 # sym %OR symtype < 0 %START
 1320             ->err %UNLESS j < 0
 1321             k = k+1
 1322          %FINISH %ELSE %START
 1323             l = j>>7&127;  read sym
 1324             %IF j > 0 %START
 1325                %IF l # 0 %START
 1326                   ->err %IF l # sym %OR symtype < 0
 1327                   read sym
 1328                %FINISH
 1329                l = 1
 1330             %FINISH
 1331             k = k+l
 1332          %FINISH
 1333       %REPEAT
 1334       atom1 = j&127
				and	w2, w1, 127
				str	w2, [x21, 240]
 1335       %IF atom1 = 0 %START;                      !comma
				cbnz	w2, .L257
 1336          atom1 = 19;  subatom = 19;  atom2 = 0
				mov	w1, 19
		.LVL257:
				str	w1, [x21, 240]
 1337          %IF sym = nl %START
				str	w1, [x21, 220]
				adrp	x0, .LANCHOR2+2548
		.LVL258:
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 10
				bne	.L239
 1338             %RETURN %IF ocount >= 0
				str	wzr, [x21, 248]
				adrp	x0, .LANCHOR2+2552
				ldr	w0, [x0, #:lo12:.LANCHOR2+2552]
				tbz	w0, #31, .L239
		.L258:
 1339
 1340             !special action needs to be taken with <comma nl> as
 1341             !const array lists can be enormous
 1342
 1343             read sym
				mov	x18, x20
				bl	READSYM.8264
		.LVL259:
				b	.L239
		.LVL260:
		.L314:
		.LBB387:
		.LBB388:
		.LBB389:
				bl	_imp_nextsymbol
		.LVL261:
		.LBE389:
		.LBE388:
 1344          %FINISH
 1345          %RETURN
 1346       %FINISH
 1347       atom2 = j>>7&127
				adrp	x2, .LANCHOR0
				add	x2, x2, :lo12:.LANCHOR0
				ubfx	x1, x1, 7, 7
		.LVL268:
				str	w1, [x2, 248]
 1348       subatom = kdict(k+1)&x'3fff'
				add	x0, x0, 24576
		.LVL269:
				ldrh	w0, [x0, 1046]
		.LVL270:
				and	w0, w0, 16383
				str	w0, [x2, 220]
 1349       !!!!!cont = ' '
 1350       %RETURN
				b	.L239
		.LVL271:
		.L306:
 1351
 1352       !report an error. adjust the error marker (pos1) to point
 1353       !to the faulty character in an atom, but care needs to be taken
 1354       !to prevent misleading reports in cases like ...?????
 1355
 1356 err:  atom1 = error+1;  atom2 = 0
 1357       pos1 = pos %IF pos-pos1 > 2
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 32769
				str	w1, [x0, 240]
				ldr	w1, [x0, 260]
				ldr	w0, [x0, 296]
				sub	w0, w1, w0
				cmp	w0, 2
				ble	.L239
 1358       %RETURN
				str	wzr, [x0, 248]
				adrp	x0, .LANCHOR0+296
				str	w1, [x0, #:lo12:.LANCHOR0+296]
				b	.L239
		.LVL327:
		.L313:
				ldp	x25, x26, [x29, 64]
				ldr	x27, [x29, 80]
				b	.L239
		.LVL328:
		.L317:
				stp	x25, x26, [x29, 64]
				str	x27, [x29, 80]
 1359
 1360         !take care with strings and symbol constants.
 1361         !make sure the constant is valid here before sucking it in
 1362         !(and potentially loosing many lines)
 1363
 1364 symbols:atom1 = var;  atom2 = const;  type = integer
 1365         map gg = const;  protection = prot
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 91
				str	w1, [x0, 240]
				str	w1, [x0, 252]
 1366         subatom = lp;  abandon(3) %IF lp >= lit max
				mov	w1, 93
				str	w1, [x0, 248]
				ldr	w1, [x0, 332]
				str	w1, [x0, 220]
 1367         quote = \pend quote
				mov	w2, 1
				str	w2, [x0, 236]
				cmp	w1, 49
				bgt	.L316
		.L261:
				mvn	w19, w19
		.LVL273:
				adrp	x0, .LANCHOR0+324
				str	w19, [x0, #:lo12:.LANCHOR0+324]
 1368         %RETURN
				b	.L239
		.LVL274:
		.L316:
				ldr	x0, [x20]
				ldr	x18, [x0, 8]
				mov	w0, 3
				bl	ABANDON.7872
		.LVL275:
				b	.L261
		.LVL276:
		.L318:
		.L264:
 1369
 1370       !an integer constant is acceptable so get it in and
 1371       !get the next atom
 1372
 1373 chars:n = 0;  cont = cquote
 1374       %CYCLE
				str	wzr, [x29, 116]
 1375          read sym
				adrp	x21, .LANCHOR2
				add	x21, x21, :lo12:.LANCHOR2
				mov	w23, 39
				str	w23, [x21, 2844]
		.LDL14:
				mov	x18, x20
				bl	READSYM.8264
		.LVL280:
 1376          %IF sym = cquote %START
				ldr	w0, [x21, 2548]
				cmp	w0, 39
				bne	.L262
		.LBB390:
		.LBB391:
				bl	_imp_nextsymbol
		.LVL281:
		.LBE391:
		.LBE390:
 1377             %EXIT %IF nextsymbol # cquote
				cmp	w0, 39
				beq	.L318
		.L263:
 1378             read sym
				mov	x18, x20
				bl	READSYM.8264
		.LVL277:
		.L262:
 1379          %FINISH
 1380          %IF n&(\((-1)>>byte size)) # 0 %START; ! overflow
 1381             pos1 = pos;  atom1 = error+10;  %RETURN
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 260]
				str	w1, [x0, 296]
 1382          %FINISH
				mov	w1, 32778
				str	w1, [x0, 240]
		.LVL278:
		.L239:
 1383          ->err %IF quote = 0
 1384          n = n<<byte size+sym
 1385          quote = quote+1
 1386       %REPEAT
 1387       quote = 0;  cont = ' '
				adrp	x19, .LANCHOR0
				add	x19, x19, :lo12:.LANCHOR0
				str	wzr, [x19, 324]
 1388       readsym %IF sym # nl
				mov	w24, 32
				b	.L246
		.L242:
				str	w24, [x21, 2844]
				ldr	w0, [x21, 2548]
				cmp	w0, 10
				beq	.L265
 1389       lit pool(lp) = n;  lp = lp+1
				ldr	w0, [x19, 332]
				ldr	x1, [x20]
				ldr	x1, [x1, 8]
				ldr	w2, [x29, 116]
				str	w2, [x1, w0, sxtw 2]
				mov	x18, x20
				bl	READSYM.8264
		.LVL282:
				b	.L265
		.L252:
 1390       ->top
				add	w0, w0, 1
				str	w0, [x19, 332]
		.LDL13:
 1391
 1392         !sniff the grammar before getting the string
 1393
 1394 strings:atom1 = var;  atom2 = const;  type = stringv
 1395         subatom = (strp-stbase)!x'4000'
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 91
				str	w1, [x0, 240]
				ldr	w1, [x20, 8]
				ldr	w3, [x0, 336]
				sub	w1, w1, w3
				orr	w1, w1, 16384
				str	w1, [x0, 220]
 1396         map gg = const;  protection = prot
				mov	w2, 93
				str	w2, [x0, 248]
				str	w2, [x0, 252]
 1397         quote = subatom
				mov	w1, 3
				str	w1, [x0, 236]
				str	w1, [x0, 324]
 1398         text line = lines;                         !in case of errors
				ldr	w1, [x0, 184]
				str	w1, [x0, 340]
 1399         %RETURN
				b	.L239
		.L245:
				stp	x25, x26, [x29, 64]
				str	x27, [x29, 80]
 1400
 1401       !a string constant is ok here, so pull it in and get
 1402       !the next atom
 1403
 1404 text: ->chars %IF quote < 0;                       !character consts
 1405       l = strp; n = strp
				tbz	w0, #31, .L245
				tbz	w0, #31, .L245
		.L246:
				ldr	w19, [x20, 8]
		.LVL283:
 1406       j = addr(glink(gmin-1));                     !absolute limit
				str	w19, [x29, 116]
		.LVL284:
				adrp	x1, .LANCHOR1
				add	x1, x1, :lo12:.LANCHOR1
				adrp	x0, .LANCHOR2+2696
				ldr	w0, [x0, #:lo12:.LANCHOR2+2696]
				sub	w0, w0, #1
				add	x1, x1, 8
				add	x0, x1, x0, sxtw 1
				cmp	w23, w0
				csel	w23, w23, w0, lt
		.LVL286:
		.LDL15:
		.LDL16:
		.LDL17:
 1407       k = l+256;                                   !string length limit
				add	w23, w19, 256
		.LVL285:
 1408       k = j %IF j < k;                             !choose lower
 1409
 1410       %CYCLE
 1411          cont = squote;  quote = 1
				adrp	x21, .LANCHOR2
				add	x21, x21, :lo12:.LANCHOR2
				mov	w27, 34
				str	w27, [x21, 2844]
 1412          %CYCLE
				adrp	x24, .LANCHOR0
				add	x24, x24, :lo12:.LANCHOR0
				mov	w26, 1
				str	w26, [x24, 324]
		.L266:
 1413             read sym
				mov	x18, x20
				bl	READSYM.8264
		.LVL293:
 1414             %IF sym = squote %START;               !terminator?
				ldr	w0, [x21, 2548]
				cmp	w0, 34
				beq	.L320
		.L267:
 1415                %EXIT %IF nextsymbol # squote;      !yes ->
				cmp	w0, 34
				bne	.L268
		.L269:
 1416                read sym;                           ! skip quote
				mov	x18, x20
				bl	READSYM.8264
		.LVL289:
				b	.L267
		.L268:
 1417             %FINISH
 1418             l = l+1;  byteinteger(l) = sym
				add	w19, w19, 1
		.LVL294:
 1419             lines = text line %AND abandon(7) %IF l >= k; !too many chars
				sxtw	x0, w19
				ldr	w1, [x21, 2548]
				strb	w1, [x0]
				cmp	w19, w23
				blt	.L266
 1420          %REPEAT
				ldr	w0, [x24, 340]
				str	w0, [x24, 184]
 1421          byteinteger(n) = l-n;                            !plug in length
				mov	w25, 7
				b	.L271
		.LVL287:
		.L320:
		.LBB392:
		.LBB393:
				bl	_imp_nextsymbol
		.LVL288:
		.LBE393:
		.LBE392:
				ldr	w0, [x29, 116]
				sxtw	x1, w0
				sub	w0, w19, w0
				strb	w0, [x1]
				ldr	x0, [x20]
				ldr	x18, [x0, 8]
				mov	w0, w25
				bl	ABANDON.7872
		.LVL295:
				b	.L266
		.L319:
 1422
 1423          strp = l+1;                                      !ready for next string
				add	w0, w19, 1
				str	w0, [x20, 8]
 1424          quote = 0;  cont = ' ';  read sym
				str	wzr, [x24, 324]
 1425          code atom(target)
				mov	w0, 32
				str	w0, [x21, 2844]
				mov	x18, x20
				mov	w0, w22
				bl	CODEATOM.8304
		.LVL291:
 1426          %RETURN %UNLESS atom1 = 48 %AND sym = squote;    !fold "???"."+++"
				mov	x18, x20
				bl	READSYM.8264
		.LVL290:
				ldr	w0, [x24, 240]
				cmp	w0, 48
				bne	.L313
 1427       %REPEAT
				ldr	w0, [x21, 2548]
				cmp	w0, 34
				bne	.L319
		.LVL292:
		.L271:
 1428
				ldp	x25, x26, [x29, 64]
				ldr	x27, [x29, 80]
				b	.L239
		.LVL296:
		.L315:
 1429       %ROUTINE get(%INTEGER limit)
		.LVL240:
				stp	x29, x30, [sp, -80]!
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				stp	x21, x22, [sp, 32]
				stp	x23, x24, [sp, 48]
				str	x25, [sp, 64]
				mov	w23, w0
				mov	x19, x18
		.LVL241:
 1430          %INTEGER s, shift
 1431          shift = 0
				mov	w21, 0
 1432          %IF base # 10 %START
				ldr	w0, [x18, 16]
		.LVL242:
				cmp	w0, 10
				beq	.L221
 1433             %IF base = 16 %START
				cmp	w0, 16
				beq	.L221
		.L217:
 1434                shift = 4
				mov	w21, 4
 1435             %FINISH %ELSE %START
 1436                %IF base = 8 %START
				cmp	w0, 8
				beq	.L221
		.L218:
 1437                   shift = 3
				mov	w21, 3
 1438                %FINISH %ELSE %START
 1439                   %IF base = 2 %START
				cmp	w0, 2
				cset	w21, eq
		.L216:
		.L219:
		.L220:
		.L221:
		.LVL243:
 1440                      shift = 1
 1441                   %FINISH
 1442                %FINISH
 1443             %FINISH
 1444          %FINISH
 1445          n = 0
				str	wzr, [x19, 12]
 1446          %CYCLE
 1447             %IF symtype = -1 %START;            !digit
				adrp	x22, .LANCHOR0
				add	x22, x22, :lo12:.LANCHOR0
				ldr	w0, [x22, 320]
				cmn	w0, #1
				beq	.L237
		.L223:
 1448                s = sym-'0'
				ldr	w1, [x20, 2548]
				sub	w1, w1, #48
		.LVL244:
 1449             %FINISH %ELSE %START
				b	.L226
		.L238:
 1450                %IF symtype < 0 %START;          !letter
				tbz	w0, #31, .L215
 1451                   s = sym-'A'+10
				adrp	x20, .LANCHOR2
				add	x20, x20, :lo12:.LANCHOR2
				ldr	w1, [x20, 2548]
				sub	w1, w1, #55
		.LVL247:
		.L224:
		.L226:
 1452                %FINISH %ELSE %START
 1453                   %RETURN
 1454                %FINISH
 1455             %FINISH
 1456             %RETURN %IF s >= limit
				cmp	w1, w23
				bge	.L215
		.L227:
 1457             pt = pt+1;  byteinteger(pt) = sym
				ldr	w0, [x19, 8]
				add	w0, w0, 1
				str	w0, [x19, 8]
 1458             %IF base = 10 %START;            !check overflow
				sxtw	x0, w0
				ldr	w2, [x20, 2548]
				strb	w2, [x0]
				ldr	w0, [x19, 16]
				cmp	w0, 10
				beq	.L238
		.L228:
		.L230:
 1459                %IF n >= max int %AND (s > max dig %OR n > max int) %START
				mov	w24, 52427
				movk	w24, 0xccc, lsl 16
				ldr	w0, [x19, 12]
				cmp	w0, w24
				ble	.L230
 1460
 1461                   !too big for an integer,
				mov	w25, 52428
				movk	w25, 0xccc, lsl 16
				b	.L222
		.L237:
				cmp	w0, w25
				ccmp	w1, 7, 0, le
				ble	.L230
		.L229:
 1462                   !so call it a real
 1463
 1464                   base = 0;  type = real;  n = 0
				str	wzr, [x19, 16]
 1465                %FINISH
				mov	w0, 2
				str	w0, [x22, 236]
 1466             %FINISH
				str	wzr, [x19, 12]
				b	.L230
		.L231:
 1467             %IF shift = 0 %START
				cbnz	w21, .L231
 1468                n = n*base+s
				ldr	w0, [x19, 12]
				ldr	w2, [x19, 16]
				madd	w1, w0, w2, w1
		.LVL248:
				str	w1, [x19, 12]
 1469             %FINISH %ELSE %START
				b	.L232
		.L225:
		.L215:
 1470                n = n<<shift+s
				ldr	w0, [x19, 12]
				lsl	w0, w0, w21
				add	w1, w0, w1
		.LVL245:
				str	w1, [x19, 12]
		.L232:
 1471             %FINISH
 1472             read sym
				ldr	x18, [x19]
				bl	READSYM.8264
		.LVL246:
		.L222:
 1473          %REPEAT
 1474       %END
				ldp	x19, x20, [sp, 16]
				ldp	x21, x22, [sp, 32]
		.LVL249:
				ldp	x23, x24, [sp, 48]
		.LVL250:
				ldr	x25, [sp, 64]
				ldp	x29, x30, [sp], 80
				ret
		.LFE206:
				.align	2
		CODEATOM.8304:
		.LFB204:
 1475
 1476 number:base = 10
 1477 bxk:   atom1 = var;  atom2 = const;  type = integer;  subatom = lp
				mov	w0, 10
				str	w0, [x29, 120]
 1478        map gg = const;  protection = prot
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 91
				str	w1, [x0, 240]
				str	w2, [x0, 252]
 1479        abandon(3) %IF lp >= lit max
				mov	w2, 93
				str	w2, [x0, 248]
				cmp	w1, 49
				bgt	.L315
		.L273:
 1480        pt = strp;  mul = 0
				mov	w1, 1
				str	w1, [x0, 236]
				ldr	w0, [x20, 8]
				str	w0, [x29, 112]
		.LVL263:
				ldr	x0, [x20]
				ldr	x18, [x0, 8]
				mov	w0, 3
				bl	ABANDON.7872
		.LVL297:
				b	.L273
		.L275:
		.LVL298:
		.L278:
 1481        %CYCLE
				ldr	w1, [x0, 332]
				str	w1, [x0, 220]
 1482           get(base)
				add	x22, x29, 104
		.LVL264:
				mov	x18, x22
				ldr	w0, [x29, 120]
				bl	GET.8431
		.LVL265:
 1483           %EXIT %UNLESS sym = '_' %AND base # 0 %AND pend quote = 0;    !change of base
				adrp	x19, .LANCHOR2
				add	x19, x19, :lo12:.LANCHOR2
				ldr	w0, [x19, 2548]
				cmp	w0, 95
				bne	.L278
 1484           pt = pt+1;  byteinteger(pt) = '_'
				ldr	w0, [x29, 112]
				add	w0, w0, 1
				str	w0, [x29, 112]
 1485           read sym
				mov	w23, 95
		.L274:
				ldr	w0, [x29, 120]
				cmp	w0, 0
				ccmp	w21, 0, 0, ne
				bne	.L276
		.L277:
				sxtw	x0, w0
				strb	w23, [x0]
				mov	x18, x20
				bl	READSYM.8264
		.LVL266:
 1486           base = n
				ldr	w0, [x29, 116]
				str	w0, [x29, 120]
 1487        %REPEAT
				b	.L274
		.LVL267:
		.L257:
 1488
 1489        %IF pend quote # 0 %START
				cbz	w21, .L279
				cbz	w21, .L282
		.LVL326:
		.L259:
		.L260:
 1490           ->err %IF sym # cquote
				cmp	w0, 39
				bne	.L259
		.L280:
 1491           readsym
				mov	x18, x20
				bl	READSYM.8264
		.LVL299:
		.L279:
 1492        %FINISH
 1493        %IF sym = '.' %START;                        !a real constant
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 46
				beq	.L321
		.L281:
 1494           pt = pt+1;  byteinteger(pt) = '.'
				ldr	w0, [x29, 112]
				add	w0, w0, 1
				str	w0, [x29, 112]
 1495           read sym
				sxtw	x0, w0
				mov	w1, 46
				strb	w1, [x0]
				mov	x18, x20
				bl	READSYM.8264
		.LVL300:
 1496           type = real;  n = base;  base = 0;  get(n)
				adrp	x0, .LANCHOR0+236
				mov	w1, 2
				str	w1, [x0, #:lo12:.LANCHOR0+236]
 1497        %FINISH
				ldr	w0, [x29, 120]
				str	w0, [x29, 116]
 1498
				str	wzr, [x29, 120]
 1499        %IF sym = '@' %START;                        !an exponent
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 64
				beq	.L322
		.L282:
				add	x18, x29, 104
				bl	GET.8431
		.LVL301:
				b	.L281
		.L322:
 1500           pt = pt+1;  byteinteger(pt) = '@';  k = pt
				ldr	w0, [x29, 112]
				add	w0, w0, 1
				str	w0, [x29, 112]
 1501           readsym
				sxtw	x0, w0
				mov	w1, 64
				strb	w1, [x0]
				mov	x18, x20
				bl	READSYM.8264
		.LVL303:
 1502           type = integer;  base = 10
				ldr	w19, [x29, 112]
		.LVL302:
				adrp	x0, .LANCHOR0+236
				mov	w1, 1
				str	w1, [x0, #:lo12:.LANCHOR0+236]
 1503           %IF sym = '-' %START
				mov	w0, 10
				str	w0, [x29, 120]
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 45
				beq	.L323
		.L283:
 1504              read sym;  get(10);  n = -n
				mov	x18, x20
				bl	READSYM.8264
		.LVL307:
 1505           %FINISH %ELSE %START
				add	x18, x29, 104
				mov	w0, 10
				bl	GET.8431
		.LVL308:
				b	.L284
		.LVL309:
		.L240:
		.LBB394:
 1506              get(10)
				add	x18, x29, 104
				mov	w0, 10
				bl	GET.8431
		.LVL304:
		.L284:
				ldr	w0, [x29, 116]
				neg	w0, w0
				str	w0, [x29, 116]
 1507           %FINISH
 1508           pt = k+1;  byteinteger(pt) = lp;  litpool(lp) = n;  lp = lp+1
				add	w0, w19, 1
				str	w0, [x29, 112]
 1509           atom1 = error+10 %IF base = 0
				adrp	x2, .LANCHOR0
				add	x2, x2, :lo12:.LANCHOR0
				ldr	w1, [x2, 332]
				sxtw	x0, w0
				strb	w1, [x0]
				ldr	w0, [x29, 120]
				cbnz	w0, .L285
 1510           type = real;                              !exponents force the type
				ldr	x0, [x20]
				ldr	x0, [x0, 8]
				ldr	w3, [x29, 116]
				str	w3, [x0, w1, sxtw 2]
				adrp	x0, .LANCHOR0+240
				mov	w1, 32778
				str	w1, [x0, #:lo12:.LANCHOR0+240]
		.L285:
				adrp	x0, .LANCHOR0+236
				mov	w1, 2
				str	w1, [x0, #:lo12:.LANCHOR0+236]
		.LVL305:
		.L286:
 1511        %FINISH
				add	w1, w1, 1
				str	w1, [x2, 332]
 1512
 1513        %IF type = real %START
				adrp	x0, .LANCHOR0+236
				ldr	w0, [x0, #:lo12:.LANCHOR0+236]
				cmp	w0, 2
				beq	.L286
		.L287:
 1514           byteinteger(strp) = pt-strp
				ldr	w1, [x20, 8]
				sxtw	x2, w1
				ldr	w0, [x29, 112]
				sub	w0, w0, w1
				strb	w0, [x2]
 1515           subatom = (strp-stbase)!x'2000';  strp = pt+1
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				ldr	w0, [x20, 8]
				ldr	w2, [x1, 336]
				sub	w0, w0, w2
				orr	w0, w0, 8192
				str	w0, [x1, 220]
 1516        %FINISH %ELSE %START
				ldr	w0, [x29, 112]
				add	w0, w0, 1
				str	w0, [x20, 8]
				b	.L239
		.LVL306:
		.L323:
 1517           litpool(lp) = n
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 332]
				ldr	x2, [x20]
				ldr	x2, [x2, 8]
				ldr	w3, [x29, 116]
				str	w3, [x2, w1, sxtw 2]
 1518           lp = lp+1
				add	w1, w1, 1
				str	w1, [x0, 332]
				b	.L239
		.L321:
 1519        %FINISH
 1520        %RETURN
 1521
 1522 name: atom1 = 0 %AND %RETURN %IF 27 <= target <= 41
 1523       hash value = 0
				ldr	x0, [x20]
				ldr	x0, [x0, 8]
				str	wzr, [x0, 208]
 1524
 1525       !*****************************
 1526       !*machine dependent for speed*
 1527       !*****************************
 1528
				sub	w0, w22, #27
				cmp	w0, 14
				bls	.L324
		.L288:
		.LBE394:
 1529       dp = dmax+1
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w0, [x1, 2556]
				add	w2, w0, 1
				str	w2, [x1, 2564]
 1530       da = addr(dict(dp));  dbase = da
				ldr	x1, [x20]
				mov	x23, 13418
				add	x0, x23, x0, sxtw
				ldr	x23, [x1, 8]
				add	x23, x23, x0, lsl 1
		.LVL310:
				mov	w19, w23
				adrp	x0, .LANCHOR0+240
				str	wzr, [x0, #:lo12:.LANCHOR0+240]
 1531       %CYCLE
				b	.L239
		.LVL317:
		.L325:
 1532          hash value = hash value+(hash value+sym);        !is this good enough?
				adrp	x24, .LANCHOR2
				add	x24, x24, :lo12:.LANCHOR2
				ldr	w1, [x24, 2548]
				ldr	x0, [x20]
				ldr	x2, [x0, 8]
				ldr	w0, [x2, 208]
				add	w0, w1, w0, lsl 1
				str	w0, [x2, 208]
 1533          da = da+1;  byteinteger(da) = sym
				add	w19, w19, 1
		.LVL312:
 1534          read sym
				sxtw	x0, w19
				strb	w1, [x0]
				mov	x18, x20
				bl	READSYM.8264
		.LVL313:
 1535          %EXIT %IF symtype >= 0
				adrp	x21, .LANCHOR0
				add	x21, x21, :lo12:.LANCHOR0
		.L289:
		.LVL311:
		.L311:
		.L290:
				ldr	w0, [x21, 320]
				tbnz	w0, #31, .L311
		.L291:
 1536       %REPEAT
 1537       %IF sym = cquote %START
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 39
				beq	.L325
		.L292:
 1538          pend quote = 100
				mov	w19, 100
		.LVL318:
				mov	w21, 100
				mov	w21, w19
				mov	w21, 100
 1539          ->symbols %IF hash value = 'M'
				ldr	x0, [x20]
				ldr	x0, [x0, 8]
				ldr	w0, [x0, 208]
				cmp	w0, 77
				beq	.L254
		.L293:
 1540          read sym
				mov	x18, x20
				bl	READSYM.8264
		.LVL319:
 1541          %IF hash value = 'X' %THEN base = 16 %AND ->bxk
				ldr	x0, [x20]
				ldr	x0, [x0, 8]
				ldr	w0, [x0, 208]
				cmp	w0, 88
				beq	.L329
		.L294:
 1542          %IF hash value = 'K' %C
				and	w1, w0, -5
				mov	w0, 16
				str	w0, [x29, 120]
 1543          %OR hash value = 'O' %THEN base = 8 %AND ->bxk
				cmp	w1, 75
				bne	.L295
		.L296:
				b	.L272
		.L295:
 1544          %IF hash value = 'B' %THEN base = 2 %AND ->bxk
				cmp	w0, 66
				bne	.L259
 1545          ->err
				mov	w0, 8
				str	w0, [x29, 120]
				mov	w0, 2
				str	w0, [x29, 120]
 1546       %FINISH
				b	.L272
		.L329:
				b	.L272
		.LVL320:
		.L326:
 1547       n = da-dbase
				sub	w19, w19, w23
		.LVL314:
				str	w19, [x29, 116]
 1548       byteinteger(dbase) = n
				sxtw	x23, w23
				strb	w19, [x23]
 1549       dp = dp+(n+2)>>1
				ldr	w0, [x29, 116]
				add	w0, w0, 2
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w2, [x1, 2564]
				add	w0, w2, w0, lsr 1
				str	w0, [x1, 2564]
 1550       abandon(8) %IF dp >= dmin
				ldr	x1, [x20]
				ldr	w2, [x1, 52]
				cmp	w0, w2
				bge	.L326
		.L297:
 1551
				ldr	x18, [x1, 8]
				mov	w0, 8
				bl	ABANDON.7872
		.LVL321:
				b	.L297
		.L327:
 1552       atom2 = 90;                                    !ident
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 90
				str	w1, [x0, 248]
 1553       %IF last1 = 0 %AND sym = ':' %START;           !label
				ldr	w0, [x0, 276]
				cbnz	w0, .L298
 1554          limit = local;  lookup(lab);  %RETURN
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 58
				beq	.L327
		.L299:
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 344]
				str	w1, [x0, 216]
 1555       %FINISH
				add	x18, x29, 104
				mov	w0, 3
				bl	LOOKUP.8317
		.LVL322:
 1556       %IF last1 = jump %START;                       !->label
				b	.L239
		.L298:
				cmp	w0, 54
				bne	.L299
 1557          limit = local;  lookup(lab+spec+used bit);  %RETURN
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 344]
				str	w1, [x0, 216]
 1558       %FINISH
				add	x18, x29, 104
				mov	w0, 32899
				bl	LOOKUP.8317
		.LVL323:
 1559       %IF decl # 0 %AND target = 90 %START;          !identifier
				adrp	x0, .LANCHOR0+264
				ldr	w0, [x0, #:lo12:.LANCHOR0+264]
				b	.L239
		.L328:
 1560          search base = fm base
				cmp	w22, 90
				ccmp	w0, 0, 4, eq
				bne	.L328
		.L300:
				adrp	x19, .LANCHOR0
				add	x19, x19, :lo12:.LANCHOR0
				ldr	w1, [x19, 348]
				str	w1, [x19, 200]
 1561          limit = local;  lookup(decl)
				ldr	w1, [x19, 344]
				str	w1, [x19, 216]
 1562          search base = 0
				add	x18, x29, 104
				bl	LOOKUP.8317
		.LVL324:
				str	wzr, [x19, 200]
 1563       %FINISH %ELSE %START
				b	.L239
		.LVL325:
		.L276:
 1564          limit = 0;  lookup(0)
				adrp	x0, .LANCHOR0+216
				str	wzr, [x0, #:lo12:.LANCHOR0+216]
 1565       %FINISH
				add	x18, x29, 104
				mov	w0, 0
				bl	LOOKUP.8317
		.LVL315:
		.L250:
		.L301:
		.L302:
		.L303:
		.L304:
				b	.L239
		.LVL316:
		.L324:
 1566    %END
 1567
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 136]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L317
				ldp	x19, x20, [sp, 16]
				ldp	x21, x22, [sp, 32]
				ldp	x23, x24, [sp, 48]
				ldp	x29, x30, [sp], 144
				ret
		.LVL279:
		.L265:
				bl	__stack_chk_fail
		.LVL329:
		.LFE204:
				.align	2
		GETNEXT.8878:
		.LFB211:
 1568    %INTEGERFN parsed machine code
 1569       !   *opcode_??????????
 1570       %routine octal(%integer n)
 1571          %integer m
 1572          m = n>>3
 1573          octal(m) %if m # 0
 1574          bp = bp+1;  buff(bp) = n&7+'0'
 1575       %end
 1576       atom1 = error %AND %RESULT=0 %UNLESS symtype = -2;  !starts with letter
 1577       flush buffer %IF bp >= 128
 1578       bp=bp+1 %AND buff(bp)='w'
 1579       %CYCLE
 1580          bp=bp+1 %AND buff(bp)=sym
 1581          read sym
 1582          %EXIT %IF symtype >= 0;                !pull in letters and digits
 1583       %REPEAT
 1584       bp=bp+1 %AND buff(bp)='_'
 1585       %IF symtype # 0 %START;                   !not terminator
 1586          atom1 = error %AND %result=0 %UNLESS sym = '_'
 1587          read sym
 1588          %WHILE symtype # 0 %CYCLE
 1589             %IF symtype < 0 %START;             !complex
 1590                code atom(0);  %result=0 %IF atom1&error # 0
 1591                %IF atom2 = const %AND type = integer %START
 1592                   %IF subatom < 0 %THEN octal(tag(-subatom)_format) %C
 1593                                   %ELSE octal(litpool(subatom))
 1594                %FINISH %ELSE %START
 1595                   %IF 91 <= atom1 <= 109 %START
 1596                      %if atom1 = 104 {label} %and %C
 1597                          Tag(Subatom)_Flags&Closed = 0 %start
 1598                         This = Subatom;  Atom1 = Error+21
 1599                         %result = 0
 1600                      %finish
 1601                      op(' ', tag(subatom)_index)
 1602                   %FINISH %ELSE %START
 1603                      atom1 = error;  %result=0
 1604                   %FINISH
 1605                %FINISH
 1606             %FINISH %ELSE %START
 1607                bp=bp+1 %AND buff(bp)=sym;  read sym
 1608             %FINISH
 1609          %REPEAT
 1610       %FINISH
 1611       bp=bp+1 %AND buff(bp)=';'
 1612       %RESULT=1
 1613    %END
 1614
 1615    cont = ' ' %IF gg = 0
				adrp	x0, .LANCHOR0+656
				ldr	w3, [x0, #:lo12:.LANCHOR0+656]
				cbnz	w3, .L800
 1616    last1 = 0;  mapgg = 0
				adrp	x0, .LANCHOR2+2844
				mov	w1, 32
				str	w1, [x0, #:lo12:.LANCHOR2+2844]
		.L800:
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 276]
 1617    s = 0;  ss = 0;  sstype = -1; fdef = 0
				str	wzr, [x0, 252]
		.LVL753:
				mov	w21, 0
 1618    fm base = 0
				str	wzr, [x0, 624]
				str	wzr, [x0, 348]
 1619    app = 0
				mov	w1, -1
				str	w1, [x0, 620]
				str	wzr, [x0, 232]
 1620
				str	wzr, [x0, 272]
 1621    !deal with alignment following an error in one statement
 1622    !of several on a line
 1623
 1624    margin = column;                              !start of statement
				ldr	w1, [x0, 288]
				str	w1, [x0, 300]
 1625
 1626    pos = 0
				str	wzr, [x0, 260]
 1627    stbase = addr(glink(gmax+1));  strp = stbase;  lp = 0
				adrp	x4, .LANCHOR1
				add	x1, x4, :lo12:.LANCHOR1
				add	x2, x1, 8
				ldr	w1, [x4, #:lo12:.LANCHOR1]
				add	w1, w1, 1
				add	x1, x2, x1, sxtw 1
				str	w1, [x0, 336]
 1628    tbase = tstart;                               !??????????????
				str	w1, [x29, 408]
				ldr	w1, [x22, 72]
				str	w1, [x22, 68]
 1629    local = tbase
				str	wzr, [x0, 332]
				str	w1, [x0, 344]
 1630
 1631    %IF gg = 0 %or ocount >= 0 %START;            !data or not continuation(z)
				cbz	w3, .L801
 1632 again:%WHILE sym type = 0 %CYCLE;                !skip redundant terminators
				adrp	x0, .LANCHOR2+2552
				ldr	w0, [x0, #:lo12:.LANCHOR2+2552]
				tbnz	w0, #31, .L811
		.L801:
 1633          c = cont
				ldr	w21, [x19, 2844]
		.LVL757:
 1634          cont = ' ';  cont = '+' %IF ocount >= 0
				adrp	x23, .LANCHOR0
				add	x23, x23, :lo12:.LANCHOR0
				ldr	w0, [x23, 320]
				cbnz	w0, .L804
				mov	w0, 32
				str	w0, [x19, 2844]
 1635          read sym
				mov	x18, x20
				bl	READSYM.8264
		.LVL755:
				ldr	w0, [x19, 2552]
				tbnz	w0, #31, .L805
 1636          cont = c
				str	w21, [x19, 2844]
		.LVL756:
		.L803:
				mov	w0, 43
				str	w0, [x19, 2844]
				b	.L805
		.LVL758:
		.L804:
 1637       %REPEAT
 1638       ->skip %IF sym = '!';                      !comment
				adrp	x19, .LANCHOR2
				add	x19, x19, :lo12:.LANCHOR2
				ldr	w0, [x19, 2548]
				cmp	w0, 33
				beq	.L807
		.L808:
 1639       this = -1
				mov	w0, -1
				str	w0, [x19, 2568]
 1640       code atom(0)
				mov	x18, x20
				mov	w0, 0
				bl	CODEATOM.8304
		.LVL759:
 1641       %IF atom1 = comment %START
				ldr	w0, [x23, 240]
				cmp	w0, 22
				bne	.L811
		.L807:
 1642 skip:    quote = 1
 1643          c = cont
				mov	w24, 1
				str	w24, [x23, 324]
				ldr	w21, [x19, 2844]
		.LVL760:
 1644          read sym %AND cont = c %WHILE sym # nl; !skip to end of line
 1645          quote = 0;  symtype = 0
				ldr	w0, [x19, 2548]
				cmp	w0, 10
				beq	.L809
		.L810:
				ldr	w0, [x19, 2548]
				cmp	w0, 10
				bne	.L810
		.L809:
				str	wzr, [x23, 324]
 1646          ->again
				add	x20, x29, 400
				b	.L803
		.LVL754:
		.L805:
				mov	x18, x20
				bl	READSYM.8264
		.LVL761:
				str	wzr, [x23, 320]
				b	.L803
		.L802:
		.LVL762:
		.L811:
 1647       %FINISH
				str	w21, [x19, 2844]
		.LDL36:
 1648    %FINISH
 1649    decl = 0;  mark = 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 264]
		.LVL763:
 1650    gentype = 0;  force = 0
				str	wzr, [x0, 660]
 1651    dim = 0;  prot err = 0
				str	wzr, [x0, 664]
				str	wzr, [x0, 192]
		.LVL764:
 1652    node = 0;  nmax = 0;  nmin = rec size+1
				strh	wzr, [x29, 382]
 1653    order = 1;  gmin = max grammar+1
				str	wzr, [x0, 668]
				mov	w1, 1
				str	w1, [x0, 628]
 1654    sstype = 0 %AND ->more %IF gg # 0;            !continuation
				mov	w1, 521
				str	w1, [x0, 672]
				adrp	x1, .LANCHOR2+2696
				mov	w2, 1721
				str	w2, [x1, #:lo12:.LANCHOR2+2696]
				ldr	w0, [x0, 656]
				cbz	w0, .L812
 1655    ptype = 0;  spec given = 0
				adrp	x0, .LANCHOR0+620
				str	wzr, [x0, #:lo12:.LANCHOR0+620]
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 676]
 1656
				str	wzr, [x0, 268]
 1657    stats = stats+1;  op('O', lines) %IF perm = 0
				ldr	w1, [x0, 640]
				add	w1, w1, 1
				str	w1, [x0, 640]
 1658
				adrp	x0, .LANCHOR2+2692
				ldr	w0, [x0, #:lo12:.LANCHOR2+2692]
				cbz	w0, .L884
		.L814:
		.LVL767:
		.L853:
 1659    ->fail1 %IF atom1&error # 0;                  !first atom faulty
				ldr	x18, [x22, 8]
				adrp	x0, .LANCHOR0+184
				ldr	w1, [x0, #:lo12:.LANCHOR0+184]
				mov	w0, 79
				bl	OP.7946
		.LVL828:
				b	.L853
		.LVL829:
		.L815:
		.L816:
 1660
 1661    %IF escape class # 0 %START;                  !enter the hard way after
 1662       g = imp phrase;  sstype = -1;  ->a3
 1663    %FINISH
 1664
 1665    g = initial(atom1);                           !pick up entry point
 1666    %IF g = 0 %START;                             !invalid first atom
 1667       g = initial(0);  sstype = 0;  ->a3;        !declarator?
 1668    %FINISH
 1669    %IF g < 0 %START;                             !phrase imp
 1670       g = g&255
 1671       nmax = 1
 1672       ar(1)_class = 0;  ar(1)_link = 0;  ar(1)_sub = imp phrase
 1673    %FINISH
 1674
 1675    gg = gram(g);  class = gg&255;  sstype = gg>>12&3-1
 1676    ->a1
 1677
 1678 act(194): ptype = type;  papp = app;  pformat = format;  ->more
 1679 act(196):k =g+1;  ->a610
 1680 act(188):k = ar(nmax)_sub+1
 1681 a610:     papp = glink(k)
 1682           k = gram(k)
 1683           ->more %IF k = 0;                        !%NAME
 1684           ptype = k&7;  pformat = k>>3
 1685 act(183):k = type;  gentype = k %IF gentype = 0 %OR k = real
 1686           %IF pformat < 0 %START;                  !general type
 1687              app = papp;  format = pformat
 1688              k = real %IF ptype = real %AND type = integer
 1689              k = force %AND force = 0 %IF force # 0
 1690           %FINISH
 1691           ->fail2 %UNLESS papp = app %AND (ptype = k %OR ptype = 0)
 1692           ->more %IF pformat=format %OR pformat = 0 %OR format = 0
 1693           ->fail2
 1694 act(197):arp == ar(nmin)
 1695          k = arp_sub
 1696          ->fail3 %UNLESS block form = k&15
 1697          arp_sub = k>>4
 1698
 1699          type = block type
 1700          ptype = block type;  pformat = block fm;  papp = app
 1701          pformat = -1 %IF ptype # record
 1702          ->more
 1703 act(195):->Fail2 %if Type # 0 %and Type # Integer %and %C
 1704                                    Type # Real
 1705          arp == ar(nmin)
 1706          k = arp_sub
 1707          arp_sub = k>>2
 1708          k = k&3
 1709                                                       !1 = check integer
 1710                                                       !2 = check real
 1711                                                       !3 = check real + int
 1712           ->more %IF k = 0;                           !0 = no action
 1713           %IF k = 1 %START
 1714              force = integer
 1715              ->more %IF type = integer %OR type = 0
 1716              ->fail2
 1717           %FINISH
 1718           ->fail2 %UNLESS ptype = real %or ptype = 0  {or added?}
 1719           force = integer %IF k = 3
 1720           ->more
 1721 act(198):!%OTHER
 1722          k = gg>>8&15
 1723          %IF k = 0 %START;                    !restore atom
 1724             atom1 = last1
 1725             ->more
 1726          %FINISH
 1727          %IF k = 1 %START;                    !test string
 1728             ->fail2 %UNLESS type = stringv
 1729             ->more
 1730          %FINISH
 1731          %if k = 2 %start                     {fault record comparisons}
 1732             ->fail2 %if type = record
 1733             ->more
 1734          %finish
 1735          %if k = 3 %start;                    !check OWN variable coming
 1736             code atom(0)
 1737             ->A7 %if atom flags&own bit = 0
 1738             ->more
 1739          %finish
 1740          for warn = pos1 %IF x <= local;      !%FORTEST
 1741          ->more
 1742 paction(1):%IF type = record %THEN g = phrase(242) %ELSE pformat = -1
 1743                                                ->a3
 1744 paction(2):ptype = real;     pformat = -1;     ->a3
 1745 paction(3):ptype = stringv;  pformat = -1;     ->a3
 1746 paction(4):ptype = integer;  pformat = -1;     ->a3
 1747 paction(5):->a3 %if ptype = integer
 1748            g = phrase(212) %AND pformat=-1 %IF ptype = real
 1749            g = phrase(213) %IF ptype = stringv
 1750            ->a3
 1751 paction(6):ptype = gram(ar(nmax)_sub+1)&7;  pformat = -1;  ->a3
 1752 paction(7):ptype=real %IF ptype = integer;  pformat = -1;  ->a3
 1753
 1754 a1:   last1 = class;  atom1 = 0;  s = subatom
 1755
				str	w0, [x19, 276]
 1756 a2:   %IF gg&trans bit = 0 %START;                !insert into analysis record
				str	wzr, [x19, 240]
 1757          z == node
				ldr	w21, [x19, 220]
		.LVL830:
		.L817:
				ldr	w0, [x19, 656]
				tbz	x0, 0, .L885
		.LVL831:
		.L818:
				add	x0, x29, 382
		.LVL940:
				add	x0, x29, 382
				b	.L821
		.LVL941:
		.L893:
 1758          %CYCLE;                                  !insert cell in order
 1759             k = z
				ldrsh	w1, [x29, 382]
		.LVL833:
				add	x1, x3, x2, sxtw 4
		.LVL836:
				add	x1, x1, 12288
				add	x1, x1, 736
				ldrsh	w1, [x1, 8]
		.LVL837:
				sub	w0, w0, #4096
 1760             %EXIT %IF gg&order bits = 0 %OR k = 0
 1761             gg = gg-order bit;  z == ar(k)_link
				cbz	w1, .L819
				mov	w4, w0
				cbnz	w1, .L820
 1762          %REPEAT
				ldr	x3, [x22, 8]
				sub	w0, w0, #4096
		.LVL834:
		.L820:
				sub	w2, w1, #1
		.LDL37:
		.LVL835:
				add	x0, x3, x2, sxtw 4
				add	x0, x0, 12288
				add	x0, x0, 744
		.LDL38:
		.LDL39:
				str	w4, [x19, 656]
 1763          gg = map gg %IF map gg # 0 %AND gg&255 = var
				ldr	w1, [x19, 252]
		.LVL838:
				cbz	w1, .L821
				ldr	w1, [x19, 252]
		.LVL939:
				cbnz	w1, .L871
 1764          nmin = nmin-1;  ->fail0 %IF nmin = nmax
				tbnz	x4, 0, .L821
		.LVL839:
		.L871:
				ldr	w1, [x19, 672]
				sub	w2, w1, #1
				str	w2, [x19, 672]
 1765          z = nmin
				str	w1, [x19, 656]
		.L821:
				ldr	w3, [x19, 668]
				cmp	w2, w3
				beq	.L822
		.L823:
				strh	w2, [x0]
		.LVL840:
				ldr	x0, [x22, 8]
				add	x0, x0, x1, sxtw 4
 1766          arp == ar(nmin)
 1767          arp_sub = s;  arp_class = (gg&255)!mark
				add	x0, x0, 8192
				strh	w21, [x0, 4806]
		.LVL841:
 1768          arp_link = k
				ldrb	w1, [x19, 656]
				orr	w25, w1, w25
		.LVL842:
				strh	w25, [x0, 4804]
				strh	wzr, [x0, 4808]
				b	.L818
		.LVL843:
		.L888:
		.LBB690:
		.LBB650:
		.LBB630:
		.LBB631:
				bl	_imp_newline
		.LVL844:
				b	.L825
		.LVL845:
		.L889:
		.LBE631:
		.LBE630:
		.LBB632:
		.LBB633:
				mov	w0, 123
				bl	_imp_printsymbol
		.LVL846:
		.LBE633:
		.LBE632:
 1769       %FINISH
 1770       mark = 0;  map gg = 0
 1771
				str	wzr, [x19, 252]
				b	.L813
		.LVL832:
		.L885:
 1772 more: g = glink(g);                               !chain down the grammar
 1773
				adrp	x19, .LANCHOR0
				add	x19, x19, :lo12:.LANCHOR0
				adrp	x26, .LANCHOR1
				add	x26, x26, :lo12:.LANCHOR1
				add	x27, x26, 8
		.LBB626:
		.LBB627:
		.LBB628:
				ldrsw	x0, [x19, 680]
				ldrsh	w0, [x27, x0, lsl 1]
				str	w0, [x19, 680]
				mov	w25, 0
 1774 paction(0):
 1775 a3:   gg = gram(g);  class = gg&255
 1776       trace analysis %IF diag&1 # 0
				add	x23, x26, 3456
		.LBB652:
		.LBB649:
		.LBB629:
				ldrsw	x0, [x19, 680]
				ldrsh	w0, [x23, x0, lsl 1]
				str	w0, [x19, 656]
 1777       ->a5 %IF class = 0;                         !end of phrase
				and	w0, w0, 255
				str	w0, [x19, 684]
		.LBB691:
		.LBB651:
				ldr	w20, [x19, 684]
				cbz	w20, .L829
		.L830:
 1778
 1779       %IF class < actions %START;                 !not a phrase or an action
				cmp	w20, 179
				bgt	.L831
 1780          class = atomic(class) %IF class >= figurative
				cmp	w20, 129
				ble	.L832
 1781          ->a2 %IF class >= manifest
				ldr	w0, [x19, 684]
				cmp	w0, 119
				bgt	.L817
		.L833:
				ldr	x1, [x22, 8]
				sub	w0, w20, #130
				add	x0, x1, x0, sxtw
				add	x0, x0, 36864
				ldrb	w0, [x0, 1988]
				str	w0, [x19, 684]
				b	.L832
		.L886:
 1782          code atom(class) %IF atom1 = 0
				ldr	w1, [x19, 240]
				cbz	w1, .L886
		.L834:
 1783          %IF escape class # 0 %START;             !escape to new grammar
				ldr	w0, [x19, 244]
				cbnz	w0, .L887
		.L835:
				add	x18, x29, 400
				bl	CODEATOM.8304
		.LVL871:
				b	.L834
		.L887:
 1784             class = escape class;  escape class = 0
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				str	w0, [x1, 684]
 1785             g = g+escape
				str	wzr, [x1, 244]
				ldr	w0, [x1, 680]
				add	w0, w0, 4096
				str	w0, [x1, 680]
		.LDL42:
 1786
 1787             !note that following an escape the next item is
 1788             !forced to be transparent!
 1789
 1790 esc:        gg = 0
 1791             arp == ar(nmax+1)
				str	wzr, [x1, 656]
		.LVL872:
				ldrsw	x0, [x1, 668]
		.LVL873:
				ldr	x2, [x22, 8]
				add	x0, x2, x0, lsl 4
		.LVL874:
 1792             arp_papp = papp;  arp_x = x;  ->a4
				add	x0, x0, 8192
				ldr	w2, [x1, 708]
				strh	w2, [x0, 4844]
		.LVL875:
 1793          %FINISH
				ldr	w1, [x1, 208]
				strh	w1, [x0, 4848]
		.L836:
 1794
 1795          ->a1 %IF class = atom1 %OR class = atom2
				ldr	w1, [x19, 684]
				ldr	w0, [x19, 240]
				cmp	w1, w0
				beq	.L815
 1796
				ldr	w0, [x19, 248]
				cmp	w1, w0
				beq	.L815
		.L837:
		.L838:
 1797 a7:      ->fail1 %IF gg >= 0;                     !no alternative
 1798          g = g+1
				ldr	w0, [x19, 656]
				tbz	w0, #31, .L853
		.L839:
				ldr	w0, [x19, 680]
				add	w0, w0, 1
				str	w0, [x19, 680]
		.LVL851:
		.L824:
 1799          ->a3
 1800       %FINISH
 1801
 1802       %IF class >= phrasal %START;                !a phrase
				cmp	w20, 199
				bgt	.L836
		.L841:
		.LVL888:
		.LDL43:
 1803 a4:      nmax = nmax+1;  ->fail0 %IF nmax = nmin
 1804          arp == ar(nmax)
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				ldr	w0, [x1, 668]
				add	w2, w0, 1
				str	w2, [x1, 668]
 1805          arp_ptype = ptype
				ldr	w1, [x1, 672]
				cmp	w2, w1
				beq	.L822
		.L842:
		.LVL876:
				ldr	x1, [x22, 8]
				add	x0, x1, x0, sxtw 4
		.LVL877:
				add	x0, x0, 8192
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				ldr	w2, [x1, 676]
		.LVL878:
				strh	w2, [x0, 4842]
		.LVL879:
 1806          arp_pos = pos1
				ldr	w2, [x1, 296]
				strh	w2, [x0, 4850]
 1807          arp_pformat = pformat
				ldr	w2, [x1, 712]
				strh	w2, [x0, 4846]
 1808          arp_link = gentype
				ldr	w2, [x1, 660]
				strh	w2, [x0, 4840]
 1809          arp_class = node
				ldrh	w2, [x29, 382]
				strh	w2, [x0, 4836]
 1810          arp_sub = g
				ldr	w2, [x1, 680]
				strh	w2, [x0, 4838]
 1811          node = 0
				strh	wzr, [x29, 382]
 1812          g = phrase(class)
				adrp	x0, .LANCHOR2
				add	x0, x0, :lo12:.LANCHOR2
				add	x0, x0, 2576
				ldr	w2, [x1, 684]
				sub	w2, w2, #200
				ldrsh	w0, [x0, w2, sxtw 1]
				str	w0, [x1, 680]
 1813          ptype = force %AND force = 0 %IF force # 0
				ldr	w0, [x1, 664]
				cbz	w0, .L843
 1814          gentype = 0
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				str	w0, [x1, 676]
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 660]
		.LVL880:
 1815          ->paction(gg>>8&15)
				str	wzr, [x1, 664]
		.L843:
				ldr	w0, [x0, 656]
				ubfx	x0, x0, 8, 4
				str	x0, [x29, 96]
		.LVL881:
		.L844:
 1816       %FINISH
 1817
 1818       ->act(class);                               !only actions left
 1819
 1820 a5:   !reverse links
 1821
 1822       s = 0
				mov	w21, w20
				b	.L847
		.LVL903:
		.L849:
 1823       %WHILE node # 0 %CYCLE
 1824          z == ar(node)_link
				ldrsh	w0, [x29, 382]
				cbz	w0, .L873
		.LVL891:
		.L848:
				mov	w21, w0
		.LVL892:
				ldr	x1, [x22, 8]
				add	x0, x1, x0, sxth 4
		.LVL893:
				mov	w20, w21
				cbnz	w0, .L848
				strh	wzr, [x29, 382]
		.LVL896:
		.L847:
 1825          k = z;  z = s;  s = node;  node = k
				add	x1, x0, 8192
				ldrsh	w0, [x1, 4824]
		.LVL894:
 1826       %REPEAT
				strh	w20, [x1, 4824]
		.LVL895:
		.LDL44:
		.LDL45:
 1827       ss = s
				str	w21, [x19, 624]
		.LDL46:
 1828
 1829 a6:   %IF nmax # 0 %START
 1830          k = gentype;                             !type of phrase
				ldr	w0, [x19, 668]
				cbz	w0, .L849
		.LVL897:
 1831          arp == ar(nmax);  nmax = nmax-1
				ldr	x1, [x22, 8]
		.LVL898:
				sub	w2, w0, #1
 1832          node = arp_class
				str	w2, [x19, 668]
				add	x0, x1, x0, sxtw 4
		.LVL899:
				add	x0, x0, 8192
				ldrh	w1, [x0, 4820]
		.LVL900:
				strh	w1, [x29, 382]
 1833          gentype = arp_link
				ldrsh	w1, [x0, 4824]
				str	w1, [x19, 660]
 1834          ptype = arp_ptype
				ldrsh	w1, [x0, 4826]
				str	w1, [x19, 676]
 1835          pformat = arp_pformat
				ldrsh	w1, [x0, 4830]
				str	w1, [x19, 712]
 1836          g = arp_sub
				ldrsh	w1, [x0, 4822]
 1837          %IF g&escape # 0 %START
 1838             g = g-escape
				sub	w1, w1, #4096
				str	w1, [x19, 680]
 1839             papp = arp_papp
				ldrsh	w0, [x0, 4828]
				str	w0, [x19, 708]
		.LVL901:
 1840             mark = 255
				mov	w25, 255
 1841             subatom = s
				str	w21, [x19, 220]
 1842             ->a3
				b	.L824
		.LVL902:
		.L873:
 1843          %FINISH
 1844          gentype = k %IF gentype = 0 %OR k = real
 1845          type = gen type
 1846
 1847          k = gg;                                  !exit-point code
 1848          %CYCLE
 1849             gg = gram(g)
 1850             ->a2 %IF k = 0
 1851             ->fail1 %IF gg >= 0;                  !no alternative phrase
 1852             k = k-order bit
 1853             g = g+1;                              !sideways step
 1854          %REPEAT
 1855
 1856       %FINISH
 1857
 1858       Fault(4)  %IF copy # 0
				adrp	x0, .LANCHOR0+280
				ldr	w0, [x0, #:lo12:.LANCHOR0+280]
				cbnz	w0, .L891
		.L850:
 1859       fault(13) %IF order = 0
				adrp	x0, .LANCHOR0+628
				ldr	w0, [x0, #:lo12:.LANCHOR0+628]
				cbz	w0, .L892
		.L851:
		.LDL47:
				mov	x18, x22
				mov	w0, 4
				bl	FAULT.7982
		.LVL906:
				b	.L850
		.L892:
 1860       fault(-4) %IF for warn # 0
				mov	x18, x22
				mov	w0, 13
				bl	FAULT.7982
		.LVL907:
				b	.L851
		.LVL908:
		.L845:
 1861       pos1 = 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 296]
 1862       fault rate = fault rate-1
				ldr	w1, [x0, 716]
				sub	w1, w1, #1
				str	w1, [x0, 716]
		.L799:
 1863       %RETURN
 1864
 1865 act(193):gg = 0 %AND ->a5 %UNLESS sym = '=' %or sym = '<';  !cdummy
 1866 act(181):atom1 = amap(decl&15);                             !dummy
 1867          ->more
 1868
 1869 act(182):class = escdec;  g = glink(g)!escape
 1870          decl = 0;  otype = 0;  ->esc;                      !decl
 1871
 1872 act(199):                                                   !compile
 1873
 1874          s = 0
 1875          %WHILE node # 0 %CYCLE
 1876             z == ar(node)_link
 1877             k = z;  z = s;  s = node;  node = k
 1878          %repeat
 1879          ss = s
 1880
 1881          code atom(28) %IF quote # 0;                       !expend
 1882          compile;  ->more %IF atom1&error = 0
 1883          ->fail1
 1884
 1885 act(184):->fail4 %UNLESS type = integer
 1886          %IF subatom < 0 %THEN lit = tag(-subatom)_format %C
 1887                          %ELSE lit = lit pool(subatom)
 1888          ->fail4 %IF lit # 0
 1889          ->more
 1890 act(185):                                                   !apply parameters
 1891          s = 0
 1892          %WHILE node # 0 %CYCLE
 1893             z == ar(node)_link
 1894             k = z;  z = s;  s = node;  node = k
 1895          %REPEAT
 1896          ss = s
 1897
 1898          atom1 = ar(s)_class;  atom2 = 0
 1899          atom1 = var %IF atom1 = 97 %OR atom1 = 98
 1900          arp == ar(nmax)
 1901          x = arp_x
 1902          pos1 = arp_pos
 1903          pos2 = 0
 1904          app = 0
 1905          format = tag(x)_format
 1906          flags = tag(x)_flags
 1907          type = flags>>4&7
 1908          protection = flags&prot
 1909          protection = 0 %IF flags&aname # 0
 1910
 1911          %IF flags&subname # 0 %AND format # 0 %START
 1912             ->fail1 %if format selected = 0
 1913          %FINISH
 1914
 1915          ->a6
 1916
 1917 act(187):protection = prot;  ->more;            !%SETPROT
 1918 act(186):->More %if protection&prot = 0
 1919          prot err = nmin
 1920          ->A7
 1921 act(191):k = protection;                        !%GUARD
 1922          code atom(0)
 1923          protection = k %IF atom flags&aname = 0
 1924          ->more
 1925
 1926 act(192):->fail1 %IF parsed machine code=0
 1927          ->more
 1928
 1929 act(189):k = gapp;                              !%GAPP
 1930          delete names(1)
 1931          tmax = tbase;  tbase = gram (gmin);    !restore tmax
 1932          local= tbase
 1933          gmin = gmin+1
 1934
 1935          x = ar(ar(nmax)_class)_sub
 1936          tag(x)_app = k;                        !update app
 1937          ->more
 1938
 1939 act(190):gmin = gmin-1;                         !%LOCAL
 1940          abandon(2) %IF gmin <= gmax
 1941          gram (gmin) = tbase;  tbase = tmax
 1942          local = tbase
 1943          ->more
 1944
 1945 ! errors
 1946
 1947 fail4:k = error+10;            ->failed;        !*size
 1948 fail3:k = error+7;             ->failed;        !*context
 1949 fail2:k = error+5;  pos2 = 0;  ->failed;        !*type
 1950 fail0:k = error+3;             ->failed;        !*too complex
 1951 fail1:k = atom1;    pos2 = 0
 1952
 1953 failed:
				adrp	x0, .LANCHOR0+256
				str	wzr, [x0, #:lo12:.LANCHOR0+256]
		.LVL768:
		.L822:
		.LBB653:
 1954       %IF diag&32 # 0 %START
 1955          printstring("Atom1 =");       write(atom1, 3)
				adrp	x22, .LANCHOR3
				add	x22, x22, :lo12:.LANCHOR3
				add	x21, x29, 4096
				add	x21, x21, 1448
				mov	x19, 256
				mov	x2, x19
				add	x1, x22, 2000
				mov	x0, x21
				bl	memcpy
		.LVL769:
				add	x20, x29, 424
				mov	x2, x19
				mov	x1, x21
				mov	x0, x20
				bl	memcpy
		.LVL770:
				mov	x2, x19
				mov	x1, x20
				mov	x0, x21
				bl	memcpy
		.LVL771:
		.LBE653:
		.LBB654:
		.LBB655:
				add	x20, x29, 112
				mov	x2, x19
				mov	x1, x21
				mov	x0, x20
				bl	memcpy
		.LVL772:
				mov	x0, x20
				bl	_imp_printstring
		.LVL773:
		.LBE655:
		.LBE654:
 1956          printstring("  Atom2 =");     write(atom2, 3)
				adrp	x21, .LANCHOR0
				add	x21, x21, :lo12:.LANCHOR0
				mov	w1, 3
				ldr	w0, [x21, 240]
				bl	_imp_writeint
		.LVL774:
		.LBB656:
				add	x23, x29, 4096
				add	x23, x23, 424
				mov	x2, x19
				add	x1, x22, 2256
				mov	x0, x23
				bl	memcpy
		.LVL775:
				add	x24, x29, 680
				mov	x2, x19
				mov	x1, x23
				mov	x0, x24
				bl	memcpy
		.LVL776:
				mov	x2, x19
				mov	x1, x24
				mov	x0, x23
				bl	memcpy
		.LVL777:
		.LBE656:
		.LBB657:
		.LBB658:
				mov	x2, x19
				mov	x1, x23
				mov	x0, x20
				bl	memcpy
		.LVL778:
				mov	x0, x20
				bl	_imp_printstring
		.LVL779:
		.LBE658:
		.LBE657:
 1957          printstring("  subatom =");   write(subatom, 3);  newline
				mov	w1, 3
				ldr	w0, [x21, 248]
				bl	_imp_writeint
		.LVL780:
		.LBB659:
				add	x23, x29, 4096
				add	x23, x23, 168
				mov	x2, x19
				add	x1, x22, 2512
				mov	x0, x23
				bl	memcpy
		.LVL781:
				add	x24, x29, 936
				mov	x2, x19
				mov	x1, x23
				mov	x0, x24
				bl	memcpy
		.LVL782:
				mov	x2, x19
				mov	x1, x24
				mov	x0, x23
				bl	memcpy
		.LVL783:
		.LBE659:
		.LBB660:
		.LBB661:
				mov	x2, x19
				mov	x1, x23
				mov	x0, x20
				bl	memcpy
		.LVL784:
				mov	x0, x20
				bl	_imp_printstring
		.LVL785:
		.LBE661:
		.LBE660:
 1958          printstring("Type =");        write(type, 1)
				mov	w1, 3
				ldr	w0, [x21, 220]
				bl	_imp_writeint
		.LVL786:
		.LBB662:
		.LBB663:
				bl	_imp_newline
		.LVL787:
		.LBE663:
		.LBE662:
		.LBB664:
				add	x23, x29, 4008
				mov	x2, x19
				add	x1, x22, 2768
				mov	x0, x23
				bl	memcpy
		.LVL788:
				add	x24, x29, 1192
				mov	x2, x19
				mov	x1, x23
				mov	x0, x24
				bl	memcpy
		.LVL789:
				mov	x2, x19
				mov	x1, x24
				mov	x0, x23
				bl	memcpy
		.LVL790:
		.LBE664:
		.LBB665:
		.LBB666:
				mov	x2, x19
				mov	x1, x23
				mov	x0, x20
				bl	memcpy
		.LVL791:
				mov	x0, x20
				bl	_imp_printstring
		.LVL792:
		.LBE666:
		.LBE665:
 1959          printstring("   Ptype =");    write(ptype, 1);    newline
				mov	w1, 1
				ldr	w0, [x21, 236]
				bl	_imp_writeint
		.LVL793:
		.LBB667:
				add	x23, x29, 3752
				mov	x2, x19
				add	x1, x22, 3024
				mov	x0, x23
				bl	memcpy
		.LVL794:
				add	x24, x29, 1448
				mov	x2, x19
				mov	x1, x23
				mov	x0, x24
				bl	memcpy
		.LVL795:
				mov	x2, x19
				mov	x1, x24
				mov	x0, x23
				bl	memcpy
		.LVL796:
		.LBE667:
		.LBB668:
		.LBB669:
				mov	x2, x19
				mov	x1, x23
				mov	x0, x20
				bl	memcpy
		.LVL797:
				mov	x0, x20
				bl	_imp_printstring
		.LVL798:
		.LBE669:
		.LBE668:
 1960          printstring("App =");         write(app, 1)
				mov	w1, 1
				ldr	w0, [x21, 676]
				bl	_imp_writeint
		.LVL799:
		.LBB670:
		.LBB671:
				bl	_imp_newline
		.LVL800:
		.LBE671:
		.LBE670:
		.LBB672:
				add	x23, x29, 3496
				mov	x2, x19
				add	x1, x22, 3280
				mov	x0, x23
				bl	memcpy
		.LVL801:
				add	x24, x29, 1704
				mov	x2, x19
				mov	x1, x23
				mov	x0, x24
				bl	memcpy
		.LVL802:
				mov	x2, x19
				mov	x1, x24
				mov	x0, x23
				bl	memcpy
		.LVL803:
		.LBE672:
		.LBB673:
		.LBB674:
				mov	x2, x19
				mov	x1, x23
				mov	x0, x20
				bl	memcpy
		.LVL804:
				mov	x0, x20
				bl	_imp_printstring
		.LVL805:
		.LBE674:
		.LBE673:
 1961          printstring("   Papp =");     write(papp, 1);     newline
				mov	w1, 1
				ldr	w0, [x21, 232]
				bl	_imp_writeint
		.LVL806:
		.LBB675:
				add	x23, x29, 3240
				mov	x2, x19
				add	x1, x22, 3536
				mov	x0, x23
				bl	memcpy
		.LVL807:
				add	x24, x29, 1960
				mov	x2, x19
				mov	x1, x23
				mov	x0, x24
				bl	memcpy
		.LVL808:
				mov	x2, x19
				mov	x1, x24
				mov	x0, x23
				bl	memcpy
		.LVL809:
		.LBE675:
		.LBB676:
		.LBB677:
				mov	x2, x19
				mov	x1, x23
				mov	x0, x20
				bl	memcpy
		.LVL810:
				mov	x0, x20
				bl	_imp_printstring
		.LVL811:
		.LBE677:
		.LBE676:
 1962          printstring("Format =");      write(format, 1)
				mov	w1, 1
				ldr	w0, [x21, 708]
				bl	_imp_writeint
		.LVL812:
		.LBB678:
		.LBB679:
				bl	_imp_newline
		.LVL813:
		.LBE679:
		.LBE678:
		.LBB680:
				add	x23, x29, 2984
				mov	x2, x19
				add	x1, x22, 3792
				mov	x0, x23
				bl	memcpy
		.LVL814:
				add	x24, x29, 2216
				mov	x2, x19
				mov	x1, x23
				mov	x0, x24
				bl	memcpy
		.LVL815:
				mov	x2, x19
				mov	x1, x24
				mov	x0, x23
				bl	memcpy
		.LVL816:
		.LBE680:
		.LBB681:
		.LBB682:
				mov	x2, x19
				mov	x1, x23
				mov	x0, x20
				bl	memcpy
		.LVL817:
				mov	x0, x20
				bl	_imp_printstring
		.LVL818:
		.LBE682:
		.LBE681:
 1963          printstring("   Pformat =");  write(pformat, 1);  newline
				mov	w1, 1
				ldr	w0, [x21, 228]
				bl	_imp_writeint
		.LVL819:
		.LBB683:
				add	x0, x29, 2728
				mov	x2, x19
				add	x1, x22, 4048
				mov	x22, x0
				bl	memcpy
		.LVL820:
				add	x23, x29, 2472
				mov	x2, x19
				mov	x1, x22
				mov	x0, x23
				bl	memcpy
		.LVL821:
				mov	x2, x19
				mov	x1, x23
				mov	x0, x22
				bl	memcpy
		.LVL822:
		.LBE683:
		.LBB684:
		.LBB685:
				mov	x2, x19
				mov	x1, x22
				mov	x0, x20
				bl	memcpy
		.LVL823:
				mov	x0, x20
				bl	_imp_printstring
		.LVL824:
		.LBE685:
		.LBE684:
 1964 !IMP80 BUG???           %SIGNAL 13,15
				mov	w1, 1
				ldr	w0, [x21, 712]
				bl	_imp_writeint
		.LVL825:
		.LBB686:
		.LBB687:
				bl	_imp_newline
		.LVL826:
		.LBE687:
		.LBE686:
		.LBB688:
		.LBB689:
				mov	w0, 0
				bl	exit
		.LVL827:
		.L884:
		.LBE689:
		.LBE688:
 1965          %STOP
 1966        %FINISH
 1967
 1968        quote = 0 %AND readsym %WHILE sym # nl %AND sym # ';'
 1969        %IF k&error # 0 %START
 1970           fault(k&255)
 1971        %FINISH %ELSE %START
 1972          %IF prot err = nmin %THEN fault(14) %ELSE fault(0)
 1973        %FINISH
 1974        gg = 0;  ss = 0;  symtype = 0
 1975    %END;                                               !of analyse
 1976
 1977    %ROUTINE compile
				mov	x16, 5168
				sub	sp, sp, x16
				stp	x29, x30, [sp, 16]
				add	x29, sp, 16
				stp	x19, x20, [sp, 32]
				stp	x21, x22, [sp, 48]
				stp	x23, x24, [sp, 64]
				str	x25, [sp, 80]
				str	x18, [x29, 152]
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x0]
				str	x1, [x29, 5144]
				mov	x1,0
				add	x0, x29, 4096
				add	x0, x0, 1056
				str	x0, [x29, 712]
				str	x18, [x29, 672]
 1978
				sub	w0, w20, #180
				cmp	w0, 20
				bhi	.L845
		.LVL889:
		.L846:
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L854
				add	x8, x29, 4008
				bl	_imp_c2istr
		.LVL909:
		.L855:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w21, [x0]
				cmp	w21, 0
				mov	w0, 1978
				csel	w21, w21, w0, ne
				add	x19, x29, 112
				mov	x2, 256
				add	x1, x29, 4008
				mov	x0, x19
				bl	memcpy
		.LVL910:
				mov	w0, 1818
				str	w0, [sp]
				adrp	x7, .LC73
				add	x7, x7, :lo12:.LC73
				mov	w6, w20
				adrp	x5, .LC83
				add	x5, x5, :lo12:.LC83
				mov	w4, w20
				mov	w3, 3
				mov	w2, 6
				mov	w1, w21
				mov	x0, x19
				bl	_signal_eventf
		.LVL911:
				b	.L846
		.LVL912:
		.L854:
		.LBB692:
				add	x21, x29, 4096
				add	x21, x21, 1448
		.LVL913:
				mov	x22, 256
				mov	x2, x22
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x21
				bl	memcpy
		.LVL914:
				add	x19, x29, 2984
				mov	x2, x22
				mov	x1, x21
				mov	x0, x19
				bl	memcpy
		.LVL915:
		.LBE692:
				mov	x2, x22
				mov	x1, x19
				add	x0, x29, 4008
				bl	memcpy
		.LVL916:
				b	.L855
		.LVL917:
		.L858:
 1979       %CONSTINTEGER then = 4, else = 8, loop = 16
				adrp	x0, .LANCHOR4
				add	x0, x0, :lo12:.LANCHOR4
				add	x0, x0, 1848
				sub	w1, w20, #180
				ldr	x0, [x0, w1, sxtw 3]
				b	.L857
		.LVL890:
		.L829:
 1980
 1981       %SWITCH c(0:actions), litop(1:12)
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L894
				add	x8, x29, 4096
				add	x8, x8, 168
				bl	_imp_c2istr
		.LVL918:
		.L861:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w21, [x0]
				cmp	w21, 0
				mov	w0, 1981
				csel	w21, w21, w0, ne
				add	x19, x29, 112
				mov	x2, 256
				add	x1, x29, 4096
				add	x1, x1, 168
				mov	x0, x19
				bl	memcpy
		.LVL919:
				mov	w0, 1818
				str	w0, [sp]
		.LVL920:
				adrp	x7, .LC73
				add	x7, x7, :lo12:.LC73
				mov	w6, w20
				adrp	x5, .LC84
				add	x5, x5, :lo12:.LC84
				mov	w4, w20
				mov	w3, 2
				mov	w2, 8
				mov	w1, w21
				mov	x0, x19
				bl	_signal_eventf
		.LVL921:
				b	.L844
		.LVL922:
		.L894:
		.LBB693:
				add	x21, x29, 4096
				add	x21, x21, 1448
				mov	x22, 256
				mov	x2, x22
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x21
				bl	memcpy
		.LVL923:
				add	x19, x29, 3240
				mov	x2, x22
				mov	x1, x21
				mov	x0, x19
				bl	memcpy
		.LVL924:
		.LBE693:
				mov	x2, x22
				mov	x1, x19
				add	x0, x29, 4096
				add	x0, x0, 168
				bl	memcpy
		.LVL925:
				b	.L861
		.L864:
		.LBB694:
 1982
 1983       %CONSTBYTEINTEGERARRAY operator(1:14) = %C
				mov	w0, 91
				add	x1, x29, 4096
				add	x1, x1, 80
				strb	w0, [x1, 936]
				mov	w0, 93
				strb	w0, [x1, 937]
				mov	w0, 88
				strb	w0, [x1, 938]
				mov	w0, 47
				strb	w0, [x1, 939]
				mov	w0, 38
				strb	w0, [x1, 940]
				mov	w0, 33
				strb	w0, [x1, 941]
				mov	w0, 37
				strb	w0, [x1, 942]
				mov	w0, 43
				strb	w0, [x1, 943]
				mov	w0, 45
				strb	w0, [x1, 944]
				mov	w0, 42
				strb	w0, [x1, 945]
				mov	w0, 81
				strb	w0, [x1, 946]
				mov	w0, 120
				strb	w0, [x1, 947]
				mov	w0, 46
				strb	w0, [x1, 948]
				mov	w0, 118
				strb	w0, [x1, 949]
 1984                          '[',  ']',  'X',  '/', '&',  '!',  '%',  '+',
				ldr	w0, [x29, 96]
				cmp	w0, 15
				bls	.L863
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L864
				add	x8, x29, 4096
				add	x8, x8, 424
				bl	_imp_c2istr
		.LVL882:
		.L865:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w21, [x0]
				cmp	w21, 0
				mov	w0, 1984
				csel	w21, w21, w0, ne
				add	x19, x29, 112
				mov	x2, 256
				add	x1, x29, 4096
				add	x1, x1, 424
				mov	x0, x19
				bl	memcpy
		.LVL883:
				mov	w0, 1815
				str	w0, [sp]
		.LVL884:
				adrp	x7, .LC73
				add	x7, x7, :lo12:.LC73
				ldr	w4, [x29, 96]
				mov	w6, w4
				adrp	x5, .LC85
				add	x5, x5, :lo12:.LC85
				mov	w3, 3
				mov	w2, 6
				mov	w1, w21
				mov	x0, x19
				bl	_signal_eventf
		.LVL885:
		.L863:
				add	x21, x29, 4096
				add	x21, x21, 1448
				mov	x22, 256
				mov	x2, x22
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x21
				bl	memcpy
		.LVL926:
				add	x19, x29, 3496
				mov	x2, x22
				mov	x1, x21
				mov	x0, x19
				bl	memcpy
		.LVL927:
		.LBE694:
				mov	x2, x22
				mov	x1, x19
				add	x0, x29, 4096
				add	x0, x0, 424
				bl	memcpy
		.LVL928:
				b	.L865
		.L867:
 1985                          '-',  '*',  'Q',  'x', '.',  'v'
				adrp	x0, .LANCHOR4
				add	x0, x0, :lo12:.LANCHOR4
				add	x0, x0, 2016
				ldr	w1, [x29, 96]
				ldr	x0, [x0, w1, sxtw 3]
		.LVL886:
		.L857:
				br	x0
		.LVL887:
		.L831:
 1986
 1987       %CONSTBYTEINTEGERARRAY cc(0 : 7) = '#','=',')','<','(','>', 'k','t'
				mov	w0, 35
				strb	w0, [x1, 928]
				mov	w0, 61
				strb	w0, [x1, 929]
				mov	w0, 41
				strb	w0, [x1, 930]
				mov	w0, 60
				strb	w0, [x1, 931]
				mov	w0, 40
				strb	w0, [x1, 932]
				mov	w0, 62
				strb	w0, [x1, 933]
				mov	w0, 107
				strb	w0, [x1, 934]
				mov	w0, 116
				strb	w0, [x1, 935]
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L868
				add	x8, x29, 4096
				add	x8, x8, 1448
				bl	_imp_c2istr
		.LVL929:
		.L869:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w20, [x0]
				cmp	w20, 0
				mov	w0, 1987
				csel	w20, w20, w0, ne
				add	x19, x29, 112
				mov	x2, 256
				add	x1, x29, 4096
				add	x1, x1, 1448
				mov	x0, x19
				bl	memcpy
		.LVL930:
				mov	w0, 1815
				str	w0, [sp]
		.LVL931:
				adrp	x7, .LC73
				add	x7, x7, :lo12:.LC73
				ldr	w4, [x29, 96]
				mov	w6, w4
				adrp	x5, .LC86
				add	x5, x5, :lo12:.LC86
				mov	w3, 2
				mov	w2, 8
				mov	w1, w20
				mov	x0, x19
				bl	_signal_eventf
		.LVL932:
				b	.L799
		.LVL933:
		.L868:
		.LBB695:
				add	x19, x29, 4096
				add	x19, x19, 1448
				mov	x21, 256
				mov	x2, x21
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x19
				bl	memcpy
		.LVL934:
				add	x20, x29, 3752
		.LVL935:
				mov	x2, x21
				mov	x1, x19
				mov	x0, x20
				bl	memcpy
		.LVL936:
		.LBE695:
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL937:
				b	.L869
		.LVL938:
		.L819:
 1988
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 6056]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L893
				ldp	x19, x20, [sp, 32]
				ldp	x21, x22, [sp, 48]
				ldp	x23, x24, [sp, 64]
				ldp	x25, x26, [sp, 80]
		.LVL904:
				ldp	x27, x28, [sp, 96]
				ldp	x29, x30, [sp, 16]
				mov	x16, 6080
				add	sp, sp, x16
				ret
		.LVL905:
		.L891:
				bl	__stack_chk_fail
		.LVL942:
		.LFE198:
				.align	2
		COMPILEBLOCK.7956:
		.LFB191:
 1989       %CONSTBYTEINTEGERARRAY anyform(0:15) = 1,0,1,1(4),1,0,1,1,0,1,1,1,1
				mov	w0, 1
				strb	w0, [x1, 952]
				strb	wzr, [x1, 953]
				strb	w0, [x1, 954]
				strb	w0, [x1, 955]
				strb	w0, [x1, 956]
				strb	w0, [x1, 957]
				strb	w0, [x1, 958]
				strb	w0, [x1, 959]
				strb	wzr, [x1, 960]
				strb	w0, [x1, 961]
				strb	w0, [x1, 962]
				strb	wzr, [x1, 963]
				strb	w0, [x1, 964]
				strb	w0, [x1, 965]
				strb	w0, [x1, 966]
				strb	w0, [x1, 967]
 1990
 1991       %CONSTSHORTINTEGERARRAY decmap(0:15) = %C
				adrp	x0, .LANCHOR3
				add	x0, x0, :lo12:.LANCHOR3
				add	x0, x0, 1432
				ldp	x2, x3, [x0]
				add	x1, x29, 592
				stp	x2, x3, [x1, 128]
				ldp	x0, x1, [x0, 16]
				add	x2, x29, 592
				stp	x0, x1, [x2, 144]
 1992          1,             2,
 1993          x'100B',       x'100D',       x'140C',      x'140E',
 1994          3,             4,
 1995          x'1007',       x'1008',       x'1009',      x'100A',
 1996          6,             0,             0,            0
 1997       %OWNBYTEINTEGERARRAY cnest(0:15)
 1998       %INTEGER lmode, clab, dupid
 1999       %INTEGER resln
 2000       %OWNINTEGER last def = 0
 2001       %OWNINTEGER lb, ub
 2002       %INTEGER cp, ord
 2003       %INTEGER next, link, j, k, n, done
 2004       %INTEGER class
 2005       %INTEGER lit2, defs, decs, cident
 2006       %INTEGER pending;  %OWNINTEGERARRAY pstack(1:40)
 2007       %OWNSTRING(8) name = ""
 2008       %OWNINTEGER count = 0
 2009
 2010       %ROUTINE def lab(%INTEGER l)
		.LVL12:
				stp	x29, x30, [sp, -32]!
				add	x29, sp, 0
				str	x19, [sp, 16]
				mov	x19, x18
 2011          op(':', l)
				ldr	x1, [x18]
				ldr	x18, [x1, 8]
				mov	w1, w0
				mov	w0, 58
		.LVL13:
				bl	OP.7946
		.LVL14:
 2012          access = 1
				ldr	x0, [x19]
				mov	w1, 1
				str	w1, [x0, 36]
 2013       %END
 2014
				ldr	x19, [sp, 16]
				ldp	x29, x30, [sp], 32
				ret
		.LFE210:
				.align	2
		POPLIT.8975:
		.LFB219:
 2015       %ROUTINE get next
				sub	sp, sp, #1600
				stp	x29, x30, [sp]
				add	x29, sp, 0
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x0]
				str	x1, [x29, 1592]
				mov	x1,0
				adrp	x0, .LANCHOR0+208
				ldr	w2, [x0, #:lo12:.LANCHOR0+208]
				mov	w5, 0
				mov	w4, 1
		.L331:
 2016          %RECORD(arfm)%NAME p
 2017 gn:      %IF next = 0 %START;                        !end of phrase
 2018             class = 0 %AND %RETURN %IF link = 0;     !end of statement
				ldr	w0, [x18, 36]
				cbnz	w0, .L332
				ldr	w0, [x18, 32]
				cbz	w0, .L349
		.L333:
		.LVL330:
 2019             p == ar(link)
				ldr	x1, [x18]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw 4
		.LVL331:
				str	wzr, [x18, 28]
 2020             next = p_link
				add	x0, x0, 8192
				ldrsh	w1, [x0, 4824]
				str	w1, [x18, 36]
		.LVL332:
				b	.L330
		.L351:
				adrp	x0, .LANCHOR0+208
				str	w2, [x0, #:lo12:.LANCHOR0+208]
				b	.L334
		.LVL335:
		.L350:
				stp	x19, x20, [x29, 16]
				stp	x21, x22, [x29, 32]
				adrp	x3, .LANCHOR0+208
				str	w0, [x3, #:lo12:.LANCHOR0+208]
				b	.L337
		.LVL336:
		.L341:
 2021             link = p_sub
				ldrsh	w0, [x0, 4822]
				str	w0, [x18, 32]
		.L332:
 2022          %FINISH
 2023          %CYCLE
 2024             p == ar(next)
				ldr	w3, [x18, 36]
				sub	w1, w3, #1
				ldr	x0, [x18]
				ldr	x2, [x0, 8]
		.LVL333:
				add	x3, x2, x3, sxtw 4
				sub	w1, w0, #1
				ldr	x2, [x18]
				ldr	x2, [x2, 8]
		.LVL337:
				add	x0, x2, x0, sxtw 4
 2025             x = p_sub
				add	x3, x3, 8192
				ldrsh	w0, [x3, 4822]
				add	x3, x0, 8192
				ldrsh	w0, [x3, 4822]
 2026             class = p_class
				ldrsh	w3, [x3, 4820]
				str	w3, [x18, 28]
				ldrsh	w3, [x3, 4820]
				str	w3, [x18, 28]
 2027             %EXIT %IF class < actions;               !an atom
				cmp	w3, 179
				ble	.L350
				cmp	w3, 179
				ble	.L352
		.L340:
 2028             %IF x = 0 %START;                        !null phrase
				cbnz	w0, .L338
		.LVL334:
		.L339:
				cbz	w0, .L339
		.LVL338:
		.L338:
				add	x1, x2, x1, sxtw 4
		.LVL339:
 2029                next = p_link;  ->gn
				add	x1, x2, x1, sxtw 4
				add	x1, x1, 12288
				add	x1, x1, 736
				ldrsh	w0, [x1, 8]
				str	w0, [x18, 36]
				mov	w2, w5
				mov	w1, w4
 2030             %FINISH
				b	.L331
		.L349:
				cbnz	w1, .L351
		.L334:
 2031             %IF p_link # 0 %START;                   !follow a phrase
				add	x2, x1, 8192
				ldrsh	w2, [x2, 4840]
				cbz	w2, .L341
 2032                p_sub = link;  link = next
				add	x1, x1, 8192
				ldr	w2, [x18, 32]
				strh	w2, [x1, 4838]
 2033             %FINISH
				ldr	w1, [x18, 36]
				str	w1, [x18, 32]
				b	.L341
		.LVL340:
		.L352:
				stp	x19, x20, [x29, 16]
				stp	x21, x22, [x29, 32]
				adrp	x3, .LANCHOR0+208
				str	w0, [x3, #:lo12:.LANCHOR0+208]
		.LVL341:
		.L337:
 2034             next = x
				str	w0, [x18, 36]
 2035          %REPEAT
 2036          next = p_link
				add	x1, x2, x1, sxtw 4
				add	x1, x1, 12288
				add	x1, x1, 736
				ldrsh	w0, [x1, 8]
				str	w0, [x18, 36]
 2037          %IF diag&2 # 0 %START
 2038             spaces(8-length(name)) %UNLESS name = ""
 2039             name = text(class)
 2040             write(x, 2)
				add	x1, x29, 312
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				add	x0, x0, 352
				bl	_imp_strcmp
		.LVL342:
				cbnz	w0, .L353
		.L342:
				mov	w1, 2
				ldr	w0, [x19, 208]
				bl	_imp_writeint
		.LVL344:
		.LBB395:
		.LBB396:
				bl	_imp_space
		.LVL345:
				add	x21, x29, 1336
				mov	x22, 256
				mov	x2, x22
				add	x1, x29, 824
				mov	x0, x21
				bl	memcpy
		.LVL346:
		.LBE396:
		.LBE395:
		.LBB397:
		.LBB398:
				add	x20, x29, 48
				mov	x2, x22
				mov	x1, x21
				mov	x0, x20
				bl	memcpy
		.LVL347:
				mov	x0, x20
				bl	_imp_printstring
		.LVL348:
		.LBE398:
		.LBE397:
		.LBB399:
		.LBB400:
				bl	_imp_space
		.LVL349:
		.LBE400:
		.LBE399:
 2041             space
				adrp	x19, .LANCHOR0
				add	x19, x19, :lo12:.LANCHOR0
				mov	x2, 8
				add	x1, x29, 568
				add	x0, x19, 352
				bl	_imp_strncpy
		.LVL343:
 2042             printstring(name)
 2043             space
				adrp	x0, .LANCHOR0+352
				ldrb	w0, [x0, #:lo12:.LANCHOR0+352]
		.LBB401:
		.LBB402:
				mov	w1, 8
				sub	w0, w1, w0
				bl	_imp_spaces
		.LVL351:
				b	.L342
		.L343:
		.LBE402:
		.LBE401:
 2044             count = count-1
				ldr	w0, [x19, 608]
				sub	w0, w0, #1
				adrp	x1, .LANCHOR0+608
				str	w0, [x1, #:lo12:.LANCHOR0+608]
				ldp	x19, x20, [x29, 16]
				ldp	x21, x22, [x29, 32]
		.L335:
		.L344:
		.L330:
 2045             %IF count <= 0 %START
				cmp	w0, 0
				ble	.L343
 2046                count = 5
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 5
				str	w1, [x0, 608]
		.LVL352:
 2047                name = ""
 2048                newline
 2049             %FINISH
				mov	x2, 8
				add	x1, x29, 1080
				add	x0, x0, 352
				bl	_imp_strncpy
		.LVL353:
		.LBB403:
		.LBB404:
				bl	_imp_newline
		.LVL354:
				ldp	x19, x20, [x29, 16]
				ldp	x21, x22, [x29, 32]
				b	.L330
		.L354:
				stp	x19, x20, [x29, 16]
				stp	x21, x22, [x29, 32]
		.LBE404:
		.LBE403:
 2050          %FINISH
 2051       %END
 2052
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 1592]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L354
				ldp	x29, x30, [sp]
				add	sp, sp, 1600
				ret
		.L353:
		.LVL350:
				bl	__stack_chk_fail
		.LVL355:
		.LFE211:
				.align	2
		SETSUBS.8903:
		.LFB212:
 2053       %ROUTINE set subs(%INTEGER n)
		.LVL356:
				stp	x29, x30, [sp, -16]!
				add	x29, sp, 0
		.LVL361:
		.LBB405:
		.LBB406:
				mov	w0, 0
				bl	exit
		.LVL362:
		.L356:
		.L355:
				ret
		.LBE406:
		.LBE405:
		.LFE212:
				.align	2
		FAULT.7982:
		.LFB192:
 2054
 2055          !update the app field in n array descriptors
 2056
 2057          %INTEGER p
 2058          p = tmax
				ldr	x2, [x18]
				ldr	w1, [x2, 64]
		.LVL357:
 2059          %WHILE n > 0 %CYCLE
 2060 !IMP80 BUG???              %SIGNAL 15,15 %IF p < tbase
				cmp	w0, 0
				ble	.L355
				cmp	w0, w1
				beq	.L355
 2061             %STOP %IF p < tbase
				ldr	w3, [x2, 68]
				cmp	w1, w3
				blt	.L358
				ldr	x2, [x18]
				ldr	w3, [x2, 68]
				cmp	w3, w1
				ble	.L359
		.LVL360:
		.L358:
 2062             tag(p)_app = dimension
				adrp	x3, .LANCHOR0+196
				ldr	w4, [x3, #:lo12:.LANCHOR0+196]
				sub	w0, w1, w0
		.LVL358:
		.L359:
				ldr	x2, [x2, 8]
				add	x2, x2, x1, sxtw 4
				str	w4, [x2, 212]
 2063             p = p-1;  n = n-1
				sub	w1, w1, #1
		.LVL359:
		.LDL18:
 2064          %REPEAT
 2065       %END
 2066
 2067       %ROUTINE set bp
				stp	x29, x30, [sp, -32]!
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				mov	x19, x18
 2068
 2069          !define a constant bound pair from the last stacked constants
 2070
 2071          pending = pending-2
				ldr	w2, [x18, 24]
				sub	w3, w2, #2
				str	w3, [x18, 24]
 2072          lb = pstack(pending+1);  ub = pstack(pending+2)
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				add	x1, x0, 8
				ldr	w3, [x1, w3, sxtw 2]
				str	w3, [x0, 612]
 2073          %IF ub-lb+1 < 0 %START
				sub	w2, w2, #1
				ldr	w1, [x1, w2, sxtw 2]
				str	w1, [x0, 616]
				sub	w1, w1, w3
				cmn	w1, 1
				bmi	.L423
		.L420:
 2074             pos1 = 0;  next = link;  fault(11)
				mov	x20, x0
				str	wzr, [x0, 296]
 2075             ub = lb
				ldr	w0, [x18, 32]
				str	w0, [x18, 36]
				ldr	w0, [x20, 612]
				str	w0, [x20, 616]
				b	.L420
		.LFE213:
				.align	2
		DEFSLAB.8952:
		.LFB216:
 2076          %FINISH
				ldr	x18, [x18]
				mov	w0, 11
				bl	FAULT.7982
		.LVL427:
 2077          set const(lb);  set const(ub)
				adrp	x20, .LANCHOR0
				add	x20, x20, :lo12:.LANCHOR0
				ldr	x0, [x19]
				ldr	x18, [x0, 8]
				ldr	w0, [x20, 612]
				bl	SETCONST.7949
		.LVL425:
 2078          bp=bp+1 %AND buff(bp)='b' %UNLESS class = 146
				ldr	x0, [x19]
				ldr	x18, [x0, 8]
				ldr	w0, [x20, 616]
				bl	SETCONST.7949
		.LVL426:
				ldr	w0, [x19, 28]
				cmp	w0, 146
				beq	.L419
 2079       %END
				adrp	x1, .LANCHOR0
				ldr	w0, [x1, #:lo12:.LANCHOR0]
				add	w2, w0, 1
				str	w2, [x1, #:lo12:.LANCHOR0]
 2080
				ldr	x1, [x19]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 98
				strb	w1, [x0, 2310]
		.L421:
		.L419:
				ldp	x19, x20, [sp, 16]
				ldp	x29, x30, [sp], 32
				ret
		.L423:
 2081       %ROUTINE compile end(%INTEGER type)
 2082
 2083          ! type = 0:eof, 1:eop, 2:end
 2084
 2085          %IF access # 0 %START
				ldr	x18, [x29, 672]
				ldr	w0, [x18, 36]
				cbnz	w0, .L579
		.L582:
 2086             open = 0
				str	wzr, [x18, 32]
 2087             fault(19) %IF block form > proc;           !can reach end
				ldr	w0, [x18, 48]
				cmp	w0, 7
				ble	.L582
 2088          %FINISH
				mov	w0, 19
				bl	FAULT.7982
		.LVL564:
				b	.L582
		.L771:
 2089
 2090          %WHILE dict(dmin) >= 0 %CYCLE;                !finishes & repeats
 2091             fault(17+dict(dmin)&1)
				ldr	x18, [x29, 672]
				ldr	x1, [x18, 8]
				ldr	w0, [x18, 52]
				sub	w0, w0, #1
				add	x0, x1, x0, sxtw 1
				add	x0, x0, 24576
				add	x0, x0, 2256
				ldrsh	w0, [x0, 4]
				tbnz	w0, #31, .L580
				mov	x20, 13416
		.L581:
				and	w0, w0, 1
				add	w0, w0, 17
				bl	FAULT.7982
		.LVL557:
				ldr	x1, [x18, 8]
				add	x0, x20, x0, sxtw
				add	x0, x1, x0, lsl 1
				ldrsh	w0, [x0, 4]
				tbz	w0, #31, .L581
		.L580:
 2092             dmin = dmin+1
				ldr	x18, [x29, 672]
				ldr	w0, [x18, 52]
				add	w1, w0, 1
				str	w1, [x18, 52]
 2093          %REPEAT
 2094          {delete names(0)}
 2095          bp=bp+1 %AND buff(bp)=';'
				adrp	x0, .LANCHOR0
				ldr	w2, [x0, #:lo12:.LANCHOR0]
				add	w3, w2, 1
				str	w3, [x0, #:lo12:.LANCHOR0]
 2096          bp=bp+1 %AND buff(bp)=';' %IF type = 1;       !endofprogram
				add	x0, x1, x2, sxtw
				add	x0, x0, 102400
				mov	w1, 59
				strb	w1, [x0, 2310]
				cmp	w19, 1
				beq	.L771
		.L583:
 2097
				add	w2, w2, 2
				adrp	x0, .LANCHOR0
				str	w2, [x0, #:lo12:.LANCHOR0]
 2098          bflags = bflags!open;                         !show if it returns
				ldr	x1, [x18]
				ldr	w0, [x18, 32]
				ldrh	w2, [x1]
				orr	w0, w0, w2
				strh	w0, [x1]
				ldr	x0, [x18, 8]
				add	x0, x0, x3, sxtw
				add	x0, x0, 102400
				strb	w1, [x0, 2310]
				ldr	x1, [x18]
				ldr	w0, [x18, 32]
				ldrh	w2, [x1]
				orr	w0, w0, w2
				strh	w0, [x1]
 2099
 2100          def lab(0) %IF block tag # 0 %AND level # 1;  !for jump around
				ldr	x0, [x29, 672]
				ldr	w1, [x0, 28]
				cbz	w1, .L586
				ldr	x0, [x29, 672]
				ldr	w1, [x0, 28]
				cbz	w1, .L584
 2101          %IF type # 2 %START;                          !eop, eof
				ldr	w0, [x0, 60]
				cmp	w0, 1
				bne	.L728
		.L455:
		.L726:
				cmp	w19, 2
				beq	.L591
				b	.L584
		.LVL558:
		.L770:
		.LBE543:
		.LBE542:
				ldr	w0, [x0, 60]
				cmp	w0, 1
				beq	.L584
		.L728:
				cmp	w19, 2
				beq	.L588
		.L584:
 2102             fault(16) %IF level # type;                !end missing
				add	x18, x29, 672
				mov	w0, 0
				bl	DEFLAB.8875
		.LVL565:
		.L586:
				ldr	x18, [x29, 672]
				ldr	w0, [x18, 60]
				cmp	w19, w0
				bne	.L772
		.L589:
		.L590:
		.L591:
 2103          %FINISH %ELSE %START
				mov	w0, 16
				bl	FAULT.7982
		.LVL566:
				b	.L591
		.L588:
 2104             %IF level = 0 %START
				ldr	x18, [x29, 672]
				ldr	w0, [x18, 60]
				cbnz	w0, .L591
 2105                fault(15);                              !spurious end
				mov	w0, 15
				bl	FAULT.7982
		.LVL567:
				b	.L591
		.LVL568:
		.L592:
		.LDL26:
		.LDL27:
		.LDL28:
		.LBE544:
		.LBE547:
 2106             %FINISH
 2107          %FINISH
 2108
 2109          end mark = 11;               !******Mouses specific******
				adrp	x0, .LANCHOR0+292
				mov	w1, 11
				str	w1, [x0, #:lo12:.LANCHOR0+292]
				b	.L431
		.L772:
 2110       %END
 2111
 2112       %ROUTINE def(%INTEGER p)
		.LVL107:
				stp	x29, x30, [sp, -64]!
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				stp	x21, x22, [sp, 32]
				stp	x23, x24, [sp, 48]
				mov	w19, w0
				mov	x20, x18
 2113
 2114          !dump a descriptor
 2115
 2116          %INTEGER t, f, type
 2117          %RECORD(tagfm)%NAME v
 2118          flush buffer %if bp # 0
				adrp	x0, .LANCHOR0
		.LVL108:
				ldr	w0, [x0, #:lo12:.LANCHOR0]
				cbnz	w0, .L89
		.L74:
 2119          defs = defs+1
				ldr	w0, [x20, 20]
				add	w0, w0, 1
				str	w0, [x20, 20]
				ldr	x0, [x18]
				ldr	x18, [x0, 8]
				bl	FLUSHBUFFER.7840
		.LVL130:
				b	.L74
		.LVL131:
		.L90:
 2120          v == tag(p)
				ldr	x0, [x20]
		.LVL109:
				ldr	x21, [x0, 8]
				add	x21, x21, x19, sxtw 4
 2121          t = 0
				mov	w1, 0
 2122          %UNLESS v_index < 0 %START;                   !no index for subnames
				ldrsh	w2, [x21, 222]
				tbnz	w2, #31, .L75
 2123             id = id+1 %AND v_index = id %IF v_index = 0
				cbnz	w2, .L76
 2124             last def = v_index
				ldr	w1, [x0, 56]
				add	w1, w1, 1
				str	w1, [x0, 56]
				ldrsh	w1, [x21, 222]
		.LVL111:
		.L75:
 2125             t = last def
				ldr	x0, [x20]
		.LVL110:
				ldr	w0, [x0, 56]
				strh	w0, [x21, 222]
		.L76:
 2126          %FINISH
 2127          op('$', t)
				ldr	x0, [x20]
				ldr	x18, [x0, 8]
				mov	w0, 36
				bl	OP.7946
		.LVL112:
 2128          print ident(p, 1);                            !output the name
				ldr	x0, [x20]
				ldr	x18, [x0, 8]
				mov	w1, 1
				mov	w0, w19
				bl	PRINTIDENT.7853
		.LVL113:
 2129          t = v_flags
				ldrsh	w19, [x21, 220]
		.LVL114:
		.LDL5:
				and	w22, w19, 15
 2130          type = t
 2131          type = type&(\(7<<4)) %IF type&(7<<4) >= 6<<4;!routine & pred
 2132          op(',', type&b'1111111');             !type & form
				ldr	x0, [x20]
				ldr	x18, [x0, 8]
				mov	w1, w22
				mov	w0, 44
				bl	OP.7946
		.LVL115:
 2133          f = v_format
				ldr	w1, [x21, 216]
		.LVL116:
 2134          f = tag(f)_index %IF t&x'70' = record<<4
				and	w23, w19, 1
				tbnz	x19, 0, .L77
 2135          f = v_index %IF f < 0
				ldr	x0, [x20]
				ldr	x0, [x0, 8]
				add	x1, x0, x1, sxtw 4
		.LVL117:
				ldrsh	w1, [x1, 222]
		.LVL118:
		.L77:
				tbnz	w1, #31, .L90
		.L78:
 2136          op(',', f);               !format
				ldr	x0, [x20]
				ldr	x18, [x0, 8]
				mov	w0, 44
				bl	OP.7946
		.LVL119:
				ldrsh	w1, [x21, 222]
		.LVL132:
				b	.L78
		.LVL133:
		.L91:
 2137          f = otype+t>>4&b'1111000'
				adrp	x0, .LANCHOR0+188
				ldr	w24, [x0, #:lo12:.LANCHOR0+188]
				lsr	w19, w19, 4
		.LVL120:
				and	w19, w19, 120
				add	w19, w19, w24
		.LVL121:
 2138          f = f!8 %IF class = 125;              !add spec from %DUP
				ldr	w1, [x20, 28]
 2139          dim = v_app;                          !dimension
				orr	w0, w19, 8
				cmp	w1, 125
				csel	w19, w0, w19, eq
		.LVL122:
		.L79:
				ldr	w0, [x21, 212]
		.LVL123:
		.LBB336:
				adrp	x1, .LANCHOR0+192
				str	w0, [x1, #:lo12:.LANCHOR0+192]
				b	.L81
		.LVL134:
		.L92:
 2140          dim = 0 %unless 0 < dim <= dim limit
 2141          op(',', f+dim<<8);                    !otype & spec & prot
				adrp	x0, .LANCHOR0+192
				ldr	w1, [x0, #:lo12:.LANCHOR0+192]
				ldr	x0, [x20]
				ldr	x18, [x0, 8]
				add	w1, w19, w1, lsl 8
				mov	w0, 44
				bl	OP.7946
		.LVL126:
 2142          defs = 0 %IF t&parameters = 0
				cbnz	w23, .L82
 2143          f = t&15
				str	wzr, [x20, 20]
		.L82:
		.LVL127:
		.LBB337:
 2144          %IF v_flags&spec # 0 %START
 2145             v_flags = v_flags&(\spec) %UNLESS 3 <= f <= 10
				sub	w1, w0, #1
				cmp	w1, 5
				bls	.L91
		.L80:
		.LBE336:
 2146             ocount = -1;                       !external specs have no constants
				adrp	x0, .LANCHOR2+2552
				mov	w1, -1
				str	w1, [x0, #:lo12:.LANCHOR2+2552]
		.LDL6:
 2147          %FINISH
 2148          dimension = 0
				adrp	x0, .LANCHOR0+192
		.LVL124:
				str	wzr, [x0, #:lo12:.LANCHOR0+192]
		.LVL125:
		.L81:
				adrp	x0, .LANCHOR0+196
				str	wzr, [x0, #:lo12:.LANCHOR0+196]
 2149          %if otype = 2 %and (f=2 %or f=12 %or f=14) %start
				cmp	w24, 2
				beq	.L92
		.L85:
		.L73:
 2150             v_flags = v_flags-1;               !convert to simple
				sub	w0, w22, #3
				cmp	w0, 7
				bls	.L83
		.L84:
		.LBE337:
				ldrh	w0, [x21, 220]
				add	w0, w0, w1
				strh	w0, [x21, 220]
 2151          %finish
				cmp	w22, 12
				ccmp	w22, 2, 4, ne
				cset	w0, ne
 2152       %END
				cmp	w22, 14
				csel	w0, w0, wzr, ne
				cbnz	w0, .L73
		.L86:
				b	.L73
		.LFE215:
				.align	2
		LOOKUP.8317:
		.LFB205:
 2153
				ldrh	w0, [x21, 220]
				and	w0, w0, -129
				strh	w0, [x21, 220]
		.L83:
				ldp	x19, x20, [sp, 16]
				ldp	x21, x22, [sp, 32]
		.LVL128:
				ldp	x23, x24, [sp, 48]
				ldp	x29, x30, [sp], 64
				ret
		.LVL129:
		.L89:
 2154       %ROUTINE def s lab(%INTEGER n)
		.LVL428:
				stp	x29, x30, [sp, -32]!
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				mov	x19, x18
 2155
 2156          !define a switch label, x defines the switch tag
 2157
 2158          %INTEGER p, l, b, w, bit
 2159          p = tag(x)_format;                               !pointer to table
				adrp	x1, .LANCHOR0+208
				ldr	w20, [x1, #:lo12:.LANCHOR0+208]
				ldr	x18, [x18]
				ldr	x3, [x18, 8]
				add	x1, x3, x20, sxtw 4
				ldr	w4, [x1, 216]
		.LVL429:
				add	x2, x3, x4, sxtw 1
 2160          l = dict(p);                                     !lower bound
				add	x1, x2, 24576
				ldrsh	w1, [x1, 2258]
		.LVL430:
		.LBB487:
 2161          %IF l <= n <= dict(p+1) %START
 2162             b = n-l
				sub	w1, w0, w1
		.LVL431:
 2163             w = b>>4+p
				add	w1, w4, w1, lsr 4
		.LVL433:
				add	x1, x3, x1, sxtw 1
		.LVL434:
 2164             bit = 1<<(b&15)
				cmp	w1, w0
				bgt	.L425
				and	w5, w1, 15
				mov	w2, 1
				lsl	w2, w2, w5
		.LVL432:
 2165             %IF dict(w+2)&bit # 0 %START;                 !already set
				add	x3, x1, 24576
		.LVL435:
				ldrsh	w3, [x3, 2262]
				cmp	w2, 0
				cset	w4, eq
		.LVL436:
				tst	w4, w3
				bne	.L426
 2166                fault(4) %IF pending # 0
				add	x2, x2, 24576
				ldrsh	w2, [x2, 2260]
				cmp	w2, w0
				blt	.L425
		.LBE487:
				ldr	w0, [x19, 24]
		.LVL437:
				cbz	w0, .L424
 2167                %RETURN
				mov	w0, 4
				bl	FAULT.7982
		.LVL438:
				b	.L424
		.LVL439:
		.L426:
 2168             %FINISH
 2169             dict(w+2) <- dict(w+2)!bit %IF pending # 0
				ldr	w4, [x19, 24]
				cbz	w4, .L428
 2170             set const(n)
				add	x1, x1, 24576
				orr	w2, w3, w2
		.LVL440:
				strh	w2, [x1, 2262]
		.LVL441:
		.L428:
				ldr	x1, [x19]
				ldr	x18, [x1, 8]
				bl	SETCONST.7949
		.LVL442:
 2171             op('_', tag(x)_index)
				ldr	x0, [x19]
				ldr	x18, [x0, 8]
				add	x20, x18, x20, sxtw 4
				ldrsh	w1, [x20, 222]
				mov	w0, 95
				bl	OP.7946
		.LVL443:
 2172          %FINISH %ELSE %START
				b	.L429
		.LVL444:
		.L425:
 2173             fault(12)
				mov	w0, 12
		.LVL445:
				bl	FAULT.7982
		.LVL446:
		.L429:
 2174          %FINISH
 2175          access = 1
				ldr	x0, [x19]
				mov	w1, 1
				str	w1, [x0, 36]
		.L427:
		.L424:
 2176       %END
 2177
				ldp	x19, x20, [sp, 16]
				ldp	x29, x30, [sp], 32
				ret
		.LFE216:
				.align	2
		COMPILE.7965:
		.LFB209:
 2178       %ROUTINE call
 2179          %RECORD(tagfm)%NAME T
 2180          t == tag(x)
				ldr	x0, [x29, 672]
				ldr	x18, [x0, 8]
		.LVL605:
				ldr	x20, [x29, 144]
				ldrsw	x19, [x20, 208]
		.LVL606:
				add	x19, x18, x19, lsl 4
		.LVL607:
 2181          op('@', t_index)
				ldrsh	w1, [x19, 222]
				mov	w0, 64
				bl	OP.7946
		.LVL608:
 2182          access = 0 %IF t_flags&closed # 0;                !never comes back
 2183          bp=bp+1 %AND buff(bp)='E' %IF t_app = 0;          !no parameters
				ldr	x1, [x29, 672]
				str	wzr, [x1, 36]
		.LDL30:
				ldr	w0, [x19, 212]
				cbnz	w0, .L746
 2184       %END
				ldr	w0, [x20]
				add	w2, w0, 1
				str	w2, [x20]
 2185
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 69
				strb	w1, [x0, 2310]
				b	.L746
		.LVL609:
		.L622:
				b	.L624
		.L623:
				b	.L624
		.L625:
				b	.L635
		.L626:
				b	.L635
		.L627:
				b	.L635
		.L628:
				b	.L635
		.L629:
				b	.L635
		.L630:
		.L635:
		.LBE551:
		.LBE550:
 2186       %ROUTINE pop def
 2187          set const(pstack(pending));  pending = pending-1
				sub	w0, w0, #1
				ldr	x1, [x29, 672]
				ldr	x18, [x1, 8]
				ldr	x1, [x29, 120]
				ldr	w0, [x1, w0, sxtw 2]
				bl	SETCONST.7949
		.LVL627:
 2188       %END
				ldr	w0, [x29, 696]
				sub	w0, w0, #1
				str	w0, [x29, 696]
		.L655:
		.LBE553:
		.LBE552:
 2189
 2190       %ROUTINE pop lit
 2191          %IF pending = 0 %THEN lit = 0 %ELSE %START
				ldr	w0, [x18, 24]
				cbz	w0, .L15
		.L13:
 2192             lit = pstack(pending);  pending = pending-1
				sub	w0, w0, #1
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				add	x2, x1, 8
				ldr	w2, [x2, w0, sxtw 2]
				str	w2, [x1, 4]
				adrp	x0, .LANCHOR0+4
				str	wzr, [x0, #:lo12:.LANCHOR0+4]
 2193          %FINISH
				str	w0, [x18, 24]
		.L14:
		.L12:
				b	.L12
		.LFE219:
				.align	2
		PUSH.9031:
		.LFB220:
 2194       %END
 2195
				ret
		.L15:
 2196
 2197       %IF sstype < 0 %START;                       !executable statement
				adrp	x0, .LANCHOR0+620
				ldr	w0, [x0, #:lo12:.LANCHOR0+620]
				tbnz	w0, #31, .L751
		.L432:
		.L434:
		.L435:
 2198          %IF level = 0 %START;                     !outermost level
				ldr	w0, [x18, 60]
				cbz	w0, .L758
		.L433:
 2199             fault(13);                             !*order
				mov	w0, 13
				bl	FAULT.7982
		.LVL466:
				b	.L435
		.LVL467:
		.L752:
 2200          %FINISH %ELSE %START
 2201             %IF access = 0 %START
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 36]
				cbnz	w0, .L435
 2202                access = 1;  fault(-1);             !only a warning
				mov	w0, 1
				ldr	x1, [x29, 152]
				str	w0, [x1, 36]
 2203             %FINISH
				mov	x18, x1
				mov	w0, -1
				bl	FAULT.7982
		.LVL465:
				b	.L435
		.L758:
 2204          %FINISH
 2205       %FINISH
 2206
 2207       %IF diag&2 # 0 %START
 2208          newline %IF sym # nl
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 10
				beq	.L436
		.LBB529:
		.LBB530:
				bl	_imp_newline
		.LVL447:
		.L436:
		.LBE530:
		.LBE529:
		.LBB531:
 2209          printstring("ss =")
				add	x19, x29, 4096
				add	x19, x19, 752
				mov	x20, 256
				mov	x2, x20
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				add	x1, x1, 1464
				mov	x0, x19
				bl	memcpy
		.LVL448:
				add	x21, x29, 752
				mov	x2, x20
				mov	x1, x19
				mov	x0, x21
				bl	memcpy
		.LVL449:
				mov	x2, x20
				mov	x1, x21
				mov	x0, x19
				bl	memcpy
		.LVL450:
		.LBE531:
		.LBB532:
		.LBB533:
				add	x0, x29, 416
				mov	x2, x20
				mov	x1, x19
				mov	x19, x0
				bl	memcpy
		.LVL451:
				mov	x0, x19
				bl	_imp_printstring
		.LVL452:
		.LBE533:
		.LBE532:
 2210          write(ss, 1)
				adrp	x19, .LANCHOR0
				add	x19, x19, :lo12:.LANCHOR0
				mov	w1, 1
				ldr	w0, [x19, 624]
				bl	_imp_writeint
		.LVL453:
		.LBB534:
		.LBB535:
				bl	_imp_newline
		.LVL454:
		.LBE535:
		.LBE534:
 2211          newline
 2212          count = 5
				mov	w0, 5
				str	w0, [x19, 608]
		.LVL455:
 2213          name = ""
 2214       %FINISH
 2215
				mov	x2, 8
				add	x1, x29, 1008
				add	x0, x19, 352
				bl	_imp_strncpy
		.LVL456:
		.L437:
 2216       next = ss
				ldr	w0, [x19, 624]
				str	w0, [x29, 708]
 2217       pending = 0;  lmode = 0
				str	wzr, [x29, 696]
 2218       link = 0;  decs = 0
				str	wzr, [x29, 680]
				str	wzr, [x29, 704]
		.LVL457:
 2219       defs = 0;  resln = 0;  done = 0
				str	wzr, [x29, 692]
		.LVL458:
				str	wzr, [x29, 132]
				str	wzr, [x29, 132]
 2220       ord = level
				str	wzr, [x29, 116]
		.L747:
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 60]
				str	w0, [x29, 128]
				str	wzr, [x29, 116]
				b	.L747
		.L438:
		.L439:
		.L440:
		.L441:
		.L442:
		.L443:
		.LVL468:
		.L444:
				b	.L746
		.LVL469:
		.L753:
 2221       ord = 1 %IF this >= 0;                       !recordformat declarations
				adrp	x0, .LANCHOR2+2568
				ldr	w0, [x0, #:lo12:.LANCHOR2+2568]
				tbnz	w0, #31, .L752
 2222 c(0):
				mov	w0, 1
				str	w0, [x29, 128]
 2223 top:  %IF next # link %START
 2224          get next;  ->c(class)
				add	x0, x29, 672
				str	x0, [x29, 136]
				ldr	w1, [x29, 708]
				ldr	w0, [x29, 704]
				cmp	w1, w0
				bne	.L753
		.L446:
				ldr	x18, [x29, 136]
				bl	GETNEXT.8878
		.LVL470:
 2225       %FINISH
				ldr	w19, [x29, 700]
		.LVL471:
		.LDL24:
 2226
 2227       !all done, tidy up declarations and jumps
 2228
 2229       newline %IF diag&2 # 0 %AND count # 5
 2230
				adrp	x0, .LANCHOR0+608
				ldr	w0, [x0, #:lo12:.LANCHOR0+608]
				cmp	w0, 5
				beq	.L450
		.LBB536:
		.LBB537:
				bl	_imp_newline
		.LVL460:
		.L450:
		.LBE537:
		.LBE536:
 2231       %IF lmode&(loop!then!else) # 0 %START;       !pending labels and jumps
 2232          op('B', label-1) %IF lmode&loop # 0;      !repeat
 2233          def lab(label)   %IF lmode&then # 0;      !entry from then
				ldr	x20, [x29, 152]
				ldr	w1, [x20, 24]
				ldr	x18, [x20, 8]
				sub	w1, w1, #1
				mov	w0, 66
				bl	OP.7946
		.LVL461:
		.L451:
 2234          def lab(label-1) %IF lmode&else # 0;      !entry from else
				add	x19, x29, 672
				mov	x18, x19
				ldr	w0, [x20, 24]
				bl	DEFLAB.8875
		.LVL462:
		.L452:
 2235       %FINISH
				ldr	w0, [x20, 24]
				mov	x18, x19
				sub	w0, w0, #1
				bl	DEFLAB.8875
		.LVL463:
		.L453:
		.L454:
 2236
 2237       %RETURN %IF decs = 0
				ldr	w0, [x29, 132]
				cbz	w0, .L431
		.L456:
 2238       atom1 = error %AND %RETURN %IF atom1 # 0;    !%INTEGERROUTINE
				adrp	x0, .LANCHOR0+240
				ldr	w0, [x0, #:lo12:.LANCHOR0+240]
				cbnz	w0, .L754
		.L457:
 2239       order = ord
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x29, 128]
				str	w1, [x0, 628]
				adrp	x0, .LANCHOR0+240
				mov	w1, 32768
				str	w1, [x0, #:lo12:.LANCHOR0+240]
		.LVL475:
		.L431:
 2240       decl = decl&(\15)+decmap(decl&15);           !construct declarator flags
				ldr	w2, [x0, 264]
				ubfiz	x1, x2, 1, 4
				add	x3, x29, 720
				ldrsh	w1, [x3, x1]
				and	w2, w2, -16
				add	w1, w1, w2
				str	w1, [x0, 264]
 2241       atom1 = atoms(decl&15);                      !generate class
				ldr	x2, [x29, 152]
				ldr	x2, [x2, 8]
				and	x3, x1, 15
				add	x2, x2, x3
				add	x2, x2, 36864
				ldrb	w2, [x2, 1972]
				str	w2, [x0, 240]
 2242       %IF otype # 0 %START;                        !own, const etc.
				ldr	w0, [x0, 188]
				cbz	w0, .L464
 2243          atom1 = atom1+1 %IF atom1 # proc
				cmp	w2, 7
				beq	.L459
 2244          %IF otype = 2 %START;                     !const
				add	w2, w2, 1
				adrp	x3, .LANCHOR0+240
				str	w2, [x3, #:lo12:.LANCHOR0+240]
		.L459:
				cmp	w0, 2
				beq	.L755
		.L460:
 2245             n = decl&15
 2246             %if n&1 # 0 %start
 2247                decl = decl!prot
				orr	w1, w1, 256
		.LVL478:
				adrp	x0, .LANCHOR0+264
				str	w1, [x0, #:lo12:.LANCHOR0+264]
		.LVL479:
				b	.L464
		.LVL480:
		.L461:
 2248                decl = decl!const bit %IF decl&b'1111111' = iform
				tbz	x1, 0, .L461
 2249             %finish
				mov	w0, 8448
				orr	w1, w1, w0
		.LVL481:
				adrp	x0, .LANCHOR0+264
				str	w1, [x0, #:lo12:.LANCHOR0+264]
		.LVL482:
				b	.L464
		.LVL483:
		.L756:
 2250          %else
 2251             decl = decl!own bit
				orr	w1, w1, 512
				adrp	x0, .LANCHOR0+264
				str	w1, [x0, #:lo12:.LANCHOR0+264]
		.L458:
		.L462:
		.L463:
		.L464:
 2252          %FINISH
 2253       %FINISH
 2254       sstype = 1 %IF sstype = 0 %AND atom1 = proc
				adrp	x0, .LANCHOR0+620
				ldr	w0, [x0, #:lo12:.LANCHOR0+620]
				cbnz	w0, .L465
 2255       atom1 = atom1+1 %IF decl&spec # 0;             !onto spec variant
				adrp	x0, .LANCHOR0+240
				ldr	w0, [x0, #:lo12:.LANCHOR0+240]
				cmp	w0, 7
				beq	.L756
		.L465:
 2256       ocount = 0 %AND cont = '+' %IF atom1 = 5;      !own array
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				ldr	w0, [x1, 240]
				add	w0, w0, 1
				str	w0, [x1, 240]
		.LDL22:
				cmp	w0, 5
				beq	.L757
		.L466:
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 1
				str	w1, [x0, 620]
				mov	w1, 8
				str	w1, [x0, 240]
				b	.L466
		.L757:
 2257       %IF anyform(decl&15) = 0 %START;               !check meaningful
				adrp	x0, .LANCHOR0+264
				ldr	w0, [x0, #:lo12:.LANCHOR0+264]
				and	w2, w0, 15
				add	x1, x29, 4096
				add	x1, x1, 1032
				ldrb	w1, [x1, w2, sxtw]
				cbnz	w1, .L431
				adrp	x0, .LANCHOR2
				add	x0, x0, :lo12:.LANCHOR2
				str	wzr, [x0, 2552]
 2258          %IF decl>>4&7 = record %START
				tbnz	x0, 4, .L468
				mov	w1, 43
				str	w1, [x0, 2844]
				b	.L466
		.LVL484:
		.L471:
		.L472:
 2259             this = fdef %IF tag(fdef)_flags&spec # 0
 2260             atom1 = error+21 %IF fdef = this;        !*context for format
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w2, [x0, 272]
				adrp	x1, .LANCHOR2+2568
				str	w2, [x1, #:lo12:.LANCHOR2+2568]
		.LDL23:
 2261          %FINISH
				mov	w1, 32789
				str	w1, [x0, 240]
		.L467:
		.L468:
 2262          atom1 = error+10 %IF fdef = 0;              !*size
				adrp	x0, .LANCHOR0+272
				ldr	w0, [x0, #:lo12:.LANCHOR0+272]
				cbnz	w0, .L431
 2263       %FINISH
				adrp	x0, .LANCHOR0+240
				mov	w1, 32778
				str	w1, [x0, #:lo12:.LANCHOR0+240]
				b	.L431
		.LVL464:
		.L751:
 2264       %RETURN
 2265
 2266 atop:   access = 0;  ->top
 2267
				ldr	x0, [x29, 152]
				str	wzr, [x0, 36]
 2268 ! declarators
				b	.L746
		.LVL510:
		.L525:
 2269
 2270 c(88):                                                !rtype
 2271 c(28): decl = x&(\7);                                 !stype
 2272        fdef = x&7;                                    !precision
				ldr	x2, [x29, 144]
				ldr	w0, [x2, 208]
				and	w1, w0, -8
				str	w1, [x2, 264]
				and	w1, w0, 7
				str	w1, [x2, 272]
 2273        fdef = reals ln %IF x&b'1110001' = real<<4+1;  !convert to long
				and	w1, w0, 1
				str	w1, [x29, 132]
				tbnz	x0, 0, .L746
 2274        decs = 1;  ->top
				adrp	x0, .LANCHOR2+2852
				ldr	w0, [x0, #:lo12:.LANCHOR2+2852]
				str	w0, [x2, 272]
				mov	w0, 1
				str	w0, [x29, 132]
				b	.L746
		.L473:
		.L474:
 2275 c(34):                                                !own
 2276 c(35): otype = x;  ord = 1;  ->top;                   !external
 2277 c(152):decl = decl+x<<1;  ->top;                      !xname
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 208]
				str	w0, [x1, 188]
		.LVL485:
 2278 c(31):                                                !proc
				mov	w0, 1
				str	w0, [x29, 128]
				ldr	x2, [x29, 144]
				ldr	w0, [x2, 208]
				ldr	w1, [x2, 264]
				add	w0, w1, w0, lsl 1
				str	w0, [x2, 264]
 2279 c(32): spec mode = level+1;                           !fn/map
				b	.L746
		.LVL486:
		.L475:
				b	.L746
		.L476:
		.L477:
 2280        decl = decl!prot %IF x = 9;                    !function
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 60]
				add	w0, w0, 1
				ldr	x1, [x29, 144]
				str	w0, [x1, 632]
				ldr	w0, [x1, 208]
				cmp	w0, 9
				beq	.L760
		.L478:
		.L479:
		.LVL487:
 2281 c(29): ord = 1;                                       !array
				ldr	w0, [x1, 264]
				orr	w0, w0, 256
				str	w0, [x1, 264]
				b	.L479
		.L481:
 2282        dim = 0
				ldr	x0, [x29, 144]
				str	wzr, [x0, 192]
				mov	w0, 1
				str	w0, [x29, 128]
		.LVL488:
		.L480:
 2283 c(30): decl = decl+x;                                 !name
 2284        decs = 1
				ldr	x2, [x29, 144]
				ldr	w0, [x2, 264]
				ldr	w1, [x2, 208]
				add	w0, w0, w1
				str	w0, [x2, 264]
		.LVL489:
				mov	w0, 1
				str	w0, [x29, 132]
 2285        ->top
				b	.L746
		.LVL490:
		.L760:
 2286 c(27): lit = 0;                                       ! arrayd
 2287        %IF pending # 0 %START
				ldr	x0, [x29, 144]
				str	wzr, [x0, 4]
				ldr	w0, [x29, 696]
				cbnz	w0, .L761
		.L482:
		.L484:
 2288           pop lit
				ldr	x18, [x29, 136]
				bl	POPLIT.8975
		.LVL493:
		.LBB538:
 2289           %UNLESS 0<lit<=dim limit %START
 2290              atom1 = error + 11;  %RETURN
				adrp	x0, .LANCHOR0+240
				mov	w1, 32779
				str	w1, [x0, #:lo12:.LANCHOR0+240]
 2291           %FINISH
				b	.L431
		.LVL494:
		.L485:
 2292        %FINISH
 2293        dim = lit
				ldr	x2, [x29, 144]
				ldr	w0, [x2, 4]
				str	w0, [x2, 192]
 2294        decl = decl + x;  decs = 1
				ldr	w0, [x2, 264]
				ldr	w1, [x2, 208]
				add	w0, w0, w1
				str	w0, [x2, 264]
		.LVL491:
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 4]
				sub	w0, w0, #1
				cmp	w0, 5
				bls	.L484
		.L483:
		.LBE538:
 2295        -> top
				mov	w0, 1
				str	w0, [x29, 132]
				b	.L746
		.LVL492:
		.L761:
 2296 c(37): x = x!subname;                                 !record
 2297 c(36): lit = 0;                                       !string
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 208]
				orr	w0, w0, 2048
				str	w0, [x1, 208]
		.L486:
 2298        %IF pending # 0 %START
				ldr	x0, [x29, 144]
				str	wzr, [x0, 4]
				ldr	w0, [x29, 696]
				cbnz	w0, .L762
		.L487:
		.L489:
 2299          pop lit
				ldr	x18, [x29, 136]
				bl	POPLIT.8975
		.LVL497:
		.LBB539:
 2300           %UNLESS 0 < lit <= 255 %START;              !max length wrong
 2301              atom1 = error+10;  %RETURN
				adrp	x0, .LANCHOR0+240
				mov	w1, 32778
				str	w1, [x0, #:lo12:.LANCHOR0+240]
 2302           %FINISH
				b	.L431
		.LVL498:
		.L491:
 2303        %FINISH
 2304        fdef = lit;                                    !format or length
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 4]
				str	w0, [x1, 272]
		.L490:
 2305 c(33): decl = x;                                      !switch
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 4]
				sub	w0, w0, #1
				cmp	w0, 254
				bls	.L489
		.L488:
		.LBE539:
 2306        decs = 1
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 208]
				str	w0, [x1, 264]
		.LVL495:
				mov	w0, 1
				str	w0, [x29, 132]
 2307        ->top
				b	.L746
		.LVL496:
		.L762:
 2308 c(39): decl = decl!spec;                              !spec
 2309        ocount = -1;                                   !no initialisation
				ldr	x2, [x29, 144]
				ldr	w0, [x2, 264]
				orr	w0, w0, 128
				str	w0, [x2, 264]
				mov	w0, -1
				adrp	x1, .LANCHOR2+2552
				str	w0, [x1, #:lo12:.LANCHOR2+2552]
 2310        spec mode = -1
				str	w0, [x2, 632]
 2311        ->top
				b	.L746
		.L492:
 2312 c(38): decl = 64+4;                                   !recordformat (spec)
 2313        order = 1
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 68
				str	w1, [x0, 264]
				mov	w1, 1
				str	w1, [x0, 628]
 2314        atom1 = x
				ldr	w1, [x0, 208]
				str	w1, [x0, 240]
 2315        decl = decl!spec %if atom1 = 12;               !formatspec
				cmp	w1, 12
				beq	.L763
		.L493:
 2316        fdef = tmax+1;                                 !format tag
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 64]
				add	w0, w0, 1
				adrp	x1, .LANCHOR0+272
				str	w0, [x1, #:lo12:.LANCHOR0+272]
				adrp	x0, .LANCHOR0+264
				mov	w1, 196
				str	w1, [x0, #:lo12:.LANCHOR0+264]
				b	.L493
		.L494:
 2317        %return
				b	.L431
		.L763:
 2318 c(175):id = id+1;  tag(x)_index = id;  %return;       !FSID
 2319 c(41): decs = 1;  decl = x!spec!closed;  ->top;       !label
				ldr	x1, [x29, 152]
				ldr	w0, [x1, 56]
				add	w0, w0, 1
				str	w0, [x1, 56]
 2320 c(133):recid = 0;  rbase = tmin-1;                    !fname
				ldr	x2, [x1, 8]
				adrp	x1, .LANCHOR0+208
				ldrsw	x1, [x1, #:lo12:.LANCHOR0+208]
				add	x1, x2, x1, lsl 4
				strh	w0, [x1, 222]
				mov	w0, 1
				str	w0, [x29, 132]
 2321        this = x
				b	.L431
		.L495:
		.LVL499:
				ldr	x2, [x29, 144]
				ldr	w0, [x2, 208]
				mov	w1, 16512
				orr	w0, w0, w1
				str	w0, [x2, 264]
				ldr	x0, [x29, 152]
				ldr	x0, [x0, 8]
				str	wzr, [x0, 204]
				ldr	w0, [x3, 208]
				str	w0, [x1, 2568]
 2322        fm base = fdef;  format list = tmin
				b	.L746
		.LVL500:
		.L496:
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w2, [x1, 2688]
				sub	w0, w2, #1
				ldr	x3, [x29, 144]
				str	w0, [x3, 204]
				ldr	w1, [x3, 272]
				str	w1, [x3, 348]
 2323        def(this);                      ->top
				str	w2, [x3, 212]
				ldr	x18, [x29, 136]
				bl	DEF.8928
		.LVL501:
				b	.L746
		.L497:
 2324 c(148):fdef = 0 %AND ->top %IF next = 0;              !reclb
 2325        get next;                                      !skip name
				ldr	w0, [x29, 708]
				cbnz	w0, .L498
				ldr	x18, [x29, 136]
				bl	GETNEXT.8878
		.LVL502:
 2326        fdef = x
				ldr	x0, [x29, 144]
				str	wzr, [x0, 272]
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 208]
				str	w0, [x1, 272]
 2327        ->top
				b	.L746
		.L498:
				b	.L746
		.L499:
 2328 c(127):bp=bp+1 %AND buff(bp)='}';  ->top;             !%POUT
 2329 c(126):bp=bp+1 %AND buff(bp)='{';  ->top;             !%PIN
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
 2330
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 125
				strb	w1, [x0, 2310]
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
 2331 c(174):set bp;                                        !rangerb
				b	.L746
		.L500:
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 123
				strb	w1, [x0, 2310]
 2332 c(171):                                               !fmlb
				b	.L746
		.L501:
				ldr	x18, [x29, 136]
				bl	SETBP.8910
		.LVL503:
		.L504:
 2333 c(172):                                               !fmrb
 2334 c(173):bp=bp+1 %AND buff(bp)='~';  bp=bp+1 %AND buff(bp)=class-171+'A';  ->top;         !fmor
 2335 c(168):rbase = -rbase;                                !orrb
				ldr	x3, [x29, 144]
				ldr	w0, [x3]
				add	w0, w0, 1
 2336        sstype = 0;  spec mode = 0
				ldr	x4, [x29, 152]
				ldr	x1, [x4, 8]
				add	x1, x1, x0, sxtw
				add	x1, x1, 102400
				mov	w2, 126
				strb	w2, [x1, 2310]
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 204]
				neg	w0, w0
				str	w0, [x1, 204]
				str	wzr, [x1, 620]
 2337
				add	w1, w0, 2
				str	w1, [x3]
				str	wzr, [x1, 632]
		.L506:
 2338 c(147):search base = 0;                               !recrb
				ldr	x1, [x4, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				ldr	w1, [x29, 700]
				sub	w1, w1, #106
				strb	w1, [x0, 2310]
 2339        tag(this)_app = tmin
				b	.L746
		.L502:
				b	.L504
		.L503:
				b	.L504
		.L505:
				ldr	x3, [x29, 144]
				str	wzr, [x3, 200]
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	x4, [x29, 152]
				ldr	x2, [x4, 8]
				ldrsw	x0, [x1, 2568]
				add	x0, x0, 13
				lsl	x0, x0, 4
				add	x2, x2, x0
				ldr	w1, [x1, 2688]
				str	w1, [x2, 4]
 2340        tag(this)_format = rbase
				ldr	x1, [x4, 8]
				add	x0, x1, x0
				ldr	w1, [x3, 204]
				str	w1, [x0, 8]
 2341        ->top
				b	.L746
		.L507:
 2342
 2343 c(45):bp=bp+1 %and buff(bp)='U' %IF x = 36;  ->top;   !sign
 2344 c(46):bp=bp+1;  buff(bp)='\';  ->top;                 !uop
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 208]
				cmp	w0, 36
				bne	.L746
 2345 c(47):                                                !mod
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
 2346 c(48):                                                !dot
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 85
				strb	w1, [x0, 2310]
				b	.L746
		.L508:
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 92
				strb	w1, [x0, 2310]
 2347 c(42):                                                !op1
				b	.L746
		.L509:
		.L513:
 2348 c(43):                                                !op2
 2349 c(44):bp=bp+1;  buff(bp)=operator(x);  ->top;         !op3
 2350
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
 2351 !conditions & jumps
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				ldr	w1, [x2, 208]
				sub	w1, w1, #1
				add	x2, x29, 4096
				add	x2, x2, 1016
				ldrb	w1, [x2, w1, sxtw]
				strb	w1, [x0, 2310]
 2352
				b	.L746
		.L510:
				b	.L513
		.L511:
				b	.L513
		.L512:
				b	.L513
		.L514:
		.L515:
 2353       %ROUTINE push(%INTEGER x)
		.LVL15:
 2354          %IF cnest(cp)&2 # x %START
				ldr	w1, [x18, 16]
				adrp	x2, .LANCHOR0
				add	x2, x2, :lo12:.LANCHOR0
				add	x2, x2, x1, sxtw
				ldrb	w2, [x2, 168]
				cmp	w0, 2
				cset	w3, eq
				tst	w3, w2
				bne	.L17
 2355             cnest(cp) = cnest(cp)!1;  x = x+4
				adrp	x3, .LANCHOR0
				add	x3, x3, :lo12:.LANCHOR0
				add	x3, x3, x1, sxtw
				orr	w2, w2, 1
				strb	w2, [x3, 168]
 2356          %FINISH
				add	w0, w0, 4
		.LVL16:
		.L17:
 2357          clab = clab+1 %IF cnest(cp)&1 # 0
 2358          cnest(cp+1) = x;  cp = cp+1
				ldr	w2, [x18, 12]
				add	w2, w2, 1
				str	w2, [x18, 12]
		.LDL1:
				add	w1, w1, 1
				adrp	x2, .LANCHOR0
				add	x2, x2, :lo12:.LANCHOR0
				add	x2, x2, x1, sxtw
				strb	w0, [x2, 168]
 2359       %END
				str	w1, [x18, 16]
 2360
				ret
		.LFE220:
				.align	2
		ABANDON.7872:
		.LFB188:
 2361       %ROUTINE pop label(%INTEGER mode)
		.LVL420:
				stp	x29, x30, [sp, -16]!
				add	x29, sp, 0
 2362          lmode = dict(dmin)
				ldr	x2, [x18]
				ldr	x3, [x2, 8]
				ldr	w1, [x2, 52]
				sub	w1, w1, #1
				add	x1, x3, x1, sxtw 1
				add	x1, x1, 24576
				add	x1, x1, 2256
				ldrsh	w1, [x1, 4]
				str	w1, [x18, 8]
 2363          %IF lmode < 0 %OR lmode&1 # mode %START
				tbnz	w1, #31, .L413
 2364             fault(mode+8)
				cmp	w0, 1
				cset	w3, eq
				tst	w3, w1
				beq	.L413
		.L414:
				mov	x18, x2
				add	w0, w0, 8
		.LVL423:
				bl	FAULT.7982
		.LVL424:
 2365          %FINISH %ELSE %START
 2366             dmin = dmin+1;  label = label-3
				ldr	w0, [x2, 52]
		.LVL421:
				add	w0, w0, 1
				str	w0, [x2, 52]
 2367          %FINISH
				ldr	x1, [x18]
				ldr	w0, [x1, 24]
				sub	w0, w0, #3
				str	w0, [x1, 24]
				ret
		.LVL422:
		.L413:
 2368       %END
 2369
				ldp	x29, x30, [sp], 16
				ret
		.L415:
		.LFE221:
				.align	2
		SETBP.8910:
		.LFB213:
 2370 c(56):                                         !and
 2371 c(57):push(x);  ->top;                         !or
 2372 c(58):cnest(cp) = cnest(cp)!!2;  ->top;        !not
				ldr	x18, [x29, 136]
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 208]
				bl	PUSH.9031
		.LVL504:
				b	.L746
		.L516:
 2373
				ldrsw	x0, [x29, 688]
				ldr	x1, [x29, 144]
				add	x0, x1, x0
				ldrb	w1, [x0, 168]
				eor	w1, w1, 2
				strb	w1, [x0, 168]
 2374 c(138):x = 128+32+16+4;                        !csep: treat like %WHILE
				b	.L746
		.L517:
 2375 c(59):                                         !while
				mov	w0, 180
				ldr	x1, [x29, 144]
				str	w0, [x1, 208]
		.L519:
 2376 c(60):%IF class = 138 %THEN op('f', label-1) %C
 2377                       %ELSE def lab(label-1);  !until
				ldr	w0, [x29, 700]
				cmp	w0, 138
				beq	.L764
		.L520:
 2378 c(166):                                        !runtil
				ldr	x0, [x29, 152]
				ldr	w1, [x0, 24]
				ldr	x18, [x0, 8]
				sub	w1, w1, #1
				mov	w0, 102
				bl	OP.7946
		.LVL506:
				b	.L523
		.L521:
		.L522:
		.L523:
 2379 c(62):lmode = (lmode&(else!loop)) !(x>>3);     !cword
 2380       clab = label;  cp = 1;  cnest(1) = x&7
				ldr	x2, [x29, 144]
				ldr	w1, [x2, 208]
				ldr	w0, [x29, 680]
				and	w0, w0, 24
				orr	w0, w0, w1, lsr 3
				str	w0, [x29, 680]
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 24]
				str	w0, [x29, 684]
 2381       ->top
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 24]
				ldr	x18, [x29, 136]
				sub	w0, w0, #1
				bl	DEFLAB.8875
		.LVL505:
				b	.L523
		.L518:
				b	.L519
		.L764:
				mov	w0, 1
				str	w0, [x29, 688]
				b	.L746
		.L524:
 2382 c(72):pop label(0);                            !repeat
				and	w1, w1, 7
				strb	w1, [x2, 169]
 2383       def lab(label+1) %IF lmode&32 # 0;  ->atop
				ldr	x19, [x29, 136]
		.LVL507:
				mov	x18, x19
				mov	w0, 0
				bl	POPLABEL.9036
		.LVL508:
 2384 c(69):pop label(1);               ->top;       !finish
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 24]
				mov	x18, x19
				add	w0, w0, 1
				bl	DEFLAB.8875
		.LVL509:
		.L469:
		.L470:
 2385 c(163):                                        !xelse
				ldr	x18, [x29, 136]
				mov	w0, 1
				bl	POPLABEL.9036
		.LVL511:
				b	.L746
		.L526:
		.L527:
 2386 c(70):pop label(1);                            !finish else ...
 2387       fault(7) %IF lmode&3 = 3;                !dangling else
				ldr	x18, [x29, 136]
				mov	w0, 1
				bl	POPLABEL.9036
		.LVL512:
 2388 c(68):lmode = (lmode&else)!3;                  !...else...
				ldr	x18, [x29, 152]
				mov	w0, 7
				bl	FAULT.7982
		.LVL513:
		.L528:
		.L529:
 2389       %IF access # 0 %START
				ldr	w0, [x29, 680]
				and	w0, w0, 8
				orr	w0, w0, 3
				str	w0, [x29, 680]
				ldr	x1, [x29, 152]
				ldr	w0, [x1, 36]
				cbz	w0, .L530
 2390          op('F', label-1);  lmode = else!3
				mov	x0, x1
				ldr	w1, [x1, 24]
				ldr	x18, [x0, 8]
				sub	w1, w1, #1
				mov	w0, 70
				bl	OP.7946
		.LVL514:
 2391       %FINISH
				mov	w0, 11
				str	w0, [x29, 680]
		.L530:
 2392       def lab(label)
				ldr	x18, [x29, 136]
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 24]
				bl	DEFLAB.8875
		.LVL515:
 2393       ->top %IF next # 0
				ldr	w0, [x29, 708]
				cbnz	w0, .L746
				b	.L534
		.L531:
		.L532:
		.L534:
		.L535:
 2394
 2395 c(120):                                        !%MSTART
 2396 c(67):                                         !start
 2397 c(71):                                         !cycle
 2398 stcy: def lab(label-1) %AND lmode = loop %IF lmode = 0;!cycle
 2399       dmin = dmin-1;  abandon(3) %IF dmin <= dmax
				ldr	w0, [x29, 680]
				cbz	w0, .L765
		.LVL516:
		.L536:
				ldr	x1, [x29, 152]
				ldr	w0, [x1, 52]
				sub	w0, w0, #1
				str	w0, [x1, 52]
 2400       dict(dmin) = lmode
				adrp	x1, .LANCHOR2+2556
				ldr	w1, [x1, #:lo12:.LANCHOR2+2556]
				cmp	w1, w0
				bge	.L766
		.L537:
				ldr	x2, [x29, 152]
				ldr	x1, [x2, 8]
				ldr	w0, [x2, 52]
				sub	w0, w0, #1
				add	x0, x1, x0, sxtw 1
				add	x0, x0, 24576
				add	x0, x0, 2256
				ldr	w1, [x29, 680]
				strh	w1, [x0, 4]
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 24]
				add	x18, x29, 672
				sub	w0, w0, #1
				bl	DEFLAB.8875
		.LVL518:
 2401       label = label+3
				ldr	w0, [x2, 24]
				add	w0, w0, 3
				str	w0, [x2, 24]
				mov	w0, 16
				str	w0, [x29, 680]
				b	.L536
		.LVL519:
		.L766:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 3
				bl	ABANDON.7872
		.LVL520:
				b	.L537
		.LVL521:
		.L538:
 2402       %RETURN
				b	.L431
		.LVL517:
		.L533:
				b	.L534
		.L765:
 2403
 2404 c(64):fault(13) %IF dict(dmin) >= 0 %OR inhibit # 0;  !on event
 2405       inhibit = 1
				ldr	x2, [x29, 152]
				ldr	x1, [x2, 8]
				ldr	w0, [x2, 52]
				sub	w0, w0, #1
				add	x0, x1, x0, sxtw 1
				add	x0, x0, 24576
				add	x0, x0, 2256
				ldrsh	w0, [x0, 4]
				tbz	w0, #31, .L539
				mov	w0, 1
				ldr	x1, [x29, 152]
				str	w0, [x1, 20]
		.LVL523:
 2406       n = 0
				ldr	w0, [x2, 20]
				cbz	w0, .L540
		.L539:
				mov	w19, 0
				mov	w19, 0
		.LVL533:
		.L541:
 2407       n = x'FFFF' %IF pending = 0;             !* = all events
				ldr	w0, [x29, 696]
				cbz	w0, .L541
 2408       %WHILE pending > 0 %CYCLE
				ldr	x18, [x29, 152]
				mov	w0, 13
				bl	FAULT.7982
		.LVL522:
		.L540:
				mov	w19, 65535
		.LVL524:
 2409          pop lit;  fault(10) %IF lit&(\15) # 0;!too big
				cmp	w0, 0
				ble	.L732
				add	x23, x29, 672
				ldr	w0, [x29, 696]
		.LVL527:
				cmp	w0, 0
				ble	.L541
		.LVL528:
		.L544:
				mov	x18, x23
				bl	POPLIT.8975
		.LVL529:
 2410          j = 1<<lit
				adrp	x20, .LANCHOR0
				add	x20, x20, :lo12:.LANCHOR0
				mov	w21, 1
				b	.L544
		.LVL525:
		.L543:
				ldr	w0, [x20, 4]
				lsl	w0, w21, w0
		.LVL531:
 2411          dubious = 1 %IF n&j # 0
				mov	w22, 10
				ldr	x18, [x29, 152]
				mov	w0, w22
				bl	FAULT.7982
		.LVL530:
		.L542:
				cmp	w0, 0
				cset	w1, eq
				tst	w1, w19
				bne	.L543
 2412          n = n!j;                              !construct bit mask
				orr	w19, w19, w0
		.LVL526:
				str	w21, [x20, 636]
				b	.L543
		.LVL532:
		.L732:
 2413       %REPEAT
 2414       op('o', n);  op(',', label)
				ldr	x20, [x29, 152]
				ldr	x18, [x20, 8]
				mov	w1, w19
				mov	w0, 111
				bl	OP.7946
		.LVL534:
 2415       lmode = then!1;  ->stcy
				ldr	x18, [x20, 8]
				ldr	w1, [x20, 24]
				mov	w0, 44
				bl	OP.7946
		.LVL535:
				mov	w0, 5
				str	w0, [x29, 680]
				b	.L536
		.LVL536:
		.L545:
 2416
 2417
 2418 c(104):op('J', tag(x)_index);                   !l
 2419        inhibit = 1;            ->atop
				ldr	x19, [x29, 152]
		.LVL537:
				ldr	x18, [x19, 8]
				ldr	x0, [x29, 144]
				ldrsw	x0, [x0, 208]
				add	x0, x18, x0, lsl 4
				ldrsh	w1, [x0, 222]
				mov	w0, 74
				bl	OP.7946
		.LVL538:
				mov	w0, 1
				str	w0, [x19, 20]
 2420 c(149):stats = stats-1;                         !lab
				b	.L469
		.LVL539:
		.L546:
 2421        access = 1;  inhibit = 1
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 640]
				sub	w0, w0, #1
				str	w0, [x1, 640]
				mov	w0, 1
				ldr	x2, [x29, 152]
				str	w0, [x2, 36]
 2422        op('L', tag(x)_index);  ->top
				str	w0, [x2, 20]
				ldr	x18, [x2, 8]
				ldrsw	x0, [x1, 208]
				add	x0, x18, x0, lsl 4
				ldrsh	w1, [x0, 222]
				mov	w0, 76
				bl	OP.7946
		.LVL540:
				b	.L746
		.L547:
 2423
 2424 c(63):j = dmin;  l = label-3;                   !exit, continue
 2425       %CYCLE
				ldr	x2, [x29, 152]
				ldr	w19, [x2, 52]
		.LVL541:
 2426          fault(7) %AND ->top %IF dict(j) < 0
				ldr	w0, [x2, 24]
				sub	w0, w0, #3
				str	w0, [x2, 16]
				sub	w1, w19, #1
				ldr	x18, [x2, 8]
				add	x0, x18, x1, sxtw 1
				add	x0, x0, 24576
				add	x0, x0, 2256
				ldrsh	w0, [x0, 4]
				tbnz	w0, #31, .L548
				mov	x2, 13416
				add	x0, x2, x19, sxtw
				add	x0, x18, x0, lsl 1
				ldrsh	w0, [x0, 4]
				tbnz	w0, #31, .L548
		.L551:
				mov	w19, w1
		.LVL544:
		.L550:
 2427          %EXIT %IF dict(j)&1 = 0
				tbz	x0, 0, .L767
		.L549:
				tbz	x0, 0, .L550
				ldr	x18, [x29, 152]
				mov	w0, 7
				bl	FAULT.7982
		.LVL546:
				b	.L746
		.L768:
 2428          j = j+1;  l = l-3
				add	w1, w19, 1
		.LVL542:
				mov	w19, w1
				b	.L549
		.LVL543:
		.L767:
 2429       %REPEAT
				ldr	x3, [x29, 152]
				ldr	w0, [x3, 16]
				sub	w0, w0, #3
				str	w0, [x3, 16]
		.LDL25:
 2430       l = l+1 %IF x = 32;                       !continue
				ldr	x0, [x29, 144]
				ldr	w20, [x0, 208]
				cmp	w20, 32
				beq	.L768
		.L552:
 2431       op('F', l)
				ldr	x21, [x29, 152]
				ldr	w1, [x21, 16]
				mov	w0, 70
				bl	OP.7946
		.LVL545:
				ldr	x0, [x21, 8]
				add	x0, x0, x19, sxtw 1
				ldr	x1, [x29, 152]
				ldr	w0, [x1, 16]
				add	w0, w0, 1
				str	w0, [x1, 16]
				b	.L552
		.LVL547:
		.L553:
 2432       dict(j) = dict(j)!x;                      !show given
				add	x0, x0, 24576
				ldrh	w1, [x0, 2260]
				orr	w20, w20, w1
				strh	w20, [x0, 2260]
 2433       ->atop
				b	.L469
		.L548:
 2434
 2435 c(50):bp=bp+1 %AND buff(bp)='C';  ->cop;        !acomp
 2436
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
 2437 c(49): bp = bp+1
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 67
				strb	w1, [x0, 2310]
 2438        %IF next # 0 %START;                     !comparator
				b	.L557
		.L555:
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
				ldr	w1, [x29, 708]
				cbnz	w1, .L769
		.L556:
 2439           buff(bp)='"';  push(0);               !double sided
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 34
				strb	w1, [x0, 2310]
 2440        %FINISH %ELSE %START
				ldr	x18, [x29, 136]
				mov	w0, 0
				bl	PUSH.9031
		.LVL548:
				b	.L557
		.L561:
		.L563:
 2441           buff(bp)='?'
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 63
				strb	w1, [x0, 2310]
				b	.L557
		.L769:
 2442        %FINISH
 2443
 2444 cop:   x = x!!1 %IF cnest(cp)&2 # 0;            !invert the condition
 2445        j = cp;  l = clab
				ldr	w1, [x29, 688]
		.LVL714:
 2446        %WHILE cnest(j)&4 = 0 %CYCLE
				ldr	x0, [x29, 144]
				ldr	w3, [x0, 208]
				eor	w3, w3, 1
				str	w3, [x0, 208]
		.LDL33:
				ldr	w2, [x29, 684]
				ldr	x4, [x29, 152]
				str	w2, [x4, 16]
 2447           j = j-1;  l = l-cnest(j)&1
				add	x0, x0, x1, sxtw
				ldrb	w0, [x0, 168]
				tbnz	x0, 0, .L558
		.L559:
				sub	w1, w1, #1
		.LVL715:
				cbz	w0, .L559
				ldr	x0, [x29, 152]
				str	w2, [x0, 16]
		.L558:
 2448        %REPEAT
				ldr	x0, [x29, 144]
				add	x0, x0, x1, sxtw
				ldrb	w0, [x0, 168]
				and	w0, w0, 1
				sub	w2, w2, w0
		.LDL34:
 2449        op(cc(x), l)
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				ldr	w1, [x0, 16]
		.LVL716:
				add	x0, x29, 4096
				add	x0, x0, 1008
				ldrb	w0, [x0, w3, sxtw]
				bl	OP.7946
		.LVL717:
 2450        def lab(clab+1) %IF cnest(cp)&1 # 0
 2451        cp = cp-1
				ldr	x18, [x29, 136]
				ldr	w0, [x29, 684]
				add	w0, w0, 1
				bl	DEFLAB.8875
		.LVL718:
		.L560:
				ldr	w0, [x29, 688]
				sub	w0, w0, #1
				str	w0, [x29, 688]
 2452        clab = clab-cnest(cp)&1
				ldr	x1, [x29, 144]
				add	x0, x1, x0, sxtw
				ldrb	w0, [x0, 168]
				and	w1, w0, 1
				ldr	w0, [x29, 684]
				sub	w0, w0, w1
				str	w0, [x29, 684]
 2453        ->top
				b	.L746
		.LVL719:
		.L713:
 2454
 2455 c(78):                                              !fresult
 2456 c(79):                                              !mresult
 2457 c(80):   open = 0;                                  !return, true, false
 2458 c(82):   access = 0;                                !stop
				ldr	x0, [x29, 152]
				str	wzr, [x0, 32]
		.L564:
 2459 c(89):                                              !addop
				ldr	x0, [x29, 152]
				str	wzr, [x0, 36]
		.L566:
 2460 c(81):   bp=bp+1 %AND buff(bp)=x;  ->top;           !monitor
 2461
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
 2462 c(65):   pop lit;  op('e', lit);  ->atop;           !signal
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				ldr	w1, [x2, 208]
				strb	w1, [x0, 2310]
 2463
				b	.L746
		.L562:
				b	.L563
		.L565:
				b	.L566
		.L567:
				ldr	x18, [x29, 136]
				bl	POPLIT.8975
		.LVL549:
 2464 c(51):   bp=bp+1 %AND buff(bp)='S';  ->top;         !eq
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				ldr	x0, [x29, 144]
				ldr	w1, [x0, 4]
				mov	w0, 101
				bl	OP.7946
		.LVL550:
				b	.L469
		.L568:
 2465 c(53):   bp=bp+1 %AND buff(bp)='j';  ->top;         !jam transfer
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
 2466 c(52):   bp=bp+1 %AND buff(bp)='Z';  ->top;         !eqeq
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 83
				strb	w1, [x0, 2310]
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
 2467
				b	.L746
		.L569:
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 106
				strb	w1, [x0, 2310]
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
 2468 c(74):%IF level = 0 %START;                         !begin
				b	.L746
		.L570:
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 90
				strb	w1, [x0, 2310]
 2469          %IF progmode <= 0 %THEN progmode = 1 %ELSE fault(7)
				b	.L746
		.L571:
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 60]
				cbnz	w0, .L574
				adrp	x0, .LANCHOR0+644
				ldr	w0, [x0, #:lo12:.LANCHOR0+644]
				cmp	w0, 0
				bgt	.L573
 2470          {Permit BEGIN after external defs}
				adrp	x0, .LANCHOR0+644
				mov	w1, 1
				str	w1, [x0, #:lo12:.LANCHOR0+644]
		.L572:
		.L574:
 2471       %FINISH
 2472       spec mode = level+1
				adrp	x1, .LANCHOR0
				add	x2, x1, :lo12:.LANCHOR0
				ldr	x3, [x29, 152]
				ldr	w0, [x3, 60]
				add	w0, w0, 1
				str	w0, [x2, 632]
 2473       block x = 0
				str	wzr, [x2, 648]
				ldr	x18, [x29, 152]
				mov	w0, 7
				bl	FAULT.7982
		.LVL551:
				b	.L574
		.L575:
 2474       bp=bp+1 %AND buff(bp)='H';  %RETURN
				ldr	w0, [x1, #:lo12:.LANCHOR0]
				add	w2, w0, 1
				str	w2, [x1, #:lo12:.LANCHOR0]
 2475 c(77):perm = 0;  lines = 0;  stats = 0;             !endofperm
				ldr	x1, [x3, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 72
				strb	w1, [x0, 2310]
 2476       close input
				b	.L431
		.L573:
				adrp	x19, .LANCHOR2
		.LVL552:
				add	x19, x19, :lo12:.LANCHOR2
				str	wzr, [x19, 2692]
				bl	CLOSEINPUT
		.LVL553:
		.LBB540:
		.LBB541:
				adrp	x0, :got:_imp_InStream
				ldr	x0, [x0, #:got_lo12:_imp_InStream]
				mov	w1, 1
				str	w1, [x0]
				adrp	x0, :got:_imp_infile
				ldr	x0, [x0, #:got_lo12:_imp_infile]
				ldr	x1, [x0, 296]
				adrp	x0, :got:_imp_InFile
				ldr	x0, [x0, #:got_lo12:_imp_InFile]
				str	x1, [x0]
				adrp	x0, .LANCHOR3
				add	x0, x0, :lo12:.LANCHOR3
				add	x0, x0, 1720
				bl	check_instream
		.LVL554:
		.LBE541:
		.LBE540:
 2477       select input(source)
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 184]
 2478       list = list-1
				str	wzr, [x0, 640]
				ldr	w0, [x19, 2840]
				sub	w0, w0, #1
				str	w0, [x19, 2840]
 2479       tbase = tmax;  tstart = tmax
				ldr	x1, [x29, 152]
				ldr	w0, [x1, 64]
				str	w0, [x1, 68]
 2480       %RETURN
				str	w0, [x1, 72]
				b	.L431
		.LVL555:
		.L576:
 2481 c(76):%IF include # 0 %AND x = 0 %START;            !end of ...
 2482          lines = include;  sstype =  0;             !include
				adrp	x0, .LANCHOR0+308
				ldr	w0, [x0, #:lo12:.LANCHOR0+308]
				cbz	w0, .L577
				adrp	x19, .LANCHOR0
		.LVL559:
				add	x19, x19, :lo12:.LANCHOR0
				str	w0, [x19, 184]
 2483          close input
				adrp	x1, .LANCHOR0+208
				ldr	w1, [x1, #:lo12:.LANCHOR0+208]
				cbz	w1, .L770
		.L577:
				str	wzr, [x19, 620]
				bl	CLOSEINPUT
		.LVL560:
 2484          list = include list
				ldr	w1, [x19, 652]
				adrp	x0, .LANCHOR2+2840
				str	w1, [x0, #:lo12:.LANCHOR2+2840]
 2485          include level = 0
				str	wzr, [x19, 284]
 2486          include = 0;  select input(source);  %RETURN
				str	wzr, [x19, 308]
		.LVL561:
		.LBB545:
		.LBB546:
				adrp	x0, :got:_imp_InStream
				ldr	x0, [x0, #:got_lo12:_imp_InStream]
				mov	w1, 1
				str	w1, [x0]
				adrp	x0, :got:_imp_infile
				ldr	x0, [x0, #:got_lo12:_imp_infile]
				ldr	x1, [x0, 296]
				adrp	x0, :got:_imp_InFile
				ldr	x0, [x0, #:got_lo12:_imp_InFile]
				str	x1, [x0]
				adrp	x0, .LANCHOR3
				add	x0, x0, :lo12:.LANCHOR3
				add	x0, x0, 1720
				bl	check_instream
		.LVL562:
				b	.L431
		.LVL563:
		.L579:
		.LBE546:
		.LBE545:
		.LBB547:
		.LBB544:
 2487       %FINISH
 2488       ss = -1;                                      !prog/file
				adrp	x0, .LANCHOR0+624
				mov	w1, -1
				str	w1, [x0, #:lo12:.LANCHOR0+624]
		.L578:
 2489 c(75):compile end(x);  %RETURN;                     !%END
 2490
				adrp	x0, .LANCHOR0+208
				ldr	w19, [x0, #:lo12:.LANCHOR0+208]
		.LVL556:
		.LBB542:
		.LBB543:
 2491 c(85):%IF x=0 %THEN control=lit %ELSE %START;       !control
 2492          diag = lit&x'3FFF' %IF lit>>14&3 = 1
 2493       %FINISH
 2494       op('z'-x, lit)
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 208]
				ldr	x2, [x29, 152]
				ldr	x18, [x2, 8]
				ldr	w1, [x1, 4]
				mov	w2, 122
				sub	w0, w2, w0
				bl	OP.7946
		.LVL569:
				b	.L746
		.L593:
 2495       ->top
 2496 c(83):list = list+x-2;   ->top;                     !%LIST/%ENDOFLIST
 2497 c(84):reals ln = x;      ->top;                     !%REALS long/normal
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w0, [x1, 2840]
				ldr	x2, [x29, 144]
				ldr	w2, [x2, 208]
				add	w0, w0, w2
				sub	w0, w0, #2
				str	w0, [x1, 2840]
 2498 c(86):%IF include # 0 %START;                       !include "file"
				b	.L746
		.L594:
				ldr	x0, [x29, 144]
				ldr	w1, [x0, 208]
				adrp	x0, .LANCHOR2+2852
				str	w1, [x0, #:lo12:.LANCHOR2+2852]
 2499          fault(7);  %RETURN
				b	.L746
		.L595:
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 308]
				cbz	w0, .L596
				ldr	x18, [x29, 152]
				mov	w0, 7
				bl	FAULT.7982
		.LVL570:
				b	.L431
		.L596:
 2500       %FINISH
 2501       get next;                                     !sconst
				ldr	x18, [x29, 136]
				bl	GETNEXT.8878
		.LVL571:
 2502       include file = string(x-x'4000'+stbase)
 2503       %begin
 2504          %on 9 %start;  Abandon(9);  %finish
				ldr	x0, [x29, 152]
				ldr	x0, [x0, 8]
				mov	x2, 63
				add	x1, x29, 1264
				add	x0, x0, 102400
				add	x0, x0, 2054
				bl	_imp_strncpy
		.LVL572:
				mov	w1, 1
				adrp	x0, :got:_imp_event
				ldr	x0, [x0, #:got_lo12:_imp_event]
				add	x0, x0, 536
				bl	__sigsetjmp
		.LVL573:
				cbnz	w0, .L599
		.LVL574:
				mov	w1, 512
				adrp	x0, :got:_imp_event
				ldr	x0, [x0, #:got_lo12:_imp_event]
				bl	_imp_on_event_enter
		.LVL575:
				cbnz	x0, .L600
		.LVL576:
		.L599:
 2505          open input(3, include file)
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 9
				bl	ABANDON.7872
		.LVL577:
		.L600:
				add	x19, x29, 416
		.LVL578:
				mov	x2, 256
				add	x1, x29, 1520
				mov	x0, x19
				bl	memcpy
		.LVL579:
				mov	x1, x19
				mov	w0, 3
				bl	OPENINPUT
		.LVL580:
		.L601:
 2506       %end
 2507       include = lines;  lines = 0
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 184]
				str	w0, [x1, 308]
 2508       include list = list;  include level = level
				str	wzr, [x1, 184]
				adrp	x0, .LANCHOR2+2840
				ldr	w0, [x0, #:lo12:.LANCHOR2+2840]
				str	w0, [x1, 652]
 2509       select input(3)
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 60]
				str	w0, [x1, 284]
		.LVL581:
		.LBB548:
		.LBB549:
				adrp	x0, :got:_imp_InStream
				ldr	x0, [x0, #:got_lo12:_imp_InStream]
				mov	w1, 3
				str	w1, [x0]
				adrp	x0, :got:_imp_infile
				ldr	x0, [x0, #:got_lo12:_imp_infile]
				ldr	x1, [x0, 872]
				adrp	x0, :got:_imp_InFile
				ldr	x0, [x0, #:got_lo12:_imp_InFile]
				str	x1, [x0]
				adrp	x0, .LANCHOR3
				add	x0, x0, :lo12:.LANCHOR3
				add	x0, x0, 1720
				bl	check_instream
		.LVL582:
				b	.L746
		.LVL583:
		.L602:
		.LBE549:
		.LBE548:
 2510       ->top
 2511
 2512 c(154):dimension = dimension+1;                     !dbsep
 2513        fault(11) %IF dimension = dim limit+1
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 196]
				add	w0, w0, 1
				str	w0, [x1, 196]
				cmp	w0, 7
				bne	.L746
 2514        ->top
				ldr	x18, [x29, 152]
				mov	w0, 11
				bl	FAULT.7982
		.LVL584:
				b	.L746
		.L603:
 2515 c(145):set bp;                       ->top;         !crb
 2516 c(146):set bp;                                      !rcrb
				ldr	x18, [x29, 136]
				bl	SETBP.8910
		.LVL585:
				b	.L746
		.L604:
 2517 c(142):                                             !bplrb
				ldr	x18, [x29, 136]
				bl	SETBP.8910
		.LVL586:
		.L605:
 2518        dimension = 1 %IF dimension = 0
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 196]
				cbnz	w0, .L606
 2519        op('d', dimension);  op(',', defs)
				mov	w0, 1
				str	w0, [x1, 196]
		.L606:
				ldr	x19, [x29, 152]
		.LVL587:
				ldr	x18, [x19, 8]
				ldr	x0, [x29, 144]
				ldr	w1, [x0, 196]
				mov	w0, 100
				bl	OP.7946
		.LVL588:
 2520        %IF class # 146 %START
				ldr	x18, [x19, 8]
				ldr	w1, [x29, 692]
				mov	w0, 44
				bl	OP.7946
		.LVL589:
				ldr	w0, [x29, 700]
				cmp	w0, 146
				bne	.L773
		.L607:
		.L609:
 2521           set subs(defs)
				ldr	x18, [x29, 136]
				ldr	w0, [x29, 692]
				bl	SETSUBS.8903
		.LVL590:
 2522           fault(13) %IF dict(dmin) >= 0 %OR inhibit # 0 %OR level=0
				ldr	x1, [x19, 8]
				ldr	w0, [x19, 52]
				sub	w0, w0, #1
				add	x0, x1, x0, sxtw 1
				add	x0, x0, 24576
				add	x0, x0, 2256
				ldrsh	w0, [x0, 4]
				tbz	w0, #31, .L608
 2523        %FINISH
				ldr	w0, [x19, 20]
				cbnz	w0, .L608
 2524        dimension = 0;  defs = 0
				ldr	x0, [x29, 144]
				str	wzr, [x0, 196]
				ldr	w0, [x19, 60]
				cbnz	w0, .L609
		.L608:
 2525        ->top
				str	wzr, [x29, 692]
				b	.L746
		.L773:
 2526 c(128):id = dupid;  ->top;                          !EDUP
				ldr	x18, [x29, 152]
				mov	w0, 13
				bl	FAULT.7982
		.LVL591:
				b	.L609
		.LVL592:
		.L610:
 2527 c(130):block x = x
				ldr	x0, [x29, 152]
				ldr	w1, [x29, 92]
				str	w1, [x0, 56]
 2528        op('F', 0) %IF decl&spec = 0 %AND level # 0; !jump round proc
				b	.L746
		.L611:
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 208]
				str	w0, [x1, 648]
				ldr	w0, [x1, 264]
				tbnz	x0, 0, .L614
 2529 c(125):dupid = id;                                  !%DUP
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 60]
				cbnz	w0, .L774
 2530        %return %if Level < 0                        {spec about}
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 56]
				str	w0, [x29, 92]
		.LVL593:
				b	.L616
		.LVL594:
		.L774:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w1, 0
				mov	w0, 70
				bl	OP.7946
		.LVL595:
		.L612:
		.L614:
				ldr	x0, [x29, 152]
				ldr	w1, [x0, 56]
				str	w1, [x29, 92]
		.LVL596:
				ldr	w0, [x0, 60]
				tbnz	w0, #31, .L431
		.L615:
		.LVL597:
		.L616:
 2531 c(90): def(x);  ->top;                              !ident
 2532 c(131):                                             !cident
				ldr	x18, [x29, 136]
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 208]
				bl	DEF.8928
		.LVL598:
				b	.L746
		.LVL599:
		.L617:
 2533        %IF tag(x)_flags&(b'1111111'+const bit) = iform+const bit %START
				ldr	x2, [x29, 144]
				ldr	w19, [x2, 208]
		.LVL600:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				add	x0, x18, x19, sxtw 4
				ldrh	w1, [x0, 220]
				tbnz	x1, 0, .L618
 2534           tag(x)_format = lit
				ldr	w1, [x2, 4]
				str	w1, [x0, 216]
 2535        %FINISH %ELSE %START
				b	.L746
		.L618:
 2536           set const(lit) %IF pending # 0
				ldr	w0, [x29, 696]
				cbz	w0, .L619
 2537           def(x)
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 4]
				bl	SETCONST.7949
		.LVL601:
		.L619:
				ldr	x18, [x29, 136]
				mov	w0, w19
				bl	DEF.8928
		.LVL602:
 2538          op('A', 1)
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w1, 1
				mov	w0, 65
				bl	OP.7946
		.LVL603:
				b	.L746
		.LVL604:
		.L620:
 2539        %FINISH
 2540        cident = x
 2541        ->top
 2542 c(124):dubious = 1 %IF tag(cident)_flags&prot # 0; !%DUBIOUS
 2543        ->top
				b	.L746
		.L621:
		.L624:
		.LBB550:
		.LBB551:
 2544 c(97):                                              !f
				mov	w0, 1
				ldr	x1, [x29, 144]
				str	w0, [x1, 636]
		.LDL29:
 2545 c(98):                                              !m
 2546 c(99):                                              !p
 2547 c(96): call;  ->top;                                !r
 2548
 2549 c(165):                                             !nlab
 2550 c(100):                                             !rp
 2551 c(101):                                             !fp
 2552 c(102):                                             !mp
 2553 c(103):                                             !pp
 2554 c(91):                                              !v
 2555 c(92):                                              !n
 2556 c(106):                                             !a
 2557 c(107):                                             !an
 2558 c(108):                                             !na
 2559 c(109):                                             !nan
 2560       k = tag(x)_index
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				ldr	x0, [x29, 144]
				ldrsw	x0, [x0, 208]
				add	x0, x18, x0, lsl 4
				ldrsh	w1, [x0, 222]
		.LVL610:
 2561       %IF k < 0 %THEN op('n', -k) %ELSE op('@', k)
				tbnz	w1, #31, .L775
		.L636:
 2562       ->top
				neg	w1, w1
		.LVL613:
				mov	w0, 110
				bl	OP.7946
		.LVL614:
				b	.L746
		.L637:
 2563 c(121):set const(0);  ->top;                        !special for zero
 2564 c(167):bp=bp+1;  buff(bp)='G';  ->pstr;             !aconst (alias)
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 0
				bl	SETCONST.7949
		.LVL615:
				b	.L746
		.L638:
 2565 c(const):                                           !const
				mov	w0, 64
				bl	OP.7946
		.LVL611:
				b	.L746
		.L631:
				b	.L635
		.L632:
				b	.L635
		.L633:
				b	.L635
		.L634:
				b	.L635
		.LVL612:
		.L775:
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
 2566        %IF x < 0 %START;                            !constinteger
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 71
				strb	w1, [x0, 2310]
		.L639:
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 208]
				tbnz	w0, #31, .L776
		.L641:
 2567           set const(tag(-x)_format);  ->top
				ldr	x1, [x29, 152]
				ldr	x18, [x1, 8]
				neg	w0, w0
				add	x0, x18, x0, sxtw 4
				ldr	w0, [x0, 216]
				bl	SETCONST.7949
		.LVL619:
				b	.L746
		.L643:
 2568        %FINISH
 2569        %IF x&x'4000' # 0 %START;                    !strings
 2570           bp=bp+1 %AND buff(bp)=''''
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
 2571 pstr:     x = x-x'4000'+stbase
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 39
				strb	w1, [x0, 2310]
				b	.L639
		.L776:
 2572           k = byteinteger(x)
				ldr	x2, [x29, 144]
				ldr	w0, [x2, 208]
				sub	w0, w0, #16384
				ldr	w1, [x2, 336]
				add	w0, w0, w1
				str	w0, [x2, 208]
				sxtw	x1, w0
				ldrb	w4, [x1]
		.LVL616:
 2573           bp=bp+1 %AND buff(bp)=k
				ldr	w1, [x2]
				add	w5, w1, 1
				str	w5, [x2]
 2574           k = k+x
				ldr	x2, [x29, 152]
				ldr	x2, [x2, 8]
				add	x1, x2, x1, sxtw
				add	x1, x1, 102400
				strb	w4, [x1, 2310]
				add	w4, w0, w4
		.LVL617:
 2575           %CYCLE
 2576              ->top %IF x = k
				cmp	w0, w4
				beq	.L746
				mov	w1, w0
				sub	w5, w5, w0
		.L642:
				add	w0, w1, w5
				cmp	w1, w4
				bne	.L642
				ldr	x0, [x29, 144]
				str	w1, [x0, 208]
				add	w1, w1, w5
				str	w1, [x0]
				b	.L746
		.LVL618:
		.L640:
 2577              x = x+1;  bp=bp+1 %AND buff(bp)=byteinteger(x)
				add	w1, w1, 1
 2578           %REPEAT
 2579        %FINISH
				sxtw	x2, w1
				ldrb	w2, [x2]
				ldr	x3, [x29, 152]
				ldr	x3, [x3, 8]
				add	x0, x3, x0, sxtw
				add	x0, x0, 102400
				strb	w2, [x0, 2310]
		.LDL31:
 2580        %IF x&x'2000' # 0 %START;                    !real
 2581           x = x-x'2000'+stbase
 2582           k = byteinteger(x)
 2583           op('D', k);  bp=bp+1 %AND buff(bp)=','
 2584           k = k+x
 2585           %CYCLE
 2586              ->top %IF x = k
 2587              x = x+1;  j = byteinteger(x)
 2588              %IF j = '@' %START
 2589                 op('@', litpool(byteinteger(x+1)));  ->top
 2590              %FINISH
 2591              bp=bp+1 %AND buff(bp)=j
 2592           %REPEAT
 2593        %FINISH
 2594        set const(lit pool(x))
 2595        ->top
 2596
 2597 c(137):bp=bp+1 %AND buff(bp)='i';               ->top;         !asep
 2598 c(141):bp=bp+1 %AND buff(bp)='a';               ->top;         !arb
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
 2599
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 105
				strb	w1, [x0, 2310]
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
 2600 !own arrays
				b	.L746
		.L644:
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 97
				strb	w1, [x0, 2310]
 2601
				b	.L746
		.L645:
 2602 c(132):ocount = ub-lb+1
 2603        def(x);                               !oident
				ldr	x19, [x29, 144]
		.LVL620:
				ldr	w0, [x19, 616]
				ldr	w1, [x19, 612]
				sub	w0, w0, w1
				add	w0, w0, 1
				adrp	x1, .LANCHOR2+2552
				str	w0, [x1, #:lo12:.LANCHOR2+2552]
				ldr	x20, [x29, 136]
				mov	x18, x20
				ldr	w0, [x19, 208]
				bl	DEF.8928
		.LVL621:
 2604        dimension = 1;  set subs(1)
				mov	w0, 1
				str	w0, [x19, 196]
 2605        %IF next = 0 %START;                  !no initialisation
				mov	x18, x20
				bl	SETSUBS.8903
		.LVL622:
				ldr	w0, [x29, 708]
				cbnz	w0, .L646
 2606           op('A', ocount) %IF ocount > 0
				adrp	x0, .LANCHOR2+2552
				ldr	w1, [x0, #:lo12:.LANCHOR2+2552]
				cmp	w1, 0
				bgt	.L777
		.L647:
 2607           ocount = -1
				adrp	x0, .LANCHOR2+2552
				mov	w1, -1
				str	w1, [x0, #:lo12:.LANCHOR2+2552]
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 65
				bl	OP.7946
		.LVL623:
				b	.L647
		.L646:
 2608        %FINISH %ELSE %START;                 !initialisation given
				b	.L746
		.L777:
 2609           get next
				ldr	x18, [x29, 136]
				bl	GETNEXT.8878
		.LVL624:
				b	.L746
		.LVL625:
		.L648:
 2610        %FINISH
 2611        ->top
 2612 c(162):lit = ocount;  ->ins;                 !indef
 2613 c(143):pop lit;                              !orb
				adrp	x0, .LANCHOR2+2552
				ldr	w0, [x0, #:lo12:.LANCHOR2+2552]
				ldr	x1, [x29, 144]
				str	w0, [x1, 4]
		.L649:
 2614 ins:   fault(10) %AND lit = 0 %IF lit < 0
				ldr	x18, [x29, 136]
				bl	POPLIT.8975
		.LVL632:
				b	.L649
		.L778:
 2615        get next
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 4]
				tbnz	w0, #31, .L778
		.L651:
				ldr	x18, [x29, 136]
				bl	GETNEXT.8878
		.LVL626:
		.L652:
 2616        ->inst
				ldr	x18, [x29, 152]
				mov	w0, 10
				bl	FAULT.7982
		.LVL633:
 2617 c(139):                                      !osep (x=19)
				ldr	x0, [x29, 144]
				str	wzr, [x0, 4]
				b	.L651
		.L653:
		.L654:
 2618 c(153):lit = 1
 2619 inst:  pop def %IF pending # 0;              !ownt (x=0)
				mov	w0, 1
				ldr	x1, [x29, 144]
				str	w0, [x1, 4]
				b	.L652
		.LVL634:
		.L779:
 2620        op('A', lit)
				ldr	w0, [x29, 696]
				cbz	w0, .L655
		.LBB552:
		.LBB553:
				ldr	x20, [x29, 144]
				ldr	w19, [x20, 4]
		.LVL628:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w1, w19
				mov	w0, 65
				bl	OP.7946
		.LVL629:
 2621        ocount = ocount-lit
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w0, [x1, 2552]
				sub	w0, w0, w19
				str	w0, [x1, 2552]
 2622        %IF ocount >= 0 %START
				tbnz	w0, #31, .L658
 2623           ->top %IF x # 0;                          !more coming
				ldr	w1, [x20, 208]
				cbnz	w1, .L746
		.L657:
 2624           ocount = -1 %AND %RETURN %IF ocount = 0;  !all done
				cbz	w0, .L779
		.L656:
		.L658:
 2625        %FINISH
				adrp	x0, .LANCHOR2+2552
				mov	w1, -1
				str	w1, [x0, #:lo12:.LANCHOR2+2552]
 2626        fault(11);  %RETURN
				ldr	x18, [x29, 152]
				mov	w0, 11
				bl	FAULT.7982
		.LVL630:
				b	.L431
		.LVL631:
		.L650:
				b	.L431
		.LVL635:
		.L659:
 2627
 2628 c(swit):op('W', tag(x)_index);  inhibit = 1;  ->atop
 2629 c(134):def(x);                               !swid
				ldr	x19, [x29, 152]
		.LVL636:
				ldr	x18, [x19, 8]
				ldr	x0, [x29, 144]
				ldrsw	x0, [x0, 208]
				add	x0, x18, x0, lsl 4
				ldrsh	w1, [x0, 222]
				mov	w0, 87
				bl	OP.7946
		.LVL637:
 2630        n = ub-lb+1
				mov	w0, 1
				str	w0, [x19, 20]
				ldr	x18, [x29, 136]
				ldr	x19, [x29, 144]
		.LVL639:
				ldr	w0, [x19, 208]
				bl	DEF.8928
		.LVL640:
				ldr	w2, [x19, 616]
				ldr	w0, [x19, 612]
				sub	w2, w2, w0
 2631        n = (n+15)>>4;                        !slots needed (includes zero)
				b	.L469
		.LVL638:
		.L660:
				add	w2, w2, 16
				lsr	w20, w2, 4
		.LVL641:
 2632        j = dmax;  dmax = dmax+n+2
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w19, [x1, 2556]
		.LVL642:
 2633        abandon(1) %IF dmax >= dmin
				add	w0, w20, w19
				add	w0, w0, 2
				str	w0, [x1, 2556]
				ldr	x1, [x29, 152]
				ldr	w1, [x1, 52]
				cmp	w0, w1
				bge	.L780
		.L661:
 2634        tag(x)_format = j
				ldr	x3, [x29, 152]
				ldr	x1, [x3, 8]
				ldr	x4, [x29, 144]
				ldrsw	x0, [x4, 208]
				add	x0, x1, x0, lsl 4
				str	w19, [x0, 216]
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 1
				bl	ABANDON.7872
		.LVL647:
				b	.L661
		.LVL648:
		.L663:
 2635        dict(j) = lb;  dict(j+1) = ub
				ldr	x2, [x3, 8]
				sub	w0, w19, #1
				mov	x1, 13416
				add	x0, x1, x0, sxtw
				add	x0, x2, x0, lsl 1
				ldr	w2, [x4, 612]
				strh	w2, [x0, 4]
 2636        %CYCLE
				ldr	x2, [x3, 8]
				add	x0, x1, x19, sxtw
				add	x0, x2, x0, lsl 1
				ldr	w1, [x4, 616]
				strh	w1, [x0, 4]
		.LVL643:
 2637           n = n-1
 2638           ->top %IF n < 0
				cmp	w20, #1
				bmi	.L746
				add	w2, w19, w20
				cmp	w19, w2
				bne	.L662
				b	.L746
		.LVL646:
		.L780:
 2639           j = j+1;  dict(j+1) = 0
				add	w19, w19, 1
		.LVL645:
 2640        %REPEAT
				mov	x3, 13416
		.LVL644:
		.L662:
				ldr	x0, [x29, 152]
				ldr	x1, [x0, 8]
				add	x0, x3, x19, sxtw
				add	x0, x1, x0, lsl 1
				strh	wzr, [x0, 4]
		.LDL32:
 2641 c(151):stats = stats-1;                      !slab
 2642        fault(7) %AND %RETURN %IF x < tbase
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 640]
				sub	w1, w1, #1
				str	w1, [x0, 640]
				ldr	w0, [x0, 208]
				ldr	x1, [x29, 152]
				ldr	w1, [x1, 68]
				cmp	w0, w1
				blt	.L781
		.L664:
 2643        %IF pending # 0 %START;               !explicit label
				ldr	w1, [x29, 696]
				cbnz	w1, .L782
		.L665:
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x1, x1, x0, sxtw 4
				ldr	x18, [x29, 152]
				mov	w0, 7
				bl	FAULT.7982
		.LVL659:
				b	.L431
		.L782:
 2644           def s lab(pstack(1))
				add	x18, x29, 672
				adrp	x0, .LANCHOR0+8
				ldr	w0, [x0, #:lo12:.LANCHOR0+8]
				bl	DEFSLAB.8952
		.LVL660:
		.L666:
		.L674:
 2645        %FINISH %ELSE %START
 2646           fault(4) %AND %RETURN %IF tag(x)_app # 0
				ldr	w2, [x1, 212]
				cbnz	w2, .L783
		.L667:
 2647           tag(x)_app = 1
				mov	w2, 1
				str	w2, [x1, 212]
				ldr	x18, [x29, 152]
				mov	w0, 4
				bl	FAULT.7982
		.LVL662:
				b	.L431
		.LVL663:
		.L784:
		.LBB557:
 2648           n = tag(x)_format
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
		.LVL649:
				add	x0, x1, x0, sxtw 4
		.LVL650:
				ldrsw	x0, [x0, 216]
				add	x0, x1, x0, lsl 1
		.LBB554:
 2649           %FOR j = dict(n), 1, dict(n+1) %CYCLE
 2650              def s lab(j)
				add	x0, x0, 24576
				ldrsh	w20, [x0, 2258]
		.LVL651:
				ldrsh	w19, [x0, 2260]
		.LVL652:
		.LBB555:
				add	x22, x29, 672
				mov	x18, x22
				add	w0, w23, w19
		.LVL678:
				bl	DEFSLAB.8952
		.LVL679:
 2651              flush buffer %IF bp >= 128
				sub	w0, w19, w20
		.LVL653:
		.LBE555:
				tbnz	w0, #31, .L784
		.LVL654:
		.L668:
				adrp	x21, .LANCHOR0
				b	.L672
		.LVL658:
		.L781:
		.LBE554:
				adrp	x0, :got:_imp_current_file
		.LVL664:
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L669
				add	x8, x29, 3568
				bl	_imp_c2istr
		.LVL665:
		.L670:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w22, [x0]
				cmp	w22, 0
				mov	w0, 2651
				csel	w22, w22, w0, ne
				add	x24, x29, 3824
				mov	x8, x24
				adrp	x0, .LC79
				add	x0, x0, :lo12:.LC79
				bl	_imp_c2istr
		.LVL666:
				add	x21, x29, 416
				mov	x25, 256
				mov	x2, x25
				add	x1, x29, 3568
				mov	x0, x21
				bl	memcpy
		.LVL667:
				add	x23, x29, 160
				mov	x2, x25
				mov	x1, x24
				mov	x0, x23
				bl	memcpy
		.LVL668:
				mov	w5, 0
				mov	w4, 1
				mov	w3, 5
				mov	x2, x23
				mov	w1, w22
				mov	x0, x21
				bl	_signal_event
		.LVL669:
				b	.L668
		.LVL670:
		.L669:
		.LBB556:
				add	x22, x29, 3056
				mov	x23, 256
				mov	x2, x23
				adrp	x1, .LANCHOR3
		.LVL671:
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x22
				bl	memcpy
		.LVL672:
				add	x21, x29, 1776
				mov	x2, x23
				mov	x1, x22
				mov	x0, x21
				bl	memcpy
		.LVL673:
		.LBE556:
				mov	x2, x23
				mov	x1, x21
				add	x0, x29, 3568
				bl	memcpy
		.LVL674:
				b	.L670
		.LVL675:
		.L673:
				add	x19, x19, 1
		.LVL676:
				ldr	w0, [x21, #:lo12:.LANCHOR0]
				cmp	w0, 127
				ble	.L673
 2652           %REPEAT
				sub	w0, w20, #1
		.LVL655:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				bl	FLUSHBUFFER.7840
		.LVL680:
				b	.L673
		.LVL681:
		.L675:
		.LBE557:
 2653        %FINISH
 2654        inhibit = 1
				cmp	w19, w0
				beq	.L674
				mov	w23, w20
				sub	w19, w19, w20
		.LVL656:
				add	x20, x19, 1
		.LVL657:
				mov	x19, 0
				mov	w0, 1
				ldr	x1, [x29, 152]
				str	w0, [x1, 20]
				cmp	x19, x20
				beq	.L674
		.L672:
		.LVL677:
 2655        %RETURN
				b	.L431
		.LVL661:
		.L783:
 2656
 2657 c(140):bp=bp+1 %AND buff(bp)='p';                  ->top;          !psep
 2658 c(144):buff(bp+1)='p';  buff(bp+2)='E';  bp=bp+2;  ->top;          !prb
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
 2659
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 112
				strb	w1, [x0, 2310]
				ldr	x3, [x29, 144]
				ldr	w0, [x3]
				ldr	x4, [x29, 152]
				ldr	x1, [x4, 8]
				add	x1, x1, x0, sxtw
				add	x1, x1, 102400
				mov	w2, 112
				strb	w2, [x1, 2310]
 2660 !constant expressions
				b	.L746
		.L676:
				ldr	x2, [x4, 8]
				add	w1, w0, 1
				add	x1, x2, x1, sxtw
				add	x1, x1, 102400
				mov	w2, 69
				strb	w2, [x1, 2310]
 2661
				add	w0, w0, 2
				str	w0, [x3]
 2662 c(155):                                      !pconst
				b	.L746
		.L677:
 2663        %IF x < 0 %THEN lit = tag(-x)_format %c
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 208]
				tbnz	w0, #31, .L785
		.L678:
 2664                  %ELSE lit = lit pool(x)
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				neg	w0, w0
				add	x0, x1, x0, sxtw 4
				ldr	w0, [x0, 216]
				ldr	x1, [x29, 144]
				str	w0, [x1, 4]
 2665        pending = pending+1;     pstack(pending) = lit;  ->top
				ldr	w0, [x29, 696]
				add	w1, w0, 1
				str	w1, [x29, 696]
				b	.L679
		.L680:
 2666 c(156):lit = pstack(pending);  lit = -lit %IF lit < 0
				ldr	x1, [x29, 144]
				ldr	w1, [x1, 4]
				ldr	x2, [x29, 120]
				str	w1, [x2, w0, sxtw 2]
 2667                                 pstack(pending) = lit;  ->top;  !cmod
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				ldr	w0, [x1, w0, sxtw 2]
				ldr	x1, [x29, 144]
				str	w0, [x1, 4]
		.L679:
				b	.L746
		.L785:
				ldr	w0, [x29, 696]
				sub	w0, w0, #1
				ldr	x5, [x29, 120]
				ldr	w1, [x5, w0, sxtw 2]
				ldr	x4, [x29, 144]
				str	w1, [x5, w0, sxtw 2]
 2668 c(157):lit = -pstack(pending);  pstack(pending) = lit;  ->top;  !csign
				b	.L746
		.L682:
 2669 c(158):lit = \pstack(pending);  pstack(pending) = lit;  ->top;  !cuop
				neg	w2, w1
				cmp	w1, 0
				csel	w1, w2, w1, lt
				str	w1, [x4, 4]
		.L681:
				ldr	w0, [x29, 696]
				sub	w0, w0, #1
				sxtw	x0, w0
				ldr	x2, [x29, 120]
				ldr	w1, [x2, x0, lsl 2]
				neg	w1, w1
				ldr	x3, [x29, 144]
				str	w1, [x3, 4]
 2670 c(159):                                      !cop1
				str	w1, [x2, x0, lsl 2]
				ldr	w0, [x29, 696]
				sub	w0, w0, #1
				sxtw	x0, w0
				ldr	x2, [x29, 120]
				ldr	w1, [x2, x0, lsl 2]
				mvn	w1, w1
				ldr	x3, [x29, 144]
				str	w1, [x3, 4]
 2671 c(160):                                      !cop2
				b	.L746
		.L683:
				str	w1, [x2, x0, lsl 2]
 2672 c(161):pending = pending-1;                  !cop3
				b	.L746
		.L684:
		.L686:
 2673        lit2 = pstack(pending+1);  lit = pstack(pending)
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	x0, [x29, 144]
				add	x0, x0, 8
				str	x0, [x29, 120]
		.LVL459:
		.L746:
				ldr	w0, [x29, 696]
				sub	w1, w0, #1
				str	w1, [x29, 696]
				ldr	x2, [x29, 120]
				ldr	w1, [x2, w1, sxtw 2]
				str	w1, [x29, 112]
		.LVL682:
 2674        ->litop(x>>2)
				sub	w0, w0, #2
				ldr	w0, [x2, w0, sxtw 2]
				ldr	x1, [x29, 144]
		.LVL683:
				str	w0, [x1, 4]
		.LVL684:
				ldr	w0, [x1, 208]
				lsr	w0, w0, 2
				str	w0, [x29, 108]
		.LVL685:
				adrp	x0, .LC73
		.LVL686:
				add	x0, x0, :lo12:.LC73
				str	x0, [x29, 96]
				mov	w0, 2674
				str	w0, [x29, 104]
		.LVL687:
		.L687:
 2675 litop(10):lit = lit*lit2;   ->setl
 2676 litop(12):
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 4]
				ldr	w2, [x29, 112]
				mul	w0, w0, w2
				str	w0, [x1, 4]
 2677 litop(3):n = 1;                              !lit = lit\\lit2
				b	.L705
		.L690:
		.L691:
		.LVL693:
 2678          fault(10) %IF lit2 < 0
				ldr	w0, [x29, 112]
				tbnz	w0, #31, .L786
		.L692:
 2679          %WHILE lit2 > 0 %CYCLE
				ldr	x18, [x29, 152]
				mov	w0, 10
				bl	FAULT.7982
		.LVL700:
				b	.L692
		.L734:
 2680             lit2 = lit2-1
				ldr	w0, [x29, 112]
				cmp	w0, 0
				ble	.L734
				ldr	w2, [x29, 112]
				subs	w2, w2, #1
				str	w2, [x29, 112]
		.LVL696:
				bne	.L694
		.LVL697:
		.L693:
				mov	w0, 1
				b	.L693
		.LVL701:
		.L695:
 2681             n = n*lit
				ldr	x0, [x29, 144]
				ldr	w1, [x0, 4]
				mov	w0, 1
		.LVL694:
		.L694:
				mul	w0, w0, w1
		.LVL695:
 2682          %REPEAT
 2683          lit = n;           ->setl
				ldr	x1, [x29, 144]
				str	w0, [x1, 4]
		.L689:
		.L705:
		.LVL698:
 2684 litop(1):lit = lit<<lit2;   ->setl
 2685 litop(2):lit = lit>>lit2;   ->setl
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 4]
				ldrb	w2, [x29, 112]
				lsl	w0, w0, w2
				str	w0, [x1, 4]
 2686 litop(5):lit = lit&lit2;    ->setl
				b	.L705
		.L696:
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 4]
				ldrb	w2, [x29, 112]
				lsr	w0, w0, w2
				str	w0, [x1, 4]
 2687 litop(11):
				b	.L705
		.L697:
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 4]
				ldr	w2, [x29, 112]
				and	w0, w0, w2
				str	w0, [x1, 4]
 2688 litop(4):%IF lit2 = 0 %THEN fault(10) %ELSE lit = lit//lit2
				b	.L705
		.L698:
		.L699:
 2689                             ->setl
				ldr	w0, [x29, 112]
				cbz	w0, .L787
		.L700:
 2690 litop(8):lit = lit+lit2;    ->setl
				ldr	x18, [x29, 152]
				mov	w0, 10
				bl	FAULT.7982
		.LVL702:
				b	.L705
		.L701:
 2691 litop(9):lit = lit-lit2;    ->setl
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 4]
				ldr	w2, [x29, 112]
				add	w0, w0, w2
				str	w0, [x1, 4]
 2692 litop(6):lit = lit!lit2;    ->setl
				b	.L705
		.L702:
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 4]
				ldr	w2, [x29, 112]
				sub	w0, w0, w2
				str	w0, [x1, 4]
 2693 litop(7):lit = lit!!lit2
				ldr	x2, [x29, 144]
				ldrsw	x0, [x2, 4]
				ldrsw	x1, [x29, 112]
				sdiv	x0, x0, x1
				str	w0, [x2, 4]
				b	.L705
		.L787:
				b	.L705
		.L703:
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 4]
				ldr	w2, [x29, 112]
				orr	w0, w0, w2
				str	w0, [x1, 4]
 2694
				b	.L705
		.L704:
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 4]
				ldr	w2, [x29, 112]
				eor	w0, w0, w2
				str	w0, [x1, 4]
				b	.L705
		.L706:
 2695 setl: pstack(pending) = lit;  ->top
 2696
				ldr	w0, [x29, 696]
				sub	w0, w0, #1
				ldr	x1, [x29, 144]
				ldr	w1, [x1, 4]
				ldr	x2, [x29, 120]
				str	w1, [x2, w0, sxtw 2]
 2697 c(170):Fault(4) %if IMPCOM_Option # ""
				b	.L746
		.LVL699:
		.L786:
 2698        IMPCOM_Option = String(x-x'4000'+Stbase);      !Option string
 2699        ->Top
 2700
				add	x1, x29, 2032
				adrp	x0, :got:IMPCOM
				ldr	x0, [x0, #:got_lo12:IMPCOM]
				add	x0, x0, 280
				bl	_imp_strcmp
		.LVL703:
				cbz	w0, .L707
				mov	x2, 255
				add	x1, x29, 2288
				adrp	x0, :got:IMPCOM
				ldr	x0, [x0, #:got_lo12:IMPCOM]
				add	x0, x0, 280
				bl	_imp_strncpy
		.LVL705:
				b	.L746
		.L708:
		.LVL706:
 2701 !string resolution
 2702
 2703 c(135):resln = 2;                    ->top;           !dotl
				ldr	x18, [x29, 152]
				mov	w0, 4
				bl	FAULT.7982
		.LVL704:
		.L707:
 2704 c(136):resln = resln+1;              ->top;           !dotr
				mov	w0, 2
				str	w0, [x29, 116]
 2705 c(55): op('r', resln);    resln = 0; ->top;           !resop
				b	.L746
		.LVL707:
		.L709:
				ldr	w0, [x29, 116]
				add	w0, w0, 1
				str	w0, [x29, 116]
		.LVL708:
 2706 c(164):op('r', resln+4);  resln = 0;                  !cresop
				b	.L746
		.LVL709:
		.L710:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				ldr	w1, [x29, 116]
				mov	w0, 114
				bl	OP.7946
		.LVL710:
 2707 c(122):x = 6;                        ->cop;           !%PRED
				str	wzr, [x29, 116]
				b	.L746
		.L711:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				ldr	w0, [x29, 116]
				add	w1, w0, 4
				mov	w0, 114
				bl	OP.7946
		.LVL711:
 2708 c(87): set const(pstack(1));                          !mass
				str	wzr, [x29, 116]
		.L712:
		.LVL712:
				mov	w0, 6
				ldr	x1, [x29, 144]
				str	w0, [x1, 208]
		.L554:
		.LVL713:
		.L557:
 2709        bp=bp+1 %AND buff(bp)='P';    ->top
				ldr	x19, [x29, 152]
		.LVL720:
				ldr	x18, [x19, 8]
				ldr	x0, [x29, 120]
				ldr	w0, [x0]
				bl	SETCONST.7949
		.LVL721:
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
 2710    %END
				ldr	x1, [x19, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 102400
				mov	w1, 80
				strb	w1, [x0, 2310]
		.L445:
 2711
				b	.L746
		.LVL722:
		.L448:
 2712 %END;                                                 !of compile block
				cmp	w19, 180
				bhi	.L448
		.LVL472:
		.L449:
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L714
				add	x8, x29, 4080
				bl	_imp_c2istr
		.LVL723:
		.L715:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w21, [x0]
				cmp	w21, 0
				mov	w0, 2712
				csel	w21, w21, w0, ne
				add	x20, x29, 160
				mov	x2, 256
				add	x1, x29, 4080
				mov	x0, x20
				bl	memcpy
		.LVL724:
				mov	w0, 2225
				str	w0, [sp]
		.LVL725:
				adrp	x7, .LC73
				add	x7, x7, :lo12:.LC73
				mov	w6, w19
				adrp	x5, .LC80
				add	x5, x5, :lo12:.LC80
				mov	w4, w19
				mov	w3, 3
				mov	w2, 6
				mov	w1, w21
				mov	x0, x20
				bl	_signal_eventf
		.LVL726:
				b	.L449
		.LVL727:
		.L714:
		.LBB558:
				add	x21, x29, 3056
				mov	x22, 256
				mov	x2, x22
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x21
				bl	memcpy
		.LVL728:
				add	x20, x29, 2544
				mov	x2, x22
				mov	x1, x21
				mov	x0, x20
				bl	memcpy
		.LVL729:
		.LBE558:
				mov	x2, x22
				mov	x1, x20
				add	x0, x29, 4080
				bl	memcpy
		.LVL730:
				b	.L715
		.LVL731:
		.L718:
 2713
				adrp	x0, .LANCHOR4
				add	x0, x0, :lo12:.LANCHOR4
				add	x0, x0, 304
				ldr	x0, [x0, w19, sxtw 3]
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 2040]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L945
				ldp	x19, x20, [sp, 16]
				ldp	x21, x22, [sp, 32]
				ldr	x26, [sp, 72]
				ldp	x29, x30, [sp]
				add	sp, sp, 2048
				ret
		.L944:
				bl	__stack_chk_fail
		.LVL1004:
		.LFE191:
				.align	2
				.global	main
		main:
		.LFB185:
 2714    %ON 9 %START
				mov	w1, 1
				adrp	x0, :got:_imp_event
				ldr	x0, [x0, #:got_lo12:_imp_event]
				add	x0, x0, 536
				bl	__sigsetjmp
		.LVL1010:
				cbnz	w0, .L948
		.LVL1011:
				mov	w1, 512
				adrp	x0, :got:_imp_event
				ldr	x0, [x0, #:got_lo12:_imp_event]
				bl	_imp_on_event_enter
		.LVL1012:
				cbz	x0, .L948
		.LVL1013:
		.L949:
 2715       abandon(5)
				adrp	x20, :got:_imp_current_file
				ldr	x21, [x20, #:got_lo12:_imp_current_file]
		.L717:
		.LVL473:
				br	x0
		.LVL474:
		.L754:
				ldr	x0, [x21]
				cbz	x0, .L719
				add	x8, x29, 4096
				add	x8, x8, 240
				bl	_imp_c2istr
		.LVL732:
		.L720:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w23, [x0]
				cmp	w23, 0
				mov	w0, 2715
				csel	w23, w23, w0, ne
				add	x22, x29, 160
				mov	x2, 256
				add	x1, x29, 4096
				add	x1, x1, 240
				mov	x0, x22
				bl	memcpy
		.LVL733:
				mov	w0, 2225
				str	w0, [sp]
		.LVL734:
				adrp	x7, .LC73
				add	x7, x7, :lo12:.LC73
				mov	w6, w19
				adrp	x5, .LC81
				add	x5, x5, :lo12:.LC81
				mov	w4, w19
				mov	w3, 2
				mov	w2, 8
				mov	w1, w23
				mov	x0, x22
				bl	_signal_eventf
		.LVL735:
				b	.L687
		.LVL736:
		.L719:
		.LBB559:
				add	x23, x29, 3056
				mov	x24, 256
				mov	x2, x24
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x23
				bl	memcpy
		.LVL737:
				add	x22, x29, 2800
				mov	x2, x24
				mov	x1, x23
				mov	x0, x22
				bl	memcpy
		.LVL738:
		.LBE559:
				mov	x2, x24
				mov	x1, x22
				add	x0, x29, 4096
				add	x0, x0, 240
				bl	memcpy
		.LVL739:
				b	.L720
		.L723:
		.LBB560:
				add	x18, x29, 2120
				mov	w0, 5
				bl	ABANDON.7872
		.LVL1039:
				b	.L949
		.LFE185:
				.comm	IMPCOM,536,8
				.section	.rodata
				.align	3
				.set	.LANCHOR3,. + 0
				.set	.LANCHOR5,. + 4352
		.LC12:
				.byte	29
				.string	"test-new/pass1v84-noprims.imp"
				.zero	225
		__PRETTY_FUNCTION__.7293:
				.string	"_imp_SELECTOUTPUT"
				.zero	6
		.LC22:
				.byte	7
				.string	"lookup:"
				.zero	247
		.LC23:
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	10
				.byte	0
				.byte	3
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	33
				.byte	34
				.byte	35
				.byte	36
				.byte	1
				.byte	38
				.byte	39
				.byte	40
				.byte	41
				.byte	42
				.byte	43
				.byte	44
				.byte	45
				.byte	46
				.byte	47
				.byte	48
				.byte	49
				.byte	50
				.byte	51
				.byte	52
				.byte	53
				.byte	54
				.byte	55
				.byte	56
				.byte	57
				.byte	58
				.byte	59
				.byte	60
				.byte	61
				.byte	62
				.byte	63
				.byte	64
				.byte	65
				.byte	66
				.byte	67
				.byte	68
				.byte	69
				.byte	70
				.byte	71
				.byte	72
				.byte	73
				.byte	74
				.byte	75
				.byte	76
				.byte	77
				.byte	78
				.byte	79
				.byte	80
				.byte	81
				.byte	82
				.byte	83
				.byte	84
				.byte	85
				.byte	86
				.byte	87
				.byte	88
				.byte	89
				.byte	90
				.byte	91
				.byte	92
				.byte	93
				.byte	94
				.byte	95
				.byte	96
				.byte	65
				.byte	66
				.byte	67
				.byte	68
				.byte	69
				.byte	70
				.byte	71
				.byte	72
				.byte	73
				.byte	74
				.byte	75
				.byte	76
				.byte	77
				.byte	78
				.byte	79
				.byte	80
				.byte	81
				.byte	82
				.byte	83
				.byte	84
				.byte	85
				.byte	86
				.byte	87
				.byte	88
				.byte	89
				.byte	90
				.byte	2
				.byte	124
				.byte	125
				.byte	126
				.byte	0
		.LC24:
				.byte	2
				.string	" &"
				.zero	252
		.LC27:
				.byte	8
				.string	"      ! "
				.zero	246
		.LC28:
				.byte	5
				.string	"fault"
				.zero	249
		.LC10:
				.hword	1
				.hword	2
				.hword	4107
				.hword	4109
				.hword	5132
				.hword	5134
				.hword	3
				.hword	4
				.hword	4103
				.hword	4104
				.hword	4105
				.hword	4106
				.hword	6
				.hword	0
				.hword	0
				.hword	0
		.LC11:
				.byte	4
				.string	"ss ="
				.zero	250
		__PRETTY_FUNCTION__.7289:
				.string	"_imp_SELECTINPUT"
				.zero	7
		.LC25:
				.byte	2
				.string	" ["
				.zero	252
		.LC13:
				.byte	7
				.string	"Atom1 ="
				.zero	247
		.LC14:
				.byte	9
				.string	"  Atom2 ="
				.zero	245
		.LC15:
				.byte	11
				.string	"  subatom ="
				.zero	243
		.LC16:
				.byte	6
				.string	"Type ="
				.zero	248
		.LC17:
				.byte	10
				.string	"   Ptype ="
				.zero	244
		.LC18:
				.byte	5
				.string	"App ="
				.zero	249
		.LC19:
				.byte	9
				.string	"   Papp ="
				.zero	245
		.LC20:
				.byte	8
				.string	"Format ="
				.zero	246
		.LC21:
				.byte	12
				.string	"   Pformat ="
				.zero	242
		.LC6:
				.byte	5
				.string	"Begin"
				.zero	249
		.LC7:
				.byte	10
				.string	"Procedure "
				.zero	244
		.LC26:
				.word	89
				.word	1764
				.word	247
				.word	89
				.word	89
				.word	89
				.word	89
				.word	-100
				.word	-101
				.word	-102
				.word	-103
				.word	89
				.word	214
				.word	89
				.word	229
				.word	89
		.LC8:
				.byte	3
				.string	"End"
				.zero	251
		.LC0:
				.byte	90
				.byte	90
				.byte	90
				.byte	90
				.byte	90
				.byte	48
				.byte	48
				.byte	19
				.byte	19
				.byte	19
				.byte	19
				.byte	25
				.byte	25
				.byte	25
				.byte	25
				.byte	25
				.byte	25
				.byte	25
				.byte	23
				.byte	104
				.byte	104
				.byte	105
				.byte	30
				.byte	20
				.byte	21
				.byte	93
				.byte	47
				.byte	45
				.byte	46
				.byte	42
				.byte	43
				.byte	44
				.byte	40
				.byte	68
				.byte	55
				.byte	104
				.byte	60
				.byte	93
				.byte	25
				.byte	40
				.byte	93
				.byte	23
				.byte	25
				.byte	57
				.byte	25
				.byte	90
				.byte	-80
				.byte	-79
				.byte	-78
				.byte	-77
				.zero	6
		.LC1:
				.hword	24
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	23
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	20
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	-32551
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	13
				.hword	0
				.hword	14
				.hword	4
				.hword	-32557
				.hword	16
				.hword	-32550
				.hword	0
				.hword	0
				.hword	5
				.hword	6
				.hword	3
				.hword	12
				.hword	15
				.hword	8
				.hword	7
				.hword	9
				.hword	10
				.hword	11
				.hword	-32558
				.hword	-32554
				.hword	-32559
				.hword	-32552
				.hword	-32553
				.hword	18
				.hword	22
				.hword	17
				.hword	21
				.hword	19
				.hword	0
				.hword	0
				.hword	0
				.hword	-32562
				.hword	-32560
				.hword	0
				.hword	0
				.hword	0
				.hword	-32561
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	1
				.hword	2
				.hword	0
				.hword	-32556
				.hword	0
				.hword	-32555
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
		.LC2:
				.hword	0
				.hword	511
				.hword	131
				.hword	531
				.hword	131
				.hword	551
				.hword	559
				.hword	131
				.hword	567
				.hword	575
				.hword	583
				.hword	603
				.hword	623
				.hword	631
				.hword	663
				.hword	671
				.hword	129
				.hword	129
				.hword	129
				.hword	129
				.hword	129
				.hword	129
				.hword	129
				.hword	129
				.hword	129
				.hword	129
				.hword	691
				.hword	698
				.hword	707
				.hword	751
				.hword	795
				.hword	131
				.hword	131
				.hword	824
				.hword	900
				.hword	960
				.hword	1076
				.hword	1120
				.hword	1280
				.hword	128
				.hword	128
				.hword	1392
				.hword	128
				.hword	128
				.hword	1460
				.hword	1556
				.hword	1592
				.hword	1660
				.hword	1748
				.hword	128
				.hword	1828
				.hword	2044
				.hword	2240
				.hword	2272
				.hword	128
				.hword	2312
				.hword	128
				.hword	128
				.hword	128
				.hword	2331
				.hword	2339
				.hword	2371
				.hword	2379
				.hword	2399
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	131
				.hword	2407
				.hword	131
				.hword	2379
				.hword	-32351
				.hword	16428
				.hword	25
				.hword	16428
				.hword	29
				.hword	-32349
				.hword	16433
				.hword	1
				.hword	16434
				.hword	1
				.hword	-16127
				.hword	0
				.hword	16427
				.hword	21
				.hword	16407
				.hword	0
				.hword	16409
				.hword	0
				.hword	-32323
				.hword	-10840
				.hword	40
				.hword	16471
				.hword	0
				.hword	-32341
				.hword	-10580
				.hword	32
				.hword	16473
				.hword	117
				.hword	16384
				.hword	19
				.hword	-31955
				.hword	-32322
				.hword	-10580
				.hword	36
				.hword	-9290
				.hword	0
				.hword	16473
				.hword	113
				.hword	16432
				.hword	13
				.hword	-32337
				.hword	16427
				.hword	46
				.hword	16427
				.hword	17
				.hword	16405
				.hword	0
				.hword	16404
				.hword	0
				.hword	-31556
				.hword	-31939
				.hword	-32322
				.hword	-9551
				.hword	2
				.hword	16433
				.hword	1
				.hword	16433
				.hword	5
				.hword	16426
				.hword	5
				.hword	-31606
				.hword	-32323
				.hword	-9807
				.hword	0
				.hword	-32374
				.hword	-9678
				.hword	0
				.hword	16436
				.hword	0
				.hword	16435
				.hword	0
				.hword	-31939
				.hword	-32322
				.hword	16433
				.hword	4
				.hword	16426
				.hword	9
				.hword	16433
				.hword	3
				.hword	-30772
				.hword	-31666
				.hword	10578
				.hword	11457
				.hword	-32344
				.hword	16413
				.hword	2
				.hword	16411
				.hword	2
				.hword	68
				.hword	-32374
				.hword	16440
				.hword	0
				.hword	16440
				.hword	0
				.hword	8393
				.hword	83
				.hword	16408
				.hword	0
				.hword	-31291
				.hword	10841
				.hword	69
				.hword	-32311
				.hword	16412
				.hword	18
				.hword	10830
				.hword	9157
				.hword	10565
				.hword	16412
				.hword	18
				.hword	9415
				.hword	78
				.hword	16458
				.hword	0
				.hword	-32049
				.hword	8665
				.hword	8908
				.hword	16455
				.hword	0
				.hword	-30131
				.hword	78
				.hword	-31277
				.hword	84
				.hword	-32055
				.hword	10194
				.hword	76
				.hword	16469
				.hword	0
				.hword	10958
				.hword	69
				.hword	16447
				.hword	32
				.hword	84
				.hword	-32319
				.hword	16418
				.hword	2
				.hword	10830
				.hword	16418
				.hword	2
				.hword	8909
				.hword	10830
				.hword	16406
				.hword	0
				.hword	-31927
				.hword	10073
				.hword	9921
				.hword	8649
				.hword	16419
				.hword	5
				.hword	9153
				.hword	10190
				.hword	8915
				.hword	16469
				.hword	1
				.hword	-27956
				.hword	-31282
				.hword	88
				.hword	-31927
				.hword	8916
				.hword	10066
				.hword	9793
				.hword	16419
				.hword	3
				.hword	84
				.hword	16447
				.hword	4
				.hword	68
				.hword	-32305
				.hword	16459
				.hword	2
				.hword	70
				.hword	-30650
				.hword	-31284
				.hword	80
				.hword	-31931
				.hword	10194
				.hword	10567
				.hword	9921
				.hword	16460
				.hword	1
				.hword	9938
				.hword	16461
				.hword	0
				.hword	10697
				.hword	84
				.hword	16467
				.hword	3
				.hword	9801
				.hword	69
				.hword	16460
				.hword	0
				.hword	8915
				.hword	16452
				.hword	0
				.hword	-29631
				.hword	-30903
				.hword	-31282
				.hword	-31793
				.hword	10069
				.hword	10819
				.hword	10185
				.hword	78
				.hword	16416
				.hword	9
				.hword	82
				.hword	16445
				.hword	0
				.hword	16416
				.hword	9
				.hword	9422
				.hword	9299
				.hword	-32315
				.hword	16453
				.hword	0
				.hword	10700
				.hword	69
				.hword	16454
				.hword	0
				.hword	10700
				.hword	69
				.hword	16464
				.hword	1210
				.hword	-30778
				.hword	78
				.hword	-31549
				.hword	8916
				.hword	8903
				.hword	82
				.hword	-32344
				.hword	16412
				.hword	17
				.hword	16472
				.hword	17
				.hword	10956
				.hword	8900
				.hword	16470
				.hword	0
				.hword	16446
				.hword	44
				.hword	-30143
				.hword	-30647
				.hword	10063
				.hword	71
				.hword	-31671
				.hword	-32302
				.hword	16412
				.hword	20
				.hword	8389
				.hword	76
				.hword	16412
				.hword	36
				.hword	10830
				.hword	9157
				.hword	10565
				.hword	16412
				.hword	20
				.hword	10835
				.hword	16467
				.hword	1
				.hword	8898
				.hword	76
				.hword	16425
				.hword	6
				.hword	-31935
				.hword	10063
				.hword	10825
				.hword	10575
				.hword	16465
				.hword	109
				.hword	80
				.hword	16416
				.hword	10
				.hword	-32191
				.hword	10831
				.hword	16442
				.hword	0
				.hword	8909
				.hword	-32314
				.hword	16414
				.hword	1
				.hword	-31794
				.hword	10069
				.hword	10819
				.hword	10185
				.hword	78
				.hword	16416
				.hword	10
				.hword	16416
				.hword	10
				.hword	-30770
				.hword	-31408
				.hword	-32174
				.hword	10071
				.hword	16418
				.hword	1
				.hword	-32374
				.hword	16441
				.hword	2
				.hword	16441
				.hword	2
				.hword	9428
				.hword	10063
				.hword	16402
				.hword	0
				.hword	-32315
				.hword	16448
				.hword	0
				.hword	8918
				.hword	10830
				.hword	16448
				.hword	0
				.hword	-30523
				.hword	82
				.hword	-31419
				.hword	-31927
				.hword	9167
				.hword	8402
				.hword	77
				.hword	16457
				.hword	0
				.hword	77
				.hword	16419
				.hword	6
				.hword	9412
				.hword	8387
				.hword	8916
				.hword	16415
				.hword	123
				.hword	9938
				.hword	16419
				.hword	7
				.hword	-31931
				.hword	10959
				.hword	9428
				.hword	8910
				.hword	16415
				.hword	104
				.hword	-28351
				.hword	-30397
				.hword	-31024
				.hword	-32045
				.hword	10964
				.hword	10066
				.hword	16464
				.hword	1319
				.hword	9813
				.hword	7892
				.hword	-32323
				.hword	16462
				.hword	1384
				.hword	16463
				.hword	1241
				.hword	8389
				.hword	84
				.hword	16456
				.hword	0
				.hword	10575
				.hword	68
				.hword	-32314
				.hword	16421
				.hword	64
				.hword	10575
				.hword	8397
				.hword	84
				.hword	-32301
				.hword	16422
				.hword	9
				.hword	8912
				.hword	67
				.hword	16422
				.hword	12
				.hword	76
				.hword	-32301
				.hword	16412
				.hword	33
				.hword	-31924
				.hword	10190
				.hword	9938
				.hword	9793
				.hword	16468
				.hword	1
				.hword	10063
				.hword	71
				.hword	16468
				.hword	4
				.hword	-27704
				.hword	-28983
				.hword	-29488
				.hword	-31276
				.hword	-31913
				.hword	10713
				.hword	8916
				.hword	77
				.hword	16419
				.hword	4
				.hword	10825
				.hword	9283
				.hword	16417
				.hword	12
				.hword	-31423
				.hword	-31921
				.hword	9426
				.hword	9166
				.hword	40
				.hword	16420
				.hword	48
				.hword	80
				.hword	16466
				.hword	115
				.hword	10834
				.hword	16451
				.hword	0
				.hword	8645
				.hword	16423
				.hword	0
				.hword	10055
				.hword	9793
				.hword	-32315
				.hword	16449
				.hword	0
				.hword	8918
				.hword	10830
				.hword	16449
				.hword	0
				.hword	10575
				.hword	84
				.hword	-32311
				.hword	16412
				.hword	19
				.hword	10830
				.hword	9157
				.hword	10565
				.hword	16412
				.hword	19
				.hword	-32056
				.hword	10962
				.hword	69
				.hword	16464
				.hword	1354
				.hword	10053
				.hword	16450
				.hword	0
				.hword	78
				.hword	-32052
				.hword	9428
				.hword	76
				.hword	16444
				.hword	182
				.hword	10693
				.hword	83
				.hword	16446
				.hword	46
				.hword	9416
				.hword	8908
				.hword	16443
				.hword	180
				.hword	16407
				.hword	0
				.hword	-31939
				.hword	-32292
				.hword	-10454
				.hword	51
				.hword	16426
				.hword	13
				.hword	16433
				.hword	1
				.hword	16409
				.hword	0
				.hword	-32290
				.hword	-10454
				.hword	51
				.hword	16426
				.hword	13
				.hword	16410
				.hword	0
				.hword	16431
				.hword	14
				.hword	-32323
				.hword	16430
				.hword	51
				.hword	16433
				.hword	1
		.LC3:
				.byte	7
				.string	"LISTING"
				.zero	247
		.LC4:
				.byte	14
				.string	"prims-null.inc"
				.zero	240
		.LC5:
				.byte	44
				.string	"         Edinburgh IMP77 Compiler - Version "
				.zero	210
				.data
				.align	3
				.set	.LANCHOR1,. + 0
				.set	.LANCHOR2,. + 4352
		GMAX.7832:
				.word	719
				.zero	4
		GLINK.7837:
				.hword	-1
				.hword	71
				.hword	72
				.hword	38
				.hword	46
				.hword	47
				.hword	67
				.hword	67
				.hword	75
				.hword	67
				.hword	0
				.hword	67
				.hword	51
				.hword	76
				.hword	79
				.hword	53
				.hword	55
				.hword	80
				.hword	67
				.hword	81
				.hword	82
				.hword	83
				.hword	67
				.hword	84
				.hword	26
				.hword	41
				.hword	85
				.hword	86
				.hword	57
				.hword	57
				.hword	89
				.hword	93
				.hword	96
				.hword	97
				.hword	102
				.hword	103
				.hword	104
				.hword	107
				.hword	46
				.hword	67
				.hword	67
				.hword	0
				.hword	110
				.hword	110
				.hword	111
				.hword	52
				.hword	49
				.hword	0
				.hword	61
				.hword	67
				.hword	62
				.hword	0
				.hword	67
				.hword	0
				.hword	111
				.hword	112
				.hword	112
				.hword	58
				.hword	113
				.hword	114
				.hword	115
				.hword	64
				.hword	67
				.hword	66
				.hword	116
				.hword	117
				.hword	68
				.hword	0
				.hword	67
				.hword	122
				.hword	67
				.hword	0
				.hword	73
				.hword	123
				.hword	123
				.hword	67
				.hword	77
				.hword	67
				.hword	40
				.hword	77
				.hword	67
				.hword	67
				.hword	0
				.hword	124
				.hword	127
				.hword	128
				.hword	87
				.hword	86
				.hword	0
				.hword	90
				.hword	131
				.hword	89
				.hword	0
				.hword	94
				.hword	93
				.hword	0
				.hword	132
				.hword	98
				.hword	137
				.hword	100
				.hword	97
				.hword	0
				.hword	138
				.hword	67
				.hword	105
				.hword	104
				.hword	0
				.hword	108
				.hword	107
				.hword	0
				.hword	67
				.hword	67
				.hword	67
				.hword	139
				.hword	140
				.hword	141
				.hword	0
				.hword	118
				.hword	120
				.hword	116
				.hword	142
				.hword	116
				.hword	67
				.hword	71
				.hword	125
				.hword	67
				.hword	0
				.hword	67
				.hword	129
				.hword	85
				.hword	0
				.hword	143
				.hword	133
				.hword	144
				.hword	135
				.hword	145
				.hword	0
				.hword	156
				.hword	157
				.hword	59
				.hword	158
				.hword	67
				.hword	119
				.hword	91
				.hword	159
				.hword	146
				.hword	145
				.hword	148
				.hword	146
				.hword	151
				.hword	0
				.hword	153
				.hword	153
				.hword	154
				.hword	146
				.hword	0
				.hword	99
				.hword	160
				.hword	67
				.hword	134
				.hword	161
				.hword	162
				.hword	165
				.hword	161
				.hword	141
				.hword	162
				.hword	162
				.hword	168
				.hword	172
				.hword	174
				.hword	175
				.hword	176
				.hword	177
				.hword	178
				.hword	179
				.hword	182
				.hword	185
				.hword	188
				.hword	189
				.hword	180
				.hword	190
				.hword	190
				.hword	183
				.hword	191
				.hword	191
				.hword	186
				.hword	191
				.hword	191
				.hword	0
				.hword	188
				.hword	192
				.hword	193
				.hword	194
				.hword	0
				.hword	196
				.hword	0
				.hword	0
				.hword	198
				.hword	197
				.hword	0
				.hword	201
				.hword	200
				.hword	0
				.hword	204
				.hword	205
				.hword	0
				.hword	228
				.hword	232
				.hword	219
				.hword	234
				.hword	235
				.hword	0
				.hword	236
				.hword	237
				.hword	238
				.hword	0
				.hword	232
				.hword	226
				.hword	244
				.hword	245
				.hword	221
				.hword	248
				.hword	249
				.hword	250
				.hword	251
				.hword	245
				.hword	0
				.hword	252
				.hword	229
				.hword	249
				.hword	250
				.hword	251
				.hword	253
				.hword	0
				.hword	0
				.hword	188
				.hword	254
				.hword	260
				.hword	239
				.hword	269
				.hword	269
				.hword	242
				.hword	191
				.hword	191
				.hword	270
				.hword	246
				.hword	272
				.hword	272
				.hword	229
				.hword	273
				.hword	274
				.hword	275
				.hword	276
				.hword	0
				.hword	255
				.hword	266
				.hword	266
				.hword	258
				.hword	267
				.hword	267
				.hword	261
				.hword	266
				.hword	266
				.hword	264
				.hword	267
				.hword	267
				.hword	232
				.hword	268
				.hword	232
				.hword	0
				.hword	277
				.hword	0
				.hword	278
				.hword	232
				.hword	273
				.hword	232
				.hword	282
				.hword	283
				.hword	279
				.hword	285
				.hword	253
				.hword	0
				.hword	0
				.hword	286
				.hword	0
				.hword	232
				.hword	0
				.hword	288
				.hword	0
				.hword	290
				.hword	0
				.hword	292
				.hword	294
				.hword	0
				.hword	0
				.hword	297
				.hword	0
				.hword	0
				.hword	299
				.hword	301
				.hword	0
				.hword	303
				.hword	0
				.hword	305
				.hword	0
				.hword	307
				.hword	0
				.hword	0
				.hword	310
				.hword	313
				.hword	314
				.hword	315
				.hword	0
				.hword	0
				.hword	316
				.hword	311
				.hword	314
				.hword	0
				.hword	332
				.hword	332
				.hword	328
				.hword	349
				.hword	350
				.hword	351
				.hword	351
				.hword	351
				.hword	351
				.hword	330
				.hword	282
				.hword	352
				.hword	358
				.hword	0
				.hword	333
				.hword	341
				.hword	347
				.hword	359
				.hword	360
				.hword	361
				.hword	362
				.hword	363
				.hword	0
				.hword	342
				.hword	343
				.hword	345
				.hword	0
				.hword	346
				.hword	0
				.hword	269
				.hword	269
				.hword	0
				.hword	0
				.hword	366
				.hword	353
				.hword	371
				.hword	372
				.hword	373
				.hword	374
				.hword	0
				.hword	375
				.hword	376
				.hword	377
				.hword	383
				.hword	384
				.hword	364
				.hword	385
				.hword	385
				.hword	367
				.hword	269
				.hword	269
				.hword	269
				.hword	269
				.hword	389
				.hword	390
				.hword	391
				.hword	392
				.hword	393
				.hword	0
				.hword	378
				.hword	360
				.hword	361
				.hword	362
				.hword	341
				.hword	0
				.hword	379
				.hword	380
				.hword	386
				.hword	363
				.hword	341
				.hword	0
				.hword	353
				.hword	354
				.hword	355
				.hword	375
				.hword	395
				.hword	0
				.hword	396
				.hword	0
				.hword	400
				.hword	269
				.hword	269
				.hword	401
				.hword	0
				.hword	411
				.hword	411
				.hword	406
				.hword	417
				.hword	407
				.hword	418
				.hword	419
				.hword	420
				.hword	0
				.hword	412
				.hword	418
				.hword	419
				.hword	420
				.hword	421
				.hword	0
				.hword	409
				.hword	406
				.hword	424
				.hword	417
				.hword	422
				.hword	425
				.hword	425
				.hword	408
				.hword	415
				.hword	427
				.hword	430
				.hword	431
				.hword	0
				.hword	426
				.hword	432
				.hword	428
				.hword	434
				.hword	436
				.hword	0
				.hword	433
				.hword	269
				.hword	269
				.hword	441
				.hword	442
				.hword	282
				.hword	443
				.hword	0
				.hword	446
				.hword	451
				.hword	447
				.hword	446
				.hword	452
				.hword	451
				.hword	0
				.hword	449
				.hword	448
				.hword	454
				.hword	453
				.hword	457
				.hword	0
				.hword	455
				.hword	459
				.hword	458
				.hword	0
				.hword	269
				.hword	464
				.hword	465
				.hword	282
				.hword	466
				.hword	0
				.hword	469
				.hword	469
				.hword	470
				.hword	471
				.hword	472
				.hword	473
				.hword	474
				.hword	475
				.hword	476
				.hword	477
				.hword	0
				.hword	479
				.hword	269
				.hword	481
				.hword	0
				.hword	483
				.hword	485
				.hword	485
				.hword	205
				.hword	490
				.hword	488
				.hword	496
				.hword	497
				.hword	491
				.hword	494
				.hword	490
				.hword	0
				.hword	491
				.hword	491
				.hword	0
				.hword	498
				.hword	499
				.hword	501
				.hword	0
				.hword	0
				.hword	504
				.hword	506
				.hword	510
				.hword	499
				.hword	508
				.hword	0
				.hword	506
				.hword	506
				.hword	504
				.hword	512
				.hword	513
				.hword	514
				.hword	515
				.hword	0
				.hword	517
				.hword	518
				.hword	519
				.hword	520
				.hword	0
				.hword	522
				.hword	523
				.hword	524
				.hword	525
				.hword	522
				.hword	0
				.hword	528
				.hword	529
				.hword	531
				.hword	536
				.hword	532
				.hword	534
				.hword	0
				.hword	532
				.hword	0
				.hword	537
				.hword	538
				.hword	539
				.hword	541
				.hword	542
				.hword	542
				.hword	0
				.hword	544
				.hword	546
				.hword	0
				.hword	547
				.hword	548
				.hword	549
				.hword	533
				.hword	551
				.hword	553
				.hword	558
				.hword	554
				.hword	556
				.hword	0
				.hword	554
				.hword	0
				.hword	559
				.hword	560
				.hword	557
				.hword	0
				.hword	563
				.hword	205
				.hword	0
				.hword	566
				.hword	564
				.hword	568
				.hword	565
				.hword	570
				.hword	567
				.hword	572
				.hword	569
				.hword	574
				.hword	571
				.hword	576
				.hword	575
				.hword	0
				.hword	579
				.hword	580
				.hword	592
				.hword	593
				.hword	584
				.hword	205
				.hword	585
				.hword	588
				.hword	588
				.hword	588
				.hword	590
				.hword	205
				.hword	594
				.hword	594
				.hword	595
				.hword	596
				.hword	597
				.hword	581
				.hword	600
				.hword	598
				.hword	601
				.hword	0
				.hword	205
				.hword	205
				.hword	205
				.hword	606
				.hword	606
				.hword	607
				.hword	608
				.hword	609
				.hword	605
				.hword	610
				.hword	612
				.hword	0
				.hword	193
				.hword	193
				.hword	193
				.hword	193
				.hword	193
				.hword	193
				.hword	193
				.hword	193
				.hword	0
				.hword	623
				.hword	623
				.hword	192
				.hword	626
				.hword	626
				.hword	0
				.hword	626
				.hword	626
				.hword	631
				.hword	633
				.hword	282
				.hword	282
				.hword	634
				.hword	282
				.hword	282
				.hword	637
				.hword	638
				.hword	639
				.hword	0
				.hword	650
				.hword	677
				.hword	684
				.hword	666
				.hword	655
				.hword	205
				.hword	205
				.hword	205
				.hword	205
				.hword	650
				.hword	659
				.hword	668
				.hword	685
				.hword	666
				.hword	0
				.hword	662
				.hword	686
				.hword	666
				.hword	662
				.hword	668
				.hword	685
				.hword	0
				.hword	670
				.hword	674
				.hword	689
				.hword	666
				.hword	205
				.hword	0
				.hword	205
				.hword	0
				.hword	674
				.hword	689
				.hword	205
				.hword	0
				.hword	666
				.hword	205
				.hword	0
				.hword	680
				.hword	692
				.hword	680
				.hword	659
				.hword	668
				.hword	685
				.hword	0
				.hword	650
				.hword	687
				.hword	662
				.hword	688
				.hword	205
				.hword	690
				.hword	691
				.hword	666
				.hword	680
				.hword	697
				.hword	697
				.hword	697
				.hword	697
				.hword	698
				.hword	699
				.hword	700
				.hword	0
				.hword	703
				.hword	703
				.hword	704
				.hword	706
				.hword	707
				.hword	708
				.hword	708
				.hword	700
				.hword	711
				.hword	711
				.hword	712
				.hword	713
				.hword	719
				.hword	719
				.hword	719
				.hword	719
				.hword	719
				.hword	719
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.zero	6
		GRAM.7836:
				.hword	0
				.hword	-28523
				.hword	-28521
				.hword	-28602
				.hword	-32706
				.hword	-28509
				.hword	-28603
				.hword	-24502
				.hword	-24503
				.hword	-20405
				.hword	-20404
				.hword	-28595
				.hword	-32697
				.hword	-32709
				.hword	-16323
				.hword	-28600
				.hword	-32704
				.hword	-28587
				.hword	-28589
				.hword	-32681
				.hword	-16344
				.hword	-28586
				.hword	-28588
				.hword	-12270
				.hword	-32586
				.hword	216
				.hword	-12287
				.hword	-16380
				.hword	-8185
				.hword	-8184
				.hword	-12285
				.hword	-12286
				.hword	-12283
				.hword	-12282
				.hword	-12279
				.hword	-12276
				.hword	-16373
				.hword	20490
				.hword	-32706
				.hword	-32701
				.hword	216
				.hword	-16364
				.hword	-28610
				.hword	-28613
				.hword	-28612
				.hword	16445
				.hword	217
				.hword	-16364
				.hword	62
				.hword	-32701
				.hword	16450
				.hword	-16364
				.hword	5346
				.hword	-16364
				.hword	166
				.hword	-16344
				.hword	4332
				.hword	130
				.hword	-16360
				.hword	-16361
				.hword	126
				.hword	217
				.hword	-32701
				.hword	216
				.hword	-16364
				.hword	16450
				.hword	-32700
				.hword	16404
				.hword	-32701
				.hword	-32706
				.hword	216
				.hword	16405
				.hword	16407
				.hword	-16222
				.hword	8414
				.hword	130
				.hword	217
				.hword	-32697
				.hword	16450
				.hword	1250
				.hword	4307
				.hword	4318
				.hword	192
				.hword	93
				.hword	170
				.hword	90
				.hword	207
				.hword	-16365
				.hword	16404
				.hword	90
				.hword	-16360
				.hword	-16365
				.hword	16404
				.hword	241
				.hword	-16365
				.hword	16404
				.hword	132
				.hword	132
				.hword	-16360
				.hword	4329
				.hword	-16365
				.hword	16404
				.hword	133
				.hword	175
				.hword	90
				.hword	-16365
				.hword	16404
				.hword	209
				.hword	-16365
				.hword	16404
				.hword	4313
				.hword	217
				.hword	16451
				.hword	4263
				.hword	16384
				.hword	16384
				.hword	120
				.hword	216
				.hword	-32700
				.hword	16404
				.hword	-32706
				.hword	16404
				.hword	243
				.hword	16409
				.hword	454
				.hword	-32685
				.hword	16404
				.hword	454
				.hword	248
				.hword	-16365
				.hword	16404
				.hword	4263
				.hword	194
				.hword	-16360
				.hword	4329
				.hword	-32717
				.hword	16404
				.hword	4263
				.hword	16407
				.hword	454
				.hword	237
				.hword	127
				.hword	215
				.hword	454
				.hword	4263
				.hword	16384
				.hword	-16364
				.hword	1502
				.hword	-32629
				.hword	-16361
				.hword	153
				.hword	-32606
				.hword	222
				.hword	143
				.hword	-32629
				.hword	153
				.hword	454
				.hword	126
				.hword	16409
				.hword	454
				.hword	16384
				.hword	234
				.hword	-16365
				.hword	-32595
				.hword	147
				.hword	-32678
				.hword	234
				.hword	193
				.hword	-32677
				.hword	-32676
				.hword	-32661
				.hword	109
				.hword	-32717
				.hword	53
				.hword	52
				.hword	52
				.hword	52
				.hword	194
				.hword	194
				.hword	194
				.hword	-28581
				.hword	4188
				.hword	194
				.hword	-28566
				.hword	4203
				.hword	194
				.hword	-28564
				.hword	4205
				.hword	4580
				.hword	16429
				.hword	183
				.hword	183
				.hword	186
				.hword	186
				.hword	-28583
				.hword	0
				.hword	9437
				.hword	90
				.hword	-16365
				.hword	0
				.hword	134
				.hword	-16365
				.hword	0
				.hword	210
				.hword	4329
				.hword	199
				.hword	-32677
				.hword	-32672
				.hword	-32676
				.hword	-32688
				.hword	-32690
				.hword	-32705
				.hword	-32661
				.hword	-32659
				.hword	-32689
				.hword	-32686
				.hword	-32687
				.hword	-16330
				.hword	65
				.hword	-32716
				.hword	186
				.hword	-28583
				.hword	-32717
				.hword	-32715
				.hword	-32713
				.hword	52
				.hword	-32664
				.hword	4201
				.hword	186
				.hword	-32717
				.hword	-32715
				.hword	55
				.hword	-16328
				.hword	0
				.hword	197
				.hword	197
				.hword	52
				.hword	52
				.hword	197
				.hword	-28581
				.hword	-28580
				.hword	186
				.hword	-28581
				.hword	4188
				.hword	4318
				.hword	194
				.hword	-28581
				.hword	4188
				.hword	9437
				.hword	194
				.hword	194
				.hword	454
				.hword	16407
				.hword	216
				.hword	194
				.hword	-28566
				.hword	-28565
				.hword	186
				.hword	-28566
				.hword	4203
				.hword	194
				.hword	-28564
				.hword	-28563
				.hword	186
				.hword	-28564
				.hword	4205
				.hword	183
				.hword	183
				.hword	186
				.hword	183
				.hword	-16365
				.hword	0
				.hword	183
				.hword	4580
				.hword	16429
				.hword	5095
				.hword	9444
				.hword	5348
				.hword	186
				.hword	-28583
				.hword	-16328
				.hword	0
				.hword	16409
				.hword	-16365
				.hword	0
				.hword	9437
				.hword	5348
				.hword	217
				.hword	-32701
				.hword	16450
				.hword	-32701
				.hword	216
				.hword	-32700
				.hword	0
				.hword	-32701
				.hword	-32706
				.hword	216
				.hword	243
				.hword	217
				.hword	-16318
				.hword	0
				.hword	-32552
				.hword	0
				.hword	-32700
				.hword	0
				.hword	-32706
				.hword	0
				.hword	215
				.hword	-32550
				.hword	228
				.hword	-28616
				.hword	-28615
				.hword	0
				.hword	4096
				.hword	218
				.hword	218
				.hword	-28616
				.hword	0
				.hword	-32677
				.hword	-32676
				.hword	-16361
				.hword	-32710
				.hword	-32669
				.hword	-32662
				.hword	-32661
				.hword	-32660
				.hword	-32659
				.hword	740
				.hword	-32039
				.hword	740
				.hword	-32719
				.hword	4096
				.hword	194
				.hword	-32719
				.hword	-32718
				.hword	-32604
				.hword	-32726
				.hword	-32725
				.hword	-32724
				.hword	-32720
				.hword	4096
				.hword	710
				.hword	6116
				.hword	-32719
				.hword	0
				.hword	710
				.hword	6116
				.hword	-28581
				.hword	4188
				.hword	218
				.hword	122
				.hword	50
				.hword	16409
				.hword	-32726
				.hword	-32725
				.hword	-32724
				.hword	-32719
				.hword	4096
				.hword	710
				.hword	454
				.hword	195
				.hword	195
				.hword	195
				.hword	454
				.hword	-28581
				.hword	4188
				.hword	194
				.hword	-28566
				.hword	-28565
				.hword	-28564
				.hword	4205
				.hword	195
				.hword	195
				.hword	195
				.hword	710
				.hword	4836
				.hword	5095
				.hword	4829
				.hword	-32726
				.hword	-32725
				.hword	-32724
				.hword	-32719
				.hword	4096
				.hword	4827
				.hword	4828
				.hword	454
				.hword	-32720
				.hword	-32719
				.hword	4096
				.hword	4829
				.hword	4827
				.hword	4828
				.hword	194
				.hword	-32719
				.hword	0
				.hword	710
				.hword	4836
				.hword	-16291
				.hword	-32677
				.hword	92
				.hword	184
				.hword	121
				.hword	-28581
				.hword	-28580
				.hword	-32722
				.hword	-32723
				.hword	4317
				.hword	-32726
				.hword	-32725
				.hword	-32724
				.hword	0
				.hword	183
				.hword	-32726
				.hword	-32725
				.hword	-32724
				.hword	-32720
				.hword	0
				.hword	4316
				.hword	195
				.hword	195
				.hword	195
				.hword	454
				.hword	-28581
				.hword	4188
				.hword	4315
				.hword	183
				.hword	4317
				.hword	-32726
				.hword	-32725
				.hword	0
				.hword	195
				.hword	195
				.hword	4315
				.hword	4317
				.hword	-32726
				.hword	0
				.hword	195
				.hword	-32677
				.hword	-32676
				.hword	-16361
				.hword	16431
				.hword	228
				.hword	228
				.hword	47
				.hword	-32610
				.hword	-32611
				.hword	5345
				.hword	-32609
				.hword	-32608
				.hword	-32607
				.hword	0
				.hword	4320
				.hword	4319
				.hword	5345
				.hword	-32609
				.hword	-32608
				.hword	0
				.hword	4319
				.hword	5345
				.hword	-32609
				.hword	0
				.hword	-32613
				.hword	-16361
				.hword	16431
				.hword	222
				.hword	222
				.hword	156
				.hword	-32677
				.hword	92
				.hword	183
				.hword	186
				.hword	1222
				.hword	16435
				.hword	228
				.hword	16403
				.hword	4324
				.hword	138
				.hword	8420
				.hword	-32723
				.hword	4189
				.hword	93
				.hword	454
				.hword	148
				.hword	-32674
				.hword	16546
				.hword	16409
				.hword	-32597
				.hword	182
				.hword	-16383
				.hword	16388
				.hword	234
				.hword	-16365
				.hword	-32595
				.hword	172
				.hword	-32678
				.hword	234
				.hword	90
				.hword	244
				.hword	246
				.hword	-16365
				.hword	0
				.hword	235
				.hword	-32678
				.hword	234
				.hword	-16365
				.hword	246
				.hword	-16365
				.hword	0
				.hword	-32678
				.hword	234
				.hword	90
				.hword	16407
				.hword	222
				.hword	16405
				.hword	222
				.hword	145
				.hword	16407
				.hword	222
				.hword	16405
				.hword	222
				.hword	146
				.hword	16407
				.hword	1252
				.hword	154
				.hword	5348
				.hword	-16365
				.hword	142
				.hword	126
				.hword	182
				.hword	-16383
				.hword	16391
				.hword	90
				.hword	-16365
				.hword	127
				.hword	-32678
				.hword	238
				.hword	90
				.hword	125
				.hword	239
				.hword	-16365
				.hword	8319
				.hword	8430
				.hword	128
				.hword	126
				.hword	-16361
				.hword	127
				.hword	190
				.hword	240
				.hword	189
				.hword	16409
				.hword	182
				.hword	-16383
				.hword	16391
				.hword	90
				.hword	-16365
				.hword	0
				.hword	-32678
				.hword	240
				.hword	90
				.hword	16623
				.hword	-16365
				.hword	0
				.hword	244
				.hword	232
				.hword	1252
				.hword	1252
				.hword	137
				.hword	1252
				.hword	137
				.hword	1252
				.hword	137
				.hword	1252
				.hword	137
				.hword	1252
				.hword	137
				.hword	222
				.hword	-16365
				.hword	0
				.hword	131
				.hword	194
				.hword	-16360
				.hword	-16333
				.hword	-16332
				.hword	124
				.hword	181
				.hword	-16292
				.hword	-16277
				.hword	16493
				.hword	-31802
				.hword	5342
				.hword	-28581
				.hword	4188
				.hword	4263
				.hword	181
				.hword	186
				.hword	454
				.hword	16475
				.hword	183
				.hword	-28583
				.hword	199
				.hword	5598
				.hword	9438
				.hword	222
				.hword	-32677
				.hword	-32676
				.hword	16407
				.hword	186
				.hword	228
				.hword	135
				.hword	16409
				.hword	-32632
				.hword	0
				.hword	-32677
				.hword	92
				.hword	-32677
				.hword	-32676
				.hword	-32662
				.hword	-32661
				.hword	-32660
				.hword	-32659
				.hword	165
				.hword	-32677
				.hword	92
				.hword	188
				.hword	-32662
				.hword	107
				.hword	188
				.hword	-32660
				.hword	109
				.hword	-32732
				.hword	37
				.hword	-16344
				.hword	4318
				.hword	148
				.hword	-32674
				.hword	16424
				.hword	222
				.hword	16405
				.hword	222
				.hword	174
				.hword	-28644
				.hword	-32734
				.hword	-32680
				.hword	-28641
				.hword	-32733
				.hword	-32730
				.hword	-32735
				.hword	-32727
				.hword	-32738
				.hword	4326
				.hword	-32738
				.hword	-32739
				.hword	-32741
				.hword	-32736
				.hword	199
				.hword	-28644
				.hword	-32680
				.hword	-28641
				.hword	4326
				.hword	-32739
				.hword	-32741
				.hword	199
				.hword	-32738
				.hword	-32739
				.hword	-32741
				.hword	-32736
				.hword	-32729
				.hword	199
				.hword	-32616
				.hword	199
				.hword	-32739
				.hword	-32741
				.hword	-32729
				.hword	199
				.hword	-32616
				.hword	-32729
				.hword	199
				.hword	-28644
				.hword	-32680
				.hword	4326
				.hword	-32738
				.hword	-32739
				.hword	-32741
				.hword	199
				.hword	245
				.hword	4318
				.hword	245
				.hword	16409
				.hword	152
				.hword	4318
				.hword	16409
				.hword	152
				.hword	245
				.hword	-32672
				.hword	-32671
				.hword	-32670
				.hword	99
				.hword	16407
				.hword	200
				.hword	144
				.hword	185
				.hword	-32677
				.hword	92
				.hword	16407
				.hword	-32582
				.hword	200
				.hword	200
				.hword	187
				.hword	141
				.hword	-32677
				.hword	92
				.hword	16410
				.hword	191
				.hword	-32677
				.hword	-32676
				.hword	-32662
				.hword	-32661
				.hword	-32660
				.hword	109
				.hword	198
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.hword	0
				.zero	2
		SYM.7761:
				.word	10
		OCOUNT.7802:
				.word	-1
		DMAX.7791:
				.word	1
		SPARENAMES.7714:
				.word	2047
		DP.7808:
				.word	1
		THIS.7785:
				.word	-1
				.zero	4
		PHRASE.7833:
				.hword	0
				.hword	564
				.hword	565
				.hword	567
				.hword	569
				.hword	571
				.hword	573
				.hword	562
				.hword	614
				.hword	203
				.hword	200
				.hword	602
				.hword	478
				.hword	480
				.hword	624
				.hword	298
				.hword	206
				.hword	308
				.hword	318
				.hword	433
				.hword	426
				.hword	437
				.hword	444
				.hword	458
				.hword	453
				.hword	461
				.hword	467
				.hword	482
				.hword	402
				.hword	627
				.hword	629
				.hword	603
				.hword	521
				.hword	511
				.hword	486
				.hword	502
				.hword	575
				.hword	527
				.hword	528
				.hword	543
				.hword	550
				.hword	578
				.hword	397
				.hword	287
				.hword	197
				.hword	636
				.hword	516
				.hword	621
				.hword	167
				.hword	0
				.hword	0
				.hword	0
				.hword	640
				.hword	693
				.hword	701
				.hword	709
		TMIN.7792:
				.word	800
		PERM.7798:
				.word	1
		GMIN.7790:
				.word	1720
				.zero	4
		CHAR.7818:
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.zero	2
		LIST.7823:
				.word	1
		CONT.7765:
				.word	32
		CSYM.7766:
				.word	32
		REALSLN.7774:
				.word	1
				.bss
				.align	3
				.set	.LANCHOR0,. + 0
		BP.7830:
				.zero	4
		LIT.7820:
				.zero	4
		PSTACK.8871:
				.zero	160
		CNEST.8849:
				.zero	16
		LINES.7753:
				.zero	4
		OTYPE.7773:
				.zero	4
		DIM.7768:
				.zero	4
		DIMENSION.7812:
				.zero	4
		SEARCHBASE.7815:
				.zero	4
		RBASE.7788:
				.zero	4
		X.7743:
				.zero	4
		FORMATLIST.7816:
				.zero	4
		LIMIT.7803:
				.zero	4
		SUBATOM.7746:
				.zero	4
		ATOMFLAGS.7772:
				.zero	4
		FORMAT.7749:
				.zero	4
		APP.7748:
				.zero	4
		TYPE.7747:
				.zero	4
		ATOM1.7744:
				.zero	4
		ESCAPECLASS.7770:
				.zero	4
		ATOM2.7745:
				.zero	4
		MAPGG.7783:
				.zero	4
		POS2.7810:
				.zero	4
		POS.7811:
				.zero	4
		DECL.7767:
				.zero	4
		SPECGIVEN.7769:
				.zero	4
		FDEF.7784:
				.zero	4
		LAST1.7775:
				.zero	4
		COPY.7804:
				.zero	4
		INCLUDELEVEL.7796:
				.zero	4
		COLUMN.7758:
				.zero	4
		ENDMARK.7764:
				.zero	4
		POS1.7809:
				.zero	4
		MARGIN.7755:
				.zero	4
		LAST.8266:
				.zero	4
		INCLUDE.7797:
				.zero	4
		ERRORMARGIN.7756:
				.zero	4
		ERRORSYM.7757:
				.zero	4
		SYMTYPE.7762:
				.zero	4
		QUOTE.7763:
				.zero	4
		KEY.8219:
				.zero	4
		LP.7821:
				.zero	4
		STBASE.7789:
				.zero	4
		TEXTLINE.7754:
				.zero	4
		LOCAL.7813:
				.zero	4
		FMBASE.7814:
				.zero	4
		NAME.8872:
				.zero	256
		COUNT.8873:
				.zero	4
		LB.8855:
				.zero	4
		UB.8856:
				.zero	4
		SSTYPE.7800:
				.zero	4
		SS.7793:
				.zero	4
		ORDER.7805:
				.zero	4
		SPECMODE.7801:
				.zero	4
		DUBIOUS.7807:
				.zero	4
		STATS.7759:
				.zero	4
		PROGMODE.7799:
				.zero	4
		BLOCKX.7822:
				.zero	4
		INCLUDELIST.7795:
				.zero	4
		GG.7782:
				.zero	4
		GENTYPE.7776:
				.zero	4
		FORCE.7780:
				.zero	4
		NMAX.7787:
				.zero	4
		NMIN.7786:
				.zero	4
		PTYPE.7777:
				.zero	4
		G.7781:
				.zero	4
		CLASS.7742:
				.zero	4
		MONPOS.7760:
				.zero	4
		LA1.8245:
				.zero	4
		LA2.8246:
				.zero	4
		LSA.8247:
				.zero	4
		LT.8248:
				.zero	4
		PAPP.7778:
				.zero	4
		PFORMAT.7779:
				.zero	4
		FAULTRATE.7752:
				.zero	4
				.section	.data.rel.ro.local,"aw",@progbits
				.align	3
				.set	.LANCHOR4,. + 0
		REASON.7877:
				.xword	.L24
				.xword	.L24
				.xword	.L24
				.xword	.L24
				.xword	.L24
				.xword	.L24
				.xword	.L24
				.xword	.L24
				.xword	.L24
				.xword	.L24
		FM.7987:
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
				.xword	.L391
		C.8698:
				.xword	.L444
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L481
				.xword	.L472
				.xword	.L479
				.xword	.L480
				.xword	.L476
				.xword	.L477
				.xword	.L490
				.xword	.L473
				.xword	.L474
				.xword	.L486
				.xword	.L485
				.xword	.L492
				.xword	.L491
				.xword	.L718
				.xword	.L495
				.xword	.L511
				.xword	.L512
				.xword	.L513
				.xword	.L507
				.xword	.L508
				.xword	.L509
				.xword	.L510
				.xword	.L555
				.xword	.L553
				.xword	.L568
				.xword	.L570
				.xword	.L569
				.xword	.L718
				.xword	.L710
				.xword	.L514
				.xword	.L515
				.xword	.L516
				.xword	.L518
				.xword	.L519
				.xword	.L718
				.xword	.L523
				.xword	.L547
				.xword	.L538
				.xword	.L567
				.xword	.L718
				.xword	.L533
				.xword	.L529
				.xword	.L525
				.xword	.L527
				.xword	.L534
				.xword	.L524
				.xword	.L718
				.xword	.L571
				.xword	.L578
				.xword	.L576
				.xword	.L575
				.xword	.L561
				.xword	.L562
				.xword	.L563
				.xword	.L566
				.xword	.L564
				.xword	.L593
				.xword	.L594
				.xword	.L592
				.xword	.L595
				.xword	.L713
				.xword	.L471
				.xword	.L565
				.xword	.L616
				.xword	.L630
				.xword	.L631
				.xword	.L640
				.xword	.L718
				.xword	.L718
				.xword	.L624
				.xword	.L621
				.xword	.L622
				.xword	.L623
				.xword	.L626
				.xword	.L627
				.xword	.L628
				.xword	.L629
				.xword	.L545
				.xword	.L659
				.xword	.L632
				.xword	.L633
				.xword	.L634
				.xword	.L635
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L532
				.xword	.L637
				.xword	.L712
				.xword	.L718
				.xword	.L620
				.xword	.L614
				.xword	.L500
				.xword	.L499
				.xword	.L610
				.xword	.L718
				.xword	.L611
				.xword	.L617
				.xword	.L645
				.xword	.L496
				.xword	.L660
				.xword	.L708
				.xword	.L709
				.xword	.L643
				.xword	.L517
				.xword	.L653
				.xword	.L675
				.xword	.L644
				.xword	.L605
				.xword	.L650
				.xword	.L676
				.xword	.L603
				.xword	.L604
				.xword	.L506
				.xword	.L497
				.xword	.L546
				.xword	.L718
				.xword	.L663
				.xword	.L475
				.xword	.L654
				.xword	.L602
				.xword	.L677
				.xword	.L680
				.xword	.L682
				.xword	.L683
				.xword	.L684
				.xword	.L685
				.xword	.L686
				.xword	.L648
				.xword	.L526
				.xword	.L711
				.xword	.L625
				.xword	.L522
				.xword	.L638
				.xword	.L505
				.xword	.L718
				.xword	.L706
				.xword	.L502
				.xword	.L503
				.xword	.L504
				.xword	.L501
				.xword	.L494
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
				.xword	.L718
		LITOP.8832:
				.xword	.L695
				.xword	.L696
				.xword	.L691
				.xword	.L699
				.xword	.L697
				.xword	.L703
				.xword	.L704
				.xword	.L701
				.xword	.L702
				.xword	.L688
				.xword	.L698
				.xword	.L690
		ACT.8226:
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
				.xword	.L858
		PACTION.8231:
				.xword	.L867
				.xword	.L867
				.xword	.L867
				.xword	.L867
				.xword	.L867
				.xword	.L867
				.xword	.L867
				.xword	.L867
				.xword	.L867
				.xword	.L867
				.xword	.L867
				.xword	.L867
				.xword	.L867
				.xword	.L867
				.xword	.L867
				.xword	.L867
				.section	.rodata.str1.8,"aMS",@progbits,1
				.align	3
		.LC73:
				.string	"test-new/pass1v84-noprims.imp"
				.zero	2
		.LC74:
				.string	"->REASON(%d) out of bounds at %s line %d"
				.zero	7
		.LC75:
				.string	"switch jump to undefined label REASON(%d): at %s line %d"
				.zero	7
		.LC76:
				.string	"Illegal cycle J = AD + 1, 1, AD + *_imp_BYTEINTEGER(AD)"
		.LC77:
				.string	"Illegal cycle J = 1, 1, BP"
				.zero	5
		.LC78:
				.string	"switch jump to undefined label FM(%d): at %s line %d"
				.zero	3
		.LC79:
				.string	"Illegal cycle J = DICT[N - 1], 1, DICT[N + 1 - 1]"
				.zero	6
		.LC80:
				.string	"->C(%d) out of bounds at %s line %d"
				.zero	4
		.LC81:
				.string	"switch jump to undefined label C(%d): at %s line %d"
				.zero	4
		.LC82:
				.string	"->LITOP(%d) out of bounds at %s line %d"
		.LC83:
				.string	"->ACT(%d) out of bounds at %s line %d"
				.zero	2
		.LC84:
				.string	"switch jump to undefined label ACT(%d): at %s line %d"
				.zero	2
		.LC85:
				.string	"->PACTION(%d) out of bounds at %s line %d"
				.zero	6
		.LC86:
				.string	"switch jump to undefined label PACTION(%d): at %s line %d"
		.Letext0:
 2716    %FINISH
 2717
 2718 impcom_flags = 0
				ldr	w0, [x29, 108]
				sub	w0, w0, #1
				cmp	w0, 11
				bls	.L722
				ldr	x0, [x20, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L723
				add	x8, x29, 4096
				add	x8, x8, 496
				bl	_imp_c2istr
		.LVL688:
		.L724:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w23, [x0]
				cmp	w23, 0
				mov	w0, 2718
				csel	w23, w23, w0, ne
				add	x22, x29, 160
				mov	x2, 256
				add	x1, x29, 4096
				add	x1, x1, 496
				mov	x0, x22
				bl	memcpy
		.LVL689:
				ldr	w0, [x29, 104]
				str	w0, [sp]
		.LVL690:
				ldr	x7, [x29, 96]
				ldr	w4, [x29, 108]
				mov	w6, w4
				adrp	x5, .LC82
				add	x5, x5, :lo12:.LC82
				mov	w3, 3
				mov	w2, 6
				mov	w1, w23
				mov	x0, x22
				bl	_signal_eventf
		.LVL691:
		.L722:
				add	x23, x29, 3056
				mov	x24, 256
				mov	x2, x24
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x23
				bl	memcpy
		.LVL740:
				add	x22, x29, 3312
				mov	x2, x24
				mov	x1, x23
				mov	x0, x22
				bl	memcpy
		.LVL741:
		.LBE560:
				mov	x2, x24
				mov	x1, x22
				add	x0, x29, 4096
				add	x0, x0, 496
				bl	memcpy
		.LVL742:
				b	.L724
		.LVL743:
		.L759:
				bl	__stack_chk_fail
		.LVL744:
		.LFE209:
				.align	2
		DELETENAMES.7961:
		.LFB197:
				adrp	x0, :got:IMPCOM
				ldr	x0, [x0, #:got_lo12:IMPCOM]
				str	wzr, [x0, 4]
		.LVL1014:
 2719 impcom_option = ""
				adrp	x0, .LANCHOR4
				add	x0, x0, :lo12:.LANCHOR4
				add	x0, x0, 1752
				ldr	w1, [x29, 108]
				sub	w1, w1, #1
				ldr	x0, [x0, w1, sxtw 3]
				b	.L717
		.LVL692:
		.L685:
				b	.L686
		.L688:
 2720
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 5144]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L759
				ldp	x19, x20, [sp, 32]
				ldp	x21, x22, [sp, 48]
				ldp	x23, x24, [sp, 64]
				ldr	x25, [sp, 80]
				ldp	x29, x30, [sp, 16]
				mov	x16, 5168
				add	sp, sp, x16
		.LVL476:
				ret
		.LVL477:
		.L755:
 2721    list = 15 %IF Impcom_Flags&x'1000' # 0
				mov	x2, 255
				add	x1, x29, 328
				add	x0, x0, 280
				bl	_imp_strncpy
		.LVL1015:
 2722
				adrp	x0, .LANCHOR2+2840
				mov	w1, 15
				str	w1, [x0, #:lo12:.LANCHOR2+2840]
		.LDL49:
		.LBB746:
 2723    open output(2, "LISTING");
				adrp	x22, .LANCHOR5
				add	x22, x22, :lo12:.LANCHOR5
				add	x21, x29, 1096
				mov	x20, 256
				mov	x2, x20
				add	x1, x22, 2232
				mov	x0, x21
				bl	memcpy
		.LVL1016:
				add	x23, x29, 584
				mov	x2, x20
				mov	x1, x21
				mov	x0, x23
				bl	memcpy
		.LVL1017:
		.LBE746:
				add	x19, x29, 64
				mov	x2, x20
				mov	x1, x23
				mov	x0, x19
				bl	memcpy
		.LVL1018:
				mov	x1, x19
				mov	w0, 2
				bl	OPENOUTPUT
		.LVL1019:
		.LBB747:
 2724    open input(2, "prims-null.inc");
				mov	x2, x20
				add	x1, x22, 2488
				mov	x0, x21
				bl	memcpy
		.LVL1020:
				add	x0, x29, 840
				mov	x2, x20
				mov	x1, x21
				mov	x21, x0
				bl	memcpy
		.LVL1021:
		.LBE747:
				mov	x2, x20
				mov	x1, x21
				mov	x0, x19
				bl	memcpy
		.LVL1022:
				mov	x1, x19
				mov	w0, 2
				bl	OPENINPUT
		.LVL1023:
		.LBB748:
		.LBB749:
				mov	w20, 2
				adrp	x0, :got:_imp_InStream
				ldr	x0, [x0, #:got_lo12:_imp_InStream]
				str	w20, [x0]
				adrp	x0, :got:_imp_infile
				ldr	x0, [x0, #:got_lo12:_imp_infile]
				ldr	x1, [x0, 584]
				adrp	x0, :got:_imp_InFile
				ldr	x0, [x0, #:got_lo12:_imp_InFile]
				str	x1, [x0]
				adrp	x19, .LANCHOR3
				add	x19, x19, :lo12:.LANCHOR3
				add	x0, x19, 1720
				bl	check_instream
		.LVL1024:
		.LBE749:
		.LBE748:
		.LBB750:
		.LBB751:
				adrp	x0, :got:_imp_OutStream
				ldr	x0, [x0, #:got_lo12:_imp_OutStream]
				str	w20, [x0]
				adrp	x0, :got:_imp_outfile
				ldr	x0, [x0, #:got_lo12:_imp_outfile]
				ldr	x1, [x0, 584]
				adrp	x0, :got:_imp_OutFile
				ldr	x0, [x0, #:got_lo12:_imp_OutFile]
				str	x1, [x0]
				add	x0, x19, 256
				bl	check_outstream
		.LVL1025:
		.LBE751:
		.LBE750:
 2725    select input(2);  selectoutput(listing)
 2726    tag(max tag) = 0;                       !%BEGIN defn
				add	x0, x29, 12288
				add	x0, x0, 2844
				stp	xzr, xzr, [x0]
 2727    tag(0) = 0;  tag(0)_flags = 7;          !%BEGIN tag!
				add	x0, x29, 2332
				stp	xzr, xzr, [x0]
 2728    Hash(x) = 0 %FOR x = 0, 1, max names
				mov	w0, 7
				strh	w0, [x29, 2340]
				mov	w0, 0
 2729    printstring("         Edinburgh IMP77 Compiler - Version ")
				add	x21, x29, 1096
				mov	x20, 256
				mov	x2, x20
				adrp	x1, .LANCHOR5
				add	x1, x1, :lo12:.LANCHOR5
				add	x1, x1, 2744
				mov	x0, x21
				bl	memcpy
		.LVL1026:
				add	x19, x29, 1352
				mov	x2, x20
				mov	x1, x21
				mov	x0, x19
				bl	memcpy
		.LVL1027:
				add	x21, x29, 1608
				mov	x2, x20
				mov	x1, x19
				mov	x0, x21
				bl	memcpy
		.LVL1028:
		.LBE752:
		.LBB753:
		.LBB754:
				add	x19, x29, 64
				mov	x2, x20
				mov	x1, x21
				mov	x0, x19
				bl	memcpy
		.LVL1029:
				mov	x0, x19
				bl	_imp_printstring
		.LVL1030:
				strb	wzr, [x29, 1864]
		.LBE754:
		.LBE753:
		.LBB755:
		.LBB756:
				mov	x2, x20
				add	x1, x29, 1864
				mov	x0, x19
				bl	memcpy
		.LVL1031:
				mov	x0, x19
				bl	_imp_printstring
		.LVL1032:
		.LBE756:
		.LBE755:
		.LBB757:
		.LBB758:
				mov	w0, 2
				bl	_imp_newlines
		.LVL1033:
		.LBE758:
		.LBE757:
 2730    printstring(version);  newlines(2)
 2731    op('l', 0)
				cmp	w0, 2048
				bne	.L950
		.LDL51:
				adrp	x22, .LANCHOR0
				add	x23, x22, :lo12:.LANCHOR0
				mov	w0, 2047
				str	w0, [x23, 208]
		.LBB752:
				add	x19, x29, 2120
				mov	x18, x19
				mov	w1, 0
				mov	w0, 108
				bl	OP.7946
		.LVL1034:
 2732    compile block(0, 0, max dict, 0, 0)
				mov	x18, x19
				mov	w4, 0
				mov	w3, 0
				mov	w2, 6000
				mov	w1, 0
				mov	w0, 0
				bl	COMPILEBLOCK.7956
		.LVL1035:
				ldr	w1, [x22, #:lo12:.LANCHOR0]
				add	w0, w1, 1
				str	w0, [x22, #:lo12:.LANCHOR0]
 2733    bp=bp+1 %AND buff(bp)=nl                {for bouncing off}
				mov	x2, 10792
				add	x1, x29, 2124
		.L950:
				add	x3, x2, x0, sxtw
				strh	wzr, [x1, x3, lsl 1]
		.LDL50:
				add	w0, w0, 1
 2734    flush buffer
				add	x0, x29, 106496
				add	x0, x0, 334
				mov	w2, 10
				strb	w2, [x0, w1, sxtw]
				mov	x18, x19
				bl	FLUSHBUFFER.7840
		.LVL1036:
 2735    Impcom_Statements = stats
				ldr	w1, [x23, 640]
				adrp	x0, :got:IMPCOM
				ldr	x0, [x0, #:got_lo12:IMPCOM]
				str	w1, [x0]
		.LDL52:
		.LVL1037:
		.LBB759:
		.LBB760:
				mov	w0, 0
				bl	exit
		.LVL1038:
		.L948:
		.LBE760:
		.LBE759:
 2736    Impcom_Statements = -faulty %IF faulty # 0
 2737 %ENDOFPROGRAM
 2310 Statements compiled
