         Edinburgh IMP77 Compiler - Version 8.4
    1 ! IMP77 compiler  first pass
		.Ltext0:
				.align	2
		ADDCHAR.7828:
		.LFB187:
    2
    3 !###########################################################
    4 ! This program is a Copyright work.                        #
    5 !                                                          #
    6 ! Over the last 40+ years a long and distinguished list of #
    7 ! institutions, individuals and other entities have made   #
    8 ! contributions to portions of this program and may have a #
    9 ! reasonable claim over rights to certain parts of the     #
   10 ! program.                                                 #
   11 !                                                          #
   12 ! This version is therefore provided for education and     #
   13 ! demonstration purposes only                              #
   14 !###########################################################
   15
   16 %begin
		.LVL1087:
				sub	sp, sp, #3824
				sub	sp, sp, #135168
				stp	x29, x30, [sp]
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				stp	x21, x22, [sp, 32]
				stp	x23, x24, [sp, 48]
				str	x25, [sp, 64]
				adrp	x2, :got:__stack_chk_guard
				ldr	x2, [x2, #:got_lo12:__stack_chk_guard]
				add	x3, x29, 131072
				ldr	x4, [x2]
				str	x4, [x3, 7912]
				mov	x4,0
				mov	x2, x3
				add	x3, x29, 135168
				add	x3, x3, 3824
				str	x3, [x2, 7904]
   17     %conststring(4) version = "8.4"
				bl	_imp_initialise
		.LVL1088:
   18
   19     !configuration parameters
   20     { minus one represents all bits set for an %integer     }
   21     { %integer could be 16,32,64 bits wide depending on the }
   22     { processor being targeted                              }
   23     { i.e 8086 (16 bits), 80386 (32 bits), i86_64 (64 bits) }
   24     %constinteger minus one    = -1;
   25 ! Wee change needed to cross-compile the compiler when going from 16 bit to 32 bit world
   26 !    %constinteger minus one    = 16_7fff;
   27
   28     { now to set up various constants }
   29     %constinteger max int      = ((minus one)>>1)//10
   30     %constinteger max dig      = (minus one)>>1-maxint*10
   31     %constinteger byte size    = 8;            !bits per byte
   32     %constinteger max tag      = 800;          !max no. of tags
   33     %constinteger max dict     = 6000;         !max extent of dictionary
   34     %constinteger name bits    = 11;           !size of name table as a power of two
   35     %constinteger max names    = 1<<namebits-1;!table limit (a mask, eg 255)
   36     %owninteger   spare names  = max names
   37     %constinteger lit max      = 50;           !max no. of constants/stat.
   38     %constinteger rec size     = 520;          !size of analysis record
   39     %constinteger dim limit    = 6;            !maximum array dimension
   40
   41     !symbols
   42     %constinteger ff     = 12;              !form feed
   43     %constinteger marker = '^';             !marker for faults
   44     %constinteger squote = '"';             !string quote
   45     %constinteger cquote = '''';            !character quote
   46
   47     !streams
   48     %constinteger report = 0,  source = 1
   49     %constinteger object = 1, listing = 2
   50
   51     !types
   52     %constinteger integer = 1
   53     %constinteger real    = 2
   54     %constinteger stringv = 3
   55     %constinteger record  = 4
   56
   57     !forms
   58     %constinteger iform = integer<<4+1
   59     %constinteger var = 91
   60     %constinteger const   = 93
   61     %constinteger swit    = 105
   62     %constinteger comment = 22
   63     %constinteger termin  = 20
   64     %constinteger lab     = 3
   65     %constinteger jump    = 54
   66     %constinteger recfm = 4
   67     %constinteger proc  = 7;                     !class for proc
   68
   69     !phrase entries
   70     %constinteger escdec   = 252
   71     %constinteger escproc  = 253
   72     %constinteger escarray = 254
   73     %constinteger escrec   = 255
   74
   75     !%recordformat arfm(%shortinteger class,sub,link,ptype,papp,pformat,x,pos);!imp77:
   76     %recordformat arfm(%integer class,sub,link,ptype,papp,pformat,x,pos)
   77
   78     %recordformat tagfm(%integer app, format, %integer flags, index, text, link)
   79
   80     !flags
   81     !      *===.===.===.===.===.====.====.====.===.======.======*
   82     !      ! u ! c ! c ! p ! s ! a  ! o  ! pr ! s ! type ! form !
   83     !      ! 1 ! 1 ! 1 ! 1 ! 1 ! 1  ! 1  ! 1  ! 1 !  3   !  4   !
   84     !      *===^===^===^===^===^====^====^====^===^======^======*
   85     !        u   c   c   p   s   a    o    p    s    t      f
   86     !        s   l   o   a   u   n    w    r    p    y      o
   87     !        e   o   n   r   b   a    n    o    e    p      r
   88     !        d   s   s   a   n   m         t    c    e      m
   89     !            e   t   m   a   e
   90     !            d       s   m
   91     !                        e
   92     !
   93     !
   94
   95     %constinteger used bit   = 2_1000000000000000
   96     %constinteger closed     = 2_0100000000000000
   97     %constinteger const bit  = 2_0010000000000000
   98     %constinteger parameters = 2_0001000000000000
   99     %constinteger subname    = 2_0000100000000000
  100     %constinteger aname      = 2_0000010000000000
  101     %constinteger own bit    = 2_0000001000000000
  102     %constinteger prot       = 2_0000000100000000
  103     %constinteger spec       = 2_0000000010000000
  104
  105     %constinteger trans bit  = 16_4000
  106     %constinteger error      = 16_8000
  107
  108     %record(arfm)%array ar(1:rec size)
  109
  110     %owninteger class        = 0;             !class of atom wanted
  111     %owninteger x            = 0;             !usually last tag
  112     %owninteger atom1        = 0;             !atom class (major)
  113     %owninteger atom2        = 0;             !atom class (minor)
  114     %owninteger subatom      = 0;             !extra info about atom
  115     %owninteger type         = 0
  116     %owninteger app          = 0
  117     %owninteger format       = 0;             !atom info
  118     %integer hash value
  119     %owninteger faulty       = 0;             !fault indicator
  120     %owninteger fault rate   = 0;             !fault rate count
  121     %owninteger lines        = 0;             !current line number
  122     %owninteger text line    = 0;             !starting line for string const
  123     %owninteger margin       = 0;             !statement start margin
  124     %owninteger error margin = 0
  125     %owninteger error sym    = 0
  126     %owninteger column       = 0
  127     %owninteger stats        = 0;             !statements compiled
  128     %owninteger mon pos      = 0;             !flag for diagnose
  129     %owninteger sym          = nl;            !current input symbol
  130     %owninteger symtype      = 0;             !type of current symbol
  131     %owninteger quote        = 0;             !>0 strings, <0 chars
  132     %owninteger end mark     = 0;             !%end flag
  133     %owninteger cont         = ' '
  134     %owninteger csym         = ' ';           !listing continuation marker
  135     %owninteger decl         = 0;             !current declarator flags
  136     %owninteger dim          = 0;             !arrayname dimension
  137     %owninteger spec given   = 0
  138
  139     %owninteger escape class = 0;             !when and where to escape
  140     %owninteger protection   = 0
  141     %owninteger atom flags   = 0
  142     %owninteger otype        = 0;             !current 'own' type
  143     %owninteger reals ln     = 1;             ! =4 for %REALSLONG
  144     %owninteger last1        = 0;             !previous atom class
  145     %owninteger gen type     = 0
  146     %owninteger ptype        = 0;             !current phrase type
  147     %owninteger papp         = 0;             !current phrase parameters
  148     %owninteger pformat      = 0;             !current phrase format
  149     %owninteger force        = 0;             !force next ptype
  150     %owninteger g            = 0
  151     %owninteger gg           = 0
  152     %owninteger map gg       = 0;             !grammar entries
  153     %owninteger fdef         = 0;             !current format definition
  154     %owninteger this         = -1;            !current recordformat tag
  155     %owninteger nmin         = 0;             !analysis record atom pointer
  156     %owninteger nmax         = 0;             !analysis record phrase pointer
  157     %owninteger rbase        = 0;             !record format definition base
  158     %owninteger dmax         = 1
  159     %owninteger tmin         = max tag;       !upper bound on tags
  160     %owninteger ss           = 0;             !source statement entry
  161     %string(63) include file
  162     %owninteger include list = 0
  163     %owninteger include level= 0
  164     %owninteger include      = 0;             !=0 unused, #0 being used
  165     %owninteger perm         = 1;             !1 = compiling perm, 0 = program
  166     %owninteger progmode     = 0;             !-1 = file, 1 = begin/eop
  167     %owninteger sstype       = 0;             !-1:exec stat
  168                                               ! 0: declaration
  169                                               ! 1: block in
  170                                               ! 2: block out
  171     %owninteger spec mode    = 0;             !>=0: definition
  172                                               ! -1: proc spec
  173                                               ! -2: recordformat
  174     %owninteger ocount       = -1;            !own constants wanted
  175     %owninteger limit        = 0;             !lookup limit
  176     %owninteger copy         = 0;             !duplicate name flag
  177     %owninteger order        = 0;             !out of sequence flag
  178     %owninteger for warn     = 0;             !non-local flag
  179     %owninteger dubious      = 0;             !flag for dubious statements
  180     %owninteger dp           = 1
  181     %owninteger pos1         = 0
  182     %owninteger pos2         = 0;             !error position
  183     %owninteger pos          = 0;             !input line index
  184     %owninteger dimension    = 0;             !current array dimension
  185     %owninteger local        = 0;             !search limit for locals
  186     %owninteger fm base      = 0;             !entry for format decls
  187     %owninteger search base  = 0;             !entry for record_names
  188     %owninteger format list  = 0;             !size of current format list
  189     %integer recid
  190     %ownbyteintegerarray char(0:133) = ;  !input line
  191     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  192     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  193     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  194     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  195     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  196     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  197     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  198     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  199     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  200     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  201     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  202     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  203     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  204     10, 10, 10, 10
  205     %integerarray lit pool(0:lit max)
  206     %owninteger lit          = 0;             !current literal (integer)
  207     %owninteger lp           = 0;             !literals pointer
  208     %owninteger block x      = 0;             !block tag
  209     %owninteger list         = 1;             !<= to enable
  210     %owninteger control      = 0
  211     %owninteger diag         = 0;             !diagnose flags
  212     %integerarray hash(0:max names)
  213     %record(tagfm)%array tag(0:max tag)
  214     %integerarray dict(1:max dict)
  215     %byteintegerarray buff(1:512)
  216     %owninteger bp           = 0
  217
  218     { grammar related constants }
  219     %constinteger max grammar  = 1720
  220     %owninteger gmin       = max grammar               ;! upper bound on grammar
  221     %constinteger manifest = 120, figurative = 130
  222     %constinteger actions  = 180, phrasal    = 200
  223
  224     %constbyteintegerarray amap(0:15) = %c
				mov	w0, 89
				add	x1, x29, 69632
				strb	w0, [x1, 3020]
				mov	w1, 91
				add	x2, x29, 69632
				strb	w1, [x2, 3021]
				mov	w1, 92
				strb	w1, [x2, 3022]
				mov	w1, 104
				strb	w1, [x2, 3023]
				mov	w1, 94
				strb	w1, [x2, 3024]
				mov	w1, 93
				strb	w1, [x2, 3025]
				mov	w1, 105
				strb	w1, [x2, 3026]
				mov	w1, 100
				strb	w1, [x2, 3027]
				mov	w1, 101
				strb	w1, [x2, 3028]
				mov	w1, 102
				strb	w1, [x2, 3029]
				mov	w1, 103
				strb	w1, [x2, 3030]
				mov	w1, 106
				strb	w1, [x2, 3031]
				mov	w1, 107
				strb	w1, [x2, 3032]
				mov	w1, 108
				strb	w1, [x2, 3033]
				mov	w1, 109
				strb	w1, [x2, 3034]
				strb	w0, [x2, 3035]
  225        89,   91,   92,  104,   94,   93,  105,  100,  101,  102,  103,  106,  107,  108,  109,   89
  226     !   ?     v     n     l    fm const  swit    rp    fp    mp    pp     a    an    na    nan    ?
  227
  228     %constbyteintegerarray atoms(0:15) = 89, 1, 1, 10,  9,  1, 10,  7,
				strb	w0, [x2, 2954]
				mov	w21, 1
				strb	w21, [x2, 2955]
				strb	w21, [x2, 2956]
				mov	w1, 10
				strb	w1, [x2, 2957]
				mov	w2, 9
				add	x3, x29, 69632
				strb	w2, [x3, 2958]
				strb	w21, [x3, 2959]
				strb	w1, [x3, 2960]
				mov	w20, 7
				strb	w20, [x3, 2961]
				strb	w20, [x3, 2962]
				strb	w20, [x3, 2963]
				strb	w20, [x3, 2964]
				mov	w19, 4
				strb	w19, [x3, 2965]
				strb	w21, [x3, 2966]
				strb	w19, [x3, 2967]
				strb	w21, [x3, 2968]
				strb	w0, [x3, 2969]
  229                                           7, 7, 7,  4,  1,  4,  1, 89
  230
  231     !*** start of generated tables ***
  232 !    %include "i77.tables.imp"
  233    %endoflist
  572 !%endoffile
				mov	x2, 65536
				mov	w1, 0
				add	x0, x29, 69632
				add	x0, x0, 3036
				bl	memset
		.LVL1089:
				add	x0, x29, 69632
				strb	w21, [x0, 3036]
				mov	x0, 90
				add	x1, x29, 69632
				add	x1, x1, 3072
				str	x0, [x1, -35]
				add	x0, x29, 69632
				strb	w19, [x0, 3292]
				mov	x0, 17494
				movk	x0, 0x4345, lsl 16
				str	x0, [x1, 221]
				add	x0, x29, 69632
				strb	w20, [x0, 3548]
				mov	x0, 22351
				movk	x0, 0x564e, lsl 16
				movk	x0, 0x4544, lsl 32
				movk	x0, 0x43, lsl 48
				add	x1, x29, 69632
				add	x1, x1, 3584
				str	x0, [x1, -35]
				mov	w4, 8
				add	x0, x29, 69632
				strb	w4, [x0, 3804]
				mov	x0, 22597
				movk	x0, 0x5654, lsl 16
				movk	x0, 0x5053, lsl 32
				movk	x0, 0x4345, lsl 48
				str	x0, [x1, 221]
				add	x0, x29, 69632
				strb	w19, [x0, 4060]
				mov	x0, 17473
				movk	x0, 0x4345, lsl 16
				add	x1, x29, 73728
				str	x0, [x1, -35]
				strb	w20, [x1, 220]
				mov	x0, 22351
				movk	x0, 0x414e, lsl 16
				movk	x0, 0x4544, lsl 32
				movk	x0, 0x43, lsl 48
				str	x0, [x1, 221]
				strb	w4, [x1, 476]
				mov	x0, 22597
				movk	x0, 0x4154, lsl 16
				movk	x0, 0x5053, lsl 32
				movk	x0, 0x4345, lsl 48
				add	x1, x29, 73728
				add	x1, x1, 512
				str	x0, [x1, -35]
				add	x0, x29, 73728
				strb	w19, [x0, 732]
				mov	x0, 21072
				movk	x0, 0x434f, lsl 16
				str	x0, [x1, 221]
				add	x0, x29, 73728
				strb	w4, [x0, 988]
				mov	x0, 21072
				movk	x0, 0x434f, lsl 16
				movk	x0, 0x5053, lsl 32
				movk	x0, 0x4345, lsl 48
				add	x1, x29, 73728
				add	x1, x1, 1024
				str	x0, [x1, -35]
				add	x0, x29, 73728
				strb	w20, [x0, 1244]
				mov	x0, 20294
				movk	x0, 0x4d52, lsl 16
				movk	x0, 0x4544, lsl 32
				movk	x0, 0x43, lsl 48
				str	x0, [x1, 221]
				mov	w0, 5
				add	x1, x29, 73728
				strb	w0, [x1, 1500]
				mov	x1, 22355
				movk	x1, 0x4544, lsl 16
				movk	x1, 0x43, lsl 32
				add	x2, x29, 73728
				add	x2, x2, 1536
				str	x1, [x2, -35]
				add	x1, x29, 73728
				strb	w19, [x1, 1756]
				mov	x1, 17484
				movk	x1, 0x4345, lsl 16
				str	x1, [x2, 221]
				add	x1, x29, 73728
				strb	w4, [x1, 2012]
				mov	x1, 20294
				movk	x1, 0x4d52, lsl 16
				movk	x1, 0x5053, lsl 32
				movk	x1, 0x4345, lsl 48
				add	x2, x29, 73728
				add	x2, x2, 2048
				str	x1, [x2, -35]
				mov	w1, 6
				add	x2, x29, 73728
				strb	w1, [x2, 3548]
				mov	x2, 20559
				movk	x2, 0x4954, lsl 16
				movk	x2, 0x4e4f, lsl 32
				add	x3, x29, 73728
				add	x3, x3, 3584
				str	x2, [x3, -35]
				add	x2, x29, 73728
				strb	w0, [x2, 3804]
				mov	x2, 20291
				movk	x2, 0x4d4d, lsl 16
				movk	x2, 0x41, lsl 32
				str	x2, [x3, 221]
				add	x2, x29, 73728
				strb	w21, [x2, 4060]
				mov	x2, 84
				add	x3, x29, 77824
				str	x2, [x3, -35]
				strb	w0, [x3, 220]
				mov	x2, 20291
				movk	x2, 0x4f4c, lsl 16
				movk	x2, 0x4e, lsl 32
				str	x2, [x3, 221]
				strb	w20, [x3, 476]
				mov	x2, 20291
				movk	x2, 0x4d4d, lsl 16
				movk	x2, 0x4e45, lsl 32
				movk	x2, 0x54, lsl 48
				add	x3, x29, 77824
				add	x3, x3, 512
				str	x2, [x3, -35]
				mov	w3, 2
				add	x2, x29, 77824
				strb	w3, [x2, 732]
				mov	x2, 16972
				add	x5, x29, 77824
				add	x5, x5, 512
				str	x2, [x5, 221]
				add	x2, x29, 77824
				strb	w0, [x2, 988]
				mov	x2, 19521
				movk	x2, 0x4149, lsl 16
				movk	x2, 0x53, lsl 32
				add	x5, x29, 77824
				add	x5, x5, 1024
				str	x2, [x5, -35]
				add	x2, x29, 77824
				strb	w3, [x2, 1244]
				mov	x2, 16978
				str	x2, [x5, 221]
				mov	w2, 3
				add	x5, x29, 77824
				strb	w2, [x5, 1500]
				mov	x5, 21843
				movk	x5, 0x42, lsl 16
				add	x6, x29, 77824
				add	x6, x6, 1536
				str	x5, [x6, -35]
				add	x5, x29, 77824
				strb	w1, [x5, 1756]
				mov	x5, 21057
				movk	x5, 0x4152, lsl 16
				movk	x5, 0x4459, lsl 32
				str	x5, [x6, 221]
				add	x5, x29, 77824
				strb	w0, [x5, 2012]
				mov	x5, 21587
				movk	x5, 0x5059, lsl 16
				movk	x5, 0x45, lsl 32
				add	x6, x29, 77824
				add	x6, x6, 2048
				str	x5, [x6, -35]
				add	x5, x29, 77824
				strb	w0, [x5, 2268]
				mov	x5, 21057
				movk	x5, 0x4152, lsl 16
				movk	x5, 0x59, lsl 32
				str	x5, [x6, 221]
				add	x5, x29, 77824
				strb	w19, [x5, 2524]
				mov	x5, 16718
				movk	x5, 0x454d, lsl 16
				add	x6, x29, 77824
				add	x6, x6, 2560
				str	x5, [x6, -35]
				add	x5, x29, 77824
				strb	w0, [x5, 2780]
				mov	x5, 21072
				movk	x5, 0x434f, lsl 16
				movk	x5, 0x44, lsl 32
				str	x5, [x6, 221]
				add	x5, x29, 77824
				strb	w0, [x5, 3036]
				mov	x5, 20038
				movk	x5, 0x414d, lsl 16
				movk	x5, 0x50, lsl 32
				add	x6, x29, 77824
				add	x6, x6, 3072
				str	x5, [x6, -35]
				add	x5, x29, 77824
				strb	w1, [x5, 3292]
				mov	x5, 22355
				movk	x5, 0x5449, lsl 16
				movk	x5, 0x4843, lsl 32
				str	x5, [x6, 221]
				add	x5, x29, 77824
				strb	w2, [x5, 3548]
				mov	x5, 22351
				movk	x5, 0x4e, lsl 16
				add	x6, x29, 77824
				add	x6, x6, 3584
				str	x5, [x6, -35]
				add	x5, x29, 77824
				strb	w4, [x5, 3804]
				mov	x5, 22597
				movk	x5, 0x4554, lsl 16
				movk	x5, 0x4e52, lsl 32
				movk	x5, 0x4c41, lsl 48
				str	x5, [x6, 221]
				add	x5, x29, 77824
				strb	w1, [x5, 4060]
				mov	x5, 21587
				movk	x5, 0x4952, lsl 16
				movk	x5, 0x474e, lsl 32
				add	x6, x29, 81920
				str	x5, [x6, -35]
				strb	w1, [x6, 220]
				mov	x5, 17746
				movk	x5, 0x4f43, lsl 16
				movk	x5, 0x4452, lsl 32
				str	x5, [x6, 221]
				strb	w1, [x6, 476]
				mov	x5, 20294
				movk	x5, 0x4d52, lsl 16
				movk	x5, 0x5441, lsl 32
				add	x6, x29, 81920
				add	x6, x6, 512
				str	x5, [x6, -35]
				add	x5, x29, 81920
				strb	w19, [x5, 732]
				mov	x5, 20563
				movk	x5, 0x4345, lsl 16
				str	x5, [x6, 221]
				add	x5, x29, 81920
				strb	w0, [x5, 988]
				mov	x5, 17229
				movk	x5, 0x444f, lsl 16
				movk	x5, 0x45, lsl 32
				add	x6, x29, 81920
				add	x6, x6, 1024
				str	x5, [x6, -35]
				add	x5, x29, 81920
				strb	w0, [x5, 1244]
				mov	x5, 16716
				movk	x5, 0x4542, lsl 16
				movk	x5, 0x4c, lsl 32
				str	x5, [x6, 221]
				add	x5, x29, 81920
				strb	w2, [x5, 1500]
				mov	x5, 20559
				movk	x5, 0x31, lsl 16
				add	x6, x29, 81920
				add	x6, x6, 1536
				str	x5, [x6, -35]
				add	x5, x29, 81920
				strb	w2, [x5, 1756]
				mov	x5, 20559
				movk	x5, 0x32, lsl 16
				str	x5, [x6, 221]
				add	x5, x29, 81920
				strb	w2, [x5, 2012]
				mov	x5, 20559
				movk	x5, 0x33, lsl 16
				add	x6, x29, 81920
				add	x6, x6, 2048
				str	x5, [x6, -35]
				add	x5, x29, 81920
				strb	w19, [x5, 2268]
				mov	x5, 18771
				movk	x5, 0x4e47, lsl 16
				str	x5, [x6, 221]
				add	x5, x29, 81920
				strb	w2, [x5, 2524]
				mov	x5, 20309
				movk	x5, 0x50, lsl 16
				add	x6, x29, 81920
				add	x6, x6, 2560
				str	x5, [x6, -35]
				add	x5, x29, 81920
				strb	w2, [x5, 2780]
				mov	x5, 20301
				movk	x5, 0x44, lsl 16
				str	x5, [x6, 221]
				add	x5, x29, 81920
				strb	w2, [x5, 3036]
				mov	x5, 20292
				movk	x5, 0x54, lsl 16
				add	x6, x29, 81920
				add	x6, x6, 3072
				str	x5, [x6, -35]
				add	x5, x29, 81920
				strb	w19, [x5, 3292]
				mov	x5, 20291
				movk	x5, 0x504d, lsl 16
				str	x5, [x6, 221]
				add	x5, x29, 81920
				strb	w0, [x5, 3548]
				mov	x5, 17217
				movk	x5, 0x4d4f, lsl 16
				movk	x5, 0x50, lsl 32
				add	x6, x29, 81920
				add	x6, x6, 3584
				str	x5, [x6, -35]
				add	x5, x29, 81920
				strb	w3, [x5, 3804]
				mov	x5, 20805
				str	x5, [x6, 221]
				add	x5, x29, 81920
				strb	w19, [x5, 4060]
				mov	x5, 20805
				movk	x5, 0x5145, lsl 16
				add	x6, x29, 86016
				str	x5, [x6, -35]
				strb	w2, [x6, 220]
				mov	x5, 16714
				movk	x5, 0x4d, lsl 16
				str	x5, [x6, 221]
				strb	w19, [x6, 476]
				mov	x5, 21834
				movk	x5, 0x504d, lsl 16
				add	x6, x29, 86016
				add	x6, x6, 512
				str	x5, [x6, -35]
				add	x5, x29, 86016
				strb	w0, [x5, 732]
				mov	x5, 17746
				movk	x5, 0x4f53, lsl 16
				movk	x5, 0x50, lsl 32
				str	x5, [x6, 221]
				add	x5, x29, 86016
				strb	w2, [x5, 988]
				mov	x5, 20033
				movk	x5, 0x44, lsl 16
				add	x6, x29, 86016
				add	x6, x6, 1024
				str	x5, [x6, -35]
				add	x5, x29, 86016
				strb	w3, [x5, 1244]
				mov	x5, 21071
				str	x5, [x6, 221]
				add	x5, x29, 86016
				strb	w2, [x5, 1500]
				mov	x5, 20302
				movk	x5, 0x54, lsl 16
				add	x6, x29, 86016
				add	x6, x6, 1536
				str	x5, [x6, -35]
				add	x5, x29, 86016
				strb	w0, [x5, 1756]
				mov	x5, 18519
				movk	x5, 0x4c49, lsl 16
				movk	x5, 0x45, lsl 32
				str	x5, [x6, 221]
				add	x5, x29, 86016
				strb	w0, [x5, 2012]
				mov	x5, 20053
				movk	x5, 0x4954, lsl 16
				movk	x5, 0x4c, lsl 32
				add	x6, x29, 86016
				add	x6, x6, 2048
				str	x5, [x6, -35]
				add	x5, x29, 86016
				strb	w2, [x5, 2268]
				mov	x5, 20294
				movk	x5, 0x52, lsl 16
				str	x5, [x6, 221]
				add	x5, x29, 86016
				strb	w0, [x5, 2524]
				mov	x5, 22339
				movk	x5, 0x524f, lsl 16
				movk	x5, 0x44, lsl 32
				add	x6, x29, 86016
				add	x6, x6, 2560
				str	x5, [x6, -35]
				add	x5, x29, 86016
				strb	w19, [x5, 2780]
				mov	x5, 22597
				movk	x5, 0x5449, lsl 16
				str	x5, [x6, 221]
				add	x5, x29, 86016
				strb	w3, [x5, 3036]
				mov	x5, 20047
				add	x6, x29, 86016
				add	x6, x6, 3072
				str	x5, [x6, -35]
				add	x5, x29, 86016
				strb	w1, [x5, 3292]
				mov	x5, 18771
				movk	x5, 0x4e47, lsl 16
				movk	x5, 0x4c41, lsl 32
				str	x5, [x6, 221]
				add	x5, x29, 86016
				strb	w19, [x5, 3548]
				mov	x5, 18516
				movk	x5, 0x4e45, lsl 16
				add	x6, x29, 86016
				add	x6, x6, 3584
				str	x5, [x6, -35]
				add	x5, x29, 86016
				strb	w0, [x5, 3804]
				mov	x5, 21587
				movk	x5, 0x5241, lsl 16
				movk	x5, 0x54, lsl 32
				str	x5, [x6, 221]
				add	x5, x29, 86016
				strb	w19, [x5, 4060]
				mov	x5, 19525
				movk	x5, 0x4553, lsl 16
				add	x6, x29, 90112
				str	x5, [x6, -35]
				strb	w1, [x6, 220]
				mov	x5, 18758
				movk	x5, 0x494e, lsl 16
				movk	x5, 0x4853, lsl 32
				str	x5, [x6, 221]
				strb	w0, [x6, 476]
				mov	x5, 17734
				movk	x5, 0x534c, lsl 16
				movk	x5, 0x45, lsl 32
				add	x6, x29, 90112
				add	x6, x6, 512
				str	x5, [x6, -35]
				add	x5, x29, 90112
				strb	w0, [x5, 732]
				mov	x5, 22851
				movk	x5, 0x4c43, lsl 16
				movk	x5, 0x45, lsl 32
				str	x5, [x6, 221]
				add	x5, x29, 90112
				strb	w1, [x5, 988]
				mov	x5, 17746
				movk	x5, 0x4550, lsl 16
				movk	x5, 0x5441, lsl 32
				add	x6, x29, 90112
				add	x6, x6, 1024
				str	x5, [x6, -35]
				add	x5, x29, 90112
				strb	w20, [x5, 1244]
				mov	x5, 21072
				movk	x5, 0x474f, lsl 16
				movk	x5, 0x4152, lsl 32
				movk	x5, 0x4d, lsl 48
				str	x5, [x6, 221]
				add	x5, x29, 90112
				strb	w0, [x5, 1500]
				mov	x5, 17730
				movk	x5, 0x4947, lsl 16
				movk	x5, 0x4e, lsl 32
				add	x6, x29, 90112
				add	x6, x6, 1536
				str	x5, [x6, -35]
				add	x5, x29, 90112
				strb	w2, [x5, 1756]
				mov	x5, 20037
				movk	x5, 0x44, lsl 16
				str	x5, [x6, 221]
				add	x5, x29, 90112
				strb	w20, [x5, 2012]
				mov	x5, 20037
				movk	x5, 0x5044, lsl 16
				movk	x5, 0x4f52, lsl 32
				movk	x5, 0x47, lsl 48
				add	x6, x29, 90112
				add	x6, x6, 2048
				str	x5, [x6, -35]
				add	x5, x29, 90112
				strb	w20, [x5, 2268]
				mov	x5, 20037
				movk	x5, 0x5044, lsl 16
				movk	x5, 0x5245, lsl 32
				movk	x5, 0x4d, lsl 48
				str	x5, [x6, 221]
				add	x5, x29, 90112
				strb	w20, [x5, 2524]
				mov	x5, 21062
				movk	x5, 0x5345, lsl 16
				movk	x5, 0x4c55, lsl 32
				movk	x5, 0x54, lsl 48
				add	x6, x29, 90112
				add	x6, x6, 2560
				str	x5, [x6, -35]
				add	x5, x29, 90112
				strb	w20, [x5, 2780]
				mov	x5, 21069
				movk	x5, 0x5345, lsl 16
				movk	x5, 0x4c55, lsl 32
				movk	x5, 0x54, lsl 48
				str	x5, [x6, 221]
				add	x5, x29, 90112
				strb	w19, [x5, 3036]
				mov	x5, 16706
				movk	x5, 0x4b43, lsl 16
				add	x6, x29, 90112
				add	x6, x6, 3072
				str	x5, [x6, -35]
				add	x5, x29, 90112
				strb	w20, [x5, 3292]
				mov	x5, 20301
				movk	x5, 0x494e, lsl 16
				movk	x5, 0x4f54, lsl 32
				movk	x5, 0x52, lsl 48
				str	x5, [x6, 221]
				add	x5, x29, 90112
				strb	w19, [x5, 3548]
				mov	x5, 21587
				movk	x5, 0x504f, lsl 16
				add	x6, x29, 90112
				add	x6, x6, 3584
				str	x5, [x6, -35]
				add	x5, x29, 90112
				strb	w19, [x5, 3804]
				mov	x5, 18764
				movk	x5, 0x5453, lsl 16
				str	x5, [x6, 221]
				add	x5, x29, 90112
				strb	w20, [x5, 4060]
				mov	x5, 17746
				movk	x5, 0x4c41, lsl 16
				movk	x5, 0x4c53, lsl 32
				movk	x5, 0x4e, lsl 48
				add	x6, x29, 94208
				str	x5, [x6, -35]
				strb	w20, [x6, 220]
				mov	x5, 20291
				movk	x5, 0x544e, lsl 16
				movk	x5, 0x4f52, lsl 32
				movk	x5, 0x4c, lsl 48
				str	x5, [x6, 221]
				strb	w20, [x6, 476]
				mov	x5, 20041
				movk	x5, 0x4c43, lsl 16
				movk	x5, 0x4455, lsl 32
				movk	x5, 0x45, lsl 48
				add	x6, x29, 94208
				add	x6, x6, 512
				str	x5, [x6, -35]
				add	x5, x29, 94208
				strb	w19, [x5, 732]
				mov	x5, 16717
				movk	x5, 0x5353, lsl 16
				str	x5, [x6, 221]
				add	x5, x29, 94208
				strb	w0, [x5, 988]
				mov	x5, 21586
				movk	x5, 0x5059, lsl 16
				movk	x5, 0x45, lsl 32
				add	x6, x29, 94208
				add	x6, x6, 1024
				str	x5, [x6, -35]
				add	x5, x29, 94208
				strb	w0, [x5, 1244]
				mov	x5, 17473
				movk	x5, 0x4f44, lsl 16
				movk	x5, 0x50, lsl 32
				str	x5, [x6, 221]
				add	x5, x29, 94208
				strb	w0, [x5, 1500]
				mov	x5, 17481
				movk	x5, 0x4e45, lsl 16
				movk	x5, 0x54, lsl 32
				add	x6, x29, 94208
				add	x6, x6, 1536
				str	x5, [x6, -35]
				add	x5, x29, 94208
				strb	w21, [x5, 1756]
				mov	x5, 86
				str	x5, [x6, 221]
				add	x5, x29, 94208
				strb	w21, [x5, 2012]
				mov	x5, 78
				add	x6, x29, 94208
				add	x6, x6, 2048
				str	x5, [x6, -35]
				add	x5, x29, 94208
				strb	w0, [x5, 2268]
				mov	x5, 20291
				movk	x5, 0x534e, lsl 16
				movk	x5, 0x54, lsl 32
				str	x5, [x6, 221]
				add	x5, x29, 94208
				strb	w3, [x5, 2524]
				mov	x5, 19782
				add	x6, x29, 94208
				add	x6, x6, 2560
				str	x5, [x6, -35]
				add	x5, x29, 94208
				strb	w21, [x5, 3036]
				mov	x5, 82
				add	x6, x29, 94208
				add	x6, x6, 3072
				str	x5, [x6, -35]
				add	x5, x29, 94208
				strb	w21, [x5, 3292]
				mov	x5, 70
				str	x5, [x6, 221]
				add	x5, x29, 94208
				strb	w21, [x5, 3548]
				mov	x5, 77
				add	x6, x29, 94208
				add	x6, x6, 3584
				str	x5, [x6, -35]
				add	x5, x29, 94208
				strb	w21, [x5, 3804]
				mov	x5, 80
				str	x5, [x6, 221]
				add	x5, x29, 94208
				strb	w3, [x5, 4060]
				mov	x5, 20562
				add	x6, x29, 98304
				str	x5, [x6, -35]
				strb	w3, [x6, 220]
				mov	x5, 20550
				str	x5, [x6, 221]
				strb	w3, [x6, 476]
				mov	x5, 20557
				add	x6, x29, 98304
				add	x6, x6, 512
				str	x5, [x6, -35]
				add	x5, x29, 98304
				strb	w3, [x5, 732]
				mov	x5, 20560
				str	x5, [x6, 221]
				add	x5, x29, 98304
				strb	w21, [x5, 988]
				mov	x5, 76
				add	x6, x29, 98304
				add	x6, x6, 1024
				str	x5, [x6, -35]
				add	x5, x29, 98304
				strb	w21, [x5, 1244]
				mov	x5, 83
				str	x5, [x6, 221]
				add	x5, x29, 98304
				strb	w21, [x5, 1500]
				mov	x5, 65
				add	x6, x29, 98304
				add	x6, x6, 1536
				str	x5, [x6, -35]
				add	x5, x29, 98304
				strb	w3, [x5, 1756]
				mov	x5, 20033
				str	x5, [x6, 221]
				add	x5, x29, 98304
				strb	w3, [x5, 2012]
				mov	x3, 16718
				add	x5, x29, 98304
				add	x5, x5, 2048
				str	x3, [x5, -35]
				add	x3, x29, 98304
				strb	w2, [x3, 2268]
				mov	x3, 16718
				movk	x3, 0x4e, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 102400
				strb	w20, [x3, 988]
				mov	x3, 19749
				movk	x3, 0x5453, lsl 16
				movk	x3, 0x5241, lsl 32
				movk	x3, 0x54, lsl 48
				add	x5, x29, 102400
				add	x5, x5, 1024
				str	x3, [x5, -35]
				add	x3, x29, 102400
				strb	w1, [x3, 1244]
				mov	x3, 17189
				movk	x3, 0x454c, lsl 16
				movk	x3, 0x5241, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 102400
				strb	w0, [x3, 1500]
				mov	x3, 20517
				movk	x3, 0x4552, lsl 16
				movk	x3, 0x44, lsl 32
				add	x5, x29, 102400
				add	x5, x5, 1536
				str	x3, [x5, -35]
				add	x3, x29, 102400
				strb	w4, [x3, 2012]
				mov	x3, 17445
				movk	x3, 0x4255, lsl 16
				movk	x3, 0x4f49, lsl 32
				movk	x3, 0x5355, lsl 48
				add	x5, x29, 102400
				add	x5, x5, 2048
				str	x3, [x5, -35]
				add	x3, x29, 102400
				strb	w19, [x3, 2268]
				mov	x3, 17445
				movk	x3, 0x5055, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 102400
				strb	w19, [x3, 2524]
				mov	x3, 20517
				movk	x3, 0x4e49, lsl 16
				add	x5, x29, 102400
				add	x5, x5, 2560
				str	x3, [x5, -35]
				add	x3, x29, 102400
				strb	w0, [x3, 2780]
				mov	x3, 20517
				movk	x3, 0x554f, lsl 16
				movk	x3, 0x54, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 102400
				strb	w0, [x3, 3036]
				mov	x3, 17701
				movk	x3, 0x5544, lsl 16
				movk	x3, 0x50, lsl 32
				add	x5, x29, 102400
				add	x5, x5, 3072
				str	x3, [x5, -35]
				add	x3, x29, 102400
				strb	w1, [x3, 3548]
				mov	x3, 18768
				movk	x3, 0x4544, lsl 16
				movk	x3, 0x544e, lsl 32
				add	x5, x29, 102400
				add	x5, x5, 3584
				str	x3, [x5, -35]
				add	x3, x29, 102400
				strb	w1, [x3, 3804]
				mov	x3, 18755
				movk	x3, 0x4544, lsl 16
				movk	x3, 0x544e, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 102400
				strb	w1, [x3, 4060]
				mov	x3, 18767
				movk	x3, 0x4544, lsl 16
				movk	x3, 0x544e, lsl 32
				add	x5, x29, 106496
				str	x3, [x5, -35]
				strb	w0, [x5, 220]
				mov	x3, 20038
				movk	x3, 0x4d41, lsl 16
				movk	x3, 0x45, lsl 32
				str	x3, [x5, 221]
				strb	w19, [x5, 476]
				mov	x3, 22355
				movk	x3, 0x4449, lsl 16
				add	x5, x29, 106496
				add	x5, x5, 512
				str	x3, [x5, -35]
				add	x3, x29, 106496
				strb	w19, [x3, 732]
				mov	x3, 20292
				movk	x3, 0x4c54, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 106496
				strb	w19, [x3, 988]
				mov	x3, 20292
				movk	x3, 0x5254, lsl 16
				add	x5, x29, 106496
				add	x5, x5, 1024
				str	x3, [x5, -35]
				add	x3, x29, 106496
				strb	w19, [x3, 1244]
				mov	x3, 21313
				movk	x3, 0x5045, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 106496
				strb	w19, [x3, 1500]
				mov	x3, 21315
				movk	x3, 0x5045, lsl 16
				add	x5, x29, 106496
				add	x5, x5, 1536
				str	x3, [x5, -35]
				add	x3, x29, 106496
				strb	w19, [x3, 1756]
				mov	x3, 21327
				movk	x3, 0x5045, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 106496
				strb	w19, [x3, 2012]
				mov	x3, 21328
				movk	x3, 0x5045, lsl 16
				add	x5, x29, 106496
				add	x5, x5, 2048
				str	x3, [x5, -35]
				add	x3, x29, 106496
				strb	w2, [x3, 2268]
				mov	x3, 21057
				movk	x3, 0x42, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 106496
				strb	w0, [x3, 2524]
				mov	x3, 20546
				movk	x3, 0x524c, lsl 16
				movk	x3, 0x42, lsl 32
				add	x5, x29, 106496
				add	x5, x5, 2560
				str	x3, [x5, -35]
				add	x3, x29, 106496
				strb	w2, [x3, 2780]
				mov	x3, 21071
				movk	x3, 0x42, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 106496
				strb	w2, [x3, 3036]
				mov	x3, 21072
				movk	x3, 0x42, lsl 16
				add	x5, x29, 106496
				add	x5, x5, 3072
				str	x3, [x5, -35]
				add	x3, x29, 106496
				strb	w2, [x3, 3292]
				mov	x3, 21059
				movk	x3, 0x42, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 106496
				strb	w19, [x3, 3548]
				mov	x3, 17234
				movk	x3, 0x4252, lsl 16
				add	x5, x29, 106496
				add	x5, x5, 3584
				str	x3, [x5, -35]
				add	x3, x29, 106496
				strb	w0, [x3, 3804]
				mov	x3, 17746
				movk	x3, 0x5243, lsl 16
				movk	x3, 0x42, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 106496
				strb	w0, [x3, 4060]
				mov	x3, 17746
				movk	x3, 0x4c43, lsl 16
				movk	x3, 0x42, lsl 32
				add	x5, x29, 110592
				str	x3, [x5, -35]
				strb	w2, [x5, 220]
				mov	x3, 16716
				movk	x3, 0x42, lsl 16
				str	x3, [x5, 221]
				strb	w19, [x5, 476]
				mov	x3, 19533
				movk	x3, 0x4241, lsl 16
				add	x5, x29, 110592
				add	x5, x5, 512
				str	x3, [x5, -35]
				add	x3, x29, 110592
				strb	w19, [x3, 732]
				mov	x3, 19539
				movk	x3, 0x4241, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 110592
				strb	w0, [x3, 988]
				mov	x3, 20056
				movk	x3, 0x4d41, lsl 16
				movk	x3, 0x45, lsl 32
				add	x5, x29, 110592
				add	x5, x5, 1024
				str	x3, [x5, -35]
				add	x3, x29, 110592
				strb	w19, [x3, 1244]
				mov	x3, 22351
				movk	x3, 0x544e, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 110592
				strb	w0, [x3, 1500]
				mov	x3, 16964
				movk	x3, 0x4553, lsl 16
				movk	x3, 0x50, lsl 32
				add	x5, x29, 110592
				add	x5, x5, 1536
				str	x3, [x5, -35]
				add	x3, x29, 110592
				strb	w1, [x3, 1756]
				mov	x3, 17232
				movk	x3, 0x4e4f, lsl 16
				movk	x3, 0x5453, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 110592
				strb	w19, [x3, 2012]
				mov	x3, 19779
				movk	x3, 0x444f, lsl 16
				add	x5, x29, 110592
				add	x5, x5, 2048
				str	x3, [x5, -35]
				add	x3, x29, 110592
				strb	w0, [x3, 2268]
				mov	x3, 21315
				movk	x3, 0x4749, lsl 16
				movk	x3, 0x4e, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 110592
				strb	w19, [x3, 2524]
				mov	x3, 21827
				movk	x3, 0x504f, lsl 16
				add	x5, x29, 110592
				add	x5, x5, 2560
				str	x3, [x5, -35]
				add	x3, x29, 110592
				strb	w19, [x3, 2780]
				mov	x3, 20291
				movk	x3, 0x3150, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 110592
				strb	w19, [x3, 3036]
				mov	x3, 20291
				movk	x3, 0x3250, lsl 16
				add	x5, x29, 110592
				add	x5, x5, 3072
				str	x3, [x5, -35]
				add	x3, x29, 110592
				strb	w19, [x3, 3292]
				mov	x3, 20291
				movk	x3, 0x3350, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 110592
				strb	w0, [x3, 3548]
				mov	x3, 20041
				movk	x3, 0x4544, lsl 16
				movk	x3, 0x46, lsl 32
				add	x5, x29, 110592
				add	x5, x5, 3584
				str	x3, [x5, -35]
				add	x3, x29, 110592
				strb	w0, [x3, 3804]
				mov	x3, 17752
				movk	x3, 0x534c, lsl 16
				movk	x3, 0x45, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 110592
				strb	w1, [x3, 4060]
				mov	x3, 21059
				movk	x3, 0x5345, lsl 16
				movk	x3, 0x504f, lsl 32
				add	x5, x29, 114688
				str	x3, [x5, -35]
				strb	w19, [x5, 220]
				mov	x3, 19534
				movk	x3, 0x4241, lsl 16
				str	x3, [x5, 221]
				strb	w1, [x5, 476]
				mov	x3, 21842
				movk	x3, 0x544e, lsl 16
				movk	x3, 0x4c49, lsl 32
				add	x5, x29, 114688
				add	x5, x5, 512
				str	x3, [x5, -35]
				add	x3, x29, 114688
				strb	w1, [x3, 732]
				mov	x3, 17217
				movk	x3, 0x4e4f, lsl 16
				movk	x3, 0x5453, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 114688
				strb	w19, [x3, 988]
				mov	x3, 21071
				movk	x3, 0x4252, lsl 16
				add	x5, x29, 114688
				add	x5, x5, 1024
				str	x3, [x5, -35]
				add	x3, x29, 114688
				strb	w0, [x3, 1244]
				mov	x3, 19782
				movk	x3, 0x4e41, lsl 16
				movk	x3, 0x59, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 114688
				strb	w20, [x3, 1500]
				mov	x3, 21327
				movk	x3, 0x5254, lsl 16
				movk	x3, 0x4e49, lsl 32
				movk	x3, 0x47, lsl 48
				add	x5, x29, 114688
				add	x5, x5, 1536
				str	x3, [x5, -35]
				add	x3, x29, 114688
				strb	w19, [x3, 1756]
				mov	x3, 19782
				movk	x3, 0x424c, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 114688
				strb	w19, [x3, 2012]
				mov	x3, 19782
				movk	x3, 0x4252, lsl 16
				add	x5, x29, 114688
				add	x5, x5, 2048
				str	x3, [x5, -35]
				add	x3, x29, 114688
				strb	w19, [x3, 2268]
				mov	x3, 19782
				movk	x3, 0x524f, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 114688
				strb	w20, [x3, 2524]
				mov	x3, 16722
				movk	x3, 0x474e, lsl 16
				movk	x3, 0x5245, lsl 32
				movk	x3, 0x42, lsl 48
				add	x5, x29, 114688
				add	x5, x5, 2560
				str	x3, [x5, -35]
				add	x3, x29, 114688
				strb	w19, [x3, 2780]
				mov	x3, 21318
				movk	x3, 0x4449, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 118784
				strb	w1, [x3, 220]
				mov	x3, 17445
				movk	x3, 0x4d55, lsl 16
				movk	x3, 0x594d, lsl 32
				add	x5, x29, 118784
				str	x3, [x5, 221]
				strb	w0, [x5, 476]
				mov	x3, 17445
				movk	x3, 0x4345, lsl 16
				movk	x3, 0x4c, lsl 32
				add	x5, x29, 118784
				add	x5, x5, 512
				str	x3, [x5, -35]
				add	x3, x29, 118784
				strb	w0, [x3, 732]
				mov	x3, 21541
				movk	x3, 0x5059, lsl 16
				movk	x3, 0x45, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 118784
				strb	w0, [x3, 988]
				mov	x3, 23077
				movk	x3, 0x5245, lsl 16
				movk	x3, 0x4f, lsl 32
				add	x5, x29, 118784
				add	x5, x5, 1024
				str	x3, [x5, -35]
				add	x3, x29, 118784
				strb	w1, [x3, 1244]
				mov	x3, 16677
				movk	x3, 0x5050, lsl 16
				movk	x3, 0x594c, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 118784
				strb	w0, [x3, 1500]
				mov	x3, 20517
				movk	x3, 0x4f52, lsl 16
				movk	x3, 0x54, lsl 32
				add	x5, x29, 118784
				add	x5, x5, 1536
				str	x3, [x5, -35]
				add	x3, x29, 118784
				strb	w4, [x3, 1756]
				mov	x3, 21285
				movk	x3, 0x5445, lsl 16
				movk	x3, 0x5250, lsl 32
				movk	x3, 0x544f, lsl 48
				str	x3, [x5, 221]
				add	x3, x29, 118784
				strb	w1, [x3, 2012]
				mov	x3, 20517
				movk	x3, 0x5954, lsl 16
				movk	x3, 0x4550, lsl 32
				add	x5, x29, 118784
				add	x5, x5, 2048
				str	x3, [x5, -35]
				add	x3, x29, 118784
				strb	w0, [x3, 2268]
				mov	x3, 18213
				movk	x3, 0x5041, lsl 16
				movk	x3, 0x50, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 118784
				strb	w1, [x3, 2524]
				mov	x3, 19493
				movk	x3, 0x434f, lsl 16
				movk	x3, 0x4c41, lsl 32
				add	x5, x29, 118784
				add	x5, x5, 2560
				str	x3, [x5, -35]
				add	x3, x29, 118784
				strb	w1, [x3, 2780]
				mov	x3, 18213
				movk	x3, 0x4155, lsl 16
				movk	x3, 0x4452, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 118784
				strb	w1, [x3, 3036]
				mov	x3, 19749
				movk	x3, 0x4f43, lsl 16
				movk	x3, 0x4544, lsl 32
				add	x5, x29, 118784
				add	x5, x5, 3072
				str	x3, [x5, -35]
				add	x3, x29, 118784
				strb	w20, [x3, 3292]
				mov	x3, 17189
				movk	x3, 0x5544, lsl 16
				movk	x3, 0x4d4d, lsl 32
				movk	x3, 0x59, lsl 48
				str	x3, [x5, 221]
				add	x3, x29, 118784
				strb	w4, [x3, 3548]
				mov	x3, 21285
				movk	x3, 0x5445, lsl 16
				movk	x3, 0x5954, lsl 32
				movk	x3, 0x4550, lsl 48
				add	x5, x29, 118784
				add	x5, x5, 3584
				str	x3, [x5, -35]
				add	x3, x29, 118784
				strb	w0, [x3, 3804]
				mov	x3, 20261
				movk	x3, 0x4550, lsl 16
				movk	x3, 0x52, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 118784
				strb	w1, [x3, 4060]
				mov	x3, 20517
				movk	x3, 0x5241, lsl 16
				movk	x3, 0x4d41, lsl 32
				add	x5, x29, 122880
				str	x3, [x5, -35]
				strb	w1, [x5, 220]
				mov	x3, 16933
				movk	x3, 0x4f4c, lsl 16
				movk	x3, 0x4b43, lsl 32
				str	x3, [x5, 221]
				strb	w1, [x5, 476]
				mov	x3, 20261
				movk	x3, 0x4854, lsl 16
				movk	x3, 0x5245, lsl 32
				add	x5, x29, 122880
				add	x5, x5, 512
				str	x3, [x5, -35]
				add	x3, x29, 122880
				strb	w4, [x3, 732]
				mov	x3, 17189
				movk	x3, 0x4d4f, lsl 16
				movk	x3, 0x4950, lsl 32
				movk	x3, 0x454c, lsl 48
				str	x3, [x5, 221]
				add	x3, x29, 122880
				strb	w2, [x3, 988]
				mov	x3, 20545
				movk	x3, 0x50, lsl 16
				add	x5, x29, 122880
				add	x5, x5, 1024
				str	x3, [x5, -35]
				add	x3, x29, 122880
				strb	w20, [x3, 1244]
				mov	x3, 16706
				movk	x3, 0x4553, lsl 16
				movk	x3, 0x5041, lsl 32
				movk	x3, 0x50, lsl 48
				str	x3, [x5, 221]
				add	x3, x29, 122880
				strb	w19, [x3, 1500]
				mov	x3, 20545
				movk	x3, 0x3250, lsl 16
				add	x5, x29, 122880
				add	x5, x5, 1536
				str	x3, [x5, -35]
				add	x3, x29, 122880
				strb	w19, [x3, 1756]
				mov	x3, 20545
				movk	x3, 0x3350, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 122880
				strb	w19, [x3, 2012]
				mov	x3, 20545
				movk	x3, 0x3450, lsl 16
				add	x5, x29, 122880
				add	x5, x5, 2048
				str	x3, [x5, -35]
				add	x3, x29, 122880
				strb	w19, [x3, 2268]
				mov	x3, 20545
				movk	x3, 0x3550, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 122880
				strb	w19, [x3, 2524]
				mov	x3, 20545
				movk	x3, 0x3650, lsl 16
				add	x5, x29, 122880
				add	x5, x5, 2560
				str	x3, [x5, -35]
				add	x3, x29, 122880
				strb	w0, [x3, 2780]
				mov	x3, 17473
				movk	x3, 0x4645, lsl 16
				movk	x3, 0x4e, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 122880
				strb	w0, [x3, 3036]
				mov	x3, 20558
				movk	x3, 0x5241, lsl 16
				movk	x3, 0x4d, lsl 32
				add	x5, x29, 122880
				add	x5, x5, 3072
				str	x3, [x5, -35]
				add	x3, x29, 122880
				strb	w0, [x3, 3292]
				mov	x3, 22355
				movk	x3, 0x4544, lsl 16
				movk	x3, 0x46, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 122880
				strb	w0, [x3, 3548]
				mov	x3, 22355
				movk	x3, 0x4449, lsl 16
				movk	x3, 0x53, lsl 32
				add	x5, x29, 122880
				add	x5, x5, 3584
				str	x3, [x5, -35]
				add	x3, x29, 122880
				strb	w0, [x3, 3804]
				mov	x3, 18755
				movk	x3, 0x5845, lsl 16
				movk	x3, 0x50, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 122880
				strb	w1, [x3, 4060]
				mov	x3, 17234
				movk	x3, 0x4e4f, lsl 16
				movk	x3, 0x5453, lsl 32
				add	x5, x29, 126976
				str	x3, [x5, -35]
				strb	w1, [x5, 220]
				mov	x3, 17235
				movk	x3, 0x4e4f, lsl 16
				movk	x3, 0x5453, lsl 32
				str	x3, [x5, 221]
				strb	w1, [x5, 476]
				mov	x3, 21057
				movk	x3, 0x4152, lsl 16
				movk	x3, 0x5059, lsl 32
				add	x5, x29, 126976
				add	x5, x5, 512
				str	x3, [x5, -35]
				add	x3, x29, 126976
				strb	w19, [x3, 732]
				mov	x3, 18776
				movk	x3, 0x504d, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 126976
				strb	w2, [x3, 988]
				mov	x3, 19785
				movk	x3, 0x50, lsl 16
				add	x5, x29, 126976
				add	x5, x5, 1024
				str	x3, [x5, -35]
				add	x3, x29, 126976
				strb	w19, [x3, 1244]
				mov	x3, 20291
				movk	x3, 0x444e, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 126976
				strb	w0, [x3, 1500]
				mov	x3, 17235
				movk	x3, 0x4e4f, lsl 16
				movk	x3, 0x44, lsl 32
				add	x5, x29, 126976
				add	x5, x5, 1536
				str	x3, [x5, -35]
				add	x3, x29, 126976
				strb	w19, [x3, 1756]
				mov	x3, 22597
				movk	x3, 0x3150, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 126976
				strb	w19, [x3, 2012]
				mov	x3, 22597
				movk	x3, 0x3250, lsl 16
				add	x5, x29, 126976
				add	x5, x5, 2048
				str	x3, [x5, -35]
				add	x3, x29, 126976
				strb	w19, [x3, 2268]
				mov	x3, 17747
				movk	x3, 0x5058, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 126976
				strb	w19, [x3, 2524]
				mov	x3, 17737
				movk	x3, 0x5058, lsl 16
				add	x5, x29, 126976
				add	x5, x5, 2560
				str	x3, [x5, -35]
				add	x3, x29, 126976
				strb	w0, [x3, 2780]
				mov	x3, 17737
				movk	x3, 0x5058, lsl 16
				movk	x3, 0x31, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 126976
				strb	w0, [x3, 3036]
				mov	x3, 17737
				movk	x3, 0x5058, lsl 16
				movk	x3, 0x32, lsl 32
				add	x5, x29, 126976
				add	x5, x5, 3072
				str	x3, [x5, -35]
				add	x3, x29, 126976
				strb	w0, [x3, 3292]
				mov	x3, 21321
				movk	x3, 0x5845, lsl 16
				movk	x3, 0x50, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 126976
				strb	w2, [x3, 3548]
				mov	x3, 17747
				movk	x3, 0x51, lsl 16
				add	x5, x29, 126976
				add	x5, x5, 3584
				str	x3, [x5, -35]
				add	x3, x29, 126976
				strb	w19, [x3, 3804]
				mov	x3, 17478
				movk	x3, 0x4645, lsl 16
				str	x3, [x5, 221]
				add	x3, x29, 126976
				strb	w2, [x3, 4060]
				mov	x3, 22597
				movk	x3, 0x50, lsl 16
				add	x5, x29, 131072
				str	x3, [x5, -35]
				strb	w20, [x5, 220]
				mov	x3, 16718
				movk	x3, 0x5252, lsl 16
				movk	x3, 0x5941, lsl 32
				movk	x3, 0x50, lsl 48
				str	x3, [x5, 221]
				strb	w1, [x5, 476]
				mov	x3, 21587
				movk	x3, 0x5552, lsl 16
				movk	x3, 0x5443, lsl 32
				add	x5, x29, 131072
				add	x5, x5, 512
				str	x3, [x5, -35]
				add	x3, x29, 131072
				strb	w1, [x3, 732]
				mov	x3, 17746
				movk	x3, 0x4553, lsl 16
				movk	x3, 0x5058, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 131072
				strb	w2, [x3, 988]
				mov	x3, 20546
				movk	x3, 0x4c, lsl 16
				add	x5, x29, 131072
				add	x5, x5, 1024
				str	x3, [x5, -35]
				add	x3, x29, 131072
				strb	w1, [x3, 1244]
				mov	x3, 20291
				movk	x3, 0x534e, lsl 16
				movk	x3, 0x4254, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 131072
				strb	w0, [x3, 1500]
				mov	x3, 18758
				movk	x3, 0x4554, lsl 16
				movk	x3, 0x4d, lsl 32
				add	x5, x29, 131072
				add	x5, x5, 1536
				str	x3, [x5, -35]
				add	x3, x29, 131072
				strb	w0, [x3, 1756]
				mov	x3, 20301
				movk	x3, 0x4552, lsl 16
				movk	x3, 0x41, lsl 32
				str	x3, [x5, 221]
				add	x3, x29, 131072
				strb	w0, [x3, 2012]
				mov	x3, 19523
				movk	x3, 0x5349, lsl 16
				movk	x3, 0x54, lsl 32
				add	x5, x29, 131072
				add	x5, x5, 2048
				str	x3, [x5, -35]
				add	x3, x29, 131072
				strb	w2, [x3, 2268]
				mov	x2, 20550
				movk	x2, 0x50, lsl 16
				str	x2, [x5, 221]
				add	x2, x29, 131072
				strb	w19, [x2, 2524]
				mov	x2, 20550
				movk	x2, 0x3050, lsl 16
				add	x3, x29, 131072
				add	x3, x3, 2560
				str	x2, [x3, -35]
				add	x2, x29, 131072
				strb	w19, [x2, 2780]
				mov	x2, 20550
				movk	x2, 0x3150, lsl 16
				str	x2, [x3, 221]
				add	x2, x29, 131072
				strb	w19, [x2, 3036]
				mov	x2, 20550
				movk	x2, 0x3250, lsl 16
				add	x3, x29, 131072
				add	x3, x3, 3072
				str	x2, [x3, -35]
				add	x2, x29, 131072
				strb	w20, [x2, 3292]
				mov	x2, 20041
				movk	x2, 0x5449, lsl 16
				movk	x2, 0x4156, lsl 32
				movk	x2, 0x52, lsl 48
				str	x2, [x3, 221]
				add	x2, x29, 131072
				strb	w1, [x2, 3548]
				mov	x2, 17746
				movk	x2, 0x4543, lsl 16
				movk	x2, 0x5058, lsl 32
				add	x3, x29, 131072
				add	x3, x3, 3584
				str	x2, [x3, -35]
				add	x2, x29, 131072
				strb	w19, [x2, 3804]
				mov	x2, 18757
				movk	x2, 0x504d, lsl 16
				str	x2, [x3, 221]
				add	x2, x29, 131072
				strb	w1, [x2, 4060]
				mov	x2, 17481
				movk	x2, 0x4e45, lsl 16
				movk	x2, 0x5354, lsl 32
				add	x3, x29, 135168
				str	x2, [x3, -35]
				strb	w0, [x3, 220]
				mov	x0, 16722
				movk	x0, 0x474e, lsl 16
				movk	x0, 0x45, lsl 32
				str	x0, [x3, 221]
				strb	w20, [x3, 476]
				mov	x0, 17234
				movk	x0, 0x4e4f, lsl 16
				movk	x0, 0x5453, lsl 32
				movk	x0, 0x42, lsl 48
				add	x2, x29, 135168
				add	x2, x2, 512
				str	x0, [x2, -35]
				strb	w19, [x3, 732]
				mov	x0, 16726
				movk	x0, 0x5052, lsl 16
				str	x0, [x2, 221]
				strb	w20, [x3, 988]
				mov	x0, 20041
				movk	x0, 0x5449, lsl 16
				movk	x0, 0x4544, lsl 32
				movk	x0, 0x43, lsl 48
				add	x2, x29, 135168
				add	x2, x2, 1024
				str	x0, [x2, -35]
				strb	w1, [x3, 2012]
				mov	x0, 21317
				movk	x0, 0x4443, lsl 16
				movk	x0, 0x4345, lsl 32
				add	x2, x29, 135168
				add	x2, x2, 2048
				str	x0, [x2, -35]
				strb	w20, [x3, 2268]
				mov	x0, 21317
				movk	x0, 0x5043, lsl 16
				movk	x0, 0x4f52, lsl 32
				movk	x0, 0x43, lsl 48
				str	x0, [x2, 221]
				strb	w4, [x3, 2524]
				mov	x0, 21317
				movk	x0, 0x4143, lsl 16
				movk	x0, 0x5252, lsl 32
				movk	x0, 0x5941, lsl 48
				add	x2, x29, 135168
				add	x2, x2, 2560
				str	x0, [x2, -35]
				strb	w1, [x3, 2780]
				mov	x0, 21317
				movk	x0, 0x5243, lsl 16
				movk	x0, 0x4345, lsl 32
				str	x0, [x2, 221]
				adrp	x19, .LANCHOR5
				add	x19, x19, :lo12:.LANCHOR5
				mov	x2, 240
				add	x1, x19, 816
				add	x0, x29, 69632
				add	x0, x0, 1540
				bl	memcpy
		.LVL1090:
				add	x0, x19, 1056
				ldp	x2, x3, [x0]
				add	x1, x29, 69632
				add	x1, x1, 3072
				sub	x1, x1, #102
				stp	x2, x3, [x1]
				ldp	x2, x3, [x0, 16]
				add	x1, x29, 69632
				add	x1, x1, 3072
				sub	x1, x1, #86
				stp	x2, x3, [x1]
				ldp	x2, x3, [x0, 32]
				add	x1, x29, 69632
				add	x1, x1, 3072
				sub	x1, x1, #70
				stp	x2, x3, [x1]
				ldrh	w0, [x19, 1104]
				add	x1, x29, 69632
				strh	w0, [x1, 3018]
				mov	x2, 1174
				add	x1, x19, 1112
				add	x0, x29, 69632
				add	x0, x0, 1780
				bl	memcpy
		.LVL1091:
  573     !***  end  of generated tables ***
  574
  575     %routine flush buffer( %integer limit )
		.LVL629:
				sub	sp, sp, #1376
				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, 1368]
				mov	x2,0
  576         %integer j
  577         %if bp >= limit %start
				adrp	x1, .LANCHOR0
				ldr	w1, [x1, #:lo12:.LANCHOR0]
				cmp	w1, w0
				blt	.L521
				str	x20, [x29, 24]
				mov	x20, x18
  578         %if faulty = 0 %start
				adrp	x0, .LANCHOR0+616
		.LVL630:
				ldr	w0, [x0, #:lo12:.LANCHOR0+616]
				cbz	w0, .L534
		.L523:
  579             selectoutput(object)
  580             %for j = 1, 1, bp %cycle
  581                 printsymbol(buff(j))
				adrp	x0, .LANCHOR0
				ldr	w21, [x0, #:lo12:.LANCHOR0]
		.LVL633:
  582             %repeat
				cmp	w21, #1
				bmi	.L536
		.L524:
		.LVL634:
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L525
				add	x8, x29, 856
				bl	_imp_c2istr
		.LVL642:
		.L526:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w22, [x0]
				cmp	w22, 0
				mov	w0, 582
				csel	w22, w22, w0, ne
				add	x24, x29, 1112
				mov	x8, x24
				adrp	x0, .LC82
				add	x0, x0, :lo12:.LC82
				bl	_imp_c2istr
		.LVL643:
				add	x19, x29, 336
				mov	x25, 256
				mov	x2, x25
				add	x1, x29, 856
				mov	x0, x19
				bl	memcpy
		.LVL644:
				add	x23, x29, 80
				mov	x2, x25
				mov	x1, x24
				mov	x0, x23
				bl	memcpy
		.LVL645:
				mov	w5, 0
				mov	w4, 1
				mov	w3, 5
				mov	x2, x23
				mov	w1, w22
				mov	x0, x19
				bl	_signal_event
		.LVL646:
				ldp	x22, x23, [x29, 40]
				ldp	x24, x25, [x29, 56]
				b	.L524
		.L525:
		.LBB559:
				add	x22, x29, 1112
				mov	x23, 256
				mov	x2, x23
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x22
				bl	memcpy
		.LVL647:
				add	x19, x29, 600
				mov	x2, x23
				mov	x1, x22
				mov	x0, x19
				bl	memcpy
		.LVL648:
		.LBE559:
				mov	x2, x23
				mov	x1, x19
				add	x0, x29, 856
				bl	memcpy
		.LVL649:
				b	.L526
		.LVL650:
		.L535:
				stp	x19, x20, [x29, 16]
				stp	x21, x22, [x29, 32]
				stp	x23, x24, [x29, 48]
				str	x25, [x29, 64]
		.LBE562:
  583             selectoutput(listing)
  584         %finish
  585         bp = 0
				adrp	x0, .LANCHOR0
				str	wzr, [x0, #:lo12:.LANCHOR0]
				ldr	x20, [x29, 24]
		.L522:
		.L521:
				cbz	w21, .L528
				add	x19, x20, 135168
				add	x19, x19, 388
				sub	w21, w21, #1
		.LVL635:
				add	x20, x20, x21
				add	x20, x20, 135168
				add	x20, x20, 389
		.LVL636:
		.L529:
		.LBB557:
		.LBB558:
				ldrb	w0, [x19], 1
		.LVL637:
				bl	_imp_printsymbol
		.LVL638:
		.LBE558:
		.LBE557:
				cmp	x19, x20
				bne	.L529
		.L528:
		.LVL639:
		.LBE556:
		.LBB560:
		.LBB561:
				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, 896
				bl	check_outstream
		.LVL640:
				ldr	x19, [x29, 16]
				ldr	x21, [x29, 32]
				b	.L523
		.LVL641:
		.L536:
				stp	x22, x23, [x29, 40]
				stp	x24, x25, [x29, 56]
		.LBE561:
		.LBE560:
		.LBB562:
  586         %finish
  587     %end
  588
				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, .L535
				ldp	x29, x30, [sp]
				add	sp, sp, 1376
				ret
		.L534:
				str	x19, [x29, 16]
				str	x21, [x29, 32]
		.LVL631:
		.LBB554:
		.LBB555:
				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, 896
				bl	check_outstream
		.LVL632:
		.LBE555:
		.LBE554:
		.LBB556:
				bl	__stack_chk_fail
		.LVL651:
		.LFE186:
				.align	2
		DEF.8910:
		.LFB219:
  589     %routine add char( %byteinteger ch )
		.LVL0:
  590         bp = bp + 1
				adrp	x2, .LANCHOR0
				ldr	w1, [x2, #:lo12:.LANCHOR0]
				add	w3, w1, 1
				str	w3, [x2, #:lo12:.LANCHOR0]
  591         buff(bp) = ch
				add	x18, x18, x1, sxtw
				add	x18, x18, 135168
				strb	w0, [x18, 388]
  592     %end
  593
				ret
		.LFE187:
				.align	2
		OP.7832:
		.LFB188:
  594     %routine op(%integer code, param)
		.LVL1:
  595         buff(bp+1) = code
				adrp	x4, .LANCHOR0
				ldr	w2, [x4, #:lo12:.LANCHOR0]
				add	x3, x18, x2, sxtw
				add	x3, x3, 135168
				strb	w0, [x3, 388]
  596         buff(bp+2) = param>>8
				add	w0, w2, 1
		.LVL2:
				add	x0, x18, x0, sxtw
				add	x0, x0, 135168
				lsr	w3, w1, 8
				strb	w3, [x0, 388]
  597         buff(bp+3) = param
				add	w0, w2, 2
				add	x18, x18, x0, sxtw
				add	x18, x18, 135168
				strb	w1, [x18, 388]
  598         bp = bp+3
				add	w2, w2, 3
				str	w2, [x4, #:lo12:.LANCHOR0]
  599     %end
  600
				ret
		.LFE188:
				.align	2
		SETCONST.7835:
		.LFB189:
  601     %routine set const(%integer m)
		.LVL3:
  602         buff(bp+1) = 'N'
				adrp	x3, .LANCHOR0
				ldr	w1, [x3, #:lo12:.LANCHOR0]
				add	x2, x18, x1, sxtw
				add	x2, x2, 135168
				mov	w4, 78
				strb	w4, [x2, 388]
  603         buff(bp+5) = m;  m = m>>8
				add	w2, w1, 4
				add	x2, x18, x2, sxtw
				add	x2, x2, 135168
				strb	w0, [x2, 388]
		.LVL4:
  604         buff(bp+4) = m;  m = m>>8
				add	w2, w1, 3
				add	x2, x18, x2, sxtw
				add	x2, x2, 135168
				lsr	w4, w0, 8
		.LVL5:
				strb	w4, [x2, 388]
		.LVL6:
  605         buff(bp+3) = m;  m = m>>8
				add	w2, w1, 2
				add	x2, x18, x2, sxtw
				add	x2, x2, 135168
				lsr	w4, w0, 16
		.LVL7:
				strb	w4, [x2, 388]
		.LVL8:
  606         buff(bp+2) = m
				add	w2, w1, 1
				add	x18, x18, x2, sxtw
				add	x18, x18, 135168
				lsr	w0, w0, 24
		.LVL9:
				strb	w0, [x18, 388]
  607         bp = bp+5
				add	w1, w1, 5
				str	w1, [x3, #:lo12:.LANCHOR0]
  608     %end
  609
				ret
		.LFE189:
				.align	2
		SETCELL.8144:
		.LFB199:
  610     %routine octal(%integer n)
  611         %integer m
  612         m = n>>3
  613         octal(m) %if m # 0
  614         add char( n&7+'0' )
  615     %end
  616
  617     %routine hexadecimal(%integer n)
  618         %integer m
  619         m = n>>4
  620         hexadecimal(m) %if m # 0
  621         %if n&15 > 9 %then add char( n&15+'A' ) %else add char( n&15+'0' )
  622     %end
  623
  624     %routine print ident(%integer p, mode)
		.LVL35:
				stp	x29, x30, [sp, -112]!
				add	x29, sp, 0
				adrp	x2, :got:__stack_chk_guard
				ldr	x2, [x2, #:got_lo12:__stack_chk_guard]
				ldr	x3, [x2]
				str	x3, [x29, 104]
				mov	x3,0
				add	x2, x29, 112
				str	x2, [x29, 96]
				str	w1, [x29, 88]
				str	x18, [x29, 80]
  625
  626         %routine putit(%integer ch)
		.LVL31:
				stp	x29, x30, [sp, -16]!
				add	x29, sp, 0
  627             %if mode = 0 %then %start
				ldr	w1, [x18, 8]
				cbz	w1, .L34
		.L31:
  628                 printsymbol(ch)
  629             %else
  630                 add char( ch )
				ldr	x18, [x18]
				bl	ADDCHAR.7828
		.LVL32:
		.L32:
		.L30:
  631             %finish
  632         %end
  633
				ldp	x29, x30, [sp], 16
				ret
		.LVL33:
		.L34:
		.LBB276:
		.LBB277:
				bl	_imp_printsymbol
		.LVL34:
				b	.L30
		.LBE277:
		.LBE276:
		.LFE193:
				.align	2
		PRINTIDENT.7851:
		.LFB192:
  634         %integer k, l
  635         p = tag(p)_text
				sxtw	x0, w0
				add	x0, x0, x0, lsl 1
		.LVL36:
				add	x0, x18, x0, lsl 3
				add	x0, x0, 32768
				ldr	w0, [x0, 16292]
		.LVL37:
  636         %if p = 0 %start
				cbz	w0, .L45
		.L36:
				stp	x19, x20, [x29, 16]
				str	x21, [x29, 32]
				str	x23, [x29, 48]
				mov	x23, x18
  637             putit('?')
				add	x18, x29, 80
				mov	w0, 63
		.LVL50:
				bl	PUTIT.7854
		.LVL51:
  638             %return
				b	.L35
		.L37:
		.LVL52:
		.L43:
				ldp	x19, x20, [x29, 16]
		.LVL53:
				ldr	x21, [x29, 32]
		.LVL54:
				ldr	x23, [x29, 48]
				b	.L35
		.LVL55:
		.L44:
				ldp	x19, x20, [x29, 16]
		.LVL56:
				ldp	x21, x22, [x29, 32]
		.LVL57:
				ldp	x23, x24, [x29, 48]
		.LVL58:
				ldp	x25, x26, [x29, 64]
		.L35:
  639         %finish
  640         p = p+1;       ! advance to name string
				add	w19, w0, 1
		.LVL38:
  641         k = dict(p)
				add	x0, x18, x0, sxtw 2
				add	x0, x0, 24576
				add	x0, x0, 464
				ldr	w21, [x0, 4]
		.LVL39:
  642         l = k & 255;   ! length
  643         %while l > 0 %cycle
  644             putit(k>>8)
				ands	w20, w21, 255
				beq	.L43
				str	x22, [x29, 40]
				stp	x24, x25, [x29, 56]
				str	x26, [x29, 72]
				sub	w25, w20, #2
				sub	w0, w20, #1
				and	w0, w0, -2
				sub	w25, w25, w0
				add	x22, x29, 80
				mov	x18, x22
				lsr	w0, w21, 8
				bl	PUTIT.7854
		.LVL41:
				cmp	w20, w25
				bne	.L39
				ldp	x19, x20, [x29, 16]
		.LVL46:
				ldp	x21, x22, [x29, 32]
		.LVL47:
				ldp	x23, x24, [x29, 48]
		.LVL48:
				ldp	x25, x26, [x29, 64]
  645             l = l-1
  646             p = p+1
				add	w24, w19, 1
		.LVL42:
				mov	w19, w24
  647             k = dict(p)
				mov	x26, 6260
		.LVL40:
		.L39:
				add	x19, x26, x19, sxtw
				add	x19, x23, x19, lsl 2
				ldr	w21, [x19, 4]
		.LVL43:
  648             %exit %if l = 0
				cmp	w20, 1
				beq	.L44
		.L38:
  649             putit(k&255)
				mov	x18, x22
				and	w0, w21, 255
				bl	PUTIT.7854
		.LVL44:
  650             l = l-1
				sub	w20, w20, #2
		.LVL45:
		.LDL3:
  651         %repeat
  652     %end
				b	.L35
		.LVL49:
		.L45:
  653
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 104]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L46
				ldp	x29, x30, [sp], 112
				ret
		.L46:
				stp	x19, x20, [x29, 16]
				stp	x21, x22, [x29, 32]
				stp	x23, x24, [x29, 48]
				stp	x25, x26, [x29, 64]
				bl	__stack_chk_fail
		.LVL59:
		.LFE192:
				.align	2
		ABANDON.7865:
		.LFB194:
  654     %routine abandon(%integer n)
		.LVL60:
				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
		.LVL61:
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x0]
				str	x1, [x29, 1336]
				mov	x1,0
		.LVL62:
		.LDL4:
  655         %switch reason(0:9)
  656         %integer stream
  657         stream = listing
  658         %cycle
  659             newline %if sym # nl
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 10
				bne	.L61
		.L48:
		.LVL63:
		.LBB278:
		.LBB279:
				mov	w0, 42
				bl	_imp_printsymbol
		.LVL64:
		.LBE279:
		.LBE278:
  660             printsymbol('*');  write(lines,4);  space
  661             ->reason(n)
				mov	w1, 4
				adrp	x0, .LANCHOR0+192
				ldr	w0, [x0, #:lo12:.LANCHOR0+192]
				bl	_imp_writeint
		.LVL65:
		.LBB280:
		.LBB281:
				bl	_imp_space
		.LVL66:
		.LDL5:
		.LBE281:
		.LBE280:
  662 reason(0):  printstring("compiler error!");          ->more
  663 reason(1):  printstring("switch vector too large");  ->more
  664 reason(2):  printstring("too many names");           ->more
  665 reason(3):  printstring("program too complex");      ->more
  666 reason(4):  printstring("feature not implemented");  ->more
  667 reason(5):  printstring("input ended: ")
  668             %if quote # 0 %start
  669                 %if quote < 0 %then printsymbol(cquote) %else printsymbol(squote)
  670             %else
  671                 printstring("%endof")
  672                 %if progmode >= 0 %then printstring("program") %else printstring("file")
  673             %finish
  674             printstring(" missing?");                ->more
  675 reason(6):  printstring("too many faults!");         ->more
  676 reason(7):  printstring("string constant too long"); ->more
  677 reason(8):  printstring("dictionary full");          ->more
  678 reason(9):  printstring("Included file ".include file." does not exist")
  679
  680 more:       newline
  681             printstring("***  compilation abandoned ***");  newline
  682             %exit %if stream = report
  683             close output
  684             stream = report
  685             select output(report)
  686         %repeat
  687         !%signal 15,15 %if diag&4096 # 0
  688         %stop
  689     %end
  690
  691     %routine compile block(%integer level, block tag, dmin, tmax, id)
				cmp	w21, 9
				bls	.L49
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L50
				add	x8, x29, 824
				bl	_imp_c2istr
		.LVL67:
		.L51:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w20, [x0]
				cmp	w20, 0
				mov	w0, 691
				csel	w20, w20, w0, ne
				add	x19, x29, 48
				mov	x2, 256
				add	x1, x29, 824
				mov	x0, x19
				bl	memcpy
		.LVL68:
				mov	w0, 661
				str	w0, [sp]
				adrp	x7, .LC74
				add	x7, x7, :lo12:.LC74
				mov	w6, w21
				adrp	x5, .LC75
				add	x5, x5, :lo12:.LC75
				mov	w4, w21
				mov	w3, 3
				mov	w2, 6
				mov	w1, w20
				mov	x0, x19
				bl	_signal_eventf
		.LVL69:
		.L49:
		.L53:
				add	x20, x29, 1080
				mov	x22, 256
				mov	x2, x22
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x20
				bl	memcpy
		.LVL77:
				add	x19, x29, 312
				mov	x2, x22
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL78:
		.LBE284:
				mov	x2, x22
				mov	x1, x19
				add	x0, x29, 824
				bl	memcpy
		.LVL79:
				ldr	x22, [x29, 40]
				b	.L51
		.L54:
				str	x22, [x29, 40]
		.LBB285:
				sub	sp, sp, #2048
				stp	x29, x30, [sp]
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				stp	x21, x22, [sp, 32]
				str	x23, [sp, 48]
				str	x26, [sp, 72]
				mov	w26, w1
				mov	x19, x18
				adrp	x1, :got:__stack_chk_guard
				ldr	x1, [x1, #:got_lo12:__stack_chk_guard]
				ldr	x5, [x1]
				str	x5, [x29, 2040]
				mov	x5,0
				add	x1, x29, 2048
				str	x1, [x29, 496]
				str	w0, [x29, 476]
				str	w26, [x29, 444]
				str	w3, [x29, 480]
				str	w4, [x29, 472]
				str	x18, [x29, 424]
  692
  693         %integerfnspec gapp
  694         %routinespec delete names(%integer quiet)
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L54
				add	x8, x29, 1080
				bl	_imp_c2istr
		.LVL70:
		.L55:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w20, [x0]
				cmp	w20, 0
				mov	w0, 694
				csel	w20, w20, w0, ne
				add	x19, x29, 48
				mov	x2, 256
				add	x1, x29, 1080
				mov	x0, x19
				bl	memcpy
		.LVL71:
				mov	w0, 661
				str	w0, [sp]
				adrp	x7, .LC74
				add	x7, x7, :lo12:.LC74
				mov	w6, w21
				adrp	x5, .LC76
				add	x5, x5, :lo12:.LC76
				mov	w4, w21
				mov	w3, 2
				mov	w2, 8
				mov	w1, w20
				mov	x0, x19
				bl	_signal_eventf
		.LVL72:
				add	x19, x29, 1080
				mov	x22, 256
				mov	x2, x22
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x19
				bl	memcpy
		.LVL80:
				add	x20, x29, 568
				mov	x2, x22
				mov	x1, x19
				mov	x0, x20
				bl	memcpy
		.LVL81:
		.LBE285:
				mov	x2, x22
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL82:
				ldr	x22, [x29, 40]
				b	.L55
		.L62:
				str	x22, [x29, 40]
  695         %routinespec analyse
				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, .L62
				ldp	x19, x20, [sp, 32]
				ldr	x21, [sp, 48]
		.LVL73:
				ldp	x29, x30, [sp, 16]
				add	sp, sp, 1360
				ret
		.LVL74:
		.L61:
		.LBB282:
		.LBB283:
				bl	_imp_newline
		.LVL75:
				b	.L48
		.LVL76:
		.L50:
				str	x22, [x29, 40]
		.LBE283:
		.LBE282:
		.LBB284:
				bl	__stack_chk_fail
		.LVL83:
		.LFE194:
				.align	2
		GETSYM.8240:
		.LFB205:
  696         %routinespec compile
  697
  698         %integer open;    open       = closed;      !zero if can return from proc
  699         %integer dbase;   dbase      = dmax;        !dictionary base
				mov	w0, 16384
				str	w0, [x29, 448]
  700         %integer tbase;   tbase      = tmax;        !tag base
				adrp	x0, .LANCHOR2+2700
				ldr	w4, [x0, #:lo12:.LANCHOR2+2700]
		.LVL1022:
  701         %integer tstart;  tstart     = tmax
				str	w3, [x29, 484]
  702         %integer label;   label      = 4;           !first internal label
				str	w3, [x29, 488]
  703         %integer access;  access     = 1;           !non-zero if accessible
				mov	w0, 4
				str	w0, [x29, 440]
  704         %integer inhibit; inhibit    = 0;           !non-zero inhibits declaratons
				mov	w0, 1
				str	w0, [x29, 452]
  705
				str	wzr, [x29, 436]
  706         %integername bflags;      bflags      == tag(block tag)_flags
  707         %integer block type;      block type   = bflags>>4&7
				sxtw	x3, w26
				lsl	x0, x3, 1
				add	x1, x0, x3
				add	x1, x18, x1, lsl 3
				add	x1, x1, 45056
				add	x1, x1, 3996
				str	x1, [x29, 416]
  708         %integer block form;      block form   = bflags&15
				add	x1, x0, x3
				add	x1, x18, x1, lsl 3
				add	x1, x1, 32768
				ldr	w1, [x1, 16284]
				ubfx	x5, x1, 4, 3
				str	w5, [x29, 460]
  709         %integer block fm;        block fm     = tag(block tag)_format
				and	w1, w1, 15
				str	w1, [x29, 464]
  710         %integer block otype;     block otype  = otype
				add	x0, x0, x3
				add	x0, x18, x0, lsl 3
				add	x0, x0, 32768
				ldr	w0, [x0, 16280]
				str	w0, [x29, 456]
  711         %integername block app;   block app   == tag(block tag)_app
				adrp	x0, .LANCHOR0+704
				ldr	w20, [x0, #:lo12:.LANCHOR0+704]
		.LVL1023:
  712
  713         %integer l, new app
  714
  715         %routine fault(%integer n)
		.LVL336:
				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
		.LVL337:
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x0]
				str	x1, [x29, 2424]
				mov	x1,0
  716             ! -5 : -1  - warnings
  717             !  1 : 22  - errors
  718
  719             %switch fm(-5:22)
  720             %integer st
  721
  722             %routine print ss
  723                 %integer s, p
  724                 %return %if pos = 0
				adrp	x0, .LANCHOR0+196
				ldr	w0, [x0, #:lo12:.LANCHOR0+196]
				cbnz	w0, .L384
		.L352:
		.LDL18:
		.LBE397:
		.LBE410:
		.LBB411:
		.LBB412:
				bl	_imp_newline
		.LVL352:
		.LBE412:
		.LBE411:
  725                 space
  726                 p = 1
  727                 %cycle
  728                     printsymbol(marker) %if p = pos1
				adrp	x20, .LANCHOR0
				add	x20, x20, :lo12:.LANCHOR0
		.LBB393:
		.LBB394:
				mov	w28, 94
				b	.L354
		.LVL376:
		.L389:
				mov	w0, w28
				bl	_imp_printsymbol
		.LVL377:
				b	.L355
		.L359:
		.L360:
		.LVL378:
		.L361:
		.LBE394:
		.LBE393:
		.LBB395:
		.LBB396:
				bl	_imp_printsymbol
		.LVL379:
				add	x19, x19, 1
		.LVL380:
		.L354:
				mov	w21, w19
		.LVL381:
		.LBE396:
		.LBE395:
				ldr	w0, [x20, 208]
				cmp	w0, w19
				beq	.L389
		.L355:
  729                     %exit %if p = pos
				ldr	w1, [x20, 196]
				cmp	w21, w1
				beq	.L362
		.L357:
  730                     s = char(p);  p = p+1
				add	x24, x25, 2552
				b	.L363
		.LVL339:
		.L381:
		.LBE390:
		.LBE389:
		.LBB399:
		.LBB400:
				bl	_imp_newline
		.LVL340:
				b	.L343
		.LVL341:
		.L386:
		.LBE400:
		.LBE399:
		.LBB401:
		.LBB402:
				mov	w0, 63
				bl	_imp_printsymbol
		.LVL342:
		.LBE402:
		.LBE401:
				ldrb	w0, [x19, x24]
		.LVL382:
				add	w2, w19, 1
		.LVL383:
  731                     %exit %if s = nl %or (s='%' %and p = pos)
				cmp	w0, 10
				beq	.L362
  732                     %if s < ' ' %start;         !beware of tabs
				cmp	w0, 31
				bgt	.L361
  733                         %if s = ff %then s = nl %else s = ' '
				cmp	w0, 37
				ccmp	w2, w1, 0, eq
				beq	.L362
		.L358:
  734                     %finish
  735                     printsymbol(s)
  736                 %repeat
  737                 pos = 0 %if list <= 0
				cmp	w0, 12
				mov	w0, 10
		.LVL384:
				mov	w1, 32
				csel	w0, w0, w1, eq
				b	.L361
		.L356:
		.LVL385:
		.L362:
				ldr	w0, [x25, 2688]
				cmp	w0, 0
				bgt	.L352
  738             %end
				adrp	x0, .LANCHOR0+196
				str	wzr, [x0, #:lo12:.LANCHOR0+196]
				b	.L352
		.L385:
		.L364:
		.LBE398:
		.LBE423:
  739
  740             pos1 = pos2 %if pos2 > pos1
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 212]
				ldr	w0, [x0, 208]
				cmp	w1, w0
				ble	.L342
  741             newline %if sym # nl
				adrp	x0, .LANCHOR0+208
				str	w1, [x0, #:lo12:.LANCHOR0+208]
		.L342:
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 10
				bne	.L381
		.L343:
		.LVL338:
  742             st = report
  743             st = listing %if n = -3;              !don't report unused on the console
  744             %cycle
				cmn	w23, #3
				cset	w22, eq
				lsl	w22, w22, 1
		.LBB386:
		.LBB387:
				adrp	x26, .LANCHOR3
				add	x26, x26, :lo12:.LANCHOR3
				add	x27, x26, 896
		.LBE387:
		.LBE386:
  745                 select output(st)
  746                 %if n < 0 %then printsymbol('?') %and pos1 = 0 %else printsymbol('*')
				tbnz	w23, #31, .L386
		.L345:
		.LVL355:
		.LBB414:
		.LBB415:
				mov	w0, 42
				bl	_imp_printsymbol
		.LVL356:
		.L346:
		.LBE415:
		.LBE414:
  747                 %if st # report %start
				cbz	w22, .L347
  748                     %if list <= 0 %and pos1 # 0 %start
				adrp	x0, .LANCHOR0+208
				str	wzr, [x0, #:lo12:.LANCHOR0+208]
				ldr	w0, [x25, 2688]
				cmp	w0, 0
				bgt	.L350
  749                         spaces(pos1+margin);  printstring("      ! ")
				b	.L346
		.L347:
				adrp	x0, .LANCHOR0+208
				ldr	w0, [x0, #:lo12:.LANCHOR0+208]
				cbz	w0, .L350
		.LVL357:
				adrp	x1, .LANCHOR0+216
				ldr	w1, [x1, #:lo12:.LANCHOR0+216]
		.LBB416:
		.LBB417:
				add	w0, w0, w1
		.LVL358:
				bl	_imp_spaces
		.LVL359:
		.LBE417:
		.LBE416:
		.LBB418:
  750                     %finish
				add	x20, x29, 1400
				mov	x21, 256
				mov	x2, x21
				add	x1, x26, 920
				mov	x0, x20
				bl	memcpy
		.LVL360:
				add	x19, x29, 376
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL361:
				add	x20, x29, 1656
				mov	x2, x21
				mov	x1, x19
				mov	x0, x20
				bl	memcpy
		.LVL362:
		.LBE418:
		.LBB419:
		.LBB420:
				add	x19, x29, 112
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL363:
				mov	x0, x19
				bl	_imp_printstring
		.LVL364:
				b	.L350
		.L382:
				add	x20, x29, 1912
				mov	x21, 256
				mov	x2, x21
				add	x1, x29, 632
				mov	x0, x20
				bl	memcpy
		.LVL365:
		.LBE420:
		.LBE419:
		.LBB421:
		.LBB422:
				add	x19, x29, 112
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL366:
				mov	x0, x19
				bl	_imp_printstring
		.LVL367:
				b	.L349
		.L383:
		.LVL368:
		.LDL19:
		.L370:
		.LBE422:
		.LBE421:
  751                 %finish %else %start
  752                     printstring(include file) %if include # 0
				adrp	x0, .LANCHOR0+224
				ldr	w0, [x0, #:lo12:.LANCHOR0+224]
				cbnz	w0, .L382
		.L349:
  753                     write(lines, 4);  printsymbol(csym);  space
				mov	w1, 4
				adrp	x0, .LANCHOR0+192
				ldr	w0, [x0, #:lo12:.LANCHOR0+192]
				bl	_imp_writeint
		.LVL343:
		.LBB403:
		.LBB404:
				ldrb	w0, [x25, 2696]
				bl	_imp_printsymbol
		.LVL344:
		.LBE404:
		.LBE403:
		.LBB405:
		.LBB406:
				bl	_imp_space
		.LVL345:
		.L348:
		.L350:
		.LBE406:
		.LBE405:
  754                 %finish
				adrp	x25, .LANCHOR2
				add	x25, x25, :lo12:.LANCHOR2
		.LBB389:
		.LBB390:
  755                 ->fm(n) %if -5 <= n %and n <= 22
  756                 printstring("fault");  write(n, 2);              ->ps
				add	w0, w23, 5
				cmp	w0, 27
				bls	.L383
		.L351:
		.LBB407:
				add	x20, x29, 1400
				mov	x21, 256
				mov	x2, x21
				add	x1, x26, 1176
				mov	x0, x20
				bl	memcpy
		.LVL346:
				add	x19, x29, 888
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL347:
				add	x20, x29, 2168
				mov	x2, x21
				mov	x1, x19
				mov	x0, x20
				bl	memcpy
		.LVL348:
		.LBE407:
		.LBB408:
		.LBB409:
				add	x19, x29, 112
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL349:
				mov	x0, x19
				bl	_imp_printstring
		.LVL350:
		.LBE409:
		.LBE408:
  757
				mov	w1, 2
				mov	w0, w23
				bl	_imp_writeint
		.LVL351:
		.LDL17:
		.LBB410:
		.LBB397:
  758 fm(-5):         printstring("Dubious statement");  dubious = 0;        ->psd
  759 fm(-4):         printstring("Non-local")
  760                 pos1 = for warn;  for warn = 0;                        ->ps
  761 fm(-3):         print ident(x, 0);  printstring(" unused");            ->nps
  762 fm(-2):         printstring("""}""");                                  ->miss
  763 fm(-1):         printstring("access");                                 ->psd
  764 fm(0):          printstring("form");                                   ->ps
  765 fm(1):          printstring("atom");                                   ->ps
  766 fm(2):          printstring("not declared");                           ->ps
  767 fm(3):          printstring("too complex");                            ->ps
  768 fm(4):          printstring("duplicate ");  Print Ident(x, 0);         ->ps
  769 fm(5):          printstring("type");                                   ->ps
  770 fm(6):          printstring("match");                                  ->psd
  771 fm(7):          printstring("context");                                ->psd
  772 fm(8):          printstring("%cycle");                                 ->miss
  773 fm(9):          printstring("%start");                                 ->miss
  774 fm(10):         printstring("size");  write(lit, 1) %if pos1 = 0;      ->ps
  775 fm(11):         printstring("bounds")
  776                 write(ocount, 1) %unless ocount < 0;                   ->ps
  777 fm(12):         printstring("index");                                  ->ps
  778 fm(13):         printstring("order");                                  ->psd
  779 fm(14):         printstring("not a location");                         ->ps
  780 fm(15):         printstring("%begin");                                 ->miss
  781 fm(16):         printstring("%end");                                   ->miss
  782 fm(17):         printstring("%repeat");                                ->miss
  783 fm(18):         printstring("%finish");                                ->miss
  784 fm(19):         printstring("result");                                 ->miss
  785 fm(20):         printsymbol('"'); print ident(x, 0); printsymbol('"'); ->miss
  786 fm(21):         printstring("context ");  print ident(this, 0);        ->ps
  787 fm(22):         printstring("format");                                 ->ps
  788
  789 miss:           printstring(" missing");                               ->nps
  790 psd:            pos1 = 0
  791 ps:             print ss
  792 nps:            newline
  793                 %exit %if st = listing
				cbnz	w22, .L385
  794                 st = listing
				mov	w22, 2
		.LVL353:
		.L363:
		.LBB413:
		.LBB388:
				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
		.LVL354:
		.LBE388:
		.LBE413:
  795             %repeat
  796             %if n >= 0 %start
				tbnz	w23, #31, .L368
  797                 !%signal 15,15 %if diag&4096 # 0
  798                 %if n # 13 %start;           !order is fairly safe
				cmp	w23, 13
				beq	.L366
  799                     ocount = -1
				adrp	x0, .LANCHOR2+2840
				mov	w1, -1
				str	w1, [x0, #:lo12:.LANCHOR2+2840]
  800                     gg = 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 612]
  801                     copy = 0;  quote = 0
				str	wzr, [x0, 320]
  802                     search base = 0;  escape class = 0
				str	wzr, [x0, 240]
				str	wzr, [x0, 252]
  803                     gg = 0
				str	wzr, [x0, 292]
		.L366:
  804                 %finish
  805                 faulty = faulty+1
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 616]
				add	w1, w1, 1
				str	w1, [x0, 616]
  806
  807                 !check that there haven't been too many faults
  808
  809                 fault rate = fault rate+3;  abandon(6) %if fault rate > 30
				ldr	w1, [x0, 620]
				add	w1, w1, 3
				str	w1, [x0, 620]
  810                 fault rate = 3 %if fault rate <= 0
				cmp	w1, 30
				bgt	.L390
		.L367:
				adrp	x0, .LANCHOR0+620
				ldr	w0, [x0, #:lo12:.LANCHOR0+620]
				cmp	w0, 0
				ble	.L391
		.L365:
		.L368:
  811             %finish
				ldr	x0, [x29, 104]
				ldr	x18, [x0, 8]
				mov	w0, 6
				bl	ABANDON.7865
		.LVL386:
				b	.L367
		.L391:
				adrp	x0, .LANCHOR0+620
				mov	w1, 3
				str	w1, [x0, #:lo12:.LANCHOR0+620]
				b	.L368
		.LVL387:
		.L387:
		.LBB424:
  812             tbase = tstart
				ldr	x1, [x29, 104]
				ldr	w0, [x1, 72]
				str	w0, [x1, 68]
  813             %if list <= 0 %and sym # nl %start
				adrp	x0, .LANCHOR2+2688
				ldr	w0, [x0, #:lo12:.LANCHOR2+2688]
				cmp	w0, 0
				bgt	.L341
  814                 error margin = column
				adrp	x0, .LANCHOR2+2548
				ldr	w1, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w1, 10
				beq	.L341
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w2, [x0, 200]
				str	w2, [x0, 228]
  815                 error sym = sym;  sym = nl
				str	w1, [x0, 232]
  816             %finish
				adrp	x0, .LANCHOR2+2548
				mov	w1, 10
				str	w1, [x0, #:lo12:.LANCHOR2+2548]
				b	.L341
		.L390:
  817         %end
  818
  819         dmin = dmin-1;  dict(dmin) = -1;            !end marker for starts & cycles
				sub	w1, w2, #1
				str	w1, [x29, 468]
  820         abandon(2) %if dmax = dmin
				sub	w0, w2, #2
				add	x0, x18, x0, sxtw 2
				add	x0, x0, 24576
				add	x0, x0, 464
				mov	w2, -1
				str	w2, [x0, 4]
				cmp	w4, w1
				beq	.L956
		.LVL1024:
		.L919:
  821
				mov	w0, 2
				bl	ABANDON.7865
		.LVL1027:
				b	.L919
		.L957:
  822         %if list > 0 %and level > 0 %start
				adrp	x0, .LANCHOR2+2688
				ldr	w0, [x0, #:lo12:.LANCHOR2+2688]
				cmp	w0, 0
				ble	.L920
  823             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, .L387
				add	x8, x29, 1400
				bl	_imp_c2istr
		.LVL369:
		.L372:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w20, [x0]
				cmp	w20, 0
				mov	w0, 823
				csel	w20, w20, w0, ne
				add	x19, x29, 112
				mov	x2, 256
				add	x1, x29, 1400
				mov	x0, x19
				bl	memcpy
		.LVL370:
				mov	w0, 757
				str	w0, [sp]
				adrp	x7, .LC74
				add	x7, x7, :lo12:.LC74
				mov	w6, w23
				adrp	x5, .LC77
				add	x5, x5, :lo12:.LC77
				mov	w4, w23
				mov	w3, 2
				mov	w2, 8
				mov	w1, w20
				mov	x0, x19
				bl	_signal_eventf
		.LVL371:
		.L369:
		.L341:
				add	x19, x29, 1400
				mov	x21, 256
				mov	x2, x21
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x19
				bl	memcpy
		.LVL388:
				add	x20, x29, 1144
				mov	x2, x21
				mov	x1, x19
				mov	x0, x20
				bl	memcpy
		.LVL389:
		.LBE424:
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL390:
				b	.L372
		.LVL391:
		.L388:
				ldr	w0, [x29, 476]
				cmp	w0, 0
				bgt	.L957
		.L920:
				mov	w1, 5
				adrp	x0, .LANCHOR0+192
				ldr	w0, [x0, #:lo12:.LANCHOR0+192]
				bl	_imp_writeint
		.LVL1028:
  824             %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, .L388
				ldp	x19, x20, [sp, 32]
				ldp	x21, x22, [sp, 48]
		.LVL372:
				ldp	x23, x24, [sp, 64]
		.LVL373:
				ldp	x25, x26, [sp, 80]
				ldp	x27, x28, [sp, 96]
				ldp	x29, x30, [sp, 16]
				add	sp, sp, 2448
				ret
		.LVL374:
		.L384:
		.L353:
		.LBB423:
		.LBB398:
		.LBB391:
		.LBB392:
				bl	_imp_space
		.LVL375:
				mov	x19, 1
		.LBE392:
		.LBE391:
				bl	__stack_chk_fail
		.LVL392:
		.LFE196:
				.align	2
		ANALYSE.7949:
		.LFB202:
				ldr	w0, [x29, 476]
				add	w0, w0, w0, lsl 1
		.LBB676:
		.LBB677:
				sub	w0, w0, #1
				bl	_imp_spaces
		.LVL1029:
		.LBE677:
		.LBE676:
				ldr	w0, [x29, 444]
				cbnz	w0, .L921
		.LBB678:
  825                 printstring("Begin")
				add	x22, x29, 1784
				mov	x23, 256
				mov	x2, x23
				adrp	x1, .LANCHOR5
				add	x1, x1, :lo12:.LANCHOR5
				sub	x1, x1, #16
				mov	x0, x22
				bl	memcpy
		.LVL1030:
				add	x21, x29, 504
				mov	x2, x23
				mov	x1, x22
				mov	x0, x21
				bl	memcpy
		.LVL1031:
				add	x22, x29, 1272
				mov	x2, x23
				mov	x1, x21
				mov	x0, x22
				bl	memcpy
		.LVL1032:
		.LBE678:
		.LBB679:
		.LBB680:
				add	x21, x29, 128
				mov	x2, x23
				mov	x1, x22
				mov	x0, x21
				bl	memcpy
		.LVL1033:
				mov	x0, x21
				bl	_imp_printstring
		.LVL1034:
		.L922:
		.LBE680:
		.LBE679:
		.LBB681:
		.LBB682:
				bl	_imp_newline
		.LVL1035:
				b	.L920
		.L921:
		.LBE682:
		.LBE681:
		.LBB683:
  826             %finish %else %start
  827                 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, 240
				mov	x0, x22
				bl	memcpy
		.LVL1036:
				add	x21, x29, 760
				mov	x2, x23
				mov	x1, x22
				mov	x0, x21
				bl	memcpy
		.LVL1037:
				add	x22, x29, 1528
				mov	x2, x23
				mov	x1, x21
				mov	x0, x22
				bl	memcpy
		.LVL1038:
		.LBE683:
		.LBB684:
		.LBB685:
				add	x21, x29, 128
				mov	x2, x23
				mov	x1, x22
				mov	x0, x21
				bl	memcpy
		.LVL1039:
				mov	x0, x21
				bl	_imp_printstring
		.LVL1040:
		.LBE685:
		.LBE684:
  828             %finish
				mov	x18, x19
				mov	w1, 0
				ldr	w0, [x29, 444]
				bl	PRINTIDENT.7851
		.LVL1041:
				b	.L922
		.L958:
				str	x28, [x29, 88]
  829             newline
  830         %finish
  831
  832         !deal with procedure definition (parameters)
  833         %if block tag # 0 %start;                   !proc
				ldr	w0, [x29, 444]
				cbnz	w0, .L958
		.L923:
  834             analyse;  compile %if ss # 0
				add	x18, x29, 416
				bl	ANALYSE.7949
		.LVL1042:
  835
				adrp	x0, .LANCHOR0+624
				ldr	w0, [x0, #:lo12:.LANCHOR0+624]
				cbnz	w0, .L959
		.L924:
  836             %if block otype # 0 %start;              !external-ish
				cbz	w20, .L928
				add	x18, x29, 416
				bl	COMPILE.7951
		.LVL1047:
				b	.L924
		.L960:
  837                 %if bflags&spec = 0 %start;           !definition
				ldr	x0, [x29, 416]
				ldr	w0, [x0]
				tbnz	x0, 0, .L928
  838                     %if progmode <= 0 %and level = 1 %then progmode = -1 %else fault(7)
				adrp	x0, .LANCHOR0+716
				ldr	w0, [x0, #:lo12:.LANCHOR0+716]
				cmp	w0, 0
				bgt	.L926
  839                 %finish
				ldr	w0, [x29, 476]
				cmp	w0, 1
				beq	.L960
		.L926:
  840             %finish
				adrp	x0, .LANCHOR0+716
				mov	w1, -1
				str	w1, [x0, #:lo12:.LANCHOR0+716]
  841
				b	.L928
		.LVL1048:
		.L932:
		.LBB696:
		.LBB694:
		.LBB692:
		.LBB690:
  842             new app = gapp;                          !generate app grammar
  843             %if spec given # 0 %start;               !definition after spec
				add	x18, x29, 416
				mov	w0, 7
				bl	FAULT.7968
		.LVL1043:
		.L925:
		.L927:
		.L928:
		.LBB686:
		.LBB687:
				adrp	x0, .LANCHOR0+308
				ldr	w0, [x0, #:lo12:.LANCHOR0+308]
				cbz	w0, .L939
  844                 fault(6) %if new app # block app;     !different from spec
				sxtw	x0, w26
				add	x0, x0, x0, lsl 1
				add	x0, x19, x0, lsl 3
				add	x0, x0, 32768
				ldr	w0, [x0, 16276]
				cmp	w0, w20
				beq	.L939
  845             %finish
				add	x18, x29, 416
				mov	w0, 6
				bl	FAULT.7968
		.LVL1066:
		.L938:
		.L939:
  846             block app = new app;                     !use the latest
				sxtw	x26, w26
				add	x26, x26, x26, lsl 1
		.LVL1067:
				add	x0, x19, x26, lsl 3
				add	x0, x0, 32768
				str	w20, [x0, 16276]
  847
  848             %if level < 0 %start;                    !not procedure definition
				ldr	w0, [x29, 476]
				tbnz	w0, #31, .L962
				ldr	x28, [x29, 88]
				b	.L940
		.LVL1068:
		.L961:
		.LBB697:
		.LBB695:
  849                 delete names(0)
				add	x18, x29, 416
				mov	w0, 0
				bl	DELETENAMES.7947
		.LVL1071:
  850                 %return
				ldr	x28, [x29, 88]
				b	.L918
		.L943:
  851             %finish
  852         %finish %else %start
  853             open = 0;                                !can return from a block?
				str	wzr, [x29, 448]
		.LVL1025:
		.L940:
  854         %finish
  855
  856         %cycle
  857             analyse
				add	x21, x29, 416
				mov	x18, x21
				bl	ANALYSE.7949
		.LVL1073:
  858             %if ss # 0 %start
				adrp	x20, .LANCHOR0
				add	x20, x20, :lo12:.LANCHOR0
				ldr	w0, [x20, 624]
				cbz	w0, .L942
  859                 compile
				mov	x18, x21
				bl	COMPILE.7951
		.LVL1074:
  860                 fault(-5) %if dubious # 0
				ldr	w0, [x20, 712]
				cbz	w0, .L943
  861                 flush buffer( 128 )                    ;! flush if bp >= 128
				mov	w23, -5
				b	.L947
		.LVL1026:
		.L956:
				mov	x18, x19
				mov	w0, w22
				bl	FLUSHBUFFER.7815
		.LVL1072:
				mov	x18, x21
				mov	w0, w23
				bl	FAULT.7968
		.LVL1075:
				b	.L943
		.L963:
				mov	w22, 128
				b	.L942
		.L945:
  862                 %if sstype > 0 %start;                 !block in or out
				ldr	w0, [x20, 628]
				cmp	w0, 0
				bgt	.L963
		.L942:
  863                     %exit %if sstype = 2;               !out
				cmp	w0, 2
				beq	.L945
		.L946:
  864                     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, 720]
				ldr	w0, [x20, 708]
				bl	COMPILEBLOCK.7942
		.LVL1076:
  865                     %exit %if ss < 0;                   !endofprogram
				ldr	w0, [x20, 624]
				tbnz	w0, #31, .L945
		.L947:
  866                 %finish
  867             %finish
  868         %repeat
  869         %if list > 0 %and level > 0 %start
				adrp	x0, .LANCHOR2+2688
				ldr	w0, [x0, #:lo12:.LANCHOR2+2688]
				cmp	w0, 0
				ble	.L948
  870             write(lines, 5);  spaces(level*3-1)
				ldr	w0, [x29, 476]
				cmp	w0, 0
				bgt	.L964
		.L948:
				mov	w1, 5
				adrp	x0, .LANCHOR0+192
				ldr	w0, [x0, #:lo12:.LANCHOR0+192]
				bl	_imp_writeint
		.LVL1078:
  871             printstring("End")
				ldr	w0, [x29, 476]
				add	w0, w0, w0, lsl 1
		.LBB698:
		.LBB699:
				sub	w0, w0, #1
				bl	_imp_spaces
		.LVL1079:
		.LBE699:
		.LBE698:
		.LBB700:
				add	x19, x29, 1784
				mov	x20, 256
				mov	x2, x20
				adrp	x1, .LANCHOR5
				add	x1, x1, :lo12:.LANCHOR5
				add	x1, x1, 560
				mov	x0, x19
				bl	memcpy
		.LVL1080:
				add	x21, x29, 1016
				mov	x2, x20
				mov	x1, x19
				mov	x0, x21
				bl	memcpy
		.LVL1081:
				mov	x2, x20
				mov	x1, x21
				mov	x0, x19
				bl	memcpy
		.LVL1082:
		.LBE700:
		.LBB701:
		.LBB702:
				add	x0, x29, 128
				mov	x2, x20
				mov	x1, x19
				mov	x19, x0
				bl	memcpy
		.LVL1083:
				mov	x0, x19
				bl	_imp_printstring
		.LVL1084:
		.LBE702:
		.LBE701:
		.LBB703:
		.LBB704:
				bl	_imp_newline
		.LVL1085:
				b	.L948
		.L965:
				stp	x24, x25, [x29, 56]
				stp	x27, x28, [x29, 80]
		.LBE704:
		.LBE703:
  872             newline
  873         %finish
  874         delete names(0)
				add	x18, x29, 416
				mov	w0, 0
				bl	DELETENAMES.7947
		.LVL1077:
		.L918:
  875         %return
  876
  877         ! generate app grammar (backwards)
  878         %integerfn gapp
				add	x0, x29, 2048
				str	x0, [x29, 408]
  879             %constinteger comma = 140;               !psep
  880             %routinespec set cell(%integer g, tt)
  881             %routinespec class(%record(tagfm)%name v)
  882             %record(tagfm)%name v
  883             %integer p, link, tp, c, ap, t
  884
  885             %result = 0 %if tmax = local;            !no app needed
				adrp	x0, .LANCHOR0+340
				ldr	w28, [x0, #:lo12:.LANCHOR0+340]
				ldr	w0, [x29, 480]
				cmp	w28, w0
				beq	.L929
				stp	x24, x25, [x29, 56]
				str	x27, [x29, 80]
		.L930:
  886
				mov	w20, 0
		.LVL1044:
  887             p = gmax1;  link = 0;  t = tmax
				mov	w1, 719
				str	w1, [x29, 400]
  888
				str	wzr, [x29, 396]
		.LVL1045:
		.LBB688:
		.LBB689:
  889             %cycle
  890                 v == tag(t);  t = t-1
				ldr	x3, [x29, 424]
		.LVL1053:
  891                 class(v);                             ! deduce class from tag
				mov	w0, w27
		.LVL1052:
		.L931:
				sub	w27, w0, #1
		.LVL1054:
		.LBB693:
		.LBB691:
  892                 %if c < 0 %start;                     ! insert %PARAM
				ldr	w0, [x29, 384]
				tbz	w0, #31, .L934
  893                     c = -c
				neg	w0, w0
				str	w0, [x29, 384]
  894                     set cell(196, tp)
				add	x1, x29, 384
				str	x1, [x29, 120]
				b	.L931
		.LVL1046:
		.L959:
		.LBE687:
		.LBE686:
				ldr	x18, [x29, 120]
				ldr	w1, [x29, 388]
				mov	w0, 196
				bl	SETCELL.8144
		.LVL1064:
  895                     tp = -1
				mov	w0, -1
				str	w0, [x29, 388]
				b	.L934
		.L935:
  896                 %finish
  897                 set cell(c, tp)
				ldr	x18, [x29, 120]
				ldr	w1, [x29, 388]
				ldr	w0, [x29, 384]
				bl	SETCELL.8144
		.LVL1050:
  898                 %exit %if t = local;                  ! end of parameters
				cmp	w28, w27
				beq	.L935
		.L936:
  899                 set cell(comma, -1);                  ! add the separating comma
				ldr	x18, [x29, 120]
				mov	w1, -1
				mov	w0, 140
				bl	SETCELL.8144
		.LVL1051:
  900             %repeat
  901             abandon(3) %if gmax > gmin
				adrp	x0, .LANCHOR1
				ldr	w1, [x0, #:lo12:.LANCHOR1]
				adrp	x0, .LANCHOR2+2836
				ldr	w0, [x0, #:lo12:.LANCHOR2+2836]
				cmp	w1, w0
				bgt	.L961
		.L937:
  902
				ldr	x18, [x29, 424]
				mov	w0, 3
				bl	ABANDON.7865
		.LVL1069:
				b	.L937
		.LVL1070:
		.L962:
		.LBE695:
		.LBE697:
  903             %result = link
				ldr	w20, [x29, 396]
				ldp	x24, x25, [x29, 56]
				ldr	x27, [x29, 80]
		.LVL1065:
		.L929:
		.LBE694:
		.LBE696:
  904
  905             %routine set cell(%integer g, tt)
		.LVL10:
  906                 ! add the cell to the grammar, combining common tails
  907                 %while p # gmax %cycle
  908                     p = p+1
				adrp	x2, .LANCHOR1
				ldr	w6, [x2, #:lo12:.LANCHOR1]
				ldr	w2, [x18, 16]
				cmp	w6, w2
				beq	.L5
				add	w3, w2, 1
				str	w3, [x18, 16]
  909                     %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	.L10
				ldrsh	w4, [x8, w3, sxtw 1]
				cmp	w4, w0
				bne	.L10
				tbnz	w1, #31, .L7
  910                         %if tt < 0 %or (gram(p+1) = tt %and glink(p+1)=ap) %start
				add	x8, x8, 3456
		.L10:
  911                             link = p;                    ! already there
				add	w2, w2, 2
				ldrsh	w4, [x8, w2, sxtw 1]
				cmp	w4, w1
				bne	.L10
				str	w3, [x18, 12]
				b	.L4
		.L5:
  912                             %return
				ldrsh	w4, [x7, w2, sxtw 1]
				ldr	w2, [x18, 8]
				cmp	w4, w2
				bne	.L10
		.L7:
  913                         %finish
  914                     %finish
  915                 %repeat
  916
  917                 !add a new cell
  918                 gmax = gmax+1
				add	w2, w6, 1
				adrp	x4, .LANCHOR1
				add	x3, x4, :lo12:.LANCHOR1
				str	w2, [x4, #:lo12:.LANCHOR1]
  919                 gram(gmax) = g
				add	x5, x3, 3456
				sxtw	x4, w2
				strh	w0, [x5, x4, lsl 1]
  920                 glink(gmax) = link
				add	x3, x3, 8
				ldr	w0, [x18, 12]
		.LVL11:
				strh	w0, [x3, x4, lsl 1]
  921                 link = gmax
				str	w2, [x18, 12]
  922
  923                 %if tt >= 0 %start;             ! set type cell
				tbnz	w1, #31, .L9
  924                     gmax = gmax+1
				add	w6, w6, 2
				adrp	x2, .LANCHOR1
				str	w6, [x2, #:lo12:.LANCHOR1]
  925                     gram(gmax) = tt
				sxtw	x6, w6
				strh	w1, [x5, x6, lsl 1]
  926                     glink(gmax) = ap
				ldr	w1, [x18, 8]
		.LVL12:
				strh	w1, [x3, x6, lsl 1]
		.L9:
  927                 %finish
  928                 p = gmax
				adrp	x0, .LANCHOR1
				ldr	w0, [x0, #:lo12:.LANCHOR1]
				str	w0, [x18, 16]
		.L4:
  929
  930             %end
  931
				ret
		.LFE199:
				.align	2
		DEFLAB.8860:
		.LFB214:
  932             %routine class(%record(tagfm)%name v)
  933                 %constinteger err    = 89
  934                 %constinteger rtp    = 100
  935                 %constinteger fnp    = 101
  936                 %constinteger mapp   = 102
  937                 %constinteger predp  = 103
  938                 %constintegerarray class map(0:15) = %c
				adrp	x1, .LANCHOR5
				add	x1, x1, :lo12:.LANCHOR5
				ldp	x24, x25, [x1, 496]
				add	x1, x1, 496
				ldp	x22, x23, [x1, 16]
				ldp	x20, x21, [x1, 32]
				ldp	x1, x2, [x1, 48]
				stp	x1, x2, [x29, 96]
		.LBE689:
		.LBE688:
				add	x1, x29, 1568
				stp	x24, x25, [x1, 216]
				stp	x22, x23, [x1, 232]
				stp	x20, x21, [x1, 248]
				add	x4, x29, 2080
				ldp	x1, x2, [x29, 96]
				stp	x1, x2, [x4, -248]
  939                           err,1764, 247, err(4), -rtp, -fnp, -mapp, -predp, err, 214,
  940                 !         err,1764, 247, err(4), -rtp, -fnp, -mapp, -predp, err, 214,
  941                           err, 229, err
  942                 !         err, 229, err
  943                 %integer tags, type, form
  944
  945                 ap = 0
				str	wzr, [x29, 392]
  946                 tags = v_flags
				sxtw	x4, w0
				lsl	x1, x4, 1
				add	x2, x1, x4
				add	x2, x3, x2, lsl 3
				add	x2, x2, 32768
				ldr	w2, [x2, 16284]
		.LVL1055:
  947                 type = tags>>4&7;  form = tags&15
				ubfx	x5, x2, 4, 3
		.LVL1056:
  948                 tp = v_format<<3!type
				and	w2, w2, 15
		.LVL1057:
				add	x1, x1, x4
		.LVL1058:
				add	x1, x3, x1, lsl 3
		.LVL1059:
				add	x1, x1, 32768
		.LVL1060:
				ldr	w1, [x1, 16280]
		.LVL1061:
				orr	w1, w5, w1, lsl 3
				str	w1, [x29, 388]
  949                 c = class map(form)
				add	x1, x29, 1784
				ldr	w1, [x1, w2, sxtw 2]
				str	w1, [x29, 384]
		.L933:
  950                 c = 208 %and tp = 0 %if type = 0 %and form = 2;  !%name
  951                 ap = v_app %if tags&parameters # 0
				cmp	w5, 0
				ccmp	w2, 2, 0, eq
				beq	.L932
  952             %end
				mov	w1, 208
				str	w1, [x29, 384]
				sxtw	x0, w0
				add	x0, x0, x0, lsl 1
		.LVL1062:
				add	x0, x3, x0, lsl 3
				add	x0, x0, 32768
				ldr	w0, [x0, 16276]
				str	w0, [x29, 392]
		.LDL51:
		.LVL1063:
		.LBE691:
		.LBE693:
  953         %end
				str	wzr, [x29, 388]
				b	.L933
		.LVL1049:
		.L934:
		.LBE690:
		.LBE692:
  954
  955         %routine delete names(%integer quiet)
		.LVL619:
				stp	x29, x30, [sp, -80]!
				add	x29, sp, 0
				str	x19, [sp, 16]
  956             %integer flags
  957             %record(tagfm)%name tx
  958
  959             %while tmax > tbase %cycle
  960                 x = tmax;  tmax = tmax-1
				ldr	w19, [x18, 64]
				ldr	w1, [x18, 68]
				cmp	w19, w1
				ble	.L513
				stp	x20, x21, [x29, 24]
				stp	x22, x23, [x29, 40]
				stp	x24, x25, [x29, 56]
				str	x26, [x29, 72]
				mov	x20, x18
				mov	w22, w0
				adrp	x21, .LANCHOR0
				add	x21, x21, :lo12:.LANCHOR0
				ldr	w19, [x20, 64]
		.LVL621:
				ldr	w0, [x20, 68]
				cmp	w19, w0
				ble	.L520
		.L517:
				str	w19, [x21, 260]
  961                 tx == tag(x)
				sub	w0, w19, #1
				str	w0, [x20, 64]
				ldr	x26, [x20, 8]
		.LVL622:
  962                 flags = tx_flags
				sxtw	x0, w19
		.LVL623:
				add	x0, x0, x0, lsl 1
		.LVL624:
				add	x0, x26, x0, lsl 3
				add	x0, x0, 32768
  963                 fault(20) %if flags&spec # 0 %and flags&own bit = 0
  964                 !{spec with no definition & not external}
				ldr	w0, [x0, 16284]
				tbnz	x0, 0, .L516
  965                 %if flags&used bit = 0 %and level >= 0 %and list <= 0 %start
				mov	w24, 20
				mov	x18, x20
				mov	w0, w24
				bl	FAULT.7968
		.LVL625:
  966                     fault(-3) %if quiet = 0;          !unused
				ldr	w0, [x20, 60]
				tbnz	w0, #31, .L516
				ldr	w0, [x23, 2688]
				cmp	w0, 0
				ccmp	w22, 0, 0, le
				bne	.L516
  967                 %finish
				adrp	x23, .LANCHOR2
				add	x23, x23, :lo12:.LANCHOR2
				mov	w25, -3
				b	.L517
		.L515:
		.LVL620:
		.L516:
				mov	x18, x20
				mov	w0, w25
				bl	FAULT.7968
		.LVL626:
				b	.L516
		.L514:
		.LVL627:
		.L520:
				ldp	x20, x21, [x29, 24]
				ldp	x22, x23, [x29, 40]
		.LVL628:
				ldp	x24, x25, [x29, 56]
				ldr	x26, [x29, 72]
		.L513:
  968                 dict(tx_text) = tx_link
				sxtw	x19, w19
				lsl	x1, x19, 1
				add	x0, x1, x19
				add	x0, x26, x0, lsl 3
				add	x0, x0, 32768
				ldr	w2, [x0, 16296]
				ldr	x3, [x20, 8]
				ldr	w0, [x0, 16292]
				sub	w0, w0, #1
				add	x0, x3, x0, sxtw 2
				add	x0, x0, 24576
				add	x0, x0, 464
				str	w2, [x0, 4]
		.LDL36:
  969             %repeat
  970         %end
  971
				ldr	x19, [sp, 16]
				ldp	x29, x30, [sp], 80
				ret
		.LFE201:
				.align	2
		FLUSHBUFFER.7815:
		.LFB186:
  972         %routine analyse
				mov	x16, 8128
				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]
				mov	x22, x18
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x0]
				str	x1, [x29, 8104]
				mov	x1,0
				add	x0, x29, 4096
				add	x0, x0, 4016
				str	x0, [x29, 416]
				str	x18, [x29, 400]
  973             %constinteger order bits = 16_3000, order bit = 16_1000
  974             %constinteger escape     = 16_1000
  975             %integer strp, mark, flags, prot err, k, s, c
  976             %owninteger key = 0
  977             %integer node
  978             %integername z
  979             %record(arfm)%name arp
  980             %switch act(actions:phrasal), paction(0:15)
  981
  982             %routine trace analysis
				add	x0, x29, 4096
				add	x0, x0, 4016
				str	x0, [x29, 392]
				add	x0, x29, 400
				str	x0, [x29, 384]
  983                 !diagnostic trace routine (diagnose&1 # 0)
  984                 %integer a
  985
  986                 %routine show(%integer a)
		.LVL23:
				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
  987                     %if 0 < a %and a < 130 %start
  988                         space
				sub	w1, w0, #1
				cmp	w1, 128
				bls	.L28
		.L24:
  989                         printstring(text(a))
  990                     %finish %else write(a, 3)
  991                 %end
  992
				mov	w1, 3
				bl	_imp_writeint
		.LVL24:
		.L25:
		.L23:
				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, .L29
				ldp	x29, x30, [sp]
				add	sp, sp, 832
				ret
		.LVL25:
		.L28:
				stp	x19, x20, [x29, 16]
				str	x21, [x29, 32]
		.LBB272:
		.LBB273:
				bl	_imp_space
		.LVL26:
				add	x20, x29, 568
				mov	x21, 256
				mov	x2, x21
				add	x1, x29, 312
				mov	x0, x20
				bl	memcpy
		.LVL27:
		.LBE273:
		.LBE272:
		.LBB274:
		.LBB275:
				add	x19, x29, 48
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL28:
				mov	x0, x19
				bl	_imp_printstring
		.LVL29:
				ldp	x19, x20, [x29, 16]
				ldr	x21, [x29, 32]
				b	.L23
		.L29:
				stp	x19, x20, [x29, 16]
				str	x21, [x29, 32]
		.LBE275:
		.LBE274:
				bl	__stack_chk_fail
		.LVL30:
		.LFE204:
				.align	2
		PUTIT.7854:
		.LFB193:
  993                 %owninteger la1=0, la2=0, lsa=0, lt=0
  994                 newline %if mon pos # pos %and sym # nl
				ldr	w1, [x19, 668]
				ldr	w0, [x19, 196]
				cmp	w1, w0
				beq	.L418
  995                 mon pos = pos
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 10
				bne	.L488
		.L418:
				ldr	w0, [x19, 196]
				str	w0, [x19, 668]
  996                 write(g, 3)
				mov	w1, 3
				ldr	w0, [x19, 660]
				bl	_imp_writeint
		.LVL499:
		.LBB496:
		.LBB497:
				bl	_imp_space
		.LVL500:
				add	x21, x29, 4096
				add	x21, x21, 2984
				mov	x28, 256
				mov	x2, x28
				add	x1, x29, 4096
				add	x1, x1, 3240
				mov	x0, x21
				bl	memcpy
		.LVL501:
		.LBE497:
		.LBE496:
		.LBB498:
		.LBB499:
				add	x0, x29, 112
				mov	x2, x28
				mov	x1, x21
				mov	x21, x0
				bl	memcpy
		.LVL502:
				mov	x0, x21
				bl	_imp_printstring
		.LVL503:
		.LBE499:
		.LBE498:
		.LBB500:
		.LBB501:
				mov	w0, 34
				bl	_imp_printsymbol
		.LVL504:
		.LDL28:
		.LBE501:
		.LBE500:
  997                 space
  998                 printstring(text(class))
  999                 printsymbol('"') %if gg&trans bit # 0
 1000                 a = gg>>8&15
				ldr	w21, [x19, 612]
				ubfx	x21, x21, 8, 4
		.LVL505:
 1001                 %if a # 0 %start
				cbnz	w21, .L489
		.L419:
 1002                     printsymbol('{')
 1003                     write(a, 0)
				mov	w1, 0
				mov	w0, w21
				bl	_imp_writeint
		.LVL494:
		.LBB494:
		.LBB495:
				mov	w0, 125
				bl	_imp_printsymbol
		.LVL495:
				b	.L419
		.LVL496:
		.L490:
		.LBE495:
		.LBE494:
 1004                     printsymbol('}')
 1005                 %finish
 1006                 %if atom1 # la1 %or atom2 # la2 %or lsa # subatom %or lt # type %start
				ldr	w1, [x19, 288]
				ldr	w0, [x19, 672]
				cmp	w1, w0
				bne	.L420
 1007                     printstring(" [")
				adrp	x0, .LANCHOR3
				add	x0, x0, :lo12:.LANCHOR3
				str	x0, [x29, 104]
		.LVL405:
		.L406:
		.LBE488:
		.LBE487:
		.LBE486:
				ldr	x0, [x29, 104]
				add	x24, x0, 1432
				b	.L417
		.LVL406:
		.L405:
		.LBE489:
		.LBE509:
		.LBE512:
				ldr	w1, [x19, 296]
				ldr	w0, [x19, 676]
				cmp	w1, w0
				beq	.L490
		.L420:
		.LBB502:
				add	x21, x29, 4096
				add	x21, x21, 3496
		.LVL506:
				mov	x28, 256
				mov	x2, x28
				mov	x1, x24
				mov	x0, x21
				bl	memcpy
		.LVL507:
				add	x0, x29, 4096
				add	x0, x0, 3752
				mov	x2, x28
				mov	x1, x21
				mov	x21, x0
				bl	memcpy
		.LVL508:
				add	x0, x29, 4096
				add	x0, x0, 2728
				mov	x2, x28
				mov	x1, x21
				mov	x21, x0
				bl	memcpy
		.LVL509:
		.LBE502:
		.LBB503:
		.LBB504:
				add	x0, x29, 112
				mov	x2, x28
				mov	x1, x21
				mov	x21, x0
				bl	memcpy
		.LVL510:
				mov	x0, x21
				bl	_imp_printstring
		.LVL511:
		.LBE504:
		.LBE503:
 1008                     la1 = atom1
				ldr	w1, [x19, 680]
				ldr	w0, [x19, 272]
				cmp	w1, w0
				bne	.L420
				ldr	w0, [x19, 288]
				str	w0, [x19, 672]
 1009                     show(la1)
				ldr	w1, [x19, 684]
				ldr	w0, [x19, 248]
				cmp	w1, w0
				bne	.L420
				b	.L421
		.LVL497:
		.L425:
		.LBE510:
		.LBE548:
				add	x21, x29, 384
				mov	x18, x21
				bl	SHOW.8220
		.LVL512:
 1010                     la2 = atom2
				ldr	w0, [x19, 296]
				str	w0, [x19, 676]
 1011                     show(la2)
				mov	x18, x21
				bl	SHOW.8220
		.LVL513:
 1012                     lsa = subatom
				ldr	w0, [x19, 272]
				str	w0, [x19, 680]
 1013                     write(lsa, 3)
				mov	w1, 3
				bl	_imp_writeint
		.LVL514:
 1014                     lt = type
				ldr	w0, [x19, 248]
				str	w0, [x19, 684]
 1015                     write(lt, 5)
				mov	w1, 5
				bl	_imp_writeint
		.LVL515:
		.LBB505:
		.LBB506:
				mov	w0, 93
				bl	_imp_printsymbol
		.LVL516:
		.L421:
		.LBE506:
		.LBE505:
		.LBB507:
		.LBB508:
				bl	_imp_newline
		.LVL517:
		.LDL29:
		.LBE508:
		.LBE507:
		.LBE511:
		.LBE549:
 1016                     printsymbol(']')
 1017                 %finish
 1018                 newline
 1019             %end
 1020
 1021             %routine get sym
				stp	x29, x30, [sp, -32]!
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				mov	x20, x18
		.LVL84:
		.LBB286:
		.LBB287:
				adrp	x19, .LANCHOR2
				add	x19, x19, :lo12:.LANCHOR2
				add	x0, x19, 2548
				bl	_imp_readsymbol
		.LVL85:
		.LBE287:
		.LBE286:
 1022                 readsymbol(sym)
 1023                 abandon(5) %if sym < 0
				ldr	w0, [x19, 2548]
				tbnz	w0, #31, .L68
		.L64:
 1024                 pos = pos+1 %if pos # 133
				adrp	x0, .LANCHOR0+196
				ldr	w0, [x0, #:lo12:.LANCHOR0+196]
				cmp	w0, 133
				beq	.L65
				ldr	x0, [x20]
				ldr	x18, [x0, 8]
				mov	w0, 5
				bl	ABANDON.7865
		.LVL86:
				b	.L64
		.L69:
		.LVL87:
		.LBB288:
		.LBB289:
				bl	_imp_printsymbol
		.LVL88:
				b	.L66
		.LBE289:
		.LBE288:
		.LFE205:
				.align	2
		READSYM.8246:
		.LFB206:
 1025                 char(pos) = sym
				add	w0, w0, 1
				adrp	x1, .LANCHOR0+196
				str	w0, [x1, #:lo12:.LANCHOR0+196]
		.L65:
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldrb	w0, [x1, 2548]
				add	x3, x1, 2552
				adrp	x2, .LANCHOR0+196
				ldrsw	x2, [x2, #:lo12:.LANCHOR0+196]
				strb	w0, [x3, x2]
 1026                 printsymbol(sym) %if list <= 0
				ldr	w1, [x1, 2688]
				cmp	w1, 0
				ble	.L69
		.L66:
 1027                 column = column+1
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 200]
				add	w1, w1, 1
				str	w1, [x0, 200]
 1028             %end
 1029
				ldp	x19, x20, [sp, 16]
				ldp	x29, x30, [sp], 32
				ret
		.L68:
 1030             %routine read sym
				sub	sp, sp, #1216
				stp	x29, x30, [sp]
				add	x29, sp, 0
				stp	x19, x20, [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
 1031                 %owninteger Last = 0
 1032                 %constbyteintegerarray mapped(0:127) = %c
				mov	x2, 128
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				add	x1, x1, 256
				add	x0, x29, 1080
				bl	memcpy
		.LVL89:
 1033                   0,  0,  0,  0,   0,  0,  0,  0,    0,  0, 10,  0,   3,  0,  0,  0,
 1034                   0,  0,  0,  0,   0,  0,  0,  0,    0,  0,  0,  0,   0,  0,  0,  0,
 1035                   0,'!','"','#', '$',  1,'&', 39,  '(',')','*','+', ',','-','.','/',
 1036                 '0','1','2','3', '4','5','6','7',  '8','9',':',';', '<','=','>','?',
 1037                 '@','A','B','C', 'D','E','F','G',  'H','I','J','K', 'L','M','N','O',
 1038                 'P','Q','R','S', 'T','U','V','W',  'X','Y','Z','[', '\',']','^','_',
 1039                 '`','A','B','C', 'D','E','F','G',  'H','I','J','K', 'L','M','N','O',
 1040                 'P','Q','R','S', 'T','U','V','W',  'X','Y','Z', 2 , '|','}','~',  0
 1041
 1042                 !!   0 = space
 1043                 !!   1 = %
 1044                 !!   2 = {
 1045                 !!   3 = ff
 1046                 !!   other values represent themselves
 1047
 1048                 %if sym = nl %start
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 10
				bne	.L82
		.L72:
 1049 s1:                 lines = lines+1
 1050                     printsymbol(end mark) %if end mark # 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 192]
				add	w1, w1, 1
				str	w1, [x0, 192]
				ldr	w0, [x0, 204]
				cbnz	w0, .L104
		.L73:
		.L74:
 1051 s11:                pos = 0;  pos1 = 0;  pos2 = 0;  margin = 0;  column = 0
 1052                     Last = 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 196]
				str	wzr, [x0, 220]
 1053                     end mark = 0
				str	wzr, [x0, 208]
				str	wzr, [x0, 204]
 1054                     %if list <= 0 %start
				str	wzr, [x0, 212]
				adrp	x0, .LANCHOR2+2688
				ldr	w0, [x0, #:lo12:.LANCHOR2+2688]
				cmp	w0, 0
				ble	.L105
		.L75:
		.L79:
		.L80:
		.L81:
 1055                         %if include # 0 %start
				str	wzr, [x0, 216]
				adrp	x0, .LANCHOR0+224
				ldr	w0, [x0, #:lo12:.LANCHOR0+224]
				cbz	w0, .L76
				stp	x21, x22, [x29, 32]
		.LBB294:
 1056                             printstring(" &");  write(lines, -4)
				str	wzr, [x0, 200]
				add	x21, x29, 312
				mov	x22, 256
				mov	x2, x22
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				add	x1, x1, 384
				mov	x0, x21
				bl	memcpy
		.LVL95:
				add	x20, x29, 568
				mov	x2, x22
				mov	x1, x21
				mov	x0, x20
				bl	memcpy
		.LVL96:
				add	x21, x29, 824
				mov	x2, x22
				mov	x1, x20
				mov	x0, x21
				bl	memcpy
		.LVL97:
		.LBE294:
		.LBB295:
		.LBB296:
				add	x20, x29, 48
				mov	x2, x22
				mov	x1, x21
				mov	x0, x20
				bl	memcpy
		.LVL98:
				mov	x0, x20
				bl	_imp_printstring
		.LVL99:
		.LBE296:
		.LBE295:
 1057                         %finish %else  write(lines, 5)
				mov	w1, -4
				adrp	x0, .LANCHOR0+192
				ldr	w0, [x0, #:lo12:.LANCHOR0+192]
				bl	_imp_writeint
		.LVL100:
				ldp	x21, x22, [x29, 32]
		.L77:
 1058                         csym = cont;  printsymbol(csym)
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w0, [x1, 2692]
				str	w0, [x1, 2696]
		.LVL101:
		.LBB297:
		.LBB298:
				bl	_imp_printsymbol
		.LVL102:
		.LBE298:
		.LBE297:
		.LBB299:
		.LBB300:
				bl	_imp_space
		.LVL103:
		.LBE300:
		.LBE299:
 1059                         space
				mov	w1, 5
				adrp	x0, .LANCHOR0+192
				ldr	w0, [x0, #:lo12:.LANCHOR0+192]
				bl	_imp_writeint
		.LVL108:
				b	.L77
		.L106:
 1060                         %if error margin # 0 %start
				adrp	x0, .LANCHOR0+228
				ldr	w0, [x0, #:lo12:.LANCHOR0+228]
				cbz	w0, .L81
 1061                             lines = lines-1
				adrp	x20, .LANCHOR0
				add	x20, x20, :lo12:.LANCHOR0
				ldr	w1, [x20, 192]
				sub	w1, w1, #1
				str	w1, [x20, 192]
		.LVL104:
		.LBB301:
		.LBB302:
				bl	_imp_spaces
		.LVL105:
		.LBE302:
		.LBE301:
 1062                             spaces(error margin)
 1063                             error margin = 0
				str	wzr, [x20, 228]
 1064                             %if error sym # 0 %start
				ldr	w0, [x20, 232]
				cbz	w0, .L81
		.LVL106:
		.LBB303:
		.LBB304:
				bl	_imp_printsymbol
		.LVL107:
		.LBE304:
		.LBE303:
 1065                                 printsymbol(error sym)
 1066                                 pos = 1;  char(1) = error sym
				mov	w1, 1
				str	w1, [x20, 196]
 1067                                 sym = error sym;  error sym = 0
				ldr	w2, [x20, 232]
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				strb	w2, [x1, 2553]
				str	w2, [x1, 2548]
 1068                                 ->s5
				str	wzr, [x20, 232]
				b	.L78
		.L76:
 1069                             %finish
 1070                         %finish
 1071                     %finish
 1072 s2:                 symtype = 1
 1073                 %finish
				adrp	x0, .LANCHOR0+236
				mov	w1, 1
				str	w1, [x0, #:lo12:.LANCHOR0+236]
		.L71:
		.L82:
		.LVL90:
		.LBB290:
		.LBB291:
				adrp	x20, .LANCHOR2
				add	x20, x20, :lo12:.LANCHOR2
				add	x0, x20, 2548
				bl	_imp_readsymbol
		.LVL91:
		.LBE291:
		.LBE290:
 1074 s3:             readsymbol(sym)
 1075                 abandon(5) %if sym < 0
				ldr	w0, [x20, 2548]
				tbnz	w0, #31, .L106
		.L83:
 1076                 pos = pos+1 %if pos # 133
				adrp	x0, .LANCHOR0+196
				ldr	w0, [x0, #:lo12:.LANCHOR0+196]
				cmp	w0, 133
				beq	.L84
				ldr	x0, [x19]
				ldr	x18, [x0, 8]
				mov	w0, 5
				bl	ABANDON.7865
		.LVL109:
				b	.L83
		.L107:
		.LVL110:
		.LBB305:
		.LBB306:
				bl	_imp_printsymbol
		.LVL111:
				b	.L85
		.L108:
		.LBE306:
		.LBE305:
 1077                 char(pos) = sym
				add	w0, w0, 1
				adrp	x1, .LANCHOR0+196
				str	w0, [x1, #:lo12:.LANCHOR0+196]
		.L84:
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldrb	w0, [x1, 2548]
				add	x3, x1, 2552
				adrp	x2, .LANCHOR0+196
				ldrsw	x2, [x2, #:lo12:.LANCHOR0+196]
				strb	w0, [x3, x2]
 1078                 printsymbol(sym) %if list <= 0
				ldr	w1, [x1, 2688]
				cmp	w1, 0
				ble	.L107
		.L85:
 1079                 column = column+1
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 200]
				add	w1, w1, 1
				str	w1, [x0, 200]
		.L78:
 1080 s5:             %if sym # nl %start
 1081                     Last = Sym
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 10
				beq	.L97
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				str	w0, [x1, 220]
 1082                     %return %if quote # 0;                     !dont alter strings
				ldr	w1, [x1, 240]
				cbnz	w1, .L70
		.L88:
 1083                     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]
 1084                     %if sym <= 3 %start;                       !special symbol
				cmp	w0, 3
				bgt	.L89
 1085                         ->s2 %if sym = 0;                       !space (or dubious control)
				cbz	w0, .L81
		.L90:
 1086                         symtype = 2 %and ->s3 %if sym = 1;      !%
				cmp	w0, 1
				beq	.L108
		.L91:
 1087                         cont = '+' %and ->s11 %if sym = 3;      !ff
				cmp	w0, 3
				beq	.L109
		.L92:
		.L93:
		.L94:
				adrp	x0, .LANCHOR0+236
				mov	w1, 2
				str	w1, [x0, #:lo12:.LANCHOR0+236]
 1088                         !must be {
				b	.L82
		.L109:
				adrp	x0, .LANCHOR2+2692
				mov	w1, 43
				str	w1, [x0, #:lo12:.LANCHOR2+2692]
 1089                         %cycle
				b	.L74
		.L89:
 1090                             get sym
				mov	x18, x19
				bl	GETSYM.8240
		.LVL92:
 1091                             ->s3 %if sym = '}'
				adrp	x20, .LANCHOR2
				add	x20, x20, :lo12:.LANCHOR2
				ldr	w0, [x20, 2548]
				cmp	w0, 125
				beq	.L82
		.L95:
 1092                             ->s4 %if sym = nl
				cmp	w0, 10
				bne	.L92
		.L86:
		.L97:
 1093                         %repeat
 1094                     %finish
 1095                     key = kdict(sym)
				ldr	x1, [x19]
				ldr	x2, [x1, 8]
				sub	w1, w0, #32
				add	x1, x2, x1, sxtw 1
				add	x1, x1, 65536
				add	x1, x1, 2960
				ldrsh	w1, [x1, 12]
				adrp	x2, .LANCHOR0+244
				str	w1, [x2, #:lo12:.LANCHOR0+244]
 1096                     %if key&3 = 0 %and symtype = 2 %start;            !keyword
				tbnz	x1, 0, .L96
 1097                         %if sym = 'C' %and nextsymbol = nl %start;     !%c...
				adrp	x2, .LANCHOR0+236
				ldr	w2, [x2, #:lo12:.LANCHOR0+236]
				cmp	w2, 2
				beq	.L111
		.L96:
				cmp	w0, 67
				bne	.L70
		.LBB307:
		.LBB308:
				bl	_imp_nextsymbol
		.LVL112:
		.LBE308:
		.LBE307:
 1098                             getsym;  cont = '+';  ->s1
				cmp	w0, 10
				bne	.L70
				mov	x18, x19
				bl	GETSYM.8240
		.LVL113:
 1099                         %finish
				adrp	x0, .LANCHOR2+2692
				mov	w1, 43
				str	w1, [x0, #:lo12:.LANCHOR2+2692]
 1100                     %else
				b	.L72
		.L110:
				stp	x21, x22, [x29, 32]
 1101                         symtype = key&3-2
				and	w1, w1, 3
				sub	w1, w1, #2
				adrp	x0, .LANCHOR0+236
				str	w1, [x0, #:lo12:.LANCHOR0+236]
				b	.L70
		.L111:
 1102                     %finish
 1103                     %return
 1104                 %finish
 1105 s4:             symtype = quote
 1106                 ->S1 %if last = 0 %and Quote = 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 240]
				str	w1, [x0, 236]
 1107                 Cont = '+'
				ldr	w0, [x0, 220]
				orr	w1, w1, w0
				cbz	w1, .L72
		.L98:
				adrp	x0, .LANCHOR2+2692
				mov	w1, 43
				str	w1, [x0, #:lo12:.LANCHOR2+2692]
		.L87:
		.L99:
		.L70:
 1108             %end
 1109
				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, .L110
				ldp	x19, x20, [sp, 16]
				ldp	x29, x30, [sp]
				add	sp, sp, 1216
				ret
		.L104:
		.LVL93:
		.LBB292:
		.LBB293:
				bl	_imp_printsymbol
		.LVL94:
				b	.L74
		.L105:
		.LBE293:
		.LBE292:
				bl	__stack_chk_fail
		.LVL114:
		.LFE206:
				.align	2
		GET.8424:
		.LFB211:
 1110             %integerfn format selected
 1111                 format list = tag(format)_app;      !number of names
				ldr	x1, [x22]
				ldr	x1, [x1]
				ldr	x2, [x1, 8]
				sxtw	x1, w0
				add	x1, x1, x1, lsl 1
				add	x1, x2, x1, lsl 3
				add	x1, x1, 32768
				ldr	w1, [x1, 16276]
				adrp	x3, .LANCHOR0+264
				str	w1, [x3, #:lo12:.LANCHOR0+264]
 1112                 %if format list < 0 %start;         !forward ref
				tbnz	w1, #31, .L209
		.L158:
 1113                     atom1 = error+22
				adrp	x0, .LANCHOR0+288
				mov	w1, 32790
				str	w1, [x0, #:lo12:.LANCHOR0+288]
				ldp	x24, x25, [x29, 56]
		.LVL181:
				ldp	x26, x27, [x29, 72]
				b	.L136
		.LVL182:
		.L208:
		.LBE332:
		.LBE331:
 1114                     %result = 0
 1115                 %finish
 1116                 %if sym = '_' %start
				adrp	x1, .LANCHOR2+2548
				ldr	w1, [x1, #:lo12:.LANCHOR2+2548]
				cmp	w1, 95
				bne	.L161
 1117                     escape class = esc rec
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				mov	w3, 255
				str	w3, [x1, 292]
 1118                     search base = tag(format)_format
				sxtw	x0, w0
				add	x0, x0, x0, lsl 1
				add	x0, x2, x0, lsl 3
				add	x0, x0, 32768
				ldr	w0, [x0, 16280]
				str	w0, [x1, 252]
				b	.L161
		.L209:
 1119                 %finish
 1120                 %result = 1
 1121             %end
 1122
 1123             %routine code atom(%integer target)
		.LVL228:
				stp	x29, x30, [sp, -160]!
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				stp	x21, x22, [sp, 32]
				str	x23, [sp, 48]
				str	w0, [x29, 108]
				mov	x19, x18
				adrp	x0, :got:__stack_chk_guard
		.LVL229:
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x0]
				str	x1, [x29, 152]
				mov	x1,0
				add	x0, x29, 160
				str	x0, [x29, 144]
				str	x18, [x29, 120]
 1124                 %integer dbase, da
 1125                 %integer base, n, mul, pend quote
 1126                 %integer j,k,l, pt
 1127
 1128                 %routine lookup(%integer d)
		.LVL126:
				sub	sp, sp, #880
				stp	x29, x30, [sp]
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				stp	x21, x22, [sp, 32]
				str	x23, [sp, 48]
				mov	w23, w0
				mov	x22, x18
				adrp	x0, :got:__stack_chk_guard
		.LVL127:
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x0]
				str	x1, [x29, 872]
				mov	x1,0
 1129                     %integer new name, vid, k1, k2, form
 1130                     %record(tagfm)%name t
 1131                     %integer new
 1132
 1133                     ! twee little function because SKIMP86 can't do string compare properly
 1134                     ! returns 1 if the two names are the same, else zero
 1135                     %integerfn dict match(%integer ptr1, ptr2)
 1136                         %integer len;
 1137                         ! start with a cheap check of the length and first character
 1138                         %if dict(ptr1) # dict(ptr2) %then %result = 0
				add	x0, x11, 16384
				ldr	w8, [x0, 8660]
				add	x0, x3, 16384
				ldr	w2, [x0, 8660]
				cmp	w2, w8
				bne	.L139
		.L140:
 1139                         len = dict(ptr1) & 255
				and	w2, w2, 255
		.LVL142:
 1140                         ptr1 = ptr1 + 1
				mov	w3, w0
		.LVL133:
		.L141:
				add	w0, w21, 2
		.LVL143:
 1141                         ptr2 = ptr2 + 1
				add	w9, w9, 2
		.LVL131:
				mov	w12, w9
				mov	w4, w12
				mov	w1, w9
		.LVL144:
 1142                         len = len - 1
				sub	w2, w2, #1
		.LVL145:
 1143                         %while len >= 2 %cycle
 1144                             %if dict(ptr1) # dict(ptr2) %then %result = 0
				mov	x11, x0
		.LBE319:
		.LBE318:
				cmp	w2, 1
				ble	.L192
		.LVL146:
				add	x3, x3, 16384
				ldr	w4, [x3, 8664]
				ldr	w3, [x11, 8664]
				cmp	w4, w3
				bne	.L139
		.LVL147:
		.L142:
				cmp	w2, 1
				ble	.L141
				add	x0, x5, x0, sxtw
				add	x0, x19, x0, lsl 2
				ldr	w7, [x0, 4]
				add	x1, x5, x1, sxtw
				add	x1, x19, x1, lsl 2
				ldr	w6, [x1, 4]
				cmp	w7, w6
				beq	.L142
				b	.L139
		.LVL151:
		.L137:
		.LBE322:
		.LBE325:
 1145                             ptr1 = ptr1 + 1
				add	w3, w0, 1
		.LVL148:
				mov	w0, w3
 1146                             ptr2 = ptr2 + 1
				add	w4, w1, 1
		.LVL149:
				mov	w1, w4
 1147                             len = len - 2
				sub	w2, w2, #2
		.LVL150:
		.LDL10:
 1148                         %repeat
 1149                         ! if the string was odd length, we might need one last byte checked
 1150                         %if len = 1 %start
				cmp	w2, 1
				beq	.L201
		.L144:
		.L189:
		.LDL6:
		.LVL134:
		.LBE320:
		.LBE323:
 1151                             %if dict(ptr1)&255 # dict(ptr2)&255 %then %result = 0
				mov	x5, 6260
				sub	w0, w4, #1
				add	x0, x5, x0, sxtw
				add	x0, x19, x0, lsl 2
				ldr	w0, [x0, 4]
				cmp	w0, 255
				cset	w1, eq
				sub	w0, w3, #1
				add	x0, x5, x0, sxtw
				add	x0, x19, x0, lsl 2
				ldr	w0, [x0, 4]
				tst	w1, w0
				bne	.L189
		.LVL137:
		.L139:
		.LDL8:
		.LBE321:
		.LBE324:
 1152                         %finish
 1153                         %result = 1
 1154                     %end
 1155
 1156                     !first locate the text of the name
 1157                     new = dmax+1;     ! points to text of string in dictionary
				adrp	x0, .LANCHOR2+2700
				ldr	w9, [x0, #:lo12:.LANCHOR2+2700]
		.LVL128:
 1158                     k1 = hash value & max names;        ! rather crude hash!
				ldr	x0, [x18]
				ldr	x0, [x0]
				ldr	x19, [x0, 8]
				add	x0, x19, 16384
				ldr	w20, [x0, 8656]
				and	w20, w20, 2047
		.LVL129:
 1159
 1160                     %cycle
 1161                         newname = hash(k1)
				mov	x0, 4212
				add	x0, x0, x20, sxtw
				ldr	w21, [x19, x0, lsl 2]
		.LVL130:
				mov	x10, 4212
				b	.L138
		.LVL132:
		.L192:
		.LBB323:
		.LBB320:
				add	x0, x10, x20, sxtw
				ldr	w21, [x19, x0, lsl 2]
		.LVL140:
 1162                         %exit %if newname = 0;                !not in
				cbz	w21, .L137
				add	x11, x19, x9, sxtw 2
		.LBB318:
		.LBB319:
				cbz	w21, .L137
		.L138:
		.LVL141:
				add	x3, x19, x21, sxtw 2
		.LBB325:
		.LBB322:
 1163                         ->in %if dict match(newname+1, new) = 1
 1164                         k1 = (k1+1)&max names
				add	w20, w20, 1
		.LVL138:
				and	w20, w20, 2047
		.LVL139:
		.LDL9:
 1165                     %repeat
 1166
 1167                     ! not found
 1168                     spare names = spare names-1
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w0, [x1, 2704]
				sub	w0, w0, #1
				str	w0, [x1, 2704]
 1169                     abandon(2) %if spare names <= 0
				cmp	w0, 0
				ble	.L205
		.LVL152:
		.L145:
 1170                     hash(k1) = dmax;                               !put it in
				adrp	x0, .LANCHOR2
				add	x0, x0, :lo12:.LANCHOR2
				ldr	w21, [x0, 2700]
		.LVL153:
				ldr	x1, [x22]
				ldr	x1, [x1]
				ldr	x2, [x1, 8]
				mov	x1, 4212
				add	x20, x1, x20, sxtw
		.LVL154:
				str	w21, [x2, x20, lsl 2]
				mov	x18, x19
				mov	w0, 2
				bl	ABANDON.7865
		.LVL161:
				b	.L145
		.LVL162:
		.L202:
 1171                     dict(dmax) = -1
				ldr	x1, [x22]
				ldr	x1, [x1]
				ldr	x2, [x1, 8]
				sub	w1, w21, #1
				add	x1, x2, x1, sxtw 2
				add	x1, x1, 24576
				add	x1, x1, 464
				mov	w2, -1
				str	w2, [x1, 4]
		.LVL155:
 1172                     newname = dmax;  dmax = dp;  ->not in
 1173
				ldr	w1, [x0, 2708]
				str	w1, [x0, 2700]
		.L146:
		.L178:
 1174 in:                 search base = rbase %if this >= 0 %and d # 0;  !record elem defn
 1175                     %if search base # 0 %start;                    !record subname
				adrp	x0, .LANCHOR2+2824
				adrp	x0, .LANCHOR0+252
				ldr	w1, [x0, #:lo12:.LANCHOR0+252]
				cbz	w1, .L148
		.LVL135:
 1176                         new = -1
				ldr	w0, [x0, #:lo12:.LANCHOR2+2824]
				cmp	w0, 0
				ccmp	w23, 0, 4, ge
				bne	.L202
		.L147:
 1177                         x = search base
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	w1, [x0, 260]
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 256]
				str	w1, [x0, 252]
				b	.L147
		.LVL163:
		.L203:
				stp	x24, x25, [x29, 56]
				stp	x26, x27, [x29, 72]
				b	.L155
		.LVL164:
		.L148:
 1178                         %cycle
 1179                             ->not in %if x < format list
				ldr	w3, [x0, 264]
				cmp	w1, w3
				blt	.L178
				cmp	w1, w3
				blt	.L204
		.L151:
				sub	w1, w1, #1
 1180                             %exit %if tag(x)_text = new name
				sxtw	x0, w1
				add	x0, x0, x0, lsl 1
				add	x0, x19, x0, lsl 3
				add	x0, x0, 32768
				ldr	w0, [x0, 16292]
				sub	w1, w1, #1
				cmp	w0, w21
				beq	.L203
		.L152:
				sxtw	x0, w2
				add	x0, x0, x0, lsl 1
				add	x0, x19, x0, lsl 3
				add	x0, x0, 32768
				ldr	w0, [x0, 16292]
				cmp	w0, w21
				bne	.L152
				stp	x24, x25, [x29, 56]
				stp	x26, x27, [x29, 72]
				adrp	x0, .LANCHOR0+260
				str	w2, [x0, #:lo12:.LANCHOR0+260]
				b	.L155
		.LVL136:
		.L201:
		.LBB324:
		.LBB321:
 1181                             x = x-1
				mov	w2, w1
		.LDL7:
 1182                         %repeat
 1183                     %finish %else %start;                   !hash in for normal names
 1184                         x = dict(newname)
				sub	w0, w21, #1
				add	x0, x19, x0, sxtw 2
				add	x0, x0, 24576
				add	x0, x0, 464
				ldr	w1, [x0, 4]
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	w1, [x0, 260]
 1185                         ->not in %if x <= limit;             !wrong level
				ldr	w0, [x0, 268]
				cmp	w1, w0
				ble	.L178
		.L150:
		.L154:
				stp	x24, x25, [x29, 56]
				stp	x26, x27, [x29, 72]
		.LVL165:
		.L155:
 1186                     %finish
 1187
 1188                     subatom = x;                            !name found, extract info
				adrp	x20, .LANCHOR0
		.LVL166:
				add	x20, x20, :lo12:.LANCHOR0
				ldr	w24, [x20, 260]
				str	w24, [x20, 272]
		.LVL167:
 1189                     t == tag(x)
 1190                     atom flags = t_flags
				sxtw	x3, w24
				lsl	x1, x3, 1
				add	x0, x1, x3
				add	x0, x19, x0, lsl 3
				add	x0, x0, 32768
				ldr	w0, [x0, 16284]
				str	w0, [x20, 276]
 1191                     format = t_format;  app = t_app
				add	x2, x1, x3
				add	x2, x19, x2, lsl 3
				add	x2, x2, 32768
				ldr	w2, [x2, 16280]
				str	w2, [x20, 280]
 1192                     protection = atom flags&prot
				add	x1, x1, x3
				add	x1, x19, x1, lsl 3
				add	x1, x1, 32768
				ldr	w1, [x1, 16276]
				str	w1, [x20, 284]
 1193                     type = atom flags>>4&7;  atom1 = amap(atom flags&15)
				ubfx	x1, x0, 4, 3
				str	w1, [x20, 248]
 1194
				and	x0, x0, 15
				add	x0, x19, x0
				add	x0, x0, 69632
				ldrb	w0, [x0, 116]
				str	w0, [x20, 288]
		.LBB326:
 1195                     %if diag&8 # 0 %start
 1196                         printstring("lookup:")
				add	x25, x29, 616
				mov	x26, 256
				mov	x2, x26
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				add	x1, x1, 640
				mov	x0, x25
				bl	memcpy
		.LVL168:
				add	x27, x29, 360
				mov	x2, x26
				mov	x1, x25
				mov	x0, x27
				bl	memcpy
		.LVL169:
				mov	x2, x26
				mov	x1, x27
				mov	x0, x25
				bl	memcpy
		.LVL170:
		.LBE326:
		.LBB327:
		.LBB328:
				add	x0, x29, 96
				mov	x2, x26
				mov	x1, x25
				mov	x25, x0
				bl	memcpy
		.LVL171:
				mov	x0, x25
				bl	_imp_printstring
		.LVL172:
		.LBE328:
		.LBE327:
 1197                         write(atom1, 3)
				mov	w1, 3
				ldr	w0, [x20, 288]
				bl	_imp_writeint
		.LVL173:
 1198                         write(type, 1)
				mov	w1, 1
				ldr	w0, [x20, 248]
				bl	_imp_writeint
		.LVL174:
 1199                         write(app, 3)
				mov	w1, 3
				ldr	w0, [x20, 284]
				bl	_imp_writeint
		.LVL175:
 1200                         write(format, 5)
				mov	w1, 5
				ldr	w0, [x20, 280]
				bl	_imp_writeint
		.LVL176:
 1201                         write(atom flags, 3)
				mov	w1, 3
				ldr	w0, [x20, 276]
				bl	_imp_writeint
		.LVL177:
		.LBB329:
		.LBB330:
				bl	_imp_newline
		.LVL178:
		.LDL11:
		.LBE330:
		.LBE329:
 1202                         newline
 1203                     %finish
 1204
 1205                     %if d = 0 %start;                             !old name wanted
				cbnz	w23, .L156
 1206                         t_flags = t_flags!used bit
				sxtw	x24, w24
				lsl	x0, x24, 1
				add	x1, x0, x24
				add	x1, x19, x1, lsl 3
				add	x1, x1, 32768
				ldr	w0, [x1, 16284]
				orr	w0, w0, 32768
				str	w0, [x1, 16284]
 1207                         search base = 0
				str	wzr, [x20, 252]
 1208
 1209                         %if atom flags&subname # 0 %and format # 0 %start; !a record
 1210                             %return %if format selected = 0
				ldr	w0, [x20, 280]
				cbnz	w0, .L207
		.L157:
		.L161:
 1211                         %finish
 1212
 1213                         %if atom flags&parameters # 0 %start;      !proc or array
 1214                             %if app = 0 %start;                     !no parameters needed
				adrp	x0, .LANCHOR0+284
				ldr	w0, [x0, #:lo12:.LANCHOR0+284]
				cbnz	w0, .L162
 1215                                 atom2 = atom1
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				ldr	w0, [x1, 288]
				str	w0, [x1, 296]
 1216                                 atom1 = atom1-4
				sub	w2, w0, #4
				str	w2, [x1, 288]
 1217                                 %if 97 <= atom1 %and atom1 <= 98 %start
 1218                                     map gg = atom1;  atom1 = var
				sub	w0, w0, #101
				cmp	w0, 1
				bls	.L208
		.L163:
		.L166:
		.L167:
				mov	x0, x1
				str	w2, [x1, 300]
 1219                                 %finish
				mov	w1, 91
				str	w1, [x0, 288]
				b	.L167
		.L162:
 1220                             %finish %else %start
 1221                                 %if sym = '(' %start
				adrp	x1, .LANCHOR2+2548
				ldr	w1, [x1, #:lo12:.LANCHOR2+2548]
				cmp	w1, 40
				bne	.L167
 1222                                     search base = 0;                  !ignore format for now
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				str	wzr, [x1, 252]
 1223                                     %if atom1 >= 106 %start;          !arrays
				ldr	w1, [x1, 288]
				cmp	w1, 105
				ble	.L164
 1224                                         app = phrase(app+200)
				adrp	x2, .LANCHOR0
				add	x2, x2, :lo12:.LANCHOR0
				adrp	x3, .LANCHOR2
				add	x3, x3, :lo12:.LANCHOR2
				add	x3, x3, 2712
				ldrsh	w0, [x3, w0, sxtw 1]
				str	w0, [x2, 284]
 1225                                         escape class = esc array
				mov	w0, 254
				str	w0, [x2, 292]
 1226                                         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, 288]
		.L165:
 1227                                     %finish %else %start;             !procedures
 1228                                         escape class = esc proc
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w2, 253
				str	w2, [x0, 292]
 1229                                         atom1 = atom1-4
				sub	w1, w1, #4
				str	w1, [x0, 288]
				b	.L165
		.L156:
 1230                                     %finish
 1231                                     phrase(200) = app
				adrp	x0, .LANCHOR0+284
				ldr	w1, [x0, #:lo12:.LANCHOR0+284]
				adrp	x0, .LANCHOR2+2712
				strh	w1, [x0, #:lo12:.LANCHOR2+2712]
				b	.L167
		.L164:
 1232                                 %finish
 1233                             %finish
 1234                             pos2 = pos;  %return
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 196]
				str	w1, [x0, 212]
 1235                         %finish
				ldp	x24, x25, [x29, 56]
		.LVL179:
				ldp	x26, x27, [x29, 72]
				b	.L136
		.LVL180:
		.L207:
		.LBB331:
		.LBB332:
 1236
 1237                         !deal with constintegers etc
 1238                         %if atom flags&const bit # 0 %and atom1 = var %start
 1239                             map gg = const;  atom2 = const
 1240                             subatom = -subatom %if type = integer
 1241                         %finish
 1242                         %return
 1243                     %finish
 1244                                                                 !new name wanted
 1245                     ->not in %if tbase # tstart;                !don't fault proc parm-parm
				ldr	x0, [x22]
				ldr	x0, [x0]
				ldr	w1, [x0, 68]
				ldr	w0, [x0, 72]
				cmp	w1, w0
				beq	.L210
		.L168:
 1246                     %if d = lab+spec+used bit %start
				mov	w0, 32899
				cmp	w23, w0
				beq	.L215
		.L170:
 1247                         t_flags = t_flags!used bit
				sxtw	x24, w24
				lsl	x0, x24, 1
				add	x1, x0, x24
				add	x1, x19, x1, lsl 3
				add	x1, x1, 32768
				ldr	w0, [x1, 16284]
				orr	w0, w0, 32768
				str	w0, [x1, 16284]
 1248                         %return
				ldp	x24, x25, [x29, 56]
		.LVL211:
				ldp	x26, x27, [x29, 72]
				b	.L136
		.LVL212:
		.L216:
 1249                     %finish
 1250                     %if atom flags&spec # 0 %start;            !a spec has been given
 1251                         %if d = lab %start;                     !define label
				cmp	w23, 3
				beq	.L216
		.L171:
 1252                             t_flags = t_Flags-Spec
				sxtw	x24, w24
				lsl	x0, x24, 1
				add	x1, x0, x24
				add	x1, x19, x1, lsl 3
				add	x1, x1, 32768
				ldr	w0, [x1, 16284]
				sub	w0, w0, #128
				str	w0, [x1, 16284]
 1253                             %return
				ldp	x24, x25, [x29, 56]
		.LVL213:
				ldp	x26, x27, [x29, 72]
				b	.L136
		.L172:
		.LVL214:
		.L175:
 1254                         %finish
 1255                         %if 7 <= decl&15 %and decl&15 <= 10 %and decl&spec = 0 %start
				adrp	x0, .LANCHOR0+304
				ldr	w0, [x0, #:lo12:.LANCHOR0+304]
				cmp	w0, 6
				ble	.L175
 1256                             !procedure definition after spec
				tbnz	x0, 0, .L176
 1257                             %if (decl!!atom flags)&2_1111111 = 0 %start;  !correct type?
				adrp	x1, .LANCHOR0+276
				ldr	w1, [x1, #:lo12:.LANCHOR0+276]
				eor	w0, w0, w1
				tbnz	x0, 0, .L174
 1258                                 t_flags = t_flags-spec
				sxtw	x24, w24
				lsl	x0, x24, 1
				add	x1, x0, x24
				add	x1, x19, x1, lsl 3
				add	x1, x1, 32768
				ldr	w0, [x1, 16284]
				sub	w0, w0, #128
				str	w0, [x1, 16284]
 1259                                 spec given = 1
				adrp	x0, .LANCHOR0+308
				mov	w1, 1
				str	w1, [x0, #:lo12:.LANCHOR0+308]
 1260                                 %return
				ldp	x24, x25, [x29, 56]
		.LVL209:
				ldp	x26, x27, [x29, 72]
				b	.L136
		.LVL210:
		.L215:
 1261                             %finish
 1262                             !note that an external procedure must be speced as a
 1263                             !non-external procedure.
 1264                         %finish
 1265                         %if decl&15 = recfm %start;              !recordformat
				tbnz	x0, 0, .L176
		.L174:
 1266                             t_flags = record<<4+recfm
				sxtw	x24, w24
				lsl	x0, x24, 1
				add	x1, x0, x24
				add	x1, x19, x1, lsl 3
				add	x1, x1, 32768
				mov	w2, 68
				str	w2, [x1, 16284]
 1267                             t_format = fdef
				mov	x0, x1
				adrp	x1, .LANCHOR0+312
				ldr	w1, [x1, #:lo12:.LANCHOR0+312]
				str	w1, [x0, 16280]
 1268                             %return
				ldp	x24, x25, [x29, 56]
		.LVL215:
				ldp	x26, x27, [x29, 72]
				b	.L136
		.L173:
		.LVL216:
		.L176:
 1269                         %finish
 1270                     %finish
 1271                     %return %if last1 = jump %and atom1 = swit
				adrp	x0, .LANCHOR0+316
				ldr	w0, [x0, #:lo12:.LANCHOR0+316]
				cmp	w0, 54
				beq	.L217
		.L177:
 1272                     copy = x %if copy = 0
				adrp	x0, .LANCHOR0+320
				ldr	w0, [x0, #:lo12:.LANCHOR0+320]
				cbnz	w0, .L168
				adrp	x0, .LANCHOR0+288
				ldr	w0, [x0, #:lo12:.LANCHOR0+288]
				cmp	w0, 105
				bne	.L177
				ldp	x24, x25, [x29, 56]
		.LVL217:
				ldp	x26, x27, [x29, 72]
				b	.L136
		.LVL218:
		.L204:
				adrp	x0, .LANCHOR0+260
				str	w1, [x0, #:lo12:.LANCHOR0+260]
				b	.L178
		.LVL219:
		.L211:
 1273 notin:              app = 0;  vid = 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 260]
				str	w1, [x0, 320]
				b	.L168
		.L217:
 1274                     atom1 = error+2
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 284]
		.LVL156:
				mov	w1, 32770
				str	w1, [x0, 288]
				adrp	x0, .LANCHOR0+284
				str	wzr, [x0, #:lo12:.LANCHOR0+284]
		.LVL183:
				ldp	x24, x25, [x29, 56]
		.LVL184:
				ldp	x26, x27, [x29, 72]
		.L179:
 1275
				mov	w6, 0
 1276                     %return %if d = 0;                         !old name wanted
				cbnz	w23, .L179
		.LVL157:
		.L136:
 1277                     type = d>>4&7;  form = d&15;  atom1 = amap(form)
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ubfx	x1, x23, 4, 3
				str	w1, [x0, 248]
 1278
				and	w2, w23, 15
		.LVL185:
 1279                     %if this < 0 %start;                       !normal scope
				ldr	x1, [x22]
				ldr	x4, [x1]
				ldr	x1, [x4, 8]
				add	x3, x1, x2, sxtw
				add	x3, x3, 69632
				ldrb	w3, [x3, 116]
				str	w3, [x0, 288]
				adrp	x0, .LANCHOR2+2824
				ldr	w0, [x0, #:lo12:.LANCHOR2+2824]
				tbnz	w0, #31, .L211
		.L180:
		.LVL186:
 1280                         new = newname
 1281                         tmax = tmax+1;  x = tmax
				ldr	w0, [x4, 64]
				add	w0, w0, 1
				str	w0, [x4, 64]
 1282                     %finish %else %start;                      !recordformat scope
				ldr	x0, [x22]
				ldr	x0, [x0]
				ldr	w1, [x0, 64]
				adrp	x0, .LANCHOR0+260
				str	w1, [x0, #:lo12:.LANCHOR0+260]
				mov	w1, w21
				b	.L181
		.LVL220:
		.L212:
 1283                         new = -1
				mov	w1, -1
		.LVL188:
		.L181:
 1284                         recid = recid-1;  vid = recid
				add	x1, x1, 16384
				ldr	w0, [x1, 460]
				sub	w0, w0, #1
				str	w0, [x1, 460]
 1285                         tmin = tmin-1;  x = tmin
				ldr	x0, [x22]
				ldr	x0, [x0]
				ldr	x0, [x0, 8]
				add	x0, x0, 16384
				ldr	w6, [x0, 460]
		.LVL187:
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w0, [x1, 2828]
				sub	w0, w0, #1
				str	w0, [x1, 2828]
 1286                         format list = tmin
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				str	w0, [x1, 260]
				str	w0, [x1, 264]
 1287                     %finish
 1288
 1289                     %if 11 <= form %and form <= 14 %start;               !arrays
 1290                         dim = 1 %if dim = 0;                    !set dim for owns
				sub	w0, w2, #11
				cmp	w0, 3
				bls	.L212
		.L182:
		.LDL12:
				adrp	x0, .LANCHOR0+324
				ldr	w0, [x0, #:lo12:.LANCHOR0+324]
				cbnz	w0, .L183
 1291                         app = dim
				adrp	x0, .LANCHOR0+324
				mov	w3, 1
				str	w3, [x0, #:lo12:.LANCHOR0+324]
		.L183:
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w3, [x0, 324]
				str	w3, [x0, 284]
				b	.L182
		.LVL221:
		.L213:
 1292                     %finish
 1293
 1294                     d = d!used bit %if (otype > 2 %and d&spec = 0) %or perm # 0 %or Level = Include Level
 1295
 1296                     !external definitions need not be used in the file in which
 1297                     !they are defined, so inhibit a useless unused warning.
				adrp	x0, .LANCHOR2+2832
				ldr	w0, [x0, #:lo12:.LANCHOR2+2832]
				cbnz	w0, .L184
 1298
				ldr	x0, [x22]
				ldr	x0, [x0]
				adrp	x3, .LANCHOR0+328
				ldr	w3, [x3, #:lo12:.LANCHOR0+328]
				ldr	w0, [x0, 60]
				cmp	w3, w0
				bne	.L185
		.L184:
 1299                     t == tag(x)
				adrp	x0, .LANCHOR0+260
				ldr	w5, [x0, #:lo12:.LANCHOR0+260]
				ldr	x0, [x22]
				ldr	x0, [x0]
				ldr	x4, [x0, 8]
		.LVL190:
 1300                     %if form = lab %start
				orr	w23, w23, 32768
		.LVL189:
		.L185:
				cmp	w2, 3
				beq	.L213
		.LVL191:
		.L186:
 1301                         id = id+1;  vid = id
				ldr	w2, [x0, 56]
		.LVL222:
				add	w2, w2, 1
				str	w2, [x0, 56]
 1302                     %finish
				ldr	x0, [x22]
				ldr	x0, [x0]
				ldr	w6, [x0, 56]
		.LVL223:
				b	.L186
		.LVL224:
		.L214:
 1303                     t_index = vid
				sxtw	x3, w5
				lsl	x0, x3, 1
				add	x2, x0, x3
				add	x2, x4, x2, lsl 3
				add	x2, x2, 32768
				str	w6, [x2, 16288]
 1304                     t_text   = new name
				add	x2, x0, x3
				add	x2, x4, x2, lsl 3
				add	x2, x2, 32768
				str	w21, [x2, 16292]
 1305                     t_flags = d
				add	x2, x0, x3
				add	x2, x4, x2, lsl 3
				add	x2, x2, 32768
				str	w23, [x2, 16284]
 1306                     t_app    = app
				mov	x6, x2
		.LVL192:
				adrp	x2, .LANCHOR0
		.LVL193:
				add	x2, x2, :lo12:.LANCHOR0
				ldr	w7, [x2, 284]
				str	w7, [x6, 16276]
 1307                     t_format = fdef;  format = fdef
				ldr	w6, [x2, 312]
		.LVL194:
				add	x0, x0, x3
		.LVL195:
				add	x0, x4, x0, lsl 3
		.LVL196:
				add	x0, x0, 32768
		.LVL197:
				str	w6, [x0, 16280]
 1308                     subatom = x
				str	w6, [x2, 280]
				str	w5, [x2, 272]
 1309
 1310                     %if new >= 0 %start;                             !insert into hash table
				tbnz	w1, #31, .L188
 1311                         t_link = dict(new);  dict(new) = x
				sub	w0, w1, #1
		.LVL198:
				ldr	x1, [x22]
		.LVL199:
				ldr	x1, [x1]
				ldr	x1, [x1, 8]
				mov	x2, 6260
				add	x0, x2, x0, sxtw
		.LVL200:
				lsl	x0, x0, 2
				add	x1, x1, x0
				ldr	w2, [x1, 4]
				add	x1, x3, x3, lsl 1
		.LVL201:
				add	x1, x4, x1, lsl 3
		.LVL202:
				add	x1, x1, 32768
		.LVL203:
				str	w2, [x1, 16296]
 1312                         %if gmin = max grammar %start;                !proc param params
				ldr	x1, [x22]
		.LVL204:
				ldr	x1, [x1]
				ldr	x1, [x1, 8]
				add	x0, x1, x0
				str	w5, [x0, 4]
		.LVL205:
				adrp	x0, .LANCHOR2+2836
				ldr	w0, [x0, #:lo12:.LANCHOR2+2836]
				cmp	w0, 1720
				beq	.L214
		.L187:
		.LVL206:
		.L188:
 1313                             tmin = tmin-1;  subatom = tmin
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w0, [x1, 2828]
				sub	w0, w0, #1
				str	w0, [x1, 2828]
 1314                             tag(tmin) = t
				adrp	x1, .LANCHOR0+272
				str	w0, [x1, #:lo12:.LANCHOR0+272]
				ldr	x1, [x22]
				ldr	x1, [x1]
				ldr	x1, [x1, 8]
				sxtw	x0, w0
				add	x0, x0, x0, lsl 1
				add	x1, x1, x0, lsl 3
				add	x1, x1, 45056
				add	x1, x1, 3988
				add	x5, x3, x3, lsl 1
		.LVL225:
				add	x0, x4, x5, lsl 3
				add	x0, x0, 45056
				add	x0, x0, 3988
				ldp	x2, x3, [x0]
				stp	x2, x3, [x1]
				ldr	x0, [x0, 16]
				str	x0, [x1, 16]
				b	.L188
		.LVL226:
		.L206:
				stp	x24, x25, [x29, 56]
				stp	x26, x27, [x29, 72]
 1315                         %finish
 1316                     %finish
 1317                     abandon(3) %if tmax >= tmin
				ldr	x0, [x22]
				ldr	x0, [x0]
				adrp	x1, .LANCHOR2+2828
				ldr	w2, [x1, #:lo12:.LANCHOR2+2828]
				ldr	w1, [x0, 64]
				cmp	w2, w1
				bgt	.L136
 1318                 %end
				ldr	x18, [x0, 8]
				mov	w0, 3
				bl	ABANDON.7865
		.LVL207:
		.L159:
				b	.L136
		.LVL208:
		.L210:
		.L169:
?K2 unused
 1319
				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, .L206
				ldp	x19, x20, [sp, 16]
				ldp	x21, x22, [sp, 32]
		.LVL158:
				ldr	x23, [sp, 48]
		.LVL159:
				ldp	x29, x30, [sp]
				add	sp, sp, 880
				ret
		.LVL160:
		.L205:
				bl	__stack_chk_fail
		.LVL227:
		.LFE209:
				.align	2
		CODEATOM.8287:
		.LFB208:
 1320 top:            pos1 = pos
 1321                 subatom = 0;  pend quote = 0;  atom flags = 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 196]
				str	w1, [x0, 208]
				str	wzr, [x0, 272]
		.LVL230:
				ldr	w0, [x20, 196]
				str	w0, [x20, 208]
				str	wzr, [x20, 272]
 1322
				mov	w22, 0
		.LVL240:
		.L255:
				mov	w20, 0
		.LVL247:
		.L233:
 1323                 !app and format must be left for assigning to papp & pformat
				str	wzr, [x0, 276]
				str	wzr, [x20, 276]
 1324                 ->name %if symtype = -2;               ! letter
				ldr	w0, [x0, 236]
				cmn	w0, #2
				beq	.L219
				ldr	w0, [x20, 236]
				cmn	w0, #2
				beq	.L219
		.L226:
 1325                 ->number %if symtype < 0;              ! digit
				tbnz	w0, #31, .L220
				tbnz	w0, #31, .L220
		.L227:
 1326                 %if symtype = 0 %start
				cbz	w0, .L221
				cbz	w0, .L221
		.L228:
 1327                     atom1 = termin;  atom2 = 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 20
				str	w1, [x0, 288]
 1328                     %return
				str	wzr, [x0, 296]
				b	.L218
		.L223:
 1329                 %finish
 1330                 %if symtype # 2 %start;                ! catch keywords here
				cmp	w0, 2
				beq	.L235
				cmp	w0, 2
				beq	.L235
 1331                     ->text %if quote # 0;              ! completion of text
				adrp	x0, .LANCHOR0+240
				ldr	w0, [x0, #:lo12:.LANCHOR0+240]
				cbz	w0, .L223
				ldr	w0, [x20, 240]
				cbz	w0, .L223
		.L230:
 1332                     ->strings %if sym = squote;        ! start of string
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 34
				beq	.L231
		.L232:
 1333                     ->symbols %if sym = cquote;        ! start of symbol
				cmp	w0, 39
				beq	.L291
		.L234:
 1334                     ->number %if sym = '.' %and '0' <= nextsymbol %and nextsymbol <= '9'
				cmp	w0, 46
				beq	.L298
		.L222:
		.L235:
 1335                 %finish
				cmp	w0, 47
				ble	.L235
		.LBB335:
		.LBB336:
				bl	_imp_nextsymbol
		.LVL239:
		.LBE336:
		.LBE335:
 1336
				cmp	w0, 57
				bgt	.L235
		.L220:
 1337                 ! locate atom in fixed dict
 1338                 k = key>>2;  read sym
				adrp	x21, .LANCHOR0
				add	x21, x21, :lo12:.LANCHOR0
				ldr	w0, [x21, 244]
				lsr	w20, w0, 2
		.LVL231:
 1339                 %cycle
				mov	x18, x19
				bl	READSYM.8246
		.LVL232:
		.LDL13:
 1340                     j = kdict(k)
				ldr	x0, [x19]
				ldr	x0, [x0, 8]
				add	x0, x0, x20, sxtw 1
				add	x1, x0, 65536
				ldrsh	w1, [x1, 2908]
		.LVL233:
		.LDL14:
 1341                     %exit %if j&16_4000 # 0
 1342                     %if j&127 # sym %or symtype < 0 %start
 1343                         ->err %unless j < 0
 1344                         k = k+1
 1345                     %finish %else %start
 1346                         l = j>>7&127;  read sym
 1347                         %if j > 0 %start
 1348                             %if l # 0 %start
 1349                                 ->err %if l # sym %or symtype < 0
 1350                                 read sym
 1351                             %finish
 1352                             l = 1
 1353                         %finish
 1354                         k = k+l
 1355                     %finish
 1356                 %repeat
 1357                 atom1 = j&127
				and	w2, w1, 127
				str	w2, [x21, 288]
 1358                 %if atom1 = 0 %start;                  ! comma
				cbnz	w2, .L236
 1359                     atom1 = 19;  subatom = 19;  atom2 = 0
				mov	w1, 19
		.LVL234:
				str	w1, [x21, 288]
 1360                     %if sym = nl %start
				str	w1, [x21, 272]
				adrp	x0, .LANCHOR2+2548
		.LVL235:
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 10
				bne	.L218
 1361                         %return %if ocount >= 0
				str	wzr, [x21, 296]
				adrp	x0, .LANCHOR2+2840
				ldr	w0, [x0, #:lo12:.LANCHOR2+2840]
				tbz	w0, #31, .L218
		.L237:
 1362
 1363                         ! special action needs to be taken with <comma nl> as
 1364                         ! const array lists can be enormous
 1365                         read sym
				mov	x18, x19
				bl	READSYM.8246
		.LVL236:
				b	.L218
		.LVL237:
		.L298:
		.LBB333:
		.LBB334:
				bl	_imp_nextsymbol
		.LVL238:
		.LBE334:
		.LBE333:
 1366                     %finish
 1367                     %return
 1368                 %finish
 1369                 atom2 = j>>7&127
				adrp	x2, .LANCHOR0
				add	x2, x2, :lo12:.LANCHOR0
				ubfx	x1, x1, 7, 7
		.LVL243:
				str	w1, [x2, 296]
 1370                 subatom = kdict(k+1)&16_3fff
				add	x0, x0, 65536
		.LVL244:
				ldrh	w0, [x0, 2910]
		.LVL245:
				and	w0, w0, 16383
				str	w0, [x2, 272]
 1371                 !!!!!cont = ' '
 1372                 %return
				b	.L218
		.LVL246:
		.L291:
 1373
 1374                 ! report an error. adjust the error marker (pos1) to point
 1375                 ! to the faulty character in an atom, but care needs to be taken
 1376                 ! to prevent misleading reports in cases like ...?????
 1377
 1378 err:            atom1 = error+1;  atom2 = 0
 1379                 pos1 = pos %if pos-pos1 > 2
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 32769
				str	w1, [x0, 288]
				ldr	w1, [x0, 196]
				ldr	w0, [x0, 208]
				sub	w0, w1, w0
				cmp	w0, 2
				ble	.L218
 1380                 %return
				str	wzr, [x0, 296]
				adrp	x0, .LANCHOR0+208
				str	w1, [x0, #:lo12:.LANCHOR0+208]
				b	.L218
		.L258:
		.LVL279:
		.L261:
 1381
 1382                 ! take care with strings and symbol constants.
 1383                 ! make sure the constant is valid here before sucking it in
 1384                 ! (and potentially loosing many lines)
 1385
 1386 symbols:        atom1 = var;  atom2 = const;  type = integer
 1387                 map gg = const;  protection = prot
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 91
				str	w1, [x0, 288]
				str	w1, [x0, 300]
 1388                 subatom = lp;  abandon(3) %if lp >= lit max
				mov	w1, 93
				str	w1, [x0, 296]
				ldr	w1, [x0, 332]
				str	w1, [x0, 272]
 1389                 quote = \pend quote
				mov	w2, 1
				str	w2, [x0, 248]
				cmp	w1, 49
				bgt	.L300
		.L240:
				mvn	w20, w20
		.LVL248:
				adrp	x0, .LANCHOR0+240
				str	w20, [x0, #:lo12:.LANCHOR0+240]
 1390                 %return
				b	.L218
		.LVL249:
		.L300:
				ldr	x0, [x19]
				ldr	x18, [x0, 8]
				mov	w0, 3
				bl	ABANDON.7865
		.LVL250:
				b	.L240
		.LVL251:
		.L302:
		.L243:
 1391
 1392                 ! an integer constant is acceptable so get it in and
 1393                 ! get the next atom
 1394 chars:          n = 0;  cont = cquote
 1395                 %cycle
				str	wzr, [x29, 132]
 1396                     read sym
				adrp	x21, .LANCHOR2
				add	x21, x21, :lo12:.LANCHOR2
				mov	w22, 39
				str	w22, [x21, 2692]
		.LDL16:
				mov	x18, x19
				bl	READSYM.8246
		.LVL256:
 1397                     %if sym = cquote %start
				ldr	w0, [x21, 2548]
				cmp	w0, 39
				bne	.L241
		.LBB337:
		.LBB338:
				bl	_imp_nextsymbol
		.LVL257:
		.LBE338:
		.LBE337:
 1398                         %exit %if nextsymbol # cquote
				cmp	w0, 39
				beq	.L302
		.L242:
 1399                         read sym
				mov	x18, x19
				bl	READSYM.8246
		.LVL252:
		.L241:
 1400                     %finish
 1401                     %if n&(\((-1)>>byte size)) # 0 %start; ! overflow
 1402                         pos1 = pos;  atom1 = error+10;  %return
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 196]
				str	w1, [x0, 208]
 1403                     %finish
				mov	w1, 32778
				str	w1, [x0, 288]
		.LVL253:
		.L218:
 1404                     ->err %if quote = 0
 1405                     n = n<<byte size+sym
 1406                     quote = quote+1
 1407                 %repeat
 1408                 quote = 0;  cont = ' '
				adrp	x20, .LANCHOR0
				add	x20, x20, :lo12:.LANCHOR0
				str	wzr, [x20, 240]
 1409                 readsym %if sym # nl
				mov	w23, 32
				b	.L225
		.L221:
				str	w23, [x21, 2692]
				ldr	w0, [x21, 2548]
				cmp	w0, 10
				beq	.L244
 1410                 lit pool(lp) = n;  lp = lp+1
				ldr	w0, [x20, 332]
				ldr	x1, [x19]
				ldr	x2, [x1, 8]
				mov	x1, 4160
				add	x1, x1, x0, sxtw
				ldr	w3, [x29, 132]
				str	w3, [x2, x1, lsl 2]
				mov	x18, x19
				bl	READSYM.8246
		.LVL258:
				b	.L244
		.L231:
 1411                 ->top
				add	w0, w0, 1
				str	w0, [x20, 332]
		.LDL15:
 1412
 1413                 !sniff the grammar before getting the string
 1414 strings:        atom1 = var;  atom2 = const;  type = stringv
 1415                 subatom = strp!16_4000
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 91
				str	w1, [x0, 288]
				ldr	w1, [x19, 8]
				orr	w1, w1, 16384
				str	w1, [x0, 272]
 1416                 map gg = const;  protection = prot
				mov	w2, 93
				str	w2, [x0, 296]
				str	w2, [x0, 300]
 1417                 quote = subatom
				mov	w1, 3
				str	w1, [x0, 248]
				str	w1, [x0, 240]
 1418                 text line = lines;                     ! in case of errors
				ldr	w1, [x0, 192]
				str	w1, [x0, 336]
 1419                 %return
				b	.L218
		.L224:
				stp	x24, x25, [x29, 56]
				stp	x26, x27, [x29, 72]
				str	x28, [x29, 88]
 1420
 1421                 ! a string constant is ok here, so pull it in and get
 1422                 ! the next atom
 1423                 ! ABD - temp variable to help pack bytes into words
 1424                 %integer flipflop
 1425
 1426 text:           ->chars %if quote < 0;                 ! character consts
 1427                 l = strp;                              ! point to beginning
				tbz	w0, #31, .L224
				tbz	w0, #31, .L224
		.L225:
				ldr	w0, [x19, 8]
				str	w0, [x29, 104]
		.LVL259:
 1428                 k = 0;                                 ! length so far
				mov	w20, 0
 1429                 flipflop = 0;                          ! space for the length is up the spout
				mov	w21, 0
 1430
 1431                 %cycle
 1432                     cont = squote;  quote = 1
				adrp	x22, .LANCHOR2
				add	x22, x22, :lo12:.LANCHOR2
				mov	w28, 34
				str	w28, [x22, 2692]
 1433                     %cycle
				adrp	x23, .LANCHOR0
				add	x23, x23, :lo12:.LANCHOR0
				mov	w27, 1
				str	w27, [x23, 240]
				b	.L247
		.L305:
 1434                         read sym
				mov	x18, x19
				bl	READSYM.8246
		.LVL265:
 1435                         %if sym = squote %start;       ! terminator?
				ldr	w0, [x22, 2548]
				cmp	w0, 34
				beq	.L304
		.L248:
 1436                             %exit %if nextsymbol # squote; ! yes ->
				cmp	w0, 34
				bne	.L249
		.L250:
 1437                             read sym;                  ! skip quote
				mov	x18, x19
				bl	READSYM.8246
		.LVL262:
				b	.L248
		.L251:
 1438                         %finish
 1439                         %if flipflop >= 0 %start
				tbnz	w21, #31, .L251
 1440                             glink(strp) = sym<<8 + flipflop
				adrp	x24, .LANCHOR1
				add	x24, x24, :lo12:.LANCHOR1
				add	x24, x24, 8
				ldr	w1, [x19, 8]
				ldr	w0, [x22, 2548]
				ubfiz	w0, w0, 8, 8
				add	w21, w21, w0
		.LVL266:
				strh	w21, [x24, w1, sxtw 1]
 1441                             strp = strp+1
				add	w1, w1, 1
				str	w1, [x19, 8]
		.LVL267:
 1442                             flipflop = -1
				mov	w25, -1
				b	.L245
		.LVL260:
		.L304:
		.LBB339:
		.LBB340:
				bl	_imp_nextsymbol
		.LVL261:
		.LBE340:
		.LBE339:
				mov	w21, w25
 1443                         %else
				b	.L252
		.LVL268:
		.L303:
 1444                             flipflop = sym
				ldr	w21, [x22, 2548]
		.LVL263:
		.L252:
 1445                         %finish
 1446                         k = k+1
				add	w20, w20, 1
		.LVL264:
 1447                         lines = text line %and abandon(7) %if k > 255; ! too many chars
				cmp	w20, 255
				bgt	.L303
		.L247:
 1448                     %repeat
				ldr	w0, [x23, 336]
				str	w0, [x23, 192]
 1449                     %if flipflop >=0 %start;           ! tail-end charlie
				mov	w26, 7
				ldr	x0, [x19]
				ldr	x18, [x0, 8]
				mov	w0, w26
				bl	ABANDON.7865
		.LVL269:
				b	.L247
		.L249:
				tbnz	w21, #31, .L254
 1450                         glink(strp) = flipflop
				ldr	w0, [x19, 8]
				strh	w21, [x24, w0, sxtw 1]
 1451                         strp = strp+1
				add	w0, w0, 1
				str	w0, [x19, 8]
		.L254:
 1452                     %finish
 1453                     glink(l) = glink(l)!k;             ! plug in length
				ldrsw	x1, [x29, 104]
				ldrh	w0, [x24, x1, lsl 1]
				orr	w0, w20, w0
				strh	w0, [x24, x1, lsl 1]
 1454
 1455                     quote = 0;  cont = ' ';  read sym
				str	wzr, [x23, 240]
 1456                     code atom(target)
				mov	w0, 32
				str	w0, [x22, 2692]
				mov	x18, x19
				ldr	w0, [x29, 108]
				bl	CODEATOM.8287
		.LVL271:
 1457                     %return %unless atom1 = 48 %and sym = squote; ! fold "???"."+++"
				mov	x18, x19
				bl	READSYM.8246
		.LVL270:
				ldr	w0, [x23, 288]
				cmp	w0, 48
				bne	.L297
 1458                 %repeat
				ldr	w0, [x22, 2548]
				cmp	w0, 34
				bne	.L305
		.LVL272:
		.L245:
		.L246:
 1459
				ldp	x24, x25, [x29, 56]
				ldp	x26, x27, [x29, 72]
				ldr	x28, [x29, 88]
				b	.L218
		.LVL273:
		.L299:
 1460                 %routine get(%integer limit)
		.LVL115:
				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	w23, w0
				mov	x19, x18
		.LVL116:
 1461                     %integer s, shift
 1462                     shift = 0
				mov	w20, 0
 1463                     %if base # 10 %start
				ldr	w0, [x18, 16]
		.LVL117:
				cmp	w0, 10
				beq	.L118
 1464                         %if base = 16 %start
				cmp	w0, 16
				beq	.L118
		.L114:
 1465                             shift = 4
				mov	w20, 4
 1466                         %finish %else %start
 1467                             %if base = 8 %start
				cmp	w0, 8
				beq	.L118
		.L115:
 1468                                 shift = 3
				mov	w20, 3
 1469                             %finish %else %start
 1470                                 %if base = 2 %start
				cmp	w0, 2
				cset	w20, eq
		.L113:
		.L116:
		.L117:
		.L118:
		.LVL118:
 1471                                     shift = 1
 1472                                 %finish
 1473                             %finish
 1474                         %finish
 1475                     %finish
 1476                     n = 0
				str	wzr, [x19, 12]
 1477                     %cycle
 1478                         %if symtype = -1 %start;       ! digit
				adrp	x22, .LANCHOR0
				add	x22, x22, :lo12:.LANCHOR0
				ldr	w0, [x22, 236]
				cmn	w0, #1
				beq	.L134
		.L120:
 1479                             s = sym-'0'
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				sub	w0, w0, #48
		.LVL119:
 1480                         %finish %else %start
				b	.L123
		.L135:
 1481                             %if symtype < 0 %start;    ! letter
				tbz	w0, #31, .L112
 1482                                 s = sym-'A'+10
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				sub	w0, w0, #55
		.LVL122:
		.L121:
		.L123:
 1483                             %finish %else %start
 1484                                 %return
 1485                             %finish
 1486                         %finish
 1487                         %return %if s >= limit
				cmp	w0, w23
				bge	.L112
		.L124:
 1488                         pt = pt+1;  glink(pt) = sym
				ldr	w1, [x19, 8]
				add	w1, w1, 1
				str	w1, [x19, 8]
 1489                         %if base = 10 %start;          ! check overflow
				adrp	x21, .LANCHOR1
				add	x21, x21, :lo12:.LANCHOR1
				add	x21, x21, 8
				adrp	x2, .LANCHOR2+2548
				ldr	w2, [x2, #:lo12:.LANCHOR2+2548]
				strh	w2, [x21, w1, sxtw 1]
				ldr	w1, [x19, 16]
				cmp	w1, 10
				beq	.L135
		.L125:
		.L127:
 1490                             %if n >= max int %and (s > max dig %or n > max int) %start
				mov	w24, 52427
				movk	w24, 0xccc, lsl 16
				b	.L119
		.L134:
				ldr	w1, [x19, 12]
				cmp	w1, w24
				ble	.L127
 1491                                 !too big for an integer,
 1492                                 !so call it a real
				mov	w2, 52428
				movk	w2, 0xccc, lsl 16
				cmp	w1, w2
				ccmp	w0, 7, 0, le
				ble	.L127
		.L126:
 1493                                 base = 0;  type = real;  n = 0
				str	wzr, [x19, 16]
 1494                             %finish
				mov	w1, 2
				str	w1, [x22, 248]
 1495                         %finish
				str	wzr, [x19, 12]
				b	.L127
		.L128:
 1496                         %if shift = 0 %start
				cbnz	w20, .L128
 1497                             n = n*base+s
				ldr	w1, [x19, 12]
				ldr	w2, [x19, 16]
				madd	w0, w1, w2, w0
		.LVL123:
				str	w0, [x19, 12]
 1498                         %finish %else %start
				b	.L129
		.L122:
		.L112:
 1499                             n = n<<shift+s
				ldr	w1, [x19, 12]
				lsl	w1, w1, w20
				add	w0, w1, w0
		.LVL120:
				str	w0, [x19, 12]
		.L129:
 1500                         %finish
 1501                         read sym
				ldr	x18, [x19]
				bl	READSYM.8246
		.LVL121:
		.L119:
 1502                     %repeat
 1503                 %end
				ldp	x19, x20, [sp, 16]
		.LVL124:
				ldp	x21, x22, [sp, 32]
				ldp	x23, x24, [sp, 48]
		.LVL125:
				ldp	x29, x30, [sp], 64
				ret
		.LFE211:
				.align	2
		LOOKUP.8300:
		.LFB209:
 1504
 1505 number:         base = 10
 1506 bxk:            atom1 = var;  atom2 = const;  type = integer;  subatom = lp
				mov	w0, 10
				str	w0, [x29, 136]
 1507                 map gg = const;  protection = prot
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 91
				str	w1, [x0, 288]
				str	w2, [x0, 300]
 1508                 abandon(3) %if lp >= lit max
				mov	w2, 93
				str	w2, [x0, 296]
				cmp	w1, 49
				bgt	.L299
		.L256:
 1509                 pt = strp;  mul = 0
				mov	w1, 1
				str	w1, [x0, 248]
				ldr	w0, [x19, 8]
				str	w0, [x29, 128]
		.LVL241:
				ldr	x0, [x19]
				ldr	x18, [x0, 8]
				mov	w0, 3
				bl	ABANDON.7865
		.LVL274:
				b	.L256
		.LVL275:
		.L306:
		.L260:
 1510                 %cycle
				ldr	w1, [x0, 332]
				str	w1, [x0, 272]
 1511                     get(base)
				add	x23, x29, 120
				mov	x18, x23
				ldr	w0, [x29, 136]
				bl	GET.8424
		.LVL277:
 1512                     %exit %unless sym = '_' %and base # 0 %and pend quote = 0; ! change of base
				adrp	x21, .LANCHOR2
				add	x21, x21, :lo12:.LANCHOR2
				ldr	w0, [x21, 2548]
				cmp	w0, 95
				bne	.L261
 1513                     pt = pt+1;  glink(pt) = '_'
				ldr	w0, [x29, 128]
				add	w0, w0, 1
				str	w0, [x29, 128]
 1514                     read sym
				adrp	x20, .LANCHOR1
				add	x20, x20, :lo12:.LANCHOR1
				add	x20, x20, 8
				b	.L257
		.LVL242:
		.L236:
				mov	w1, 95
				strh	w1, [x20, w0, sxtw 1]
				mov	x18, x19
				bl	READSYM.8246
		.LVL276:
				ldr	w0, [x29, 136]
				cmp	w0, 0
				ccmp	w22, 0, 0, ne
				beq	.L306
 1515                     base = n
				ldr	w0, [x29, 132]
				str	w0, [x29, 136]
		.L257:
 1516                 %repeat
 1517
 1518                 %if pend quote # 0 %start
				cbz	w22, .L265
		.LVL278:
		.L238:
		.L239:
				cbz	w22, .L262
 1519                     ->err %if sym # cquote
				cmp	w0, 39
				bne	.L238
		.L263:
 1520                     readsym
				mov	x18, x19
				bl	READSYM.8246
		.LVL280:
		.L262:
 1521                 %finish
 1522                 %if sym = '.' %start;                  ! a real constant
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 46
				beq	.L307
		.L264:
 1523                     pt = pt+1;  glink(pt) = '.'
				ldr	w1, [x29, 128]
				add	w1, w1, 1
				str	w1, [x29, 128]
 1524                     read sym
				adrp	x0, .LANCHOR1
				add	x0, x0, :lo12:.LANCHOR1
				add	x0, x0, 8
				mov	w2, 46
				strh	w2, [x0, w1, sxtw 1]
				mov	x18, x19
				bl	READSYM.8246
		.LVL281:
 1525                     type = real;  n = base;  base = 0;  get(n)
				adrp	x0, .LANCHOR0+248
				mov	w1, 2
				str	w1, [x0, #:lo12:.LANCHOR0+248]
 1526                 %finish
				ldr	w0, [x29, 136]
				str	w0, [x29, 132]
 1527
				str	wzr, [x29, 136]
 1528                 %if sym = '@' %start;                  ! an exponent
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 64
				beq	.L308
		.L265:
				add	x18, x29, 120
				bl	GET.8424
		.LVL282:
				b	.L264
		.L308:
 1529                     pt = pt+1;  glink(pt) = '@';  k = pt
				ldr	w20, [x29, 128]
				add	w1, w20, 1
				str	w1, [x29, 128]
 1530                     readsym
				adrp	x0, .LANCHOR1
				add	x0, x0, :lo12:.LANCHOR1
				add	x0, x0, 8
				mov	w2, 64
				strh	w2, [x0, w1, sxtw 1]
		.LVL283:
				mov	x18, x19
				bl	READSYM.8246
		.LVL284:
 1531                     type = integer;  base = 10
				adrp	x0, .LANCHOR0+248
				mov	w1, 1
				str	w1, [x0, #:lo12:.LANCHOR0+248]
 1532                     %if sym = '-' %start
				mov	w0, 10
				str	w0, [x29, 136]
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 45
				beq	.L309
		.L266:
 1533                         read sym;  get(10);  n = -n
				mov	x18, x19
				bl	READSYM.8246
		.LVL289:
 1534                     %finish %else %start
				add	x18, x29, 120
				mov	w0, 10
				bl	GET.8424
		.LVL290:
				b	.L267
		.LVL291:
		.L219:
 1535                         get(10)
				add	x18, x29, 120
				mov	w0, 10
				bl	GET.8424
		.LVL285:
		.L267:
				ldr	w0, [x29, 132]
				neg	w0, w0
				str	w0, [x29, 132]
 1536                     %finish
 1537                     pt = k+1;  glink(pt) = lp;  litpool(lp) = n;  lp = lp+1
				add	w20, w20, 2
		.LVL286:
				str	w20, [x29, 128]
 1538                     atom1 = error+10 %if base = 0
				adrp	x2, .LANCHOR0
				add	x2, x2, :lo12:.LANCHOR0
				ldr	w0, [x2, 332]
				adrp	x1, .LANCHOR1
				add	x1, x1, :lo12:.LANCHOR1
				add	x1, x1, 8
				strh	w0, [x1, w20, sxtw 1]
				ldr	w0, [x29, 136]
				cbnz	w0, .L268
 1539                     type = real;                       ! exponents force the type
				ldr	x1, [x19]
				ldr	x3, [x1, 8]
				mov	x1, 4160
				add	x1, x1, x0, sxtw
				ldr	w4, [x29, 132]
				str	w4, [x3, x1, lsl 2]
				adrp	x0, .LANCHOR0+288
				mov	w1, 32778
				str	w1, [x0, #:lo12:.LANCHOR0+288]
		.L268:
				adrp	x0, .LANCHOR0+248
				mov	w1, 2
				str	w1, [x0, #:lo12:.LANCHOR0+248]
		.LVL287:
		.L269:
 1540                 %finish
				add	w0, w0, 1
				str	w0, [x2, 332]
 1541
 1542                 %if type = real %start
				adrp	x0, .LANCHOR0+248
				ldr	w0, [x0, #:lo12:.LANCHOR0+248]
				cmp	w0, 2
				beq	.L269
		.L270:
 1543                     glink(strp) = pt-strp;             ! store the length (difference)
				ldr	w2, [x29, 128]
				ldr	w0, [x19, 8]
				adrp	x1, .LANCHOR1
				add	x1, x1, :lo12:.LANCHOR1
				sub	w3, w2, w0
				add	x1, x1, 8
				strh	w3, [x1, w0, sxtw 1]
 1544                     subatom = (strp)!16_2000;  strp = pt+1
				orr	w0, w0, 8192
				adrp	x1, .LANCHOR0+272
				str	w0, [x1, #:lo12:.LANCHOR0+272]
 1545                 %finish %else %start
				add	w2, w2, 1
				str	w2, [x19, 8]
				b	.L218
		.LVL288:
		.L309:
 1546                     litpool(lp) = n
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 332]
				ldr	x2, [x19]
				ldr	x3, [x2, 8]
				mov	x2, 4160
				add	x2, x2, x1, sxtw
				ldr	w4, [x29, 132]
				str	w4, [x3, x2, lsl 2]
 1547                     lp = lp+1
				add	w1, w1, 1
				str	w1, [x0, 332]
				b	.L218
		.L307:
 1548                 %finish
 1549                 %return
 1550
 1551 name:           atom1 = 0 %and %return %if 27 <= target %and target <= 41
 1552                 hash value = 0
				ldr	x0, [x19]
				ldr	x0, [x0, 8]
				add	x0, x0, 16384
				str	wzr, [x0, 8656]
 1553
				ldr	w0, [x29, 108]
				sub	w0, w0, #27
				cmp	w0, 14
				bls	.L310
		.L271:
 1554                 ! ABD changed to remove dependency on direct addressing
				adrp	x0, .LANCHOR0+288
				str	wzr, [x0, #:lo12:.LANCHOR0+288]
 1555                 dp = dmax+1
				adrp	x0, .LANCHOR2
				add	x0, x0, :lo12:.LANCHOR2
				ldr	w23, [x0, 2700]
				add	w1, w23, 1
				str	w1, [x0, 2708]
		.LVL292:
				b	.L218
		.LVL298:
		.L311:
 1556                 dbase = dp
 1557                 n = 0
				str	wzr, [x29, 132]
 1558                 dict(dp) = 0
				ldr	x0, [x19]
				ldr	x0, [x0, 8]
				add	x0, x0, x23, sxtw 2
				add	x0, x0, 24576
				add	x0, x0, 464
				str	wzr, [x0, 4]
 1559                 %cycle
 1560                     hash value = hash value+(hash value+sym); ! is this good enough?
				adrp	x20, .LANCHOR2
				add	x20, x20, :lo12:.LANCHOR2
				ldr	w2, [x20, 2548]
				ldr	x0, [x19]
				ldr	x0, [x0, 8]
				add	x0, x0, 16384
				ldr	w1, [x0, 8656]
				add	w1, w2, w1, lsl 1
				str	w1, [x0, 8656]
 1561                     dict(dp) = dict(dp) ! (sym << 8);
				ldr	w1, [x20, 2708]
				ldr	x0, [x19]
				ldr	x0, [x0, 8]
				add	x0, x0, x1, sxtw 2
				add	x0, x0, 16384
				ldr	w3, [x0, 8656]
				orr	w2, w3, w2, lsl 8
				str	w2, [x0, 8656]
 1562                     n = n+1
				ldr	w0, [x29, 132]
				add	w0, w0, 1
				str	w0, [x29, 132]
 1563                     dp = dp+1
				add	w1, w1, 1
				str	w1, [x20, 2708]
 1564                     read sym
				mov	x18, x19
				bl	READSYM.8246
		.LVL294:
 1565                     %exit %if symtype >= 0
				adrp	x21, .LANCHOR0
				add	x21, x21, :lo12:.LANCHOR0
				ldr	w0, [x21, 236]
				tbz	w0, #31, .L274
		.L275:
 1566                     dict(dp) = sym;
				mov	x22, 6260
		.LVL293:
		.L272:
		.L273:
				ldr	x0, [x19]
				ldr	x1, [x0, 8]
				ldr	w0, [x20, 2708]
				sub	w0, w0, #1
				add	x0, x22, x0, sxtw
				add	x0, x1, x0, lsl 2
				ldr	w1, [x20, 2548]
				str	w1, [x0, 4]
 1567                     n = n+1
				ldr	w0, [x29, 132]
				add	w0, w0, 1
				str	w0, [x29, 132]
 1568                     read sym
				mov	x18, x19
				bl	READSYM.8246
		.LVL295:
 1569                     %exit %if symtype >= 0
				ldr	w0, [x21, 236]
				tbnz	w0, #31, .L272
		.L274:
 1570                 %repeat
 1571                 %if sym = cquote %start
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 39
				beq	.L311
		.L276:
 1572                     pend quote = 100
				mov	w20, 100
				mov	w22, 100
				mov	w22, w20
				mov	w22, 100
 1573                     ->symbols %if hash value = 'M'
				ldr	x0, [x19]
				ldr	x0, [x0, 8]
				add	x0, x0, 16384
				ldr	w0, [x0, 8656]
				cmp	w0, 77
				beq	.L233
		.L277:
 1574                     read sym
				mov	x18, x19
				bl	READSYM.8246
		.LVL299:
 1575                     %if hash value = 'X' %then base = 16 %and ->bxk
				ldr	x0, [x19]
				ldr	x0, [x0, 8]
				add	x0, x0, 16384
				ldr	w0, [x0, 8656]
				cmp	w0, 88
				beq	.L315
		.L278:
 1576                     %if hash value = 'K' %or hash value = 'O' %then base = 8 %and ->bxk
				and	w1, w0, -5
				mov	w0, 16
				str	w0, [x29, 136]
 1577                     %if hash value = 'B' %then base = 2 %and ->bxk
				cmp	w1, 75
				bne	.L279
		.L280:
				b	.L255
		.L279:
				cmp	w0, 66
				bne	.L238
 1578                     ->err
				mov	w0, 2
				str	w0, [x29, 136]
 1579                 %finish
				mov	w0, 8
				str	w0, [x29, 136]
				b	.L255
		.LVL300:
		.L312:
 1580                 dict(dbase) = dict(dbase)!n
				ldr	x0, [x19]
				ldr	x0, [x0, 8]
				add	x0, x0, x23, sxtw 2
				ldr	w2, [x29, 132]
				add	x0, x0, 16384
				ldr	w1, [x0, 8660]
				orr	w1, w1, w2
				str	w1, [x0, 8660]
				b	.L255
		.L315:
 1581                 %if n&1 = 0 %then dp = dp+1
				tbnz	x2, 0, .L281
 1582                 abandon(8) %if dp >= dmin
				adrp	x0, .LANCHOR2
				add	x0, x0, :lo12:.LANCHOR2
				ldr	w1, [x0, 2708]
				add	w1, w1, 1
				str	w1, [x0, 2708]
		.L281:
				ldr	x0, [x19]
				adrp	x1, .LANCHOR2+2708
				ldr	w2, [x1, #:lo12:.LANCHOR2+2708]
				ldr	w1, [x0, 52]
				cmp	w2, w1
				bge	.L312
		.L282:
 1583
				ldr	x18, [x0, 8]
				mov	w0, 8
				bl	ABANDON.7865
		.LVL301:
				b	.L282
		.L313:
 1584                 atom2 = 90;                            ! ident
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 90
				str	w1, [x0, 296]
 1585                 %if last1 = 0 %and sym = ':' %start;   ! label
				ldr	w0, [x0, 316]
				cbnz	w0, .L283
 1586                     limit = local;  lookup(lab);  %return
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 58
				beq	.L313
		.L284:
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 340]
				str	w1, [x0, 268]
 1587                 %finish
				add	x18, x29, 120
				mov	w0, 3
				bl	LOOKUP.8300
		.LVL302:
 1588                 %if last1 = jump %start;               ! ->label
				b	.L218
		.L283:
				cmp	w0, 54
				bne	.L284
 1589                     limit = local;  lookup(lab+spec+used bit);  %return
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 340]
				str	w1, [x0, 268]
 1590                 %finish
				add	x18, x29, 120
				mov	w0, 32899
				bl	LOOKUP.8300
		.LVL303:
 1591                 %if decl # 0 %and target = 90 %start;  ! identifier
				adrp	x0, .LANCHOR0+304
				ldr	w0, [x0, #:lo12:.LANCHOR0+304]
				b	.L218
		.L314:
 1592                     search base = fm base
				ldr	w1, [x29, 108]
				cmp	w1, 90
				ccmp	w0, 0, 4, eq
				bne	.L314
		.L285:
				adrp	x19, .LANCHOR0
				add	x19, x19, :lo12:.LANCHOR0
				ldr	w1, [x19, 344]
				str	w1, [x19, 252]
 1593                     limit = local;  lookup(decl)
				ldr	w1, [x19, 340]
				str	w1, [x19, 268]
 1594                     search base = 0
				add	x18, x29, 120
				bl	LOOKUP.8300
		.LVL304:
				str	wzr, [x19, 252]
 1595                 %finish %else %start
				b	.L218
		.LVL305:
		.L297:
				ldp	x24, x25, [x29, 56]
				ldp	x26, x27, [x29, 72]
				ldr	x28, [x29, 88]
				b	.L218
		.LVL306:
		.L301:
				stp	x24, x25, [x29, 56]
				stp	x26, x27, [x29, 72]
				str	x28, [x29, 88]
 1596                     limit = 0;  lookup(0)
				adrp	x0, .LANCHOR0+268
				str	wzr, [x0, #:lo12:.LANCHOR0+268]
 1597                 %finish
				add	x18, x29, 120
				mov	w0, 0
				bl	LOOKUP.8300
		.LVL296:
		.L229:
		.L286:
		.L287:
		.L288:
		.L289:
				b	.L218
		.LVL297:
		.L310:
 1598             %end
?DA unused
 1599
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 152]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L301
				ldp	x19, x20, [sp, 16]
				ldp	x21, x22, [sp, 32]
				ldr	x23, [sp, 48]
				ldp	x29, x30, [sp], 160
		.LVL254:
				ret
		.LVL255:
		.L244:
				bl	__stack_chk_fail
		.LVL307:
		.LFE208:
				.align	2
		GETNEXT.8863:
		.LFB215:
 1600             %integerfn parsed machine code
 1601                 !   *opcode_??????????
 1602                 atom1 = error %and %result=0 %unless symtype = -2; ! starts with letter
 1603                 flush buffer( 128 );                   ! flush if bp >= 128
 1604                 add char( 'w' )
 1605                 %cycle
 1606                     add char( sym ); read sym
 1607                 %repeat %until Sym = '_' %or Symtype = 0; ! pull in letters and digits
 1608                 add char( '_' )
 1609                 %if symtype # 0 %start;                ! not terminator
 1610                     read sym
 1611                     %while symtype # 0 %cycle
 1612                         %if symtype < 0 %start;        ! complex
 1613                             code atom(0);  %result=0 %if atom1&error # 0
 1614                             %if atom2 = const %and type = integer %start
 1615                                 %if subatom < 0 %then set const(tag(-subatom)_format) %else set const(litpool(subatom))
 1616                             %finish %else %if 91 <= atom1 %and atom1 <= 109 %start
 1617                                 %if atom1 = 104 %and Tag(Subatom)_Flags&Closed = 0 %start
 1618                                     This = Subatom;  Atom1 = Error+21
 1619                                     %result = 0
 1620                                 %finish
 1621                                 op(' ', tag(subatom)_index)
 1622                             %finish %else %start
 1623                                 atom1 = error;  %result=0
 1624                             %finish
 1625                         %finish %else %start
 1626                             sym = sym!128 %if symtype = 2      {underline with %}
 1627                             add char( sym ); read sym
 1628                         %finish
 1629                     %repeat
 1630                 %finish
 1631                 add char( ';' )
 1632                 %result=1
 1633             %end
 1634
 1635             cont = ' ' %if gg = 0
				adrp	x0, .LANCHOR0+612
				ldr	w2, [x0, #:lo12:.LANCHOR0+612]
				cbnz	w2, .L393
 1636             last1 = 0;  mapgg = 0
				adrp	x0, .LANCHOR2+2692
				mov	w1, 32
				str	w1, [x0, #:lo12:.LANCHOR2+2692]
		.L393:
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 316]
 1637             s = 0;  ss = 0;  sstype = -1; fdef = 0
				str	wzr, [x0, 300]
		.LVL393:
				mov	w20, 0
 1638             fm base = 0
				str	wzr, [x0, 624]
				str	wzr, [x0, 344]
 1639             app = 0
				mov	w1, -1
				str	w1, [x0, 628]
				str	wzr, [x0, 284]
 1640
				str	wzr, [x0, 312]
 1641             ! deal with alignment following an error in one statement
 1642             ! of several on a line
 1643             margin = column;                           ! start of statement
				ldr	w1, [x0, 200]
				str	w1, [x0, 216]
 1644             pos = 0
				str	wzr, [x0, 196]
 1645             strp = gmax+1;  lp = 0
				adrp	x1, .LANCHOR1
				ldr	w1, [x1, #:lo12:.LANCHOR1]
				add	w1, w1, 1
				str	w1, [x29, 408]
 1646             tbase = tstart;                            ! ??????????????
				str	wzr, [x0, 332]
				ldr	w1, [x22, 72]
				str	w1, [x22, 68]
 1647             local = tbase
				str	w1, [x0, 340]
 1648
 1649             %if gg = 0 %or ocount >= 0 %start;         ! data or not continuation(z)
				cbz	w2, .L394
 1650 again:          %while sym type = 0 %cycle;            ! skip redundant terminators
				adrp	x0, .LANCHOR2+2840
				ldr	w0, [x0, #:lo12:.LANCHOR2+2840]
				tbnz	w0, #31, .L404
		.L394:
 1651                     c = cont
				ldr	w21, [x19, 2692]
		.LVL397:
 1652                     cont = ' ';  cont = '+' %if ocount >= 0
				adrp	x23, .LANCHOR0
				add	x23, x23, :lo12:.LANCHOR0
				ldr	w0, [x23, 236]
				cbnz	w0, .L397
				mov	w0, 32
				str	w0, [x19, 2692]
 1653                     read sym
				mov	x18, x20
				bl	READSYM.8246
		.LVL395:
				ldr	w0, [x19, 2840]
				tbnz	w0, #31, .L398
 1654                     cont = c
				str	w21, [x19, 2692]
		.LVL396:
		.L396:
				mov	w0, 43
				str	w0, [x19, 2692]
				b	.L398
		.LVL398:
		.L397:
 1655                 %repeat
 1656                 ->skip %if sym = '!';                  ! comment
				adrp	x19, .LANCHOR2
				add	x19, x19, :lo12:.LANCHOR2
				ldr	w0, [x19, 2548]
				cmp	w0, 33
				beq	.L400
		.L401:
 1657                 this = -1
				mov	w0, -1
				str	w0, [x19, 2824]
 1658                 code atom(0)
				mov	x18, x20
				mov	w0, 0
				bl	CODEATOM.8287
		.LVL399:
 1659                 %if atom1 = comment %start
				ldr	w0, [x23, 288]
				cmp	w0, 22
				bne	.L404
		.L400:
 1660 skip:               quote = 1
 1661                     c = cont
				mov	w24, 1
				str	w24, [x23, 240]
				ldr	w21, [x19, 2692]
		.LVL400:
 1662                     read sym %and cont = c %while sym # nl; ! skip to end of line
 1663                     quote = 0;  symtype = 0
				ldr	w0, [x19, 2548]
				cmp	w0, 10
				beq	.L402
		.L403:
				ldr	w0, [x19, 2548]
				cmp	w0, 10
				bne	.L403
		.L402:
				str	wzr, [x23, 240]
 1664                     ->again
				add	x20, x29, 400
				b	.L396
		.LVL394:
		.L398:
				mov	x18, x20
				bl	READSYM.8246
		.LVL401:
				str	wzr, [x23, 236]
				b	.L396
		.L395:
		.LVL402:
		.L404:
 1665                 %finish
				str	w21, [x19, 2692]
		.LDL20:
 1666             %finish
 1667             decl = 0;  mark = 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 304]
		.LVL403:
 1668             gentype = 0;  force = 0
				str	wzr, [x0, 632]
 1669             dim = 0;  prot err = 0
				str	wzr, [x0, 636]
				str	wzr, [x0, 324]
		.LVL404:
 1670             node = 0;  nmax = 0;  nmin = rec size+1
				str	wzr, [x29, 380]
 1671             order = 1;  gmin = max grammar+1
				str	wzr, [x0, 640]
				mov	w1, 1
				str	w1, [x0, 648]
 1672             sstype = 0 %and ->more %if gg # 0;         ! continuation
				mov	w1, 521
				str	w1, [x0, 644]
				adrp	x1, .LANCHOR2+2836
				mov	w2, 1721
				str	w2, [x1, #:lo12:.LANCHOR2+2836]
				ldr	w0, [x0, 612]
				cbz	w0, .L405
				stp	x27, x28, [x29, 80]
 1673             ptype = 0;  spec given = 0
				adrp	x0, .LANCHOR0+628
				str	wzr, [x0, #:lo12:.LANCHOR0+628]
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 652]
 1674
				str	wzr, [x0, 308]
 1675             stats = stats+1;  op('O', lines) %if perm = 0
				ldr	w1, [x0, 656]
				add	w1, w1, 1
				str	w1, [x0, 656]
 1676
				adrp	x0, .LANCHOR2+2832
				ldr	w0, [x0, #:lo12:.LANCHOR2+2832]
				cbz	w0, .L483
		.LVL407:
		.L446:
 1677             ->fail1 %if atom1&error # 0;               ! first atom faulty
				ldr	x18, [x22, 8]
				adrp	x0, .LANCHOR0+192
				ldr	w1, [x0, #:lo12:.LANCHOR0+192]
				mov	w0, 79
				bl	OP.7832
		.LVL472:
				b	.L446
		.LVL473:
		.L408:
		.L409:
 1678
 1679             %if escape class # 0 %start;               ! enter the hard way after
 1680                 g = imp phrase;  sstype = -1;  ->a3
 1681             %finish
 1682
 1683             g = initial(atom1);                        ! pick up entry point
 1684             %if g = 0 %start;                          ! invalid first atom
 1685                 g = initial(0);  sstype = 0;  ->a3;    ! declarator?
 1686             %finish
 1687             %if g < 0 %start;                          ! phrase imp
 1688                 g = g&255
 1689                 nmax = 1
 1690                 ar(1)_class = 0;  ar(1)_link = 0;  ar(1)_sub = imp phrase
 1691             %finish
 1692
 1693             gg = gram(g);  class = gg&255;  sstype = gg>>12&3-1
 1694             ->a1
 1695
 1696 act(194):   ptype = type;  papp = app;  pformat = format;  ->more
 1697 act(196):   k =g+1;  ->a610
 1698 act(188):   k = ar(nmax)_sub+1
 1699 a610:       papp = glink(k)
 1700             k = gram(k)
 1701             ->more %if k = 0;                          ! %name
 1702             ptype = k&7;  pformat = k>>3
 1703 act(183):   k = type;  gentype = k %if gentype = 0 %or k = real
 1704             %if pformat < 0 %start;                    ! general type
 1705                 app = papp;  format = pformat
 1706                 k = real %if ptype = real %and type = integer
 1707                 k = force %and force = 0 %if force # 0
 1708             %finish
 1709             ->fail2 %unless papp = app %and (ptype = k %or ptype = 0)
 1710             ->more %if pformat=format %or pformat = 0 %or format = 0
 1711             ->fail2
 1712 act(197):   arp == ar(nmin)
 1713             k = arp_sub
 1714             ->fail3 %unless block form = k&15
 1715             arp_sub = k>>4
 1716
 1717             type = block type
 1718             ptype = block type;  pformat = block fm;  papp = app
 1719             pformat = -1 %if ptype # record
 1720             ->more
 1721 act(195):   ->Fail2 %if Type # 0 %and Type # Integer %and Type # Real
 1722             arp == ar(nmin)
 1723             k = arp_sub
 1724             arp_sub = k>>2
 1725             k = k&3
 1726                                                        ! 1 = check integer
 1727                                                        ! 2 = check real
 1728                                                        ! 3 = check real + int
 1729             ->more %if k = 0;                          ! 0 = no action
 1730             %if k = 1 %start
 1731                 force = integer
 1732                 ->more %if type = integer %or type = 0
 1733                 ->fail2
 1734             %finish
 1735             ->fail2 %unless ptype = real %or ptype = 0; ! {or added?}
 1736             force = integer %if k = 3
 1737             ->more
 1738 act(198):   ! %OTHER
 1739             k = gg>>8&15
 1740             %if k = 0 %start;                          ! restore atom
 1741                 atom1 = last1
 1742                 ->more
 1743             %finish
 1744             %if k = 1 %start;                          ! test string
 1745                 ->fail2 %unless type = stringv
 1746                 ->more
 1747             %finish
 1748             %if k = 2 %start;                          ! {fault record comparisons}
 1749                 ->fail2 %if type = record
 1750                 ->more
 1751             %finish
 1752             %if k = 3 %start;                          ! check OWN variable coming
 1753                 code atom(0)
 1754                 ->A7 %if atom flags&own bit = 0
 1755                 ->more
 1756             %finish
 1757             for warn = pos1 %if x <= local;            ! %for TEST
 1758             ->more
 1759 paction(1): %if type = record %then g = phrase(242) %else pformat = -1; ->a3
 1760 paction(2): ptype = real;     pformat = -1;                             ->a3
 1761 paction(3): ptype = stringv;  pformat = -1;                             ->a3
 1762 paction(4): ptype = integer;  pformat = -1;                             ->a3
 1763 paction(5): ->a3 %if ptype = integer
 1764             g = phrase(212) %and pformat=-1 %if ptype = real
 1765             g = phrase(213) %if ptype = stringv
 1766                                                                         ->a3
 1767 paction(6): ptype = gram(ar(nmax)_sub+1)&7;  pformat = -1;              ->a3
 1768 paction(7): ptype=real %if ptype = integer;  pformat = -1;              ->a3
 1769
 1770 a1:         last1 = class;  atom1 = 0;  s = subatom
 1771 a2:         %if gg&trans bit = 0 %start;               ! insert into analysis record
				str	w0, [x19, 316]
 1772                 z == node
				str	wzr, [x19, 288]
				ldr	w1, [x19, 612]
				tbz	x1, 0, .L485
		.LVL475:
		.L411:
				add	x0, x29, 380
		.LVL588:
				add	x0, x29, 380
				b	.L414
		.LVL589:
		.L484:
				stp	x27, x28, [x29, 80]
 1773                 %cycle;                                ! insert cell in order
				ldr	w20, [x19, 272]
		.LVL474:
		.L410:
 1774                     k = z
				ldr	w0, [x29, 380]
		.LVL477:
				sbfiz	x0, x2, 5, 32
		.LVL480:
				add	x0, x3, x0
				ldr	w0, [x0, 8]
		.LVL481:
 1775                     %exit %if gg&order bits = 0 %or k = 0
 1776                     gg = gg-order bit;  z == ar(k)_link
				cbz	w0, .L412
				sub	w1, w1, #4096
				cbnz	w0, .L413
 1777                 %repeat
				ldr	x3, [x22, 8]
		.LVL478:
		.L413:
				sub	w2, w0, #1
		.LDL25:
		.LVL479:
				sbfiz	x0, x2, 5, 32
		.LVL482:
				add	x0, x0, 8
		.LVL483:
				add	x0, x3, x0
		.LVL484:
		.LDL26:
		.LDL27:
				str	w1, [x19, 612]
 1778                 gg = map gg %if map gg # 0 %and gg&255 = var
				ldr	w2, [x19, 300]
		.LVL485:
				cbz	w2, .L414
				ldr	w2, [x19, 300]
				cbnz	w2, .L467
 1779                 nmin = nmin-1;  ->fail0 %if nmin = nmax
				tbnz	x1, 0, .L414
		.L467:
				ldr	w1, [x19, 644]
				sub	w2, w1, #1
				str	w2, [x19, 644]
 1780                 z = nmin
				str	w2, [x19, 612]
		.L414:
				ldr	w3, [x19, 640]
				cmp	w2, w3
				beq	.L469
		.L416:
				str	w2, [x0]
		.LVL486:
				sbfiz	x1, x1, 5, 32
		.LVL487:
				ldr	x0, [x22, 8]
				add	x0, x0, x1
 1781                 arp == ar(nmin)
 1782                 arp_sub = s;  arp_class = (gg&255)!mark
				str	w20, [x0, -60]
		.LVL488:
 1783                 arp_link = k
				ldrb	w1, [x19, 612]
				orr	w25, w1, w25
		.LVL489:
				str	w25, [x0, -64]
				str	wzr, [x0, -56]
				b	.L411
		.LVL490:
		.L488:
		.LBB548:
		.LBB510:
		.LBB490:
		.LBB491:
				bl	_imp_newline
		.LVL491:
				b	.L418
		.LVL492:
		.L489:
		.LBE491:
		.LBE490:
		.LBB492:
		.LBB493:
				mov	w0, 123
				bl	_imp_printsymbol
		.LVL493:
		.LBE493:
		.LBE492:
 1784             %finish
 1785             mark = 0;  map gg = 0
 1786 more:       g = glink(g);                              ! chain down the grammar
				str	wzr, [x19, 300]
				b	.L406
		.LVL476:
		.L485:
 1787 paction(0):
				adrp	x19, .LANCHOR0
				add	x19, x19, :lo12:.LANCHOR0
				adrp	x26, .LANCHOR1
				add	x26, x26, :lo12:.LANCHOR1
				add	x27, x26, 8
		.LBB486:
		.LBB487:
		.LBB488:
				ldrsw	x0, [x19, 660]
				ldrsh	w0, [x27, x0, lsl 1]
				str	w0, [x19, 660]
				mov	w25, 0
 1788 a3:         gg = gram(g);  class = gg&255
 1789             trace analysis %if diag&1 # 0
				add	x23, x26, 3456
		.LBB512:
		.LBB509:
		.LBB489:
				ldrsw	x0, [x19, 660]
				ldrsh	w0, [x23, x0, lsl 1]
				str	w0, [x19, 612]
 1790             ->a5 %if class = 0;                        ! end of phrase
				and	w0, w0, 255
				str	w0, [x19, 664]
		.LBB549:
		.LBB511:
				ldr	w21, [x19, 664]
				cbz	w21, .L422
		.L423:
 1791
 1792             %if class < actions %start;                ! not a phrase or an action
				cmp	w21, 179
				bgt	.L424
 1793                 class = atomic(class) %if class >= figurative
				cmp	w21, 129
				ble	.L425
 1794                 ->a2 %if class >= manifest
				ldr	w0, [x19, 664]
				cmp	w0, 119
				bgt	.L410
		.L426:
				ldr	x1, [x22, 8]
				sub	w0, w21, #130
				add	x0, x1, x0, sxtw
				add	x0, x0, 69632
				ldrb	w0, [x0, 66]
				str	w0, [x19, 664]
				b	.L425
		.L486:
 1795                 code atom(class) %if atom1 = 0
				ldr	w1, [x19, 288]
				cbz	w1, .L486
		.L427:
 1796                 %if escape class # 0 %start;           ! escape to new grammar
				ldr	w0, [x19, 292]
				cbnz	w0, .L487
		.L428:
				add	x18, x29, 400
				bl	CODEATOM.8287
		.LVL518:
				b	.L427
		.L487:
 1797                     class = escape class;  escape class = 0
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				str	w0, [x1, 664]
 1798                     g = g+escape
				str	wzr, [x1, 292]
				ldr	w0, [x1, 660]
				add	w0, w0, 4096
				str	w0, [x1, 660]
		.LDL30:
 1799
 1800                     ! note that following an escape the next item is
 1801                     ! forced to be transparent!
 1802
 1803 esc:                gg = 0
 1804                     arp == ar(nmax+1)
				str	wzr, [x1, 612]
				ldr	x2, [x22, 8]
		.LVL519:
 1805                     arp_papp = papp;  arp_x = x;  ->a4
				ldrsw	x0, [x1, 640]
				add	x0, x2, x0, lsl 5
		.LVL520:
				ldr	w2, [x1, 688]
				str	w2, [x0, 16]
 1806                 %finish
				ldr	w1, [x1, 260]
				str	w1, [x0, 24]
		.LVL521:
		.L429:
 1807
 1808                 ->a1 %if class = atom1 %or class = atom2
				ldr	w1, [x19, 664]
				ldr	w0, [x19, 288]
				cmp	w1, w0
				beq	.L408
 1809
				ldr	w0, [x19, 296]
				cmp	w1, w0
				beq	.L408
		.L430:
		.L431:
 1810 a7:             ->fail1 %if gg >= 0;                   ! no alternative
 1811                 g = g+1
				ldr	w0, [x19, 612]
				tbz	w0, #31, .L482
		.L432:
				ldr	w0, [x19, 660]
				add	w0, w0, 1
				str	w0, [x19, 660]
		.LVL498:
		.L417:
 1812                 ->a3
 1813             %finish
 1814
 1815             %if class >= phrasal %start;               ! a phrase
				cmp	w21, 199
				bgt	.L429
		.L434:
		.LVL540:
		.LDL31:
 1816 a4:             nmax = nmax+1;  ->fail0 %if nmax = nmin
 1817                 arp == ar(nmax)
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 640]
				add	w2, w1, 1
				str	w2, [x0, 640]
				ldr	x3, [x22, 8]
		.LVL522:
				sbfiz	x1, x1, 5, 32
		.LVL523:
				add	x2, x3, x1
		.LVL524:
 1818                 arp_ptype = ptype
				ldr	w0, [x0, 644]
				cmp	w2, w0
				beq	.L470
		.L435:
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w4, [x0, 652]
				str	w4, [x2, 12]
 1819                 arp_pos = pos1
				ldr	w4, [x0, 208]
				str	w4, [x2, 28]
 1820                 arp_pformat = pformat
				ldr	w4, [x0, 692]
				str	w4, [x2, 20]
 1821                 arp_link = gentype
				ldr	w4, [x0, 632]
				str	w4, [x2, 8]
 1822                 arp_class = node
				ldr	w4, [x29, 380]
				str	w4, [x3, x1]
 1823                 arp_sub = g
				ldr	w1, [x0, 660]
				str	w1, [x2, 4]
 1824                 node = 0
				str	wzr, [x29, 380]
 1825                 g = phrase(class)
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				add	x1, x1, 2712
				ldr	w2, [x0, 664]
		.LVL525:
				sub	w2, w2, #200
				ldrsh	w1, [x1, w2, sxtw 1]
				str	w1, [x0, 660]
 1826                 ptype = force %and force = 0 %if force # 0
				ldr	w0, [x0, 636]
		.LVL526:
				cbz	w0, .L436
 1827                 gentype = 0
				adrp	x1, .LANCHOR0
		.LVL527:
				add	x1, x1, :lo12:.LANCHOR0
		.LVL528:
				str	w0, [x1, 652]
				adrp	x0, .LANCHOR0
		.LVL530:
				add	x0, x0, :lo12:.LANCHOR0
		.LVL531:
				str	wzr, [x0, 632]
		.LVL532:
 1828                 ->paction(gg>>8&15)
				str	wzr, [x1, 636]
		.LVL529:
		.L436:
				ldr	w0, [x0, 612]
				ubfx	x0, x0, 8, 4
				str	x0, [x29, 96]
		.LVL533:
		.L437:
 1829             %finish
 1830             ->act(class);                              ! only actions left
 1831
 1832 a5:         ;! reverse links
 1833             s = 0
 1834             %while node # 0 %cycle
 1835                 z == ar(node)_link
				ldr	w20, [x29, 380]
				cbnz	w20, .L441
				b	.L440
		.LVL543:
		.L471:
				cbnz	w1, .L471
				str	wzr, [x29, 380]
		.LVL547:
		.L440:
 1836                 k = z;  z = s;  s = node;  node = k
				mov	w20, w1
		.LVL544:
		.L441:
				sbfiz	x0, x20, 5, 32
				ldr	x1, [x22, 8]
				add	x0, x1, x0
				ldr	w1, [x0, -24]
		.LVL545:
 1837             %repeat
				str	w21, [x0, -24]
		.LVL546:
		.LDL32:
		.LDL33:
				mov	w21, w20
 1838             ss = s
				str	w20, [x19, 624]
		.LDL34:
 1839 a6:         %if nmax # 0 %start
 1840                 k = gentype;                           ! type of phrase
				ldr	w0, [x19, 640]
				cbz	w0, .L442
		.LVL548:
 1841                 arp == ar(nmax);  nmax = nmax-1
				sub	w2, w0, #1
				ldr	x1, [x22, 8]
		.LVL549:
 1842                 node = arp_class
				str	w2, [x19, 640]
				sbfiz	x0, x0, 5, 32
				add	x0, x1, x0
				ldr	w3, [x0, -32]
				str	w3, [x29, 380]
 1843                 gentype = arp_link
				ldr	w3, [x0, -24]
				str	w3, [x19, 632]
 1844                 ptype = arp_ptype
				ldr	w3, [x0, -20]
				str	w3, [x19, 652]
 1845                 pformat = arp_pformat
				sbfiz	x2, x2, 5, 32
		.LVL550:
				add	x1, x1, x2
		.LVL551:
				ldr	w2, [x1, 20]
				str	w2, [x19, 692]
 1846                 g = arp_sub
 1847                 %if g&escape # 0 %start
 1848                     g = g-escape
				ldr	w0, [x0, -28]
				sub	w0, w0, #4096
				str	w0, [x19, 660]
 1849                     papp = arp_papp
				ldr	w0, [x1, 16]
				str	w0, [x19, 688]
		.LVL552:
 1850                     mark = 255
				mov	w25, 255
 1851                     subatom = s
				str	w20, [x19, 272]
 1852                     ->a3
				b	.L417
		.LVL553:
		.L442:
 1853                 %finish
 1854                 gentype = k %if gentype = 0 %or k = real
 1855                 type = gen type
 1856
 1857                 k = gg;                                ! exit-point code
 1858                 %cycle
 1859                     gg = gram(g)
 1860                     ->a2 %if k = 0
 1861                     ->fail1 %if gg >= 0;               ! no alternative phrase
 1862                     k = k-order bit
 1863                     g = g+1;                           ! sideways step
 1864                 %repeat
 1865             %finish
 1866
 1867             Fault(4)  %if copy # 0
				adrp	x0, .LANCHOR0+320
				ldr	w0, [x0, #:lo12:.LANCHOR0+320]
				cbnz	w0, .L491
		.L443:
 1868             fault(13) %if order = 0
				adrp	x0, .LANCHOR0+648
				ldr	w0, [x0, #:lo12:.LANCHOR0+648]
				cbz	w0, .L492
		.L444:
		.LDL35:
				mov	x18, x22
				mov	w0, 4
				bl	FAULT.7968
		.LVL554:
				b	.L443
		.L492:
 1869             fault(-4) %if for warn # 0
				mov	x18, x22
				mov	w0, 13
				bl	FAULT.7968
		.LVL555:
				b	.L444
		.L407:
		.LVL556:
		.L482:
				ldp	x27, x28, [x29, 80]
				b	.L446
		.L469:
 1870             pos1 = 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 208]
 1871             fault rate = fault rate-1
				ldr	w1, [x0, 620]
				sub	w1, w1, #1
				str	w1, [x0, 620]
 1872             %return
				ldp	x27, x28, [x29, 80]
				b	.L392
		.L491:
 1873
 1874 act(193):   gg = 0 %and ->a5 %unless sym = '=' %or sym = '<'; ! cdummy
 1875 act(181):   atom1 = amap(decl&15);                     ! dummy
 1876             ->more
 1877
 1878 act(182):   class = escdec;  g = glink(g)!escape;      ! an example of ! as an operator
 1879             decl = 0;  otype = 0;  ->esc;              ! decl
 1880
 1881 act(199):   ;                                          ! compile
 1882             s = 0
 1883             %while node # 0 %cycle
 1884                 z == ar(node)_link
 1885                 k = z;  z = s;  s = node;  node = k
 1886             %repeat
 1887             ss = s
 1888
 1889             code atom(28) %if quote # 0;               ! expend
 1890             compile;  ->more %if atom1&error = 0
 1891             ->fail1
 1892
 1893 act(184):   ->fail4 %unless type = integer
 1894             %if subatom < 0 %then lit = tag(-subatom)_format %else lit = lit pool(subatom)
 1895             ->fail4 %if lit # 0
 1896             ->more
 1897 act(185):   ;                                          ! apply parameters
 1898             s = 0
 1899             %while node # 0 %cycle
 1900                 z == ar(node)_link
 1901                 k = z;  z = s;  s = node;  node = k
 1902             %repeat
 1903             ss = s
 1904
 1905             atom1 = ar(s)_class;  atom2 = 0
 1906             atom1 = var %if atom1 = 97 %or atom1 = 98
 1907             arp == ar(nmax)
 1908             x = arp_x
 1909             pos1 = arp_pos
 1910             pos2 = 0
 1911             app = 0
 1912             format = tag(x)_format
 1913             flags = tag(x)_flags
 1914             type = flags>>4&7
 1915             protection = flags&prot
 1916             protection = 0 %if flags&aname # 0
 1917
 1918             %if flags&subname # 0 %and format # 0 %start
 1919                 ->fail1 %if format selected = 0
 1920             %finish
 1921
 1922             ->a6
 1923
 1924 act(187):   protection = prot;  ->more;                ! %SETPROT
 1925 act(186):   ->More %if protection&prot = 0
 1926             prot err = nmin
 1927             ->A7
 1928 act(191):   k = protection;                            ! %GUARD
 1929             code atom(0)
 1930             protection = k %if atom flags&aname = 0
 1931             ->more
 1932
 1933 act(192):   ->fail1 %if parsed machine code=0
 1934             ->more
 1935
 1936 act(189):   k = gapp;                                  ! %GAPP
 1937             delete names(1)
 1938             tmax = tbase;  tbase = gram (gmin);        ! restore tmax
 1939             local= tbase
 1940             gmin = gmin+1
 1941
 1942             x = ar(ar(nmax)_class)_sub
 1943             tag(x)_app = k;                            ! update app
 1944             ->more
 1945
 1946 act(190):   gmin = gmin-1;                             ! %LOCAL
 1947             abandon(2) %if gmin <= gmax
 1948             gram (gmin) = tbase;  tbase = tmax
 1949             local = tbase
 1950             ->more
 1951
 1952             ! errors
 1953
 1954 fail4:      k = error+10;            ->failed;         ! *size
 1955 fail3:      k = error+7;             ->failed;         ! *context
 1956 fail2:      k = error+5;  pos2 = 0;  ->failed;         ! *type
 1957 fail0:      k = error+3;             ->failed;         ! *too complex
 1958 fail1:      k = atom1;    pos2 = 0
				mov	w24, 32771
				ldp	x27, x28, [x29, 80]
				b	.L415
		.L470:
				mov	w24, 32771
				ldp	x27, x28, [x29, 80]
				b	.L415
		.LVL557:
		.L438:
 1959 failed:     %if diag&32 # 0 %start
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w24, [x0, 288]
		.LVL408:
 1960                 printstring("Atom1 =");      write(atom1, 3)
				str	wzr, [x0, 212]
		.LVL409:
		.L415:
		.LBB513:
				adrp	x23, .LANCHOR3
				add	x23, x23, :lo12:.LANCHOR3
				add	x21, x29, 4096
				add	x21, x21, 3496
				mov	x19, 256
				mov	x2, x19
				add	x1, x23, 1688
				mov	x0, x21
				bl	memcpy
		.LVL410:
				add	x20, x29, 424
				mov	x2, x19
				mov	x1, x21
				mov	x0, x20
				bl	memcpy
		.LVL411:
				mov	x2, x19
				mov	x1, x20
				mov	x0, x21
				bl	memcpy
		.LVL412:
		.LBE513:
		.LBB514:
		.LBB515:
				add	x20, x29, 112
				mov	x2, x19
				mov	x1, x21
				mov	x0, x20
				bl	memcpy
		.LVL413:
				mov	x0, x20
				bl	_imp_printstring
		.LVL414:
		.LBE515:
		.LBE514:
 1961                 printstring("  Atom2 =");    write(atom2, 3)
				adrp	x21, .LANCHOR0
				add	x21, x21, :lo12:.LANCHOR0
				mov	w1, 3
				ldr	w0, [x21, 288]
				bl	_imp_writeint
		.LVL415:
		.LBB516:
				add	x25, x29, 4096
				add	x25, x25, 2472
				mov	x2, x19
				add	x1, x23, 1944
				mov	x0, x25
				bl	memcpy
		.LVL416:
				add	x26, x29, 680
				mov	x2, x19
				mov	x1, x25
				mov	x0, x26
				bl	memcpy
		.LVL417:
				mov	x2, x19
				mov	x1, x26
				mov	x0, x25
				bl	memcpy
		.LVL418:
		.LBE516:
		.LBB517:
		.LBB518:
				mov	x2, x19
				mov	x1, x25
				mov	x0, x20
				bl	memcpy
		.LVL419:
				mov	x0, x20
				bl	_imp_printstring
		.LVL420:
		.LBE518:
		.LBE517:
 1962                 printstring("  subatom =");  write(subatom, 3); newline
				mov	w1, 3
				ldr	w0, [x21, 296]
				bl	_imp_writeint
		.LVL421:
		.LBB519:
				add	x25, x29, 4096
				add	x25, x25, 2216
				mov	x2, x19
				add	x1, x23, 2200
				mov	x0, x25
				bl	memcpy
		.LVL422:
				add	x26, x29, 936
				mov	x2, x19
				mov	x1, x25
				mov	x0, x26
				bl	memcpy
		.LVL423:
				mov	x2, x19
				mov	x1, x26
				mov	x0, x25
				bl	memcpy
		.LVL424:
		.LBE519:
		.LBB520:
		.LBB521:
				mov	x2, x19
				mov	x1, x25
				mov	x0, x20
				bl	memcpy
		.LVL425:
				mov	x0, x20
				bl	_imp_printstring
		.LVL426:
		.LBE521:
		.LBE520:
 1963                 printstring("Type =");       write(type, 1)
				mov	w1, 3
				ldr	w0, [x21, 272]
				bl	_imp_writeint
		.LVL427:
		.LBB522:
		.LBB523:
				bl	_imp_newline
		.LVL428:
		.LBE523:
		.LBE522:
		.LBB524:
				add	x25, x29, 4096
				add	x25, x25, 1960
				mov	x2, x19
				add	x1, x23, 2456
				mov	x0, x25
				bl	memcpy
		.LVL429:
				add	x26, x29, 1192
				mov	x2, x19
				mov	x1, x25
				mov	x0, x26
				bl	memcpy
		.LVL430:
				mov	x2, x19
				mov	x1, x26
				mov	x0, x25
				bl	memcpy
		.LVL431:
		.LBE524:
		.LBB525:
		.LBB526:
				mov	x2, x19
				mov	x1, x25
				mov	x0, x20
				bl	memcpy
		.LVL432:
				mov	x0, x20
				bl	_imp_printstring
		.LVL433:
		.LBE526:
		.LBE525:
 1964                 printstring("   Ptype =");   write(ptype, 1);   newline
				mov	w1, 1
				ldr	w0, [x21, 248]
				bl	_imp_writeint
		.LVL434:
		.LBB527:
				add	x25, x29, 4096
				add	x25, x25, 1704
				mov	x2, x19
				add	x1, x23, 2712
				mov	x0, x25
				bl	memcpy
		.LVL435:
				add	x26, x29, 1448
				mov	x2, x19
				mov	x1, x25
				mov	x0, x26
				bl	memcpy
		.LVL436:
				mov	x2, x19
				mov	x1, x26
				mov	x0, x25
				bl	memcpy
		.LVL437:
		.LBE527:
		.LBB528:
		.LBB529:
				mov	x2, x19
				mov	x1, x25
				mov	x0, x20
				bl	memcpy
		.LVL438:
				mov	x0, x20
				bl	_imp_printstring
		.LVL439:
		.LBE529:
		.LBE528:
 1965                 printstring("App =");        write(app, 1)
				mov	w1, 1
				ldr	w0, [x21, 652]
				bl	_imp_writeint
		.LVL440:
		.LBB530:
		.LBB531:
				bl	_imp_newline
		.LVL441:
		.LBE531:
		.LBE530:
		.LBB532:
				add	x25, x29, 4096
				add	x25, x25, 1448
				mov	x2, x19
				add	x1, x23, 2968
				mov	x0, x25
				bl	memcpy
		.LVL442:
				add	x26, x29, 1704
				mov	x2, x19
				mov	x1, x25
				mov	x0, x26
				bl	memcpy
		.LVL443:
				mov	x2, x19
				mov	x1, x26
				mov	x0, x25
				bl	memcpy
		.LVL444:
		.LBE532:
		.LBB533:
		.LBB534:
				mov	x2, x19
				mov	x1, x25
				mov	x0, x20
				bl	memcpy
		.LVL445:
				mov	x0, x20
				bl	_imp_printstring
		.LVL446:
		.LBE534:
		.LBE533:
 1966                 printstring("   Papp =");    write(papp, 1);    newline
				mov	w1, 1
				ldr	w0, [x21, 284]
				bl	_imp_writeint
		.LVL447:
		.LBB535:
				add	x25, x29, 4096
				add	x25, x25, 1192
				mov	x2, x19
				add	x1, x23, 3224
				mov	x0, x25
				bl	memcpy
		.LVL448:
				add	x26, x29, 1960
				mov	x2, x19
				mov	x1, x25
				mov	x0, x26
				bl	memcpy
		.LVL449:
				mov	x2, x19
				mov	x1, x26
				mov	x0, x25
				bl	memcpy
		.LVL450:
		.LBE535:
		.LBB536:
		.LBB537:
				mov	x2, x19
				mov	x1, x25
				mov	x0, x20
				bl	memcpy
		.LVL451:
				mov	x0, x20
				bl	_imp_printstring
		.LVL452:
		.LBE537:
		.LBE536:
 1967                 printstring("Format =");     write(format, 1)
				mov	w1, 1
				ldr	w0, [x21, 688]
				bl	_imp_writeint
		.LVL453:
		.LBB538:
		.LBB539:
				bl	_imp_newline
		.LVL454:
		.LBE539:
		.LBE538:
		.LBB540:
				add	x25, x29, 4096
				add	x25, x25, 936
				mov	x2, x19
				add	x1, x23, 3480
				mov	x0, x25
				bl	memcpy
		.LVL455:
				add	x26, x29, 2216
				mov	x2, x19
				mov	x1, x25
				mov	x0, x26
				bl	memcpy
		.LVL456:
				mov	x2, x19
				mov	x1, x26
				mov	x0, x25
				bl	memcpy
		.LVL457:
		.LBE540:
		.LBB541:
		.LBB542:
				mov	x2, x19
				mov	x1, x25
				mov	x0, x20
				bl	memcpy
		.LVL458:
				mov	x0, x20
				bl	_imp_printstring
		.LVL459:
		.LBE542:
		.LBE541:
 1968                 printstring("   Pformat ="); write(pformat, 1); newline
				mov	w1, 1
				ldr	w0, [x21, 280]
				bl	_imp_writeint
		.LVL460:
		.LBB543:
				add	x0, x29, 4096
				add	x0, x0, 680
				mov	x2, x19
				add	x1, x23, 3736
				mov	x23, x0
				bl	memcpy
		.LVL461:
				add	x25, x29, 2472
				mov	x2, x19
				mov	x1, x23
				mov	x0, x25
				bl	memcpy
		.LVL462:
				mov	x2, x19
				mov	x1, x25
				mov	x0, x23
				bl	memcpy
		.LVL463:
		.LBE543:
		.LBB544:
		.LBB545:
				mov	x2, x19
				mov	x1, x23
				mov	x0, x20
				bl	memcpy
		.LVL464:
				mov	x0, x20
				bl	_imp_printstring
		.LVL465:
		.LBE545:
		.LBE544:
 1969                 !%signal 13,15
				mov	w1, 1
				ldr	w0, [x21, 692]
				bl	_imp_writeint
		.LVL466:
		.LBB546:
		.LBB547:
				bl	_imp_newline
		.LVL467:
		.LBE547:
		.LBE546:
 1970             %finish
 1971
 1972             quote = 0 %and readsym %while sym # nl %and sym # ';'
 1973             %if k&error # 0 %start
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				adrp	x19, .LANCHOR2
				add	x19, x19, :lo12:.LANCHOR2
		.L448:
				ldr	w0, [x19, 2548]
 1974                 fault(k&255)
				cmp	w0, 59
				ccmp	w0, 10, 4, ne
				beq	.L447
				cmp	w0, 59
				ccmp	w0, 10, 4, ne
				bne	.L448
		.L447:
				mov	x18, x22
				and	w0, w24, 255
				bl	FAULT.7968
		.LVL469:
		.LDL23:
		.LDL24:
 1975             %finish %else %start
				mov	x20, x21
				str	wzr, [x20, 240]
 1976                 %if prot err = nmin %then fault(14) %else fault(0)
				add	x21, x29, 400
				mov	x18, x21
				bl	READSYM.8246
		.LVL468:
		.LDL21:
		.LDL22:
 1977             %finish
 1978             gg = 0;  ss = 0;  symtype = 0
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 612]
 1979         %end;                                          ! of analyse
				str	wzr, [x0, 624]
 1980
				str	wzr, [x0, 236]
		.LVL470:
		.L392:
 1981         %routine compile
				mov	x16, 6480
				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]
				str	x18, [x29, 152]
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x0]
				str	x1, [x29, 6456]
				mov	x1,0
				add	x0, x29, 4096
				add	x0, x0, 2368
				str	x0, [x29, 712]
				str	x18, [x29, 672]
 1982             %constinteger then = 4, else = 8, loop = 16
				sub	w0, w21, #180
				cmp	w0, 20
				bhi	.L438
		.LVL541:
		.L439:
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L449
				add	x8, x29, 3752
				bl	_imp_c2istr
		.LVL558:
		.L450:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w20, [x0]
				cmp	w20, 0
				mov	w0, 1982
				csel	w20, w20, w0, ne
				add	x19, x29, 112
				mov	x2, 256
				add	x1, x29, 3752
				mov	x0, x19
				bl	memcpy
		.LVL559:
				mov	w0, 1830
				str	w0, [sp]
				adrp	x7, .LC74
				add	x7, x7, :lo12:.LC74
				mov	w6, w21
				adrp	x5, .LC78
				add	x5, x5, :lo12:.LC78
				mov	w4, w21
				mov	w3, 3
				mov	w2, 6
				mov	w1, w20
				mov	x0, x19
				bl	_signal_eventf
		.LVL560:
				b	.L439
		.LVL561:
		.L449:
		.LBB550:
				add	x20, x29, 4096
				add	x20, x20, 3496
		.LVL562:
				mov	x22, 256
				mov	x2, x22
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x20
				bl	memcpy
		.LVL563:
				add	x19, x29, 2728
				mov	x2, x22
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL564:
		.LBE550:
				mov	x2, x22
				mov	x1, x19
				add	x0, x29, 3752
				bl	memcpy
		.LVL565:
				b	.L450
		.LVL566:
		.L453:
 1983
				adrp	x0, .LANCHOR4
				add	x0, x0, :lo12:.LANCHOR4
				sub	w1, w21, #180
				add	x0, x0, 304
				ldr	x0, [x0, w1, sxtw 3]
				b	.L452
		.LVL542:
		.L422:
 1984             %switch c(0:actions), litop(1:12)
 1985
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L493
				add	x8, x29, 4008
				bl	_imp_c2istr
		.LVL567:
		.L456:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w20, [x0]
				cmp	w20, 0
				mov	w0, 1985
				csel	w20, w20, w0, ne
				add	x19, x29, 112
				mov	x2, 256
				add	x1, x29, 4008
				mov	x0, x19
				bl	memcpy
		.LVL568:
				mov	w0, 1830
				str	w0, [sp]
		.LVL569:
				adrp	x7, .LC74
				add	x7, x7, :lo12:.LC74
				mov	w6, w21
				adrp	x5, .LC79
				add	x5, x5, :lo12:.LC79
				mov	w4, w21
				mov	w3, 2
				mov	w2, 8
				mov	w1, w20
				mov	x0, x19
				bl	_signal_eventf
		.LVL570:
				b	.L437
		.LVL571:
		.L493:
		.LBB551:
				add	x20, x29, 4096
				add	x20, x20, 3496
				mov	x22, 256
				mov	x2, x22
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x20
				bl	memcpy
		.LVL572:
				add	x19, x29, 2984
				mov	x2, x22
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL573:
		.LBE551:
				mov	x2, x22
				mov	x1, x19
				add	x0, x29, 4008
				bl	memcpy
		.LVL574:
				b	.L456
		.L459:
		.LBB552:
 1986             %constbyteintegerarray operator(1:14) = '[', ']', 'X', '/', '&', '!', '%', '+', '-', '*', 'Q', 'x', '.', 'v'
				mov	w0, 91
				add	x1, x29, 4096
				add	x1, x1, 80
				strb	w0, [x1, 2248]
				mov	w0, 93
				strb	w0, [x1, 2249]
				mov	w0, 88
				strb	w0, [x1, 2250]
				mov	w0, 47
				strb	w0, [x1, 2251]
				mov	w0, 38
				strb	w0, [x1, 2252]
				mov	w0, 33
				strb	w0, [x1, 2253]
				mov	w0, 37
				strb	w0, [x1, 2254]
				mov	w0, 43
				strb	w0, [x1, 2255]
				mov	w0, 45
				strb	w0, [x1, 2256]
				mov	w0, 42
				strb	w0, [x1, 2257]
				mov	w0, 81
				strb	w0, [x1, 2258]
				mov	w0, 120
				strb	w0, [x1, 2259]
				mov	w0, 46
				strb	w0, [x1, 2260]
				mov	w0, 118
				strb	w0, [x1, 2261]
 1987             %constbyteintegerarray cc(0 : 7) = '#','=',')','<','(','>', 'k','t'
				mov	w0, 35
				strb	w0, [x1, 2240]
				mov	w0, 61
				strb	w0, [x1, 2241]
				mov	w0, 41
				strb	w0, [x1, 2242]
				mov	w0, 60
				strb	w0, [x1, 2243]
				mov	w0, 40
				strb	w0, [x1, 2244]
				mov	w0, 62
				strb	w0, [x1, 2245]
				mov	w0, 107
				strb	w0, [x1, 2246]
				mov	w0, 116
				strb	w0, [x1, 2247]
 1988             %constbyteintegerarray anyform(0:15) = 1,0,1,1,1,1,1,1,0,1,1,0,1,1,1,1
				ldr	w0, [x29, 96]
				cmp	w0, 15
				bls	.L458
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L459
				add	x8, x29, 4096
				add	x8, x8, 168
				bl	_imp_c2istr
		.LVL534:
		.L460:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w20, [x0]
				cmp	w20, 0
				mov	w0, 1988
				csel	w20, w20, w0, ne
				add	x19, x29, 112
				mov	x2, 256
				add	x1, x29, 4096
				add	x1, x1, 168
				mov	x0, x19
				bl	memcpy
		.LVL535:
				mov	w0, 1828
				str	w0, [sp]
		.LVL536:
				adrp	x7, .LC74
				add	x7, x7, :lo12:.LC74
				ldr	w4, [x29, 96]
				mov	w6, w4
				adrp	x5, .LC80
				add	x5, x5, :lo12:.LC80
				mov	w3, 3
				mov	w2, 6
				mov	w1, w20
				mov	x0, x19
				bl	_signal_eventf
		.LVL537:
		.L458:
				add	x20, x29, 4096
				add	x20, x20, 3496
				mov	x22, 256
				mov	x2, x22
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x20
				bl	memcpy
		.LVL575:
				add	x19, x29, 3240
				mov	x2, x22
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL576:
		.LBE552:
				mov	x2, x22
				mov	x1, x19
				add	x0, x29, 4096
				add	x0, x0, 168
				bl	memcpy
		.LVL577:
				b	.L460
		.L462:
				mov	w0, 1
				strb	w0, [x1, 2264]
				strb	wzr, [x1, 2265]
				strb	w0, [x1, 2266]
				strb	w0, [x1, 2267]
				strb	w0, [x1, 2268]
				strb	w0, [x1, 2269]
				strb	w0, [x1, 2270]
				strb	w0, [x1, 2271]
				strb	wzr, [x1, 2272]
				strb	w0, [x1, 2273]
				strb	w0, [x1, 2274]
				strb	wzr, [x1, 2275]
				strb	w0, [x1, 2276]
				strb	w0, [x1, 2277]
				strb	w0, [x1, 2278]
				strb	w0, [x1, 2279]
 1989
				adrp	x0, .LANCHOR4
				add	x0, x0, :lo12:.LANCHOR4
				add	x0, x0, 472
				ldr	w1, [x29, 96]
				ldr	x0, [x0, w1, sxtw 3]
		.LVL538:
		.L452:
				br	x0
		.LVL539:
		.L424:
 1990             %constintegerarray decmap(0:15) = %c
				adrp	x0, .LANCHOR3
				add	x0, x0, :lo12:.LANCHOR3
				add	x0, x0, 3992
				ldp	x2, x3, [x0]
				add	x1, x29, 592
				stp	x2, x3, [x1, 128]
				ldp	x2, x3, [x0, 16]
				stp	x2, x3, [x1, 144]
				ldp	x2, x3, [x0, 32]
				stp	x2, x3, [x1, 160]
				ldp	x0, x1, [x0, 48]
				add	x2, x29, 592
				stp	x0, x1, [x2, 176]
 1991             1,             2,
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L463
				add	x8, x29, 4096
				add	x8, x8, 424
				bl	_imp_c2istr
		.LVL578:
		.L464:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w20, [x0]
				cmp	w20, 0
				mov	w0, 1991
				csel	w20, w20, w0, ne
				add	x19, x29, 112
				mov	x2, 256
				add	x1, x29, 4096
				add	x1, x1, 424
				mov	x0, x19
				bl	memcpy
		.LVL579:
				mov	w0, 1828
				str	w0, [sp]
		.LVL580:
				adrp	x7, .LC74
				add	x7, x7, :lo12:.LC74
				ldr	w4, [x29, 96]
				mov	w6, w4
				adrp	x5, .LC81
				add	x5, x5, :lo12:.LC81
				mov	w3, 2
				mov	w2, 8
				mov	w1, w20
				mov	x0, x19
				bl	_signal_eventf
		.LVL581:
				ldp	x27, x28, [x29, 80]
				b	.L392
		.LVL582:
		.L463:
		.LBB553:
				add	x20, x29, 4096
				add	x20, x20, 3496
				mov	x21, 256
		.LVL583:
				mov	x2, x21
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x20
				bl	memcpy
		.LVL584:
				add	x19, x29, 3496
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL585:
		.LBE553:
				mov	x2, x21
				mov	x1, x19
				add	x0, x29, 4096
				add	x0, x0, 424
				bl	memcpy
		.LVL586:
				b	.L464
		.LVL587:
		.L412:
 1992             16_100B,       16_100D,       16_140C,      16_140E,
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 8104]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L484
				ldp	x19, x20, [sp, 32]
				ldp	x21, x22, [sp, 48]
				ldp	x23, x24, [sp, 64]
				ldp	x25, x26, [sp, 80]
				ldp	x29, x30, [sp, 16]
				mov	x16, 8128
				add	sp, sp, x16
				ret
		.LVL471:
		.L483:
				bl	__stack_chk_fail
		.LVL590:
		.LFE202:
				.align	2
		POPLABEL.8963:
		.LFB225:
 1993             3,             4,
 1994             16_1007,       16_1008,       16_1009,      16_100A,
 1995             6,             0,             0,            0
 1996             %ownbyteintegerarray cnest(0:15)
 1997             %integer lmode, clab, dupid
 1998             %integer resln
 1999             %owninteger last def = 0
 2000             %owninteger lb, ub
 2001             %integer cp, ord
 2002             %integer next, link, j, k, n, done
 2003             %integer class
 2004             %integer lit2, defs, decs, cident
 2005             %integer pending;  %ownintegerarray pstack(1:40)
 2006             %ownstring(8) name = ""
 2007             %owninteger count = 0
 2008
 2009             %routine def lab(%integer l)
		.LVL13:
				stp	x29, x30, [sp, -32]!
				add	x29, sp, 0
				str	x19, [sp, 16]
				mov	x19, x18
 2010                 op(':', l)
				ldr	x1, [x18]
				ldr	x18, [x1, 8]
				mov	w1, w0
				mov	w0, 58
		.LVL14:
				bl	OP.7832
		.LVL15:
 2011                 access = 1
				ldr	x0, [x19]
				mov	w1, 1
				str	w1, [x0, 36]
 2012             %end
 2013
				ldr	x19, [sp, 16]
				ldp	x29, x30, [sp], 32
				ret
		.LFE214:
				.align	2
		SETSUBS.8886:
		.LFB216:
 2014             %routine get next
				sub	sp, sp, #1344
				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, 1336]
				mov	x1,0
				adrp	x0, .LANCHOR0+260
				ldr	w2, [x0, #:lo12:.LANCHOR0+260]
				mov	w5, 0
				mov	w4, 1
		.L317:
 2015                 %record(arfm)%name p
 2016 gn:             %if next = 0 %start;                   ! end of phrase
 2017                     class = 0 %and %return %if link = 0; ! end of statement
				ldr	w0, [x18, 36]
				cbnz	w0, .L318
				ldr	w0, [x18, 32]
				cbz	w0, .L335
		.L319:
		.LVL308:
 2018                     p == ar(link)
				ldr	x1, [x18]
				sbfiz	x0, x0, 5, 32
		.LVL309:
				ldr	x1, [x1, 8]
				add	x0, x1, x0
				str	wzr, [x18, 28]
 2019                     next = p_link
				ldr	w1, [x0, -24]
				str	w1, [x18, 36]
		.LVL310:
				b	.L316
		.L337:
				adrp	x0, .LANCHOR0+260
				str	w2, [x0, #:lo12:.LANCHOR0+260]
				b	.L320
		.LVL313:
		.L336:
				stp	x19, x20, [x29, 16]
				stp	x21, x22, [x29, 32]
				adrp	x3, .LANCHOR0+260
				str	w0, [x3, #:lo12:.LANCHOR0+260]
				b	.L323
		.LVL314:
		.L327:
 2020                     link = p_sub
				ldr	w0, [x0, -28]
				str	w0, [x18, 32]
		.L318:
 2021                 %finish
 2022                 %cycle
 2023                     p == ar(next)
				ldr	w3, [x18, 36]
				sub	w2, w3, #1
				ldr	x0, [x18]
				ldr	x1, [x0, 8]
		.LVL311:
				sbfiz	x3, x3, 5, 32
				add	x3, x1, x3
				sub	w2, w0, #1
				ldr	x1, [x18]
				ldr	x1, [x1, 8]
		.LVL315:
				sbfiz	x0, x0, 5, 32
				add	x3, x1, x0
 2024                     x = p_sub
				ldr	w0, [x3, -28]
				ldr	w0, [x3, -28]
 2025                     class = p_class
				ldr	w3, [x3, -32]
				str	w3, [x18, 28]
				ldr	w3, [x3, -32]
				str	w3, [x18, 28]
 2026                     %exit %if class < actions;         ! an atom
				cmp	w3, 179
				ble	.L336
				cmp	w3, 179
				ble	.L338
		.L326:
 2027                     %if x = 0 %start;                  ! null phrase
				cbnz	w0, .L324
		.LVL312:
		.L325:
				cbz	w0, .L325
		.LVL316:
		.L324:
				sbfiz	x2, x2, 5, 32
		.LVL317:
				add	x1, x1, x2
		.LVL318:
 2028                         next = p_link;  ->gn
				sbfiz	x2, x2, 5, 32
				add	x1, x1, x2
				ldr	w0, [x1, 8]
				str	w0, [x18, 36]
				mov	w2, w5
				mov	w1, w4
 2029                     %finish
				b	.L317
		.L335:
				cbnz	w1, .L337
		.L320:
 2030                     %if p_link # 0 %start;             ! follow a phrase
				ldr	w2, [x1, 8]
				cbz	w2, .L327
 2031                         p_sub = link;  link = next
				ldr	w2, [x18, 32]
				str	w2, [x1, 4]
 2032                     %finish
				ldr	w1, [x18, 36]
		.LVL319:
				str	w1, [x18, 32]
				b	.L327
		.LVL320:
		.L338:
				stp	x19, x20, [x29, 16]
				stp	x21, x22, [x29, 32]
				adrp	x3, .LANCHOR0+260
				str	w0, [x3, #:lo12:.LANCHOR0+260]
		.LVL321:
		.L323:
 2033                     next = x
				str	w0, [x18, 36]
 2034                 %repeat
 2035                 next = p_link
				sbfiz	x2, x2, 5, 32
				add	x1, x1, x2
				ldr	w0, [x1, 8]
				str	w0, [x18, 36]
 2036                 %if diag&2 # 0 %start
 2037                     spaces(8-length(name)) %unless length(name) = 0
				adrp	x0, .LANCHOR0+352
				ldrb	w0, [x0, #:lo12:.LANCHOR0+352]
				cbnz	w0, .L339
		.L328:
 2038                     name = text(class)
 2039                     write(x, 2)
				mov	w1, 2
				ldr	w0, [x19, 260]
				bl	_imp_writeint
		.LVL323:
		.LBB341:
		.LBB342:
				bl	_imp_space
		.LVL324:
				add	x21, x29, 1080
				mov	x22, 256
				mov	x2, x22
				add	x1, x29, 568
				mov	x0, x21
				bl	memcpy
		.LVL325:
		.LBE342:
		.LBE341:
		.LBB343:
		.LBB344:
				add	x20, x29, 48
				mov	x2, x22
				mov	x1, x21
				mov	x0, x20
				bl	memcpy
		.LVL326:
				mov	x0, x20
				bl	_imp_printstring
		.LVL327:
		.LBE344:
		.LBE343:
		.LBB345:
		.LBB346:
				bl	_imp_space
		.LVL328:
		.LBE346:
		.LBE345:
 2040                     space
				adrp	x19, .LANCHOR0
				add	x19, x19, :lo12:.LANCHOR0
				mov	x2, 8
				add	x1, x29, 312
				add	x0, x19, 352
				bl	_imp_strncpy
		.LVL322:
 2041                     printstring(name)
 2042                     space
 2043                     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]
		.L321:
		.L330:
		.L316:
 2044                     %if count <= 0 %start
				cmp	w0, 0
				ble	.L329
 2045                         count = 5
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 5
				str	w1, [x0, 608]
		.LVL332:
 2046                         name = ""
 2047                         newline
 2048                     %finish
				mov	x2, 8
				add	x1, x29, 824
				add	x0, x0, 352
				bl	_imp_strncpy
		.LVL333:
		.LBB349:
		.LBB350:
				bl	_imp_newline
		.LVL334:
				ldp	x19, x20, [x29, 16]
				ldp	x21, x22, [x29, 32]
				b	.L316
		.L340:
				stp	x19, x20, [x29, 16]
				stp	x21, x22, [x29, 32]
		.LBE350:
		.LBE349:
 2049                 %finish
 2050             %end
 2051
				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, .L340
				ldp	x29, x30, [sp]
				add	sp, sp, 1344
				ret
		.L339:
		.LVL329:
		.LBB347:
		.LBB348:
				mov	w1, 8
				sub	w0, w1, w0
		.LVL330:
				bl	_imp_spaces
		.LVL331:
				b	.L328
		.L329:
		.LBE348:
		.LBE347:
				bl	__stack_chk_fail
		.LVL335:
		.LFE215:
				.align	2
		FAULT.7968:
		.LFB196:
 2052             %routine set subs(%integer n)
		.LVL16:
 2053                 !update the app field in n array descriptors
 2054                 %integer p
 2055                 p = tmax
				ldr	x1, [x18]
				ldr	w2, [x1, 64]
		.LVL17:
 2056                 %while n > 0 %cycle
 2057                     !%signal 15,15 %if p < tbase
				cmp	w0, 0
				ble	.L13
				cmp	w2, w0
				bne	.L15
		.L14:
		.LVL20:
		.L13:
 2058                     tag(p)_app = dimension
				adrp	x1, .LANCHOR0+4
				ldr	w4, [x1, #:lo12:.LANCHOR0+4]
				sub	w0, w2, w0
		.LVL18:
		.L15:
				ldr	x1, [x18]
				ldr	x3, [x1, 8]
				sxtw	x1, w2
				add	x1, x1, x1, lsl 1
				add	x1, x3, x1, lsl 3
				add	x1, x1, 32768
				str	w4, [x1, 16276]
 2059                     p = p-1;  n = n-1
				sub	w2, w2, #1
		.LVL19:
		.LDL1:
 2060                 %repeat
 2061             %end
 2062
				ret
		.LFE216:
				.align	2
		POPLIT.8953:
		.LFB223:
 2063             %routine set bp
				stp	x29, x30, [sp, -32]!
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				mov	x19, x18
 2064                 !define a constant bound pair from the last stacked constants
 2065                 pending = pending-2
				ldr	w2, [x18, 24]
				sub	w3, w2, #2
				str	w3, [x18, 24]
 2066                 lb = pstack(pending+1);  ub = pstack(pending+2)
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				add	x1, x0, 16
				ldr	w3, [x1, w3, sxtw 2]
				str	w3, [x0, 696]
 2067                 %if ub-lb+1 < 0 %start
				sub	w2, w2, #1
				ldr	w1, [x1, w2, sxtw 2]
				str	w1, [x0, 700]
				sub	w1, w1, w3
				cmn	w1, 1
				bmi	.L505
		.L502:
 2068                     pos1 = 0;  next = link;  fault(11)
				mov	x20, x0
				str	wzr, [x0, 208]
 2069                     ub = lb
				ldr	w0, [x18, 32]
				str	w0, [x18, 36]
				ldr	w0, [x20, 696]
				str	w0, [x20, 700]
				b	.L502
		.LFE217:
				.align	2
		DEFSLAB.8931:
		.LFB220:
 2070                 %finish
				ldr	x18, [x18]
				mov	w0, 11
				bl	FAULT.7968
		.LVL599:
 2071                 set const(lb);  set const(ub)
				adrp	x20, .LANCHOR0
				add	x20, x20, :lo12:.LANCHOR0
				ldr	x0, [x19]
				ldr	x18, [x0, 8]
				ldr	w0, [x20, 696]
				bl	SETCONST.7835
		.LVL596:
 2072                 add char( 'b' ) %unless class = 146
				ldr	x0, [x19]
				ldr	x18, [x0, 8]
				ldr	w0, [x20, 700]
				bl	SETCONST.7835
		.LVL597:
				ldr	w0, [x19, 28]
				cmp	w0, 146
				beq	.L501
 2073             %end
				ldr	x0, [x19]
				ldr	x18, [x0, 8]
				mov	w0, 98
				bl	ADDCHAR.7828
		.LVL598:
		.L503:
		.L501:
 2074
				ldp	x19, x20, [sp, 16]
				ldp	x29, x30, [sp], 32
				ret
		.L505:
 2075             %routine compile end(%integer type)
 2076                 ! type = 0:eof, 1:eop, 2:end
 2077                 %if access # 0 %start
				ldr	x18, [x29, 672]
				ldr	w0, [x18, 36]
				cbnz	w0, .L703
		.L706:
 2078                     open = 0
				str	wzr, [x18, 32]
 2079                     fault(19) %if block form > proc;   ! can reach end
				ldr	w0, [x18, 48]
				cmp	w0, 7
				ble	.L706
 2080                 %finish
				mov	w0, 19
				bl	FAULT.7968
		.LVL811:
				b	.L706
		.L900:
 2081
 2082                 %while dict(dmin) >= 0 %cycle;         ! finishes & repeats
 2083                     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 2
				add	x0, x0, 24576
				add	x0, x0, 464
				ldr	w0, [x0, 4]
				tbnz	w0, #31, .L704
				mov	x20, 6260
		.L705:
				and	w0, w0, 1
				add	w0, w0, 17
				bl	FAULT.7968
		.LVL802:
				ldr	x1, [x18, 8]
				add	x0, x20, x0, sxtw
				add	x0, x1, x0, lsl 2
				ldr	w0, [x0, 4]
				tbz	w0, #31, .L705
		.L704:
 2084                     dmin = dmin+1
				ldr	x18, [x29, 672]
				ldr	w0, [x18, 52]
				add	w1, w0, 1
				str	w1, [x18, 52]
 2085                 %repeat
 2086                 !{delete names(0)}
 2087                 add char( ';' )
				mov	x18, x1
				mov	w0, 59
				bl	ADDCHAR.7828
		.LVL803:
 2088                 add char( ';' ) %if type = 1;          ! endofprogram
				cmp	w19, 1
				beq	.L900
		.L707:
 2089
				ldr	x0, [x29, 672]
				ldr	x18, [x0, 8]
				mov	w0, 59
				bl	ADDCHAR.7828
		.LVL812:
				b	.L707
		.L901:
 2090                 bflags = bflags!open;                  ! show if it returns
				ldr	x2, [x29, 672]
				ldr	x1, [x2]
				ldr	w0, [x1]
				ldr	w2, [x2, 32]
				orr	w0, w0, w2
				str	w0, [x1]
 2091
 2092                 def lab(0) %if block tag # 0 %and level # 1; ! for jump around
				ldr	x0, [x29, 672]
				ldr	w1, [x0, 28]
				cbz	w1, .L708
 2093                 %if type # 2 %start;                   ! eop, eof
				ldr	w0, [x0, 60]
				cmp	w0, 1
				beq	.L709
				cmp	w19, 2
				beq	.L710
		.L857:
				cmp	w19, 2
				bne	.L857
				b	.L713
		.LVL1020:
		.L889:
		.LBE625:
		.LBE654:
				bl	__stack_chk_fail
		.LVL1021:
		.LFE213:
				.align	2
		COMPILEBLOCK.7942:
		.LFB195:
 2094                     fault(16) %if level # type;        ! end missing
				add	x18, x29, 672
				mov	w0, 0
				bl	DEFLAB.8860
		.LVL804:
		.L708:
				ldr	x18, [x29, 672]
				ldr	w0, [x18, 60]
				cmp	w19, w0
				bne	.L901
		.L711:
		.L712:
		.L713:
 2095                 %finish %else %start
				mov	w0, 16
				bl	FAULT.7968
		.LVL813:
				b	.L713
		.L710:
 2096                     %if level = 0 %start
				ldr	x18, [x29, 672]
				ldr	w0, [x18, 60]
				cbnz	w0, .L713
 2097                         fault(15);                     ! spurious end
				mov	w0, 15
				bl	FAULT.7968
		.LVL814:
				b	.L713
		.LVL815:
		.L714:
		.LDL43:
		.LDL44:
		.LDL45:
		.LBE624:
		.LBE630:
 2098                     %finish
 2099                 %finish
 2100
 2101                 end mark = 11;               !******Mouses specific******
				adrp	x0, .LANCHOR0+204
				mov	w1, 11
				str	w1, [x0, #:lo12:.LANCHOR0+204]
				b	.L555
		.LVL805:
		.L899:
		.LBE623:
		.LBE622:
 2102             %end
 2103
 2104             %routine def(%integer p)
		.LVL652:
				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	w21, w0
				mov	x20, x18
 2105                 !dump a descriptor
 2106                 %integer t, f, type
 2107                 %record(tagfm)%name v
 2108                 flush buffer( 1 );                     ! flush if bp > 0
				ldr	x0, [x18]
		.LVL653:
				ldr	x18, [x0, 8]
				mov	w0, 1
				bl	FLUSHBUFFER.7815
		.LVL654:
 2109                 defs = defs+1
				ldr	w0, [x20, 20]
				add	w0, w0, 1
				str	w0, [x20, 20]
 2110                 v == tag(p)
				ldr	x2, [x20]
				ldr	x22, [x2, 8]
		.LVL655:
 2111                 t = 0
				mov	w1, 0
 2112                 %unless v_index < 0 %start;            ! no index for subnames
				sxtw	x0, w21
				add	x0, x0, x0, lsl 1
				add	x0, x22, x0, lsl 3
				add	x0, x0, 32768
				ldr	w0, [x0, 16288]
				tbnz	w0, #31, .L538
 2113                     id = id+1 %and v_index = id %if v_index = 0
				cbnz	w0, .L539
 2114                     last def = v_index
				ldr	w0, [x2, 56]
				add	w0, w0, 1
				str	w0, [x2, 56]
				sxtw	x0, w21
				add	x0, x0, x0, lsl 1
				add	x0, x22, x0, lsl 3
				add	x0, x0, 32768
				ldr	w1, [x0, 16288]
		.LVL656:
		.L538:
 2115                     t = last def
				ldr	x0, [x20]
				ldr	w1, [x0, 56]
				sxtw	x0, w21
				add	x0, x0, x0, lsl 1
				add	x0, x22, x0, lsl 3
				add	x0, x0, 32768
				str	w1, [x0, 16288]
		.L539:
 2116                 %finish
 2117                 op('$', t)
				ldr	x0, [x20]
				ldr	x18, [x0, 8]
				mov	w0, 36
				bl	OP.7832
		.LVL657:
 2118                 print ident(p, 1);                     ! output the name
				ldr	x0, [x20]
				ldr	x18, [x0, 8]
				mov	w1, 1
				mov	w0, w21
				bl	PRINTIDENT.7851
		.LVL658:
 2119                 t = v_flags
				sxtw	x25, w21
				lsl	x24, x25, 1
				add	x0, x24, x25
				add	x0, x22, x0, lsl 3
				add	x0, x0, 32768
				ldr	w19, [x0, 16284]
		.LVL659:
		.LDL37:
 2120                 type = t
 2121                 type = type&(\(7<<4)) %if type&(7<<4) >= 6<<4;!routine & pred
 2122                 op(',', type&2_1111111);               ! type & form
				and	w23, w19, 15
				ldr	x0, [x20]
				ldr	x18, [x0, 8]
				mov	w1, w23
				mov	w0, 44
				bl	OP.7832
		.LVL660:
 2123                 f = v_format
				add	x24, x24, x25
				add	x24, x22, x24, lsl 3
				add	x24, x24, 32768
				ldr	w1, [x24, 16280]
		.LVL661:
 2124                 f = tag(f)_index %if t&16_70 = record<<4
				and	w25, w19, 1
				tbnz	x19, 0, .L540
 2125                 f = v_index %if f < 0
				ldr	x0, [x20]
				ldr	x0, [x0, 8]
				sxtw	x1, w1
				add	x1, x1, x1, lsl 1
		.LVL662:
				add	x1, x0, x1, lsl 3
				add	x1, x1, 32768
				ldr	w1, [x1, 16288]
		.LVL663:
		.L540:
				tbnz	w1, #31, .L552
		.L541:
 2126                 op(',', f);                            ! format
				ldr	x0, [x20]
				ldr	x18, [x0, 8]
				mov	w0, 44
				bl	OP.7832
		.LVL664:
				sxtw	x0, w21
				add	x0, x0, x0, lsl 1
				add	x0, x22, x0, lsl 3
				add	x0, x0, 32768
				ldr	w1, [x0, 16288]
		.LVL674:
				b	.L541
		.LVL675:
		.L553:
 2127                 f = otype+t>>4&2_1111000
				adrp	x0, .LANCHOR0+704
				ldr	w24, [x0, #:lo12:.LANCHOR0+704]
				lsr	w19, w19, 4
		.LVL665:
				and	w19, w19, 120
				add	w19, w19, w24
		.LVL666:
 2128                 f = f!8 %if class = 125;               ! add spec from %DUP
				ldr	w1, [x20, 28]
 2129                 dim = v_app;                           ! dimension
				orr	w0, w19, 8
				cmp	w1, 125
				csel	w19, w0, w19, eq
		.LVL667:
		.L542:
				sxtw	x0, w21
				add	x0, x0, x0, lsl 1
				add	x0, x22, x0, lsl 3
				add	x0, x0, 32768
				ldr	w0, [x0, 16276]
				adrp	x1, .LANCHOR0+324
				str	w0, [x1, #:lo12:.LANCHOR0+324]
				b	.L544
		.LVL676:
		.L554:
 2130                 dim = 0 %unless 0 < dim %and dim <= dim limit
 2131                 op(',', f+dim<<8);                     ! otype & spec & prot
				sub	w1, w0, #1
				cmp	w1, 5
				bls	.L553
		.L543:
				adrp	x0, .LANCHOR0+324
				ldr	w1, [x0, #:lo12:.LANCHOR0+324]
				ldr	x0, [x20]
				ldr	x18, [x0, 8]
				add	w1, w19, w1, lsl 8
				mov	w0, 44
				bl	OP.7832
		.LVL668:
 2132                 defs = 0 %if t&parameters = 0
				cbnz	w25, .L545
 2133                 f = t&15
				adrp	x0, .LANCHOR0+324
				str	wzr, [x0, #:lo12:.LANCHOR0+324]
		.L544:
				str	wzr, [x20, 20]
		.L545:
		.LVL669:
 2134                 %if v_flags&spec # 0 %start
 2135                     v_flags = v_flags&(\spec) %unless 3 <= f %and f <= 10
 2136                     ocount = -1;                       ! external specs have no constants
				sub	w0, w23, #3
				cmp	w0, 7
				bls	.L546
		.L547:
				adrp	x0, .LANCHOR2+2840
				mov	w1, -1
				str	w1, [x0, #:lo12:.LANCHOR2+2840]
		.LDL38:
 2137                 %finish
 2138                 dimension = 0
				sxtw	x2, w21
				lsl	x0, x2, 1
				add	x1, x0, x2
				add	x1, x22, x1, lsl 3
				add	x1, x1, 32768
				ldr	w0, [x1, 16284]
				and	w0, w0, -129
				str	w0, [x1, 16284]
		.L546:
				adrp	x0, .LANCHOR0+4
				str	wzr, [x0, #:lo12:.LANCHOR0+4]
 2139                 %if otype = 2 %and (f=2 %or f=12 %or f=14) %start
				cmp	w24, 2
				beq	.L554
		.L548:
		.LVL670:
		.L537:
 2140                     v_flags = v_flags-1;               ! convert to simple
				sxtw	x21, w21
				lsl	x0, x21, 1
				add	x1, x0, x21
				add	x1, x22, x1, lsl 3
				add	x1, x1, 32768
				ldr	w0, [x1, 16284]
				sub	w0, w0, #1
				str	w0, [x1, 16284]
 2141                 %finish
				cmp	w23, 12
				ccmp	w23, 2, 4, ne
				cset	w0, ne
 2142             %end
				cmp	w23, 14
				csel	w0, w0, wzr, ne
				cbnz	w0, .L537
		.L549:
				b	.L537
		.LFE219:
				.align	2
		COMPILE.7951:
		.LFB213:
 2143
				ldp	x19, x20, [sp, 16]
				ldp	x21, x22, [sp, 32]
		.LVL671:
				ldp	x23, x24, [sp, 48]
		.LVL672:
				ldr	x25, [sp, 64]
				ldp	x29, x30, [sp], 80
				ret
		.LVL673:
		.L552:
 2144             %routine def s lab(%integer n)
		.LVL600:
				stp	x29, x30, [sp, -32]!
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				mov	x20, x18
 2145                 ! define a switch label, x defines the switch tag
 2146                 %integer p, l, b, w, bit
 2147                 p = tag(x)_format;                     ! pointer to table
				adrp	x1, .LANCHOR0+260
				ldr	w19, [x1, #:lo12:.LANCHOR0+260]
				ldr	x18, [x18]
				ldr	x3, [x18, 8]
				sxtw	x1, w19
				add	x1, x1, x1, lsl 1
				add	x1, x3, x1, lsl 3
				add	x1, x1, 32768
				ldr	w4, [x1, 16280]
		.LVL601:
				add	x2, x3, x4, sxtw 2
 2148                 l = dict(p);                           ! lower bound
				add	x1, x2, 16384
				ldr	w1, [x1, 8656]
		.LVL602:
 2149                 %if l <= n %and n <= dict(p+1) %start
				cmp	w1, w0
				bgt	.L507
 2150                     b = n-l
				add	x2, x2, 16384
				ldr	w2, [x2, 8660]
				cmp	w2, w0
				blt	.L507
				sub	w1, w0, w1
		.LVL603:
 2151                     w = b>>4+p
				add	w1, w4, w1, lsr 4
		.LVL605:
				add	x1, x3, x1, sxtw 2
		.LVL606:
 2152                     bit = 1<<(b&15)
				and	w5, w1, 15
				mov	w2, 1
				lsl	w2, w2, w5
		.LVL604:
 2153                     %if dict(w+2)&bit # 0 %start;      ! already set
				add	x3, x1, 16384
		.LVL607:
				ldr	w3, [x3, 8664]
				cmp	w2, 0
				cset	w4, eq
		.LVL608:
				tst	w4, w3
				bne	.L508
 2154                         fault(4) %if pending # 0
				ldr	w0, [x20, 24]
		.LVL609:
				cbz	w0, .L506
 2155                         %return
				mov	w0, 4
				bl	FAULT.7968
		.LVL610:
				b	.L506
		.LVL611:
		.L508:
 2156                     %finish
 2157                     dict(w+2) = dict(w+2)!bit %if pending # 0
				ldr	w4, [x20, 24]
				cbz	w4, .L510
 2158                     set const(n)
				add	x1, x1, 16384
				orr	w2, w3, w2
		.LVL612:
				str	w2, [x1, 8664]
		.LVL613:
		.L510:
				ldr	x1, [x20]
				ldr	x18, [x1, 8]
				bl	SETCONST.7835
		.LVL614:
 2159                     op('_', tag(x)_index)
				ldr	x0, [x20]
				ldr	x18, [x0, 8]
				sxtw	x19, w19
				add	x19, x19, x19, lsl 1
				add	x19, x18, x19, lsl 3
				add	x19, x19, 32768
				ldr	w1, [x19, 16288]
				mov	w0, 95
				bl	OP.7832
		.LVL615:
 2160                 %finish %else %start
				b	.L511
		.LVL616:
		.L507:
 2161                     fault(12)
				mov	w0, 12
		.LVL617:
				bl	FAULT.7968
		.LVL618:
		.L511:
 2162                 %finish
 2163                 access = 1
				ldr	x0, [x20]
				mov	w1, 1
				str	w1, [x0, 36]
		.L509:
		.L506:
 2164             %end
 2165
				ldp	x19, x20, [sp, 16]
				ldp	x29, x30, [sp], 32
				ret
		.LFE220:
				.align	2
		DELETENAMES.7947:
		.LFB201:
 2166             %routine call
 2167                 %record(tagfm)%name T
 2168                 t == tag(x)
				ldr	x0, [x29, 672]
				ldr	x20, [x0, 8]
		.LVL865:
 2169                 op('@', t_index)
				ldr	x0, [x29, 144]
				ldrsw	x21, [x0, 260]
				lsl	x19, x21, 1
		.LVL866:
				add	x0, x19, x21
				add	x0, x20, x0, lsl 3
				add	x0, x0, 32768
				mov	x18, x20
				ldr	w1, [x0, 16288]
				mov	w0, 64
				bl	OP.7832
		.LVL867:
 2170                 access = 0 %if t_flags&closed # 0;     ! never comes back
 2171                 add char( 'E' ) %if t_app = 0;         ! no parameters
				ldr	x1, [x29, 672]
				str	wzr, [x1, 36]
		.LDL47:
				add	x0, x19, x21
				add	x0, x20, x0, lsl 3
				add	x0, x0, 32768
				ldr	w0, [x0, 16276]
				cbnz	w0, .L877
 2172             %end
				ldr	x18, [x1, 8]
				mov	w0, 69
				bl	ADDCHAR.7828
		.LVL868:
				b	.L877
		.LVL869:
		.L748:
				b	.L750
		.L749:
				b	.L750
		.L751:
				b	.L761
		.L752:
				b	.L761
		.L753:
				b	.L761
		.L754:
				b	.L761
		.L755:
				b	.L761
		.L756:
		.L761:
		.LBE644:
		.LBE643:
 2173
 2174             %routine pop def
 2175                 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.7835
		.LVL897:
 2176             %end
				ldr	w0, [x29, 696]
				sub	w0, w0, #1
				str	w0, [x29, 696]
		.L783:
		.LBE646:
		.LBE645:
 2177
 2178             %routine pop lit
 2179                 %if pending = 0 %then lit = 0 %else %start
				ldr	w0, [x18, 24]
				cbz	w0, .L20
		.L18:
 2180                     lit = pstack(pending);  pending = pending-1
				sub	w0, w0, #1
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				add	x2, x1, 16
				ldr	w2, [x2, w0, sxtw 2]
				str	w2, [x1, 8]
				adrp	x0, .LANCHOR0+8
				str	wzr, [x0, #:lo12:.LANCHOR0+8]
 2181                 %finish
				str	w0, [x18, 24]
		.L19:
		.L17:
				b	.L17
		.LFE223:
				.align	2
		PUSH.8958:
		.LFB224:
 2182             %end
 2183
				ret
		.L20:
 2184             !conditions & jumps
 2185             %routine push(%integer x)
		.LVL21:
 2186                 %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, 176]
				cmp	w0, 2
				cset	w3, eq
				tst	w3, w2
				bne	.L22
 2187                     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, 176]
 2188                 %finish
				add	w0, w0, 4
		.LVL22:
		.L22:
 2189                 clab = clab+1 %if cnest(cp)&1 # 0
 2190                 cnest(cp+1) = x;  cp = cp+1
				ldr	w2, [x18, 12]
				add	w2, w2, 1
				str	w2, [x18, 12]
		.LDL2:
				add	w1, w1, 1
				adrp	x2, .LANCHOR0
				add	x2, x2, :lo12:.LANCHOR0
				add	x2, x2, x1, sxtw
				strb	w0, [x2, 176]
 2191             %end
				str	w1, [x18, 16]
 2192
				ret
		.LFE224:
				.align	2
		SHOW.8220:
		.LFB204:
 2193             %routine pop label(%integer mode)
		.LVL591:
				stp	x29, x30, [sp, -16]!
				add	x29, sp, 0
 2194                 lmode = dict(dmin)
				ldr	x2, [x18]
				ldr	x3, [x2, 8]
				ldr	w1, [x2, 52]
				sub	w1, w1, #1
				add	x1, x3, x1, sxtw 2
				add	x1, x1, 24576
				add	x1, x1, 464
				ldr	w1, [x1, 4]
				str	w1, [x18, 8]
 2195                 %if lmode < 0 %or lmode&1 # mode %start
				tbnz	w1, #31, .L495
 2196                     fault(mode+8)
				cmp	w0, 1
				cset	w3, eq
				tst	w3, w1
				beq	.L495
		.L496:
				mov	x18, x2
				add	w0, w0, 8
		.LVL594:
				bl	FAULT.7968
		.LVL595:
 2197                 %finish %else %start
 2198                     dmin = dmin+1;  label = label-3
				ldr	w0, [x2, 52]
		.LVL592:
				add	w0, w0, 1
				str	w0, [x2, 52]
 2199                 %finish
				ldr	x1, [x18]
				ldr	w0, [x1, 24]
				sub	w0, w0, #3
				str	w0, [x1, 24]
				ret
		.LVL593:
		.L495:
 2200             %end
 2201
				ldp	x29, x30, [sp], 16
				ret
		.L497:
		.LFE225:
				.align	2
		SETBP.8892:
		.LFB217:
 2202             %if sstype < 0 %start;                     ! executable statement
				adrp	x0, .LANCHOR0+628
				ldr	w0, [x0, #:lo12:.LANCHOR0+628]
				tbnz	w0, #31, .L881
		.L556:
		.L558:
		.L559:
 2203                 %if level = 0 %start;                  ! outermost level
				ldr	w0, [x18, 60]
				cbz	w0, .L888
		.L557:
 2204                     fault(13);                         ! *order
				mov	w0, 13
				bl	FAULT.7968
		.LVL696:
				b	.L559
		.LVL697:
		.L882:
 2205                 %finish %else %start
 2206                     %if access = 0 %start
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 36]
				cbnz	w0, .L559
 2207                         access = 1;  fault(-1);        ! only a warning
				mov	w0, 1
				ldr	x1, [x29, 152]
				str	w0, [x1, 36]
 2208                     %finish
				mov	x18, x1
				mov	w0, -1
				bl	FAULT.7968
		.LVL695:
				b	.L559
		.L888:
 2209                 %finish
 2210             %finish
 2211
 2212             %if diag&2 # 0 %start
 2213                 newline %if sym # nl
				adrp	x0, .LANCHOR2+2548
				ldr	w0, [x0, #:lo12:.LANCHOR2+2548]
				cmp	w0, 10
				beq	.L560
		.LBB609:
		.LBB610:
				bl	_imp_newline
		.LVL677:
		.L560:
		.LBE610:
		.LBE609:
		.LBB611:
 2214                 printstring("ss =")
				add	x20, x29, 4096
				add	x20, x20, 2064
				mov	x21, 256
				mov	x2, x21
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				add	x1, x1, 4056
				mov	x0, x20
				bl	memcpy
		.LVL678:
				add	x19, x29, 784
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL679:
				add	x20, x29, 4096
				add	x20, x20, 1808
				mov	x2, x21
				mov	x1, x19
				mov	x0, x20
				bl	memcpy
		.LVL680:
		.LBE611:
		.LBB612:
		.LBB613:
				add	x19, x29, 416
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL681:
				mov	x0, x19
				bl	_imp_printstring
		.LVL682:
		.LBE613:
		.LBE612:
 2215                 write(ss, 1)
				adrp	x19, .LANCHOR0
				add	x19, x19, :lo12:.LANCHOR0
				mov	w1, 1
				ldr	w0, [x19, 624]
				bl	_imp_writeint
		.LVL683:
		.LBB614:
		.LBB615:
				bl	_imp_newline
		.LVL684:
		.LBE615:
		.LBE614:
 2216                 newline
 2217                 count = 5
				mov	w0, 5
				str	w0, [x19, 608]
		.LVL685:
 2218                 name = ""
 2219             %finish
 2220
				mov	x2, 8
				add	x1, x29, 1040
				add	x0, x19, 352
				bl	_imp_strncpy
		.LVL686:
		.L561:
 2221             next = ss
				ldr	w0, [x19, 624]
				str	w0, [x29, 708]
 2222             pending = 0;  lmode = 0
				str	wzr, [x29, 696]
 2223             link = 0;  decs = 0
				str	wzr, [x29, 680]
				str	wzr, [x29, 704]
		.LVL687:
 2224             defs = 0;  resln = 0;  done = 0
				str	wzr, [x29, 692]
		.LVL688:
				str	wzr, [x29, 132]
				str	wzr, [x29, 132]
 2225             ord = level
				str	wzr, [x29, 116]
		.L878:
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 60]
				str	w0, [x29, 128]
				str	wzr, [x29, 116]
				b	.L878
		.L562:
		.L563:
		.L564:
		.L565:
		.L566:
		.L567:
		.LVL698:
		.L568:
				b	.L877
		.LVL699:
		.L883:
 2226             ord = 1 %if this >= 0;                     ! recordformat declarations
				adrp	x0, .LANCHOR2+2824
				ldr	w0, [x0, #:lo12:.LANCHOR2+2824]
				tbnz	w0, #31, .L882
 2227 c(0):
				mov	w0, 1
				str	w0, [x29, 128]
 2228 top:        %if next # link %start
 2229                 get next;  ->c(class)
				add	x0, x29, 672
				str	x0, [x29, 136]
				ldr	w1, [x29, 708]
				ldr	w0, [x29, 704]
				cmp	w1, w0
				bne	.L883
		.L570:
				ldr	x18, [x29, 136]
				bl	GETNEXT.8863
		.LVL700:
 2230             %finish
				ldr	w19, [x29, 700]
		.LVL701:
		.LDL41:
 2231
 2232             !all done, tidy up declarations and jumps
 2233             newline %if diag&2 # 0 %and count # 5
 2234
				adrp	x0, .LANCHOR0+608
				ldr	w0, [x0, #:lo12:.LANCHOR0+608]
				cmp	w0, 5
				beq	.L574
		.LBB616:
		.LBB617:
				bl	_imp_newline
		.LVL690:
		.L574:
		.LBE617:
		.LBE616:
 2235             %if lmode&(loop!then!else) # 0 %start;     ! pending labels and jumps
 2236                 op('B', label-1) %if lmode&loop # 0;   ! repeat
 2237                 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.7832
		.LVL691:
		.L575:
 2238                 def lab(label-1) %if lmode&else # 0;   ! entry from else
				add	x19, x29, 672
				mov	x18, x19
				ldr	w0, [x20, 24]
				bl	DEFLAB.8860
		.LVL692:
		.L576:
 2239             %finish
				ldr	w0, [x20, 24]
				mov	x18, x19
				sub	w0, w0, #1
				bl	DEFLAB.8860
		.LVL693:
		.L577:
		.L578:
 2240
 2241             %return %if decs = 0
				ldr	w0, [x29, 132]
				cbz	w0, .L555
		.L580:
 2242             atom1 = error %and %return %if atom1 # 0;  ! %integerroutine
				adrp	x0, .LANCHOR0+288
				ldr	w0, [x0, #:lo12:.LANCHOR0+288]
				cbnz	w0, .L884
		.L581:
 2243             order = ord
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				ldr	w0, [x29, 128]
				str	w0, [x1, 648]
				adrp	x0, .LANCHOR0+288
				mov	w1, 32768
				str	w1, [x0, #:lo12:.LANCHOR0+288]
		.LVL705:
		.L555:
 2244             decl = decl&(\15)+decmap(decl&15);         ! construct declarator flags
				ldr	w0, [x1, 304]
				and	x3, x0, 15
				and	w0, w0, -16
				add	x2, x29, 720
				ldr	w2, [x2, x3, lsl 2]
				add	w0, w0, w2
				str	w0, [x1, 304]
 2245             atom1 = atoms(decl&15);                    ! generate class
				ldr	x2, [x29, 152]
				ldr	x2, [x2, 8]
				and	x3, x0, 15
				add	x2, x2, x3
				add	x2, x2, 69632
				ldrb	w2, [x2, 50]
				str	w2, [x1, 288]
 2246             %if otype # 0 %start;                      ! own, const etc.
				ldr	w1, [x1, 704]
				cbz	w1, .L588
 2247                 atom1 = atom1+1 %if atom1 # proc
				cmp	w2, 7
				beq	.L583
 2248                 %if otype = 2 %start;                  ! const
				add	w2, w2, 1
				adrp	x3, .LANCHOR0+288
				str	w2, [x3, #:lo12:.LANCHOR0+288]
		.L583:
				cmp	w1, 2
				beq	.L885
		.L584:
 2249                     n = decl&15
 2250                     %if n&1 # 0 %start
 2251                         decl = decl!prot
				orr	w0, w0, 256
		.LVL708:
				adrp	x1, .LANCHOR0+304
				str	w0, [x1, #:lo12:.LANCHOR0+304]
		.LVL709:
				b	.L588
		.LVL710:
		.L585:
 2252                         decl = decl!const bit %if decl&2_1111111 = iform
				tbz	x0, 0, .L585
 2253                     %finish
				mov	w1, 8448
				orr	w0, w0, w1
		.LVL711:
				adrp	x1, .LANCHOR0+304
				str	w0, [x1, #:lo12:.LANCHOR0+304]
		.LVL712:
				b	.L588
		.LVL713:
		.L886:
 2254                 %else
 2255                     decl = decl!own bit
				orr	w0, w0, 512
				adrp	x1, .LANCHOR0+304
				str	w0, [x1, #:lo12:.LANCHOR0+304]
		.L582:
		.L586:
		.L587:
		.L588:
 2256                 %finish
 2257             %finish
 2258             sstype = 1 %if sstype = 0 %and atom1 = proc
				adrp	x0, .LANCHOR0+628
				ldr	w0, [x0, #:lo12:.LANCHOR0+628]
				cbnz	w0, .L589
 2259             atom1 = atom1+1 %if decl&spec # 0;         ! onto spec variant
				adrp	x0, .LANCHOR0+288
				ldr	w0, [x0, #:lo12:.LANCHOR0+288]
				cmp	w0, 7
				beq	.L886
		.L589:
 2260             ocount = 0 %and cont = '+' %if atom1 = 5;  ! own array
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				ldr	w0, [x1, 288]
				add	w0, w0, 1
				str	w0, [x1, 288]
		.LDL39:
				cmp	w0, 5
				beq	.L887
		.L590:
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 1
				str	w1, [x0, 628]
				mov	w1, 8
				str	w1, [x0, 288]
				b	.L590
		.L887:
 2261             %if anyform(decl&15) = 0 %start;           ! check meaningful
				adrp	x0, .LANCHOR0+304
				ldr	w0, [x0, #:lo12:.LANCHOR0+304]
				and	w2, w0, 15
				add	x1, x29, 4096
				add	x1, x1, 2344
				ldrb	w1, [x1, w2, sxtw]
				cbnz	w1, .L555
				adrp	x0, .LANCHOR2
				add	x0, x0, :lo12:.LANCHOR2
				str	wzr, [x0, 2840]
 2262                 %if decl>>4&7 = record %start
				tbnz	x0, 4, .L592
				mov	w1, 43
				str	w1, [x0, 2692]
				b	.L590
		.LVL714:
		.L595:
		.L596:
 2263                     this = fdef %if tag(fdef)_flags&spec # 0
 2264                     atom1 = error+21 %if fdef = this;  ! *context for format
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w2, [x0, 312]
				adrp	x1, .LANCHOR2+2824
				str	w2, [x1, #:lo12:.LANCHOR2+2824]
		.LDL40:
 2265                 %finish
				mov	w1, 32789
				str	w1, [x0, 288]
		.L591:
		.L592:
 2266                 atom1 = error+10 %if fdef = 0;         ! *size
				adrp	x0, .LANCHOR0+312
				ldr	w0, [x0, #:lo12:.LANCHOR0+312]
				cbnz	w0, .L555
 2267             %finish
				adrp	x0, .LANCHOR0+288
				mov	w1, 32778
				str	w1, [x0, #:lo12:.LANCHOR0+288]
				b	.L555
		.LVL694:
		.L881:
 2268             %return
 2269
 2270 atop:       access = 0;  ->top
 2271             ! declarators
				ldr	x0, [x29, 152]
				str	wzr, [x0, 36]
 2272 c(88):      ;                                          ! rtype
				b	.L877
		.LVL747:
		.L649:
 2273 c(28):      decl = x&(\7);                             ! stype
 2274             fdef = x&7;                                ! precision
				ldr	x2, [x29, 144]
				ldr	w0, [x2, 260]
				and	w1, w0, -8
				str	w1, [x2, 304]
				and	w1, w0, 7
				str	w1, [x2, 312]
 2275             fdef = reals ln %if x&2_1110001 = real<<4+1; ! convert to long
				and	w1, w0, 1
				str	w1, [x29, 132]
				tbnz	x0, 0, .L877
 2276             decs = 1;  ->top
				adrp	x0, .LANCHOR2+2844
				ldr	w0, [x0, #:lo12:.LANCHOR2+2844]
				str	w0, [x2, 312]
				mov	w0, 1
				str	w0, [x29, 132]
				b	.L877
		.L597:
		.L598:
 2277 c(34):      ;                                          ! own
 2278 c(35):      otype = x;  ord = 1;  ->top;               ! external
 2279 c(152):     decl = decl+x<<1;  ->top;                  ! xname
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 260]
				str	w0, [x1, 704]
		.LVL715:
 2280 c(31):      ;                                          ! proc
				mov	w0, 1
				str	w0, [x29, 128]
				ldr	x2, [x29, 144]
				ldr	w0, [x2, 260]
				ldr	w1, [x2, 304]
				add	w0, w1, w0, lsl 1
				str	w0, [x2, 304]
 2281 c(32):      spec mode = level+1;                       ! fn/map
				b	.L877
		.LVL716:
		.L599:
				b	.L877
		.L600:
		.L601:
 2282             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, 708]
				ldr	w0, [x1, 260]
				cmp	w0, 9
				beq	.L890
		.L602:
		.L603:
		.LVL717:
 2283 c(29):      ord = 1;                                   ! array
				ldr	w0, [x1, 304]
				orr	w0, w0, 256
				str	w0, [x1, 304]
				b	.L603
		.L605:
 2284             dim = 0
				ldr	x0, [x29, 144]
				str	wzr, [x0, 324]
				mov	w0, 1
				str	w0, [x29, 128]
		.LVL718:
		.L604:
 2285 c(30):      decl = decl+x;                             ! name
 2286             decs = 1
				ldr	x2, [x29, 144]
				ldr	w0, [x2, 304]
				ldr	w1, [x2, 260]
				add	w0, w0, w1
				str	w0, [x2, 304]
		.LVL719:
				mov	w0, 1
				str	w0, [x29, 132]
 2287             ->top
				b	.L877
		.LVL720:
		.L890:
 2288 c(27):      lit = 0;                                   ! arrayd
 2289             %if pending # 0 %start
				ldr	x0, [x29, 144]
				str	wzr, [x0, 8]
				ldr	w0, [x29, 696]
				cbnz	w0, .L891
		.L606:
		.L608:
 2290                 pop lit
				ldr	x18, [x29, 136]
				bl	POPLIT.8953
		.LVL723:
 2291                 %unless 0<lit %and lit<=dim limit %start
 2292                     atom1 = error + 11;  %return
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 8]
				sub	w0, w0, #1
				cmp	w0, 5
				bls	.L608
		.L607:
				adrp	x0, .LANCHOR0+288
				mov	w1, 32779
				str	w1, [x0, #:lo12:.LANCHOR0+288]
 2293                 %finish
				b	.L555
		.L609:
 2294             %finish
 2295             dim = lit
				ldr	x2, [x29, 144]
				ldr	w0, [x2, 8]
				str	w0, [x2, 324]
 2296             decl = decl + x;  decs = 1
				ldr	w0, [x2, 304]
				ldr	w1, [x2, 260]
				add	w0, w0, w1
				str	w0, [x2, 304]
		.LVL721:
 2297             -> top
				mov	w0, 1
				str	w0, [x29, 132]
				b	.L877
		.LVL722:
		.L891:
 2298 c(37):      x = x!subname;                             ! record
 2299 c(36):      lit = 0;                                   ! string
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 260]
				orr	w0, w0, 2048
				str	w0, [x1, 260]
		.L610:
 2300             %if pending # 0 %start
				ldr	x0, [x29, 144]
				str	wzr, [x0, 8]
				ldr	w0, [x29, 696]
				cbnz	w0, .L892
		.L611:
		.L613:
 2301                 pop lit
				ldr	x18, [x29, 136]
				bl	POPLIT.8953
		.LVL726:
 2302                 %unless 0 < lit %and lit <= 255 %start; ! max length wrong
 2303                     atom1 = error+10;  %return
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 8]
				sub	w0, w0, #1
				cmp	w0, 254
				bls	.L613
		.L612:
				adrp	x0, .LANCHOR0+288
				mov	w1, 32778
				str	w1, [x0, #:lo12:.LANCHOR0+288]
 2304                 %finish
				b	.L555
		.L615:
 2305             %finish
 2306             fdef = lit;                                ! format or length
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 8]
				str	w0, [x1, 312]
		.L614:
 2307 c(33):      decl = x;                                  ! switch
 2308             decs = 1
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 260]
				str	w0, [x1, 304]
		.LVL724:
				mov	w0, 1
				str	w0, [x29, 132]
 2309             ->top
				b	.L877
		.LVL725:
		.L892:
 2310 c(39):      decl = decl!spec;                          ! spec
 2311             ocount = -1;                               ! no initialisation
				ldr	x2, [x29, 144]
				ldr	w0, [x2, 304]
				orr	w0, w0, 128
				str	w0, [x2, 304]
				mov	w0, -1
				adrp	x1, .LANCHOR2+2840
				str	w0, [x1, #:lo12:.LANCHOR2+2840]
 2312             spec mode = -1
				str	w0, [x2, 708]
 2313             ->top
				b	.L877
		.L616:
 2314 c(38):      decl = 64+4;                               ! recordformat (spec)
 2315             order = 1
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				mov	w1, 68
				str	w1, [x0, 304]
				mov	w1, 1
				str	w1, [x0, 648]
 2316             atom1 = x
				ldr	w1, [x0, 260]
				str	w1, [x0, 288]
 2317             decl = decl!spec %if atom1 = 12;           ! formatspec
				cmp	w1, 12
				beq	.L893
		.L617:
 2318             fdef = tmax+1;                             ! format tag
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 64]
				add	w0, w0, 1
				adrp	x1, .LANCHOR0+312
				str	w0, [x1, #:lo12:.LANCHOR0+312]
				adrp	x0, .LANCHOR0+304
				mov	w1, 196
				str	w1, [x0, #:lo12:.LANCHOR0+304]
				b	.L617
		.L618:
 2319             %return
				b	.L555
		.L893:
 2320 c(175):     id = id+1;  tag(x)_index = id;  %return;   ! FSID
 2321 c(41):      decs = 1;  decl = x!spec!closed;  ->top;   ! label
				ldr	x0, [x29, 152]
				ldr	w1, [x0, 56]
				add	w1, w1, 1
				str	w1, [x0, 56]
 2322 c(133):     recid = 0;  rbase = tmin-1;                ! fname
				ldr	x2, [x0, 8]
				adrp	x0, .LANCHOR0+260
				ldrsw	x0, [x0, #:lo12:.LANCHOR0+260]
				add	x0, x0, x0, lsl 1
				add	x0, x2, x0, lsl 3
				add	x0, x0, 32768
				str	w1, [x0, 16288]
				mov	w0, 1
				str	w0, [x29, 132]
 2323             this = x
				b	.L555
		.L619:
		.LVL727:
				ldr	x2, [x29, 144]
				ldr	w0, [x2, 260]
				mov	w1, 16512
				orr	w0, w0, w1
				str	w0, [x2, 304]
				ldr	x0, [x29, 152]
				ldr	x0, [x0, 8]
				add	x0, x0, 16384
				str	wzr, [x0, 460]
				ldr	w0, [x3, 260]
				str	w0, [x1, 2824]
 2324             fm base = fdef;  format list = tmin
				b	.L877
		.LVL728:
		.L620:
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w2, [x1, 2828]
				sub	w0, w2, #1
				ldr	x3, [x29, 144]
				str	w0, [x3, 256]
				ldr	w1, [x3, 312]
				str	w1, [x3, 344]
 2325             def(this);                      ->top
				str	w2, [x3, 264]
				ldr	x18, [x29, 136]
				bl	DEF.8910
		.LVL729:
				b	.L877
		.L621:
 2326 c(148):     fdef = 0 %and ->top %if next = 0;          ! reclb
 2327             get next;                                  ! skip name
				ldr	w0, [x29, 708]
				cbnz	w0, .L622
				ldr	x18, [x29, 136]
				bl	GETNEXT.8863
		.LVL730:
 2328             fdef = x
				ldr	x0, [x29, 144]
				str	wzr, [x0, 312]
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 260]
				str	w0, [x1, 312]
 2329             ->top
				b	.L877
		.L622:
				b	.L877
		.L623:
 2330
 2331 c(127):     add char( '}' );             ->top;        ! %POUT
 2332 c(126):     add char( '{' );             ->top;        ! %PIN
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 125
				bl	ADDCHAR.7828
		.LVL731:
				b	.L877
		.L624:
 2333 c(174):     set bp;                                    ! rangerb
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 123
				bl	ADDCHAR.7828
		.LVL732:
				b	.L877
		.L625:
 2334 c(171):     ;                                          ! fmlb
				ldr	x18, [x29, 136]
				bl	SETBP.8892
		.LVL733:
		.L628:
 2335 c(172):     ;                                          ! fmrb
 2336 c(173):     add char( '~' )
 2337             add char( class-171+'A' );   ->top;        ! fmor
				ldr	x19, [x29, 152]
		.LVL734:
				ldr	x18, [x19, 8]
				mov	w0, 126
				bl	ADDCHAR.7828
		.LVL735:
				ldr	w0, [x29, 700]
				sub	w0, w0, #106
				ldr	x18, [x19, 8]
				bl	ADDCHAR.7828
		.LVL736:
				b	.L877
		.LVL737:
		.L626:
				b	.L628
		.L627:
				b	.L628
		.L629:
 2338 c(168):     rbase = -rbase;                            ! orrb
 2339             sstype = 0;  spec mode = 0
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 256]
				neg	w0, w0
				str	w0, [x1, 256]
				str	wzr, [x1, 628]
 2340
				str	wzr, [x1, 708]
		.L630:
 2341 c(147):     search base = 0;                           ! recrb
 2342             tag(this)_app = tmin
				ldr	x5, [x29, 144]
				str	wzr, [x5, 252]
				adrp	x2, .LANCHOR2
				add	x2, x2, :lo12:.LANCHOR2
				ldr	x6, [x29, 152]
				ldr	x4, [x6, 8]
				ldrsw	x3, [x2, 2824]
				lsl	x0, x3, 1
				add	x1, x0, x3
				add	x1, x4, x1, lsl 3
				add	x1, x1, 32768
				ldr	w2, [x2, 2828]
				str	w2, [x1, 16276]
 2343             tag(this)_format = rbase
				ldr	x1, [x6, 8]
				add	x0, x0, x3
				add	x0, x1, x0, lsl 3
				add	x0, x0, 32768
				ldr	w1, [x5, 256]
				str	w1, [x0, 16280]
 2344             ->top
				b	.L877
		.L631:
 2345
 2346 c(45):      add char( 'U' ) %if x = 36;  ->top;        ! sign
 2347 c(46):      add char( '\' );             ->top;        ! uop
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 260]
				cmp	w0, 36
				bne	.L877
 2348 c(47):;                                                ! mod
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 85
				bl	ADDCHAR.7828
		.LVL738:
				b	.L877
		.L632:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 92
				bl	ADDCHAR.7828
		.LVL739:
				b	.L877
		.L633:
		.L637:
 2349 c(48):;                                                ! dot
 2350 c(42):;                                                ! op1
 2351 c(43):;                                                ! op2
 2352 c(44):      add char( operator(x) );     ->top;        ! op3
 2353 c(56):      ;                                          ! and
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 260]
				sub	w0, w0, #1
				ldr	x1, [x29, 152]
				ldr	x18, [x1, 8]
				add	x1, x29, 4096
				add	x1, x1, 2328
				ldrb	w0, [x1, w0, sxtw]
				bl	ADDCHAR.7828
		.LVL740:
				b	.L877
		.L634:
				b	.L637
		.L635:
				b	.L637
		.L636:
				b	.L637
		.L638:
		.L639:
 2354 c(57):      push(x);  ->top;                           ! or
 2355 c(58):      cnest(cp) = cnest(cp)!!2;  ->top;          ! not
				ldr	x18, [x29, 136]
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 260]
				bl	PUSH.8958
		.LVL741:
				b	.L877
		.L640:
 2356 c(138):     x = 128+32+16+4;                           ! csep: treat like %while
				ldrsw	x0, [x29, 688]
				ldr	x1, [x29, 144]
				add	x0, x1, x0
				ldrb	w1, [x0, 176]
				eor	w1, w1, 2
				strb	w1, [x0, 176]
 2357 c(59):      ;                                          ! while
				b	.L877
		.L641:
				mov	w0, 180
				ldr	x1, [x29, 144]
				str	w0, [x1, 260]
		.L643:
 2358 c(60):      %if class = 138 %then op('f', label-1) %else def lab(label-1); ! until
 2359 c(166):     ;                                          ! runtil
				ldr	w0, [x29, 700]
				cmp	w0, 138
				beq	.L894
		.L644:
 2360 c(62):      lmode = (lmode&(else!loop)) !(x>>3);       ! cword
				ldr	x0, [x29, 152]
				ldr	w1, [x0, 24]
				ldr	x18, [x0, 8]
				sub	w1, w1, #1
				mov	w0, 102
				bl	OP.7832
		.LVL743:
				b	.L647
		.L645:
		.L646:
		.L647:
 2361             clab = label;  cp = 1;  cnest(1) = x&7
				ldr	x2, [x29, 144]
				ldr	w1, [x2, 260]
				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]
 2362             ->top
				mov	w0, 1
				str	w0, [x29, 688]
				b	.L877
		.L648:
 2363 c(72):      pop label(0);                              ! repeat
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 24]
				ldr	x18, [x29, 136]
				sub	w0, w0, #1
				bl	DEFLAB.8860
		.LVL742:
				b	.L647
		.L642:
				b	.L643
		.L894:
				and	w1, w1, 7
				strb	w1, [x2, 177]
 2364             def lab(label+1) %if lmode&32 # 0;  ->atop
				ldr	x19, [x29, 136]
		.LVL744:
				mov	x18, x19
				mov	w0, 0
				bl	POPLABEL.8963
		.LVL745:
 2365 c(69):      pop label(1);               ->top;         ! finish
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 24]
				mov	x18, x19
				add	w0, w0, 1
				bl	DEFLAB.8860
		.LVL746:
		.L593:
		.L594:
 2366 c(163):     ;                                          ! xelse
				ldr	x18, [x29, 136]
				mov	w0, 1
				bl	POPLABEL.8963
		.LVL748:
				b	.L877
		.L650:
		.L651:
 2367 c(70):      pop label(1);                              ! finish else ...
 2368             fault(7) %if lmode&3 = 3;                  ! dangling else
				ldr	x18, [x29, 136]
				mov	w0, 1
				bl	POPLABEL.8963
		.LVL749:
 2369 c(68):      lmode = (lmode&else)!3;                    ! ...else...
				ldr	x18, [x29, 152]
				mov	w0, 7
				bl	FAULT.7968
		.LVL750:
		.L652:
		.L653:
 2370             %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, .L654
 2371                 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.7832
		.LVL751:
 2372             %finish
				mov	w0, 11
				str	w0, [x29, 680]
		.L654:
 2373             def lab(label)
				ldr	x18, [x29, 136]
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 24]
				bl	DEFLAB.8860
		.LVL752:
 2374             ->top %if next # 0
				ldr	w0, [x29, 708]
				cbnz	w0, .L877
				b	.L658
		.L655:
		.L656:
		.L658:
		.L659:
 2375 c(120):     ;                                          ! %MSTART
 2376 c(67):      ;                                          ! start
 2377 c(71):      ;                                          ! cycle
 2378 stcy:       def lab(label-1) %and lmode = loop %if lmode = 0; ! cycle
 2379             dmin = dmin-1;  abandon(3) %if dmin <= dmax
				ldr	w0, [x29, 680]
				cbz	w0, .L895
		.LVL753:
		.L660:
				ldr	x1, [x29, 152]
				ldr	w0, [x1, 52]
				sub	w0, w0, #1
				str	w0, [x1, 52]
 2380             dict(dmin) = lmode
				adrp	x1, .LANCHOR2+2700
				ldr	w1, [x1, #:lo12:.LANCHOR2+2700]
				cmp	w1, w0
				bge	.L896
		.L661:
				ldr	x2, [x29, 152]
				ldr	x1, [x2, 8]
				ldr	w0, [x2, 52]
				sub	w0, w0, #1
				add	x0, x1, x0, sxtw 2
				add	x0, x0, 24576
				add	x0, x0, 464
				ldr	w1, [x29, 680]
				str	w1, [x0, 4]
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 24]
				add	x18, x29, 672
				sub	w0, w0, #1
				bl	DEFLAB.8860
		.LVL755:
 2381             label = label+3
				ldr	w0, [x2, 24]
				add	w0, w0, 3
				str	w0, [x2, 24]
				mov	w0, 16
				str	w0, [x29, 680]
				b	.L660
		.LVL756:
		.L896:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 3
				bl	ABANDON.7865
		.LVL757:
				b	.L661
		.LVL758:
		.L662:
 2382             %return
				b	.L555
		.LVL754:
		.L657:
				b	.L658
		.L895:
 2383
 2384 c(64):      fault(13) %if dict(dmin) >= 0 %or inhibit # 0; ! on event
 2385             inhibit = 1
				ldr	x2, [x29, 152]
				ldr	x1, [x2, 8]
				ldr	w0, [x2, 52]
				sub	w0, w0, #1
				add	x0, x1, x0, sxtw 2
				add	x0, x0, 24576
				add	x0, x0, 464
				ldr	w0, [x0, 4]
				tbz	w0, #31, .L663
				mov	w0, 1
				ldr	x1, [x29, 152]
				str	w0, [x1, 20]
		.LVL760:
 2386             n = 0
				ldr	w0, [x2, 20]
				cbz	w0, .L664
		.L663:
				mov	w19, 0
				mov	w19, 0
		.LVL770:
		.L665:
 2387             n = 16_FFFF %if pending = 0;               ! * = all events
				ldr	w0, [x29, 696]
				cbz	w0, .L665
 2388             %while pending > 0 %cycle
				ldr	x18, [x29, 152]
				mov	w0, 13
				bl	FAULT.7968
		.LVL759:
		.L664:
				mov	w19, 65535
		.LVL761:
 2389                 pop lit;  fault(10) %if lit&(\15) # 0; ! too big
				cmp	w0, 0
				ble	.L862
				add	x23, x29, 672
				ldr	w0, [x29, 696]
		.LVL764:
				cmp	w0, 0
				ble	.L665
		.LVL765:
		.L668:
				mov	x18, x23
				bl	POPLIT.8953
		.LVL766:
 2390                 j = 1<<lit
				adrp	x20, .LANCHOR0
				add	x20, x20, :lo12:.LANCHOR0
				mov	w21, 1
				b	.L668
		.LVL762:
		.L667:
				ldr	w0, [x20, 8]
				lsl	w0, w21, w0
		.LVL768:
 2391                 dubious = 1 %if n&j # 0
				mov	w22, 10
				ldr	x18, [x29, 152]
				mov	w0, w22
				bl	FAULT.7968
		.LVL767:
		.L666:
				cmp	w0, 0
				cset	w1, eq
				tst	w1, w19
				bne	.L667
 2392                 n = n!j;                               ! construct bit mask
				orr	w19, w19, w0
		.LVL763:
				str	w21, [x20, 712]
				b	.L667
		.LVL769:
		.L862:
 2393             %repeat
 2394             op('o', n);  op(',', label)
				ldr	x20, [x29, 152]
				ldr	x18, [x20, 8]
				mov	w1, w19
				mov	w0, 111
				bl	OP.7832
		.LVL771:
 2395             lmode = then!1;  ->stcy
				ldr	x18, [x20, 8]
				ldr	w1, [x20, 24]
				mov	w0, 44
				bl	OP.7832
		.LVL772:
				mov	w0, 5
				str	w0, [x29, 680]
				b	.L660
		.LVL773:
		.L669:
 2396
 2397 c(104):     op('J', tag(x)_index);                     ! l
 2398             inhibit = 1;            ->atop
				ldr	x19, [x29, 152]
		.LVL774:
				ldr	x18, [x19, 8]
				ldr	x0, [x29, 144]
				ldrsw	x0, [x0, 260]
				add	x0, x0, x0, lsl 1
				add	x0, x18, x0, lsl 3
				add	x0, x0, 32768
				ldr	w1, [x0, 16288]
				mov	w0, 74
				bl	OP.7832
		.LVL775:
				mov	w0, 1
				str	w0, [x19, 20]
 2399 c(149):     stats = stats-1;                           ! lab
				b	.L593
		.LVL776:
		.L670:
 2400             access = 1;  inhibit = 1
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 656]
				sub	w0, w0, #1
				str	w0, [x1, 656]
				mov	w0, 1
				ldr	x2, [x29, 152]
				str	w0, [x2, 36]
 2401             op('L', tag(x)_index);  ->top
				str	w0, [x2, 20]
				ldr	x18, [x2, 8]
				ldrsw	x0, [x1, 260]
				add	x0, x0, x0, lsl 1
				add	x0, x18, x0, lsl 3
				add	x0, x0, 32768
				ldr	w1, [x0, 16288]
				mov	w0, 76
				bl	OP.7832
		.LVL777:
				b	.L877
		.L671:
 2402
 2403 c(63):      j = dmin;  l = label-3;                    ! exit, continue
 2404             %cycle
				ldr	x2, [x29, 152]
				ldr	w19, [x2, 52]
		.LVL778:
 2405                 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 2
				add	x0, x0, 24576
				add	x0, x0, 464
				ldr	w0, [x0, 4]
				tbnz	w0, #31, .L672
				mov	x2, 6260
				add	x0, x2, x19, sxtw
				add	x0, x18, x0, lsl 2
				ldr	w0, [x0, 4]
				tbnz	w0, #31, .L672
		.L675:
				mov	w19, w1
		.LVL781:
		.L674:
 2406                 %exit %if dict(j)&1 = 0
				tbz	x0, 0, .L897
		.L673:
				tbz	x0, 0, .L674
				ldr	x18, [x29, 152]
				mov	w0, 7
				bl	FAULT.7968
		.LVL783:
				b	.L877
		.L898:
 2407                 j = j+1;  l = l-3
				add	w1, w19, 1
		.LVL779:
				mov	w19, w1
				b	.L673
		.LVL780:
		.L897:
 2408             %repeat
				ldr	x3, [x29, 152]
				ldr	w0, [x3, 16]
				sub	w0, w0, #3
				str	w0, [x3, 16]
		.LDL42:
 2409             l = l+1 %if x = 32;                        ! continue
				ldr	x0, [x29, 144]
				ldr	w20, [x0, 260]
				cmp	w20, 32
				beq	.L898
		.L676:
 2410             op('F', l)
				ldr	x21, [x29, 152]
				ldr	w1, [x21, 16]
				mov	w0, 70
				bl	OP.7832
		.LVL782:
				ldr	x0, [x21, 8]
				add	x0, x0, x19, sxtw 2
				ldr	x1, [x29, 152]
				ldr	w0, [x1, 16]
				add	w0, w0, 1
				str	w0, [x1, 16]
				b	.L676
		.LVL784:
		.L677:
 2411             dict(j) = dict(j)!x;                       ! show given
				add	x0, x0, 16384
				ldr	w1, [x0, 8660]
				orr	w1, w1, w20
				str	w1, [x0, 8660]
 2412             ->atop
				b	.L593
		.L672:
 2413
 2414 c(50):      add char( 'C' );          ->cop;           ! acomp
 2415 c(49):
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 67
				bl	ADDCHAR.7828
		.LVL785:
				b	.L681
		.L679:
 2416             %if next # 0 %start;                       ! comparator
				ldr	w0, [x29, 708]
				cbz	w0, .L680
 2417                 add char( '"' )
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 34
				bl	ADDCHAR.7828
		.LVL786:
 2418                 push(0);                               ! double sided
				ldr	x18, [x29, 136]
				mov	w0, 0
				bl	PUSH.8958
		.LVL787:
				b	.L681
		.L680:
 2419             %finish %else %start
 2420                 add char( '?' )
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 63
				bl	ADDCHAR.7828
		.LVL788:
				b	.L681
		.L685:
		.L687:
 2421             %finish
 2422
 2423 cop:        x = x!!1 %if cnest(cp)&2 # 0;              ! invert the condition
 2424             j = cp;  l = clab
				ldr	w1, [x29, 688]
		.LVL990:
 2425             %while cnest(j)&4 = 0 %cycle
				ldr	x0, [x29, 144]
				ldr	w3, [x0, 260]
				eor	w3, w3, 1
				str	w3, [x0, 260]
		.LDL49:
				ldr	w2, [x29, 684]
				ldr	x4, [x29, 152]
				str	w2, [x4, 16]
 2426                 j = j-1;  l = l-cnest(j)&1
				add	x0, x0, x1, sxtw
				ldrb	w0, [x0, 176]
				tbnz	x0, 0, .L682
		.L683:
				sub	w1, w1, #1
		.LVL991:
				cbz	w0, .L683
				ldr	x0, [x29, 152]
				str	w2, [x0, 16]
		.L682:
 2427             %repeat
				ldr	x0, [x29, 144]
				add	x0, x0, x1, sxtw
				ldrb	w0, [x0, 176]
				and	w0, w0, 1
				sub	w2, w2, w0
		.LDL50:
 2428             op(cc(x), l)
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				ldr	w1, [x0, 16]
		.LVL992:
				add	x0, x29, 4096
				add	x0, x0, 2320
				ldrb	w0, [x0, w3, sxtw]
				bl	OP.7832
		.LVL993:
 2429             def lab(clab+1) %if cnest(cp)&1 # 0
 2430             cp = cp-1
				ldr	x18, [x29, 136]
				ldr	w0, [x29, 684]
				add	w0, w0, 1
				bl	DEFLAB.8860
		.LVL994:
		.L684:
				ldr	w0, [x29, 688]
				sub	w0, w0, #1
				str	w0, [x29, 688]
 2431             clab = clab-cnest(cp)&1
				ldr	x1, [x29, 144]
				add	x0, x1, x0, sxtw
				ldrb	w0, [x0, 176]
				and	w1, w0, 1
				ldr	w0, [x29, 684]
				sub	w0, w0, w1
				str	w0, [x29, 684]
 2432             ->top
				b	.L877
		.LVL995:
		.L843:
 2433
 2434 c(78):      ;                                          ! fresult
 2435 c(79):      ;                                          ! mresult
 2436 c(80):      open = 0;                                  ! return, true, false
 2437 c(82):      access = 0;                                ! stop
				ldr	x0, [x29, 152]
				str	wzr, [x0, 32]
		.L688:
 2438 c(89):      ;                                          ! addop
				ldr	x0, [x29, 152]
				str	wzr, [x0, 36]
		.L690:
 2439 c(81):      add char( x );              ->top;         ! monitor
 2440 c(65):      pop lit;  op('e', lit);     ->atop;        ! signal
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				ldr	x0, [x29, 144]
				ldrb	w0, [x0, 260]
				bl	ADDCHAR.7828
		.LVL789:
				b	.L877
		.L686:
				b	.L687
		.L689:
				b	.L690
		.L691:
 2441 c(51):      add char( 'S' );            ->top;         ! eq
				ldr	x18, [x29, 136]
				bl	POPLIT.8953
		.LVL790:
 2442 c(53):      add char( 'j' );            ->top;         ! jam transfer
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				ldr	x0, [x29, 144]
				ldr	w1, [x0, 8]
				mov	w0, 101
				bl	OP.7832
		.LVL791:
				b	.L593
		.L692:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 83
				bl	ADDCHAR.7828
		.LVL792:
				b	.L877
		.L693:
 2443 c(52):      add char( 'Z' );            ->top;         ! eqeq
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 106
				bl	ADDCHAR.7828
		.LVL793:
				b	.L877
		.L694:
 2444 c(74):      %if level = 0 %start;                      ! begin
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 90
				bl	ADDCHAR.7828
		.LVL794:
				b	.L877
		.L695:
 2445                 %if progmode <= 0 %then progmode = 1 %else fault(7)
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 60]
				cbnz	w0, .L698
				adrp	x0, .LANCHOR0+716
				ldr	w0, [x0, #:lo12:.LANCHOR0+716]
				cmp	w0, 0
				bgt	.L697
 2446                 !{Permit BEGIN after external defs}
				adrp	x0, .LANCHOR0+716
				mov	w1, 1
				str	w1, [x0, #:lo12:.LANCHOR0+716]
		.L696:
		.L698:
 2447             %finish
 2448             spec mode = level+1
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	x2, [x29, 152]
				ldr	w1, [x2, 60]
				add	w1, w1, 1
				str	w1, [x0, 708]
 2449             block x = 0
				str	wzr, [x0, 720]
				ldr	x18, [x29, 152]
				mov	w0, 7
				bl	FAULT.7968
		.LVL796:
				b	.L698
		.L699:
 2450             add char( 'H' )
				ldr	x18, [x2, 8]
				mov	w0, 72
				bl	ADDCHAR.7828
		.LVL795:
				b	.L555
		.L697:
 2451             %return
 2452 c(77):      perm = 0;  lines = 0;  stats = 0;          ! endofperm
 2453             close input
				adrp	x19, .LANCHOR2
		.LVL797:
				add	x19, x19, :lo12:.LANCHOR2
				str	wzr, [x19, 2832]
 2454             select input(source)
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	wzr, [x0, 192]
 2455             list = list-1
				str	wzr, [x0, 656]
		.LBB618:
		.LBB619:
				bl	_imp_closeinput
		.LVL798:
		.LBE619:
		.LBE618:
		.LBB620:
		.LBB621:
				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, .LANCHOR5
				add	x0, x0, :lo12:.LANCHOR5
				sub	x0, x0, #40
				bl	check_instream
		.LVL799:
		.LBE621:
		.LBE620:
				ldr	w0, [x19, 2688]
				sub	w0, w0, #1
				str	w0, [x19, 2688]
 2456             tbase = tmax;  tstart = tmax
				ldr	x1, [x29, 152]
				ldr	w0, [x1, 64]
				str	w0, [x1, 68]
 2457             %return
				str	w0, [x1, 72]
				b	.L555
		.LVL800:
		.L700:
 2458 c(76):      %if include # 0 %and x = 0 %start;         ! end of ...
 2459                 lines = include;  sstype =  0;         ! include
				adrp	x0, .LANCHOR0+224
				ldr	w0, [x0, #:lo12:.LANCHOR0+224]
				cbz	w0, .L701
				adrp	x19, .LANCHOR0
		.LVL806:
				add	x19, x19, :lo12:.LANCHOR0
				str	w0, [x19, 192]
 2460                 close input
				adrp	x1, .LANCHOR0+260
				ldr	w1, [x1, #:lo12:.LANCHOR0+260]
				cbz	w1, .L899
		.L701:
				str	wzr, [x19, 628]
		.LBB626:
		.LBB627:
				bl	_imp_closeinput
		.LVL807:
		.LBE627:
		.LBE626:
 2461                 list = include list
				ldr	w1, [x19, 724]
				adrp	x0, .LANCHOR2+2688
				str	w1, [x0, #:lo12:.LANCHOR2+2688]
 2462                 include level = 0
				str	wzr, [x19, 328]
 2463                 include = 0;  select input(source);  %return
				str	wzr, [x19, 224]
		.LVL808:
		.LBB628:
		.LBB629:
				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, .LANCHOR5
				add	x0, x0, :lo12:.LANCHOR5
				sub	x0, x0, #40
				bl	check_instream
		.LVL809:
				b	.L555
		.LVL810:
		.L703:
		.LBE629:
		.LBE628:
		.LBB630:
		.LBB624:
 2464             %finish
 2465             ss = -1;                                   ! prog/file
				adrp	x0, .LANCHOR0+624
				mov	w1, -1
				str	w1, [x0, #:lo12:.LANCHOR0+624]
		.L702:
 2466 c(75):      compile end(x);  %return;                  ! %end
 2467
				adrp	x0, .LANCHOR0+260
				ldr	w19, [x0, #:lo12:.LANCHOR0+260]
		.LVL801:
		.LBB622:
		.LBB623:
 2468 c(85):      %if x=0 %then control=lit %else %start;    ! control
 2469                 diag = lit&16_3FFF %if lit>>14&3 = 1
 2470             %finish
 2471             op('z'-x, lit)
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 260]
				ldr	x2, [x29, 152]
				ldr	x18, [x2, 8]
				ldr	w1, [x1, 8]
				mov	w2, 122
				sub	w0, w2, w0
				bl	OP.7832
		.LVL816:
				b	.L877
		.L715:
 2472             ->top
 2473 c(83):      list = list+x-2;   ->top;                  ! %LIST/%endoflist
 2474 c(84):      reals ln = x;      ->top;                  ! %REALS long/normal
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w0, [x1, 2688]
				ldr	x2, [x29, 144]
				ldr	w2, [x2, 260]
				add	w0, w0, w2
				sub	w0, w0, #2
				str	w0, [x1, 2688]
 2475 c(86):      %if include # 0 %start;                    ! include "file"
				b	.L877
		.L716:
				ldr	x0, [x29, 144]
				ldr	w1, [x0, 260]
				adrp	x0, .LANCHOR2+2844
				str	w1, [x0, #:lo12:.LANCHOR2+2844]
 2476                 fault(7);  %return
				b	.L877
		.L717:
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 224]
				cbz	w0, .L718
				ldr	x18, [x29, 152]
				mov	w0, 7
				bl	FAULT.7968
		.LVL817:
				b	.L555
		.L718:
 2477             %finish
 2478             get next;                                  ! sconst
				ldr	x18, [x29, 136]
				bl	GETNEXT.8863
		.LVL818:
 2479             x = x-16_4000
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 260]
				sub	w0, w0, #16384
				str	w0, [x1, 260]
		.LVL819:
 2480             j = glink(x)
 2481             k = j&255
				adrp	x1, .LANCHOR1
				add	x1, x1, :lo12:.LANCHOR1
				add	x0, x1, x0, sxtw 1
		.LVL820:
				ldrb	w20, [x0, 8]
		.LVL821:
 2482             !ABD - another little copy loop because SKIMP can't do the string map
 2483             include file = ""
 2484             %cycle
 2485                 k = k-1; %exit %if k < 0
				ldr	x0, [x29, 152]
				ldr	x0, [x0, 8]
		.LVL822:
				mov	x2, 63
				add	x1, x29, 1296
				add	x0, x0, 135168
				add	x0, x0, 132
				bl	_imp_strncpy
		.LVL823:
 2486                 include file = include file.tostring(j>>8)
				cmp	w20, #1
				bmi	.L720
		.L721:
 2487                 x = x+1
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 260]
				add	w0, w0, 1
				str	w0, [x1, 260]
		.LVL828:
 2488                 j = glink(x)
				mov	x21, 4228
				movk	x21, 0x2, lsl 16
		.LBB631:
		.LBB632:
				add	x24, x29, 2064
				add	x23, x29, 1808
		.LBE632:
		.LBE631:
				add	x22, x29, 1552
		.LBB634:
		.LBB635:
				ldr	x26, [x29, 152]
				ldr	x19, [x26, 8]
				add	x19, x19, x21
		.LVL825:
		.LBB637:
		.LBB633:
				mov	x8, x23
				mov	x1, x24
				mov	x0, x19
				bl	_imp_join
		.LVL826:
		.LBE633:
		.LBE637:
				mov	x2, 63
				mov	x1, x22
				mov	x0, x19
				bl	_imp_strncpy
		.LVL827:
 2489                 k = k-1; %exit %if k < 0
 2490                 include file = include file.tostring(j&255)
				subs	w20, w20, #2
		.LVL829:
				bmi	.L720
		.L722:
 2491             %repeat
 2492             ! include file = string(x-16_4000+stbase)
				add	x25, x29, 2832
		.LVL824:
		.L719:
		.LBE635:
		.LBE634:
				ldr	x19, [x26, 8]
				add	x19, x19, x21
		.LBB638:
		.LBB636:
				add	x8, x29, 2576
				mov	x1, x25
				mov	x0, x19
				bl	_imp_join
		.LVL830:
		.LBE636:
		.LBE638:
				mov	x2, 63
				add	x1, x29, 2320
				mov	x0, x19
				bl	_imp_strncpy
		.LVL831:
				b	.L719
		.LVL832:
		.L720:
 2493             ! remove this event block for SKIMP or pre-event IMP versions
 2494             %begin
 2495                 %on 9 %start;  Abandon(9);  %finish
				mov	w1, 1
				adrp	x0, :got:_imp_event
				ldr	x0, [x0, #:got_lo12:_imp_event]
				add	x0, x0, 536
				bl	__sigsetjmp
		.LVL833:
				cbnz	w0, .L725
		.LVL834:
				mov	w1, 512
				adrp	x0, :got:_imp_event
				ldr	x0, [x0, #:got_lo12:_imp_event]
				bl	_imp_on_event_enter
		.LVL835:
				cbnz	x0, .L726
		.LVL836:
		.L725:
 2496                 open input(3, include file)
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 9
				bl	ABANDON.7865
		.LVL837:
		.L726:
				add	x20, x29, 4096
				add	x20, x20, 2064
				mov	x21, 256
				mov	x2, x21
				add	x1, x29, 3088
				mov	x0, x20
				bl	memcpy
		.LVL838:
		.LBB639:
		.LBB640:
				add	x19, x29, 416
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL839:
				mov	x1, x19
				mov	w0, 3
				bl	_imp_openinput
		.LVL840:
		.L727:
		.LBE640:
		.LBE639:
 2497             %end
 2498             include = lines;  lines = 0
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 192]
				str	w0, [x1, 224]
 2499             include list = list;  include level = level
				str	wzr, [x1, 192]
				adrp	x0, .LANCHOR2+2688
				ldr	w0, [x0, #:lo12:.LANCHOR2+2688]
				str	w0, [x1, 724]
 2500             select input(3)
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 60]
				str	w0, [x1, 328]
		.LVL841:
		.LBB641:
		.LBB642:
				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, .LANCHOR5
				add	x0, x0, :lo12:.LANCHOR5
				sub	x0, x0, #40
				bl	check_instream
		.LVL842:
				b	.L877
		.LVL843:
		.L728:
		.LBE642:
		.LBE641:
 2501             ->top
 2502
 2503 c(154):     dimension = dimension+1;                   ! dbsep
 2504             fault(11) %if dimension = dim limit+1
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 4]
				add	w0, w0, 1
				str	w0, [x1, 4]
				cmp	w0, 7
				bne	.L877
 2505             ->top
				ldr	x18, [x29, 152]
				mov	w0, 11
				bl	FAULT.7968
		.LVL844:
				b	.L877
		.L729:
 2506 c(145):     set bp;                       ->top;       ! crb
 2507 c(146):     set bp;                                    ! rcrb
				ldr	x18, [x29, 136]
				bl	SETBP.8892
		.LVL845:
				b	.L877
		.L730:
 2508 c(142):     ;                                          ! bplrb
				ldr	x18, [x29, 136]
				bl	SETBP.8892
		.LVL846:
		.L731:
 2509             dimension = 1 %if dimension = 0
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 4]
				cbnz	w0, .L732
 2510             op('d', dimension);  op(',', defs)
				mov	w0, 1
				str	w0, [x1, 4]
		.L732:
				ldr	x19, [x29, 152]
		.LVL847:
				ldr	x18, [x19, 8]
				ldr	x0, [x29, 144]
				ldr	w1, [x0, 4]
				mov	w0, 100
				bl	OP.7832
		.LVL848:
 2511             %if class # 146 %start
				ldr	x18, [x19, 8]
				ldr	w1, [x29, 692]
				mov	w0, 44
				bl	OP.7832
		.LVL849:
				ldr	w0, [x29, 700]
				cmp	w0, 146
				bne	.L902
		.L733:
		.L735:
 2512                 set subs(defs)
				ldr	x18, [x29, 136]
				ldr	w0, [x29, 692]
				bl	SETSUBS.8886
		.LVL850:
 2513                 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 2
				add	x0, x0, 24576
				add	x0, x0, 464
				ldr	w0, [x0, 4]
				tbz	w0, #31, .L734
 2514             %finish
				ldr	w0, [x19, 20]
				cbnz	w0, .L734
 2515             dimension = 0;  defs = 0
				ldr	x0, [x29, 144]
				str	wzr, [x0, 4]
				ldr	w0, [x19, 60]
				cbnz	w0, .L735
		.L734:
 2516             ->top
				str	wzr, [x29, 692]
				b	.L877
		.L902:
 2517 c(128):     id = dupid;  ->top;                        ! EDUP
				ldr	x18, [x29, 152]
				mov	w0, 13
				bl	FAULT.7968
		.LVL851:
				b	.L735
		.LVL852:
		.L736:
 2518 c(130):     block x = x
				ldr	x0, [x29, 152]
				ldr	w1, [x29, 92]
				str	w1, [x0, 56]
 2519             op('F', 0) %if decl&spec = 0 %and level # 0; ! jump round proc
				b	.L877
		.L737:
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 260]
				str	w0, [x1, 720]
				ldr	w0, [x1, 304]
				tbnz	x0, 0, .L740
 2520 c(125):     dupid = id;                                ! %DUP
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 60]
				cbnz	w0, .L903
 2521             %return %if Level < 0;                     ! {spec about}
				ldr	x0, [x29, 152]
				ldr	w0, [x0, 56]
				str	w0, [x29, 92]
		.LVL853:
				b	.L742
		.LVL854:
		.L903:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w1, 0
				mov	w0, 70
				bl	OP.7832
		.LVL855:
		.L738:
		.L740:
				ldr	x0, [x29, 152]
				ldr	w1, [x0, 56]
				str	w1, [x29, 92]
		.LVL856:
				ldr	w0, [x0, 60]
				tbnz	w0, #31, .L555
		.L741:
		.LVL857:
		.L742:
 2522 c(90):      def(x);  ->top;                            ! ident
 2523 c(131):     ;                                          ! cident
				ldr	x18, [x29, 136]
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 260]
				bl	DEF.8910
		.LVL858:
				b	.L877
		.LVL859:
		.L743:
 2524             %if tag(x)_flags&(2_1111111+const bit) = iform+const bit %start
				ldr	x1, [x29, 144]
				ldr	w19, [x1, 260]
		.LVL860:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				sxtw	x0, w19
				add	x0, x0, x0, lsl 1
				add	x0, x18, x0, lsl 3
				add	x0, x0, 32768
				ldr	w0, [x0, 16284]
				tbnz	x0, 0, .L744
 2525                 tag(x)_format = lit
				sxtw	x19, w19
				add	x19, x19, x19, lsl 1
				add	x0, x18, x19, lsl 3
				add	x0, x0, 32768
				ldr	w1, [x1, 8]
				str	w1, [x0, 16280]
 2526             %finish %else %start
				b	.L877
		.L744:
 2527                 set const(lit) %if pending # 0
				ldr	w0, [x29, 696]
				cbz	w0, .L745
 2528                 def(x)
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 8]
				bl	SETCONST.7835
		.LVL861:
		.L745:
				ldr	x18, [x29, 136]
				mov	w0, w19
				bl	DEF.8910
		.LVL862:
 2529                 op('A', 1)
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w1, 1
				mov	w0, 65
				bl	OP.7832
		.LVL863:
				b	.L877
		.LVL864:
		.L746:
 2530             %finish
 2531             cident = x
 2532             ->top
 2533 c(124):     dubious = 1 %if tag(cident)_flags&prot # 0; ! %DUBIOUS
 2534             ->top
				b	.L877
		.L747:
		.L750:
		.LBB643:
		.LBB644:
 2535 c(97):      ;                                          ! f
				mov	w0, 1
				ldr	x1, [x29, 144]
				str	w0, [x1, 712]
		.LDL46:
 2536 c(98):      ;                                          ! m
 2537 c(99):      ;                                          ! p
 2538 c(96):      call;  ->top;                              ! r
 2539 c(165):     ;                                          ! nlab
 2540 c(100):     ;                                          ! rp
 2541 c(101):     ;                                          ! fp
 2542 c(102):     ;                                          ! mp
 2543 c(103):     ;                                          ! pp
 2544 c(91):      ;                                          ! v
 2545 c(92):      ;                                          ! n
 2546 c(106):     ;                                          ! a
 2547 c(107):     ;                                          ! an
 2548 c(108):     ;                                          ! na
 2549 c(109):     ;                                          ! nan
 2550             k = tag(x)_index
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				ldr	x0, [x29, 144]
				ldrsw	x0, [x0, 260]
				add	x0, x0, x0, lsl 1
				add	x0, x18, x0, lsl 3
				add	x0, x0, 32768
				ldr	w1, [x0, 16288]
		.LVL870:
 2551             %if k < 0 %then op('n', -k) %else op('@', k)
				tbnz	w1, #31, .L904
		.L762:
 2552             ->top
				neg	w1, w1
		.LVL873:
				mov	w0, 110
				bl	OP.7832
		.LVL874:
				b	.L877
		.L763:
 2553 c(121):     set const(0);                   ->top;     ! special for zero
 2554 c(167):     add char( 'G' );                ->pstr;    ! aconst (alias)
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 0
				bl	SETCONST.7835
		.LVL875:
				b	.L877
		.L764:
 2555 c(const):   ;                                          ! const
				mov	w0, 64
				bl	OP.7832
		.LVL871:
				b	.L877
		.L757:
				b	.L761
		.L758:
				b	.L761
		.L759:
				b	.L761
		.L760:
				b	.L761
		.LVL872:
		.L904:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 71
				bl	ADDCHAR.7828
		.LVL876:
		.L765:
 2556             %if x < 0 %start;                          ! constinteger
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 260]
				tbnz	w0, #31, .L905
		.L767:
 2557                 set const(tag(-x)_format);  ->top
				ldr	x1, [x29, 152]
				ldr	x18, [x1, 8]
				neg	w0, w0
				sxtw	x0, w0
				add	x0, x0, x0, lsl 1
				add	x0, x18, x0, lsl 3
				add	x0, x0, 32768
				ldr	w0, [x0, 16280]
				bl	SETCONST.7835
		.LVL887:
				b	.L877
		.L771:
 2558             %finish
 2559             %if x&16_4000 # 0 %start;                  ! strings
 2560                 add char( '''' )
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 39
				bl	ADDCHAR.7828
		.LVL886:
				b	.L765
		.L905:
 2561 pstr:           x = x-16_4000
 2562                 j = glink(x)
				ldr	x0, [x29, 144]
				ldr	w1, [x0, 260]
				sub	w1, w1, #16384
				str	w1, [x0, 260]
				adrp	x0, .LANCHOR1
				add	x0, x0, :lo12:.LANCHOR1
				add	x0, x0, 8
				ldrsh	w20, [x0, w1, sxtw 1]
		.LVL877:
 2563                 k = j&255
				and	w19, w20, 255
		.LVL878:
 2564                 add char( k )
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, w20
				bl	ADDCHAR.7828
		.LVL879:
 2565                 %cycle
 2566                     k = k-1; ->top %if k < 0
 2567                     add char( j>>8 );
				cmp	w19, #1
				bmi	.L877
		.L769:
				ldr	x22, [x29, 152]
				ldr	x18, [x22, 8]
				ubfx	x0, x20, 8, 8
				bl	ADDCHAR.7828
		.LVL881:
 2568                     x = x+1
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 260]
				add	w0, w0, 1
				str	w0, [x1, 260]
 2569                     j = glink(x)
				adrp	x21, .LANCHOR1
				add	x21, x21, :lo12:.LANCHOR1
				add	x21, x21, 8
		.L768:
		.LVL880:
				ldrsh	w20, [x21, w0, sxtw 1]
		.LVL882:
 2570                     k = k-1; ->top %if k < 0
 2571                     add char( j&255 )
				subs	w19, w19, #2
		.LVL883:
				bmi	.L877
		.L770:
				ldr	x18, [x22, 8]
				mov	w0, w20
				bl	ADDCHAR.7828
		.LVL884:
				b	.L768
		.LVL885:
		.L766:
 2572                 %repeat
 2573             %finish
 2574             %if x&16_2000 # 0 %start;                  ! real - ABD also string-like, but NOT packed
 2575                 x = x-16_2000
 2576                 k = glink(x)
 2577                 op('D', k);  add char( ',' )
 2578                 %cycle
 2579                     ->top %if k = 0
 2580                     k = k-1
 2581                     x = x+1;  j = glink(x)
 2582                     %if j = '@' %start
 2583                         op('@', litpool(glink(x+1)));  ->top
 2584                     %finish
 2585                     add char( j )
 2586                 %repeat
 2587             %finish
 2588             set const(lit pool(x))
 2589             ->top
 2590
 2591 c(137):     add char( 'i' );                ->top;     ! asep
 2592 c(141):     add char( 'a' );                ->top;     ! arb
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 105
				bl	ADDCHAR.7828
		.LVL888:
				b	.L877
		.L772:
 2593
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 97
				bl	ADDCHAR.7828
		.LVL889:
				b	.L877
		.L773:
 2594             !own arrays
 2595 c(132):     ocount = ub-lb+1
 2596             def(x);                                    ! oident
				ldr	x19, [x29, 144]
		.LVL890:
				ldr	w0, [x19, 700]
				ldr	w1, [x19, 696]
				sub	w0, w0, w1
				add	w0, w0, 1
				adrp	x1, .LANCHOR2+2840
				str	w0, [x1, #:lo12:.LANCHOR2+2840]
				ldr	x20, [x29, 136]
				mov	x18, x20
				ldr	w0, [x19, 260]
				bl	DEF.8910
		.LVL891:
 2597             dimension = 1;  set subs(1)
				mov	w0, 1
				str	w0, [x19, 4]
 2598             %if next = 0 %start;                       ! no initialisation
				mov	x18, x20
				bl	SETSUBS.8886
		.LVL892:
				ldr	w0, [x29, 708]
				cbnz	w0, .L774
 2599                 op('A', ocount) %if ocount > 0
				adrp	x0, .LANCHOR2+2840
				ldr	w1, [x0, #:lo12:.LANCHOR2+2840]
				cmp	w1, 0
				bgt	.L906
		.L775:
 2600                 ocount = -1
				adrp	x0, .LANCHOR2+2840
				mov	w1, -1
				str	w1, [x0, #:lo12:.LANCHOR2+2840]
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 65
				bl	OP.7832
		.LVL893:
				b	.L775
		.L774:
 2601             %finish %else %start;                      ! initialisation given
				b	.L877
		.L906:
 2602                 get next
				ldr	x18, [x29, 136]
				bl	GETNEXT.8863
		.LVL894:
				b	.L877
		.LVL895:
		.L776:
 2603             %finish
 2604             ->top
 2605 c(162):     lit = ocount;  ->ins;                      ! indef
 2606 c(143):     pop lit;                                   ! orb
				adrp	x0, .LANCHOR2+2840
				ldr	w0, [x0, #:lo12:.LANCHOR2+2840]
				ldr	x1, [x29, 144]
				str	w0, [x1, 8]
		.L777:
 2607 ins:        fault(10) %and lit = 0 %if lit < 0
				ldr	x18, [x29, 136]
				bl	POPLIT.8953
		.LVL902:
				b	.L777
		.L907:
 2608             get next
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 8]
				tbnz	w0, #31, .L907
		.L779:
				ldr	x18, [x29, 136]
				bl	GETNEXT.8863
		.LVL896:
		.L780:
 2609             ->inst
				ldr	x18, [x29, 152]
				mov	w0, 10
				bl	FAULT.7968
		.LVL903:
 2610 c(139):     ;                                          ! osep (x=19)
				ldr	x0, [x29, 144]
				str	wzr, [x0, 8]
				b	.L779
		.L781:
		.L782:
 2611 c(153):     lit = 1
 2612 inst:       pop def %if pending # 0;                   ! ownt (x=0)
				mov	w0, 1
				ldr	x1, [x29, 144]
				str	w0, [x1, 8]
				b	.L780
		.LVL904:
		.L908:
 2613             op('A', lit)
				ldr	w0, [x29, 696]
				cbz	w0, .L783
		.LBB645:
		.LBB646:
				ldr	x20, [x29, 144]
				ldr	w19, [x20, 8]
		.LVL898:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w1, w19
				mov	w0, 65
				bl	OP.7832
		.LVL899:
 2614             ocount = ocount-lit
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w0, [x1, 2840]
				sub	w0, w0, w19
				str	w0, [x1, 2840]
 2615             %if ocount >= 0 %start
				tbnz	w0, #31, .L786
 2616                 ->top %if x # 0;                       ! more coming
				ldr	w1, [x20, 260]
				cbnz	w1, .L877
		.L785:
 2617                 ocount = -1 %and %return %if ocount = 0; ! all done
				cbz	w0, .L908
		.L784:
		.L786:
 2618             %finish
				adrp	x0, .LANCHOR2+2840
				mov	w1, -1
				str	w1, [x0, #:lo12:.LANCHOR2+2840]
 2619             fault(11);  %return
				ldr	x18, [x29, 152]
				mov	w0, 11
				bl	FAULT.7968
		.LVL900:
				b	.L555
		.LVL901:
		.L778:
				b	.L555
		.LVL905:
		.L787:
 2620
 2621 c(swit):    op('W', tag(x)_index);  inhibit = 1;  ->atop
 2622 c(134):     def(x);                                    ! swid
				ldr	x19, [x29, 152]
		.LVL906:
				ldr	x18, [x19, 8]
				ldr	x0, [x29, 144]
				ldrsw	x0, [x0, 260]
				add	x0, x0, x0, lsl 1
				add	x0, x18, x0, lsl 3
				add	x0, x0, 32768
				ldr	w1, [x0, 16288]
				mov	w0, 87
				bl	OP.7832
		.LVL907:
 2623             n = ub-lb+1
				mov	w0, 1
				str	w0, [x19, 20]
				ldr	x18, [x29, 136]
				ldr	x19, [x29, 144]
		.LVL909:
				ldr	w0, [x19, 260]
				bl	DEF.8910
		.LVL910:
				ldr	w2, [x19, 700]
				ldr	w0, [x19, 696]
				sub	w2, w2, w0
 2624             n = (n+15)>>4;                             ! slots needed (includes zero)
				b	.L593
		.LVL908:
		.L788:
				add	w2, w2, 16
				lsr	w20, w2, 4
		.LVL911:
 2625             j = dmax;  dmax = dmax+n+2
				adrp	x1, .LANCHOR2
				add	x1, x1, :lo12:.LANCHOR2
				ldr	w19, [x1, 2700]
		.LVL912:
 2626             abandon(1) %if dmax >= dmin
				add	w0, w20, w19
				add	w0, w0, 2
				str	w0, [x1, 2700]
				ldr	x1, [x29, 152]
				ldr	w1, [x1, 52]
				cmp	w0, w1
				bge	.L909
		.L789:
 2627             tag(x)_format = j
				ldr	x3, [x29, 152]
				ldr	x1, [x3, 8]
				ldr	x4, [x29, 144]
				ldrsw	x0, [x4, 260]
				add	x0, x0, x0, lsl 1
				add	x0, x1, x0, lsl 3
				add	x0, x0, 32768
				str	w19, [x0, 16280]
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 1
				bl	ABANDON.7865
		.LVL917:
				b	.L789
		.LVL918:
		.L791:
 2628             dict(j) = lb;  dict(j+1) = ub
				ldr	x2, [x3, 8]
				sub	w0, w19, #1
				mov	x1, 6260
				add	x0, x1, x0, sxtw
				add	x0, x2, x0, lsl 2
				ldr	w2, [x4, 696]
				str	w2, [x0, 4]
 2629             %cycle
				ldr	x2, [x3, 8]
				add	x0, x1, x19, sxtw
				add	x0, x2, x0, lsl 2
				ldr	w1, [x4, 700]
				str	w1, [x0, 4]
		.LVL913:
 2630                 n = n-1
 2631                 ->top %if n < 0
				cmp	w20, #1
				bmi	.L877
				add	w2, w19, w20
				cmp	w19, w2
				bne	.L790
				b	.L877
		.LVL916:
		.L909:
 2632                 j = j+1;  dict(j+1) = 0
				add	w19, w19, 1
		.LVL915:
 2633             %repeat
				mov	x3, 6260
		.LVL914:
		.L790:
				ldr	x0, [x29, 152]
				ldr	x1, [x0, 8]
				add	x0, x3, x19, sxtw
				add	x0, x1, x0, lsl 2
				str	wzr, [x0, 4]
		.LDL48:
 2634 c(151):     stats = stats-1;                           ! slab
 2635             fault(7) %and %return %if x < tbase
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				ldr	w1, [x0, 656]
				sub	w1, w1, #1
				str	w1, [x0, 656]
				ldr	w0, [x0, 260]
				ldr	x1, [x29, 152]
				ldr	w1, [x1, 68]
				cmp	w0, w1
				blt	.L910
		.L792:
 2636             %if pending # 0 %start;                    ! explicit label
				ldr	w1, [x29, 696]
				cbnz	w1, .L911
		.L793:
				ldr	x18, [x29, 152]
				mov	w0, 7
				bl	FAULT.7968
		.LVL932:
				b	.L555
		.L911:
 2637                 def s lab(pstack(1))
				add	x18, x29, 672
				adrp	x0, .LANCHOR0+16
				ldr	w0, [x0, #:lo12:.LANCHOR0+16]
				bl	DEFSLAB.8931
		.LVL933:
				b	.L802
		.L912:
 2638             %finish %else %start
 2639                 fault(4) %and %return %if tag(x)_app # 0
				ldr	x1, [x29, 152]
				ldr	x3, [x1, 8]
				sxtw	x1, w0
				add	x1, x1, x1, lsl 1
				add	x1, x3, x1, lsl 3
				add	x1, x1, 32768
				ldr	w1, [x1, 16276]
				cbnz	w1, .L912
		.L795:
 2640                 tag(x)_app = 1
				sxtw	x0, w0
				lsl	x1, x0, 1
				add	x2, x1, x0
				add	x2, x3, x2, lsl 3
				add	x2, x2, 32768
				mov	w3, 1
				str	w3, [x2, 16276]
				ldr	x18, [x29, 152]
				mov	w0, 4
				bl	FAULT.7968
		.LVL934:
				b	.L555
		.LVL935:
		.L913:
		.LBB650:
 2641                 n = tag(x)_format
				ldr	x2, [x29, 152]
				ldr	x2, [x2, 8]
		.LVL919:
				add	x0, x1, x0
		.LVL920:
				add	x0, x2, x0, lsl 3
				add	x0, x0, 32768
				ldrsw	x0, [x0, 16280]
				add	x0, x2, x0, lsl 2
		.LBB647:
 2642                 %for j = dict(n), 1, dict(n+1) %cycle
 2643                     def s lab(j)
				add	x0, x0, 16384
				ldr	w19, [x0, 8656]
		.LVL921:
				ldr	w20, [x0, 8660]
		.LVL922:
		.LBB648:
				add	x22, x29, 672
				mov	x18, x22
				mov	w0, w19
				bl	DEFSLAB.8931
		.LVL928:
 2644                     flush buffer( 128 );               ! flush if bp >= 128
				sub	w0, w20, w19
		.LVL923:
		.LBE648:
				tbnz	w0, #31, .L913
		.LVL924:
		.L796:
				mov	w21, 128
		.LVL926:
		.L800:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, w21
				bl	FLUSHBUFFER.7815
		.LVL929:
		.L801:
				adrp	x0, :got:_imp_current_file
		.LVL936:
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L797
				add	x8, x29, 4096
				add	x8, x8, 528
				bl	_imp_c2istr
		.LVL937:
		.L798:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w22, [x0]
				cmp	w22, 0
				mov	w0, 2644
				csel	w22, w22, w0, ne
				add	x24, x29, 4096
				add	x24, x24, 784
				mov	x8, x24
				adrp	x0, .LC83
				add	x0, x0, :lo12:.LC83
				bl	_imp_c2istr
		.LVL938:
				add	x21, x29, 416
				mov	x25, 256
				mov	x2, x25
				add	x1, x29, 4096
				add	x1, x1, 528
				mov	x0, x21
				bl	memcpy
		.LVL939:
				add	x23, x29, 160
				mov	x2, x25
				mov	x1, x24
				mov	x0, x23
				bl	memcpy
		.LVL940:
				mov	w5, 0
				mov	w4, 1
				mov	w3, 5
				mov	x2, x23
				mov	w1, w22
				mov	x0, x21
				bl	_signal_event
		.LVL941:
				b	.L796
		.LVL942:
		.L797:
		.LBB649:
				add	x22, x29, 4096
				add	x22, x22, 16
				mov	x23, 256
				mov	x2, x23
		.LVL943:
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x22
				bl	memcpy
		.LVL944:
				add	x21, x29, 3344
				mov	x2, x23
				mov	x1, x22
				mov	x0, x21
				bl	memcpy
		.LVL945:
		.LBE649:
				mov	x2, x23
				mov	x1, x21
				add	x0, x29, 4096
				add	x0, x0, 528
				bl	memcpy
		.LVL946:
				b	.L798
		.LVL947:
		.L803:
		.LBE650:
 2645                 %repeat
				sub	w19, w19, #1
		.LVL925:
 2646             %finish
 2647             inhibit = 1
				cmp	w20, w19
				beq	.L802
				cmp	w20, w19
				bne	.L800
		.L794:
		.LVL930:
		.L802:
		.LBE647:
				mov	w0, 1
				ldr	x1, [x29, 152]
				str	w0, [x1, 20]
 2648             %return
				add	w19, w19, 1
		.LVL927:
				b	.L555
		.LVL931:
		.L910:
 2649
 2650 c(140):     add char( 'p' );         ->top;            ! psep
 2651 c(144):     ;                                          ! prb
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				mov	w0, 112
				bl	ADDCHAR.7828
		.LVL948:
				b	.L877
		.L804:
 2652             add char( 'p' );
				ldr	x19, [x29, 152]
		.LVL949:
				ldr	x18, [x19, 8]
				mov	w0, 112
				bl	ADDCHAR.7828
		.LVL950:
 2653             add char( 'E' );         ->top
				ldr	x18, [x19, 8]
				mov	w0, 69
				bl	ADDCHAR.7828
		.LVL951:
				b	.L877
		.LVL952:
		.L805:
 2654
 2655             !constant expressions
 2656 c(155):     ;                                          ! pconst
 2657             %if x < 0 %then lit = tag(-x)_format %else lit = lit pool(x)
				ldr	x0, [x29, 144]
				ldr	w0, [x0, 260]
				tbnz	w0, #31, .L914
		.L806:
 2658             pending = pending+1;     pstack(pending) = lit;  ->top
				ldr	w0, [x29, 696]
				add	w1, w0, 1
				str	w1, [x29, 696]
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				neg	w0, w0
				sxtw	x0, w0
				add	x0, x0, x0, lsl 1
				add	x0, x1, x0, lsl 3
				add	x0, x0, 32768
				ldr	w0, [x0, 16280]
				ldr	x1, [x29, 144]
				str	w0, [x1, 8]
 2659 c(156):     lit = pstack(pending);  lit = -lit %if lit < 0
				ldr	x1, [x29, 144]
				ldr	w1, [x1, 8]
				ldr	x2, [x29, 120]
				str	w1, [x2, w0, sxtw 2]
				b	.L807
		.L808:
 2660             pstack(pending) = lit;  ->top;  !cmod
				b	.L877
		.L914:
				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]
 2661 c(157):     lit = -pstack(pending);  pstack(pending) = lit;  ->top; ! csign
				ldr	x1, [x29, 152]
				ldr	x1, [x1, 8]
				mov	x2, 4160
				add	x0, x2, x0, sxtw
				ldr	w0, [x1, x0, lsl 2]
				ldr	x1, [x29, 144]
				str	w0, [x1, 8]
		.L807:
				b	.L877
		.L810:
 2662 c(158):     lit = \pstack(pending);  pstack(pending) = lit;  ->top; ! cuop
				neg	w2, w1
				cmp	w1, 0
				csel	w1, w2, w1, lt
				str	w1, [x4, 8]
		.L809:
				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, 8]
 2663 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, 8]
 2664 c(160):     ;                                          ! cop2
				b	.L877
		.L811:
				str	w1, [x2, x0, lsl 2]
 2665 c(161):     pending = pending-1;                       ! cop3
				b	.L877
		.L812:
		.L814:
 2666             lit2 = pstack(pending+1);  lit = pstack(pending)
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				str	x0, [x29, 144]
				add	x0, x0, 16
				str	x0, [x29, 120]
		.LVL689:
		.L877:
				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]
		.LVL953:
 2667             ->litop(x>>2)
				sub	w0, w0, #2
				ldr	w0, [x2, w0, sxtw 2]
				ldr	x1, [x29, 144]
		.LVL954:
				str	w0, [x1, 8]
		.LVL955:
				ldr	w0, [x1, 260]
				lsr	w0, w0, 2
				str	w0, [x29, 108]
		.LVL956:
				adrp	x0, .LC74
		.LVL957:
				add	x0, x0, :lo12:.LC74
				str	x0, [x29, 96]
				mov	w0, 2667
				str	w0, [x29, 104]
		.LVL958:
		.L815:
 2668
 2669 litop(1):   lit = lit<<lit2;           ->setl
 2670 litop(2):   lit = lit>>lit2;           ->setl
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 8]
				ldrb	w2, [x29, 112]
				lsl	w0, w0, w2
				str	w0, [x1, 8]
		.L817:
		.LVL964:
		.L836:
 2671 litop(3):   n = 1;                                     ! lit = lit\\lit2
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 8]
				ldrb	w2, [x29, 112]
				lsr	w0, w0, w2
				str	w0, [x1, 8]
 2672             fault(10) %if lit2 < 0
				b	.L836
		.L819:
		.LVL965:
				ldr	w0, [x29, 112]
				tbnz	w0, #31, .L915
		.L820:
 2673             %while lit2 > 0 %cycle
				ldr	x18, [x29, 152]
				mov	w0, 10
				bl	FAULT.7968
		.LVL971:
				b	.L820
		.L864:
 2674                 lit2 = lit2-1
				ldr	w0, [x29, 112]
				cmp	w0, 0
				ble	.L864
				ldr	w2, [x29, 112]
				subs	w2, w2, #1
				str	w2, [x29, 112]
		.LVL968:
				bne	.L822
		.LVL969:
		.L821:
				mov	w0, 1
				b	.L821
		.LVL972:
		.L823:
 2675                 n = n*lit
				ldr	x0, [x29, 144]
				ldr	w1, [x0, 8]
				mov	w0, 1
		.LVL966:
		.L822:
				mul	w0, w0, w1
		.LVL967:
 2676             %repeat
 2677             lit = n;                   ->setl
				ldr	x1, [x29, 144]
				str	w0, [x1, 8]
 2678 litop(4):   %if lit2 = 0 %then fault(10) %else lit = lit//lit2
				b	.L836
		.LVL970:
		.L915:
 2679                                        ->setl
				ldr	w0, [x29, 112]
				cbz	w0, .L916
		.L824:
 2680 litop(5):   lit = lit&lit2;            ->setl
				ldr	x18, [x29, 152]
				mov	w0, 10
				bl	FAULT.7968
		.LVL973:
				b	.L836
		.L825:
 2681 litop(6):   lit = lit!lit2;            ->setl
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 8]
				ldr	w2, [x29, 112]
				and	w0, w0, w2
				str	w0, [x1, 8]
 2682 litop(7):   lit = lit!!lit2;           ->setl
				b	.L836
		.L826:
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 8]
				ldr	w2, [x29, 112]
				orr	w0, w0, w2
				str	w0, [x1, 8]
 2683 litop(8):   lit = lit+lit2;            ->setl
				ldr	x2, [x29, 144]
				ldrsw	x0, [x2, 8]
				ldrsw	x1, [x29, 112]
				sdiv	x0, x0, x1
				str	w0, [x2, 8]
				b	.L836
		.L916:
				b	.L836
		.L827:
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 8]
				ldr	w2, [x29, 112]
				eor	w0, w0, w2
				str	w0, [x1, 8]
 2684 litop(9):   lit = lit-lit2;            ->setl
				b	.L836
		.L828:
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 8]
				ldr	w2, [x29, 112]
				add	w0, w0, w2
				str	w0, [x1, 8]
 2685 litop(10):  lit = lit*lit2;            ->setl
				b	.L836
		.L829:
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 8]
				ldr	w2, [x29, 112]
				sub	w0, w0, w2
				str	w0, [x1, 8]
 2686 litop(11):  lit = lit+lit2;            ->setl
				b	.L836
		.L830:
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 8]
				ldr	w2, [x29, 112]
				mul	w0, w0, w2
				str	w0, [x1, 8]
 2687 litop(12):  n = 1;                                     ! lit = lit\\lit2
				b	.L836
		.L831:
				ldr	x1, [x29, 144]
				ldr	w0, [x1, 8]
				ldr	w2, [x29, 112]
				add	w0, w0, w2
				str	w0, [x1, 8]
 2688             fault(10) %if lit2 < 0
				b	.L836
		.L832:
		.LVL974:
				ldr	w0, [x29, 112]
				tbnz	w0, #31, .L917
		.L833:
 2689             %while lit2 > 0 %cycle
				ldr	x18, [x29, 152]
				mov	w0, 10
				bl	FAULT.7968
		.LVL980:
				b	.L833
		.L865:
 2690                 lit2 = lit2-1
				ldr	w0, [x29, 112]
				cmp	w0, 0
				ble	.L865
				ldr	w2, [x29, 112]
				subs	w2, w2, #1
				str	w2, [x29, 112]
		.LVL977:
				bne	.L835
		.LVL978:
		.L834:
				mov	w0, 1
				b	.L834
		.LVL981:
		.L837:
 2691                 n = n*lit
				ldr	x0, [x29, 144]
				ldr	w1, [x0, 8]
				mov	w0, 1
		.LVL975:
		.L835:
				mul	w0, w0, w1
		.LVL976:
 2692             %repeat
 2693             lit = n;                   ->setl
				ldr	x1, [x29, 144]
				str	w0, [x1, 8]
 2694 setl:       pstack(pending) = lit;     ->top
				b	.L836
		.LVL979:
		.L917:
 2695
				ldr	w0, [x29, 696]
				sub	w0, w0, #1
				ldr	x1, [x29, 144]
				ldr	w1, [x1, 8]
				ldr	x2, [x29, 120]
				str	w1, [x2, w0, sxtw 2]
 2696 c(170):     ;
				b	.L877
		.L818:
 2697             !Fault(4) %if IMPCOM_Option # ""
 2698             !IMPCOM_Option = String(x-x'4000'+Stbase); ! Option string
 2699             ->Top
				b	.L877
		.L838:
		.LVL982:
 2700
 2701             !string resolution
 2702 c(135):     resln = 2;                    ->top;       ! dotl
 2703 c(136):     resln = resln+1;              ->top;       ! dotr
				mov	w0, 2
				str	w0, [x29, 116]
 2704 c(55):      op('r', resln);    resln = 0; ->top;       ! resop
				b	.L877
		.LVL983:
		.L839:
				ldr	w0, [x29, 116]
				add	w0, w0, 1
				str	w0, [x29, 116]
		.LVL984:
 2705 c(164):     op('r', resln+4);  resln = 0;              ! cresop
				b	.L877
		.LVL985:
		.L840:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				ldr	w1, [x29, 116]
				mov	w0, 114
				bl	OP.7832
		.LVL986:
 2706 c(122):     x = 6;                        ->cop;       ! %PRED
				str	wzr, [x29, 116]
				b	.L877
		.L841:
				ldr	x0, [x29, 152]
				ldr	x18, [x0, 8]
				ldr	w0, [x29, 116]
				add	w1, w0, 4
				mov	w0, 114
				bl	OP.7832
		.LVL987:
 2707 c(87):      set const(pstack(1));                      ! mass
				str	wzr, [x29, 116]
		.L842:
		.LVL988:
				mov	w0, 6
				ldr	x1, [x29, 144]
				str	w0, [x1, 260]
		.L678:
		.LVL989:
		.L681:
 2708             bp=bp+1 %and buff(bp)='P';    ->top
				ldr	x19, [x29, 152]
		.LVL996:
				ldr	x18, [x19, 8]
				ldr	x0, [x29, 120]
				ldr	w0, [x0]
				bl	SETCONST.7835
		.LVL997:
				ldr	x2, [x29, 144]
				ldr	w0, [x2]
				add	w1, w0, 1
				str	w1, [x2]
 2709         %end
				ldr	x1, [x19, 8]
				add	x0, x1, x0, sxtw
				add	x0, x0, 135168
				mov	w1, 80
				strb	w1, [x0, 388]
		.L569:
 2710
				b	.L877
		.LVL998:
		.L572:
 2711     %end;                                              ! of compile block
				cmp	w19, 180
				bhi	.L572
		.LVL702:
		.L573:
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L844
				add	x8, x29, 4096
				add	x8, x8, 1040
				bl	_imp_c2istr
		.LVL999:
		.L845:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w21, [x0]
				cmp	w21, 0
				mov	w0, 2711
				csel	w21, w21, w0, ne
				add	x20, x29, 160
				mov	x2, 256
				add	x1, x29, 4096
				add	x1, x1, 1040
				mov	x0, x20
				bl	memcpy
		.LVL1000:
				mov	w0, 2230
				str	w0, [sp]
		.LVL1001:
				adrp	x7, .LC74
				add	x7, x7, :lo12:.LC74
				mov	w6, w19
				adrp	x5, .LC84
				add	x5, x5, :lo12:.LC84
				mov	w4, w19
				mov	w3, 3
				mov	w2, 6
				mov	w1, w21
				mov	x0, x20
				bl	_signal_eventf
		.LVL1002:
				b	.L573
		.LVL1003:
		.L844:
		.LBB651:
				add	x21, x29, 4096
				add	x21, x21, 16
				mov	x22, 256
				mov	x2, x22
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x21
				bl	memcpy
		.LVL1004:
				add	x20, x29, 3600
				mov	x2, x22
				mov	x1, x21
				mov	x0, x20
				bl	memcpy
		.LVL1005:
		.LBE651:
				mov	x2, x22
				mov	x1, x20
				add	x0, x29, 4096
				add	x0, x0, 1040
				bl	memcpy
		.LVL1006:
				b	.L845
		.LVL1007:
		.L848:
 2712
				adrp	x0, .LANCHOR4
				add	x0, x0, :lo12:.LANCHOR4
				add	x0, x0, 600
				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, .L965
				ldp	x19, x20, [sp, 16]
				ldp	x21, x22, [sp, 32]
				ldr	x23, [sp, 48]
				ldr	x26, [sp, 72]
				ldp	x29, x30, [sp]
				add	sp, sp, 2048
				ret
		.L964:
				bl	__stack_chk_fail
		.LVL1086:
		.LFE195:
				.align	2
				.global	main
		main:
		.LFB185:
 2713     %on 9 %start
				mov	w1, 1
				adrp	x0, :got:_imp_event
				ldr	x0, [x0, #:got_lo12:_imp_event]
				add	x0, x0, 536
				bl	__sigsetjmp
		.LVL1092:
				cbnz	w0, .L968
		.LVL1093:
				mov	w1, 512
				adrp	x0, :got:_imp_event
				ldr	x0, [x0, #:got_lo12:_imp_event]
				bl	_imp_on_event_enter
		.LVL1094:
				cbz	x0, .L968
		.LVL1095:
		.L969:
		.LBB705:
		.LBB706:
				mov	w19, 2
				adrp	x0, :got:_imp_InStream
				ldr	x0, [x0, #:got_lo12:_imp_InStream]
				str	w19, [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	x0, .LANCHOR5
				add	x0, x0, :lo12:.LANCHOR5
				sub	x0, x0, #40
				bl	check_instream
		.LVL1096:
		.LBE706:
		.LBE705:
		.LBB707:
		.LBB708:
				adrp	x0, :got:_imp_OutStream
				ldr	x0, [x0, #:got_lo12:_imp_OutStream]
				str	w19, [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, 896
				bl	check_outstream
		.LVL1097:
		.LBE708:
		.LBE707:
 2714         abandon(5)
				adrp	x20, :got:_imp_current_file
				ldr	x21, [x20, #:got_lo12:_imp_current_file]
		.L847:
		.LVL703:
				br	x0
		.LVL704:
		.L884:
				ldr	x0, [x21]
				cbz	x0, .L849
				add	x8, x29, 4096
				add	x8, x8, 1296
				bl	_imp_c2istr
		.LVL1008:
		.L850:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w23, [x0]
				cmp	w23, 0
				mov	w0, 2714
				csel	w23, w23, w0, ne
				add	x22, x29, 160
				mov	x2, 256
				add	x1, x29, 4096
				add	x1, x1, 1296
				mov	x0, x22
				bl	memcpy
		.LVL1009:
				mov	w0, 2230
				str	w0, [sp]
		.LVL1010:
				adrp	x7, .LC74
				add	x7, x7, :lo12:.LC74
				mov	w6, w19
				adrp	x5, .LC85
				add	x5, x5, :lo12:.LC85
				mov	w4, w19
				mov	w3, 2
				mov	w2, 8
				mov	w1, w23
				mov	x0, x22
				bl	_signal_eventf
		.LVL1011:
				b	.L815
		.LVL1012:
		.L849:
		.LBB652:
				add	x23, x29, 4096
				add	x23, x23, 16
				mov	x24, 256
				mov	x2, x24
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x23
				bl	memcpy
		.LVL1013:
				add	x22, x29, 3856
				mov	x2, x24
				mov	x1, x23
				mov	x0, x22
				bl	memcpy
		.LVL1014:
		.LBE652:
				mov	x2, x24
				mov	x1, x22
				add	x0, x29, 4096
				add	x0, x0, 1296
				bl	memcpy
		.LVL1015:
				b	.L850
		.L853:
		.LBB653:
				add	x18, x29, 2904
				mov	w0, 5
				bl	ABANDON.7865
		.LVL1121:
				b	.L969
		.LVL1122:
		.L972:
		.LBB726:
 2715     %finish
 2716
 2717     selectinput(2);  selectoutput(listing)
				ldr	w0, [x29, 108]
				sub	w0, w0, #1
				cmp	w0, 11
				bls	.L852
				ldr	x0, [x20, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L853
				add	x8, x29, 4096
				add	x8, x8, 1552
				bl	_imp_c2istr
		.LVL959:
		.L854:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w23, [x0]
				cmp	w23, 0
				mov	w0, 2717
				csel	w23, w23, w0, ne
				add	x22, x29, 160
				mov	x2, 256
				add	x1, x29, 4096
				add	x1, x1, 1552
				mov	x0, x22
				bl	memcpy
		.LVL960:
				ldr	w0, [x29, 104]
				str	w0, [sp]
		.LVL961:
				ldr	x7, [x29, 96]
				ldr	w4, [x29, 108]
				mov	w6, w4
				adrp	x5, .LC86
				add	x5, x5, :lo12:.LC86
				mov	w3, 3
				mov	w2, 6
				mov	w1, w23
				mov	x0, x22
				bl	_signal_eventf
		.LVL962:
		.L852:
				add	x23, x29, 4096
				add	x23, x23, 16
				mov	x24, 256
				mov	x2, x24
				adrp	x1, .LANCHOR3
				add	x1, x1, :lo12:.LANCHOR3
				mov	x0, x23
				bl	memcpy
		.LVL1016:
				add	x22, x29, 4096
				add	x22, x22, 272
				mov	x2, x24
				mov	x1, x23
				mov	x0, x22
				bl	memcpy
		.LVL1017:
		.LBE653:
				mov	x2, x24
				mov	x1, x22
				add	x0, x29, 4096
				add	x0, x0, 1552
				bl	memcpy
		.LVL1018:
				b	.L854
		.L579:
		.L856:
		.LVL1019:
		.L709:
		.LBB654:
		.LBB625:
 2718     tag(max tag) = 0;                                  ! %begin defn
				adrp	x0, .LANCHOR4
				add	x0, x0, :lo12:.LANCHOR4
				ldr	w1, [x29, 108]
				sub	w1, w1, #1
				add	x0, x0, 2048
				ldr	x0, [x0, w1, sxtw 3]
				b	.L847
		.LVL963:
		.L813:
				b	.L814
		.L816:
				add	x0, x29, 69632
				add	x0, x0, 1536
				sub	x0, x0, #20
				stp	xzr, xzr, [x0]
				add	x0, x29, 69632
				add	x0, x0, 1536
				str	xzr, [x0, -4]
				add	x0, x29, 49152
				add	x0, x0, 2560
				add	x0, x0, 236
				stp	xzr, xzr, [x0]
				add	x0, x29, 49152
				add	x0, x0, 2560
				str	xzr, [x0, 252]
 2719     tag(0) = 0;  tag(0)_flags = 7;                     ! %begin tag!
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 6456]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L889
				ldp	x19, x20, [sp, 32]
				ldp	x21, x22, [sp, 48]
				ldp	x23, x24, [sp, 64]
				ldp	x25, x26, [sp, 80]
				ldp	x29, x30, [sp, 16]
				mov	x16, 6480
				add	sp, sp, x16
		.LVL706:
				ret
		.LVL707:
		.L885:
 2720     Hash(x) = 0 %for x = 0, 1, max names
				mov	w0, 7
				add	x1, x29, 49152
				str	w0, [x1, 2804]
				mov	w0, 0
 2721     printstring("         Edinburgh IMP77 Compiler - Version ")
				add	x22, x29, 1112
				mov	x20, 256
				mov	x2, x20
				adrp	x1, .LANCHOR5
				add	x1, x1, :lo12:.LANCHOR5
				add	x1, x1, 2288
				mov	x0, x22
				bl	memcpy
		.LVL1098:
				add	x19, x29, 344
				mov	x2, x20
				mov	x1, x22
				mov	x0, x19
				bl	memcpy
		.LVL1099:
				add	x22, x29, 1624
				mov	x2, x20
				mov	x1, x19
				mov	x0, x22
				bl	memcpy
		.LVL1100:
		.LBE709:
		.LBB710:
		.LBB711:
				add	x19, x29, 80
				mov	x2, x20
				mov	x1, x22
				mov	x0, x19
				bl	memcpy
		.LVL1101:
				mov	x0, x19
				bl	_imp_printstring
		.LVL1102:
				strb	wzr, [x29, 1880]
		.LBE711:
		.LBE710:
		.LBB712:
		.LBB713:
				mov	x2, x20
				add	x1, x29, 1880
				mov	x0, x19
				bl	memcpy
		.LVL1103:
				mov	x0, x19
				bl	_imp_printstring
		.LVL1104:
		.LBE713:
		.LBE712:
		.LBB714:
		.LBB715:
				mov	w0, 2
				bl	_imp_newlines
		.LVL1105:
		.LBE715:
		.LBE714:
 2722 !    printstring("         Preston IMP2020 Compiler - Version ")
 2723     printstring(version);  newlines(2)
				cmp	w0, 2048
				bne	.L970
		.LDL53:
				adrp	x21, .LANCHOR0
				add	x21, x21, :lo12:.LANCHOR0
				mov	w0, 2047
				str	w0, [x21, 260]
		.LBB709:
 2724     op('l', 0)
				add	x19, x29, 2904
				mov	x18, x19
				mov	w1, 0
				mov	w0, 108
				bl	OP.7832
		.LVL1106:
				mov	x18, x19
				mov	w4, 0
				mov	w3, 0
				mov	w2, 6000
				mov	w1, 0
				mov	w0, 0
				bl	COMPILEBLOCK.7942
		.LVL1107:
 2725     compile block(0, 0, max dict, 0, 0)
				mov	x2, 4212
				add	x1, x29, 2904
		.L970:
				add	x3, x2, x0, sxtw
				str	wzr, [x1, x3, lsl 2]
		.LDL52:
				add	w0, w0, 1
 2726     add char( nl );                                    ! {for bouncing off}
				mov	x18, x19
				mov	w0, 10
				bl	ADDCHAR.7828
		.LVL1108:
 2727     flush buffer( 0 );                                 ! flush if bp >= 0
				mov	x18, x19
				mov	w0, 0
				bl	FLUSHBUFFER.7815
		.LVL1109:
 2728
 2729     x = listing
				mov	w0, 2
				str	w0, [x21, 260]
		.LBB716:
		.LBB717:
				bl	_imp_newline
		.LVL1110:
		.LBE717:
		.LBE716:
 2730     newline
 2731     %cycle
 2732         %if faulty = 0 %start
				adrp	x21, .LANCHOR0
				add	x21, x21, :lo12:.LANCHOR0
		.LBB718:
				ldr	w0, [x21, 616]
				cbnz	w0, .L972
 2733             write(stats, 5)
				mov	w1, 5
				ldr	w0, [x21, 656]
				bl	_imp_writeint
		.LVL1111:
		.LBB719:
 2734             printstring(" Statements compiled")
				mov	x24, 256
				mov	x2, x24
				add	x1, x19, 2544
				mov	x0, x20
				bl	memcpy
		.LVL1112:
				add	x22, x29, 600
				mov	x2, x24
				mov	x1, x20
				mov	x0, x22
				bl	memcpy
		.LVL1113:
				add	x0, x29, 2136
				mov	x2, x24
				mov	x1, x22
				mov	x25, x0
				bl	memcpy
		.LVL1114:
		.LBE719:
		.LBB720:
		.LBB721:
				add	x22, x29, 80
				mov	x2, x24
				mov	x1, x25
				mov	x0, x22
				bl	memcpy
		.LVL1115:
				mov	x0, x22
				bl	_imp_printstring
		.LVL1116:
		.L973:
		.L974:
		.LBE721:
		.LBE720:
		.LBB722:
		.LBB723:
				bl	_imp_newline
		.LVL1117:
		.LBE723:
		.LBE722:
 2735         %else
 2736             printstring(" Program contains ")
				adrp	x19, .LANCHOR5
				add	x19, x19, :lo12:.LANCHOR5
				add	x23, x19, 2800
				add	x20, x29, 1112
		.L971:
		.LBE718:
				mov	x22, 256
				mov	x2, x22
				mov	x1, x23
				mov	x0, x20
				bl	memcpy
		.LVL1123:
				add	x0, x29, 856
				mov	x2, x22
				mov	x1, x20
				mov	x24, x0
				bl	memcpy
		.LVL1124:
				add	x0, x29, 2392
				mov	x2, x22
				mov	x1, x24
				mov	x24, x0
				bl	memcpy
		.LVL1125:
		.LBE726:
		.LBB727:
		.LBB728:
				add	x0, x29, 80
				mov	x2, x22
				mov	x1, x24
				mov	x24, x0
				bl	memcpy
		.LVL1126:
				mov	x0, x24
				bl	_imp_printstring
		.LVL1127:
		.LBE728:
		.LBE727:
 2737             write(faulty, 1)
				mov	w1, 1
				ldr	w0, [x21, 616]
				bl	_imp_writeint
		.LVL1128:
		.LBB729:
 2738             printstring(" fault")
				mov	x2, x22
				add	x1, x19, 3056
				mov	x0, x20
				bl	memcpy
		.LVL1129:
				add	x0, x29, 1368
				mov	x2, x22
				mov	x1, x20
				mov	x25, x0
				bl	memcpy
		.LVL1130:
				add	x0, x29, 2648
				mov	x2, x22
				mov	x1, x25
				mov	x25, x0
				bl	memcpy
		.LVL1131:
		.LBE729:
		.LBB730:
		.LBB731:
				mov	x2, x22
				mov	x1, x25
				mov	x0, x24
				bl	memcpy
		.LVL1132:
				mov	x0, x24
				bl	_imp_printstring
		.LVL1133:
		.LBE731:
		.LBE730:
 2739             printsymbol('s') %unless faulty = 1
				ldr	w0, [x21, 616]
				cmp	w0, 1
				beq	.L974
		.LVL1134:
		.LBB732:
		.LBB733:
				mov	w0, 115
				bl	_imp_printsymbol
		.LVL1135:
				b	.L974
		.LVL1136:
		.L975:
		.LBE733:
		.LBE732:
 2740         %finish
 2741         newline
 2742         %exit %if x = report
				ldr	w0, [x21, 260]
				cbz	w0, .L975
		.L976:
 2743         x = report
				str	wzr, [x21, 260]
		.LVL1118:
		.LBB724:
		.LBB725:
				adrp	x0, :got:_imp_OutStream
				ldr	x0, [x0, #:got_lo12:_imp_OutStream]
				str	wzr, [x0]
				adrp	x0, :got:_imp_outfile
				ldr	x0, [x0, #:got_lo12:_imp_outfile]
				ldr	x1, [x0, 8]
				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, 896
				bl	check_outstream
		.LVL1119:
				b	.L971
		.LVL1120:
		.L968:
		.LBE725:
		.LBE724:
 2744         selectoutput(report)
 2745     %repeat
 2746
 2747     %if faulty # 0 %then %stop;        ! try to flag to shell that we failed
				adrp	x0, .LANCHOR0+616
				ldr	w0, [x0, #:lo12:.LANCHOR0+616]
				cbz	w0, .L977
		.LVL1137:
		.LBB734:
		.LBB735:
				mov	w0, 0
				bl	exit
		.LVL1138:
		.L977:
		.LBE735:
		.LBE734:
		.LBB736:
		.LBB737:
				mov	w0, 0
				bl	exit
		.LVL1139:
		.LBE737:
		.LBE736:
		.LFE185:
				.section	.rodata
				.align	3
				.set	.LANCHOR3,. + 0
				.set	.LANCHOR5,. + 4352
		.LC13:
				.byte	18
				.string	"test-new/pass1.imp"
				.zero	236
		.LC24:
				.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
		.LC25:
				.byte	2
				.string	" &"
				.zero	252
		.LC23:
				.byte	7
				.string	"lookup:"
				.zero	247
		__PRETTY_FUNCTION__.7293:
				.string	"_imp_SELECTOUTPUT"
				.zero	6
		.LC28:
				.byte	8
				.string	"      ! "
				.zero	246
		.LC29:
				.byte	5
				.string	"fault"
				.zero	249
		.LC26:
				.byte	2
				.string	" ["
				.zero	252
		.LC14:
				.byte	7
				.string	"Atom1 ="
				.zero	247
		.LC15:
				.byte	9
				.string	"  Atom2 ="
				.zero	245
		.LC16:
				.byte	11
				.string	"  subatom ="
				.zero	243
		.LC17:
				.byte	6
				.string	"Type ="
				.zero	248
		.LC18:
				.byte	10
				.string	"   Ptype ="
				.zero	244
		.LC19:
				.byte	5
				.string	"App ="
				.zero	249
		.LC20:
				.byte	9
				.string	"   Papp ="
				.zero	245
		.LC21:
				.byte	8
				.string	"Format ="
				.zero	246
		.LC22:
				.byte	12
				.string	"   Pformat ="
				.zero	242
		.LC11:
				.word	1
				.word	2
				.word	4107
				.word	4109
				.word	5132
				.word	5134
				.word	3
				.word	4
				.word	4103
				.word	4104
				.word	4105
				.word	4106
				.word	6
				.word	0
				.word	0
				.word	0
		.LC12:
				.byte	4
				.string	"ss ="
				.zero	250
		__PRETTY_FUNCTION__.7289:
				.string	"_imp_SELECTINPUT"
				.zero	7
		.LC7:
				.byte	5
				.string	"Begin"
				.zero	249
		.LC8:
				.byte	10
				.string	"Procedure "
				.zero	244
		.LC27:
				.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
		.LC9:
				.byte	3
				.string	"End"
				.zero	251
		.LC0:
				.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
		.LC1:
				.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
		.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	1600
				.hword	1636
				.hword	1704
				.hword	1792
				.hword	128
				.hword	1872
				.hword	2088
				.hword	2284
				.hword	2316
				.hword	128
				.hword	2356
				.hword	128
				.hword	128
				.hword	128
				.hword	2375
				.hword	2383
				.hword	2415
				.hword	2423
				.hword	2443
				.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	2451
				.hword	131
				.hword	2459
				.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	-28735
				.hword	-29239
				.hword	10063
				.hword	71
				.hword	-30263
				.hword	-31668
				.hword	-32302
				.hword	16412
				.hword	20
				.hword	8389
				.hword	76
				.hword	16412
				.hword	36
				.hword	10063
				.hword	71
				.hword	-32311
				.hword	16412
				.hword	21
				.hword	10830
				.hword	9157
				.hword	10565
				.hword	16412
				.hword	21
				.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
				.zero	2
		.LC3:
				.byte	44
				.string	"         Edinburgh IMP77 Compiler - Version "
				.zero	210
		.LC4:
				.byte	20
				.string	" Statements compiled"
				.zero	234
		.LC5:
				.byte	18
				.string	" Program contains "
				.zero	236
		.LC6:
				.byte	6
				.string	" fault"
				.zero	248
				.data
				.align	3
				.set	.LANCHOR1,. + 0
				.set	.LANCHOR2,. + 4352
		GMAX.7807:
				.word	719
				.zero	4
		GLINK.7812:
				.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.7811:
				.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.7735:
				.word	10
		CHAR.7790:
				.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.7795:
				.word	1
		CONT.7739:
				.word	32
		CSYM.7740:
				.word	32
		DMAX.7763:
				.word	1
		SPARENAMES.7690:
				.word	2047
		DP.7780:
				.word	1
		PHRASE.7810:
				.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
		THIS.7759:
				.word	-1
		TMIN.7764:
				.word	800
		PERM.7770:
				.word	1
		GMIN.7803:
				.word	1720
		OCOUNT.7774:
				.word	-1
		REALSLN.7748:
				.word	1
				.bss
				.align	3
				.set	.LANCHOR0,. + 0
		BP.7802:
				.zero	4
		DIMENSION.7784:
				.zero	4
		LIT.7792:
				.zero	4
				.zero	4
		PSTACK.8856:
				.zero	160
		CNEST.8834:
				.zero	16
		LINES.7727:
				.zero	4
		POS.7783:
				.zero	4
		COLUMN.7732:
				.zero	4
		ENDMARK.7738:
				.zero	4
		POS1.7781:
				.zero	4
		POS2.7782:
				.zero	4
		MARGIN.7729:
				.zero	4
		LAST.8248:
				.zero	4
		INCLUDE.7769:
				.zero	4
		ERRORMARGIN.7730:
				.zero	4
		ERRORSYM.7731:
				.zero	4
		SYMTYPE.7736:
				.zero	4
		QUOTE.7737:
				.zero	4
		KEY.8201:
				.zero	4
		TYPE.7721:
				.zero	4
		SEARCHBASE.7787:
				.zero	4
		RBASE.7762:
				.zero	4
		X.7717:
				.zero	4
		FORMATLIST.7788:
				.zero	4
		LIMIT.7775:
				.zero	4
		SUBATOM.7720:
				.zero	4
		ATOMFLAGS.7746:
				.zero	4
		FORMAT.7723:
				.zero	4
		APP.7722:
				.zero	4
		ATOM1.7718:
				.zero	4
		ESCAPECLASS.7744:
				.zero	4
		ATOM2.7719:
				.zero	4
		MAPGG.7757:
				.zero	4
		DECL.7741:
				.zero	4
		SPECGIVEN.7743:
				.zero	4
		FDEF.7758:
				.zero	4
		LAST1.7749:
				.zero	4
		COPY.7776:
				.zero	4
		DIM.7742:
				.zero	4
		INCLUDELEVEL.7768:
				.zero	4
		LP.7793:
				.zero	4
		TEXTLINE.7728:
				.zero	4
		LOCAL.7785:
				.zero	4
		FMBASE.7786:
				.zero	4
				.zero	4
		NAME.8857:
				.zero	256
		COUNT.8858:
				.zero	4
		GG.7756:
				.zero	4
		FAULTY.7725:
				.zero	4
		FAULTRATE.7726:
				.zero	4
		SS.7765:
				.zero	4
		SSTYPE.7772:
				.zero	4
		GENTYPE.7750:
				.zero	4
		FORCE.7754:
				.zero	4
		NMAX.7761:
				.zero	4
		NMIN.7760:
				.zero	4
		ORDER.7777:
				.zero	4
		PTYPE.7751:
				.zero	4
		STATS.7733:
				.zero	4
		G.7755:
				.zero	4
		CLASS.7716:
				.zero	4
		MONPOS.7734:
				.zero	4
		LA1.8226:
				.zero	4
		LA2.8227:
				.zero	4
		LSA.8228:
				.zero	4
		LT.8229:
				.zero	4
		PAPP.7752:
				.zero	4
		PFORMAT.7753:
				.zero	4
		LB.8840:
				.zero	4
		UB.8841:
				.zero	4
		OTYPE.7747:
				.zero	4
		SPECMODE.7773:
				.zero	4
		DUBIOUS.7779:
				.zero	4
		PROGMODE.7771:
				.zero	4
		BLOCKX.7794:
				.zero	4
		INCLUDELIST.7767:
				.zero	4
				.section	.data.rel.ro.local,"aw",@progbits
				.align	3
				.set	.LANCHOR4,. + 0
		REASON.7870:
				.xword	.L53
				.xword	.L53
				.xword	.L53
				.xword	.L53
				.xword	.L53
				.xword	.L53
				.xword	.L53
				.xword	.L53
				.xword	.L53
				.xword	.L53
		FM.7973:
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
				.xword	.L370
		ACT.8208:
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
				.xword	.L453
		PACTION.8213:
				.xword	.L462
				.xword	.L462
				.xword	.L462
				.xword	.L462
				.xword	.L462
				.xword	.L462
				.xword	.L462
				.xword	.L462
				.xword	.L462
				.xword	.L462
				.xword	.L462
				.xword	.L462
				.xword	.L462
				.xword	.L462
				.xword	.L462
				.xword	.L462
		C.8683:
				.xword	.L568
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L605
				.xword	.L596
				.xword	.L603
				.xword	.L604
				.xword	.L600
				.xword	.L601
				.xword	.L614
				.xword	.L597
				.xword	.L598
				.xword	.L610
				.xword	.L609
				.xword	.L616
				.xword	.L615
				.xword	.L848
				.xword	.L619
				.xword	.L635
				.xword	.L636
				.xword	.L637
				.xword	.L631
				.xword	.L632
				.xword	.L633
				.xword	.L634
				.xword	.L679
				.xword	.L677
				.xword	.L692
				.xword	.L694
				.xword	.L693
				.xword	.L848
				.xword	.L840
				.xword	.L638
				.xword	.L639
				.xword	.L640
				.xword	.L642
				.xword	.L643
				.xword	.L848
				.xword	.L647
				.xword	.L671
				.xword	.L662
				.xword	.L691
				.xword	.L848
				.xword	.L657
				.xword	.L653
				.xword	.L649
				.xword	.L651
				.xword	.L658
				.xword	.L648
				.xword	.L848
				.xword	.L695
				.xword	.L702
				.xword	.L700
				.xword	.L699
				.xword	.L685
				.xword	.L686
				.xword	.L687
				.xword	.L690
				.xword	.L688
				.xword	.L715
				.xword	.L716
				.xword	.L714
				.xword	.L717
				.xword	.L843
				.xword	.L595
				.xword	.L689
				.xword	.L742
				.xword	.L756
				.xword	.L757
				.xword	.L766
				.xword	.L848
				.xword	.L848
				.xword	.L750
				.xword	.L747
				.xword	.L748
				.xword	.L749
				.xword	.L752
				.xword	.L753
				.xword	.L754
				.xword	.L755
				.xword	.L669
				.xword	.L787
				.xword	.L758
				.xword	.L759
				.xword	.L760
				.xword	.L761
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L656
				.xword	.L763
				.xword	.L842
				.xword	.L848
				.xword	.L746
				.xword	.L740
				.xword	.L624
				.xword	.L623
				.xword	.L736
				.xword	.L848
				.xword	.L737
				.xword	.L743
				.xword	.L773
				.xword	.L620
				.xword	.L788
				.xword	.L838
				.xword	.L839
				.xword	.L771
				.xword	.L641
				.xword	.L781
				.xword	.L803
				.xword	.L772
				.xword	.L731
				.xword	.L778
				.xword	.L804
				.xword	.L729
				.xword	.L730
				.xword	.L630
				.xword	.L621
				.xword	.L670
				.xword	.L848
				.xword	.L791
				.xword	.L599
				.xword	.L782
				.xword	.L728
				.xword	.L805
				.xword	.L808
				.xword	.L810
				.xword	.L811
				.xword	.L812
				.xword	.L813
				.xword	.L814
				.xword	.L776
				.xword	.L650
				.xword	.L841
				.xword	.L751
				.xword	.L646
				.xword	.L764
				.xword	.L629
				.xword	.L848
				.xword	.L837
				.xword	.L626
				.xword	.L627
				.xword	.L628
				.xword	.L625
				.xword	.L618
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
				.xword	.L848
		LITOP.8817:
				.xword	.L816
				.xword	.L818
				.xword	.L819
				.xword	.L823
				.xword	.L825
				.xword	.L826
				.xword	.L827
				.xword	.L828
				.xword	.L829
				.xword	.L830
				.xword	.L831
				.xword	.L832
				.section	.rodata.str1.8,"aMS",@progbits,1
				.align	3
		.LC74:
				.string	"test-new/pass1.imp"
				.zero	5
		.LC75:
				.string	"->REASON(%d) out of bounds at %s line %d"
				.zero	7
		.LC76:
				.string	"switch jump to undefined label REASON(%d): at %s line %d"
				.zero	7
		.LC77:
				.string	"switch jump to undefined label FM(%d): at %s line %d"
				.zero	3
		.LC78:
				.string	"->ACT(%d) out of bounds at %s line %d"
				.zero	2
		.LC79:
				.string	"switch jump to undefined label ACT(%d): at %s line %d"
				.zero	2
		.LC80:
				.string	"->PACTION(%d) out of bounds at %s line %d"
				.zero	6
		.LC81:
				.string	"switch jump to undefined label PACTION(%d): at %s line %d"
				.zero	6
		.LC82:
				.string	"Illegal cycle J = 1, 1, BP"
				.zero	5
		.LC83:
				.string	"Illegal cycle J = DICT[N - 1], 1, DICT[N + 1 - 1]"
				.zero	6
		.LC84:
				.string	"->C(%d) out of bounds at %s line %d"
				.zero	4
		.LC85:
				.string	"switch jump to undefined label C(%d): at %s line %d"
				.zero	4
		.LC86:
				.string	"->LITOP(%d) out of bounds at %s line %d"
		.Letext0:
 2748
 2749 %endofprogram
 2404 Statements compiled
