         Edinburgh IMP77 Compiler - Version 8.4
    1 %external %routine %spec close output
		.Ltext0:
		OP.6644:
		.LFB189:
    2 %external %routine %spec close input
    3 %external %routine %spec open output(%integer i, %string(255) s)
    4 %external %routine %spec open input(%integer i, %string(255) s)
    5 %recordformat impcomfm(%integer statements, flags, code, gla, diags, perm,
    6                         %string(31) file,
    7                         %string(63) Option)
    8 %externalrecord(impcomfm) IMPCOM
    9
   10 !
   11 !            On EMAS all shorts should be changed to integers.
   12 !            Also, the INCLUDE facility will need to be modified.
   13 !
   14 !
   15          !###################################################
   16          !            Copyright: 1 January 1980             #
   17          !     Interactive Datasystems (Edinburgh) Ltd.     #
   18          !              32 Upper Gilmore Place              #
   19          !                Edinburgh EH3 9NJ                 #
   20          !               All Rights Reserved                #
   21          !###################################################
   22
   23 %BEGIN
		.LVL945:
				pushq	%rbx
				subq	$107040, %rsp
				movq	%fs:40, %rax
				movq	%rax, 107032(%rsp)
				xorl	%eax, %eax
				leaq	107056(%rsp), %rax
				movq	%rax, 107016(%rsp)
   24    %CONSTSTRING(4) version = "8.4"
				call	_imp_initialise@PLT
		.LVL946:
   25
   26    !configuration parameters
   27
   28    %CONSTINTEGER max int      = ((-1)>>1)//10
   29    %CONSTINTEGER max dig      = (-1)>>1-maxint*10
   30    %CONSTINTEGER byte size    = 8;            !bits per byte
   31    %CONSTINTEGER max tag      = 800;          !max no. of tags
   32    %CONSTINTEGER max dict     = 6000;         !max extent of dictionary
   33    %CONSTINTEGER name bits    = 11
   34    %CONSTINTEGER max names    = 1<<namebits-1
   35    %OWNINTEGER   spare names  = max names
   36    %CONSTINTEGER max grammar  = 1720
   37    %CONSTINTEGER lit max      = 50;           !max no. of constants/stat.
   38    %CONSTINTEGER rec size     = 520;          !size of analysis record
   39    %CONSTINTEGER dim limit    = 6;            !maximum array dimension
   40
   41    !symbols
   42
   43    %CONSTINTEGER ff     = 12;              !form feed
   44    %CONSTINTEGER marker = '^';             !marker for faults
   45    %CONSTINTEGER squote = '"';             !string quote
   46    %CONSTINTEGER cquote = '''';            !character quote
   47
   48    !streams
   49
   50    %CONSTINTEGER source = 1; ! input streams
   51    ! 2 is for prims
   52    ! 3 is for include files
   53    %CONSTINTEGER report = 0, object = 1, listing = 2;! output streams
   54
   55
   56    !types
   57
   58    %CONSTINTEGER integer = 1
   59    %CONSTINTEGER real    = 2
   60    %CONSTINTEGER stringv = 3
   61    %CONSTINTEGER record  = 4
   62
   63    !forms
   64
   65    %CONSTINTEGER iform = integer<<4+1
   66
   67    %CONSTINTEGER var = 91
   68    %CONSTINTEGER const   = 93
   69    %CONSTINTEGER swit    = 105
   70    %CONSTINTEGER comment = 22
   71    %CONSTINTEGER termin  = 20
   72    %CONSTINTEGER lab     = 3
   73    %CONSTINTEGER jump    = 54
   74
   75    %CONSTINTEGER recfm = 4
   76    %CONSTINTEGER proc  = 7;                     !class for proc
   77
   78    !phrase entries
   79
   80    %CONSTINTEGER escdec   = 252
   81    %CONSTINTEGER escproc  = 253
   82    %CONSTINTEGER escarray = 254
   83    %CONSTINTEGER escrec   = 255
   84
   85    %RECORDFORMAT arfm(%SHORTINTEGER class,sub,link,ptype,papp,pformat,x,pos);!imp77:
   86 !emas:%RECORDFORMAT arfm(%INTEGER class,sub,link,ptype,papp,pformat,x,pos)
   87
   88    %RECORDFORMAT tagfm(%INTEGER app, format, %C
   89                        %SHORTINTEGER flags, index, text, link)
   90
   91    !flags
   92
   93 !      *===.===.===.===.===.====.====.====.===.======.======*
   94 !      ! u ! c ! c ! p ! s ! a  ! o  ! pr ! s ! type ! form !
   95 !      ! 1 ! 1 ! 1 ! 1 ! 1 ! 1  ! 1  ! 1  ! 1 !  3   !  4   !
   96 !      *===^===^===^===^===^====^====^====^===^======^======*
   97 !        u   c   c   p   s   a    o    p    s    t      f
   98 !        s   l   o   a   u   n    w    r    p    y      o
   99 !        e   o   n   r   b   a    n    o    e    p      r
  100 !        d   s   s   a   n   m         t    c    e      m
  101 !            e   t   m   a   e
  102 !            d       s   m
  103 !                        e
  104 !
  105 !
  106
  107    %CONSTINTEGER used bit   = b'1000000000000000',
  108                  closed     = b'0100000000000000',
  109                  const bit  = b'0010000000000000',
  110                  parameters = b'0001000000000000',
  111                  subname    = b'0000100000000000',
  112                  aname      = b'0000010000000000',
  113                  own bit    = b'0000001000000000',
  114                  prot       = b'0000000100000000',
  115                  spec       = b'0000000010000000'
  116
  117    %CONSTINTEGER trans bit  = x'4000'
  118    %CONSTINTEGER error      = x'8000'
  119
  120    %CONSTINTEGER manifest = 120, figurative = 130
  121    %CONSTINTEGER actions  = 180, phrasal    = 200
  122
  123    %CONSTBYTEINTEGERARRAY amap(0:15) = %C
				movb	$89, 40694(%rsp)
				movb	$91, 40695(%rsp)
				movb	$92, 40696(%rsp)
				movb	$104, 40697(%rsp)
				movb	$94, 40698(%rsp)
				movb	$93, 40699(%rsp)
				movb	$105, 40700(%rsp)
				movb	$100, 40701(%rsp)
				movb	$101, 40702(%rsp)
				movb	$102, 40703(%rsp)
				movb	$103, 40704(%rsp)
				movb	$106, 40705(%rsp)
				movb	$107, 40706(%rsp)
				movb	$108, 40707(%rsp)
				movb	$109, 40708(%rsp)
				movb	$89, 40709(%rsp)
  124  89, 91, 92, 104, 94, const, swit, 100, 101, 102, 103, 106, 107, 108, 109, 89
  125 !?   v   n   l    fm  const  swit  rp   fp   mp   pp   a    an   na   nan  ?
  126
  127    %CONSTBYTEINTEGERARRAY atoms(0:15) = 89, 1, 1, 10,  9,  1, 10,  7,
				movb	$89, 40628(%rsp)
				movb	$1, 40629(%rsp)
				movb	$1, 40630(%rsp)
				movb	$10, 40631(%rsp)
				movb	$9, 40632(%rsp)
				movb	$1, 40633(%rsp)
				movb	$10, 40634(%rsp)
				movb	$7, 40635(%rsp)
				movb	$7, 40636(%rsp)
				movb	$7, 40637(%rsp)
				movb	$7, 40638(%rsp)
				movb	$4, 40639(%rsp)
				movb	$1, 40640(%rsp)
				movb	$4, 40641(%rsp)
				movb	$1, 40642(%rsp)
				movb	$89, 40643(%rsp)
  128                                          7, 7, 7,  4,  1,  4,  1, 89
  129
  130    %RECORD(arfm)%ARRAY ar(1:rec size)
  131
  132    %OWNINTEGER class        = 0;             !class of atom wanted
  133    %OWNINTEGER x            = 0;             !usually last tag
  134    %OWNINTEGER atom1        = 0;             !atom class (major)
  135    %OWNINTEGER atom2        = 0;             !atom class (minor)
  136    %OWNINTEGER subatom      = 0;             !extra info about atom
  137    %OWNINTEGER type         = 0,
  138                app          = 0,
  139                format       = 0;             !atom info
  140    %INTEGER hash value
  141    %OWNINTEGER faulty       = 0;             !fault indicator
  142    %OWNINTEGER fault rate   = 0;             !fault rate count
  143    %OWNINTEGER lines        = 0;             !current line number
  144    %OWNINTEGER text line    = 0;             !starting line for string const
  145    %OWNINTEGER margin       = 0;             !statement start margin
  146    %OWNINTEGER error margin = 0,
  147                error sym    = 0,
  148                column       = 0
  149    %OWNINTEGER stats        = 0;             !statements compiled
  150    %OWNINTEGER mon pos      = 0;             !flag for diagnose
  151    %OWNINTEGER sym          = nl;            !current input symbol
  152    %OWNINTEGER symtype      = 0;             !type of current symbol
  153    %OWNINTEGER quote        = 0;             !>0 strings, <0 chars
  154    %owninteger end mark     = 0;             !%end flag
  155    %OWNINTEGER cont         = ' ',
  156                csym         = ' ';           !listing continuation marker
  157    %OWNINTEGER decl         = 0;             !current declarator flags
  158    %OWNINTEGER dim          = 0;             !arrayname dimension
  159    %OWNINTEGER spec given   = 0
  160
  161    %OWNINTEGER escape class = 0;             !when and where to escape
  162    %OWNINTEGER protection   = 0,
  163                atom flags   = 0
  164    %OWNINTEGER otype        = 0;             !current 'own' type
  165    %OWNINTEGER reals ln     = 1;             ! =4 for %REALSLONG
  166    %OWNINTEGER last1        = 0;             !previous atom class
  167    %OWNINTEGER gen type     = 0
  168    %OWNINTEGER ptype        = 0;             !current phrase type
  169    %OWNINTEGER papp         = 0;             !current phrase parameters
  170    %OWNINTEGER pformat      = 0;             !current phrase format
  171    %OWNINTEGER force        = 0;             !force next ptype
  172    %OWNINTEGER g            = 0,
  173                gg           = 0,
  174                map gg       = 0;             !grammar entries
  175    %OWNINTEGER fdef         = 0;             !current format definition
  176    %OWNINTEGER this         = -1;            !current recordformat tag
  177    %OWNINTEGER nmin         = 0;             !analysis record atom pointer
  178    %OWNINTEGER nmax         = 0;             !analysis record phrase pointer
  179    %OWNINTEGER rbase        = 0;             !record format definition base
  180    %OWNINTEGER stbase       = 0;             !constant work area base
  181    %OWNINTEGER gmin         = max grammar;   !upper bound on grammar
  182    %OWNINTEGER dmax         = 1
  183    %OWNINTEGER tmin         = max tag;       !upper bound on tags
  184    %OWNINTEGER ss           = 0;             !source statement entry
  185    %STRING(63) include file
  186    %OWNINTEGER include list = 0,
  187                include level= 0
  188    %OWNINTEGER include      = 0;                 !=0 unused, #0 being used
  189    %OWNINTEGER perm         = 1;             !1 = compiling perm, 0 = program
  190    %OWNINTEGER progmode     = 0;             !-1 = file, 1 = begin/eop
  191    %OWNINTEGER sstype       = 0;             !-1:exec stat
  192                                              ! 0: declaration
  193                                              ! 1: block in
  194                                              ! 2: block out
  195    %OWNINTEGER spec mode    = 0;             !>=0: definition
  196                                              ! -1: proc spec
  197                                              ! -2: recordformat
  198    %OWNINTEGER ocount       = -1;            !own constants wanted
  199    %OWNINTEGER limit        = 0;             !lookup limit
  200    %OWNINTEGER copy         = 0;             !duplicate name flag
  201    %OWNINTEGER order        = 0;             !out of sequence flag
  202    %OWNINTEGER for warn     = 0;             !non-local flag
  203    %OWNINTEGER dubious      = 0;             !flag for dubious statements
  204    %OWNINTEGER dp           = 1
  205    %OWNINTEGER pos1         = 0,
  206                pos2         = 0;             !error position
  207    %OWNINTEGER pos          = 0;             !input line index
  208    %OWNINTEGER dimension    = 0;             !current array dimension
  209    %OWNINTEGER local        = 0;             !search limit for locals
  210    %OWNINTEGER fm base      = 0;             !entry for format decls
  211    %OWNINTEGER search base  = 0;             !entry for record_names
  212    %OWNINTEGER format list  = 0;             !size of current format list
  213    %INTEGER recid
  214    %OWNBYTEINTEGERARRAY char(0:133) = nl(134);  !input line
  215    %INTEGERARRAY lit pool(0:lit max)
  216    %OWNINTEGER lit          = 0;             !current literal (integer)
  217    %OWNINTEGER lp           = 0;             !literals pointer
  218    %OWNINTEGER block x      = 0;             !block tag
  219    %OWNINTEGER list         = 1;             !<= to enable
  220    %OWNINTEGER control      = 0
  221    %OWNINTEGER diag         = 0;             !diagnose flags
  222    %SHORTINTEGERARRAY hash(0:max names)
  223    %RECORD(tagfm)%ARRAY tag(0:max tag)
  224    %SHORTINTEGERARRAY dict(1:max dict)
  225    %BYTEINTEGERARRAY buff(1:512)
  226    %OWNINTEGER bp           = 0
  227
  228 !*** start of generated tables ***
  229    %endoflist
  575 !***  end  of generated tables ***
				leaq	40710(%rsp), %rdi
				movl	$65536, %edx
				movl	$0, %esi
				call	memset@PLT
		.LVL947:
				movb	$1, 40710(%rsp)
				movq	$90, 40711(%rsp)
				movb	$4, 40966(%rsp)
				movq	$1128612950, 40967(%rsp)
				movb	$7, 41222(%rsp)
				movabsq	$18934983247681359, %rax
				movq	%rax, 41223(%rsp)
				movb	$8, 41478(%rsp)
				movabsq	$4847368892795082821, %rax
				movq	%rax, 41479(%rsp)
				movb	$4, 41734(%rsp)
				movq	$1128612929, 41735(%rsp)
				movb	$7, 41990(%rsp)
				movabsq	$18934982895359823, %rax
				movq	%rax, 41991(%rsp)
				movb	$8, 42246(%rsp)
				movabsq	$4847368892442761285, %rax
				movq	%rax, 42247(%rsp)
				movb	$4, 42502(%rsp)
				movq	$1129271888, 42503(%rsp)
				movb	$8, 42758(%rsp)
				leaq	33225227(%rax), %rax
				movq	%rax, 42759(%rsp)
				movb	$7, 43014(%rsp)
				movabsq	$18934983096946502, %rax
				movq	%rax, 43015(%rsp)
				movb	$5, 43270(%rsp)
				movabsq	$288924915539, %rax
				movq	%rax, 43271(%rsp)
				movb	$4, 43526(%rsp)
				movq	$1128612940, 43527(%rsp)
				movb	$8, 43782(%rsp)
				movabsq	$4847368892643954502, %rax
				movq	%rax, 43783(%rsp)
				movb	$6, 45318(%rsp)
				movabsq	$86102439645263, %rax
				movq	%rax, 45319(%rsp)
				movb	$5, 45574(%rsp)
				movabsq	$280469786435, %rax
				movq	%rax, 45575(%rsp)
				movb	$1, 45830(%rsp)
				movq	$84, 45831(%rsp)
				movb	$5, 46086(%rsp)
				movabsq	$336337850179, %rax
				movq	%rax, 46087(%rsp)
				movb	$7, 46342(%rsp)
				movabsq	$23729957600317251, %rax
				movq	%rax, 46343(%rsp)
				movb	$2, 46598(%rsp)
				movq	$16972, 46599(%rsp)
				movb	$5, 46854(%rsp)
				movabsq	$357577608257, %rax
				movq	%rax, 46855(%rsp)
				movb	$2, 47110(%rsp)
				movq	$16978, 47111(%rsp)
				movb	$3, 47366(%rsp)
				movq	$4347219, 47367(%rsp)
				movb	$6, 47622(%rsp)
				movabsq	$75150138692161, %rax
				movq	%rax, 47623(%rsp)
				movb	$5, 47878(%rsp)
				movabsq	$297700774995, %rax
				movq	%rax, 47879(%rsp)
				movb	$5, 48134(%rsp)
				movabsq	$383348003393, %rax
				movq	%rax, 48135(%rsp)
				movb	$4, 48390(%rsp)
				movq	$1162690894, 48391(%rsp)
				movb	$5, 48646(%rsp)
				movabsq	$293187048016, %rax
				movq	%rax, 48647(%rsp)
				movb	$5, 48902(%rsp)
				movabsq	$344692969030, %rax
				movq	%rax, 48903(%rsp)
				movb	$6, 49158(%rsp)
				movabsq	$79454014101331, %rax
				movq	%rax, 49159(%rsp)
				movb	$3, 49414(%rsp)
				movq	$5134159, 49415(%rsp)
				movb	$8, 49670(%rsp)
				movabsq	$5494759135626156101, %rax
				movq	%rax, 49671(%rsp)
				movb	$6, 49926(%rsp)
				movabsq	$78401563153491, %rax
				movq	%rax, 49927(%rsp)
				movb	$6, 50182(%rsp)
				movabsq	$75120307815762, %rax
				movq	%rax, 50183(%rsp)
				movb	$6, 50438(%rsp)
				movabsq	$92639446847302, %rax
				movq	%rax, 50439(%rsp)
				movb	$4, 50694(%rsp)
				movq	$1128616019, 50695(%rsp)
				movb	$5, 50950(%rsp)
				movabsq	$297498788685, %rax
				movq	%rax, 50951(%rsp)
				movb	$5, 51206(%rsp)
				movabsq	$327579484492, %rax
				movq	%rax, 51207(%rsp)
				movb	$3, 51462(%rsp)
				movq	$3231823, 51463(%rsp)
				movb	$3, 51718(%rsp)
				movq	$3297359, 51719(%rsp)
				movb	$3, 51974(%rsp)
				movq	$3362895, 51975(%rsp)
				movb	$4, 52230(%rsp)
				movq	$1313294675, 52231(%rsp)
				movb	$3, 52486(%rsp)
				movq	$5263189, 52487(%rsp)
				movb	$3, 52742(%rsp)
				movq	$4476749, 52743(%rsp)
				movb	$3, 52998(%rsp)
				movq	$5525316, 52999(%rsp)
				movb	$4, 53254(%rsp)
				movq	$1347243843, 53255(%rsp)
				movb	$5, 53510(%rsp)
				movabsq	$344894423873, %rax
				movq	%rax, 53511(%rsp)
				movb	$2, 53766(%rsp)
				movq	$20805, 53767(%rsp)
				movb	$4, 54022(%rsp)
				movq	$1363497285, 54023(%rsp)
				movb	$3, 54278(%rsp)
				movq	$5062986, 54279(%rsp)
				movb	$4, 54534(%rsp)
				movq	$1347245386, 54535(%rsp)
				movb	$5, 54790(%rsp)
				leaq	33817105(%rax), %rax
				movq	%rax, 54791(%rsp)
				movb	$3, 55046(%rsp)
				movq	$4476481, 55047(%rsp)
				movb	$2, 55302(%rsp)
				movq	$21071, 55303(%rsp)
				movb	$3, 55558(%rsp)
				movq	$5525326, 55559(%rsp)
				movb	$5, 55814(%rsp)
				movabsq	$297632614487, %rax
				movq	%rax, 55815(%rsp)
				movb	$5, 56070(%rsp)
				movabsq	$327647776341, %rax
				movq	%rax, 56071(%rsp)
				movb	$3, 56326(%rsp)
				movq	$5394246, 56327(%rsp)
				movb	$5, 56582(%rsp)
				movabsq	$293438707523, %rax
				movq	%rax, 56583(%rsp)
				movb	$4, 56838(%rsp)
				movq	$1414092869, 56839(%rsp)
				movb	$2, 57094(%rsp)
				movq	$20047, 57095(%rsp)
				movb	$6, 57350(%rsp)
				movabsq	$83843369879891, %rax
				movq	%rax, 57351(%rsp)
				movb	$4, 57606(%rsp)
				movq	$1313163348, 57607(%rsp)
				movb	$5, 57862(%rsp)
				movabsq	$362157266003, %rax
				movq	%rax, 57863(%rsp)
				movb	$4, 58118(%rsp)
				movq	$1163086917, 58119(%rsp)
				movb	$6, 58374(%rsp)
				movabsq	$79522549352774, %rax
				movq	%rax, 58375(%rsp)
				movb	$5, 58630(%rsp)
				movabsq	$297750250822, %rax
				movq	%rax, 58631(%rsp)
				movb	$5, 58886(%rsp)
				leaq	-118025219(%rax), %rax
				movq	%rax, 58887(%rsp)
				movb	$6, 59142(%rsp)
				movabsq	$92639312495954, %rax
				movq	%rax, 59143(%rsp)
				movb	$7, 59398(%rsp)
				movabsq	$21745394846224976, %rax
				movq	%rax, 59399(%rsp)
				movb	$5, 59654(%rsp)
				movabsq	$336236856642, %rax
				movq	%rax, 59655(%rsp)
				movb	$3, 59910(%rsp)
				movq	$4476485, 59911(%rsp)
				movb	$7, 60166(%rsp)
				movabsq	$20071938299022917, %rax
				movq	%rax, 60167(%rsp)
				movb	$7, 60422(%rsp)
				movabsq	$21764030859595333, %rax
				movq	%rax, 60423(%rsp)
				movb	$7, 60678(%rsp)
				movabsq	$23727827396678214, %rax
				movq	%rax, 60679(%rsp)
				movb	$7, 60934(%rsp)
				leaq	7(%rax), %rax
				movq	%rax, 60935(%rsp)
				movb	$4, 61190(%rsp)
				movq	$1262698818, 61191(%rsp)
				movb	$7, 61446(%rsp)
				movabsq	$23168171515989837, %rax
				movq	%rax, 61447(%rsp)
				movb	$4, 61702(%rsp)
				movq	$1347376211, 61703(%rsp)
				movb	$4, 61958(%rsp)
				movq	$1414744396, 61959(%rsp)
				movb	$7, 62214(%rsp)
				movabsq	$22038968828773714, %rax
				movq	%rax, 62215(%rsp)
				movb	$7, 62470(%rsp)
				movabsq	$21479313250340675, %rax
				movq	%rax, 62471(%rsp)
				movb	$7, 62726(%rsp)
				movabsq	$19496906535423561, %rax
				movq	%rax, 62727(%rsp)
				movb	$4, 62982(%rsp)
				movq	$1397965133, 62983(%rsp)
				movb	$5, 63238(%rsp)
				movabsq	$297700774994, %rax
				movq	%rax, 63239(%rsp)
				movb	$5, 63494(%rsp)
				movabsq	$344927257665, %rax
				movq	%rax, 63495(%rsp)
				movb	$5, 63750(%rsp)
				movabsq	$362090415177, %rax
				movq	%rax, 63751(%rsp)
				movb	$1, 64006(%rsp)
				movq	$86, 64007(%rsp)
				movb	$1, 64262(%rsp)
				movq	$78, 64263(%rsp)
				movb	$5, 64518(%rsp)
				leaq	84478714(%rax), %rax
				movq	%rax, 64519(%rsp)
				movb	$2, 64774(%rsp)
				movq	$19782, 64775(%rsp)
				movb	$1, 65286(%rsp)
				movq	$82, 65287(%rsp)
				movb	$1, 65542(%rsp)
				movq	$70, 65543(%rsp)
				movb	$1, 65798(%rsp)
				movq	$77, 65799(%rsp)
				movb	$1, 66054(%rsp)
				movq	$80, 66055(%rsp)
				movb	$2, 66310(%rsp)
				movq	$20562, 66311(%rsp)
				movb	$2, 66566(%rsp)
				movq	$20550, 66567(%rsp)
				movb	$2, 66822(%rsp)
				movq	$20557, 66823(%rsp)
				movb	$2, 67078(%rsp)
				movq	$20560, 67079(%rsp)
				movb	$1, 67334(%rsp)
				movq	$76, 67335(%rsp)
				movb	$1, 67590(%rsp)
				movq	$83, 67591(%rsp)
				movb	$1, 67846(%rsp)
				movq	$65, 67847(%rsp)
				movb	$2, 68102(%rsp)
				movq	$20033, 68103(%rsp)
				movb	$2, 68358(%rsp)
				movq	$16718, 68359(%rsp)
				movb	$3, 68614(%rsp)
				movq	$5128526, 68615(%rsp)
				movb	$7, 71430(%rsp)
				movabsq	$23734338584792357, %rax
				movq	%rax, 71431(%rsp)
				movb	$6, 71686(%rsp)
				movabsq	$90440288977701, %rax
				movq	%rax, 71687(%rsp)
				movb	$5, 71942(%rsp)
				movabsq	$293220798501, %rax
				movq	%rax, 71943(%rsp)
				movb	$8, 72454(%rsp)
				movabsq	$6004792854232515621, %rax
				movq	%rax, 72455(%rsp)
				movb	$4, 72710(%rsp)
				movq	$1347765285, 72711(%rsp)
				movb	$4, 72966(%rsp)
				movq	$1313427493, 72967(%rsp)
				movb	$5, 73222(%rsp)
				movabsq	$362208514085, %rax
				movq	%rax, 73223(%rsp)
				movb	$5, 73478(%rsp)
				movabsq	$345027921189, %rax
				movq	%rax, 73479(%rsp)
				movb	$6, 73990(%rsp)
				movabsq	$92695146285392, %rax
				movq	%rax, 73991(%rsp)
				movb	$6, 74246(%rsp)
				leaq	-13(%rax), %rax
				movq	%rax, 74247(%rsp)
				movb	$6, 74502(%rsp)
				leaq	12(%rax), %rax
				movq	%rax, 74503(%rsp)
				movb	$5, 74758(%rsp)
				movabsq	$297648868934, %rax
				movq	%rax, 74759(%rsp)
				movb	$4, 75014(%rsp)
				movq	$1145657171, 75015(%rsp)
				movb	$4, 75270(%rsp)
				movq	$1280593732, 75271(%rsp)
				movb	$4, 75526(%rsp)
				movq	$1381257028, 75527(%rsp)
				movb	$4, 75782(%rsp)
				movq	$1346720577, 75783(%rsp)
				movb	$4, 76038(%rsp)
				movq	$1346720579, 76039(%rsp)
				movb	$4, 76294(%rsp)
				movq	$1346720591, 76295(%rsp)
				movb	$4, 76550(%rsp)
				movq	$1346720592, 76551(%rsp)
				movb	$3, 76806(%rsp)
				movq	$4346433, 76807(%rsp)
				movb	$5, 77062(%rsp)
				movabsq	$284848574530, %rax
				movq	%rax, 77063(%rsp)
				movb	$3, 77318(%rsp)
				movq	$4346447, 77319(%rsp)
				movb	$3, 77574(%rsp)
				movq	$4346448, 77575(%rsp)
				movb	$3, 77830(%rsp)
				movq	$4346435, 77831(%rsp)
				movb	$4, 78086(%rsp)
				movq	$1112687442, 78087(%rsp)
				movb	$5, 78342(%rsp)
				leaq	-592624(%rax), %rax
				movq	%rax, 78343(%rsp)
				movb	$5, 78598(%rsp)
				leaq	-100663296(%rax), %rax
				movq	%rax, 78599(%rsp)
				movb	$3, 78854(%rsp)
				movq	$4342092, 78855(%rsp)
				movb	$4, 79110(%rsp)
				movq	$1111575629, 79111(%rsp)
				movb	$4, 79366(%rsp)
				movq	$1111575635, 79367(%rsp)
				movb	$5, 79622(%rsp)
				movabsq	$297648868952, %rax
				movq	%rax, 79623(%rsp)
				movb	$4, 79878(%rsp)
				movq	$1414420303, 79879(%rsp)
				movb	$5, 80134(%rsp)
				movabsq	$344760468036, %rax
				movq	%rax, 80135(%rsp)
				movb	$6, 80390(%rsp)
				movabsq	$92716772836176, %rax
				movq	%rax, 80391(%rsp)
				movb	$4, 80646(%rsp)
				movq	$1146047811, 80647(%rsp)
				movb	$5, 80902(%rsp)
				movabsq	$336203436867, %rax
				movq	%rax, 80903(%rsp)
				movb	$4, 81158(%rsp)
				movq	$1347376451, 81159(%rsp)
				movb	$4, 81414(%rsp)
				movq	$827346755, 81415(%rsp)
				movb	$4, 81670(%rsp)
				movq	$844123971, 81671(%rsp)
				movb	$4, 81926(%rsp)
				movq	$860901187, 81927(%rsp)
				movb	$5, 82182(%rsp)
				movabsq	$301809815113, %rax
				movq	%rax, 82183(%rsp)
				movb	$5, 82438(%rsp)
				movabsq	$297750250840, %rax
				movq	%rax, 82439(%rsp)
				movb	$6, 82694(%rsp)
				movabsq	$88301629690435, %rax
				movq	%rax, 82695(%rsp)
				movb	$4, 82950(%rsp)
				movq	$1111575630, 82951(%rsp)
				movb	$6, 83206(%rsp)
				movabsq	$83877830743378, %rax
				movq	%rax, 83207(%rsp)
				movb	$6, 83462(%rsp)
				movabsq	$92716772836161, %rax
				movq	%rax, 83463(%rsp)
				movb	$4, 83718(%rsp)
				movq	$1112691279, 83719(%rsp)
				movb	$5, 83974(%rsp)
				movabsq	$383564991814, %rax
				movq	%rax, 83975(%rsp)
				movb	$7, 84230(%rsp)
				movabsq	$20070800167293775, %rax
				movq	%rax, 84231(%rsp)
				movb	$4, 84486(%rsp)
				movq	$1112296774, 84487(%rsp)
				movb	$4, 84742(%rsp)
				movq	$1112689990, 84743(%rsp)
				movb	$4, 84998(%rsp)
				movq	$1380928838, 84999(%rsp)
				movb	$7, 85254(%rsp)
				movabsq	$18667805965435218, %rax
				movq	%rax, 85255(%rsp)
				movb	$4, 85510(%rsp)
				movq	$1145656134, 85511(%rsp)
				movb	$6, 87046(%rsp)
				movabsq	$98188544787493, %rax
				movq	%rax, 87047(%rsp)
				movb	$5, 87302(%rsp)
				movabsq	$327546127397, %rax
				movq	%rax, 87303(%rsp)
				movb	$5, 87558(%rsp)
				movabsq	$297700774949, %rax
				movq	%rax, 87559(%rsp)
				movb	$5, 87814(%rsp)
				movabsq	$340682693157, %rax
				movq	%rax, 87815(%rsp)
				movb	$6, 88070(%rsp)
				movabsq	$98184299823397, %rax
				movq	%rax, 88071(%rsp)
				movb	$5, 88326(%rsp)
				movabsq	$362108047397, %rax
				movq	%rax, 88327(%rsp)
				movb	$8, 88582(%rsp)
				movabsq	$6075164927310779173, %rax
				movq	%rax, 88583(%rsp)
				movb	$6, 88838(%rsp)
				movabsq	$76211398397989, %rax
				movq	%rax, 88839(%rsp)
				movb	$5, 89094(%rsp)
				movabsq	$344943839013, %rax
				movq	%rax, 89095(%rsp)
				movb	$6, 89350(%rsp)
				movabsq	$83843185855525, %rax
				movq	%rax, 89351(%rsp)
				movb	$6, 89606(%rsp)
				movabsq	$75120074114853, %rax
				movq	%rax, 89607(%rsp)
				movb	$6, 89862(%rsp)
				movabsq	$76159689903397, %rax
				movq	%rax, 89863(%rsp)
				movb	$7, 90118(%rsp)
				movabsq	$25136267465605925, %rax
				movq	%rax, 90119(%rsp)
				movb	$8, 90374(%rsp)
				movabsq	$4994590205479834405, %rax
				movq	%rax, 90375(%rsp)
				movb	$5, 90630(%rsp)
				movabsq	$353350209317, %rax
				movq	%rax, 90631(%rsp)
				movb	$6, 90886(%rsp)
				movabsq	$84942948225061, %rax
				movq	%rax, 90887(%rsp)
				movb	$6, 91142(%rsp)
				movabsq	$82752465289765, %rax
				movq	%rax, 91143(%rsp)
				movb	$6, 91398(%rsp)
				movabsq	$90457519705893, %rax
				movq	%rax, 91399(%rsp)
				movb	$8, 91654(%rsp)
				movabsq	$4993446696090288933, %rax
				movq	%rax, 91655(%rsp)
				movb	$3, 91910(%rsp)
				movq	$5263425, 91911(%rsp)
				movb	$7, 92166(%rsp)
				movabsq	$22606239403032898, %rax
				movq	%rax, 92167(%rsp)
				movb	$4, 92422(%rsp)
				movq	$844124225, 92423(%rsp)
				movb	$4, 92678(%rsp)
				movq	$860901441, 92679(%rsp)
				movb	$4, 92934(%rsp)
				movq	$877678657, 92935(%rsp)
				movb	$4, 93190(%rsp)
				movq	$894455873, 93191(%rsp)
				movb	$4, 93446(%rsp)
				movq	$911233089, 93447(%rsp)
				movb	$5, 93702(%rsp)
				movabsq	$336186393665, %rax
				movq	%rax, 93703(%rsp)
				movb	$5, 93958(%rsp)
				movabsq	$332092493902, %rax
				movq	%rax, 93959(%rsp)
				movb	$5, 94214(%rsp)
				movabsq	$301809817427, %rax
				movq	%rax, 94215(%rsp)
				movb	$5, 94470(%rsp)
				movabsq	$357627942739, %rax
				movq	%rax, 94471(%rsp)
				movb	$5, 94726(%rsp)
				movabsq	$345078319427, %rax
				movq	%rax, 94727(%rsp)
				movb	$6, 94982(%rsp)
				movabsq	$92716772836178, %rax
				movq	%rax, 94983(%rsp)
				movb	$6, 95238(%rsp)
				leaq	1(%rax), %rax
				movq	%rax, 95239(%rsp)
				movb	$6, 95494(%rsp)
				movabsq	$88344278225473, %rax
				movq	%rax, 95495(%rsp)
				movb	$4, 95750(%rsp)
				movq	$1347242328, 95751(%rsp)
				movb	$3, 96006(%rsp)
				movq	$5262665, 96007(%rsp)
				movb	$4, 96262(%rsp)
				movq	$1145982787, 96263(%rsp)
				movb	$5, 96518(%rsp)
				movabsq	$293371593555, %rax
				movq	%rax, 96519(%rsp)
				movb	$4, 96774(%rsp)
				movq	$827349061, 96775(%rsp)
				movb	$4, 97030(%rsp)
				movq	$844126277, 97031(%rsp)
				movb	$4, 97286(%rsp)
				movq	$1347962195, 97287(%rsp)
				movb	$4, 97542(%rsp)
				movq	$1347962185, 97543(%rsp)
				movb	$5, 97798(%rsp)
				movabsq	$211801359689, %rax
				movq	%rax, 97799(%rsp)
				movb	$5, 98054(%rsp)
				movabsq	$216096326985, %rax
				movq	%rax, 98055(%rsp)
				movb	$5, 98310(%rsp)
				movabsq	$345078321993, %rax
				movq	%rax, 98311(%rsp)
				movb	$3, 98566(%rsp)
				movq	$5326163, 98567(%rsp)
				movb	$4, 98822(%rsp)
				movq	$1178944582, 98823(%rsp)
				movb	$3, 99078(%rsp)
				movq	$5265477, 99079(%rsp)
				movb	$7, 99334(%rsp)
				movabsq	$22616135225721166, %rax
				movq	%rax, 99335(%rsp)
				movb	$6, 99590(%rsp)
				movabsq	$92648171000915, %rax
				movq	%rax, 99591(%rsp)
				movb	$6, 99846(%rsp)
				movabsq	$88340050429266, %rax
				movq	%rax, 99847(%rsp)
				movb	$3, 100102(%rsp)
				movq	$5001282, 100103(%rsp)
				movb	$6, 100358(%rsp)
				movabsq	$72929942327107, %rax
				movq	%rax, 100359(%rsp)
				movb	$5, 100614(%rsp)
				movabsq	$331875633478, %rax
				movq	%rax, 100615(%rsp)
				movb	$5, 100870(%rsp)
				movabsq	$280335896397, %rax
				movq	%rax, 100871(%rsp)
				movb	$5, 101126(%rsp)
				movabsq	$362174565443, %rax
				movq	%rax, 101127(%rsp)
				movb	$3, 101382(%rsp)
				movq	$5263430, 101383(%rsp)
				movb	$4, 101638(%rsp)
				movq	$810569798, 101639(%rsp)
				movb	$4, 101894(%rsp)
				movq	$827347014, 101895(%rsp)
				movb	$4, 102150(%rsp)
				movq	$844124230, 102151(%rsp)
				movb	$7, 102406(%rsp)
				movabsq	$23152787127357001, %rax
				movq	%rax, 102407(%rsp)
				movb	$6, 102662(%rsp)
				movabsq	$88340049380690, %rax
				movq	%rax, 102663(%rsp)
				movb	$4, 102918(%rsp)
				movq	$1347242309, 102919(%rsp)
				movb	$6, 103174(%rsp)
				movabsq	$91621555520585, %rax
				movq	%rax, 103175(%rsp)
				movb	$5, 103430(%rsp)
				movabsq	$297549054290, %rax
				movq	%rax, 103431(%rsp)
				movb	$7, 103686(%rsp)
				movabsq	$18670065235739474, %rax
				movq	%rax, 103687(%rsp)
				movb	$4, 103942(%rsp)
				movq	$1347567958, 103943(%rsp)
				movb	$7, 104198(%rsp)
				movabsq	$18934983213796937, %rax
				movq	%rax, 104199(%rsp)
				movb	$6, 105222(%rsp)
				movabsq	$73964777067333, %rax
				movq	%rax, 105223(%rsp)
				movb	$7, 105478(%rsp)
				movabsq	$18946038392116037, %rax
				movq	%rax, 105479(%rsp)
				movb	$8, 105734(%rsp)
				movabsq	$6431512256097506117, %rax
				movq	%rax, 105735(%rsp)
				movb	$6, 105990(%rsp)
				movabsq	$73965011948357, %rax
				movq	%rax, 105991(%rsp)
				movb	$90, 40644(%rsp)
				movb	$90, 40645(%rsp)
				movb	$90, 40646(%rsp)
				movb	$90, 40647(%rsp)
				movb	$90, 40648(%rsp)
				movb	$48, 40649(%rsp)
				movb	$48, 40650(%rsp)
				movb	$19, 40651(%rsp)
				movb	$19, 40652(%rsp)
				movb	$19, 40653(%rsp)
				movb	$19, 40654(%rsp)
				movb	$25, 40655(%rsp)
				movb	$25, 40656(%rsp)
				movb	$25, 40657(%rsp)
				movb	$25, 40658(%rsp)
				movb	$25, 40659(%rsp)
				movb	$25, 40660(%rsp)
				movb	$25, 40661(%rsp)
				movb	$23, 40662(%rsp)
				movb	$104, 40663(%rsp)
				movb	$104, 40664(%rsp)
				movb	$105, 40665(%rsp)
				movb	$30, 40666(%rsp)
				movb	$20, 40667(%rsp)
				movb	$21, 40668(%rsp)
				movb	$93, 40669(%rsp)
				movb	$47, 40670(%rsp)
				movb	$45, 40671(%rsp)
				movb	$46, 40672(%rsp)
				movb	$42, 40673(%rsp)
				movb	$43, 40674(%rsp)
				movb	$44, 40675(%rsp)
				movb	$40, 40676(%rsp)
				movb	$68, 40677(%rsp)
				movb	$55, 40678(%rsp)
				movb	$104, 40679(%rsp)
				movb	$60, 40680(%rsp)
				movb	$93, 40681(%rsp)
				movb	$25, 40682(%rsp)
				movb	$40, 40683(%rsp)
				movb	$93, 40684(%rsp)
				movb	$23, 40685(%rsp)
				movb	$25, 40686(%rsp)
				movb	$57, 40687(%rsp)
				movb	$25, 40688(%rsp)
				movb	$90, 40689(%rsp)
				movb	$-80, 40690(%rsp)
				movb	$-79, 40691(%rsp)
				movb	$-78, 40692(%rsp)
				movb	$-77, 40693(%rsp)
				movw	$24, 23140(%rsp)
				movw	$0, 23142(%rsp)
				movw	$0, 23144(%rsp)
				movw	$0, 23146(%rsp)
				movw	$0, 23148(%rsp)
				movw	$0, 23150(%rsp)
				movw	$0, 23152(%rsp)
				movw	$0, 23154(%rsp)
				movw	$0, 23156(%rsp)
				movw	$0, 23158(%rsp)
				movw	$0, 23160(%rsp)
				movw	$0, 23162(%rsp)
				movw	$0, 23164(%rsp)
				movw	$0, 23166(%rsp)
				movw	$0, 23168(%rsp)
				movw	$0, 23170(%rsp)
				movw	$0, 23172(%rsp)
				movw	$0, 23174(%rsp)
				movw	$23, 23176(%rsp)
				movw	$0, 23178(%rsp)
				movw	$0, 23180(%rsp)
				movw	$0, 23182(%rsp)
				movw	$0, 23184(%rsp)
				movw	$0, 23186(%rsp)
				movw	$0, 23188(%rsp)
				movw	$0, 23190(%rsp)
				movw	$0, 23192(%rsp)
				movw	$0, 23194(%rsp)
				movw	$0, 23196(%rsp)
				movw	$0, 23198(%rsp)
				movw	$0, 23200(%rsp)
				movw	$0, 23202(%rsp)
				movw	$0, 23204(%rsp)
				movw	$0, 23206(%rsp)
				movw	$0, 23208(%rsp)
				movw	$0, 23210(%rsp)
				movw	$0, 23212(%rsp)
				movw	$0, 23214(%rsp)
				movw	$0, 23216(%rsp)
				movw	$0, 23218(%rsp)
				movw	$20, 23220(%rsp)
				movw	$0, 23222(%rsp)
				movw	$0, 23224(%rsp)
				movw	$0, 23226(%rsp)
				movw	$0, 23228(%rsp)
				movw	$0, 23230(%rsp)
				movw	$0, 23232(%rsp)
				movw	$0, 23234(%rsp)
				movw	$0, 23236(%rsp)
				movw	$0, 23238(%rsp)
				movw	$0, 23240(%rsp)
				movw	$0, 23242(%rsp)
				movw	$0, 23244(%rsp)
				movw	$0, 23246(%rsp)
				movw	$-32551, 23248(%rsp)
				movw	$0, 23250(%rsp)
				movw	$0, 23252(%rsp)
				movw	$0, 23254(%rsp)
				movw	$0, 23256(%rsp)
				movw	$13, 23258(%rsp)
				movw	$0, 23260(%rsp)
				movw	$14, 23262(%rsp)
				movw	$4, 23264(%rsp)
				movw	$-32557, 23266(%rsp)
				movw	$16, 23268(%rsp)
				movw	$-32550, 23270(%rsp)
				movw	$0, 23272(%rsp)
				movw	$0, 23274(%rsp)
				movw	$5, 23276(%rsp)
				movw	$6, 23278(%rsp)
				movw	$3, 23280(%rsp)
				movw	$12, 23282(%rsp)
				movw	$15, 23284(%rsp)
				movw	$8, 23286(%rsp)
				movw	$7, 23288(%rsp)
				movw	$9, 23290(%rsp)
				movw	$10, 23292(%rsp)
				movw	$11, 23294(%rsp)
				movw	$-32558, 23296(%rsp)
				movw	$-32554, 23298(%rsp)
				movw	$-32559, 23300(%rsp)
				movw	$-32552, 23302(%rsp)
				movw	$-32553, 23304(%rsp)
				movw	$18, 23306(%rsp)
				movw	$22, 23308(%rsp)
				movw	$17, 23310(%rsp)
				movw	$21, 23312(%rsp)
				movw	$19, 23314(%rsp)
				movw	$0, 23316(%rsp)
				movw	$0, 23318(%rsp)
				movw	$0, 23320(%rsp)
				movw	$-32562, 23322(%rsp)
				movw	$-32560, 23324(%rsp)
				movw	$0, 23326(%rsp)
				movw	$0, 23328(%rsp)
				movw	$0, 23330(%rsp)
				movw	$-32561, 23332(%rsp)
				movw	$0, 23334(%rsp)
				movw	$0, 23336(%rsp)
				movw	$0, 23338(%rsp)
				movw	$0, 23340(%rsp)
				movw	$0, 23342(%rsp)
				movw	$0, 23344(%rsp)
				movw	$0, 23346(%rsp)
				movw	$1, 23348(%rsp)
				movw	$2, 23350(%rsp)
				movw	$0, 23352(%rsp)
				movw	$-32556, 23354(%rsp)
				movw	$0, 23356(%rsp)
				movw	$-32555, 23358(%rsp)
				movw	$0, 23360(%rsp)
				movw	$0, 23362(%rsp)
				movw	$0, 23364(%rsp)
				movw	$0, 23366(%rsp)
				movw	$0, 23368(%rsp)
				movw	$0, 23370(%rsp)
				movw	$0, 23372(%rsp)
				movw	$0, 23374(%rsp)
				movw	$0, 23376(%rsp)
				movw	$0, 23378(%rsp)
				movl	.LC0(%rip), %eax
				movl	%eax, 27476(%rsp)
				leaq	27480(%rsp), %rdi
				leaq	4+.LC0(%rip), %rsi
				movl	$143, %ecx
				rep movsq
				movl	(%rsi), %eax
				movl	%eax, (%rdi)
  576
  577 %ROUTINE flush buffer
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$784, %rsp
				movq	%r10, %r12
				movq	%fs:40, %rax
				movq	%rax, 776(%rsp)
				xorl	%eax, %eax
		.LVL73:
		.LBB326:
		.LBB327:
				movl	$1, _imp_OutStream(%rip)
				movq	296+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL74:
		.LBE327:
		.LBE326:
		.LBB328:
  578    %INTEGER j
  579    %IF faulty = 0 %START
  580       select output(object)
  581       %FOR j = 1, 1, bp %CYCLE
  582          printsymbol(buff(j))
				movl	BP.6528(%rip), %ebp
		.LVL75:
				movsbl	(%rbx), %edi
		.LBB329:
		.LBB330:
				call	_imp_printsymbol@PLT
		.LVL78:
				addq	$1, %rbx
		.LVL79:
		.LBE330:
		.LBE329:
  583       %REPEAT
				movl	%ebp, %eax
				subl	$1, %eax
				js	.L71
		.L61:
		.LVL76:
				leaq	256(%rsp), %rdi
				leaq	.LC5(%rip), %rsi
				call	_imp_c2istr@PLT
		.LVL83:
				movl	_imp_current_line(%rip), %ebx
				testl	%ebx, %ebx
				movl	$583, %eax
				cmove	%eax, %ebx
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L63
				leaq	512(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL84:
		.L64:
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				movl	$0, %ecx
				movl	$1, %edx
				movl	$5, %esi
				movl	%ebx, %edi
				call	_signal_event@PLT
		.LVL85:
				addq	$512, %rsp
				jmp	.L61
		.L63:
		.LVL86:
		.LBB331:
				movabsq	$8603403804667503988, %rax
				movabsq	$4068493685302587439, %rdx
				movq	%rax, 513(%rsp)
				movq	%rdx, 521(%rsp)
				movabsq	$7883958449920159028, %rax
				movabsq	$482871946867, %rdx
				movq	%rax, 529(%rsp)
				movq	%rdx, 537(%rsp)
				movb	$0, 545(%rsp)
				movw	$0, 546(%rsp)
				movl	$0, 548(%rsp)
				leaq	552(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
				movb	$29, 512(%rsp)
				movq	512(%rsp), %rax
				movq	520(%rsp), %rdx
				movq	%rax, (%rsp)
				movq	%rdx, 8(%rsp)
				movq	528(%rsp), %rax
				movq	536(%rsp), %rdx
				movq	%rax, 16(%rsp)
				movq	%rdx, 24(%rsp)
				movq	544(%rsp), %rax
				movq	552(%rsp), %rdx
				movq	%rax, 32(%rsp)
				movq	%rdx, 40(%rsp)
				movq	560(%rsp), %rax
				movq	568(%rsp), %rdx
				movq	%rax, 48(%rsp)
				movq	%rdx, 56(%rsp)
				movq	576(%rsp), %rax
				movq	584(%rsp), %rdx
				movq	%rax, 64(%rsp)
				movq	%rdx, 72(%rsp)
				movq	592(%rsp), %rax
				movq	600(%rsp), %rdx
				movq	%rax, 80(%rsp)
				movq	%rdx, 88(%rsp)
				movq	608(%rsp), %rax
				movq	616(%rsp), %rdx
				movq	%rax, 96(%rsp)
				movq	%rdx, 104(%rsp)
				movq	624(%rsp), %rax
				movq	632(%rsp), %rdx
				movq	%rax, 112(%rsp)
				movq	%rdx, 120(%rsp)
				movq	640(%rsp), %rax
				movq	648(%rsp), %rdx
				movq	%rax, 128(%rsp)
				movq	%rdx, 136(%rsp)
				movq	656(%rsp), %rax
				movq	664(%rsp), %rdx
				movq	%rax, 144(%rsp)
				movq	%rdx, 152(%rsp)
				movq	672(%rsp), %rax
				movq	680(%rsp), %rdx
				movq	%rax, 160(%rsp)
				movq	%rdx, 168(%rsp)
				movq	688(%rsp), %rax
				movq	696(%rsp), %rdx
				movq	%rax, 176(%rsp)
				movq	%rdx, 184(%rsp)
				movq	704(%rsp), %rax
				movq	712(%rsp), %rdx
				movq	%rax, 192(%rsp)
				movq	%rdx, 200(%rsp)
				movq	720(%rsp), %rax
				movq	728(%rsp), %rdx
				movq	%rax, 208(%rsp)
				movq	%rdx, 216(%rsp)
				movq	736(%rsp), %rax
				movq	744(%rsp), %rdx
				movq	%rax, 224(%rsp)
				movq	%rdx, 232(%rsp)
				movq	752(%rsp), %rax
				movq	760(%rsp), %rdx
				movq	%rax, 240(%rsp)
				movq	%rdx, 248(%rsp)
		.LVL87:
		.LBE331:
				movb	$29, (%rsp)
				movq	(%rsp), %rax
				movq	8(%rsp), %rdx
				movq	%rax, 512(%rsp)
				movq	%rdx, 520(%rsp)
				jmp	.L64
		.LVL88:
		.L72:
		.LBE334:
  584       select output(listing)
  585    %FINISH
  586    bp = 0
				testl	%ebp, %ebp
				je	.L65
				leaq	104710(%r12), %rbx
				leal	-1(%rbp), %eax
				leaq	104711(%r12,%rax), %rbp
		.LVL77:
		.L66:
				cmpq	%rbp, %rbx
				jne	.L66
		.L65:
		.LVL80:
		.LBE328:
		.LBB332:
		.LBB333:
				movl	$2, _imp_OutStream(%rip)
				movq	584+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL81:
		.LDL4:
		.LBE333:
		.LBE332:
				movl	$0, BP.6528(%rip)
  587 %END
  588 %ROUTINE print ident(%INTEGER p, mode)
		.LVL39:
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$1296, %rsp
				movq	%r10, %r12
				movq	%fs:40, %rax
				movq	%rax, 1288(%rsp)
				xorl	%eax, %eax
				movq	776(%rsp), %rax
				xorq	%fs:40, %rax
				jne	.L72
				addq	$784, %rsp
				popq	%rbx
				popq	%rbp
				popq	%r12
				ret
		.LVL82:
		.L71:
		.LBB334:
				call	__stack_chk_fail@PLT
		.LVL89:
		.LFE186:
		DEF.7626:
		.LFB215:
  589    %INTEGER j, ad
  590    p = tag(p)_text
				movslq	%edi, %rdi
				addq	$13, %rdi
		.LVL40:
				salq	$4, %rdi
		.LVL41:
				movzwl	16(%r10,%rdi), %eax
		.LVL42:
  591    %IF p = 0 %START
				testw	%ax, %ax
				jne	.L43
  592       bp = bp+1 %AND buff(bp) = '?' %if Mode # 0
				testl	%esi, %esi
				je	.L42
  593       %RETURN
				movl	BP.6528(%rip), %eax
		.LVL43:
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
  594    %FINISH
				cltq
				movb	$63, 104710(%r10,%rax)
		.LVL44:
				jmp	.L42
		.LVL45:
		.L43:
  595    ad = addr(dict(p+1))
				movswq	%ax, %rax
		.LVL46:
				leaq	26836(%r10,%rax,2), %r14
				movl	%r14d, %ebx
		.LVL47:
		.LBB321:
  596    %IF mode = 0 %THEN printstring(string(ad)) %ELSE %START
				testl	%esi, %esi
				je	.L57
		.L45:
  597       %FOR j = ad+1, 1, ad+byteinteger(ad) %CYCLE
  598          bp = bp+1
				movslq	%r14d, %rax
				movzbl	(%rax), %r13d
				addl	%r14d, %r13d
		.LVL48:
				leal	1(%r14), %eax
		.LVL49:
  599          buff(bp) = byteinteger(j)
				cmpl	%eax, %r13d
				js	.L58
		.LVL50:
		.L46:
				movslq	%ebx, %rdx
				movzbl	(%rdx), %edx
				cltq
				movb	%dl, 104710(%r12,%rax)
				leaq	512(%rsp), %rdi
		.LVL64:
				leaq	.LC4(%rip), %rsi
		.LVL65:
				call	_imp_c2istr@PLT
		.LVL66:
				movl	_imp_current_line(%rip), %ebp
				testl	%ebp, %ebp
				movl	$599, %eax
				cmove	%eax, %ebp
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L48
				leaq	768(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL67:
		.L49:
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				pushq	1272(%rsp)
				movl	$0, %ecx
				movl	$1, %edx
				movl	$5, %esi
				movl	%ebp, %edi
				call	_signal_event@PLT
		.LVL68:
				addq	$512, %rsp
				jmp	.L46
		.L48:
		.LVL69:
		.LBB322:
				movabsq	$8603403804667503988, %rax
				movabsq	$4068493685302587439, %rdx
				movq	%rax, 1025(%rsp)
				movq	%rdx, 1033(%rsp)
				movabsq	$7883958449920159028, %rax
				movabsq	$482871946867, %rdx
				movq	%rax, 1041(%rsp)
				movq	%rdx, 1049(%rsp)
				movb	$0, 1057(%rsp)
				movw	$0, 1058(%rsp)
				movl	$0, 1060(%rsp)
				leaq	1064(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
				movb	$29, 1024(%rsp)
				movq	1024(%rsp), %rax
				movq	1032(%rsp), %rdx
				movq	%rax, 256(%rsp)
				movq	%rdx, 264(%rsp)
				movdqa	1040(%rsp), %xmm9
				movaps	%xmm9, 272(%rsp)
				movdqa	1056(%rsp), %xmm7
				movaps	%xmm7, 288(%rsp)
				movdqa	1072(%rsp), %xmm5
				movaps	%xmm5, 304(%rsp)
				movdqa	1088(%rsp), %xmm3
				movaps	%xmm3, 320(%rsp)
				movdqa	1104(%rsp), %xmm1
				movaps	%xmm1, 336(%rsp)
				movq	1120(%rsp), %r9
				movq	1128(%rsp), %r10
				movq	%r9, 352(%rsp)
				movq	%r10, 360(%rsp)
				movq	1136(%rsp), %rsi
				movq	1144(%rsp), %rdi
				movq	%rsi, 368(%rsp)
				movq	%rdi, 376(%rsp)
				movdqa	1152(%rsp), %xmm11
				movaps	%xmm11, 384(%rsp)
				movdqa	1168(%rsp), %xmm13
				movaps	%xmm13, 400(%rsp)
				movdqa	1184(%rsp), %xmm15
				movaps	%xmm15, 416(%rsp)
				movdqa	1200(%rsp), %xmm0
				movaps	%xmm0, 432(%rsp)
				movdqa	1216(%rsp), %xmm2
				movaps	%xmm2, 448(%rsp)
				movdqa	1232(%rsp), %xmm4
				movaps	%xmm4, 464(%rsp)
				movdqa	1248(%rsp), %xmm6
				movaps	%xmm6, 480(%rsp)
				movq	1264(%rsp), %rax
				movq	1272(%rsp), %rdx
				movq	%rax, 496(%rsp)
				movq	%rdx, 504(%rsp)
		.LVL70:
		.LBE322:
				movb	$29, 256(%rsp)
				movdqa	256(%rsp), %xmm8
				movaps	%xmm8, 768(%rsp)
				movaps	%xmm9, 784(%rsp)
				movaps	%xmm7, 800(%rsp)
				movaps	%xmm5, 816(%rsp)
				movaps	%xmm3, 832(%rsp)
				movaps	%xmm1, 848(%rsp)
				movq	%r9, 864(%rsp)
				movq	%r10, 872(%rsp)
				movq	%rsi, 880(%rsp)
				movq	%rdi, 888(%rsp)
				movaps	%xmm11, 896(%rsp)
				movaps	%xmm13, 912(%rsp)
				movaps	%xmm15, 928(%rsp)
				movaps	%xmm0, 944(%rsp)
				movaps	%xmm2, 960(%rsp)
				movaps	%xmm4, 976(%rsp)
				movaps	%xmm6, 992(%rsp)
				movq	%rax, 1008(%rsp)
				movq	%rdx, 1016(%rsp)
				jmp	.L49
		.LVL71:
		.L59:
		.LBE325:
  600       %REPEAT
  601    %FINISH
  602 %END
				cmpl	%r13d, %r14d
				je	.L42
				movl	BP.6528(%rip), %ecx
				subl	%r14d, %ecx
		.LVL51:
		.L50:
				leal	(%rbx,%rcx), %eax
		.LVL52:
				cmpl	%ebx, %r13d
				jne	.L50
				addl	%ecx, %ebx
		.LVL54:
				movl	%ebx, BP.6528(%rip)
		.L44:
		.L51:
		.L52:
		.LVL55:
		.L42:
		.LBE321:
  603 %ROUTINE abandon(%INTEGER n)
		.LVL14:
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$1040, %rsp
				movl	%edi, %ebx
				movq	%fs:40, %rax
				movq	%rax, 1032(%rsp)
				xorl	%eax, %eax
		.LVL15:
		.LDL2:
				addl	$1, %ebx
		.LVL53:
				movq	1288(%rsp), %rax
				xorq	%fs:40, %rax
				jne	.L59
				addq	$1296, %rsp
				popq	%rbx
				popq	%rbp
				popq	%r12
				popq	%r13
				popq	%r14
				ret
		.LVL56:
		.L57:
				movdqa	(%rsp), %xmm0
				movaps	%xmm0, 1024(%rsp)
				movdqa	16(%rsp), %xmm1
				movaps	%xmm1, 1040(%rsp)
				movdqa	32(%rsp), %xmm2
				movaps	%xmm2, 1056(%rsp)
				movdqa	48(%rsp), %xmm3
				movaps	%xmm3, 1072(%rsp)
				movdqa	64(%rsp), %xmm4
				movaps	%xmm4, 1088(%rsp)
				movdqa	80(%rsp), %xmm5
				movaps	%xmm5, 1104(%rsp)
				movdqa	96(%rsp), %xmm6
				movaps	%xmm6, 1120(%rsp)
				movdqa	112(%rsp), %xmm7
				movaps	%xmm7, 1136(%rsp)
				movdqa	128(%rsp), %xmm0
				movaps	%xmm0, 1152(%rsp)
				movdqa	144(%rsp), %xmm1
				movaps	%xmm1, 1168(%rsp)
				movq	160(%rsp), %r13
				movq	168(%rsp), %r14
				movq	%r13, 1184(%rsp)
				movq	%r14, 1192(%rsp)
				movq	176(%rsp), %rax
		.LVL57:
				movq	184(%rsp), %rdx
				movq	%rax, 1200(%rsp)
				movq	%rdx, 1208(%rsp)
				movq	192(%rsp), %rsi
		.LVL58:
				movq	200(%rsp), %rdi
		.LVL59:
				movq	%rsi, 1216(%rsp)
				movq	%rdi, 1224(%rsp)
				movq	208(%rsp), %r9
				movq	216(%rsp), %r10
		.LVL60:
				movq	%r9, 1232(%rsp)
				movq	%r10, 1240(%rsp)
				movq	224(%rsp), %rcx
				movq	232(%rsp), %rbx
				movq	%rcx, 1248(%rsp)
				movq	%rbx, 1256(%rsp)
				movq	240(%rsp), %r11
				movq	248(%rsp), %r12
		.LVL61:
				movq	%r11, 1264(%rsp)
				movq	%r12, 1272(%rsp)
		.LBB323:
		.LBB324:
				pushq	%r12
				pushq	%r11
				pushq	%rbx
				pushq	%rcx
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				call	_imp_printstring@PLT
		.LVL62:
				addq	$256, %rsp
				jmp	.L42
		.LVL63:
		.L58:
		.LBE324:
		.LBE323:
		.LBB325:
				call	__stack_chk_fail@PLT
		.LVL72:
		.LFE187:
				.section	.rodata.str1.1
		.LC5:
				.string	"Illegal cycle J = 1, 1, BP"
		FLUSHBUFFER.6538:
		.LFB186:
  604    %SWITCH reason(0:9)
  605    %INTEGER stream
  606    stream = listing
  607    %CYCLE
  608       newline %IF sym # nl
				cmpl	$10, SYM.6459(%rip)
				jne	.L32
		.LVL16:
		.L19:
		.LBB308:
		.LBB309:
				movl	$42, %edi
				call	_imp_printsymbol@PLT
		.LVL17:
		.LBE309:
		.LBE308:
  609       printsymbol('*');  write(lines,4);  space
  610       ->reason(n)
				movl	$4, %esi
				movl	LINES.6451(%rip), %edi
				call	_imp_writeint@PLT
		.LVL18:
		.LBB310:
		.LBB311:
				call	_imp_space@PLT
		.LVL19:
		.LDL3:
		.LBE311:
		.LBE310:
  611 reason(0):printstring("compiler error!");          ->more
  612 reason(1):printstring("switch vector too large");  ->more
  613 reason(2):printstring("too many names");           ->more
  614 reason(3):printstring("program too complex");      ->more
  615 reason(4):printstring("feature not implemented");  ->more
  616 reason(5):printstring("input ended: ")
  617           %IF quote # 0 %START
  618             %IF quote < 0 %THEN printsymbol(cquote) %C
  619                           %ELSE printsymbol(squote)
  620           %ELSE
  621              printstring("%endof")
  622              %IF progmode >= 0 %THEN printstring("program") %C
  623                                %ELSE printstring("file")
  624           %FINISH
  625           printstring(" missing?");                ->more
  626 reason(6):printstring("too many faults!");         ->more
  627 reason(7):printstring("string constant too long"); ->more
  628 reason(8):printstring("dictionary full"); -> more
  629 reason(9):printstring("Included file ".include file." does not exist")
  630 more: newline
  631       printstring("***  compilation abandoned ***");  newline
  632       %EXIT %IF stream = report
  633       close output
  634       stream = report
  635       select output(report)
  636    %REPEAT
  637 !IMP80 BUG???     %SIGNAL 15,15 %IF diag&4096 # 0
  638    %STOP
  639 %END
  640 %ROUTINE op(%INTEGER code, param)
		.LVL0:
  641       buff(bp+1) <- code
				movl	BP.6528(%rip), %eax
				movslq	%eax, %rdx
				movb	%dil, 104710(%r10,%rdx)
				cmpl	$9, %ebx
				jbe	.L20
				movl	_imp_current_line(%rip), %ebp
				testl	%ebp, %ebp
				movl	$641, %eax
				cmove	%eax, %ebp
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L22
				leaq	512(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL20:
		.L23:
				pushq	$610
				leaq	.LC2(%rip), %rax
				pushq	%rax
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				movl	%ebx, %r9d
				leaq	.LC1(%rip), %r8
				movl	%ebx, %ecx
				movl	$3, %edx
				movl	$6, %esi
				movl	%ebp, %edi
				movl	$0, %eax
				call	_signal_eventf@PLT
		.LVL21:
				addq	$272, %rsp
		.L20:
		.L24:
				movabsq	$8603403804667503988, %rax
				movabsq	$4068493685302587439, %rdx
				movq	%rax, 769(%rsp)
				movq	%rdx, 777(%rsp)
				movabsq	$7883958449920159028, %rax
				movabsq	$482871946867, %rdx
				movq	%rax, 785(%rsp)
				movq	%rdx, 793(%rsp)
				movb	$0, 801(%rsp)
				movw	$0, 802(%rsp)
				movl	$0, 804(%rsp)
				leaq	808(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
				movb	$29, 768(%rsp)
				movq	768(%rsp), %rax
				movq	776(%rsp), %rdx
				movq	%rax, (%rsp)
				movq	%rdx, 8(%rsp)
				movdqa	784(%rsp), %xmm11
				movaps	%xmm11, 16(%rsp)
				movdqa	800(%rsp), %xmm9
				movaps	%xmm9, 32(%rsp)
				movdqa	816(%rsp), %xmm7
				movaps	%xmm7, 48(%rsp)
				movdqa	832(%rsp), %xmm13
				movaps	%xmm13, 64(%rsp)
				movdqa	848(%rsp), %xmm15
				movaps	%xmm15, 80(%rsp)
				movq	864(%rsp), %r13
				movq	872(%rsp), %r14
				movq	%r13, 96(%rsp)
				movq	%r14, 104(%rsp)
				movdqa	880(%rsp), %xmm0
				movaps	%xmm0, 112(%rsp)
				movdqa	896(%rsp), %xmm2
				movaps	%xmm2, 128(%rsp)
				movq	912(%rsp), %r11
				movq	920(%rsp), %r12
				movq	%r11, 144(%rsp)
				movq	%r12, 152(%rsp)
				movdqa	928(%rsp), %xmm5
				movaps	%xmm5, 160(%rsp)
				movdqa	944(%rsp), %xmm3
				movaps	%xmm3, 176(%rsp)
				movdqa	960(%rsp), %xmm1
				movaps	%xmm1, 192(%rsp)
				movq	976(%rsp), %r9
				movq	984(%rsp), %r10
				movq	%r9, 208(%rsp)
				movq	%r10, 216(%rsp)
				movq	992(%rsp), %rsi
				movq	1000(%rsp), %rdi
				movq	%rsi, 224(%rsp)
				movq	%rdi, 232(%rsp)
				movq	1008(%rsp), %rax
				movq	1016(%rsp), %rdx
				movq	%rax, 240(%rsp)
				movq	%rdx, 248(%rsp)
		.LVL29:
		.LBE315:
				movb	$29, (%rsp)
				movdqa	(%rsp), %xmm4
				movaps	%xmm4, 512(%rsp)
				movaps	%xmm11, 528(%rsp)
				movaps	%xmm9, 544(%rsp)
				movaps	%xmm7, 560(%rsp)
				movaps	%xmm13, 576(%rsp)
				movaps	%xmm15, 592(%rsp)
				movq	%r13, 608(%rsp)
				movq	%r14, 616(%rsp)
				movaps	%xmm0, 624(%rsp)
				movaps	%xmm2, 640(%rsp)
				movq	%r11, 656(%rsp)
				movq	%r12, 664(%rsp)
				movaps	%xmm5, 672(%rsp)
				movaps	%xmm3, 688(%rsp)
				movaps	%xmm1, 704(%rsp)
				movq	%r9, 720(%rsp)
				movq	%r10, 728(%rsp)
				movq	%rsi, 736(%rsp)
				movq	%rdi, 744(%rsp)
				movq	%rax, 752(%rsp)
				movq	%rdx, 760(%rsp)
				jmp	.L23
		.L33:
  642       buff(bp+2) <- param>>8
				leal	1(%rax), %edx
				movslq	%edx, %rdx
				movl	%esi, %ecx
				movzbl	%ch, %ecx
				movb	%cl, 104710(%r10,%rdx)
  643       buff(bp+3) <- param
				leal	2(%rax), %edx
				movslq	%edx, %rdx
				movb	%sil, 104710(%r10,%rdx)
  644       bp = bp+3
				addl	$3, %eax
				movl	%eax, BP.6528(%rip)
				movl	_imp_current_line(%rip), %ebp
				testl	%ebp, %ebp
				movl	$644, %eax
				cmove	%eax, %ebp
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				jne	.L33
		.LVL22:
		.LBB312:
				movabsq	$8603403804667503988, %rax
				movabsq	$4068493685302587439, %rdx
				movq	%rax, 769(%rsp)
				movq	%rdx, 777(%rsp)
				movabsq	$7883958449920159028, %rax
				movabsq	$482871946867, %rdx
				movq	%rax, 785(%rsp)
				movq	%rdx, 793(%rsp)
				movb	$0, 801(%rsp)
				movw	$0, 802(%rsp)
				movl	$0, 804(%rsp)
				leaq	808(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
				movb	$29, 768(%rsp)
				movq	768(%rsp), %rax
				movq	776(%rsp), %rdx
				movq	%rax, 256(%rsp)
				movq	%rdx, 264(%rsp)
				movq	784(%rsp), %rax
				movq	792(%rsp), %rdx
				movq	%rax, 272(%rsp)
				movq	%rdx, 280(%rsp)
				movq	800(%rsp), %rax
				movq	808(%rsp), %rdx
				movq	%rax, 288(%rsp)
				movq	%rdx, 296(%rsp)
				movq	816(%rsp), %rax
				movq	824(%rsp), %rdx
				movq	%rax, 304(%rsp)
				movq	%rdx, 312(%rsp)
				movq	832(%rsp), %rax
				movq	840(%rsp), %rdx
				movq	%rax, 320(%rsp)
				movq	%rdx, 328(%rsp)
				movq	848(%rsp), %rax
				movq	856(%rsp), %rdx
				movq	%rax, 336(%rsp)
				movq	%rdx, 344(%rsp)
				movq	864(%rsp), %rax
				movq	872(%rsp), %rdx
				movq	%rax, 352(%rsp)
				movq	%rdx, 360(%rsp)
				movq	880(%rsp), %rax
				movq	888(%rsp), %rdx
				movq	%rax, 368(%rsp)
				movq	%rdx, 376(%rsp)
				movq	896(%rsp), %rax
				movq	904(%rsp), %rdx
				movq	%rax, 384(%rsp)
				movq	%rdx, 392(%rsp)
				movq	912(%rsp), %rax
				movq	920(%rsp), %rdx
				movq	%rax, 400(%rsp)
				movq	%rdx, 408(%rsp)
				movq	928(%rsp), %rax
				movq	936(%rsp), %rdx
				movq	%rax, 416(%rsp)
				movq	%rdx, 424(%rsp)
				movq	944(%rsp), %rax
				movq	952(%rsp), %rdx
				movq	%rax, 432(%rsp)
				movq	%rdx, 440(%rsp)
				movq	960(%rsp), %rax
				movq	968(%rsp), %rdx
				movq	%rax, 448(%rsp)
				movq	%rdx, 456(%rsp)
				movq	976(%rsp), %rax
				movq	984(%rsp), %rdx
				movq	%rax, 464(%rsp)
				movq	%rdx, 472(%rsp)
				movq	992(%rsp), %rax
				movq	1000(%rsp), %rdx
				movq	%rax, 480(%rsp)
				movq	%rdx, 488(%rsp)
				movq	1008(%rsp), %rax
				movq	1016(%rsp), %rdx
				movq	%rax, 496(%rsp)
				movq	%rdx, 504(%rsp)
		.LVL23:
		.LBE312:
				movb	$29, 256(%rsp)
				movq	256(%rsp), %rax
				movq	264(%rsp), %rdx
				movq	%rax, 768(%rsp)
				movq	%rdx, 776(%rsp)
		.L27:
				pushq	$610
				leaq	.LC2(%rip), %rax
				pushq	%rax
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				movl	%ebx, %r9d
				leaq	.LC3(%rip), %r8
				movl	%ebx, %ecx
				movl	$2, %edx
				movl	$8, %esi
				movl	%ebp, %edi
				movl	$0, %eax
				call	_signal_eventf@PLT
		.LVL24:
				leaq	768(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL30:
				jmp	.L27
		.L34:
  645 %END
				addq	$272, %rsp
				movq	1032(%rsp), %rax
				xorq	%fs:40, %rax
				jne	.L34
				addq	$1040, %rsp
				popq	%rbx
		.LVL25:
				popq	%rbp
				popq	%r12
				popq	%r13
				popq	%r14
				ret
		.LVL26:
		.L32:
		.LBB313:
		.LBB314:
				call	_imp_newline@PLT
		.LVL27:
				jmp	.L19
		.LVL28:
		.L22:
		.LBE314:
		.LBE313:
		.LBB315:
				call	__stack_chk_fail@PLT
		.LVL31:
		.LFE188:
		SHOW.6936:
		.LFB200:
  646 %ROUTINE set const(%INTEGER m)
				ret
		.LFE189:
		SETCONST.6647:
		.LFB190:
		.LVL1:
  647       buff(bp+1) <- 'N'
				movl	BP.6528(%rip), %eax
				movslq	%eax, %rdx
				movb	$78, 104710(%r10,%rdx)
  648       buff(bp+5) <- m;  m = m>>8
				leal	4(%rax), %edx
				movslq	%edx, %rdx
				movb	%dil, 104710(%r10,%rdx)
		.LVL2:
  649       buff(bp+4) <- m;  m = m>>8
				leal	3(%rax), %edx
				movslq	%edx, %rdx
				movl	%edi, %ecx
				movzbl	%ch, %ecx
				movb	%cl, 104710(%r10,%rdx)
		.LVL3:
  650       buff(bp+3) <- m;  m = m>>8
				leal	2(%rax), %edx
				movslq	%edx, %rdx
				movl	%edi, %ecx
				shrl	$16, %ecx
		.LVL4:
				movb	%cl, 104710(%r10,%rdx)
		.LVL5:
  651       buff(bp+2) <- m
				leal	1(%rax), %edx
				movslq	%edx, %rdx
				shrl	$24, %edi
		.LVL6:
				movb	%dil, 104710(%r10,%rdx)
  652       bp = bp+5
				addl	$5, %eax
				movl	%eax, BP.6528(%rip)
  653 %END
  654
				ret
		.LFE190:
		SETCELL.6860:
		.LFB195:
  655
  656
  657 %ROUTINE compile block(%INTEGER level, block tag, dmin, tmax, id)
				pushq	%r15
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$1704, %rsp
				movq	%r10, %rbp
				movq	%fs:40, %rax
				movq	%rax, 1688(%rsp)
				xorl	%eax, %eax
				leaq	1760(%rsp), %rax
				movq	%rax, 128(%rsp)
				movl	%edi, 108(%rsp)
				movl	%esi, 76(%rsp)
				movl	%ecx, 112(%rsp)
				movl	%r8d, 104(%rsp)
				movq	%r10, 56(%rsp)
  658
  659    %INTEGERFNSPEC gapp
  660    %ROUTINESPEC delete names(%INTEGER quiet)
  661    %ROUTINESPEC analyse
  662    %ROUTINESPEC compile
  663
  664    %INTEGER open;    open       = closed;      !zero if can return from proc
  665    %INTEGER dbase;   dbase      = dmax;        !dictionary base
				movl	$16384, 80(%rsp)
		.LVL888:
  666    %INTEGER tbase;   tbase      = tmax;        !tag base
  667    %INTEGER tstart;  tstart     = tmax
				movl	%ecx, 116(%rsp)
  668    %INTEGER label;   label      = 4;           !first internal label
				movl	%ecx, 120(%rsp)
  669    %INTEGER access;  access     = 1;           !non-zero if accessible
				movl	$4, 72(%rsp)
  670    %INTEGER inhibit; inhibit    = 0;           !non-zero inhibits declaratons
				movl	$1, 84(%rsp)
  671
				movl	$0, 68(%rsp)
				movslq	%esi, %r15
  672    %SHORTINTEGERNAME bflags; bflags      == tag(block tag)_flags
  673    %INTEGER block type;      block type   = bflags>>4&7
				movq	%r15, %rax
				salq	$4, %rax
				leaq	220(%r10,%rax), %rax
				movq	%rax, 48(%rsp)
				salq	$4, %r15
				addq	%r10, %r15
  674    %INTEGER block form;      block form   = bflags&15
				movzwl	220(%r15), %eax
				movl	%eax, %ecx
				shrl	$4, %ecx
				andl	$7, %ecx
				movl	%ecx, 92(%rsp)
  675    %INTEGER block fm;        block fm     = tag(block tag)_format
				andl	$15, %eax
				movl	%eax, 96(%rsp)
  676    %INTEGER block otype;     block otype  = otype
				movl	216(%r15), %eax
				movl	%eax, 88(%rsp)
  677    %INTEGERNAME block app;   block app   == tag(block tag)_app
				movl	OTYPE.6471(%rip), %eax
				movl	%eax, 12(%rsp)
		.LVL889:
  678
  679    %INTEGER l, new app
  680
  681 %ROUTINE fault(%INTEGER n)
		.LVL337:
				pushq	%r15
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$2088, %rsp
				movl	%edi, %r15d
				movq	%r10, 8(%rsp)
				movq	%fs:40, %rax
				movq	%rax, 2072(%rsp)
				xorl	%eax, %eax
  682
  683     ! -5 : -1  - warnings
  684     !  1 : 22  - errors
  685
  686     %SWITCH fm(-5:22)
  687     %INTEGER st
  688
  689     %ROUTINE print ss
  690        %INTEGER s, p
  691        %RETURN %IF pos = 0
				cmpl	$0, POS.6509(%rip)
				jne	.L405
		.L374:
		.LDL20:
		.LBE455:
		.LBE454:
		.LBB463:
		.LBB464:
				call	_imp_newline@PLT
		.LVL350:
		.LBE464:
		.LBE463:
  692        space
  693        p = 1
				movl	$1, %ebx
				jmp	.L376
		.LVL369:
		.L410:
		.LBB458:
		.LBB459:
				movl	$94, %edi
				call	_imp_printsymbol@PLT
		.LVL370:
				jmp	.L377
		.L382:
		.L383:
		.LVL371:
		.L384:
		.LBE459:
		.LBE458:
  694        %CYCLE
  695           printsymbol(marker) %IF p = pos1
				cmpl	%ebx, POS1.6507(%rip)
				je	.L410
		.L377:
  696           %EXIT %IF p = pos
				movl	POS.6509(%rip), %eax
				cmpl	%eax, %ebx
				je	.L385
		.L379:
  697           s = char(p);  p = p+1
				movzbl	(%r12), %edi
		.LVL375:
  698           %EXIT %IF s = nl %OR (s='%' %AND p = pos)
				addl	$1, %ebx
		.LVL376:
				cmpl	$10, %edi
				je	.L385
  699           %IF s < ' ' %START;         !beware of tabs
				cmpl	$31, %edi
				jg	.L384
  700              %IF s = ff %THEN s = nl %ELSE s = ' '
				cmpl	%ebx, %eax
				jne	.L381
				cmpl	$37, %edi
				je	.L385
		.L381:
  701           %FINISH
  702           printsymbol(s)
				movsbl	%dil, %edi
		.LVL372:
		.LBB460:
		.LBB461:
				call	_imp_printsymbol@PLT
		.LVL373:
				addq	$1, %r12
		.LVL374:
		.L376:
		.LBE461:
		.LBE460:
  703        %REPEAT
  704        pos = 0 %IF list <= 0
				cmpl	$12, %edi
				movl	$32, %edi
		.LVL377:
				movl	$10, %eax
				cmove	%eax, %edi
				jmp	.L384
		.L378:
		.LVL378:
		.L385:
				cmpl	$0, LIST.6521(%rip)
				jg	.L374
  705     %END
				movl	$0, POS.6509(%rip)
				jmp	.L374
		.LVL379:
		.L406:
		.L387:
		.LBE462:
		.LBE476:
  706
  707     pos1 = pos2 %IF pos2 > pos1
				movl	POS2.6508(%rip), %eax
				cmpl	POS1.6507(%rip), %eax
				jle	.L364
  708     newline %IF sym # nl
				movl	%eax, POS1.6507(%rip)
		.L364:
				cmpl	$10, SYM.6459(%rip)
				jne	.L402
		.LVL338:
		.L365:
  709     st = report
  710     st = listing %IF n = -3;              !don<dq>t report unused on the console
  711     %cycle
				cmpl	$-3, %r15d
				sete	%bpl
				movzbl	%bpl, %ebp
				addl	%ebp, %ebp
				jmp	.L386
		.LVL339:
		.L402:
		.LBB442:
		.LBB443:
				call	_imp_newline@PLT
		.LVL340:
				jmp	.L365
		.LVL341:
		.L407:
		.LBE443:
		.LBE442:
		.LBB444:
		.LBB445:
				movl	$63, %edi
				call	_imp_printsymbol@PLT
		.LVL342:
		.LBE445:
		.LBE444:
  712        SELECT OUTPUT(st)
  713        %if n < 0 %then printsymbol('?') %and pos1 = 0 %else printsymbol('*')
				testl	%r15d, %r15d
				js	.L407
		.L367:
		.LVL353:
		.LBB467:
		.LBB468:
				movl	$42, %edi
				call	_imp_printsymbol@PLT
		.LVL354:
		.L368:
		.LBE468:
		.LBE467:
  714        %if st # report %start
				testl	%ebp, %ebp
				je	.L369
  715           %if list <= 0 %and pos1 # 0 %start
				movl	$0, POS1.6507(%rip)
				cmpl	$0, LIST.6521(%rip)
				jg	.L372
  716              spaces(pos1+margin);  PRINTSTRING("      ! ")
				jmp	.L368
		.L369:
				movl	POS1.6507(%rip), %edi
				testl	%edi, %edi
				je	.L372
		.LVL355:
				addl	MARGIN.6453(%rip), %edi
		.LVL356:
		.LBB469:
		.LBB470:
				call	_imp_spaces@PLT
		.LVL357:
		.LBE470:
		.LBE469:
		.LBB471:
  717           %finish
				movabsq	$2315167005795164192, %rax
				movl	$0, %edx
				movq	%rax, 1041(%rsp)
				movq	%rdx, 1049(%rsp)
				movb	$0, 1057(%rsp)
				movw	$0, 1058(%rsp)
				movl	$0, 1060(%rsp)
				leaq	1064(%rsp), %rdi
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
				movb	$8, 1040(%rsp)
				movq	1040(%rsp), %rax
				movq	1048(%rsp), %rdx
				movq	%rax, 16(%rsp)
				movq	%rdx, 24(%rsp)
				movdqa	1056(%rsp), %xmm3
				movaps	%xmm3, 32(%rsp)
				movdqa	1072(%rsp), %xmm4
				movaps	%xmm4, 48(%rsp)
				movdqa	1088(%rsp), %xmm5
				movaps	%xmm5, 64(%rsp)
				movdqa	1104(%rsp), %xmm6
				movaps	%xmm6, 80(%rsp)
				movdqa	1120(%rsp), %xmm7
				movaps	%xmm7, 96(%rsp)
				movdqa	1136(%rsp), %xmm3
				movaps	%xmm3, 112(%rsp)
				movdqa	1152(%rsp), %xmm4
				movaps	%xmm4, 128(%rsp)
				movdqa	1168(%rsp), %xmm5
				movaps	%xmm5, 144(%rsp)
				movdqa	1184(%rsp), %xmm6
				movaps	%xmm6, 160(%rsp)
				movq	1200(%rsp), %r13
				movq	1208(%rsp), %r14
				movq	%r13, 176(%rsp)
				movq	%r14, 184(%rsp)
				movq	1216(%rsp), %rax
				movq	1224(%rsp), %rdx
				movq	%rax, 192(%rsp)
				movq	%rdx, 200(%rsp)
				movq	1232(%rsp), %rcx
				movq	1240(%rsp), %rbx
				movq	%rcx, 208(%rsp)
				movq	%rbx, 216(%rsp)
				movq	1248(%rsp), %rsi
				movq	1256(%rsp), %rdi
				movq	%rsi, 224(%rsp)
				movq	%rdi, 232(%rsp)
				movq	1264(%rsp), %r9
				movq	1272(%rsp), %r10
				movq	%r9, 240(%rsp)
				movq	%r10, 248(%rsp)
				movq	1280(%rsp), %r11
				movq	1288(%rsp), %r12
				movq	%r11, 256(%rsp)
				movq	%r12, 264(%rsp)
		.LVL358:
				movb	$8, 16(%rsp)
				movdqa	16(%rsp), %xmm7
				movaps	%xmm7, 1296(%rsp)
				movdqa	1056(%rsp), %xmm3
				movaps	%xmm3, 1312(%rsp)
				movdqa	1072(%rsp), %xmm4
				movaps	%xmm4, 1328(%rsp)
				movdqa	1088(%rsp), %xmm5
				movaps	%xmm5, 1344(%rsp)
				movdqa	1104(%rsp), %xmm6
				movaps	%xmm6, 1360(%rsp)
				movdqa	1120(%rsp), %xmm7
				movaps	%xmm7, 1376(%rsp)
				movdqa	1136(%rsp), %xmm3
				movaps	%xmm3, 1392(%rsp)
				movdqa	1152(%rsp), %xmm4
				movaps	%xmm4, 1408(%rsp)
				movdqa	1168(%rsp), %xmm5
				movaps	%xmm5, 1424(%rsp)
				movdqa	1184(%rsp), %xmm6
				movaps	%xmm6, 1440(%rsp)
				movq	%r13, 1456(%rsp)
				movq	%r14, 1464(%rsp)
				movq	%rax, 1472(%rsp)
				movq	%rdx, 1480(%rsp)
				movq	%rcx, 1488(%rsp)
				movq	%rbx, 1496(%rsp)
				movq	%rsi, 1504(%rsp)
				movq	%rdi, 1512(%rsp)
				movq	%r9, 1520(%rsp)
				movq	%r10, 1528(%rsp)
				movq	%r11, 1536(%rsp)
				movq	%r12, 1544(%rsp)
		.LBE471:
		.LBB472:
		.LBB473:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	264(%rsp)
				pushq	264(%rsp)
				call	_imp_printstring@PLT
		.LVL359:
				addq	$256, %rsp
				jmp	.L372
		.L403:
				movdqa	272(%rsp), %xmm3
				movaps	%xmm3, 1552(%rsp)
				movdqa	288(%rsp), %xmm4
				movaps	%xmm4, 1568(%rsp)
				movdqa	304(%rsp), %xmm5
				movaps	%xmm5, 1584(%rsp)
				movdqa	320(%rsp), %xmm6
				movaps	%xmm6, 1600(%rsp)
				movdqa	336(%rsp), %xmm7
				movaps	%xmm7, 1616(%rsp)
				movdqa	352(%rsp), %xmm3
				movaps	%xmm3, 1632(%rsp)
				movdqa	368(%rsp), %xmm4
				movaps	%xmm4, 1648(%rsp)
				movdqa	384(%rsp), %xmm5
				movaps	%xmm5, 1664(%rsp)
				movdqa	400(%rsp), %xmm6
				movaps	%xmm6, 1680(%rsp)
				movdqa	416(%rsp), %xmm7
				movaps	%xmm7, 1696(%rsp)
				movq	432(%rsp), %r13
				movq	440(%rsp), %r14
				movq	%r13, 1712(%rsp)
				movq	%r14, 1720(%rsp)
				movq	448(%rsp), %rax
				movq	456(%rsp), %rdx
				movq	%rax, 1728(%rsp)
				movq	%rdx, 1736(%rsp)
				movq	464(%rsp), %rcx
				movq	472(%rsp), %rbx
				movq	%rcx, 1744(%rsp)
				movq	%rbx, 1752(%rsp)
				movq	480(%rsp), %rsi
				movq	488(%rsp), %rdi
				movq	%rsi, 1760(%rsp)
				movq	%rdi, 1768(%rsp)
				movq	496(%rsp), %r9
				movq	504(%rsp), %r10
				movq	%r9, 1776(%rsp)
				movq	%r10, 1784(%rsp)
				movq	512(%rsp), %r11
				movq	520(%rsp), %r12
				movq	%r11, 1792(%rsp)
				movq	%r12, 1800(%rsp)
		.LBE473:
		.LBE472:
		.LBB474:
		.LBB475:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				call	_imp_printstring@PLT
		.LVL360:
				addq	$256, %rsp
				jmp	.L371
		.LVL361:
		.L404:
		.LDL21:
		.L391:
		.LBE475:
		.LBE474:
  718        %finish %else %start
  719           PRINTSTRING(include file) %if include # 0
				cmpl	$0, INCLUDE.6495(%rip)
				jne	.L403
		.L371:
  720           write(lines, 4);  printsymbol(csym);  space
				movl	$4, %esi
				movl	LINES.6451(%rip), %edi
				call	_imp_writeint@PLT
		.LVL343:
  721        %finish
				movsbl	CSYM.6464(%rip), %edi
		.LBB446:
		.LBB447:
				call	_imp_printsymbol@PLT
		.LVL344:
		.LBE447:
		.LBE446:
		.LBB448:
		.LBB449:
				call	_imp_space@PLT
		.LVL345:
		.L370:
		.L372:
		.LBE449:
		.LBE448:
		.LBB450:
  722        ->fm(n) %if -5 <= n <= 22
  723        PRINTSTRING("fault");  write(n, 2);              ->ps
				movabsq	$500035838310, %rax
				movl	$0, %edx
				movq	%rax, 1041(%rsp)
				movq	%rdx, 1049(%rsp)
				movb	$0, 1057(%rsp)
				movw	$0, 1058(%rsp)
				movl	$0, 1060(%rsp)
				leaq	1064(%rsp), %rdi
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
				movb	$5, 1040(%rsp)
				movq	1040(%rsp), %rax
				movq	1048(%rsp), %rdx
				movq	%rax, 528(%rsp)
				movq	%rdx, 536(%rsp)
				movdqa	1056(%rsp), %xmm0
				movaps	%xmm0, 544(%rsp)
				movdqa	1072(%rsp), %xmm1
				movaps	%xmm1, 560(%rsp)
				movdqa	1088(%rsp), %xmm2
				movaps	%xmm2, 576(%rsp)
				movdqa	1104(%rsp), %xmm3
				movaps	%xmm3, 592(%rsp)
				movdqa	1120(%rsp), %xmm4
				movaps	%xmm4, 608(%rsp)
				movdqa	1136(%rsp), %xmm5
				movaps	%xmm5, 624(%rsp)
				movdqa	1152(%rsp), %xmm6
				movaps	%xmm6, 640(%rsp)
				movdqa	1168(%rsp), %xmm7
				movaps	%xmm7, 656(%rsp)
				movdqa	1184(%rsp), %xmm0
				movaps	%xmm0, 672(%rsp)
				movq	1200(%rsp), %r13
				movq	1208(%rsp), %r14
				movq	%r13, 688(%rsp)
				movq	%r14, 696(%rsp)
				movq	1216(%rsp), %rax
				movq	1224(%rsp), %rdx
				movq	%rax, 704(%rsp)
				movq	%rdx, 712(%rsp)
				movq	1232(%rsp), %rcx
				movq	1240(%rsp), %rbx
				movq	%rcx, 720(%rsp)
				movq	%rbx, 728(%rsp)
				movq	1248(%rsp), %rsi
				movq	1256(%rsp), %rdi
				movq	%rsi, 736(%rsp)
				movq	%rdi, 744(%rsp)
				movq	1264(%rsp), %r9
				movq	1272(%rsp), %r10
				movq	%r9, 752(%rsp)
				movq	%r10, 760(%rsp)
				movq	1280(%rsp), %r11
				movq	1288(%rsp), %r12
				movq	%r11, 768(%rsp)
				movq	%r12, 776(%rsp)
		.LVL347:
				movb	$5, 528(%rsp)
				movdqa	528(%rsp), %xmm1
				movaps	%xmm1, 1808(%rsp)
				movdqa	1056(%rsp), %xmm2
				movaps	%xmm2, 1824(%rsp)
				movdqa	1072(%rsp), %xmm3
				movaps	%xmm3, 1840(%rsp)
				movdqa	1088(%rsp), %xmm4
				movaps	%xmm4, 1856(%rsp)
				movdqa	1104(%rsp), %xmm5
				movaps	%xmm5, 1872(%rsp)
				movdqa	1120(%rsp), %xmm6
				movaps	%xmm6, 1888(%rsp)
				movdqa	1136(%rsp), %xmm7
				movaps	%xmm7, 1904(%rsp)
				movdqa	1152(%rsp), %xmm0
				movaps	%xmm0, 1920(%rsp)
				movdqa	1168(%rsp), %xmm1
				movaps	%xmm1, 1936(%rsp)
				movdqa	1184(%rsp), %xmm2
				movaps	%xmm2, 1952(%rsp)
				movq	%r13, 1968(%rsp)
				movq	%r14, 1976(%rsp)
				movq	%rax, 1984(%rsp)
				movq	%rdx, 1992(%rsp)
				movq	%rcx, 2000(%rsp)
				movq	%rbx, 2008(%rsp)
				movq	%rsi, 2016(%rsp)
				movq	%rdi, 2024(%rsp)
				movq	%r9, 2032(%rsp)
				movq	%r10, 2040(%rsp)
				movq	%r11, 2048(%rsp)
				movq	%r12, 2056(%rsp)
		.LBE451:
		.LBB452:
		.LBB453:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	1288(%rsp)
				pushq	776(%rsp)
				pushq	776(%rsp)
				call	_imp_printstring@PLT
		.LVL348:
		.LBE453:
		.LBE452:
  724
				addq	$256, %rsp
				movl	$2, %esi
				movl	%r15d, %edi
				call	_imp_writeint@PLT
		.LVL349:
		.LDL19:
		.LBB454:
		.LBB455:
  725 fm(-5):PRINTSTRING("Dubious statement");  dubious = 0;  ->psd
  726 fm(-4):PRINTSTRING("Non-local")
  727        pos1 = for warn;  for warn = 0;                  ->ps
				leal	5(%r15), %eax
				cmpl	$27, %eax
				jbe	.L404
		.L373:
		.LVL346:
		.LBE450:
		.LBB451:
  728 fm(-3):print ident(x, 0);  PRINTSTRING(" unused");      ->nps
  729 fm(-2):PRINTSTRING("""}""");                            ->miss
  730 fm(-1):PRINTSTRING("access");                           ->psd
  731
  732 fm(0): PRINTSTRING("form");                             ->ps
  733 fm(1): PRINTSTRING("atom");                             ->ps
  734 fm(2): PRINTSTRING("not declared");                     ->ps
  735 fm(3): PRINTSTRING("too complex");                      ->ps
  736 fm(4): PRINTSTRING("duplicate ");  Print Ident(x, 0);   ->ps
  737 fm(5): PRINTSTRING("type");                             ->ps
  738 fm(6): PRINTSTRING("match");                            ->psd
  739 fm(7): PRINTSTRING("context");                          ->psd
  740 fm(21):PRINTSTRING("context ");  print ident(this, 0);  ->ps
  741 fm(8): PRINTSTRING("%cycle");                           ->miss
  742 fm(9): PRINTSTRING("%start");                           ->miss
  743 fm(10):PRINTSTRING("size");  WRITE(lit, 1) %if pos1 = 0;->ps
  744 fm(11):PRINTSTRING("bounds")
  745        WRITE(ocount, 1) %unless ocount < 0;             ->ps
  746 fm(12):PRINTSTRING("index");                            ->ps
  747 fm(13):PRINTSTRING("order");                            ->psd
  748 fm(14):PRINTSTRING("not a location");                   ->ps
  749 fm(15):PRINTSTRING("%begin");                           ->miss
  750 fm(16):PRINTSTRING("%end");                             ->miss
  751 fm(17):PRINTSTRING("%repeat");                          ->miss
  752 fm(18):PRINTSTRING("%finish");                          ->miss
  753 fm(19):PRINTSTRING("result");                           ->miss
  754 fm(22):PRINTSTRING("format");                           ->ps
  755 fm(20):printsymbol('"');  print ident(x, 0);  printsymbol('"')
  756 miss:  PRINTSTRING(" missing");                         ->nps
  757 psd:   pos1 = 0
  758 ps:    print ss
  759 nps:   NEWLINE
  760        %exit %if st = listing
				cmpl	$2, %ebp
				je	.L406
  761        st = listing
				movl	$2, %ebp
		.LVL351:
		.L386:
		.LBB465:
		.LBB466:
				movl	%ebp, _imp_OutStream(%rip)
				movslq	%ebp, %rax
				leaq	(%rax,%rax,8), %rax
				salq	$5, %rax
				leaq	_imp_outfile(%rip), %rdx
				movq	8(%rdx,%rax), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL352:
		.LBE466:
		.LBE465:
  762     %repeat
  763     %if n >= 0 %start
				testl	%r15d, %r15d
				jns	.L411
		.L388:
		.L389:
  764 !IMP80 BUG???         %signal 15,15 %if diag&4096 # 0
  765        %stop %if diag&4096 # 0
  766        %if n # 13 %start;           !order is fairly safe
  767           ocount = -1
  768           gg = 0
  769           copy = 0;  quote = 0
  770           search base = 0;  escape class = 0
  771           gg = 0
  772        %finish
  773        faulty = faulty+1
  774
  775        !check that there haven<dq>t been too many faults
  776
  777        fault rate = fault rate+3;  abandon(6) %IF fault rate > 30
  778        fault rate = 3 %IF fault rate <= 0
  779     %FINISH
  780     tbase = tstart
				movq	8(%rsp), %rdx
				movl	72(%rdx), %eax
				movl	%eax, 68(%rdx)
  781     %IF list <= 0 %AND sym # nl %START
				cmpl	$0, LIST.6521(%rip)
				jg	.L363
  782        error margin = column
				movl	SYM.6459(%rip), %eax
				cmpl	$10, %eax
				je	.L363
				movl	COLUMN.6456(%rip), %edx
				movl	%edx, ERRORMARGIN.6454(%rip)
  783        error sym = sym;  sym = nl
				movl	%eax, ERRORSYM.6455(%rip)
  784     %FINISH
				movl	$10, SYM.6459(%rip)
				jmp	.L363
		.L411:
		.LVL380:
		.LBB477:
		.LBB478:
				movl	$0, %edi
				call	exit@PLT
		.LVL381:
		.L408:
		.LBE478:
		.LBE477:
		.LBB479:
  785 %END
  786
  787    dmin = dmin-1;  dict(dmin) = -1;            !end marker for starts & cycles
				leal	-1(%rdx), %ecx
				movl	%ecx, 100(%rsp)
  788    abandon(2) %IF dmax = dmin
				leal	-2(%rdx), %eax
		.LVL890:
				cltq
				movw	$-1, 26836(%r10,%rax,2)
				cmpl	%ecx, DMAX.6489(%rip)
				je	.L940
		.LVL891:
		.L900:
  789
				movl	$2, %edi
				call	ABANDON.6570
		.LVL893:
				jmp	.L900
		.L941:
  790    %IF list > 0 %AND level > 0 %START
				cmpl	$0, LIST.6521(%rip)
				jle	.L901
  791       write(lines, 5);  spaces(level*3-1)
				movl	_imp_current_line(%rip), %ebx
				testl	%ebx, %ebx
				movl	$791, %eax
				cmove	%eax, %ebx
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L408
				leaq	1040(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL362:
		.L394:
				pushq	$729
				leaq	.LC2(%rip), %rax
				pushq	%rax
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				pushq	1304(%rsp)
				movl	%r15d, %r9d
				leaq	.LC6(%rip), %r8
				movl	%r15d, %ecx
				movl	$2, %edx
				movl	$8, %esi
				movl	%ebx, %edi
				movl	$0, %eax
				call	_signal_eventf@PLT
		.LVL363:
				addq	$272, %rsp
		.L390:
		.LVL364:
		.L363:
				movabsq	$8603403804667503988, %rax
				movabsq	$4068493685302587439, %rdx
				movq	%rax, 1041(%rsp)
				movq	%rdx, 1049(%rsp)
				movabsq	$7883958449920159028, %rax
				movabsq	$482871946867, %rdx
				movq	%rax, 1057(%rsp)
				movq	%rdx, 1065(%rsp)
				movb	$0, 1073(%rsp)
				movw	$0, 1074(%rsp)
				movl	$0, 1076(%rsp)
				leaq	1080(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
				movb	$29, 1040(%rsp)
				movq	1040(%rsp), %rax
				movq	1048(%rsp), %rdx
				movq	%rax, 784(%rsp)
				movq	%rdx, 792(%rsp)
				movq	1056(%rsp), %rax
				movq	1064(%rsp), %rdx
				movq	%rax, 800(%rsp)
				movq	%rdx, 808(%rsp)
				movq	1072(%rsp), %rax
				movq	1080(%rsp), %rdx
				movq	%rax, 816(%rsp)
				movq	%rdx, 824(%rsp)
				movq	1088(%rsp), %rax
				movq	1096(%rsp), %rdx
				movq	%rax, 832(%rsp)
				movq	%rdx, 840(%rsp)
				movq	1104(%rsp), %rax
				movq	1112(%rsp), %rdx
				movq	%rax, 848(%rsp)
				movq	%rdx, 856(%rsp)
				movq	1120(%rsp), %rax
				movq	1128(%rsp), %rdx
				movq	%rax, 864(%rsp)
				movq	%rdx, 872(%rsp)
				movq	1136(%rsp), %rax
				movq	1144(%rsp), %rdx
				movq	%rax, 880(%rsp)
				movq	%rdx, 888(%rsp)
				movq	1152(%rsp), %rax
				movq	1160(%rsp), %rdx
				movq	%rax, 896(%rsp)
				movq	%rdx, 904(%rsp)
				movq	1168(%rsp), %rax
				movq	1176(%rsp), %rdx
				movq	%rax, 912(%rsp)
				movq	%rdx, 920(%rsp)
				movq	1184(%rsp), %rax
				movq	1192(%rsp), %rdx
				movq	%rax, 928(%rsp)
				movq	%rdx, 936(%rsp)
				movq	1200(%rsp), %rax
				movq	1208(%rsp), %rdx
				movq	%rax, 944(%rsp)
				movq	%rdx, 952(%rsp)
				movq	1216(%rsp), %rax
				movq	1224(%rsp), %rdx
				movq	%rax, 960(%rsp)
				movq	%rdx, 968(%rsp)
				movq	1232(%rsp), %rax
				movq	1240(%rsp), %rdx
				movq	%rax, 976(%rsp)
				movq	%rdx, 984(%rsp)
				movq	1248(%rsp), %rax
				movq	1256(%rsp), %rdx
				movq	%rax, 992(%rsp)
				movq	%rdx, 1000(%rsp)
				movq	1264(%rsp), %rax
				movq	1272(%rsp), %rdx
				movq	%rax, 1008(%rsp)
				movq	%rdx, 1016(%rsp)
				movq	1280(%rsp), %rax
				movq	1288(%rsp), %rdx
				movq	%rax, 1024(%rsp)
				movq	%rdx, 1032(%rsp)
		.LVL382:
		.LBE479:
				movb	$29, 784(%rsp)
				movq	784(%rsp), %rax
				movq	792(%rsp), %rdx
				movq	%rax, 1040(%rsp)
				movq	%rdx, 1048(%rsp)
				jmp	.L394
		.LVL383:
		.L409:
				cmpl	$0, 108(%rsp)
				jg	.L941
		.L901:
				movl	$5, %esi
				movl	LINES.6451(%rip), %edi
				call	_imp_writeint@PLT
		.LVL894:
  792       %IF block tag = 0 %START
				movq	2072(%rsp), %rax
				xorq	%fs:40, %rax
				jne	.L409
				addq	$2088, %rsp
				popq	%rbx
				popq	%rbp
		.LVL365:
				popq	%r12
				popq	%r13
				popq	%r14
				popq	%r15
		.LVL366:
				ret
		.LVL367:
		.L405:
		.L375:
		.LBB476:
		.LBB462:
		.LBB456:
		.LBB457:
				call	_imp_space@PLT
		.LVL368:
				leaq	1+CHAR.6516(%rip), %r12
		.LBE457:
		.LBE456:
				call	__stack_chk_fail@PLT
		.LVL384:
		.LFE192:
		POPLABEL.7734:
		.LFB221:
				movl	108(%rsp), %eax
				leal	-1(%rax,%rax,2), %edi
		.LBB708:
		.LBB709:
				call	_imp_spaces@PLT
		.LVL895:
		.LBE709:
		.LBE708:
				cmpl	$0, 76(%rsp)
				jne	.L902
		.LVL896:
		.LBB710:
  793          printstring("Begin")
				movabsq	$474214786370, %rax
				movl	$0, %edx
				movq	%rax, 1425(%rsp)
				movq	%rdx, 1433(%rsp)
				movb	$0, 1441(%rsp)
				movw	$0, 1442(%rsp)
				movl	$0, 1444(%rsp)
				leaq	1448(%rsp), %rdi
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
				movb	$5, 1424(%rsp)
				movq	1424(%rsp), %rax
				movq	1432(%rsp), %rdx
				movq	%rax, 144(%rsp)
				movq	%rdx, 152(%rsp)
				movdqa	1440(%rsp), %xmm0
				movaps	%xmm0, 160(%rsp)
				movdqa	1456(%rsp), %xmm1
				movaps	%xmm1, 176(%rsp)
				movdqa	1472(%rsp), %xmm2
				movaps	%xmm2, 192(%rsp)
				movdqa	1488(%rsp), %xmm3
				movaps	%xmm3, 208(%rsp)
				movdqa	1504(%rsp), %xmm4
				movaps	%xmm4, 224(%rsp)
				movdqa	1520(%rsp), %xmm5
				movaps	%xmm5, 240(%rsp)
				movdqa	1536(%rsp), %xmm6
				movaps	%xmm6, 256(%rsp)
				movdqa	1552(%rsp), %xmm7
				movaps	%xmm7, 272(%rsp)
				movdqa	1568(%rsp), %xmm0
				movaps	%xmm0, 288(%rsp)
				movq	1584(%rsp), %r13
				movq	1592(%rsp), %r14
				movq	%r13, 304(%rsp)
				movq	%r14, 312(%rsp)
				movq	1600(%rsp), %rax
				movq	1608(%rsp), %rdx
				movq	%rax, 320(%rsp)
				movq	%rdx, 328(%rsp)
				movq	1616(%rsp), %rsi
				movq	1624(%rsp), %rdi
				movq	%rsi, 336(%rsp)
				movq	%rdi, 344(%rsp)
				movq	1632(%rsp), %r9
				movq	1640(%rsp), %r10
				movq	%r9, 352(%rsp)
				movq	%r10, 360(%rsp)
				movq	1648(%rsp), %rcx
				movq	1656(%rsp), %rbx
				movq	%rcx, 368(%rsp)
				movq	%rbx, 376(%rsp)
				movq	1664(%rsp), %r11
				movq	1672(%rsp), %r12
				movq	%r11, 384(%rsp)
				movq	%r12, 392(%rsp)
		.LVL897:
				movb	$5, 144(%rsp)
				movdqa	144(%rsp), %xmm1
				movaps	%xmm1, 912(%rsp)
				movdqa	1440(%rsp), %xmm2
				movaps	%xmm2, 928(%rsp)
				movdqa	1456(%rsp), %xmm3
				movaps	%xmm3, 944(%rsp)
				movdqa	1472(%rsp), %xmm4
				movaps	%xmm4, 960(%rsp)
				movdqa	1488(%rsp), %xmm5
				movaps	%xmm5, 976(%rsp)
				movdqa	1504(%rsp), %xmm6
				movaps	%xmm6, 992(%rsp)
				movdqa	1520(%rsp), %xmm7
				movaps	%xmm7, 1008(%rsp)
				movdqa	1536(%rsp), %xmm0
				movaps	%xmm0, 1024(%rsp)
				movdqa	1552(%rsp), %xmm1
				movaps	%xmm1, 1040(%rsp)
				movdqa	1568(%rsp), %xmm2
				movaps	%xmm2, 1056(%rsp)
				movq	%r13, 1072(%rsp)
				movq	%r14, 1080(%rsp)
				movq	%rax, 1088(%rsp)
				movq	%rdx, 1096(%rsp)
				movq	%rsi, 1104(%rsp)
				movq	%rdi, 1112(%rsp)
				movq	%r9, 1120(%rsp)
				movq	%r10, 1128(%rsp)
				movq	%rcx, 1136(%rsp)
				movq	%rbx, 1144(%rsp)
				movq	%r11, 1152(%rsp)
				movq	%r12, 1160(%rsp)
		.LBE710:
		.LBB711:
		.LBB712:
				pushq	%r12
				pushq	%r11
				pushq	%rbx
				pushq	%rcx
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	392(%rsp)
				pushq	392(%rsp)
				call	_imp_printstring@PLT
		.LVL898:
				addq	$256, %rsp
		.L903:
		.LBE712:
		.LBE711:
		.LBB713:
		.LBB714:
				call	_imp_newline@PLT
		.LVL899:
				jmp	.L901
		.L902:
		.LVL900:
		.LBE714:
		.LBE713:
		.LBB715:
  794       %FINISH %ELSE %START
  795          printstring("Procedure ");  print ident(block tag, 0)
				movabsq	$8247608679221654096, %rax
				movl	$8293, %edx
				movq	%rax, 1425(%rsp)
				movq	%rdx, 1433(%rsp)
				movb	$0, 1441(%rsp)
				movw	$0, 1442(%rsp)
				movl	$0, 1444(%rsp)
				leaq	1448(%rsp), %rdi
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
				movb	$10, 1424(%rsp)
				movq	1424(%rsp), %rax
				movq	1432(%rsp), %rdx
				movq	%rax, 400(%rsp)
				movq	%rdx, 408(%rsp)
				movdqa	1440(%rsp), %xmm3
				movaps	%xmm3, 416(%rsp)
				movdqa	1456(%rsp), %xmm4
				movaps	%xmm4, 432(%rsp)
				movdqa	1472(%rsp), %xmm5
				movaps	%xmm5, 448(%rsp)
				movdqa	1488(%rsp), %xmm6
				movaps	%xmm6, 464(%rsp)
				movdqa	1504(%rsp), %xmm7
				movaps	%xmm7, 480(%rsp)
				movdqa	1520(%rsp), %xmm0
				movaps	%xmm0, 496(%rsp)
				movdqa	1536(%rsp), %xmm1
				movaps	%xmm1, 512(%rsp)
				movdqa	1552(%rsp), %xmm2
				movaps	%xmm2, 528(%rsp)
				movdqa	1568(%rsp), %xmm3
				movaps	%xmm3, 544(%rsp)
				movq	1584(%rsp), %r13
				movq	1592(%rsp), %r14
				movq	%r13, 560(%rsp)
				movq	%r14, 568(%rsp)
				movq	1600(%rsp), %rax
				movq	1608(%rsp), %rdx
				movq	%rax, 576(%rsp)
				movq	%rdx, 584(%rsp)
				movq	1616(%rsp), %rcx
				movq	1624(%rsp), %rbx
				movq	%rcx, 592(%rsp)
				movq	%rbx, 600(%rsp)
				movq	1632(%rsp), %rsi
				movq	1640(%rsp), %rdi
				movq	%rsi, 608(%rsp)
				movq	%rdi, 616(%rsp)
				movq	1648(%rsp), %r9
				movq	1656(%rsp), %r10
				movq	%r9, 624(%rsp)
				movq	%r10, 632(%rsp)
				movq	1664(%rsp), %r11
				movq	1672(%rsp), %r12
				movq	%r11, 640(%rsp)
				movq	%r12, 648(%rsp)
		.LVL901:
				movb	$10, 400(%rsp)
				movdqa	400(%rsp), %xmm4
				movaps	%xmm4, 1168(%rsp)
				movdqa	1440(%rsp), %xmm5
				movaps	%xmm5, 1184(%rsp)
				movdqa	1456(%rsp), %xmm6
				movaps	%xmm6, 1200(%rsp)
				movdqa	1472(%rsp), %xmm7
				movaps	%xmm7, 1216(%rsp)
				movdqa	1488(%rsp), %xmm0
				movaps	%xmm0, 1232(%rsp)
				movdqa	1504(%rsp), %xmm1
				movaps	%xmm1, 1248(%rsp)
				movdqa	1520(%rsp), %xmm2
				movaps	%xmm2, 1264(%rsp)
				movdqa	1536(%rsp), %xmm3
				movaps	%xmm3, 1280(%rsp)
				movdqa	1552(%rsp), %xmm4
				movaps	%xmm4, 1296(%rsp)
				movdqa	1568(%rsp), %xmm5
				movaps	%xmm5, 1312(%rsp)
				movq	%r13, 1328(%rsp)
				movq	%r14, 1336(%rsp)
				movq	%rax, 1344(%rsp)
				movq	%rdx, 1352(%rsp)
				movq	%rcx, 1360(%rsp)
				movq	%rbx, 1368(%rsp)
				movq	%rsi, 1376(%rsp)
				movq	%rdi, 1384(%rsp)
				movq	%r9, 1392(%rsp)
				movq	%r10, 1400(%rsp)
				movq	%r11, 1408(%rsp)
				movq	%r12, 1416(%rsp)
		.LBE715:
		.LBB716:
		.LBB717:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	648(%rsp)
				pushq	648(%rsp)
				call	_imp_printstring@PLT
		.LVL902:
		.LBE717:
		.LBE716:
  796       %FINISH
				addq	$256, %rsp
				movq	%rbp, %r10
				movl	$0, %esi
				movl	76(%rsp), %edi
				call	PRINTIDENT.6551
		.LVL903:
				jmp	.L903
		.L942:
  797       newline
  798    %FINISH
  799
  800    !deal with procedure definition (parameters)
  801
  802    %IF block tag # 0 %START;                   !proc
				cmpl	$0, 76(%rsp)
				jne	.L942
		.L904:
  803       analyse;  compile %IF ss # 0
				leaq	48(%rsp), %r10
				call	ANALYSE.6661
		.LVL904:
  804
				cmpl	$0, SS.6491(%rip)
				jne	.L943
		.L905:
  805       %IF block otype # 0 %START;              !external-ish
				cmpl	$0, 12(%rsp)
				je	.L909
				leaq	48(%rsp), %r10
				call	COMPILE.6663
		.LVL910:
				jmp	.L905
		.L944:
  806          %IF bflags&spec = 0 %START;           !definition
				movq	48(%rsp), %rax
				testb	$1, (%rax)
				jne	.L909
  807             %IF progmode <= 0 %AND level = 1 %THEN progmode = -1 %C
				cmpl	$0, PROGMODE.6497(%rip)
				jg	.L907
  808                                              %ELSE fault(7)
				cmpl	$1, 108(%rsp)
				je	.L944
		.L907:
  809          %FINISH
				movl	$-1, PROGMODE.6497(%rip)
  810       %FINISH
				jmp	.L909
		.LVL911:
		.L935:
		.LBB726:
		.LBB724:
		.LBB720:
		.LBB721:
  811
  812       new app = gapp;                          !generate app grammar
				leaq	48(%rsp), %r10
				movl	$7, %edi
				call	FAULT.6680
		.LVL905:
		.L906:
		.L908:
		.L909:
		.LBB718:
		.LBB719:
  813       %IF spec given # 0 %START;               !definition after spec
				cmpl	$0, SPECGIVEN.6467(%rip)
				je	.L921
  814          fault(6) %IF new app # block app;     !different from spec
				cmpl	%ebx, 212(%r15)
				je	.L921
  815       %FINISH
				leaq	48(%rsp), %r10
				movl	$6, %edi
				call	FAULT.6680
		.LVL928:
		.L920:
		.L921:
  816       block app = new app;                     !use the latest
				movl	%ebx, 212(%r15)
  817
  818       %IF level < 0 %START;                    !not procedure definition
				cmpl	$0, 108(%rsp)
				jns	.L922
  819          delete names(0)
				leaq	48(%rsp), %r10
				movl	$0, %edi
				call	DELETENAMES.6659
		.LVL929:
  820          %RETURN
				jmp	.L899
		.LVL930:
		.L946:
		.LBB727:
		.LBB725:
  821       %FINISH
  822    %FINISH %ELSE %START
  823       open = 0;                                !can return from a block?
				movl	$0, 80(%rsp)
		.L922:
  824    %FINISH
  825
  826    %CYCLE
  827       analyse
				leaq	48(%rsp), %rbx
				jmp	.L924
		.LVL892:
		.L940:
				movq	%rbx, %r10
				call	ANALYSE.6661
		.LVL934:
  828       %CONTINUE %IF ss = 0
				cmpl	$0, SS.6491(%rip)
				je	.L924
		.L925:
  829       compile
				movq	%rbx, %r10
				call	COMPILE.6663
		.LVL935:
  830       fault(-5) %IF dubious # 0
				cmpl	$0, DUBIOUS.6505(%rip)
				jne	.L948
		.L926:
  831       flush buffer %IF bp >= 128
				movq	%rbx, %r10
				movl	$-5, %edi
				call	FAULT.6680
		.LVL933:
				jmp	.L926
		.L927:
				cmpl	$127, BP.6528(%rip)
				jle	.L927
  832       %IF sstype > 0 %START;                 !block in or out
				movl	SSTYPE.6498(%rip), %eax
				testl	%eax, %eax
				jg	.L947
		.L924:
				movq	%rbp, %r10
				call	FLUSHBUFFER.6538
		.LVL936:
				jmp	.L927
		.L947:
  833          %EXIT %IF sstype = 2;               !out
				cmpl	$2, %eax
				je	.L929
		.L930:
  834          compile block(spec mode, block x, dmin, tmax, id)
				movq	%rbp, %r10
				movl	104(%rsp), %r8d
				movl	112(%rsp), %ecx
				movl	100(%rsp), %edx
				movl	BLOCKX.6520(%rip), %esi
				movl	SPECMODE.6499(%rip), %edi
				call	COMPILEBLOCK.6654
		.LVL937:
  835          %EXIT %IF ss < 0;                   !endofprogram
				cmpl	$0, SS.6491(%rip)
				jns	.L924
		.L929:
  836       %FINISH
  837    %REPEAT
  838    %IF list > 0 %AND level > 0 %START
				cmpl	$0, LIST.6521(%rip)
				jle	.L932
  839       write(lines, 5);  spaces(level*3-1)
				cmpl	$0, 108(%rsp)
				jg	.L949
		.L932:
				movl	$5, %esi
				movl	LINES.6451(%rip), %edi
				call	_imp_writeint@PLT
		.LVL939:
  840       printstring("End")
				movl	108(%rsp), %eax
				leal	-1(%rax,%rax,2), %edi
		.LBB728:
		.LBB729:
				call	_imp_spaces@PLT
		.LVL940:
		.LBE729:
		.LBE728:
		.LBB730:
				movq	$6581829, 1425(%rsp)
				movq	$0, 1433(%rsp)
				movb	$0, 1441(%rsp)
				movw	$0, 1442(%rsp)
				movl	$0, 1444(%rsp)
				leaq	1448(%rsp), %rdi
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
				movb	$3, 1424(%rsp)
				movq	1424(%rsp), %rax
				movq	1432(%rsp), %rdx
				movq	%rax, 656(%rsp)
				movq	%rdx, 664(%rsp)
				movdqa	1440(%rsp), %xmm6
				movaps	%xmm6, 672(%rsp)
				movdqa	1456(%rsp), %xmm7
				movaps	%xmm7, 688(%rsp)
				movdqa	1472(%rsp), %xmm0
				movaps	%xmm0, 704(%rsp)
				movdqa	1488(%rsp), %xmm1
				movaps	%xmm1, 720(%rsp)
				movdqa	1504(%rsp), %xmm2
				movaps	%xmm2, 736(%rsp)
				movdqa	1520(%rsp), %xmm3
				movaps	%xmm3, 752(%rsp)
				movdqa	1536(%rsp), %xmm4
				movaps	%xmm4, 768(%rsp)
				movdqa	1552(%rsp), %xmm5
				movaps	%xmm5, 784(%rsp)
				movdqa	1568(%rsp), %xmm6
				movaps	%xmm6, 800(%rsp)
				movq	1584(%rsp), %r13
				movq	1592(%rsp), %r14
				movq	%r13, 816(%rsp)
				movq	%r14, 824(%rsp)
				movq	1600(%rsp), %rax
				movq	1608(%rsp), %rdx
				movq	%rax, 832(%rsp)
				movq	%rdx, 840(%rsp)
				movq	1616(%rsp), %rcx
				movq	1624(%rsp), %rbx
				movq	%rcx, 848(%rsp)
				movq	%rbx, 856(%rsp)
				movq	1632(%rsp), %rsi
				movq	1640(%rsp), %rdi
				movq	%rsi, 864(%rsp)
				movq	%rdi, 872(%rsp)
				movq	1648(%rsp), %r9
				movq	1656(%rsp), %r10
				movq	%r9, 880(%rsp)
				movq	%r10, 888(%rsp)
				movq	1664(%rsp), %r11
				movq	1672(%rsp), %r12
				movq	%r11, 896(%rsp)
				movq	%r12, 904(%rsp)
		.LVL941:
				movb	$3, 656(%rsp)
				movdqa	656(%rsp), %xmm7
				movaps	%xmm7, 1424(%rsp)
		.LBE730:
		.LBB731:
		.LBB732:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	1672(%rsp)
				pushq	904(%rsp)
				pushq	904(%rsp)
				call	_imp_printstring@PLT
		.LVL942:
		.LBE732:
		.LBE731:
		.LBB733:
		.LBB734:
				addq	$256, %rsp
				call	_imp_newline@PLT
		.LVL943:
				jmp	.L932
		.L950:
		.LBE734:
		.LBE733:
  841       newline
  842    %FINISH
  843    delete names(0)
				leaq	48(%rsp), %r10
				movl	$0, %edi
				call	DELETENAMES.6659
		.LVL938:
		.L899:
  844    %RETURN
  845
  846    %INTEGERFN gapp;                            !generate app grammar (backwards)
				leaq	1760(%rsp), %rax
		.LVL906:
				movq	%rax, 40(%rsp)
  847       %CONSTINTEGER comma = 140;               !psep
  848       %ROUTINESPEC set cell(%INTEGER g, tt)
  849       %ROUTINESPEC class(%RECORD(tagfm)%NAME v)
  850       %RECORD(tagfm)%NAME v
  851       %INTEGER p, link, tp, c, ap, t
  852
  853       %RESULT = 0 %IF tmax = local;            !no app needed
				movl	LOCAL.6511(%rip), %r13d
				movl	112(%rsp), %eax
		.LVL907:
				cmpl	%eax, %r13d
				je	.L910
		.L911:
  854
				movl	$0, %ebx
  855       p = gmax1;  link = 0;  t = tmax
				movl	$719, 32(%rsp)
  856
				movl	$0, 28(%rsp)
		.LVL908:
  857       %CYCLE
  858          v == tag(t);  t = t-1
  859          class(v);                             !deduce class from tag
				movl	%ebx, %eax
		.LVL918:
		.L912:
				leal	-1(%rax), %ebx
		.LVL919:
		.LBB723:
		.LBB722:
  860          %IF c < 0 %START;                     !insert %PARAM
				movl	16(%rsp), %eax
				testl	%eax, %eax
				js	.L945
		.LVL915:
		.L916:
  861             c = -c
				negl	%eax
				movl	%eax, 16(%rsp)
  862             set cell(196, tp)
				leaq	16(%rsp), %r12
				jmp	.L912
		.LVL909:
		.L943:
		.LBE719:
		.LBE718:
				movq	%r12, %r10
				movl	20(%rsp), %esi
				movl	$196, %edi
				call	SETCELL.6860
		.LVL926:
  863             tp = -1
				movl	$-1, 20(%rsp)
				jmp	.L916
		.L917:
  864          %FINISH
  865          set cell(c, tp)
				movq	%r12, %r10
				movl	20(%rsp), %esi
				movl	16(%rsp), %edi
				call	SETCELL.6860
		.LVL916:
  866          %EXIT %IF t = local;                  !end of parameters
				cmpl	%ebx, %r13d
				je	.L917
		.L918:
  867          set cell(comma, -1);                  !add the separating comma
				movq	%r12, %r10
				movl	$-1, %esi
				movl	$140, %edi
				call	SETCELL.6860
		.LVL917:
  868       %REPEAT
  869       abandon(3) %IF gmax > gmin
				movl	GMIN.6488(%rip), %eax
				cmpl	%eax, GMAX.6530(%rip)
				jg	.L946
		.L919:
  870
				movq	56(%rsp), %r10
				movl	$3, %edi
				call	ABANDON.6570
		.LVL931:
				jmp	.L919
		.LVL932:
		.L948:
		.LBE725:
		.LBE727:
  871       %RESULT = link
				movl	28(%rsp), %ebx
		.LVL927:
		.L910:
		.LBE724:
		.LBE726:
  872
  873       %ROUTINE set cell(%INTEGER g, tt)
		.LVL7:
  874
  875          !add the cell to the grammar, combining common tails
  876
  877          %WHILE p # gmax %CYCLE
  878             p = p+1
				movl	GMAX.6530(%rip), %r8d
				movl	16(%r10), %eax
				cmpl	%eax, %r8d
				je	.L4
				leal	1(%rax), %edx
				movl	%edx, 16(%r10)
  879             %IF glink(p) = link %AND gram(p) = g %START
				leaq	GLINK.6535(%rip), %r9
				movslq	%edx, %rcx
				movswl	(%r9,%rcx,2), %ecx
				cmpl	12(%r10), %ecx
				jne	.L9
				movslq	%edx, %rcx
				movswl	(%r11,%rcx,2), %ecx
				cmpl	%edi, %ecx
				jne	.L9
				testl	%esi, %esi
				js	.L6
  880                %IF tt < 0 %OR (gram(p+1) = tt %AND glink(p+1)=ap) %START
				leaq	GRAM.6534(%rip), %r11
		.L9:
  881                   link = p;                    !already there
				addl	$2, %eax
				movslq	%eax, %rcx
				movswl	(%r11,%rcx,2), %ecx
				cmpl	%esi, %ecx
				jne	.L9
				movl	%edx, 12(%r10)
				ret
		.L4:
  882                   %RETURN
				cltq
				movswl	(%r9,%rax,2), %eax
				cmpl	8(%r10), %eax
				jne	.L9
		.L6:
  883                %FINISH
  884             %FINISH
  885          %REPEAT
  886
  887          !add a new cell
  888
  889          gmax = gmax+1
				leal	1(%r8), %eax
				movl	%eax, GMAX.6530(%rip)
  890          gram(gmax) = g
				movslq	%eax, %rdx
				leaq	GRAM.6534(%rip), %rcx
				movw	%di, (%rcx,%rdx,2)
  891          glink(gmax) = link
				movl	12(%r10), %edi
		.LVL8:
				leaq	GLINK.6535(%rip), %rcx
				movw	%di, (%rcx,%rdx,2)
  892          link = gmax
				movl	%eax, 12(%r10)
  893
  894          %IF tt >= 0 %START;             ! set type cell
				testl	%esi, %esi
				js	.L8
  895             gmax = gmax+1
				addl	$2, %r8d
				movl	%r8d, GMAX.6530(%rip)
  896             gram(gmax) = tt
				movslq	%r8d, %r8
				leaq	GRAM.6534(%rip), %rax
				movw	%si, (%rax,%r8,2)
  897             glink(gmax) = ap
				movl	8(%r10), %edx
				movw	%dx, (%rcx,%r8,2)
		.L8:
  898          %FINISH
  899
  900          p = gmax
				movl	GMAX.6530(%rip), %eax
				movl	%eax, 16(%r10)
  901       %END
  902
				ret
		.LFE195:
		DEFLAB.7573:
		.LFB210:
  903       %ROUTINE class(%RECORD(tagfm)%NAME v)
  904          %CONSTINTEGER err    = 89
  905          %CONSTINTEGER rtp    = 100
  906          %CONSTINTEGER fnp    = 101
  907          %CONSTINTEGER mapp   = 102
  908          %CONSTINTEGER predp  = 103
  909          %CONSTINTEGERARRAY class map(0:15) = %C
				movl	$89, 1424(%rsp)
				movl	$1764, 1428(%rsp)
				movl	$247, 1432(%rsp)
				movl	$89, 1436(%rsp)
				movl	$89, 1440(%rsp)
				movl	$89, 1444(%rsp)
				movl	$89, 1448(%rsp)
				movl	$-100, 1452(%rsp)
				movl	$-101, 1456(%rsp)
				movl	$-102, 1460(%rsp)
				movl	$-103, 1464(%rsp)
				movl	$89, 1468(%rsp)
				movl	$214, 1472(%rsp)
				movl	$89, 1476(%rsp)
				movl	$229, 1480(%rsp)
				movl	$89, 1484(%rsp)
  910          err,1764, 247, err(4), -rtp, -fnp, -mapp, -predp, err, 214,
  911          err, 229, err
  912          %INTEGER tags, type, form
  913          ap = 0
				movl	$0, 24(%rsp)
				cltq
		.LVL920:
				salq	$4, %rax
		.LVL921:
				addq	56(%rsp), %rax
  914          tags = v_flags
				movzwl	220(%rax), %edx
		.LVL922:
  915          type = tags>>4&7;  form = tags&15
				movl	%edx, %esi
				shrl	$4, %esi
				andl	$7, %esi
		.LVL923:
  916          tp = v_format<<3!type
				andl	$15, %edx
		.LVL924:
				movl	216(%rax), %edi
				leal	0(,%rdi,8), %ecx
				orl	%esi, %ecx
				movl	%ecx, 20(%rsp)
  917          c = class map(form)
				movslq	%edx, %rdx
				movl	1424(%rsp,%rdx,4), %edx
		.LVL912:
				movl	%edx, 16(%rsp)
		.L915:
  918          c = 208 %AND tp = 0 %IF type = 0 %AND form = 2;  !%NAME
  919          ap = v_app %IF tags&parameters # 0
				testl	%esi, %esi
				jne	.L935
				cmpl	$2, %edx
				jne	.L935
  920       %END
				movl	212(%rax), %eax
		.LVL913:
				movl	%eax, 24(%rsp)
		.LDL48:
		.LVL914:
		.LBE721:
		.LBE720:
				movl	$208, 16(%rsp)
  921    %END
				movl	$0, 20(%rsp)
				jmp	.L915
		.LVL925:
		.L945:
		.LBE722:
		.LBE723:
  922
  923 %ROUTINE delete names(%INTEGER quiet)
		.LVL729:
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$8, %rsp
				movq	%r10, %rbp
				movl	%edi, %r12d
  924    %INTEGER flags
  925    %RECORD(tagfm)%NAME tx
  926    %WHILE tmax > tbase %CYCLE
  927       x = tmax;  tmax = tmax-1
				movl	64(%r10), %eax
				cmpl	68(%r10), %eax
				jle	.L798
				movl	64(%rbp), %eax
				cmpl	68(%rbp), %eax
				jle	.L801
		.L795:
				movl	%eax, X.6441(%rip)
  928       tx == tag(x)
				leal	-1(%rax), %edx
				movl	%edx, 64(%rbp)
		.LVL731:
				cltq
		.LVL732:
				salq	$4, %rax
		.LVL733:
				addq	8(%rbp), %rax
				movq	%rax, %rbx
		.LVL734:
  929       flags = tx_flags
  930       fault(20) %IF flags&spec # 0 %and flags&own bit = 0
  931                {spec with no definition & not external}
				testb	$1, 220(%rax)
				jne	.L794
  932       %IF flags&used bit = 0 %AND level >= 0 %AND list <= 0 %START
				movq	%rbp, %r10
				movl	$20, %edi
				call	FAULT.6680
		.LVL735:
  933          fault(-3) %IF quiet = 0;          !unused
				cmpl	$0, 60(%rbp)
				js	.L794
				cmpl	$0, LIST.6521(%rip)
				jg	.L794
				testl	%r12d, %r12d
				jne	.L794
  934       %FINISH
				movl	$-3, %r13d
				jmp	.L795
		.L793:
		.LVL730:
		.L794:
				movq	%rbp, %r10
				movl	%r13d, %edi
				call	FAULT.6680
		.LVL736:
				jmp	.L794
		.L792:
		.L801:
  935       dict(tx_text) = tx_link
				movzwl	226(%rbx), %ecx
				movq	8(%rbp), %rdx
				movswl	224(%rbx), %eax
				subl	$1, %eax
				cltq
				movw	%cx, 26836(%rdx,%rax,2)
		.LDL35:
  936    %REPEAT
  937 %END
  938
				addq	$8, %rsp
				popq	%rbx
				popq	%rbp
				popq	%r12
		.LVL737:
				popq	%r13
				ret
		.LVL738:
		.L798:
				rep ret
		.LFE197:
				.section	.rodata.str1.8
				.align 8
		.LC11:
				.string	"->ACT(%d) out of bounds at %s line %d"
				.align 8
		.LC12:
				.string	"switch jump to undefined label ACT(%d): at %s line %d"
				.align 8
		.LC13:
				.string	"->PACTION(%d) out of bounds at %s line %d"
				.align 8
		.LC14:
				.string	"switch jump to undefined label PACTION(%d): at %s line %d"
		ANALYSE.6661:
		.LFB198:
  939 %ROUTINE analyse
				pushq	%r15
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$5752, %rsp
				movq	%r10, %r15
				movq	%fs:40, %rax
				movq	%rax, 5736(%rsp)
				xorl	%eax, %eax
				leaq	5808(%rsp), %rax
				movq	%rax, 80(%rsp)
				movq	%r10, 64(%rsp)
  940
  941    %CONSTINTEGER order bits = x'3000', order bit = x'1000'
  942    %CONSTINTEGER escape     = x'1000'
  943    %INTEGER strp, mark, flags, prot err, k, s, c
  944    %OWNINTEGER key = 0
  945    %SHORTINTEGER node
  946    %SHORTINTEGERNAME z
  947    %RECORD(arfm)%NAME arp
  948 !emas:   %INTEGER node
  949 !emas:   %INTEGERNAME z
  950    %SWITCH act(actions:phrasal), paction(0:15)
  951
  952    %ROUTINE trace analysis
				leaq	64(%rsp), %rax
				movq	%rax, 8(%rsp)
				jmp	.L827
		.LVL752:
		.L815:
		.LBE640:
		.LBE643:
				leaq	5808(%rsp), %rax
		.LVL813:
				movq	%rax, 56(%rsp)
				movq	8(%rsp), %rax
		.LVL814:
				movq	%rax, 48(%rsp)
  953       !diagnostic trace routine (diagnose&1 # 0)
  954       %INTEGER a
  955       %ROUTINE show(%INTEGER a)
		.LVL32:
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbx
				subq	$536, %rsp
				movq	%fs:40, %rax
				movq	%rax, 520(%rsp)
				xorl	%eax, %eax
		.LVL33:
		.LBB316:
  956          %IF 0 < a < 130 %START
  957             space
  958             printstring(text(a))
  959          %FINISH %ELSE write(a, 3)
  960       %END
  961       %OWNINTEGER la1=0, la2=0, lsa=0, lt=0
				leal	-1(%rdi), %eax
				cmpl	$128, %eax
				jbe	.L40
		.L36:
		.LBE316:
				movl	$3, %esi
				call	_imp_writeint@PLT
		.LVL34:
		.L37:
		.L35:
				movq	520(%rsp), %rax
				xorq	%fs:40, %rax
				jne	.L41
				addq	$536, %rsp
				popq	%rbx
				popq	%r12
				popq	%r13
				popq	%r14
				ret
		.LVL35:
		.L40:
		.LBB317:
		.LBB318:
				call	_imp_space@PLT
		.LVL36:
				movdqa	(%rsp), %xmm0
				movaps	%xmm0, 256(%rsp)
				movdqa	16(%rsp), %xmm1
				movaps	%xmm1, 272(%rsp)
				movdqa	32(%rsp), %xmm2
				movaps	%xmm2, 288(%rsp)
				movdqa	48(%rsp), %xmm3
				movaps	%xmm3, 304(%rsp)
				movdqa	64(%rsp), %xmm4
				movaps	%xmm4, 320(%rsp)
				movdqa	80(%rsp), %xmm5
				movaps	%xmm5, 336(%rsp)
				movdqa	96(%rsp), %xmm6
				movaps	%xmm6, 352(%rsp)
				movdqa	112(%rsp), %xmm7
				movaps	%xmm7, 368(%rsp)
				movdqa	128(%rsp), %xmm0
				movaps	%xmm0, 384(%rsp)
				movdqa	144(%rsp), %xmm1
				movaps	%xmm1, 400(%rsp)
				movq	160(%rsp), %r13
				movq	168(%rsp), %r14
				movq	%r13, 416(%rsp)
				movq	%r14, 424(%rsp)
				movq	176(%rsp), %rax
				movq	184(%rsp), %rdx
				movq	%rax, 432(%rsp)
				movq	%rdx, 440(%rsp)
				movq	192(%rsp), %rsi
				movq	200(%rsp), %rdi
				movq	%rsi, 448(%rsp)
				movq	%rdi, 456(%rsp)
				movq	208(%rsp), %r9
				movq	216(%rsp), %r10
				movq	%r9, 464(%rsp)
				movq	%r10, 472(%rsp)
				movq	224(%rsp), %rcx
				movq	232(%rsp), %rbx
				movq	%rcx, 480(%rsp)
				movq	%rbx, 488(%rsp)
				movq	240(%rsp), %r11
				movq	248(%rsp), %r12
				movq	%r11, 496(%rsp)
				movq	%r12, 504(%rsp)
		.LBE318:
		.LBE317:
		.LBB319:
		.LBB320:
				pushq	%r12
				pushq	%r11
				pushq	%rbx
				pushq	%rcx
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				call	_imp_printstring@PLT
		.LVL37:
				addq	$256, %rsp
				jmp	.L35
		.L41:
		.LBE320:
		.LBE319:
				call	__stack_chk_fail@PLT
		.LVL38:
		.LFE200:
				.section	.rodata.str1.8
				.align 8
		.LC4:
				.string	"Illegal cycle J = AD + 1, 1, AD + *_imp_BYTEINTEGER(AD)"
		PRINTIDENT.6551:
		.LFB187:
  962       newline %IF mon pos # pos %AND sym # nl
				movl	POS.6509(%rip), %eax
				cmpl	%eax, MONPOS.6458(%rip)
				je	.L828
  963       mon pos = pos
				cmpl	$10, SYM.6459(%rip)
				jne	.L892
		.L828:
				movl	POS.6509(%rip), %eax
				movl	%eax, MONPOS.6458(%rip)
  964       write(g, 3)
				movl	$3, %esi
				movl	G.6479(%rip), %edi
				call	_imp_writeint@PLT
		.LVL815:
		.LBB627:
		.LBB628:
				call	_imp_space@PLT
		.LVL816:
				movdqa	4960(%rsp), %xmm4
				movaps	%xmm4, 4704(%rsp)
				movdqa	4976(%rsp), %xmm6
				movaps	%xmm6, 4720(%rsp)
				movdqa	4992(%rsp), %xmm0
				movaps	%xmm0, 4736(%rsp)
				movdqa	5008(%rsp), %xmm1
				movaps	%xmm1, 4752(%rsp)
				movdqa	5024(%rsp), %xmm2
				movaps	%xmm2, 4768(%rsp)
				movdqa	5040(%rsp), %xmm3
				movaps	%xmm3, 4784(%rsp)
				movdqa	5056(%rsp), %xmm5
				movaps	%xmm5, 4800(%rsp)
				movdqa	5072(%rsp), %xmm7
				movaps	%xmm7, 4816(%rsp)
				movdqa	5088(%rsp), %xmm4
				movaps	%xmm4, 4832(%rsp)
				movdqa	5104(%rsp), %xmm6
				movaps	%xmm6, 4848(%rsp)
				movq	5120(%rsp), %r13
				movq	5128(%rsp), %r14
				movq	%r13, 4864(%rsp)
				movq	%r14, 4872(%rsp)
				movq	5136(%rsp), %rax
				movq	5144(%rsp), %rdx
				movq	%rax, 4880(%rsp)
				movq	%rdx, 4888(%rsp)
				movq	5152(%rsp), %rcx
				movq	5160(%rsp), %rbx
				movq	%rcx, 4896(%rsp)
				movq	%rbx, 4904(%rsp)
				movq	5168(%rsp), %rsi
				movq	5176(%rsp), %rdi
				movq	%rsi, 4912(%rsp)
				movq	%rdi, 4920(%rsp)
				movq	5184(%rsp), %r9
				movq	5192(%rsp), %r10
				movq	%r9, 4928(%rsp)
				movq	%r10, 4936(%rsp)
				movq	5200(%rsp), %r11
				movq	5208(%rsp), %r12
				movq	%r11, 4944(%rsp)
				movq	%r12, 4952(%rsp)
		.LBE628:
		.LBE627:
		.LBB629:
		.LBB630:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				pushq	5208(%rsp)
				call	_imp_printstring@PLT
		.LVL817:
		.LBE630:
		.LBE629:
		.LBB631:
		.LBB632:
				addq	$256, %rsp
				movl	$34, %edi
				call	_imp_printsymbol@PLT
		.LVL818:
		.LDL40:
		.LBE632:
		.LBE631:
  965       space
  966       printstring(text(class))
  967       printsymbol('"') %IF gg&trans bit # 0
  968       a = gg>>8&15
				movl	GG.6480(%rip), %edi
				shrl	$8, %edi
		.LVL819:
  969       %IF a # 0 %START
				movl	%edi, %ebx
				andl	$15, %ebx
		.LVL820:
				jne	.L893
		.L829:
  970          printsymbol('{')
  971          write(a, 0)
				movl	$0, %esi
				movl	%ebx, %edi
				call	_imp_writeint@PLT
		.LVL808:
		.LBB625:
		.LBB626:
				movl	$125, %edi
				call	_imp_printsymbol@PLT
		.LVL809:
				jmp	.L829
		.LVL810:
		.L894:
		.LBE626:
		.LBE625:
  972          printsymbol('}')
  973       %FINISH
  974       %IF atom1 # la1 %OR atom2 # la2 %OR lsa # subatom %C
				movl	LA1.6943(%rip), %eax
				cmpl	%eax, ATOM1.6442(%rip)
				jne	.L830
  975                       %OR lt # type %START
				movl	LA2.6944(%rip), %eax
				cmpl	%eax, ATOM2.6443(%rip)
				je	.L894
		.L830:
		.LVL821:
		.LBB633:
  976          printstring(" [")
				movl	SUBATOM.6444(%rip), %eax
				cmpl	%eax, LSA.6945(%rip)
				jne	.L830
				movq	$23328, 5217(%rsp)
				movq	$0, 5225(%rsp)
				movb	$0, 5233(%rsp)
				movw	$0, 5234(%rsp)
				movl	$0, 5236(%rsp)
				leaq	5240(%rsp), %rdi
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
		.LVL822:
				movb	$2, 5216(%rsp)
				movq	5216(%rsp), %rax
				movq	5224(%rsp), %rdx
				movq	%rax, 5472(%rsp)
				movq	%rdx, 5480(%rsp)
				movdqa	5232(%rsp), %xmm0
				movaps	%xmm0, 5488(%rsp)
				movdqa	5248(%rsp), %xmm1
				movaps	%xmm1, 5504(%rsp)
				movdqa	5264(%rsp), %xmm2
				movaps	%xmm2, 5520(%rsp)
				movdqa	5280(%rsp), %xmm3
				movaps	%xmm3, 5536(%rsp)
				movdqa	5296(%rsp), %xmm5
				movaps	%xmm5, 5552(%rsp)
				movdqa	5312(%rsp), %xmm7
				movaps	%xmm7, 5568(%rsp)
				movdqa	5328(%rsp), %xmm0
				movaps	%xmm0, 5584(%rsp)
				movdqa	5344(%rsp), %xmm1
				movaps	%xmm1, 5600(%rsp)
				movdqa	5360(%rsp), %xmm2
				movaps	%xmm2, 5616(%rsp)
				movq	5376(%rsp), %r13
				movq	5384(%rsp), %r14
				movq	%r13, 5632(%rsp)
				movq	%r14, 5640(%rsp)
				movq	5392(%rsp), %rax
				movq	5400(%rsp), %rdx
				movq	%rax, 5648(%rsp)
				movq	%rdx, 5656(%rsp)
				movq	5408(%rsp), %rcx
				movq	5416(%rsp), %rbx
		.LVL823:
				movq	%rcx, 5664(%rsp)
				movq	%rbx, 5672(%rsp)
				movq	5424(%rsp), %rsi
				movq	5432(%rsp), %rdi
				movq	%rsi, 5680(%rsp)
				movq	%rdi, 5688(%rsp)
				movq	5440(%rsp), %r9
				movq	5448(%rsp), %r10
				movq	%r9, 5696(%rsp)
				movq	%r10, 5704(%rsp)
				movq	5456(%rsp), %r11
				movq	5464(%rsp), %r12
				movq	%r11, 5712(%rsp)
				movq	%r12, 5720(%rsp)
		.LVL824:
				movb	$2, 5472(%rsp)
				movdqa	5472(%rsp), %xmm3
				movaps	%xmm3, 4448(%rsp)
				movdqa	5232(%rsp), %xmm5
				movaps	%xmm5, 4464(%rsp)
				movdqa	5248(%rsp), %xmm7
				movaps	%xmm7, 4480(%rsp)
				movdqa	5264(%rsp), %xmm4
				movaps	%xmm4, 4496(%rsp)
				movdqa	5280(%rsp), %xmm6
				movaps	%xmm6, 4512(%rsp)
				movdqa	5296(%rsp), %xmm0
				movaps	%xmm0, 4528(%rsp)
				movdqa	5312(%rsp), %xmm1
				movaps	%xmm1, 4544(%rsp)
				movdqa	5328(%rsp), %xmm2
				movaps	%xmm2, 4560(%rsp)
				movdqa	5344(%rsp), %xmm3
				movaps	%xmm3, 4576(%rsp)
				movdqa	5360(%rsp), %xmm5
				movaps	%xmm5, 4592(%rsp)
				movq	%r13, 4608(%rsp)
				movq	%r14, 4616(%rsp)
				movq	%rax, 4624(%rsp)
				movq	%rdx, 4632(%rsp)
				movq	%rcx, 4640(%rsp)
				movq	%rbx, 4648(%rsp)
				movq	%rsi, 4656(%rsp)
				movq	%rdi, 4664(%rsp)
				movq	%r9, 4672(%rsp)
				movq	%r10, 4680(%rsp)
				movq	%r11, 4688(%rsp)
				movq	%r12, 4696(%rsp)
		.LBE633:
		.LBB634:
		.LBB635:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5720(%rsp)
				pushq	5720(%rsp)
				call	_imp_printstring@PLT
		.LVL825:
		.LBE635:
		.LBE634:
  977          la1 = atom1
				movl	TYPE.6445(%rip), %eax
				cmpl	%eax, LT.6946(%rip)
				jne	.L830
				jmp	.L831
		.LVL811:
		.L835:
		.LBE641:
		.LBE681:
				movl	ATOM1.6442(%rip), %edi
				movl	%edi, LA1.6943(%rip)
  978          show(la1)
				leaq	48(%rsp), %rax
				movq	%rax, 16(%rsp)
		.LVL751:
		.L816:
		.LBE620:
		.LBE619:
				addq	$256, %rsp
				movq	16(%rsp), %rbx
				movq	%rbx, %r10
				call	SHOW.6936
		.LVL826:
  979          la2 = atom2
				movl	ATOM2.6443(%rip), %edi
				movl	%edi, LA2.6944(%rip)
  980          show(la2)
				movq	%rbx, %r10
				call	SHOW.6936
		.LVL827:
  981          lsa = subatom
				movl	SUBATOM.6444(%rip), %edi
				movl	%edi, LSA.6945(%rip)
  982          write(lsa, 3)
				movl	$3, %esi
				call	_imp_writeint@PLT
		.LVL828:
  983          lt = type
				movl	TYPE.6445(%rip), %edi
				movl	%edi, LT.6946(%rip)
  984          write(lt, 5)
				movl	$5, %esi
				call	_imp_writeint@PLT
		.LVL829:
		.LBB636:
		.LBB637:
				movl	$93, %edi
				call	_imp_printsymbol@PLT
		.LVL830:
		.L831:
		.LBE637:
		.LBE636:
		.LBB638:
		.LBB639:
				call	_imp_newline@PLT
		.LVL831:
		.LDL41:
		.LBE639:
		.LBE638:
		.LBE642:
		.LBE682:
  985          printsymbol(']')
  986       %FINISH
  987       newline
  988    %END
  989
  990 %ROUTINE get sym
				subq	$8, %rsp
		.LVL190:
		.LBB361:
		.LBB362:
				leaq	SYM.6459(%rip), %rdi
				call	_imp_readsymbol@PLT
		.LVL191:
		.LBE362:
		.LBE361:
  991    readsymbol(sym)
  992    pos = pos+1 %IF pos # 133
				movl	POS.6509(%rip), %eax
				cmpl	$133, %eax
				je	.L167
  993    char(pos) = sym
				addl	$1, %eax
				movl	%eax, POS.6509(%rip)
		.L167:
				movl	SYM.6459(%rip), %edi
				movslq	POS.6509(%rip), %rax
				leaq	CHAR.6516(%rip), %rdx
				movb	%dil, (%rdx,%rax)
  994    printsymbol(sym) %IF list <= 0
				cmpl	$0, LIST.6521(%rip)
				jle	.L170
		.L168:
  995    column = column+1
				addl	$1, COLUMN.6456(%rip)
				movsbl	%dil, %edi
		.LVL193:
		.LBB363:
		.LBB364:
				call	_imp_printsymbol@PLT
		.LVL194:
				jmp	.L168
		.LBE364:
		.LBE363:
		.LFE201:
		READSYM.6962:
		.LFB202:
  996 %END
  997 %ROUTINE read sym
				addq	$8, %rsp
				ret
		.L170:
		.LVL192:
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$912, %rsp
				movq	%r10, %rbp
				movq	%fs:40, %rax
				movq	%rax, 904(%rsp)
				xorl	%eax, %eax
  998    %owninteger Last = 0
  999 %CONSTBYTEINTEGERARRAY mapped(0:127) = %C
				movb	$0, 768(%rsp)
				movb	$0, 769(%rsp)
				movb	$0, 770(%rsp)
				movb	$0, 771(%rsp)
				movb	$0, 772(%rsp)
				movb	$0, 773(%rsp)
				movb	$0, 774(%rsp)
				movb	$0, 775(%rsp)
				movb	$0, 776(%rsp)
				movb	$0, 777(%rsp)
				movb	$10, 778(%rsp)
				movb	$0, 779(%rsp)
				movb	$3, 780(%rsp)
				movb	$0, 781(%rsp)
				movb	$0, 782(%rsp)
				movb	$0, 783(%rsp)
				movb	$0, 784(%rsp)
				movb	$0, 785(%rsp)
				movb	$0, 786(%rsp)
				movb	$0, 787(%rsp)
				movb	$0, 788(%rsp)
				movb	$0, 789(%rsp)
				movb	$0, 790(%rsp)
				movb	$0, 791(%rsp)
				movb	$0, 792(%rsp)
				movb	$0, 793(%rsp)
				movb	$0, 794(%rsp)
				movb	$0, 795(%rsp)
				movb	$0, 796(%rsp)
				movb	$0, 797(%rsp)
				movb	$0, 798(%rsp)
				movb	$0, 799(%rsp)
				movb	$0, 800(%rsp)
				movb	$33, 801(%rsp)
				movb	$34, 802(%rsp)
				movb	$35, 803(%rsp)
				movb	$36, 804(%rsp)
				movb	$1, 805(%rsp)
				movb	$38, 806(%rsp)
				movb	$39, 807(%rsp)
				movb	$40, 808(%rsp)
				movb	$41, 809(%rsp)
				movb	$42, 810(%rsp)
				movb	$43, 811(%rsp)
				movb	$44, 812(%rsp)
				movb	$45, 813(%rsp)
				movb	$46, 814(%rsp)
				movb	$47, 815(%rsp)
				movb	$48, 816(%rsp)
				movb	$49, 817(%rsp)
				movb	$50, 818(%rsp)
				movb	$51, 819(%rsp)
				movb	$52, 820(%rsp)
				movb	$53, 821(%rsp)
				movb	$54, 822(%rsp)
				movb	$55, 823(%rsp)
				movb	$56, 824(%rsp)
				movb	$57, 825(%rsp)
				movb	$58, 826(%rsp)
				movb	$59, 827(%rsp)
				movb	$60, 828(%rsp)
				movb	$61, 829(%rsp)
				movb	$62, 830(%rsp)
				movb	$63, 831(%rsp)
				movb	$64, 832(%rsp)
				movb	$65, 833(%rsp)
				movb	$66, 834(%rsp)
				movb	$67, 835(%rsp)
				movb	$68, 836(%rsp)
				movb	$69, 837(%rsp)
				movb	$70, 838(%rsp)
				movb	$71, 839(%rsp)
				movb	$72, 840(%rsp)
				movb	$73, 841(%rsp)
				movb	$74, 842(%rsp)
				movb	$75, 843(%rsp)
				movb	$76, 844(%rsp)
				movb	$77, 845(%rsp)
				movb	$78, 846(%rsp)
				movb	$79, 847(%rsp)
				movb	$80, 848(%rsp)
				movb	$81, 849(%rsp)
				movb	$82, 850(%rsp)
				movb	$83, 851(%rsp)
				movb	$84, 852(%rsp)
				movb	$85, 853(%rsp)
				movb	$86, 854(%rsp)
				movb	$87, 855(%rsp)
				movb	$88, 856(%rsp)
				movb	$89, 857(%rsp)
				movb	$90, 858(%rsp)
				movb	$91, 859(%rsp)
				movb	$92, 860(%rsp)
				movb	$93, 861(%rsp)
				movb	$94, 862(%rsp)
				movb	$95, 863(%rsp)
				movb	$96, 864(%rsp)
				movb	$65, 865(%rsp)
				movb	$66, 866(%rsp)
				movb	$67, 867(%rsp)
				movb	$68, 868(%rsp)
				movb	$69, 869(%rsp)
				movb	$70, 870(%rsp)
				movb	$71, 871(%rsp)
				movb	$72, 872(%rsp)
				movb	$73, 873(%rsp)
				movb	$74, 874(%rsp)
				movb	$75, 875(%rsp)
				movb	$76, 876(%rsp)
				movb	$77, 877(%rsp)
				movb	$78, 878(%rsp)
				movb	$79, 879(%rsp)
				movb	$80, 880(%rsp)
				movb	$81, 881(%rsp)
				movb	$82, 882(%rsp)
				movb	$83, 883(%rsp)
				movb	$84, 884(%rsp)
				movb	$85, 885(%rsp)
				movb	$86, 886(%rsp)
				movb	$87, 887(%rsp)
				movb	$88, 888(%rsp)
				movb	$89, 889(%rsp)
				movb	$90, 890(%rsp)
				movb	$2, 891(%rsp)
				movb	$124, 892(%rsp)
				movb	$125, 893(%rsp)
				movb	$126, 894(%rsp)
				movb	$0, 895(%rsp)
 1000    0,  0,  0,  0,   0,  0,  0,  0,    0,  0, nl,  0,  3 ,  0,  0,  0,
 1001    0,  0,  0,  0,   0,  0,  0,  0,    0,  0,  0,  0,   0,  0,  0,  0,
 1002   0 ,'!','"','#', '$', 1 ,'&', 39,  '(',')','*','+', ',','-','.','/',
 1003  '0','1','2','3', '4','5','6','7',  '8','9',':',';', '<','=','>','?',
 1004  '@','A','B','C', 'D','E','F','G',  'H','I','J','K', 'L','M','N','O',
 1005  'P','Q','R','S', 'T','U','V','W',  'X','Y','Z','[', '\',']','^','_',
 1006  '`','A','B','C', 'D','E','F','G',  'H','I','J','K', 'L','M','N','O',
 1007  'P','Q','R','S', 'T','U','V','W',  'X','Y','Z', 2 , '|','}','~',  0
 1008
 1009 !!   0 = space
 1010 !!   1 = %
 1011 !!   2 = {
 1012 !!   3 = ff
 1013 !!   other values represent themselves
 1014
 1015    %IF sym = nl %START
				cmpl	$10, SYM.6459(%rip)
				jne	.L183
		.L173:
 1016 s1:   lines = lines+1
 1017       printsymbol(end mark) %if end mark # 0
				addl	$1, LINES.6451(%rip)
				movl	ENDMARK.6462(%rip), %edi
				testl	%edi, %edi
				jne	.L206
		.L174:
		.L175:
 1018 s11:  pos = 0;  pos1 = 0;  pos2 = 0;  margin = 0;  column = 0
				movsbl	%dil, %edi
		.LBB367:
		.LBB368:
				call	_imp_printsymbol@PLT
		.LVL199:
				jmp	.L175
		.L207:
		.LBE368:
		.LBE367:
 1019       Last = 0
				movl	$0, POS.6509(%rip)
				movl	$0, LAST.6964(%rip)
 1020       end mark = 0
				movl	$0, POS1.6507(%rip)
				movl	$0, ENDMARK.6462(%rip)
 1021       %IF list <= 0 %START
				movl	$0, POS2.6508(%rip)
				cmpl	$0, LIST.6521(%rip)
				jle	.L207
		.L176:
		.L180:
		.L181:
		.L182:
 1022          %IF include # 0 %START
				movl	$0, MARGIN.6453(%rip)
				cmpl	$0, INCLUDE.6495(%rip)
				je	.L177
		.LVL200:
		.LBB369:
 1023             printstring(" &");  write(lines, -4)
				movl	$0, COLUMN.6456(%rip)
				movq	$9760, 1(%rsp)
				movq	$0, 9(%rsp)
				movb	$0, 17(%rsp)
				movw	$0, 18(%rsp)
				movl	$0, 20(%rsp)
				leaq	24(%rsp), %rdi
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
				movb	$2, (%rsp)
				movq	(%rsp), %rax
				movq	8(%rsp), %rdx
				movq	%rax, 256(%rsp)
				movq	%rdx, 264(%rsp)
				movdqa	16(%rsp), %xmm0
				movaps	%xmm0, 272(%rsp)
				movdqa	32(%rsp), %xmm1
				movaps	%xmm1, 288(%rsp)
				movdqa	48(%rsp), %xmm2
				movaps	%xmm2, 304(%rsp)
				movdqa	64(%rsp), %xmm3
				movaps	%xmm3, 320(%rsp)
				movdqa	80(%rsp), %xmm4
				movaps	%xmm4, 336(%rsp)
				movdqa	96(%rsp), %xmm5
				movaps	%xmm5, 352(%rsp)
				movdqa	112(%rsp), %xmm6
				movaps	%xmm6, 368(%rsp)
				movdqa	128(%rsp), %xmm7
				movaps	%xmm7, 384(%rsp)
				movdqa	144(%rsp), %xmm0
				movaps	%xmm0, 400(%rsp)
				movq	160(%rsp), %r13
				movq	168(%rsp), %r14
				movq	%r13, 416(%rsp)
				movq	%r14, 424(%rsp)
				movq	176(%rsp), %rax
				movq	184(%rsp), %rdx
				movq	%rax, 432(%rsp)
				movq	%rdx, 440(%rsp)
				movq	192(%rsp), %rsi
				movq	200(%rsp), %rdi
				movq	%rsi, 448(%rsp)
				movq	%rdi, 456(%rsp)
				movq	208(%rsp), %r9
				movq	216(%rsp), %r10
				movq	%r9, 464(%rsp)
				movq	%r10, 472(%rsp)
				movq	224(%rsp), %rcx
				movq	232(%rsp), %rbx
				movq	%rcx, 480(%rsp)
				movq	%rbx, 488(%rsp)
				movq	240(%rsp), %r11
				movq	248(%rsp), %r12
				movq	%r11, 496(%rsp)
				movq	%r12, 504(%rsp)
		.LVL201:
				movb	$2, 256(%rsp)
				movdqa	256(%rsp), %xmm1
				movaps	%xmm1, 512(%rsp)
				movdqa	16(%rsp), %xmm2
				movaps	%xmm2, 528(%rsp)
				movdqa	32(%rsp), %xmm3
				movaps	%xmm3, 544(%rsp)
				movdqa	48(%rsp), %xmm4
				movaps	%xmm4, 560(%rsp)
				movdqa	64(%rsp), %xmm5
				movaps	%xmm5, 576(%rsp)
				movdqa	80(%rsp), %xmm6
				movaps	%xmm6, 592(%rsp)
				movdqa	96(%rsp), %xmm7
				movaps	%xmm7, 608(%rsp)
				movdqa	112(%rsp), %xmm0
				movaps	%xmm0, 624(%rsp)
				movdqa	128(%rsp), %xmm1
				movaps	%xmm1, 640(%rsp)
				movdqa	144(%rsp), %xmm2
				movaps	%xmm2, 656(%rsp)
				movq	%r13, 672(%rsp)
				movq	%r14, 680(%rsp)
				movq	%rax, 688(%rsp)
				movq	%rdx, 696(%rsp)
				movq	%rsi, 704(%rsp)
				movq	%rdi, 712(%rsp)
				movq	%r9, 720(%rsp)
				movq	%r10, 728(%rsp)
				movq	%rcx, 736(%rsp)
				movq	%rbx, 744(%rsp)
				movq	%r11, 752(%rsp)
				movq	%r12, 760(%rsp)
		.LBE369:
		.LBB370:
		.LBB371:
				pushq	%r12
				pushq	%r11
				pushq	%rbx
				pushq	%rcx
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				call	_imp_printstring@PLT
		.LVL202:
		.LBE371:
		.LBE370:
 1024          %FINISH %ELSE  write(lines, 5)
				addq	$256, %rsp
				movl	$-4, %esi
				movl	LINES.6451(%rip), %edi
				call	_imp_writeint@PLT
		.LVL203:
		.L178:
 1025          csym = cont;  printsymbol(csym)
				movl	CONT.6463(%rip), %edi
				movl	%edi, CSYM.6464(%rip)
		.LVL204:
 1026          space
				movsbl	%dil, %edi
		.LBB372:
		.LBB373:
				call	_imp_printsymbol@PLT
		.LVL205:
		.LBE373:
		.LBE372:
		.LBB374:
		.LBB375:
				call	_imp_space@PLT
		.LVL206:
		.LBE375:
		.LBE374:
				movl	$5, %esi
				movl	LINES.6451(%rip), %edi
				call	_imp_writeint@PLT
		.LVL211:
				jmp	.L178
		.L208:
		.LVL212:
 1027          %IF error margin # 0 %START
				movl	ERRORMARGIN.6454(%rip), %edi
				testl	%edi, %edi
				je	.L182
 1028             lines = lines-1
				subl	$1, LINES.6451(%rip)
		.LVL207:
		.LBB376:
		.LBB377:
				call	_imp_spaces@PLT
		.LVL208:
		.LBE377:
		.LBE376:
 1029             spaces(error margin)
 1030             error margin = 0
				movl	$0, ERRORMARGIN.6454(%rip)
 1031             %IF error sym # 0 %START
				movl	ERRORSYM.6455(%rip), %edi
				testl	%edi, %edi
				je	.L182
		.LVL209:
 1032                printsymbol(error sym)
				movsbl	%dil, %edi
		.LBB378:
		.LBB379:
				call	_imp_printsymbol@PLT
		.LVL210:
		.LBE379:
		.LBE378:
 1033                pos = 1
				movl	$1, POS.6509(%rip)
 1034 !IMP80 BUG???
 1035 !!             char(1) = error sym
 1036                byteinteger(addr(char(0))+1) = error sym
				movl	ERRORSYM.6455(%rip), %eax
				movb	%al, 1+CHAR.6516(%rip)
 1037                sym = error sym;  error sym = 0
				movl	%eax, SYM.6459(%rip)
 1038                ->s5
				movl	$0, ERRORSYM.6455(%rip)
				jmp	.L179
		.L177:
 1039             %FINISH
 1040          %FINISH
 1041       %FINISH
 1042 s2:   symtype = 1
 1043    %FINISH
				movl	$1, SYMTYPE.6460(%rip)
		.L172:
		.L183:
		.LVL195:
		.LBB365:
		.LBB366:
				leaq	SYM.6459(%rip), %rdi
				call	_imp_readsymbol@PLT
		.LVL196:
		.LBE366:
		.LBE365:
 1044 s3:readsymbol(sym)
 1045    pos = pos+1 %IF pos # 133
				movl	POS.6509(%rip), %eax
				cmpl	$133, %eax
				je	.L184
 1046    char(pos) = sym
				addl	$1, %eax
				movl	%eax, POS.6509(%rip)
		.L184:
				movl	SYM.6459(%rip), %edi
				movslq	POS.6509(%rip), %rax
				leaq	CHAR.6516(%rip), %rdx
				movb	%dil, (%rdx,%rax)
 1047    printsymbol(sym) %IF list <= 0
				cmpl	$0, LIST.6521(%rip)
				jle	.L208
		.L185:
 1048    column = column+1
				addl	$1, COLUMN.6456(%rip)
		.L179:
				movsbl	%dil, %edi
		.LVL213:
		.LBB380:
		.LBB381:
				call	_imp_printsymbol@PLT
		.LVL214:
				jmp	.L185
		.L209:
		.LBE381:
		.LBE380:
 1049 s5:%IF sym # nl %START
 1050       Last = Sym
				movl	SYM.6459(%rip), %eax
				cmpl	$10, %eax
				je	.L197
				movl	%eax, LAST.6964(%rip)
 1051       %RETURN %IF quote # 0;                     !dont alter strings
				cmpl	$0, QUOTE.6461(%rip)
				jne	.L171
		.L188:
 1052       sym = mapped(sym&127)
				andl	$127, %eax
				movzbl	768(%rsp,%rax), %eax
				movl	%eax, SYM.6459(%rip)
 1053       %IF sym <= 3 %START;                       !special symbol
				cmpl	$3, %eax
				jg	.L189
 1054          ->s2 %IF sym = 0;                       !space (or dubious control)
				testl	%eax, %eax
				je	.L182
		.L190:
 1055          symtype = 2 %AND ->s3 %IF sym = 1;      !%
				cmpl	$1, %eax
				je	.L209
		.L191:
 1056          cont = '+' %AND ->s11 %IF sym = 3;      !ff
				cmpl	$3, %eax
				je	.L210
		.L192:
		.L193:
		.L194:
				movl	$2, SYMTYPE.6460(%rip)
 1057          !must be {
				jmp	.L183
		.L210:
				movl	$43, CONT.6463(%rip)
 1058          %CYCLE
				jmp	.L175
		.L189:
 1059             get sym
				call	GETSYM.6957
		.LVL197:
 1060             ->s3 %IF sym = '}'
				movl	SYM.6459(%rip), %eax
				cmpl	$125, %eax
				je	.L183
		.L195:
 1061             ->s4 %IF sym = nl
				cmpl	$10, %eax
				jne	.L192
		.L186:
		.L197:
 1062          %REPEAT
 1063       %FINISH
 1064       key = kdict(sym)
				movq	0(%rbp), %rdx
				movq	8(%rdx), %rcx
				leal	-32(%rax), %edx
				movslq	%edx, %rdx
				movzwl	25684(%rcx,%rdx,2), %edx
				movswl	%dx, %ecx
				movl	%ecx, KEY.6917(%rip)
 1065       %IF key&3 = 0 %AND symtype = 2 %START;            !keyword
				testb	$1, %dl
				jne	.L196
 1066          %IF sym = 'C' %AND nextsymbol = nl %START;     !%C...
				cmpl	$2, SYMTYPE.6460(%rip)
				je	.L212
		.L196:
				cmpl	$67, %eax
				jne	.L171
		.LBB382:
		.LBB383:
				call	_imp_nextsymbol@PLT
		.LVL215:
		.LBE383:
		.LBE382:
 1067             getsym;  cont = '+';  ->s1
				cmpl	$10, %eax
				jne	.L171
				call	GETSYM.6957
		.LVL216:
 1068          %FINISH
				movl	$43, CONT.6463(%rip)
 1069       %ELSE
				jmp	.L173
		.L211:
 1070          symtype = key&3-2
				andl	$3, %edx
				subl	$2, %edx
				movl	%edx, SYMTYPE.6460(%rip)
				jmp	.L171
		.L212:
 1071       %FINISH
 1072       %RETURN
 1073    %FINISH
 1074 s4:symtype = quote
 1075    ->S1 %if last = 0 %and Quote = 0
				movl	QUOTE.6461(%rip), %eax
				movl	%eax, SYMTYPE.6460(%rip)
 1076    Cont = '+'
				orl	LAST.6964(%rip), %eax
				je	.L173
		.L198:
				movl	$43, CONT.6463(%rip)
		.L187:
		.L199:
		.L171:
 1077 %END
 1078
				movq	904(%rsp), %rax
				xorq	%fs:40, %rax
				jne	.L211
				addq	$912, %rsp
				popq	%rbx
				popq	%rbp
				popq	%r12
				popq	%r13
				popq	%r14
				ret
		.L206:
		.LVL198:
				call	__stack_chk_fail@PLT
		.LVL217:
		.LFE202:
		GET.7129:
		.LFB206:
 1079 %INTEGERFN format selected
 1080    format list = tag(format)_app;      !number of names
				movq	0(%rbp), %rdx
				movq	(%rdx), %rdx
				cltq
				salq	$4, %rax
				addq	8(%rdx), %rax
				movl	212(%rax), %edx
				movl	%edx, FORMATLIST.6514(%rip)
 1081    %IF format list < 0 %START;         !forward ref
				testl	%edx, %edx
				js	.L156
		.L112:
 1082       atom1 = error+22
				movl	$32790, ATOM1.6442(%rip)
				jmp	.L94
		.LVL160:
		.L155:
		.LBE358:
		.LBE357:
 1083       %RESULT = 0
 1084    %FINISH
 1085    %IF sym = '_' %START
				cmpl	$95, SYM.6459(%rip)
				jne	.L115
 1086       escape class = esc rec
				movl	$255, ESCAPECLASS.6468(%rip)
 1087       search base = tag(format)_format
				movl	216(%rax), %eax
				movl	%eax, SEARCHBASE.6513(%rip)
				jmp	.L115
		.L156:
 1088    %FINISH
 1089    %RESULT = 1
 1090 %END
 1091
 1092 %ROUTINE code atom(%INTEGER target)
		.LVL229:
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$56, %rsp
				movl	%edi, %r12d
				movq	%r10, %rbx
				movq	%fs:40, %rax
				movq	%rax, 40(%rsp)
				xorl	%eax, %eax
				leaq	96(%rsp), %rax
				movq	%rax, 24(%rsp)
				movq	%r10, (%rsp)
 1093    %INTEGER dbase, da
 1094    %INTEGER base, n, mul, pend quote
 1095    %INTEGER j,k,l, pt
 1096
 1097    %ROUTINE lookup(%INTEGER d)
		.LVL119:
				pushq	%r15
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$552, %rsp
				movl	%edi, 12(%rsp)
				movq	%r10, %rbp
				movq	%fs:40, %rax
				movq	%rax, 536(%rsp)
				xorl	%eax, %eax
 1098       %CONSTINTEGER magic = 6700421
 1099       %INTEGER new name, vid, k1, k2, form
 1100       %RECORD(tagfm)%NAME t
 1101 !emas:      %LONGINTEGER k0
 1102       %INTEGER new
 1103
 1104       !first locate the text of the name
 1105
 1106       new = addr(dict(dmax+1))
				movq	(%r10), %rax
				movq	(%rax), %rax
				movq	8(%rax), %r10
				movslq	DMAX.6489(%rip), %rax
				leal	26836(%r10,%rax,2), %r13d
		.LVL120:
 1107
 1108             !******** Machine code to inhibit overflow test ********
 1109
 1110 !            *LI_1,magic
 1111 !            * M_0,hash value
 1112 !            *ST_1,K2
 1113
 1114             {K2 = hash value*magic}
 1115 K2 = hash value*magic ;! requires NOCHECK option
				imull	$6700421, 208(%r10), %ebx
		.LVL121:
 1116                        ! we could fix this properly by a shift+add loop
 1117             !*******************************************************
 1118
 1119       k2 = k2>>(32-2*name bits)!1
				shrl	$10, %ebx
		.LVL122:
				orl	$1, %ebx
				movl	%ebx, %r14d
		.LVL123:
 1120 !emas:      k0 = magic
 1121 !emas:      k1 = (k0*hash value)&X'7FFFFFFF'
 1122 !emas:      k2 = k1>>(32-2*name bits)!1
 1123       k1 = k2>>name bits;                      !giving name bits
				shrl	$11, %ebx
		.LVL124:
 1124       %CYCLE
 1125          newname = hash(k1)
				movslq	%ebx, %rax
		.LVL125:
				movzwl	21588(%r10,%rax,2), %r12d
				movswl	%r12w, %r15d
		.LVL126:
				movq	0(%rbp), %rax
				movq	(%rax), %rax
				movq	8(%rax), %r10
				movslq	%ebx, %rax
				movzwl	21588(%r10,%rax,2), %r12d
				movswl	%r12w, %r15d
		.LVL131:
 1126          %EXIT %IF newname = 0;                !not in
				testl	%r15d, %r15d
				je	.L95
				testl	%r15d, %r15d
				jne	.L96
		.L95:
 1127          ->in %IF string(addr(dict(newname+1))) = string(new)
 1128          k1 = (k1+k2)&max names
				addl	%r14d, %ebx
		.LVL129:
				andl	$2047, %ebx
		.LDL7:
		.LVL130:
 1129       %REPEAT
				movslq	%r13d, %r13
		.LVL127:
		.L96:
				movslq	%r15d, %rax
				leaq	26836(%r10,%rax,2), %rdi
				movq	%r13, %rsi
				call	_imp_strcmp@PLT
		.LVL128:
				testl	%eax, %eax
				je	.L97
		.L98:
 1130
 1131       ! not found
 1132
 1133       spare names = spare names-1
				movl	SPARENAMES.6412(%rip), %eax
				subl	$1, %eax
				movl	%eax, SPARENAMES.6412(%rip)
 1134       abandon(2) %IF spare names <= 0
				testl	%eax, %eax
				jle	.L150
		.L99:
 1135       hash(k1) = dmax;                               !put it in
				movl	DMAX.6489(%rip), %r15d
		.LVL132:
				movq	0(%rbp), %rax
				movq	(%rax), %rax
				movq	8(%rax), %rax
				movslq	%ebx, %rbx
				movw	%r15w, 21588(%rax,%rbx,2)
				movl	$2, %edi
				call	ABANDON.6570
		.LVL139:
				jmp	.L99
		.L97:
 1136       dict(dmax) = -1
				movq	0(%rbp), %rax
				movq	(%rax), %rax
				movq	8(%rax), %rdx
				leal	-1(%r15), %eax
				cltq
				movw	$-1, 26836(%rdx,%rax,2)
		.LVL133:
 1137       newname = dmax;  dmax = dp;  ->not in
 1138
				movl	DP.6506(%rip), %eax
				movl	%eax, DMAX.6489(%rip)
		.L100:
		.LVL134:
		.L132:
 1139 in:   search base = rbase %IF this >= 0 %AND d # 0;  !record elem defn
 1140       %IF search base # 0 %START;                    !record subname
				movl	SEARCHBASE.6513(%rip), %edx
				testl	%edx, %edx
				je	.L102
		.LVL140:
 1141          new = -1
				cmpl	$0, THIS.6483(%rip)
				js	.L101
				cmpl	$0, 12(%rsp)
				jne	.L152
		.L101:
 1142          x = search base
				movl	%edx, X.6441(%rip)
				movl	RBASE.6486(%rip), %eax
				movl	%eax, SEARCHBASE.6513(%rip)
				jmp	.L101
		.L102:
 1143          %CYCLE
 1144             ->not in %IF x < format list
				movl	FORMATLIST.6514(%rip), %esi
				cmpl	%esi, %edx
				jl	.L132
				cmpl	%esi, %edx
				jl	.L153
		.L105:
				subl	$1, %edx
 1145             %EXIT %IF tag(x)_text = new name
				movq	0(%rbp), %rax
				movq	(%rax), %rax
				movq	8(%rax), %rdi
				movslq	%edx, %rax
				addq	$13, %rax
				salq	$4, %rax
				subl	$1, %edx
				cmpw	%r12w, 16(%rdi,%rax)
				je	.L109
		.L106:
				movslq	%ecx, %rax
				addq	$13, %rax
				salq	$4, %rax
				cmpw	%r12w, 16(%rdi,%rax)
				jne	.L106
				movl	%ecx, X.6441(%rip)
				jmp	.L109
		.LVL141:
		.L152:
 1146             x = x-1
				movl	%edx, %ecx
		.LDL8:
 1147          %REPEAT
 1148       %FINISH %ELSE %START;                   !hash in for normal names
 1149          x = dict(newname)
				movq	0(%rbp), %rax
				movq	(%rax), %rax
				movq	8(%rax), %rdx
				leal	-1(%r15), %eax
				cltq
				movswl	26836(%rdx,%rax,2), %eax
				movl	%eax, X.6441(%rip)
 1150          ->not in %IF x <= limit;             !wrong level
				cmpl	LIMIT.6501(%rip), %eax
				jle	.L132
		.L104:
		.L108:
		.L109:
 1151       %FINISH
 1152
 1153       subatom = x;                            !name found, extract info
				movl	X.6441(%rip), %eax
				movl	%eax, SUBATOM.6444(%rip)
 1154       t == tag(x)
				movq	0(%rbp), %rdx
				movq	(%rdx), %rdx
				movq	8(%rdx), %rcx
		.LVL142:
				cltq
		.LVL143:
				salq	$4, %rax
		.LVL144:
				leaq	(%rcx,%rax), %rbx
		.LVL145:
 1155       atom flags = t_flags
				movzwl	220(%rbx), %edx
				movswl	%dx, %eax
				movl	%eax, ATOMFLAGS.6470(%rip)
 1156       format = t_format;  app = t_app
				movl	216(%rbx), %esi
				movl	%esi, FORMAT.6447(%rip)
 1157       protection = atom flags&prot
				movl	212(%rbx), %esi
				movl	%esi, APP.6446(%rip)
 1158       type = atom flags>>4&7;  atom1 = amap(atom flags&15)
				shrl	$4, %eax
				andl	$7, %eax
				movl	%eax, TYPE.6445(%rip)
 1159
				andl	$15, %edx
				movzbl	38902(%rcx,%rdx), %eax
				movl	%eax, ATOM1.6442(%rip)
		.LVL146:
		.LBB351:
 1160       %IF diag&8 # 0 %START
 1161          printstring("lookup:")
				movabsq	$16449198265167724, %rax
				movl	$0, %edx
				movq	%rax, 273(%rsp)
				movq	%rdx, 281(%rsp)
				movb	$0, 289(%rsp)
				movw	$0, 290(%rsp)
				movl	$0, 292(%rsp)
				leaq	296(%rsp), %rdi
				movl	$29, %ecx
		.LVL147:
				movl	$0, %eax
				rep stosq
				movb	$7, 272(%rsp)
				movq	272(%rsp), %rax
				movq	280(%rsp), %rdx
				movq	%rax, 16(%rsp)
				movq	%rdx, 24(%rsp)
				movdqa	288(%rsp), %xmm0
				movaps	%xmm0, 32(%rsp)
				movdqa	304(%rsp), %xmm1
				movaps	%xmm1, 48(%rsp)
				movdqa	320(%rsp), %xmm2
				movaps	%xmm2, 64(%rsp)
				movdqa	336(%rsp), %xmm3
				movaps	%xmm3, 80(%rsp)
				movdqa	352(%rsp), %xmm4
				movaps	%xmm4, 96(%rsp)
				movdqa	368(%rsp), %xmm5
				movaps	%xmm5, 112(%rsp)
				movdqa	384(%rsp), %xmm6
				movaps	%xmm6, 128(%rsp)
				movdqa	400(%rsp), %xmm7
				movaps	%xmm7, 144(%rsp)
				movdqa	416(%rsp), %xmm0
				movaps	%xmm0, 160(%rsp)
				movdqa	432(%rsp), %xmm1
				movaps	%xmm1, 176(%rsp)
				movq	448(%rsp), %r13
				movq	456(%rsp), %r14
		.LVL148:
				movq	%r13, 192(%rsp)
				movq	%r14, 200(%rsp)
				movq	464(%rsp), %rsi
				movq	472(%rsp), %rdi
				movq	%rsi, 208(%rsp)
				movq	%rdi, 216(%rsp)
				movq	480(%rsp), %r9
				movq	488(%rsp), %r10
				movq	%r9, 224(%rsp)
				movq	%r10, 232(%rsp)
				movdqa	496(%rsp), %xmm2
				movaps	%xmm2, 240(%rsp)
				movq	512(%rsp), %r11
				movq	520(%rsp), %r12
				movq	%r11, 256(%rsp)
				movq	%r12, 264(%rsp)
		.LVL149:
				movb	$7, 16(%rsp)
				movq	16(%rsp), %rax
				movq	24(%rsp), %rdx
				movq	%rax, 272(%rsp)
				movq	%rdx, 280(%rsp)
		.LBE351:
		.LBB352:
		.LBB353:
				pushq	%r12
		.LVL150:
				pushq	%r11
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%r14
				pushq	%r13
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	%rdx
				pushq	%rax
				call	_imp_printstring@PLT
		.LVL151:
		.LBE353:
		.LBE352:
 1162          write(atom1, 3)
				addq	$256, %rsp
				movl	$3, %esi
				movl	ATOM1.6442(%rip), %edi
				call	_imp_writeint@PLT
		.LVL152:
 1163          write(type, 1)
				movl	$1, %esi
				movl	TYPE.6445(%rip), %edi
				call	_imp_writeint@PLT
		.LVL153:
 1164          write(app, 3)
				movl	$3, %esi
				movl	APP.6446(%rip), %edi
				call	_imp_writeint@PLT
		.LVL154:
 1165          write(format, 5)
				movl	$5, %esi
				movl	FORMAT.6447(%rip), %edi
				call	_imp_writeint@PLT
		.LVL155:
 1166          write(atom flags, 3)
				movl	$3, %esi
				movl	ATOMFLAGS.6470(%rip), %edi
				call	_imp_writeint@PLT
		.LVL156:
		.LBB354:
		.LBB355:
				call	_imp_newline@PLT
		.LVL157:
		.LDL9:
		.LBE355:
		.LBE354:
 1167          newline
 1168       %FINISH
 1169
 1170       %IF d = 0 %START;                             !old name wanted
				cmpl	$0, 12(%rsp)
				jne	.L110
 1171          t_flags <- t_flags!used bit
				orw	$-32768, 220(%rbx)
 1172          search base = 0
				movl	$0, SEARCHBASE.6513(%rip)
 1173
 1174          %IF atom flags&subname # 0 %AND format # 0 %START; !a record
 1175             %RETURN %IF format selected = 0
				movl	FORMAT.6447(%rip), %eax
				testl	%eax, %eax
				jne	.L154
		.L111:
		.L115:
 1176          %FINISH
 1177
 1178          %IF atom flags&parameters # 0 %START;      !proc or array
 1179
 1180             %IF app = 0 %START;                     !no parameters needed
				movl	APP.6446(%rip), %eax
				testl	%eax, %eax
				jne	.L116
 1181                atom2 = atom1
				movl	ATOM1.6442(%rip), %eax
				movl	%eax, ATOM2.6443(%rip)
 1182                atom1 = atom1-4
				leal	-4(%rax), %edx
				movl	%edx, ATOM1.6442(%rip)
		.LVL158:
		.LBB356:
 1183                %IF 97 <= atom1 <= 98 %START
 1184                   map gg = atom1;  atom1 = var
				movl	%edx, MAPGG.6481(%rip)
 1185                %FINISH
				movl	$91, ATOM1.6442(%rip)
				jmp	.L121
		.LVL161:
		.L116:
 1186             %FINISH %ELSE %START
 1187                %IF sym = '(' %START
				cmpl	$40, SYM.6459(%rip)
				jne	.L121
 1188                   search base = 0;                  !ignore format for now
				subl	$101, %eax
				cmpl	$1, %eax
				jbe	.L155
		.L117:
		.L120:
		.LVL159:
		.L121:
		.LBE356:
				movl	$0, SEARCHBASE.6513(%rip)
 1189                   %IF atom1 >= 106 %START;          !arrays
				movl	ATOM1.6442(%rip), %edx
				cmpl	$105, %edx
				jle	.L118
 1190                      app = phrase(app+200)
				cltq
				leaq	PHRASE.6531(%rip), %rcx
				movswl	(%rcx,%rax,2), %eax
				movl	%eax, APP.6446(%rip)
 1191                      escape class = esc array
				movl	$254, ESCAPECLASS.6468(%rip)
 1192                      atom1 = (atom1-106)>>1+91;     !a,an->v  na,nan->n
				leal	-106(%rdx), %eax
				shrl	%eax
				addl	$91, %eax
				movl	%eax, ATOM1.6442(%rip)
		.L119:
 1193                   %FINISH %ELSE %START;             !procedures
 1194                      escape class = esc proc
				movl	$253, ESCAPECLASS.6468(%rip)
 1195                      atom1 = atom1-4
				subl	$4, %edx
				movl	%edx, ATOM1.6442(%rip)
				jmp	.L119
		.L110:
 1196                   %FINISH
 1197                   phrase(200) = app
				movl	APP.6446(%rip), %eax
				movw	%ax, PHRASE.6531(%rip)
				jmp	.L121
		.L118:
 1198                %FINISH
 1199             %FINISH
 1200             pos2 = pos;  %return
				movl	POS.6509(%rip), %eax
				movl	%eax, POS2.6508(%rip)
 1201          %FINISH
				jmp	.L94
		.L154:
		.LBB357:
		.LBB358:
 1202
 1203          !deal with constintegers etc
 1204
 1205          %IF atom flags&const bit # 0 %AND atom1 = var %START
 1206                map gg = const;  atom2 = const
 1207                subatom = -subatom %IF type = integer
 1208          %FINISH
 1209          %RETURN
 1210
 1211       %FINISH
 1212                                                  !new name wanted
 1213       ->not in %IF tbase # tstart;               !don<dq>t fault proc parm-parm
				movq	0(%rbp), %rax
				movq	(%rax), %rax
				movl	72(%rax), %ecx
				cmpl	%ecx, 68(%rax)
				je	.L157
		.L122:
 1214       %IF d = lab+spec+used bit %START
				cmpl	$32899, 12(%rsp)
				je	.L162
		.L124:
 1215          t_flags = t_flags!used bit
				orw	$-32768, 220(%rbx)
 1216          %RETURN
				jmp	.L94
		.L163:
 1217       %FINISH
 1218       %IF atom flags&spec # 0 %START;            !a spec has been given
 1219          %IF d = lab %START;                     !define label
				cmpl	$3, 12(%rsp)
				je	.L163
		.L125:
		.LBB360:
 1220             t_flags <- t_Flags-Spec
				addw	$-128, 220(%rbx)
 1221             %RETURN
				jmp	.L94
		.LVL178:
		.L164:
 1222          %FINISH
 1223          %IF 7 <= decl&15 <= 10 %AND decl&spec = 0 %START
 1224
 1225             !procedure definition after spec
 1226
				movl	DECL.6465(%rip), %eax
		.LVL174:
				movl	%eax, %edx
				andl	$15, %edx
		.LVL175:
 1227             %IF (decl!!atom flags)&b'1111111' = 0 %START;  !correct type?
				xorl	ATOMFLAGS.6470(%rip), %eax
				testb	$1, %al
				jne	.L128
 1228                t_flags = t_flags-spec
				subl	$7, %edx
		.LVL176:
				cmpl	$3, %edx
				jbe	.L164
		.L126:
		.L129:
		.LBE360:
				addw	$-128, 220(%rbx)
 1229                spec given = 1
				movl	$1, SPECGIVEN.6467(%rip)
 1230                %RETURN
				testb	$1, %al
				jne	.L130
				jmp	.L94
		.L127:
		.L130:
 1231             %FINISH
 1232
 1233             !note that an external procedure must be speced as a
 1234             !non-external procedure.
 1235
 1236          %FINISH
 1237          %IF decl&15 = recfm %START;              !recordformat
				testb	$1, %al
				jne	.L130
		.L128:
 1238             t_flags = record<<4+recfm
				movw	$68, 220(%rbx)
 1239             t_format = fdef
				movl	FDEF.6482(%rip), %eax
				movl	%eax, 216(%rbx)
 1240             %RETURN
				jmp	.L94
		.LVL177:
		.L162:
 1241          %FINISH
 1242       %FINISH
 1243       %RETURN %IF last1 = jump %AND atom1 = swit
				cmpl	$54, LAST1.6473(%rip)
				je	.L165
		.L131:
 1244       copy = x %IF copy = 0
				cmpl	$0, COPY.6502(%rip)
				jne	.L122
				cmpl	$105, ATOM1.6442(%rip)
				jne	.L131
				jmp	.L94
		.LVL179:
		.L153:
				movl	%edx, X.6441(%rip)
				jmp	.L132
		.LVL180:
		.L158:
 1245
				movl	X.6441(%rip), %eax
				movl	%eax, COPY.6502(%rip)
				jmp	.L122
		.L165:
 1246 notin:app = 0;  vid = 0
 1247       atom1 = error+2
				movl	$0, APP.6446(%rip)
		.LVL135:
				movl	$32770, ATOM1.6442(%rip)
				movl	$0, APP.6446(%rip)
		.LVL162:
		.L133:
 1248
				movl	$0, %r8d
 1249       %return %if d = 0;                         !old name wanted
				cmpl	$0, 12(%rsp)
				jne	.L133
		.LVL136:
		.L94:
 1250       type = d>>4&7;  form = d&15;  atom1 = amap(form)
				movl	12(%rsp), %ecx
				movl	%ecx, %eax
				shrl	$4, %eax
				andl	$7, %eax
				movl	%eax, TYPE.6445(%rip)
 1251
				movl	%ecx, %eax
				andl	$15, %eax
		.LVL163:
 1252       %IF this < 0 %START;                       !normal scope
				movq	0(%rbp), %rdx
				movq	(%rdx), %rcx
				movq	8(%rcx), %rdx
				movslq	%eax, %rsi
				movzbl	38902(%rdx,%rsi), %esi
				movl	%esi, ATOM1.6442(%rip)
				cmpl	$0, THIS.6483(%rip)
				js	.L158
		.L134:
		.LVL164:
 1253          new = newname
 1254          tmax = tmax+1;  x = tmax
				addl	$1, 64(%rcx)
 1255       %FINISH %ELSE %START;                      !recordformat scope
				movq	0(%rbp), %rdx
				movq	(%rdx), %rdx
				movl	64(%rdx), %edx
				movl	%edx, X.6441(%rip)
				movl	%r15d, %edx
				jmp	.L135
		.LVL181:
		.L159:
 1256          new = -1
				movl	$-1, %edx
		.LVL166:
		.L135:
		.LBB359:
 1257          recid = recid-1;  vid = recid
				subl	$1, 204(%rdx)
 1258          tmin = tmin-1;  x = tmin
				movq	0(%rbp), %rdx
				movq	(%rdx), %rdx
				movq	8(%rdx), %rdx
				movl	204(%rdx), %r8d
		.LVL165:
				movl	TMIN.6490(%rip), %ecx
				leal	-1(%rcx), %edx
				movl	%edx, TMIN.6490(%rip)
 1259          format list = tmin
				movl	%edx, X.6441(%rip)
				movl	%edx, FORMATLIST.6514(%rip)
 1260       %FINISH
 1261
 1262       %IF 11 <= form <= 14 %START;               !arrays
 1263          dim = 1 %IF dim = 0;                    !set dim for owns
				cmpl	$0, DIM.6466(%rip)
				jne	.L137
 1264          app = dim
				movl	$1, DIM.6466(%rip)
		.L137:
				movl	DIM.6466(%rip), %ecx
				movl	%ecx, APP.6446(%rip)
				jmp	.L136
		.LVL182:
		.L160:
 1265       %FINISH
 1266
 1267       d = d!used bit %IF (otype > 2 %AND d&spec = 0) %OR perm # 0 %OR %C
				leal	-11(%rax), %ecx
				cmpl	$3, %ecx
				jbe	.L159
		.L136:
		.LDL10:
		.LBE359:
 1268                          Level = Include Level
 1269
 1270       !external definitions need not be used in the file in which
				cmpl	$0, PERM.6496(%rip)
				jne	.L138
 1271       !they are defined, so inhibit a useless unused warning.
				movq	0(%rbp), %rcx
				movq	(%rcx), %rcx
				movl	60(%rcx), %ecx
				cmpl	%ecx, INCLUDELEVEL.6494(%rip)
				jne	.L139
		.L138:
 1272
 1273       t == tag(x)
				orl	$32768, 12(%rsp)
		.LVL167:
		.L139:
				movl	X.6441(%rip), %ecx
				movq	0(%rbp), %rsi
				movq	(%rsi), %rdi
				movq	8(%rdi), %rsi
		.LVL168:
 1274       %IF form = lab %START
				cmpl	$3, %eax
				je	.L160
		.LVL169:
		.L140:
				movslq	%ecx, %rax
				salq	$4, %rax
				addq	%rsi, %rax
 1275          id = id+1;  vid = id
				addl	$1, 56(%rdi)
 1276       %FINISH
				movq	0(%rbp), %rax
		.LVL183:
				movq	(%rax), %rax
				movl	56(%rax), %r8d
		.LVL184:
				jmp	.L140
		.LVL185:
		.L161:
 1277       t_index = vid
				movw	%r8w, 222(%rax)
 1278       t_text   = new name
				movw	%r15w, 224(%rax)
 1279       t_flags <- d
				movzwl	12(%rsp), %edi
				movw	%di, 220(%rax)
 1280       t_app    = app
				movl	APP.6446(%rip), %edi
				movl	%edi, 212(%rax)
 1281       t_format = fdef;  format = fdef
				movl	FDEF.6482(%rip), %edi
				movl	%edi, 216(%rax)
 1282       subatom = x
				movl	%edi, FORMAT.6447(%rip)
				movl	%ecx, SUBATOM.6444(%rip)
 1283
 1284       %IF new >= 0 %START;                             !insert into hash table
				testl	%edx, %edx
				js	.L142
 1285          t_link = dict(new);  dict(new) = x
				subl	$1, %edx
		.LVL170:
				movq	0(%rbp), %rdi
				movq	(%rdi), %rdi
				movq	8(%rdi), %rdi
				movslq	%edx, %rdx
				addq	$13416, %rdx
		.LVL171:
				movzwl	4(%rdi,%rdx,2), %edi
				movw	%di, 226(%rax)
 1286          %IF gmin = max grammar %START;                !proc param params
				movq	0(%rbp), %rax
				movq	(%rax), %rax
				movq	8(%rax), %rax
				movw	%cx, 4(%rax,%rdx,2)
				cmpl	$1720, GMIN.6488(%rip)
				je	.L161
		.L141:
		.LVL172:
		.L142:
 1287             tmin = tmin-1;  subatom = tmin
				movl	TMIN.6490(%rip), %eax
				subl	$1, %eax
				movl	%eax, TMIN.6490(%rip)
 1288             tag(tmin) = t
				movl	%eax, SUBATOM.6444(%rip)
				movq	0(%rbp), %rdx
		.LVL186:
				movq	(%rdx), %rdi
				movslq	%eax, %rdx
				addq	$13, %rdx
				salq	$4, %rdx
				addq	8(%rdi), %rdx
				movslq	%ecx, %rax
				addq	$13, %rax
				salq	$4, %rax
				movq	4(%rsi,%rax), %rcx
		.LVL187:
				movq	12(%rsi,%rax), %rbx
				movq	%rcx, 4(%rdx)
				movq	%rbx, 12(%rdx)
				jmp	.L142
		.LVL188:
		.L151:
 1289          %FINISH
 1290       %FINISH
 1291       abandon(3) %IF tmax >= tmin
				movq	0(%rbp), %rax
				movq	(%rax), %rax
				movl	64(%rax), %ecx
				cmpl	%ecx, TMIN.6490(%rip)
				jg	.L94
 1292    %END
				movq	8(%rax), %r10
				movl	$3, %edi
				call	ABANDON.6570
		.LVL173:
		.L113:
				jmp	.L94
		.L157:
		.L123:
 1293
				movq	536(%rsp), %rax
				xorq	%fs:40, %rax
				jne	.L151
				addq	$552, %rsp
				popq	%rbx
				popq	%rbp
				popq	%r12
				popq	%r13
				popq	%r14
				popq	%r15
		.LVL137:
				ret
		.LVL138:
		.L150:
				call	__stack_chk_fail@PLT
		.LVL189:
		.LFE205:
		GETSYM.6957:
		.LFB201:
 1294
 1295
 1296 top:  pos1 = pos
 1297       subatom = 0;  pend quote = 0;  atom flags = 0
				movl	POS.6509(%rip), %eax
				movl	%eax, POS1.6507(%rip)
				movl	$0, SUBATOM.6444(%rip)
		.LVL230:
				movl	POS.6509(%rip), %eax
				movl	%eax, POS1.6507(%rip)
				movl	$0, SUBATOM.6444(%rip)
 1298
				movl	$0, %ebp
		.LVL243:
		.L271:
				movl	$0, %ebp
		.LVL249:
		.L253:
 1299       !app and format must be left for assigning to papp & pformat
				movl	$0, ATOMFLAGS.6470(%rip)
				movl	$0, ATOMFLAGS.6470(%rip)
 1300
 1301       ->name %IF symtype = -2;                   !letter
				movl	SYMTYPE.6460(%rip), %eax
				cmpl	$-2, %eax
				je	.L239
				movl	SYMTYPE.6460(%rip), %eax
				cmpl	$-2, %eax
				je	.L239
		.L246:
 1302       ->number %IF symtype < 0;                  !digit
				testl	%eax, %eax
				js	.L240
				testl	%eax, %eax
				js	.L240
		.L247:
 1303       %IF symtype = 0 %START
				testl	%eax, %eax
				je	.L241
				testl	%eax, %eax
				je	.L241
		.L248:
 1304          atom1 = termin;  atom2 = 0
				movl	$20, ATOM1.6442(%rip)
 1305          %RETURN
				movl	$0, ATOM2.6443(%rip)
				jmp	.L238
		.L243:
 1306       %FINISH
 1307       %IF symtype # 2 %START;                    !catch keywords here
				cmpl	$2, %eax
				je	.L255
				cmpl	$2, %eax
				je	.L255
 1308          ->text %IF quote # 0;                   !completion of text
				movl	QUOTE.6461(%rip), %eax
				testl	%eax, %eax
				je	.L243
				movl	QUOTE.6461(%rip), %eax
				testl	%eax, %eax
				je	.L243
		.L250:
 1309          ->strings %IF sym = squote;             !start of string
				movl	SYM.6459(%rip), %eax
				cmpl	$34, %eax
				je	.L251
		.L252:
 1310          ->symbols %IF sym = cquote;             !start of symbol
				cmpl	$39, %eax
				je	.L305
		.L254:
 1311          ->number %IF sym = '.' %AND '0' <= nextsymbol <= '9'
				cmpl	$46, %eax
				je	.L312
		.L242:
		.L255:
 1312       %FINISH
 1313
 1314                                                  !locate atom in fixed dict
 1315       k = key>>2;  read sym
				movl	KEY.6917(%rip), %ebp
				shrl	$2, %ebp
		.LVL237:
 1316       %CYCLE
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL238:
		.LDL14:
 1317          j = kdict(k)
				movq	(%rbx), %rax
				movslq	%ebp, %rbp
				movq	8(%rax), %rax
				leaq	(%rax,%rbp,2), %rcx
				movzwl	25620(%rcx), %eax
		.LVL239:
		.LDL15:
				subl	$48, %eax
				cmpl	$9, %eax
				ja	.L255
		.L240:
		.LBE384:
 1318          %EXIT %IF j&x'4000' # 0
 1319          %IF j&127 # sym %OR symtype < 0 %START
 1320             ->err %UNLESS j < 0
 1321             k = k+1
 1322          %FINISH %ELSE %START
 1323             l = j>>7&127;  read sym
 1324             %IF j > 0 %START
 1325                %IF l # 0 %START
 1326                   ->err %IF l # sym %OR symtype < 0
 1327                   read sym
 1328                %FINISH
 1329                l = 1
 1330             %FINISH
 1331             k = k+l
 1332          %FINISH
 1333       %REPEAT
 1334       atom1 = j&127
				movl	%eax, %edx
				andl	$127, %edx
				movl	%edx, ATOM1.6442(%rip)
 1335       %IF atom1 = 0 %START;                      !comma
				testl	%edx, %edx
				jne	.L256
 1336          atom1 = 19;  subatom = 19;  atom2 = 0
				movl	$19, ATOM1.6442(%rip)
 1337          %IF sym = nl %START
				movl	$19, SUBATOM.6444(%rip)
				cmpl	$10, SYM.6459(%rip)
				jne	.L238
 1338             %RETURN %IF ocount >= 0
				movl	$0, ATOM2.6443(%rip)
				cmpl	$0, OCOUNT.6500(%rip)
				jns	.L238
		.L257:
 1339
 1340             !special action needs to be taken with <comma nl> as
 1341             !const array lists can be enormous
 1342
 1343             read sym
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL240:
				jmp	.L238
		.LVL241:
		.L312:
		.LBB384:
		.LBB385:
		.LBB386:
				call	_imp_nextsymbol@PLT
		.LVL242:
		.LBE386:
		.LBE385:
 1344          %FINISH
 1345          %RETURN
 1346       %FINISH
 1347       atom2 = j>>7&127
				shrl	$7, %eax
		.LVL247:
				andl	$127, %eax
				movl	%eax, ATOM2.6443(%rip)
 1348       subatom = kdict(k+1)&x'3fff'
				movzwl	25622(%rcx), %eax
				andl	$16383, %eax
				movl	%eax, SUBATOM.6444(%rip)
 1349       !!!!!cont = ' '
 1350       %RETURN
				jmp	.L238
		.LVL248:
		.L305:
 1351
 1352       !report an error. adjust the error marker (pos1) to point
 1353       !to the faulty character in an atom, but care needs to be taken
 1354       !to prevent misleading reports in cases like ...?????
 1355
 1356 err:  atom1 = error+1;  atom2 = 0
 1357       pos1 = pos %IF pos-pos1 > 2
				movl	$32769, ATOM1.6442(%rip)
				movl	POS.6509(%rip), %eax
				movl	%eax, %edx
				subl	POS1.6507(%rip), %edx
				cmpl	$2, %edx
				jle	.L238
 1358       %RETURN
				movl	$0, ATOM2.6443(%rip)
				movl	%eax, POS1.6507(%rip)
				jmp	.L238
		.L274:
		.LVL275:
		.L277:
 1359
 1360         !take care with strings and symbol constants.
 1361         !make sure the constant is valid here before sucking it in
 1362         !(and potentially loosing many lines)
 1363
 1364 symbols:atom1 = var;  atom2 = const;  type = integer
 1365         map gg = const;  protection = prot
				movl	$91, ATOM1.6442(%rip)
				movl	$93, MAPGG.6481(%rip)
 1366         subatom = lp;  abandon(3) %IF lp >= lit max
				movl	$93, ATOM2.6443(%rip)
				movl	LP.6519(%rip), %eax
				movl	%eax, SUBATOM.6444(%rip)
 1367         quote = \pend quote
				movl	$1, TYPE.6445(%rip)
				cmpl	$49, %eax
				jg	.L314
		.L260:
				notl	%ebp
		.LVL250:
				movl	%ebp, QUOTE.6461(%rip)
 1368         %RETURN
				jmp	.L238
		.LVL251:
		.L314:
				movq	(%rbx), %rax
				movq	8(%rax), %r10
				movl	$3, %edi
				call	ABANDON.6570
		.LVL252:
				jmp	.L260
		.LVL253:
		.L316:
		.L263:
 1369
 1370       !an integer constant is acceptable so get it in and
 1371       !get the next atom
 1372
 1373 chars:n = 0;  cont = cquote
 1374       %CYCLE
				movl	$0, 12(%rsp)
 1375          read sym
				movl	$39, CONT.6463(%rip)
		.LDL17:
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL257:
 1376          %IF sym = cquote %START
				cmpl	$39, SYM.6459(%rip)
				jne	.L261
		.LBB387:
		.LBB388:
				call	_imp_nextsymbol@PLT
		.LVL258:
		.LBE388:
		.LBE387:
 1377             %EXIT %IF nextsymbol # cquote
				cmpl	$39, %eax
				je	.L316
		.L262:
 1378             read sym
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL254:
		.L261:
 1379          %FINISH
 1380          %IF n&(\((-1)>>byte size)) # 0 %START; ! overflow
 1381             pos1 = pos;  atom1 = error+10;  %RETURN
				movl	POS.6509(%rip), %eax
				movl	%eax, POS1.6507(%rip)
 1382          %FINISH
				movl	$32778, ATOM1.6442(%rip)
		.LVL255:
		.L238:
 1383          ->err %IF quote = 0
 1384          n = n<<byte size+sym
 1385          quote = quote+1
 1386       %REPEAT
 1387       quote = 0;  cont = ' '
				movl	$0, QUOTE.6461(%rip)
 1388       readsym %IF sym # nl
				movl	$32, CONT.6463(%rip)
				cmpl	$10, SYM.6459(%rip)
				je	.L264
 1389       lit pool(lp) = n;  lp = lp+1
				movl	LP.6519(%rip), %eax
				movq	(%rbx), %rdx
				movq	8(%rdx), %rdx
				movslq	%eax, %rcx
				movl	12(%rsp), %esi
				movl	%esi, (%rdx,%rcx,4)
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL259:
				jmp	.L264
		.L251:
 1390       ->top
				addl	$1, %eax
				movl	%eax, LP.6519(%rip)
		.LDL16:
 1391
 1392         !sniff the grammar before getting the string
 1393
 1394 strings:atom1 = var;  atom2 = const;  type = stringv
 1395         subatom = (strp-stbase)!x'4000'
				movl	$91, ATOM1.6442(%rip)
				movl	8(%rbx), %eax
				subl	STBASE.6487(%rip), %eax
				orb	$64, %ah
				movl	%eax, SUBATOM.6444(%rip)
 1396         map gg = const;  protection = prot
				movl	$93, ATOM2.6443(%rip)
				movl	$93, MAPGG.6481(%rip)
 1397         quote = subatom
				movl	$3, TYPE.6445(%rip)
				movl	%eax, QUOTE.6461(%rip)
 1398         text line = lines;                         !in case of errors
				movl	LINES.6451(%rip), %eax
				movl	%eax, TEXTLINE.6452(%rip)
 1399         %RETURN
				jmp	.L238
		.LVL260:
		.L317:
		.LBB389:
		.LBB390:
				call	_imp_nextsymbol@PLT
		.LVL261:
		.LBE390:
		.LBE389:
 1400
 1401       !a string constant is ok here, so pull it in and get
 1402       !the next atom
 1403
 1404 text: ->chars %IF quote < 0;                       !character consts
 1405       l = strp; n = strp
				testl	%eax, %eax
				js	.L245
		.LVL231:
		.L244:
				movl	8(%rbx), %ebp
		.LVL232:
				testl	%eax, %eax
				jns	.L244
		.L245:
 1406       j = addr(glink(gmin-1));                     !absolute limit
				movl	%ebp, 12(%rsp)
		.LVL233:
				movl	GMIN.6488(%rip), %eax
				subl	$1, %eax
				cltq
				leaq	GLINK.6535(%rip), %rdx
				leaq	(%rdx,%rax,2), %rax
				cmpl	%eax, %r13d
				cmovge	%eax, %r13d
		.LVL235:
		.LDL11:
		.LDL12:
		.LDL13:
				jmp	.L270
		.LVL236:
		.L241:
 1407       k = l+256;                                   !string length limit
				leal	256(%rbp), %r13d
		.LVL234:
 1408       k = j %IF j < k;                             !choose lower
 1409
 1410       %CYCLE
 1411          cont = squote;  quote = 1
				movl	$34, CONT.6463(%rip)
 1412          %CYCLE
				movl	$1, QUOTE.6461(%rip)
		.L265:
 1413             read sym
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL266:
 1414             %IF sym = squote %START;               !terminator?
				cmpl	$34, SYM.6459(%rip)
				je	.L317
		.L266:
 1415                %EXIT %IF nextsymbol # squote;      !yes ->
				cmpl	$34, %eax
				jne	.L267
		.L268:
 1416                read sym;                           ! skip quote
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL262:
				jmp	.L266
		.L267:
 1417             %FINISH
 1418             l = l+1;  byteinteger(l) = sym
				addl	$1, %ebp
		.LVL267:
 1419             lines = text line %AND abandon(7) %IF l >= k; !too many chars
				movslq	%ebp, %rax
				movl	SYM.6459(%rip), %edx
				movb	%dl, (%rax)
				cmpl	%r13d, %ebp
				jl	.L265
 1420          %REPEAT
				movl	TEXTLINE.6452(%rip), %eax
				movl	%eax, LINES.6451(%rip)
 1421          byteinteger(n) = l-n;                            !plug in length
				movl	12(%rsp), %eax
				movslq	%eax, %rdx
				movl	%ebp, %edi
				subl	%eax, %edi
				movb	%dil, (%rdx)
				movq	(%rbx), %rax
				movq	8(%rax), %r10
				movl	$7, %edi
				call	ABANDON.6570
		.LVL268:
				jmp	.L265
		.LVL269:
		.L313:
 1422
 1423          strp = l+1;                                      !ready for next string
				leal	1(%rbp), %eax
				movl	%eax, 8(%rbx)
 1424          quote = 0;  cont = ' ';  read sym
				movl	$0, QUOTE.6461(%rip)
 1425          code atom(target)
				movl	$32, CONT.6463(%rip)
				movq	%rbx, %r10
				movl	%r12d, %edi
				call	CODEATOM.7002
		.LVL264:
 1426          %RETURN %UNLESS atom1 = 48 %AND sym = squote;    !fold "???"."+++"
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL263:
				cmpl	$48, ATOM1.6442(%rip)
				jne	.L238
 1427       %REPEAT
				cmpl	$34, SYM.6459(%rip)
				jne	.L238
		.LVL265:
		.L270:
 1428
 1429       %ROUTINE get(%INTEGER limit)
		.LVL218:
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				movl	%edi, %r12d
				movq	%r10, %rbx
		.LVL219:
 1430          %INTEGER s, shift
 1431          shift = 0
				movl	$0, %ebp
 1432          %IF base # 10 %START
				movl	16(%r10), %eax
				cmpl	$10, %eax
				je	.L219
 1433             %IF base = 16 %START
				cmpl	$16, %eax
				je	.L219
		.L215:
 1434                shift = 4
				movl	$4, %ebp
 1435             %FINISH %ELSE %START
 1436                %IF base = 8 %START
				cmpl	$8, %eax
				je	.L219
		.L216:
 1437                   shift = 3
				movl	$3, %ebp
 1438                %FINISH %ELSE %START
 1439                   %IF base = 2 %START
				cmpl	$2, %eax
				sete	%bpl
				movzbl	%bpl, %ebp
		.L214:
		.L217:
		.L218:
		.L219:
		.LVL220:
 1440                      shift = 1
 1441                   %FINISH
 1442                %FINISH
 1443             %FINISH
 1444          %FINISH
 1445          n = 0
				movl	$0, 12(%rbx)
				jmp	.L220
		.LVL221:
		.L236:
 1446          %CYCLE
 1447             %IF symtype = -1 %START;            !digit
				movl	SYMTYPE.6460(%rip), %eax
				cmpl	$-1, %eax
				je	.L236
		.L221:
 1448                s = sym-'0'
				movl	SYM.6459(%rip), %eax
				leal	-48(%rax), %edx
		.LVL222:
 1449             %FINISH %ELSE %START
				jmp	.L224
		.L237:
 1450                %IF symtype < 0 %START;          !letter
				testl	%eax, %eax
				jns	.L213
 1451                   s = sym-'A'+10
				movl	SYM.6459(%rip), %eax
				leal	-55(%rax), %edx
		.LVL225:
		.L222:
		.L224:
 1452                %FINISH %ELSE %START
 1453                   %RETURN
 1454                %FINISH
 1455             %FINISH
 1456             %RETURN %IF s >= limit
				cmpl	%r12d, %edx
				jge	.L213
		.L225:
 1457             pt = pt+1;  byteinteger(pt) = sym
				movl	8(%rbx), %eax
				addl	$1, %eax
				movl	%eax, 8(%rbx)
 1458             %IF base = 10 %START;            !check overflow
				cltq
				movl	SYM.6459(%rip), %ecx
				movb	%cl, (%rax)
				cmpl	$10, 16(%rbx)
				je	.L237
		.L226:
		.L229:
 1459                %IF n >= max int %AND (s > max dig %OR n > max int) %START
				movl	12(%rbx), %eax
				cmpl	$214748363, %eax
				jle	.L229
 1460
 1461                   !too big for an integer,
				cmpl	$214748364, %eax
				jg	.L228
				cmpl	$7, %edx
				jle	.L229
		.L228:
 1462                   !so call it a real
 1463
 1464                   base = 0;  type = real;  n = 0
				movl	$0, 16(%rbx)
 1465                %FINISH
				movl	$2, TYPE.6445(%rip)
 1466             %FINISH
				movl	$0, 12(%rbx)
				jmp	.L229
		.L230:
 1467             %IF shift = 0 %START
				testl	%ebp, %ebp
				jne	.L230
 1468                n = n*base+s
				movl	12(%rbx), %eax
				imull	16(%rbx), %eax
				addl	%eax, %edx
		.LVL226:
				movl	%edx, 12(%rbx)
 1469             %FINISH %ELSE %START
				jmp	.L231
		.L223:
		.L213:
 1470                n = n<<shift+s
				movl	12(%rbx), %eax
				movl	%ebp, %ecx
				sall	%cl, %eax
				addl	%eax, %edx
		.LVL223:
				movl	%edx, 12(%rbx)
		.L231:
 1471             %FINISH
 1472             read sym
				movq	(%rbx), %r10
				call	READSYM.6962
		.LVL224:
		.L220:
 1473          %REPEAT
 1474       %END
				popq	%rbx
				popq	%rbp
		.LVL227:
				popq	%r12
		.LVL228:
				ret
		.LFE206:
		CODEATOM.7002:
		.LFB204:
 1475
 1476 number:base = 10
 1477 bxk:   atom1 = var;  atom2 = const;  type = integer;  subatom = lp
				movl	$10, 16(%rsp)
 1478        map gg = const;  protection = prot
				movl	$91, ATOM1.6442(%rip)
				movl	$93, MAPGG.6481(%rip)
 1479        abandon(3) %IF lp >= lit max
				movl	$93, ATOM2.6443(%rip)
				cmpl	$49, %eax
				jg	.L313
		.L272:
 1480        pt = strp;  mul = 0
				movl	$1, TYPE.6445(%rip)
				movl	8(%rbx), %eax
				movl	%eax, 8(%rsp)
		.LVL244:
				movq	(%rbx), %rax
				movq	8(%rax), %r10
				movl	$3, %edi
				call	ABANDON.6570
		.LVL270:
				jmp	.L272
		.LVL271:
		.L318:
		.L276:
 1481        %CYCLE
				movl	LP.6519(%rip), %eax
				movl	%eax, SUBATOM.6444(%rip)
 1482           get(base)
				movq	%rsp, %r12
		.LVL245:
				jmp	.L273
		.LVL246:
		.L256:
				movq	%r12, %r10
				movl	16(%rsp), %edi
				call	GET.7129
		.LVL273:
 1483           %EXIT %UNLESS sym = '_' %AND base # 0 %AND pend quote = 0;    !change of base
				movl	SYM.6459(%rip), %eax
				cmpl	$95, %eax
				jne	.L277
 1484           pt = pt+1;  byteinteger(pt) = '_'
				movl	8(%rsp), %eax
				addl	$1, %eax
				movl	%eax, 8(%rsp)
 1485           read sym
				cltq
				movb	$95, (%rax)
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL272:
				cmpl	$0, 16(%rsp)
				je	.L275
				testl	%ebp, %ebp
				je	.L318
		.L275:
 1486           base = n
				movl	12(%rsp), %eax
				movl	%eax, 16(%rsp)
		.L273:
 1487        %REPEAT
 1488
 1489        %IF pend quote # 0 %START
				testl	%ebp, %ebp
				je	.L281
		.LVL274:
		.L258:
		.L259:
				testl	%ebp, %ebp
				je	.L278
 1490           ->err %IF sym # cquote
				cmpl	$39, %eax
				jne	.L258
		.L279:
 1491           readsym
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL276:
		.L278:
 1492        %FINISH
 1493        %IF sym = '.' %START;                        !a real constant
				cmpl	$46, SYM.6459(%rip)
				je	.L319
		.L280:
 1494           pt = pt+1;  byteinteger(pt) = '.'
				movl	8(%rsp), %eax
				addl	$1, %eax
				movl	%eax, 8(%rsp)
 1495           read sym
				cltq
				movb	$46, (%rax)
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL277:
 1496           type = real;  n = base;  base = 0;  get(n)
				movl	$2, TYPE.6445(%rip)
 1497        %FINISH
				movl	16(%rsp), %edi
				movl	%edi, 12(%rsp)
 1498
				movl	$0, 16(%rsp)
 1499        %IF sym = '@' %START;                        !an exponent
				cmpl	$64, SYM.6459(%rip)
				je	.L320
		.L281:
				movq	%rsp, %r10
				call	GET.7129
		.LVL278:
				jmp	.L280
		.L320:
 1500           pt = pt+1;  byteinteger(pt) = '@';  k = pt
				movl	8(%rsp), %eax
				addl	$1, %eax
				movl	%eax, 8(%rsp)
 1501           readsym
				cltq
				movb	$64, (%rax)
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL280:
 1502           type = integer;  base = 10
				movl	8(%rsp), %ebp
		.LVL279:
				movl	$1, TYPE.6445(%rip)
 1503           %IF sym = '-' %START
				movl	$10, 16(%rsp)
				cmpl	$45, SYM.6459(%rip)
				je	.L321
		.L282:
 1504              read sym;  get(10);  n = -n
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL284:
 1505           %FINISH %ELSE %START
				movq	%rsp, %r10
				movl	$10, %edi
				call	GET.7129
		.LVL285:
				jmp	.L283
		.LVL286:
		.L239:
		.LBB391:
 1506              get(10)
				movq	%rsp, %r10
				movl	$10, %edi
				call	GET.7129
		.LVL281:
		.L283:
				negl	12(%rsp)
 1507           %FINISH
 1508           pt = k+1;  byteinteger(pt) = lp;  litpool(lp) = n;  lp = lp+1
				leal	1(%rbp), %eax
				movl	%eax, 8(%rsp)
 1509           atom1 = error+10 %IF base = 0
				movl	LP.6519(%rip), %edx
				cltq
				movb	%dl, (%rax)
				cmpl	$0, 16(%rsp)
				jne	.L284
 1510           type = real;                              !exponents force the type
				movq	(%rbx), %rax
				movq	8(%rax), %rax
				movslq	%edx, %rcx
				movl	12(%rsp), %esi
				movl	%esi, (%rax,%rcx,4)
				movl	$32778, ATOM1.6442(%rip)
		.L284:
				movl	$2, TYPE.6445(%rip)
		.LVL282:
		.L285:
 1511        %FINISH
				addl	$1, %edx
				movl	%edx, LP.6519(%rip)
 1512
 1513        %IF type = real %START
				cmpl	$2, TYPE.6445(%rip)
				je	.L285
		.L286:
 1514           byteinteger(strp) = pt-strp
				movl	8(%rbx), %eax
				movslq	%eax, %rdx
				movzbl	8(%rsp), %edi
				subl	%eax, %edi
				movb	%dil, (%rdx)
 1515           subatom = (strp-stbase)!x'2000';  strp = pt+1
				movl	8(%rbx), %eax
				subl	STBASE.6487(%rip), %eax
				orb	$32, %ah
				movl	%eax, SUBATOM.6444(%rip)
 1516        %FINISH %ELSE %START
				movl	8(%rsp), %eax
				addl	$1, %eax
				movl	%eax, 8(%rbx)
				jmp	.L238
		.LVL283:
		.L321:
 1517           litpool(lp) = n
				movl	LP.6519(%rip), %eax
				movq	(%rbx), %rdx
				movq	8(%rdx), %rdx
				movslq	%eax, %rcx
				movl	12(%rsp), %esi
				movl	%esi, (%rdx,%rcx,4)
 1518           lp = lp+1
				addl	$1, %eax
				movl	%eax, LP.6519(%rip)
				jmp	.L238
		.L319:
 1519        %FINISH
 1520        %RETURN
 1521
 1522 name: atom1 = 0 %AND %RETURN %IF 27 <= target <= 41
 1523       hash value = 0
				movq	(%rbx), %rax
				movq	8(%rax), %rax
				movl	$0, 208(%rax)
 1524
 1525       !*****************************
 1526       !*machine dependent for speed*
 1527       !*****************************
 1528
				leal	-27(%r12), %eax
				cmpl	$14, %eax
				jbe	.L322
		.L287:
		.LBE391:
 1529       dp = dmax+1
				movl	DMAX.6489(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, DP.6506(%rip)
 1530       da = addr(dict(dp));  dbase = da
				movq	(%rbx), %rdx
				cltq
				movq	8(%rdx), %rdx
				leaq	26836(%rdx,%rax,2), %r13
		.LVL287:
				movl	%r13d, %ebp
		.L288:
		.LVL288:
		.L310:
		.L289:
				movl	$0, ATOM1.6442(%rip)
 1531       %CYCLE
				jmp	.L238
		.LVL294:
		.L323:
 1532          hash value = hash value+(hash value+sym);        !is this good enough?
				movl	SYM.6459(%rip), %eax
				movq	(%rbx), %rdx
				movq	8(%rdx), %rdx
				movl	208(%rdx), %ecx
				leal	(%rax,%rcx,2), %ecx
				movl	%ecx, 208(%rdx)
 1533          da = da+1;  byteinteger(da) = sym
				addl	$1, %ebp
		.LVL289:
 1534          read sym
				movslq	%ebp, %rdx
				movb	%al, (%rdx)
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL290:
 1535          %EXIT %IF symtype >= 0
				cmpl	$0, SYMTYPE.6460(%rip)
				js	.L310
		.L290:
 1536       %REPEAT
 1537       %IF sym = cquote %START
				cmpl	$39, SYM.6459(%rip)
				je	.L323
		.L291:
 1538          pend quote = 100
				movl	$100, %ebp
		.LVL295:
				movl	$100, %ebp
				movl	$100, %ebp
 1539          ->symbols %IF hash value = 'M'
				movq	(%rbx), %rax
				movq	8(%rax), %rax
				cmpl	$77, 208(%rax)
				je	.L253
		.L292:
 1540          read sym
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL296:
 1541          %IF hash value = 'X' %THEN base = 16 %AND ->bxk
				movq	(%rbx), %rax
				movq	8(%rax), %rax
				movl	208(%rax), %eax
				cmpl	$88, %eax
				je	.L327
		.L293:
 1542          %IF hash value = 'K' %C
				movl	%eax, %edx
				andl	$-5, %edx
				movl	$16, 16(%rsp)
 1543          %OR hash value = 'O' %THEN base = 8 %AND ->bxk
				cmpl	$75, %edx
				jne	.L294
		.L295:
				jmp	.L271
		.L294:
 1544          %IF hash value = 'B' %THEN base = 2 %AND ->bxk
				cmpl	$66, %eax
				jne	.L258
 1545          ->err
				movl	$8, 16(%rsp)
				movl	$2, 16(%rsp)
 1546       %FINISH
				jmp	.L271
		.L327:
				jmp	.L271
		.LVL297:
		.L324:
 1547       n = da-dbase
				subl	%r13d, %ebp
		.LVL291:
				movl	%ebp, 12(%rsp)
 1548       byteinteger(dbase) = n
				movslq	%r13d, %r13
				movb	%bpl, 0(%r13)
 1549       dp = dp+(n+2)>>1
				movl	12(%rsp), %eax
				addl	$2, %eax
				shrl	%eax
				addl	DP.6506(%rip), %eax
				movl	%eax, DP.6506(%rip)
 1550       abandon(8) %IF dp >= dmin
				movq	(%rbx), %rdx
				cmpl	52(%rdx), %eax
				jge	.L324
		.L296:
 1551
				movq	8(%rdx), %r10
				movl	$8, %edi
				call	ABANDON.6570
		.LVL298:
				jmp	.L296
		.L325:
 1552       atom2 = 90;                                    !ident
				movl	$90, ATOM2.6443(%rip)
 1553       %IF last1 = 0 %AND sym = ':' %START;           !label
				movl	LAST1.6473(%rip), %eax
				testl	%eax, %eax
				jne	.L297
 1554          limit = local;  lookup(lab);  %RETURN
				cmpl	$58, SYM.6459(%rip)
				je	.L325
		.L298:
				movl	LOCAL.6511(%rip), %eax
				movl	%eax, LIMIT.6501(%rip)
 1555       %FINISH
				movq	%rsp, %r10
				movl	$3, %edi
				call	LOOKUP.7015
		.LVL299:
 1556       %IF last1 = jump %START;                       !->label
				jmp	.L238
		.L297:
				cmpl	$54, %eax
				jne	.L298
 1557          limit = local;  lookup(lab+spec+used bit);  %RETURN
				movl	LOCAL.6511(%rip), %eax
				movl	%eax, LIMIT.6501(%rip)
 1558       %FINISH
				movq	%rsp, %r10
				movl	$32899, %edi
				call	LOOKUP.7015
		.LVL300:
 1559       %IF decl # 0 %AND target = 90 %START;          !identifier
				movl	DECL.6465(%rip), %edi
				jmp	.L238
		.L326:
 1560          search base = fm base
				cmpl	$90, %r12d
				jne	.L299
				testl	%edi, %edi
				jne	.L326
		.L299:
				movl	FMBASE.6512(%rip), %eax
				movl	%eax, SEARCHBASE.6513(%rip)
 1561          limit = local;  lookup(decl)
				movl	LOCAL.6511(%rip), %eax
				movl	%eax, LIMIT.6501(%rip)
 1562          search base = 0
				movq	%rsp, %r10
				call	LOOKUP.7015
		.LVL301:
				movl	$0, SEARCHBASE.6513(%rip)
 1563       %FINISH %ELSE %START
				jmp	.L238
		.LVL302:
		.L315:
 1564          limit = 0;  lookup(0)
				movl	$0, LIMIT.6501(%rip)
 1565       %FINISH
				movq	%rsp, %r10
				movl	$0, %edi
				call	LOOKUP.7015
		.LVL292:
		.L249:
		.L300:
		.L301:
		.L302:
		.L303:
				jmp	.L238
		.LVL293:
		.L322:
 1566    %END
 1567
				movq	40(%rsp), %rax
				xorq	%fs:40, %rax
				jne	.L315
				addq	$56, %rsp
				popq	%rbx
				popq	%rbp
				popq	%r12
				popq	%r13
				ret
		.LVL256:
		.L264:
				call	__stack_chk_fail@PLT
		.LVL303:
		.LFE204:
		GETNEXT.7576:
		.LFB211:
 1568    %INTEGERFN parsed machine code
 1569       !   *opcode_??????????
 1570       %routine octal(%integer n)
 1571          %integer m
 1572          m = n>>3
 1573          octal(m) %if m # 0
 1574          bp = bp+1;  buff(bp) = n&7+'0'
 1575       %end
 1576       atom1 = error %AND %RESULT=0 %UNLESS symtype = -2;  !starts with letter
 1577       flush buffer %IF bp >= 128
 1578       bp=bp+1 %AND buff(bp)='w'
 1579       %CYCLE
 1580          bp=bp+1 %AND buff(bp)=sym
 1581          read sym
 1582          %EXIT %IF symtype >= 0;                !pull in letters and digits
 1583       %REPEAT
 1584       bp=bp+1 %AND buff(bp)='_'
 1585       %IF symtype # 0 %START;                   !not terminator
 1586          atom1 = error %AND %result=0 %UNLESS sym = '_'
 1587          read sym
 1588          %WHILE symtype # 0 %CYCLE
 1589             %IF symtype < 0 %START;             !complex
 1590                code atom(0);  %result=0 %IF atom1&error # 0
 1591                %IF atom2 = const %AND type = integer %START
 1592                   %IF subatom < 0 %THEN octal(tag(-subatom)_format) %C
 1593                                   %ELSE octal(litpool(subatom))
 1594                %FINISH %ELSE %START
 1595                   %IF 91 <= atom1 <= 109 %START
 1596                      %if atom1 = 104 {label} %and %C
 1597                          Tag(Subatom)_Flags&Closed = 0 %start
 1598                         This = Subatom;  Atom1 = Error+21
 1599                         %result = 0
 1600                      %finish
 1601                      op(' ', tag(subatom)_index)
 1602                   %FINISH %ELSE %START
 1603                      atom1 = error;  %result=0
 1604                   %FINISH
 1605                %FINISH
 1606             %FINISH %ELSE %START
 1607                bp=bp+1 %AND buff(bp)=sym;  read sym
 1608             %FINISH
 1609          %REPEAT
 1610       %FINISH
 1611       bp=bp+1 %AND buff(bp)=';'
 1612       %RESULT=1
 1613    %END
 1614
 1615    cont = ' ' %IF gg = 0
				movl	GG.6480(%rip), %edx
				testl	%edx, %edx
				jne	.L803
 1616    last1 = 0;  mapgg = 0
				movl	$32, CONT.6463(%rip)
		.L803:
				movl	$0, LAST1.6473(%rip)
 1617    s = 0;  ss = 0;  sstype = -1; fdef = 0
				movl	$0, MAPGG.6481(%rip)
		.LVL739:
				movl	$0, %ebp
		.LBB619:
		.LBB620:
 1618    fm base = 0
				movl	$0, SS.6491(%rip)
				movl	$0, FMBASE.6512(%rip)
 1619    app = 0
				movl	$-1, SSTYPE.6498(%rip)
				movl	$0, APP.6446(%rip)
 1620
				movl	$0, FDEF.6482(%rip)
 1621    !deal with alignment following an error in one statement
 1622    !of several on a line
 1623
 1624    margin = column;                              !start of statement
				movl	COLUMN.6456(%rip), %eax
				movl	%eax, MARGIN.6453(%rip)
 1625
 1626    pos = 0
				movl	$0, POS.6509(%rip)
 1627    stbase = addr(glink(gmax+1));  strp = stbase;  lp = 0
				movl	GMAX.6530(%rip), %eax
				addl	$1, %eax
				cltq
				leaq	GLINK.6535(%rip), %rcx
				leaq	(%rcx,%rax,2), %rax
				movl	%eax, STBASE.6487(%rip)
 1628    tbase = tstart;                               !??????????????
				movl	%eax, 72(%rsp)
				movl	72(%r15), %eax
				movl	%eax, 68(%r15)
 1629    local = tbase
				movl	$0, LP.6519(%rip)
				movl	%eax, LOCAL.6511(%rip)
 1630
 1631    %IF gg = 0 %or ocount >= 0 %START;            !data or not continuation(z)
				testl	%edx, %edx
				je	.L804
 1632 again:%WHILE sym type = 0 %CYCLE;                !skip redundant terminators
				cmpl	$0, OCOUNT.6500(%rip)
				js	.L814
		.L804:
 1633          c = cont
				movl	CONT.6463(%rip), %ebp
		.LVL743:
 1634          cont = ' ';  cont = '+' %IF ocount >= 0
				cmpl	$0, SYMTYPE.6460(%rip)
				jne	.L807
				movl	$32, CONT.6463(%rip)
 1635          read sym
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL741:
				cmpl	$0, OCOUNT.6500(%rip)
				js	.L808
 1636          cont = c
				movl	%ebp, CONT.6463(%rip)
		.LVL742:
		.L806:
				movl	$43, CONT.6463(%rip)
				jmp	.L808
		.LVL744:
		.L807:
 1637       %REPEAT
 1638       ->skip %IF sym = '!';                      !comment
				cmpl	$33, SYM.6459(%rip)
				je	.L810
		.L811:
 1639       this = -1
				movl	$-1, THIS.6483(%rip)
 1640       code atom(0)
				movq	%rbx, %r10
				movl	$0, %edi
				call	CODEATOM.7002
		.LVL745:
 1641       %IF atom1 = comment %START
				cmpl	$22, ATOM1.6442(%rip)
				jne	.L814
		.L810:
 1642 skip:    quote = 1
 1643          c = cont
				movl	$1, QUOTE.6461(%rip)
				movl	CONT.6463(%rip), %ebp
		.LVL746:
 1644          read sym %AND cont = c %WHILE sym # nl; !skip to end of line
 1645          quote = 0;  symtype = 0
				cmpl	$10, SYM.6459(%rip)
				je	.L812
		.L813:
				cmpl	$10, SYM.6459(%rip)
				jne	.L813
		.L812:
				movl	$0, QUOTE.6461(%rip)
 1646          ->again
				leaq	64(%rsp), %rbx
				jmp	.L806
		.LVL740:
		.L808:
				movq	%rbx, %r10
				call	READSYM.6962
		.LVL747:
				movl	$0, SYMTYPE.6460(%rip)
				jmp	.L806
		.L805:
		.LVL748:
		.L814:
 1647       %FINISH
				movl	%ebp, CONT.6463(%rip)
		.LDL36:
 1648    %FINISH
 1649    decl = 0;  mark = 0
				movl	$0, DECL.6465(%rip)
		.LVL749:
 1650    gentype = 0;  force = 0
				movl	$0, GENTYPE.6474(%rip)
 1651    dim = 0;  prot err = 0
				movl	$0, FORCE.6478(%rip)
				movl	$0, DIM.6466(%rip)
		.LVL750:
 1652    node = 0;  nmax = 0;  nmin = rec size+1
				movw	$0, 46(%rsp)
 1653    order = 1;  gmin = max grammar+1
				movl	$0, NMAX.6485(%rip)
				movl	$1, ORDER.6503(%rip)
 1654    sstype = 0 %AND ->more %IF gg # 0;            !continuation
				movl	$521, NMIN.6484(%rip)
				movl	$1721, GMIN.6488(%rip)
				cmpl	$0, GG.6480(%rip)
				je	.L815
 1655    ptype = 0;  spec given = 0
				movl	$0, SSTYPE.6498(%rip)
				movl	$0, PTYPE.6475(%rip)
 1656
				movl	$0, SPECGIVEN.6467(%rip)
 1657    stats = stats+1;  op('O', lines) %IF perm = 0
				addl	$1, STATS.6457(%rip)
 1658
				cmpl	$0, PERM.6496(%rip)
				je	.L888
		.L817:
		.LVL753:
		.L856:
 1659    ->fail1 %IF atom1&error # 0;                  !first atom faulty
				movq	8(%r15), %r10
				movl	LINES.6451(%rip), %esi
				movl	$79, %edi
				call	OP.6644
		.LVL787:
				jmp	.L856
		.LVL788:
		.L818:
		.L819:
 1660
 1661    %IF escape class # 0 %START;                  !enter the hard way after
 1662       g = imp phrase;  sstype = -1;  ->a3
 1663    %FINISH
 1664
 1665    g = initial(atom1);                           !pick up entry point
 1666    %IF g = 0 %START;                             !invalid first atom
 1667       g = initial(0);  sstype = 0;  ->a3;        !declarator?
 1668    %FINISH
 1669    %IF g < 0 %START;                             !phrase imp
 1670       g = g&255
 1671       nmax = 1
 1672       ar(1)_class = 0;  ar(1)_link = 0;  ar(1)_sub = imp phrase
 1673    %FINISH
 1674
 1675    gg = gram(g);  class = gg&255;  sstype = gg>>12&3-1
 1676    ->a1
 1677
 1678 act(194): ptype = type;  papp = app;  pformat = format;  ->more
 1679 act(196):k =g+1;  ->a610
 1680 act(188):k = ar(nmax)_sub+1
 1681 a610:     papp = glink(k)
 1682           k = gram(k)
 1683           ->more %IF k = 0;                        !%NAME
 1684           ptype = k&7;  pformat = k>>3
 1685 act(183):k = type;  gentype = k %IF gentype = 0 %OR k = real
 1686           %IF pformat < 0 %START;                  !general type
 1687              app = papp;  format = pformat
 1688              k = real %IF ptype = real %AND type = integer
 1689              k = force %AND force = 0 %IF force # 0
 1690           %FINISH
 1691           ->fail2 %UNLESS papp = app %AND (ptype = k %OR ptype = 0)
 1692           ->more %IF pformat=format %OR pformat = 0 %OR format = 0
 1693           ->fail2
 1694 act(197):arp == ar(nmin)
 1695          k = arp_sub
 1696          ->fail3 %UNLESS block form = k&15
 1697          arp_sub = k>>4
 1698
 1699          type = block type
 1700          ptype = block type;  pformat = block fm;  papp = app
 1701          pformat = -1 %IF ptype # record
 1702          ->more
 1703 act(195):->Fail2 %if Type # 0 %and Type # Integer %and %C
 1704                                    Type # Real
 1705          arp == ar(nmin)
 1706          k = arp_sub
 1707          arp_sub = k>>2
 1708          k = k&3
 1709                                                       !1 = check integer
 1710                                                       !2 = check real
 1711                                                       !3 = check real + int
 1712           ->more %IF k = 0;                           !0 = no action
 1713           %IF k = 1 %START
 1714              force = integer
 1715              ->more %IF type = integer %OR type = 0
 1716              ->fail2
 1717           %FINISH
 1718           ->fail2 %UNLESS ptype = real %or ptype = 0  {or added?}
 1719           force = integer %IF k = 3
 1720           ->more
 1721 act(198):!%OTHER
 1722          k = gg>>8&15
 1723          %IF k = 0 %START;                    !restore atom
 1724             atom1 = last1
 1725             ->more
 1726          %FINISH
 1727          %IF k = 1 %START;                    !test string
 1728             ->fail2 %UNLESS type = stringv
 1729             ->more
 1730          %FINISH
 1731          %if k = 2 %start                     {fault record comparisons}
 1732             ->fail2 %if type = record
 1733             ->more
 1734          %finish
 1735          %if k = 3 %start;                    !check OWN variable coming
 1736             code atom(0)
 1737             ->A7 %if atom flags&own bit = 0
 1738             ->more
 1739          %finish
 1740          for warn = pos1 %IF x <= local;      !%FORTEST
 1741          ->more
 1742 paction(1):%IF type = record %THEN g = phrase(242) %ELSE pformat = -1
 1743                                                ->a3
 1744 paction(2):ptype = real;     pformat = -1;     ->a3
 1745 paction(3):ptype = stringv;  pformat = -1;     ->a3
 1746 paction(4):ptype = integer;  pformat = -1;     ->a3
 1747 paction(5):->a3 %if ptype = integer
 1748            g = phrase(212) %AND pformat=-1 %IF ptype = real
 1749            g = phrase(213) %IF ptype = stringv
 1750            ->a3
 1751 paction(6):ptype = gram(ar(nmax)_sub+1)&7;  pformat = -1;  ->a3
 1752 paction(7):ptype=real %IF ptype = integer;  pformat = -1;  ->a3
 1753
 1754 a1:   last1 = class;  atom1 = 0;  s = subatom
 1755
				movl	%eax, LAST1.6473(%rip)
 1756 a2:   %IF gg&trans bit = 0 %START;                !insert into analysis record
				movl	$0, ATOM1.6442(%rip)
 1757          z == node
				movl	SUBATOM.6444(%rip), %ebp
		.LVL789:
		.L820:
				movl	GG.6480(%rip), %edx
				testb	$1, %dl
				je	.L889
		.L821:
		.LVL790:
				leaq	46(%rsp), %rcx
		.LVL885:
 1758          %CYCLE;                                  !insert cell in order
 1759             k = z
				movswl	46(%rsp), %eax
		.LVL792:
				movslq	%ecx, %rax
		.LVL795:
				addq	$814, %rax
		.LVL796:
				salq	$4, %rax
		.LVL797:
				movswl	8(%rsi,%rax), %eax
		.LVL798:
				subl	$4096, %edx
 1760             %EXIT %IF gg&order bits = 0 %OR k = 0
 1761             gg = gg-order bit;  z == ar(k)_link
				testl	%eax, %eax
				je	.L822
				movl	%edx, %edi
				testl	%eax, %eax
				jne	.L823
 1762          %REPEAT
				movq	8(%r15), %rsi
				subl	$4096, %edx
		.LVL793:
		.L823:
				leal	-1(%rax), %ecx
		.LDL37:
		.LVL794:
				movslq	%ecx, %rcx
		.LVL799:
				salq	$4, %rcx
		.LVL800:
				leaq	13032(%rsi,%rcx), %rcx
		.LDL38:
		.LDL39:
				movl	%edi, GG.6480(%rip)
 1763          gg = map gg %IF map gg # 0 %AND gg&255 = var
				movl	MAPGG.6481(%rip), %eax
		.LVL801:
				testl	%eax, %eax
				je	.L824
				movl	MAPGG.6481(%rip), %eax
		.LVL884:
				testl	%eax, %eax
				je	.L824
				jmp	.L874
		.LVL886:
		.L897:
 1764          nmin = nmin-1;  ->fail0 %IF nmin = nmax
				testb	$1, %dil
				jne	.L824
		.L874:
				movl	NMIN.6484(%rip), %eax
				leal	-1(%rax), %edx
				movl	%edx, NMIN.6484(%rip)
 1765          z = nmin
				movl	%eax, GG.6480(%rip)
		.L824:
				cmpl	NMAX.6485(%rip), %edx
				je	.L825
		.L826:
				movw	%dx, (%rcx)
		.LVL802:
				cltq
				salq	$4, %rax
		.LVL803:
				addq	8(%r15), %rax
 1766          arp == ar(nmin)
 1767          arp_sub = s;  arp_class = (gg&255)!mark
				movw	%bp, 12998(%rax)
		.LVL804:
 1768          arp_link = k
				movzbl	GG.6480(%rip), %edx
				orw	24(%rsp), %dx
				movw	%dx, 12996(%rax)
				movw	$0, 13000(%rax)
				jmp	.L821
		.L892:
		.LBB681:
		.LBB641:
		.LBB621:
		.LBB622:
				call	_imp_newline@PLT
		.LVL805:
				jmp	.L828
		.LVL806:
		.L893:
		.LBE622:
		.LBE621:
		.LBB623:
		.LBB624:
				movl	$123, %edi
				call	_imp_printsymbol@PLT
		.LVL807:
		.LBE624:
		.LBE623:
 1769       %FINISH
 1770       mark = 0;  map gg = 0
 1771
				movl	$0, MAPGG.6481(%rip)
				jmp	.L816
		.LVL791:
		.L889:
 1772 more: g = glink(g);                               !chain down the grammar
 1773
				movslq	G.6479(%rip), %rax
				leaq	GLINK.6535(%rip), %rsi
				movswl	(%rsi,%rax,2), %eax
				movl	%eax, G.6479(%rip)
				movl	$0, 24(%rsp)
		.LBB643:
		.LBB640:
 1774 paction(0):
 1775 a3:   gg = gram(g);  class = gg&255
 1776       trace analysis %IF diag&1 # 0
				movslq	G.6479(%rip), %rax
				leaq	GRAM.6534(%rip), %rcx
				movzwl	(%rcx,%rax,2), %eax
				movswl	%ax, %edx
				movl	%edx, GG.6480(%rip)
 1777       ->a5 %IF class = 0;                         !end of phrase
				movzbl	%al, %eax
				movl	%eax, CLASS.6440(%rip)
		.LBB682:
		.LBB642:
				movl	CLASS.6440(%rip), %ebx
				testl	%ebx, %ebx
				je	.L832
		.L833:
 1778
 1779       %IF class < actions %START;                 !not a phrase or an action
				cmpl	$179, %ebx
				jg	.L834
 1780          class = atomic(class) %IF class >= figurative
				cmpl	$129, %ebx
				jle	.L835
 1781          ->a2 %IF class >= manifest
				movl	CLASS.6440(%rip), %edi
				cmpl	$119, %edi
				jg	.L820
		.L836:
				movq	8(%r15), %rdx
				leal	-130(%rbx), %eax
				cltq
				movzbl	38852(%rdx,%rax), %eax
				movl	%eax, CLASS.6440(%rip)
				jmp	.L835
		.L890:
 1782          code atom(class) %IF atom1 = 0
				cmpl	$0, ATOM1.6442(%rip)
				je	.L890
		.L837:
 1783          %IF escape class # 0 %START;             !escape to new grammar
				movl	ESCAPECLASS.6468(%rip), %eax
				testl	%eax, %eax
				jne	.L891
		.L838:
				movq	8(%rsp), %r10
				call	CODEATOM.7002
		.LVL832:
				jmp	.L837
		.L891:
 1784             class = escape class;  escape class = 0
				movl	%eax, CLASS.6440(%rip)
 1785             g = g+escape
				movl	$0, ESCAPECLASS.6468(%rip)
				addl	$4096, G.6479(%rip)
		.LDL42:
 1786
 1787             !note that following an escape the next item is
 1788             !forced to be transparent!
 1789
 1790 esc:        gg = 0
 1791             arp == ar(nmax+1)
				movl	$0, GG.6480(%rip)
		.LVL833:
				movslq	NMAX.6485(%rip), %rax
		.LVL834:
				salq	$4, %rax
		.LVL835:
				addq	8(%r15), %rax
 1792             arp_papp = papp;  arp_x = x;  ->a4
				movl	PAPP.6476(%rip), %edx
				movw	%dx, 13036(%rax)
		.LVL836:
 1793          %FINISH
				movl	X.6441(%rip), %edx
				movw	%dx, 13040(%rax)
		.L839:
 1794
 1795          ->a1 %IF class = atom1 %OR class = atom2
				movl	CLASS.6440(%rip), %edx
				movl	ATOM1.6442(%rip), %eax
				cmpl	%eax, %edx
				je	.L818
 1796
				movl	ATOM2.6443(%rip), %eax
				cmpl	%eax, %edx
				je	.L818
		.L840:
		.L841:
 1797 a7:      ->fail1 %IF gg >= 0;                     !no alternative
 1798          g = g+1
				cmpl	$0, GG.6480(%rip)
				jns	.L856
		.L842:
				addl	$1, G.6479(%rip)
		.LVL812:
		.L827:
 1799          ->a3
 1800       %FINISH
 1801
 1802       %IF class >= phrasal %START;                !a phrase
				cmpl	$199, %ebx
				jg	.L839
		.L844:
		.LVL848:
		.LDL43:
 1803 a4:      nmax = nmax+1;  ->fail0 %IF nmax = nmin
 1804          arp == ar(nmax)
				movl	NMAX.6485(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, NMAX.6485(%rip)
 1805          arp_ptype = ptype
				cmpl	NMIN.6484(%rip), %edx
				je	.L825
		.L845:
		.LVL837:
				cltq
		.LVL838:
				salq	$4, %rax
		.LVL839:
				addq	8(%r15), %rax
				movl	PTYPE.6475(%rip), %edx
		.LVL840:
				movw	%dx, 13034(%rax)
		.LVL841:
 1806          arp_pos = pos1
				movl	POS1.6507(%rip), %edx
				movw	%dx, 13042(%rax)
 1807          arp_pformat = pformat
				movl	PFORMAT.6477(%rip), %edx
				movw	%dx, 13038(%rax)
 1808          arp_link = gentype
				movl	GENTYPE.6474(%rip), %edx
				movw	%dx, 13032(%rax)
 1809          arp_class = node
				movzwl	46(%rsp), %edx
				movw	%dx, 13028(%rax)
 1810          arp_sub = g
				movl	G.6479(%rip), %edx
				movw	%dx, 13030(%rax)
 1811          node = 0
				movw	$0, 46(%rsp)
 1812          g = phrase(class)
				movl	CLASS.6440(%rip), %eax
				subl	$200, %eax
				cltq
				leaq	PHRASE.6531(%rip), %rdx
				movswl	(%rdx,%rax,2), %eax
				movl	%eax, G.6479(%rip)
 1813          ptype = force %AND force = 0 %IF force # 0
				movl	FORCE.6478(%rip), %eax
				testl	%eax, %eax
				je	.L846
 1814          gentype = 0
				movl	%eax, PTYPE.6475(%rip)
				movl	$0, GENTYPE.6474(%rip)
		.LVL842:
 1815          ->paction(gg>>8&15)
				movl	$0, FORCE.6478(%rip)
		.L846:
				movl	GG.6480(%rip), %eax
				shrl	$8, %eax
				andl	$15, %eax
				movl	%eax, 28(%rsp)
		.LVL843:
		.L847:
 1816       %FINISH
 1817
 1818       ->act(class);                               !only actions left
 1819
 1820 a5:   !reverse links
 1821
 1822       s = 0
				movl	%ebx, %ebp
				jmp	.L850
		.LVL862:
		.L852:
 1823       %WHILE node # 0 %CYCLE
 1824          z == ar(node)_link
				movzwl	46(%rsp), %eax
				testw	%ax, %ax
				je	.L876
		.LVL851:
		.L851:
				movswl	%ax, %ebp
		.LVL852:
				movswq	%ax, %rax
				salq	$4, %rax
				addq	8(%r15), %rax
				movq	%rax, %rdx
				movl	%ebp, %ebx
				testw	%ax, %ax
				jne	.L851
				movw	$0, 46(%rsp)
		.LVL855:
		.L850:
 1825          k = z;  z = s;  s = node;  node = k
				movzwl	13016(%rax), %eax
		.LVL853:
 1826       %REPEAT
				movw	%bx, 13016(%rdx)
		.LVL854:
		.LDL44:
		.LDL45:
 1827       ss = s
				movl	%ebp, SS.6491(%rip)
		.LDL46:
 1828
 1829 a6:   %IF nmax # 0 %START
 1830          k = gentype;                             !type of phrase
				movl	NMAX.6485(%rip), %eax
				testl	%eax, %eax
				je	.L852
		.LVL856:
 1831          arp == ar(nmax);  nmax = nmax-1
				leal	-1(%rax), %edx
				movl	%edx, NMAX.6485(%rip)
				cltq
				salq	$4, %rax
		.LVL857:
				addq	8(%r15), %rax
 1832          node = arp_class
				movzwl	13012(%rax), %edx
		.LVL858:
				movw	%dx, 46(%rsp)
 1833          gentype = arp_link
				movswl	13016(%rax), %edx
				movl	%edx, GENTYPE.6474(%rip)
		.LVL859:
 1834          ptype = arp_ptype
				movswl	13018(%rax), %edx
				movl	%edx, PTYPE.6475(%rip)
 1835          pformat = arp_pformat
				movswl	13022(%rax), %edx
				movl	%edx, PFORMAT.6477(%rip)
 1836          g = arp_sub
				movswl	13014(%rax), %edx
 1837          %IF g&escape # 0 %START
 1838             g = g-escape
				subl	$4096, %edx
				movl	%edx, G.6479(%rip)
 1839             papp = arp_papp
				movswl	13020(%rax), %eax
				movl	%eax, PAPP.6476(%rip)
		.LVL860:
 1840             mark = 255
				movl	$255, 24(%rsp)
 1841             subatom = s
				movl	%ebp, SUBATOM.6444(%rip)
 1842             ->a3
				jmp	.L827
		.LVL861:
		.L876:
 1843          %FINISH
 1844          gentype = k %IF gentype = 0 %OR k = real
 1845          type = gen type
 1846
 1847          k = gg;                                  !exit-point code
 1848          %CYCLE
 1849             gg = gram(g)
 1850             ->a2 %IF k = 0
 1851             ->fail1 %IF gg >= 0;                  !no alternative phrase
 1852             k = k-order bit
 1853             g = g+1;                              !sideways step
 1854          %REPEAT
 1855
 1856       %FINISH
 1857
 1858       Fault(4)  %IF copy # 0
				cmpl	$0, COPY.6502(%rip)
				jne	.L895
		.L853:
 1859       fault(13) %IF order = 0
				cmpl	$0, ORDER.6503(%rip)
				je	.L896
		.L854:
		.LDL47:
				movq	%r15, %r10
				movl	$4, %edi
				call	FAULT.6680
		.LVL863:
				jmp	.L853
		.L896:
 1860       fault(-4) %IF for warn # 0
				movq	%r15, %r10
				movl	$13, %edi
				call	FAULT.6680
		.LVL864:
				jmp	.L854
		.LVL865:
		.L848:
 1861       pos1 = 0
				movl	$0, POS1.6507(%rip)
 1862       fault rate = fault rate-1
				subl	$1, FAULTRATE.6450(%rip)
		.L802:
 1863       %RETURN
 1864
 1865 act(193):gg = 0 %AND ->a5 %UNLESS sym = '=' %or sym = '<';  !cdummy
 1866 act(181):atom1 = amap(decl&15);                             !dummy
 1867          ->more
 1868
 1869 act(182):class = escdec;  g = glink(g)!escape
 1870          decl = 0;  otype = 0;  ->esc;                      !decl
 1871
 1872 act(199):                                                   !compile
 1873
 1874          s = 0
 1875          %WHILE node # 0 %CYCLE
 1876             z == ar(node)_link
 1877             k = z;  z = s;  s = node;  node = k
 1878          %repeat
 1879          ss = s
 1880
 1881          code atom(28) %IF quote # 0;                       !expend
 1882          compile;  ->more %IF atom1&error = 0
 1883          ->fail1
 1884
 1885 act(184):->fail4 %UNLESS type = integer
 1886          %IF subatom < 0 %THEN lit = tag(-subatom)_format %C
 1887                          %ELSE lit = lit pool(subatom)
 1888          ->fail4 %IF lit # 0
 1889          ->more
 1890 act(185):                                                   !apply parameters
 1891          s = 0
 1892          %WHILE node # 0 %CYCLE
 1893             z == ar(node)_link
 1894             k = z;  z = s;  s = node;  node = k
 1895          %REPEAT
 1896          ss = s
 1897
 1898          atom1 = ar(s)_class;  atom2 = 0
 1899          atom1 = var %IF atom1 = 97 %OR atom1 = 98
 1900          arp == ar(nmax)
 1901          x = arp_x
 1902          pos1 = arp_pos
 1903          pos2 = 0
 1904          app = 0
 1905          format = tag(x)_format
 1906          flags = tag(x)_flags
 1907          type = flags>>4&7
 1908          protection = flags&prot
 1909          protection = 0 %IF flags&aname # 0
 1910
 1911          %IF flags&subname # 0 %AND format # 0 %START
 1912             ->fail1 %if format selected = 0
 1913          %FINISH
 1914
 1915          ->a6
 1916
 1917 act(187):protection = prot;  ->more;            !%SETPROT
 1918 act(186):->More %if protection&prot = 0
 1919          prot err = nmin
 1920          ->A7
 1921 act(191):k = protection;                        !%GUARD
 1922          code atom(0)
 1923          protection = k %IF atom flags&aname = 0
 1924          ->more
 1925
 1926 act(192):->fail1 %IF parsed machine code=0
 1927          ->more
 1928
 1929 act(189):k = gapp;                              !%GAPP
 1930          delete names(1)
 1931          tmax = tbase;  tbase = gram (gmin);    !restore tmax
 1932          local= tbase
 1933          gmin = gmin+1
 1934
 1935          x = ar(ar(nmax)_class)_sub
 1936          tag(x)_app = k;                        !update app
 1937          ->more
 1938
 1939 act(190):gmin = gmin-1;                         !%LOCAL
 1940          abandon(2) %IF gmin <= gmax
 1941          gram (gmin) = tbase;  tbase = tmax
 1942          local = tbase
 1943          ->more
 1944
 1945 ! errors
 1946
 1947 fail4:k = error+10;            ->failed;        !*size
 1948 fail3:k = error+7;             ->failed;        !*context
 1949 fail2:k = error+5;  pos2 = 0;  ->failed;        !*type
 1950 fail0:k = error+3;             ->failed;        !*too complex
 1951 fail1:k = atom1;    pos2 = 0
 1952
 1953 failed:
				movl	$0, POS2.6508(%rip)
		.LVL754:
		.L825:
		.LBB644:
 1954       %IF diag&32 # 0 %START
 1955          printstring("Atom1 =");       write(atom1, 3)
				movabsq	$17205370240857153, %rax
				movl	$0, %edx
				movq	%rax, 5217(%rsp)
				movq	%rdx, 5225(%rsp)
				movl	$0, %ebx
				movb	$0, 5233(%rsp)
				movw	$0, 5234(%rsp)
				movl	$0, 5236(%rsp)
				leaq	5240(%rsp), %rdi
				movl	$29, %ecx
				movq	%rbx, %rax
				rep stosq
				movb	$7, 5216(%rsp)
				movq	5216(%rsp), %rax
				movq	5224(%rsp), %rdx
				movq	%rax, 96(%rsp)
				movq	%rdx, 104(%rsp)
		.LVL755:
				movb	$7, 96(%rsp)
		.LBE644:
		.LBB645:
		.LBB646:
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	5464(%rsp)
				pushq	344(%rsp)
				pushq	344(%rsp)
				call	_imp_printstring@PLT
		.LVL756:
		.LBE646:
		.LBE645:
 1956          printstring("  Atom2 =");     write(atom2, 3)
				addq	$256, %rsp
				movl	$3, %esi
				movl	ATOM1.6442(%rip), %edi
				call	_imp_writeint@PLT
		.LVL757:
		.LBB647:
				movabsq	$2320037083508449312, %rax
				movl	$61, %edx
				movq	%rax, 4193(%rsp)
				movq	%rdx, 4201(%rsp)
				movb	$0, 4209(%rsp)
				movw	$0, 4210(%rsp)
				movl	$0, 4212(%rsp)
				leaq	4216(%rsp), %rdi
				movl	$29, %ecx
				movq	%rbx, %rax
				rep stosq
				movb	$9, 4192(%rsp)
				movq	4192(%rsp), %rax
				movq	4200(%rsp), %rdx
				movq	%rax, 352(%rsp)
				movq	%rdx, 360(%rsp)
		.LVL758:
				movb	$9, 352(%rsp)
		.LBE647:
		.LBB648:
		.LBB649:
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	4440(%rsp)
				pushq	600(%rsp)
				pushq	600(%rsp)
				call	_imp_printstring@PLT
		.LVL759:
		.LBE649:
		.LBE648:
 1957          printstring("  subatom =");   write(subatom, 3);  newline
				addq	$256, %rsp
				movl	$3, %esi
				movl	ATOM2.6443(%rip), %edi
				call	_imp_writeint@PLT
		.LVL760:
		.LBB650:
				movabsq	$8031151111013605408, %rax
				movl	$4005997, %edx
				movq	%rax, 3937(%rsp)
				movq	%rdx, 3945(%rsp)
				movb	$0, 3953(%rsp)
				movw	$0, 3954(%rsp)
				movl	$0, 3956(%rsp)
				leaq	3960(%rsp), %rdi
				movl	$29, %ecx
				movq	%rbx, %rax
				rep stosq
				movb	$11, 3936(%rsp)
				movq	3936(%rsp), %rax
				movq	3944(%rsp), %rdx
				movq	%rax, 608(%rsp)
				movq	%rdx, 616(%rsp)
		.LVL761:
				movb	$11, 608(%rsp)
		.LBE650:
		.LBB651:
		.LBB652:
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	4184(%rsp)
				pushq	856(%rsp)
				pushq	856(%rsp)
				call	_imp_printstring@PLT
		.LVL762:
		.LBE652:
		.LBE651:
 1958          printstring("Type =");        write(type, 1)
				addq	$256, %rsp
				movl	$3, %esi
				movl	SUBATOM.6444(%rip), %edi
				call	_imp_writeint@PLT
		.LVL763:
		.LBB653:
		.LBB654:
				call	_imp_newline@PLT
		.LVL764:
		.LBE654:
		.LBE653:
		.LBB655:
				movabsq	$67209350117716, %rax
				movl	$0, %edx
				movq	%rax, 3681(%rsp)
				movq	%rdx, 3689(%rsp)
				movb	$0, 3697(%rsp)
				movw	$0, 3698(%rsp)
				movl	$0, 3700(%rsp)
				leaq	3704(%rsp), %rdi
				movl	$29, %ecx
				movq	%rbx, %rax
				rep stosq
				movb	$6, 3680(%rsp)
				movq	3680(%rsp), %rax
				movq	3688(%rsp), %rdx
				movq	%rax, 864(%rsp)
				movq	%rdx, 872(%rsp)
		.LVL765:
				movb	$6, 864(%rsp)
		.LBE655:
		.LBB656:
		.LBB657:
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	3928(%rsp)
				pushq	1112(%rsp)
				pushq	1112(%rsp)
				call	_imp_printstring@PLT
		.LVL766:
		.LBE657:
		.LBE656:
 1959          printstring("   Ptype =");    write(ptype, 1);    newline
				addq	$256, %rsp
				movl	$1, %esi
				movl	TYPE.6445(%rip), %edi
				call	_imp_writeint@PLT
		.LVL767:
		.LBB658:
				movabsq	$7309475735689764896, %rax
				movl	$15648, %edx
				movq	%rax, 3425(%rsp)
				movq	%rdx, 3433(%rsp)
				movb	$0, 3441(%rsp)
				movw	$0, 3442(%rsp)
				movl	$0, 3444(%rsp)
				leaq	3448(%rsp), %rdi
				movl	$29, %ecx
				movq	%rbx, %rax
				rep stosq
				movb	$10, 3424(%rsp)
				movq	3424(%rsp), %rax
				movq	3432(%rsp), %rdx
				movq	%rax, 1120(%rsp)
				movq	%rdx, 1128(%rsp)
		.LVL768:
				movb	$10, 1120(%rsp)
		.LBE658:
		.LBB659:
		.LBB660:
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	3672(%rsp)
				pushq	1368(%rsp)
				pushq	1368(%rsp)
				call	_imp_printstring@PLT
		.LVL769:
		.LBE660:
		.LBE659:
 1960          printstring("App =");         write(app, 1)
				addq	$256, %rsp
				movl	$1, %esi
				movl	PTYPE.6475(%rip), %edi
				call	_imp_writeint@PLT
		.LVL770:
		.LBB661:
		.LBB662:
				call	_imp_newline@PLT
		.LVL771:
		.LBE662:
		.LBE661:
		.LBB663:
				movabsq	$262537244737, %rax
				movl	$0, %edx
				movq	%rax, 3169(%rsp)
				movq	%rdx, 3177(%rsp)
				movb	$0, 3185(%rsp)
				movw	$0, 3186(%rsp)
				movl	$0, 3188(%rsp)
				leaq	3192(%rsp), %rdi
				movl	$29, %ecx
				movq	%rbx, %rax
				rep stosq
				movb	$5, 3168(%rsp)
				movq	3168(%rsp), %rax
				movq	3176(%rsp), %rdx
				movq	%rax, 1376(%rsp)
				movq	%rdx, 1384(%rsp)
		.LVL772:
				movb	$5, 1376(%rsp)
		.LBE663:
		.LBB664:
		.LBB665:
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	3416(%rsp)
				pushq	1624(%rsp)
				pushq	1624(%rsp)
				call	_imp_printstring@PLT
		.LVL773:
		.LBE665:
		.LBE664:
 1961          printstring("   Papp =");     write(papp, 1);     newline
				addq	$256, %rsp
				movl	$1, %esi
				movl	APP.6446(%rip), %edi
				call	_imp_writeint@PLT
		.LVL774:
		.LBB666:
				movabsq	$2337491769863708704, %rax
				movl	$61, %edx
				movq	%rax, 2913(%rsp)
				movq	%rdx, 2921(%rsp)
				movb	$0, 2929(%rsp)
				movw	$0, 2930(%rsp)
				movl	$0, 2932(%rsp)
				leaq	2936(%rsp), %rdi
				movl	$29, %ecx
				movq	%rbx, %rax
				rep stosq
				movb	$9, 2912(%rsp)
				movq	2912(%rsp), %rax
				movq	2920(%rsp), %rdx
				movq	%rax, 1632(%rsp)
				movq	%rdx, 1640(%rsp)
		.LVL775:
				movb	$9, 1632(%rsp)
		.LBE666:
		.LBB667:
		.LBB668:
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	3160(%rsp)
				pushq	1880(%rsp)
				pushq	1880(%rsp)
				call	_imp_printstring@PLT
		.LVL776:
		.LBE668:
		.LBE667:
 1962          printstring("Format =");      write(format, 1)
				addq	$256, %rsp
				movl	$1, %esi
				movl	PAPP.6476(%rip), %edi
				call	_imp_writeint@PLT
		.LVL777:
		.LBB669:
		.LBB670:
				call	_imp_newline@PLT
		.LVL778:
		.LBE670:
		.LBE669:
		.LBB671:
				movabsq	$4404648397365210950, %rax
				movl	$0, %edx
				movq	%rax, 2657(%rsp)
				movq	%rdx, 2665(%rsp)
				movb	$0, 2673(%rsp)
				movw	$0, 2674(%rsp)
				movl	$0, 2676(%rsp)
				leaq	2680(%rsp), %rdi
				movl	$29, %ecx
				movq	%rbx, %rax
				rep stosq
				movb	$8, 2656(%rsp)
				movq	2656(%rsp), %rax
				movq	2664(%rsp), %rdx
				movq	%rax, 1888(%rsp)
				movq	%rdx, 1896(%rsp)
		.LVL779:
				movb	$8, 1888(%rsp)
		.LBE671:
		.LBB672:
		.LBB673:
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2904(%rsp)
				pushq	2136(%rsp)
				pushq	2136(%rsp)
				call	_imp_printstring@PLT
		.LVL780:
		.LBE673:
		.LBE672:
 1963          printstring("   Pformat =");  write(pformat, 1);  newline
				addq	$256, %rsp
				movl	$1, %esi
				movl	FORMAT.6447(%rip), %edi
				call	_imp_writeint@PLT
		.LVL781:
		.LBB674:
				movabsq	$7886488382700789792, %rax
				movl	$1025537121, %edx
				movq	%rax, 2401(%rsp)
				movq	%rdx, 2409(%rsp)
				movb	$0, 2417(%rsp)
				movw	$0, 2418(%rsp)
				movl	$0, 2420(%rsp)
				leaq	2424(%rsp), %rdi
				movl	$29, %ecx
				movq	%rbx, %rax
				rep stosq
				movb	$12, 2400(%rsp)
				movq	2400(%rsp), %rax
				movq	2408(%rsp), %rdx
				movq	%rax, 2144(%rsp)
				movq	%rdx, 2152(%rsp)
		.LVL782:
				movb	$12, 2144(%rsp)
		.LBE674:
		.LBB675:
		.LBB676:
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2648(%rsp)
				pushq	2392(%rsp)
				pushq	2392(%rsp)
				call	_imp_printstring@PLT
		.LVL783:
		.LBE676:
		.LBE675:
 1964 !IMP80 BUG???           %SIGNAL 13,15
				addq	$256, %rsp
				movl	$1, %esi
				movl	PFORMAT.6477(%rip), %edi
				call	_imp_writeint@PLT
		.LVL784:
		.LBB677:
		.LBB678:
				call	_imp_newline@PLT
		.LVL785:
		.LBE678:
		.LBE677:
		.LBB679:
		.LBB680:
				movl	$0, %edi
				call	exit@PLT
		.LVL786:
		.L888:
		.LBE680:
		.LBE679:
 1965          %STOP
 1966        %FINISH
 1967
 1968        quote = 0 %AND readsym %WHILE sym # nl %AND sym # ';'
 1969        %IF k&error # 0 %START
 1970           fault(k&255)
 1971        %FINISH %ELSE %START
 1972          %IF prot err = nmin %THEN fault(14) %ELSE fault(0)
 1973        %FINISH
 1974        gg = 0;  ss = 0;  symtype = 0
 1975    %END;                                               !of analyse
 1976
 1977    %ROUTINE compile
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$4608, %rsp
				movq	%r10, (%rsp)
				movq	%fs:40, %rax
				movq	%rax, 4600(%rsp)
				xorl	%eax, %eax
				leaq	4656(%rsp), %rax
				movq	%rax, 152(%rsp)
				movq	%r10, 112(%rsp)
 1978
				leal	-180(%rbx), %eax
				cmpl	$20, %eax
				ja	.L848
		.LVL849:
		.L849:
				movl	_imp_current_line(%rip), %ebp
		.LVL866:
				testl	%ebp, %ebp
				movl	$1978, %eax
				cmove	%eax, %ebp
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L858
				leaq	3680(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL867:
		.L859:
				pushq	$1818
				leaq	.LC2(%rip), %rax
				pushq	%rax
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				pushq	3944(%rsp)
				movl	%ebx, %r9d
				leaq	.LC11(%rip), %r8
				movl	%ebx, %ecx
				movl	$3, %edx
				movl	$6, %esi
				movl	%ebp, %edi
				movl	$0, %eax
				call	_signal_eventf@PLT
		.LVL868:
				addq	$272, %rsp
				jmp	.L849
		.L858:
		.LVL869:
		.LBB683:
				movabsq	$8603403804667503988, %rax
				movabsq	$4068493685302587439, %rdx
				movq	%rax, 5217(%rsp)
				movq	%rdx, 5225(%rsp)
				movabsq	$7883958449920159028, %rax
				movabsq	$482871946867, %rdx
				movq	%rax, 5233(%rsp)
				movq	%rdx, 5241(%rsp)
				movb	$0, 5249(%rsp)
				movw	$0, 5250(%rsp)
				movl	$0, 5252(%rsp)
				leaq	5256(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
				movb	$29, 5216(%rsp)
				movq	5216(%rsp), %rax
				movq	5224(%rsp), %rdx
				movq	%rax, 2656(%rsp)
				movq	%rdx, 2664(%rsp)
				movdqa	5232(%rsp), %xmm5
				movaps	%xmm5, 2672(%rsp)
				movdqa	5248(%rsp), %xmm3
				movaps	%xmm3, 2688(%rsp)
				movdqa	5264(%rsp), %xmm1
				movaps	%xmm1, 2704(%rsp)
				movq	5280(%rsp), %r13
				movq	5288(%rsp), %r14
				movq	%r13, 2720(%rsp)
				movq	%r14, 2728(%rsp)
				movq	5296(%rsp), %r11
				movq	5304(%rsp), %r12
				movq	%r11, 2736(%rsp)
				movq	%r12, 2744(%rsp)
				movq	5312(%rsp), %r9
				movq	5320(%rsp), %r10
				movq	%r9, 2752(%rsp)
				movq	%r10, 2760(%rsp)
				movq	5328(%rsp), %rsi
				movq	5336(%rsp), %rdi
				movq	%rsi, 2768(%rsp)
				movq	%rdi, 2776(%rsp)
				movq	5344(%rsp), %rax
				movq	5352(%rsp), %rdx
				movq	%rax, 2784(%rsp)
				movq	%rdx, 2792(%rsp)
				movdqa	5360(%rsp), %xmm7
				movaps	%xmm7, 2800(%rsp)
				movdqa	5376(%rsp), %xmm9
				movaps	%xmm9, 2816(%rsp)
				movdqa	5392(%rsp), %xmm11
				movaps	%xmm11, 2832(%rsp)
				movdqa	5408(%rsp), %xmm13
				movaps	%xmm13, 2848(%rsp)
				movdqa	5424(%rsp), %xmm15
				movaps	%xmm15, 2864(%rsp)
				movdqa	5440(%rsp), %xmm0
				movaps	%xmm0, 2880(%rsp)
				movdqa	5456(%rsp), %xmm2
				movaps	%xmm2, 2896(%rsp)
		.LVL870:
		.LBE683:
				movb	$29, 2656(%rsp)
				movdqa	2656(%rsp), %xmm4
				movaps	%xmm4, 3680(%rsp)
				movaps	%xmm5, 3696(%rsp)
				movaps	%xmm3, 3712(%rsp)
				movaps	%xmm1, 3728(%rsp)
				movq	%r13, 3744(%rsp)
				movq	%r14, 3752(%rsp)
				movq	%r11, 3760(%rsp)
				movq	%r12, 3768(%rsp)
				movq	%r9, 3776(%rsp)
				movq	%r10, 3784(%rsp)
				movq	%rsi, 3792(%rsp)
				movq	%rdi, 3800(%rsp)
				movq	%rax, 3808(%rsp)
				movq	%rdx, 3816(%rsp)
				movaps	%xmm7, 3824(%rsp)
				movaps	%xmm9, 3840(%rsp)
				movaps	%xmm11, 3856(%rsp)
				movaps	%xmm13, 3872(%rsp)
				movaps	%xmm15, 3888(%rsp)
				movaps	%xmm0, 3904(%rsp)
				movaps	%xmm2, 3920(%rsp)
				jmp	.L859
		.LVL871:
		.L861:
 1979       %CONSTINTEGER then = 4, else = 8, loop = 16
				leal	-180(%rbx), %eax
				cltq
				leaq	ACT.6924(%rip), %rdx
				movq	(%rdx,%rax,8), %rax
				jmp	.L860
		.LVL850:
		.L832:
 1980
 1981       %SWITCH c(0:actions), litop(1:12)
				movl	_imp_current_line(%rip), %ebp
				testl	%ebp, %ebp
				movl	$1981, %eax
				cmove	%eax, %ebp
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L898
				leaq	3936(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL872:
		.L865:
				pushq	$1818
				leaq	.LC2(%rip), %rax
				pushq	%rax
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				pushq	4200(%rsp)
				movl	%ebx, %r9d
				leaq	.LC12(%rip), %r8
				movl	%ebx, %ecx
				movl	$2, %edx
				movl	$8, %esi
				movl	%ebp, %edi
				movl	$0, %eax
				call	_signal_eventf@PLT
		.LVL873:
				addq	$272, %rsp
				jmp	.L847
		.L898:
		.LVL874:
		.LBB684:
				movabsq	$8603403804667503988, %rax
				movabsq	$4068493685302587439, %rdx
				movq	%rax, 5217(%rsp)
				movq	%rdx, 5225(%rsp)
				movabsq	$7883958449920159028, %rax
				movabsq	$482871946867, %rdx
				movq	%rax, 5233(%rsp)
				movq	%rdx, 5241(%rsp)
				movb	$0, 5249(%rsp)
				movw	$0, 5250(%rsp)
				movl	$0, 5252(%rsp)
				leaq	5256(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
				movb	$29, 5216(%rsp)
				movq	5216(%rsp), %rax
				movq	5224(%rsp), %rdx
				movq	%rax, 2912(%rsp)
				movq	%rdx, 2920(%rsp)
				movdqa	5232(%rsp), %xmm5
				movaps	%xmm5, 2928(%rsp)
				movdqa	5248(%rsp), %xmm3
				movaps	%xmm3, 2944(%rsp)
				movdqa	5264(%rsp), %xmm1
				movaps	%xmm1, 2960(%rsp)
				movq	5280(%rsp), %r13
				movq	5288(%rsp), %r14
				movq	%r13, 2976(%rsp)
				movq	%r14, 2984(%rsp)
				movq	5296(%rsp), %r11
				movq	5304(%rsp), %r12
				movq	%r11, 2992(%rsp)
				movq	%r12, 3000(%rsp)
				movq	5312(%rsp), %r9
				movq	5320(%rsp), %r10
				movq	%r9, 3008(%rsp)
				movq	%r10, 3016(%rsp)
				movq	5328(%rsp), %rsi
				movq	5336(%rsp), %rdi
				movq	%rsi, 3024(%rsp)
				movq	%rdi, 3032(%rsp)
				movq	5344(%rsp), %rax
				movq	5352(%rsp), %rdx
				movq	%rax, 3040(%rsp)
				movq	%rdx, 3048(%rsp)
				movdqa	5360(%rsp), %xmm7
				movaps	%xmm7, 3056(%rsp)
				movdqa	5376(%rsp), %xmm9
				movaps	%xmm9, 3072(%rsp)
				movdqa	5392(%rsp), %xmm11
				movaps	%xmm11, 3088(%rsp)
				movdqa	5408(%rsp), %xmm13
				movaps	%xmm13, 3104(%rsp)
				movdqa	5424(%rsp), %xmm15
				movaps	%xmm15, 3120(%rsp)
				movdqa	5440(%rsp), %xmm0
				movaps	%xmm0, 3136(%rsp)
				movdqa	5456(%rsp), %xmm2
				movaps	%xmm2, 3152(%rsp)
		.LVL875:
		.LBE684:
				movb	$29, 2912(%rsp)
				movdqa	2912(%rsp), %xmm6
				movaps	%xmm6, 3936(%rsp)
				movaps	%xmm5, 3952(%rsp)
				movaps	%xmm3, 3968(%rsp)
				movaps	%xmm1, 3984(%rsp)
				movq	%r13, 4000(%rsp)
				movq	%r14, 4008(%rsp)
				movq	%r11, 4016(%rsp)
				movq	%r12, 4024(%rsp)
				movq	%r9, 4032(%rsp)
				movq	%r10, 4040(%rsp)
				movq	%rsi, 4048(%rsp)
				movq	%rdi, 4056(%rsp)
				movq	%rax, 4064(%rsp)
				movq	%rdx, 4072(%rsp)
				movaps	%xmm7, 4080(%rsp)
				movaps	%xmm9, 4096(%rsp)
				movaps	%xmm11, 4112(%rsp)
				movaps	%xmm13, 4128(%rsp)
				movaps	%xmm15, 4144(%rsp)
				movaps	%xmm0, 4160(%rsp)
				movaps	%xmm2, 4176(%rsp)
				jmp	.L865
		.L868:
		.LVL876:
		.LBB685:
 1982
 1983       %CONSTBYTEINTEGERARRAY operator(1:14) = %C
				movb	$91, 4562(%rsp)
				movb	$93, 4563(%rsp)
				movb	$88, 4564(%rsp)
				movb	$47, 4565(%rsp)
				movb	$38, 4566(%rsp)
				movb	$33, 4567(%rsp)
				movb	$37, 4568(%rsp)
				movb	$43, 4569(%rsp)
				movb	$45, 4570(%rsp)
				movb	$42, 4571(%rsp)
				movb	$81, 4572(%rsp)
				movb	$120, 4573(%rsp)
				movb	$46, 4574(%rsp)
				movb	$118, 4575(%rsp)
 1984                          '[',  ']',  'X',  '/', '&',  '!',  '%',  '+',
				cmpl	$15, 28(%rsp)
				jbe	.L866
				movl	_imp_current_line(%rip), %ebp
				testl	%ebp, %ebp
				movl	$1984, %eax
				cmove	%eax, %ebp
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L868
				leaq	4192(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL844:
		.L869:
				pushq	$1815
				leaq	.LC2(%rip), %rax
				pushq	%rax
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				pushq	4456(%rsp)
				movl	300(%rsp), %ecx
				movl	%ecx, %r9d
				leaq	.LC13(%rip), %r8
				movl	$3, %edx
				movl	$6, %esi
				movl	%ebp, %edi
				movl	$0, %eax
				call	_signal_eventf@PLT
		.LVL845:
				addq	$272, %rsp
		.L866:
				movabsq	$8603403804667503988, %rax
				movabsq	$4068493685302587439, %rdx
				movq	%rax, 5217(%rsp)
				movq	%rdx, 5225(%rsp)
				movabsq	$7883958449920159028, %rax
				movabsq	$482871946867, %rdx
				movq	%rax, 5233(%rsp)
				movq	%rdx, 5241(%rsp)
				movb	$0, 5249(%rsp)
				movw	$0, 5250(%rsp)
				movl	$0, 5252(%rsp)
				leaq	5256(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
				movb	$29, 5216(%rsp)
				movq	5216(%rsp), %rax
				movq	5224(%rsp), %rdx
				movq	%rax, 3168(%rsp)
				movq	%rdx, 3176(%rsp)
				movdqa	5232(%rsp), %xmm5
				movaps	%xmm5, 3184(%rsp)
				movdqa	5248(%rsp), %xmm3
				movaps	%xmm3, 3200(%rsp)
				movdqa	5264(%rsp), %xmm1
				movaps	%xmm1, 3216(%rsp)
				movq	5280(%rsp), %r13
				movq	5288(%rsp), %r14
				movq	%r13, 3232(%rsp)
				movq	%r14, 3240(%rsp)
				movq	5296(%rsp), %r11
				movq	5304(%rsp), %r12
				movq	%r11, 3248(%rsp)
				movq	%r12, 3256(%rsp)
				movq	5312(%rsp), %r9
				movq	5320(%rsp), %r10
				movq	%r9, 3264(%rsp)
				movq	%r10, 3272(%rsp)
				movq	5328(%rsp), %rsi
				movq	5336(%rsp), %rdi
				movq	%rsi, 3280(%rsp)
				movq	%rdi, 3288(%rsp)
				movq	5344(%rsp), %rax
				movq	5352(%rsp), %rdx
				movq	%rax, 3296(%rsp)
				movq	%rdx, 3304(%rsp)
				movdqa	5360(%rsp), %xmm7
				movaps	%xmm7, 3312(%rsp)
				movdqa	5376(%rsp), %xmm9
				movaps	%xmm9, 3328(%rsp)
				movdqa	5392(%rsp), %xmm11
				movaps	%xmm11, 3344(%rsp)
				movdqa	5408(%rsp), %xmm13
				movaps	%xmm13, 3360(%rsp)
				movdqa	5424(%rsp), %xmm15
				movaps	%xmm15, 3376(%rsp)
				movdqa	5440(%rsp), %xmm0
				movaps	%xmm0, 3392(%rsp)
				movdqa	5456(%rsp), %xmm2
				movaps	%xmm2, 3408(%rsp)
		.LVL877:
		.LBE685:
				movb	$29, 3168(%rsp)
				movdqa	3168(%rsp), %xmm4
				movaps	%xmm4, 4192(%rsp)
				movaps	%xmm5, 4208(%rsp)
				movaps	%xmm3, 4224(%rsp)
				movaps	%xmm1, 4240(%rsp)
				movq	%r13, 4256(%rsp)
				movq	%r14, 4264(%rsp)
				movq	%r11, 4272(%rsp)
				movq	%r12, 4280(%rsp)
				movq	%r9, 4288(%rsp)
				movq	%r10, 4296(%rsp)
				movq	%rsi, 4304(%rsp)
				movq	%rdi, 4312(%rsp)
				movq	%rax, 4320(%rsp)
				movq	%rdx, 4328(%rsp)
				movaps	%xmm7, 4336(%rsp)
				movaps	%xmm9, 4352(%rsp)
				movaps	%xmm11, 4368(%rsp)
				movaps	%xmm13, 4384(%rsp)
				movaps	%xmm15, 4400(%rsp)
				movaps	%xmm0, 4416(%rsp)
				movaps	%xmm2, 4432(%rsp)
				jmp	.L869
		.L870:
 1985                          '-',  '*',  'Q',  'x', '.',  'v'
				movslq	28(%rsp), %rax
				leaq	PACTION.6929(%rip), %rdx
				movq	(%rdx,%rax,8), %rax
		.LVL846:
		.L860:
				jmp	*%rax
		.LVL847:
		.L834:
 1986
 1987       %CONSTBYTEINTEGERARRAY cc(0 : 7) = '#','=',')','<','(','>', 'k','t'
				movb	$35, 4554(%rsp)
				movb	$61, 4555(%rsp)
				movb	$41, 4556(%rsp)
				movb	$60, 4557(%rsp)
				movb	$40, 4558(%rsp)
				movb	$62, 4559(%rsp)
				movb	$107, 4560(%rsp)
				movb	$116, 4561(%rsp)
				movl	_imp_current_line(%rip), %ebx
		.LVL878:
				testl	%ebx, %ebx
				movl	$1987, %eax
				cmove	%eax, %ebx
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L872
				leaq	5216(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL879:
		.L873:
				pushq	$1815
				leaq	.LC2(%rip), %rax
				pushq	%rax
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				pushq	5480(%rsp)
				movl	300(%rsp), %ecx
				movl	%ecx, %r9d
				leaq	.LC14(%rip), %r8
				movl	$2, %edx
				movl	$8, %esi
				movl	%ebx, %edi
				movl	$0, %eax
				call	_signal_eventf@PLT
		.LVL880:
				addq	$272, %rsp
				jmp	.L802
		.L872:
		.LVL881:
		.LBB686:
				movabsq	$8603403804667503988, %rax
				movabsq	$4068493685302587439, %rdx
				movq	%rax, 5217(%rsp)
				movq	%rdx, 5225(%rsp)
				movabsq	$7883958449920159028, %rax
				movabsq	$482871946867, %rdx
				movq	%rax, 5233(%rsp)
				movq	%rdx, 5241(%rsp)
				movb	$0, 5249(%rsp)
				movw	$0, 5250(%rsp)
				movl	$0, 5252(%rsp)
				leaq	5256(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
				movb	$29, 5216(%rsp)
				movq	5216(%rsp), %rax
				movq	5224(%rsp), %rdx
				movq	%rax, 3424(%rsp)
				movq	%rdx, 3432(%rsp)
				movq	5232(%rsp), %rax
				movq	5240(%rsp), %rdx
				movq	%rax, 3440(%rsp)
				movq	%rdx, 3448(%rsp)
				movq	5248(%rsp), %rax
				movq	5256(%rsp), %rdx
				movq	%rax, 3456(%rsp)
				movq	%rdx, 3464(%rsp)
				movq	5264(%rsp), %rax
				movq	5272(%rsp), %rdx
				movq	%rax, 3472(%rsp)
				movq	%rdx, 3480(%rsp)
				movq	5280(%rsp), %rax
				movq	5288(%rsp), %rdx
				movq	%rax, 3488(%rsp)
				movq	%rdx, 3496(%rsp)
				movq	5296(%rsp), %rax
				movq	5304(%rsp), %rdx
				movq	%rax, 3504(%rsp)
				movq	%rdx, 3512(%rsp)
				movq	5312(%rsp), %rax
				movq	5320(%rsp), %rdx
				movq	%rax, 3520(%rsp)
				movq	%rdx, 3528(%rsp)
				movq	5328(%rsp), %rax
				movq	5336(%rsp), %rdx
				movq	%rax, 3536(%rsp)
				movq	%rdx, 3544(%rsp)
				movq	5344(%rsp), %rax
				movq	5352(%rsp), %rdx
				movq	%rax, 3552(%rsp)
				movq	%rdx, 3560(%rsp)
				movq	5360(%rsp), %rax
				movq	5368(%rsp), %rdx
				movq	%rax, 3568(%rsp)
				movq	%rdx, 3576(%rsp)
				movq	5376(%rsp), %rax
				movq	5384(%rsp), %rdx
				movq	%rax, 3584(%rsp)
				movq	%rdx, 3592(%rsp)
				movq	5392(%rsp), %rax
				movq	5400(%rsp), %rdx
				movq	%rax, 3600(%rsp)
				movq	%rdx, 3608(%rsp)
				movq	5408(%rsp), %rax
				movq	5416(%rsp), %rdx
				movq	%rax, 3616(%rsp)
				movq	%rdx, 3624(%rsp)
				movq	5424(%rsp), %rax
				movq	5432(%rsp), %rdx
				movq	%rax, 3632(%rsp)
				movq	%rdx, 3640(%rsp)
				movq	5440(%rsp), %rax
				movq	5448(%rsp), %rdx
				movq	%rax, 3648(%rsp)
				movq	%rdx, 3656(%rsp)
				movq	5456(%rsp), %rax
				movq	5464(%rsp), %rdx
				movq	%rax, 3664(%rsp)
				movq	%rdx, 3672(%rsp)
		.LVL882:
		.LBE686:
				movb	$29, 3424(%rsp)
				movq	3424(%rsp), %rax
				movq	3432(%rsp), %rdx
				movq	%rax, 5216(%rsp)
				movq	%rdx, 5224(%rsp)
				jmp	.L873
		.LVL883:
		.L822:
 1988
				movq	5736(%rsp), %rax
				xorq	%fs:40, %rax
				jne	.L897
				addq	$5752, %rsp
				popq	%rbx
				popq	%rbp
				popq	%r12
				popq	%r13
				popq	%r14
				popq	%r15
				ret
		.L895:
				call	__stack_chk_fail@PLT
		.LVL887:
		.LFE198:
		COMPILEBLOCK.6654:
		.LFB191:
 1989       %CONSTBYTEINTEGERARRAY anyform(0:15) = 1,0,1,1(4),1,0,1,1,0,1,1,1,1
				movb	$1, 4576(%rsp)
				movb	$0, 4577(%rsp)
				movb	$1, 4578(%rsp)
				movb	$1, 4579(%rsp)
				movb	$1, 4580(%rsp)
				movb	$1, 4581(%rsp)
				movb	$1, 4582(%rsp)
				movb	$1, 4583(%rsp)
				movb	$0, 4584(%rsp)
				movb	$1, 4585(%rsp)
				movb	$1, 4586(%rsp)
				movb	$0, 4587(%rsp)
				movb	$1, 4588(%rsp)
				movb	$1, 4589(%rsp)
				movb	$1, 4590(%rsp)
				movb	$1, 4591(%rsp)
 1990
 1991       %CONSTSHORTINTEGERARRAY decmap(0:15) = %C
				movw	$1, 160(%rsp)
				movw	$2, 162(%rsp)
				movw	$4107, 164(%rsp)
				movw	$4109, 166(%rsp)
				movw	$5132, 168(%rsp)
				movw	$5134, 170(%rsp)
				movw	$3, 172(%rsp)
				movw	$4, 174(%rsp)
				movw	$4103, 176(%rsp)
				movw	$4104, 178(%rsp)
				movw	$4105, 180(%rsp)
				movw	$4106, 182(%rsp)
				movw	$6, 184(%rsp)
				movw	$0, 186(%rsp)
				movw	$0, 188(%rsp)
				movw	$0, 190(%rsp)
 1992          1,             2,
 1993          x'100B',       x'100D',       x'140C',      x'140E',
 1994          3,             4,
 1995          x'1007',       x'1008',       x'1009',      x'100A',
 1996          6,             0,             0,            0
 1997       %OWNBYTEINTEGERARRAY cnest(0:15)
 1998       %INTEGER lmode, clab, dupid
 1999       %INTEGER resln
 2000       %OWNINTEGER last def = 0
 2001       %OWNINTEGER lb, ub
 2002       %INTEGER cp, ord
 2003       %INTEGER next, link, j, k, n, done
 2004       %INTEGER class
 2005       %INTEGER lit2, defs, decs, cident
 2006       %INTEGER pending;  %OWNINTEGERARRAY pstack(1:40)
 2007       %OWNSTRING(8) name = ""
 2008       %OWNINTEGER count = 0
 2009
 2010       %ROUTINE def lab(%INTEGER l)
		.LVL9:
				pushq	%rbx
				movl	%edi, %esi
				movq	%r10, %rbx
 2011          op(':', l)
				movq	(%r10), %rax
				movq	8(%rax), %r10
				movl	$58, %edi
		.LVL10:
				call	OP.6644
		.LVL11:
 2012          access = 1
				movq	(%rbx), %rax
				movl	$1, 36(%rax)
 2013       %END
 2014
				popq	%rbx
				ret
		.LFE210:
		POPLIT.7673:
		.LFB219:
 2015       %ROUTINE get next
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbx
				subq	$1304, %rsp
				movq	%fs:40, %rax
				movq	%rax, 1288(%rsp)
				xorl	%eax, %eax
				movl	X.6441(%rip), %ecx
				movl	$0, %edx
				movl	$0, %r9d
				movl	$1, %r8d
		.L329:
 2016          %RECORD(arfm)%NAME p
 2017 gn:      %IF next = 0 %START;                        !end of phrase
 2018             class = 0 %AND %RETURN %IF link = 0;     !end of statement
				cmpl	$0, 36(%r10)
				jne	.L330
				movl	32(%r10), %eax
				testl	%eax, %eax
				je	.L347
		.L331:
		.LVL304:
 2019             p == ar(link)
				movq	(%r10), %rdx
				cltq
		.LVL305:
				salq	$4, %rax
				addq	8(%rdx), %rax
				movl	$0, 28(%r10)
 2020             next = p_link
				movswl	13016(%rax), %edx
				movl	%edx, 36(%r10)
		.LVL306:
				jmp	.L328
		.L349:
				movl	%ecx, X.6441(%rip)
				jmp	.L332
		.LVL309:
		.L348:
				movl	%eax, X.6441(%rip)
				jmp	.L335
		.LVL310:
		.L339:
 2021             link = p_sub
				movswl	13014(%rax), %eax
				movl	%eax, 32(%r10)
		.L330:
 2022          %FINISH
 2023          %CYCLE
 2024             p == ar(next)
				movl	36(%r10), %edx
				leal	-1(%rdx), %ecx
				movq	(%r10), %rax
				movq	8(%rax), %rdi
		.LVL307:
				movslq	%edx, %rdx
				salq	$4, %rdx
				addq	%rdi, %rdx
				leal	-1(%rax), %ecx
				movq	(%r10), %rdx
				movq	8(%rdx), %rdi
		.LVL311:
				movslq	%eax, %rdx
				salq	$4, %rdx
				addq	%rdi, %rdx
 2025             x = p_sub
				movswl	13014(%rdx), %eax
				movswl	13014(%rdx), %eax
 2026             class = p_class
				movswl	13012(%rdx), %edx
				movl	%edx, 28(%r10)
				movswl	13012(%rdx), %edx
				movl	%edx, 28(%r10)
 2027             %EXIT %IF class < actions;               !an atom
				cmpl	$179, %edx
				jle	.L348
				cmpl	$179, %edx
				jle	.L350
		.L338:
 2028             %IF x = 0 %START;                        !null phrase
				testl	%eax, %eax
				jne	.L336
		.LVL308:
		.L337:
				testl	%eax, %eax
				je	.L337
		.LVL312:
		.L336:
				movslq	%ecx, %rcx
		.LVL313:
				salq	$4, %rcx
		.LVL314:
				addq	%rcx, %rdi
 2029                next = p_link;  ->gn
				movslq	%ecx, %rcx
				addq	$814, %rcx
				salq	$4, %rcx
				movswl	8(%rdi,%rcx), %eax
				movl	%eax, 36(%r10)
				movl	%r9d, %ecx
				movl	%r8d, %edx
 2030             %FINISH
				jmp	.L329
		.L347:
				testb	%dl, %dl
				jne	.L349
		.L332:
 2031             %IF p_link # 0 %START;                   !follow a phrase
				cmpw	$0, 13032(%rdi)
				je	.L339
 2032                p_sub = link;  link = next
				movl	32(%r10), %edx
				movw	%dx, 13030(%rdi)
 2033             %FINISH
				movl	36(%r10), %edx
				movl	%edx, 32(%r10)
				jmp	.L339
		.LVL315:
		.L350:
				movl	%eax, X.6441(%rip)
		.LVL316:
		.L335:
 2034             next = x
				movl	%eax, 36(%r10)
 2035          %REPEAT
 2036          next = p_link
				movslq	%ecx, %rcx
				addq	$814, %rcx
				salq	$4, %rcx
				movswl	8(%rdi,%rcx), %eax
				movl	%eax, 36(%r10)
 2037          %IF diag&2 # 0 %START
 2038             spaces(8-length(name)) %UNLESS name = ""
 2039             name = text(class)
 2040             write(x, 2)
				movq	%rsp, %rsi
				leaq	NAME.7570(%rip), %rdi
				call	_imp_strcmp@PLT
		.LVL317:
				testl	%eax, %eax
				jne	.L351
		.L340:
				movl	$2, %esi
				movl	X.6441(%rip), %edi
				call	_imp_writeint@PLT
		.LVL319:
		.LBB392:
		.LBB393:
				call	_imp_space@PLT
		.LVL320:
				movdqa	512(%rsp), %xmm0
				movaps	%xmm0, 1024(%rsp)
				movdqa	528(%rsp), %xmm1
				movaps	%xmm1, 1040(%rsp)
				movdqa	544(%rsp), %xmm2
				movaps	%xmm2, 1056(%rsp)
				movdqa	560(%rsp), %xmm3
				movaps	%xmm3, 1072(%rsp)
				movdqa	576(%rsp), %xmm4
				movaps	%xmm4, 1088(%rsp)
				movdqa	592(%rsp), %xmm5
				movaps	%xmm5, 1104(%rsp)
				movdqa	608(%rsp), %xmm6
				movaps	%xmm6, 1120(%rsp)
				movdqa	624(%rsp), %xmm7
				movaps	%xmm7, 1136(%rsp)
				movdqa	640(%rsp), %xmm0
				movaps	%xmm0, 1152(%rsp)
				movdqa	656(%rsp), %xmm1
				movaps	%xmm1, 1168(%rsp)
				movq	672(%rsp), %r13
				movq	680(%rsp), %r14
				movq	%r13, 1184(%rsp)
				movq	%r14, 1192(%rsp)
				movq	688(%rsp), %rax
				movq	696(%rsp), %rdx
				movq	%rax, 1200(%rsp)
				movq	%rdx, 1208(%rsp)
				movq	704(%rsp), %rsi
				movq	712(%rsp), %rdi
				movq	%rsi, 1216(%rsp)
				movq	%rdi, 1224(%rsp)
				movq	720(%rsp), %r9
				movq	728(%rsp), %r10
				movq	%r9, 1232(%rsp)
				movq	%r10, 1240(%rsp)
				movq	736(%rsp), %rcx
				movq	744(%rsp), %rbx
				movq	%rcx, 1248(%rsp)
				movq	%rbx, 1256(%rsp)
				movq	752(%rsp), %r11
				movq	760(%rsp), %r12
				movq	%r11, 1264(%rsp)
				movq	%r12, 1272(%rsp)
		.LBE393:
		.LBE392:
		.LBB394:
		.LBB395:
				pushq	%r12
				pushq	%r11
				pushq	%rbx
				pushq	%rcx
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				pushq	760(%rsp)
				call	_imp_printstring@PLT
		.LVL321:
		.LBE395:
		.LBE394:
		.LBB396:
		.LBB397:
				addq	$256, %rsp
				call	_imp_space@PLT
		.LVL322:
		.LBE397:
		.LBE396:
 2041             space
				leaq	256(%rsp), %rsi
				movl	$8, %edx
				leaq	NAME.7570(%rip), %rdi
				call	_imp_strncpy@PLT
		.LVL318:
 2042             printstring(name)
 2043             space
				movzbl	NAME.7570(%rip), %eax
				movl	$8, %edi
				subl	%eax, %edi
		.LVL324:
		.LBB398:
		.LBB399:
				call	_imp_spaces@PLT
		.LVL325:
				jmp	.L340
		.L341:
		.LBE399:
		.LBE398:
 2044             count = count-1
				movl	COUNT.7571(%rip), %eax
				subl	$1, %eax
				movl	%eax, COUNT.7571(%rip)
		.L333:
		.L342:
		.L328:
 2045             %IF count <= 0 %START
				testl	%eax, %eax
				jle	.L341
 2046                count = 5
				movl	$5, COUNT.7571(%rip)
		.LVL326:
 2047                name = ""
 2048                newline
 2049             %FINISH
				leaq	768(%rsp), %rsi
				movl	$8, %edx
				leaq	NAME.7570(%rip), %rdi
				call	_imp_strncpy@PLT
		.LVL327:
		.LBB400:
		.LBB401:
				call	_imp_newline@PLT
		.LVL328:
				jmp	.L328
		.L352:
		.LBE401:
		.LBE400:
 2050          %FINISH
 2051       %END
 2052
				movq	1288(%rsp), %rax
				xorq	%fs:40, %rax
				jne	.L352
				addq	$1304, %rsp
				popq	%rbx
				popq	%r12
				popq	%r13
				popq	%r14
				ret
		.L351:
		.LVL323:
				call	__stack_chk_fail@PLT
		.LVL329:
		.LFE211:
		SETSUBS.7601:
		.LFB212:
 2053       %ROUTINE set subs(%INTEGER n)
		.LVL330:
				subq	$8, %rsp
		.LVL335:
		.LBB402:
		.LBB403:
				movl	$0, %edi
				call	exit@PLT
		.LVL336:
		.L354:
		.L353:
				rep ret
		.LBE403:
		.LBE402:
		.LFE212:
				.section	.rodata.str1.8
				.align 8
		.LC6:
				.string	"switch jump to undefined label FM(%d): at %s line %d"
		FAULT.6680:
		.LFB192:
 2054
 2055          !update the app field in n array descriptors
 2056
 2057          %INTEGER p
 2058          p = tmax
				movq	(%r10), %rcx
				movl	64(%rcx), %edx
		.LVL331:
 2059          %WHILE n > 0 %CYCLE
 2060 !IMP80 BUG???              %SIGNAL 15,15 %IF p < tbase
				testl	%edi, %edi
				jle	.L353
				cmpl	%edx, %esi
				je	.L353
 2061             %STOP %IF p < tbase
				cmpl	68(%rcx), %edx
				jl	.L356
		.LVL332:
		.L357:
				movq	(%r10), %rcx
				cmpl	%edx, 68(%rcx)
				jle	.L357
		.LVL334:
		.L356:
 2062             tag(p)_app = dimension
				movl	DIMENSION.6510(%rip), %r8d
				movl	%edx, %esi
				subl	%edi, %esi
				movslq	%edx, %rax
				addq	$13, %rax
				salq	$4, %rax
				addq	8(%rcx), %rax
				movl	%r8d, 4(%rax)
 2063             p = p-1;  n = n-1
				subl	$1, %edx
		.LVL333:
		.LDL18:
 2064          %REPEAT
 2065       %END
 2066
 2067       %ROUTINE set bp
				pushq	%rbx
				movq	%r10, %rbx
 2068
 2069          !define a constant bound pair from the last stacked constants
 2070
 2071          pending = pending-2
				movl	24(%r10), %eax
				leal	-2(%rax), %edx
				movl	%edx, 24(%r10)
 2072          lb = pstack(pending+1);  ub = pstack(pending+2)
				leaq	PSTACK.7569(%rip), %rcx
				movslq	%edx, %rdx
				movl	(%rcx,%rdx,4), %edx
				movl	%edx, LB.7553(%rip)
 2073          %IF ub-lb+1 < 0 %START
				subl	$1, %eax
				cltq
				movl	(%rcx,%rax,4), %eax
				movl	%eax, UB.7554(%rip)
				subl	%edx, %eax
				addl	$1, %eax
				js	.L423
		.L420:
 2074             pos1 = 0;  next = link;  fault(11)
				movl	$0, POS1.6507(%rip)
 2075             ub = lb
				movl	32(%r10), %eax
				movl	%eax, 36(%r10)
				movl	LB.7553(%rip), %eax
				movl	%eax, UB.7554(%rip)
				jmp	.L420
		.LFE213:
		DEFSLAB.7650:
		.LFB216:
 2076          %FINISH
				movq	(%r10), %r10
				movl	$11, %edi
				call	FAULT.6680
		.LVL390:
 2077          set const(lb);  set const(ub)
				movq	(%rbx), %rax
				movq	8(%rax), %r10
				movl	LB.7553(%rip), %edi
				call	SETCONST.6647
		.LVL388:
 2078          bp=bp+1 %AND buff(bp)='b' %UNLESS class = 146
				movq	(%rbx), %rax
				movq	8(%rax), %r10
				movl	UB.7554(%rip), %edi
				call	SETCONST.6647
		.LVL389:
				cmpl	$146, 28(%rbx)
				je	.L419
 2079       %END
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2080
				movq	(%rbx), %rdx
				movq	8(%rdx), %rdx
				cltq
				movb	$98, 104710(%rdx,%rax)
		.L421:
		.L419:
				popq	%rbx
				ret
		.L423:
 2081       %ROUTINE compile end(%INTEGER type)
 2082
 2083          ! type = 0:eof, 1:eop, 2:end
 2084
 2085          %IF access # 0 %START
				movq	112(%rsp), %r10
				cmpl	$0, 36(%r10)
				jne	.L579
		.L582:
 2086             open = 0
				movl	$0, 32(%r10)
 2087             fault(19) %IF block form > proc;           !can reach end
				cmpl	$7, 48(%r10)
				jle	.L582
 2088          %FINISH
				movl	$19, %edi
				call	FAULT.6680
		.LVL552:
				jmp	.L582
		.L774:
 2089
 2090          %WHILE dict(dmin) >= 0 %CYCLE;                !finishes & repeats
 2091             fault(17+dict(dmin)&1)
				movq	112(%rsp), %r10
				movq	8(%r10), %rdx
				movl	52(%r10), %eax
				subl	$1, %eax
				cltq
				movzwl	26836(%rdx,%rax,2), %eax
				testw	%ax, %ax
				js	.L580
		.L581:
				andl	$1, %eax
				leal	17(%rax), %edi
				call	FAULT.6680
		.LVL546:
				movq	8(%r10), %rdx
				cltq
				movzwl	26836(%rdx,%rax,2), %eax
				testw	%ax, %ax
				jns	.L581
		.L580:
 2092             dmin = dmin+1
				movq	112(%rsp), %r10
				movl	52(%r10), %eax
				leal	1(%rax), %edx
				movl	%edx, 52(%r10)
 2093          %REPEAT
 2094          {delete names(0)}
 2095          bp=bp+1 %AND buff(bp)=';'
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %ecx
				movl	%ecx, BP.6528(%rip)
 2096          bp=bp+1 %AND buff(bp)=';' %IF type = 1;       !endofprogram
				movslq	%eax, %rsi
				movb	$59, 104710(%rdx,%rsi)
				cmpl	$1, %ebx
				je	.L774
		.L583:
 2097
				addl	$2, %eax
				movl	%eax, BP.6528(%rip)
 2098          bflags = bflags!open;                         !show if it returns
				movq	(%r10), %rax
				movl	32(%r10), %edx
				orw	%dx, (%rax)
				movq	8(%r10), %rax
				movslq	%ecx, %rcx
				movb	$59, 104710(%rax,%rcx)
				movq	(%r10), %rax
				movl	32(%r10), %edx
				orw	%dx, (%rax)
 2099
 2100          def lab(0) %IF block tag # 0 %AND level # 1;  !for jump around
				movq	112(%rsp), %rax
				cmpl	$0, 28(%rax)
				je	.L586
				movq	112(%rsp), %rax
				cmpl	$0, 28(%rax)
				je	.L584
 2101          %IF type # 2 %START;                          !eop, eof
				cmpl	$1, 60(%rax)
				jne	.L728
		.L455:
		.L726:
				cmpl	$2, %ebx
				je	.L591
				jmp	.L584
		.LVL547:
		.L773:
		.LBE537:
		.LBE536:
				cmpl	$1, 60(%rax)
				je	.L584
		.L728:
				cmpl	$2, %ebx
				je	.L588
		.L584:
 2102             fault(16) %IF level # type;                !end missing
				leaq	112(%rsp), %r10
				movl	$0, %edi
				call	DEFLAB.7573
		.LVL553:
		.L586:
				movq	112(%rsp), %r10
				cmpl	60(%r10), %ebx
				jne	.L775
		.L589:
		.L590:
		.L591:
 2103          %FINISH %ELSE %START
				movl	$16, %edi
				call	FAULT.6680
		.LVL554:
				jmp	.L591
		.L588:
 2104             %IF level = 0 %START
				movq	112(%rsp), %r10
				cmpl	$0, 60(%r10)
				jne	.L591
 2105                fault(15);                              !spurious end
				movl	$15, %edi
				call	FAULT.6680
		.LVL555:
				jmp	.L591
		.LVL556:
		.L592:
		.LDL26:
		.LDL27:
		.LDL28:
		.LBE538:
		.LBE541:
 2106             %FINISH
 2107          %FINISH
 2108
 2109          end mark = 11;               !******Mouses specific******
				movl	$11, ENDMARK.6462(%rip)
				jmp	.L431
		.L775:
 2110       %END
 2111
 2112       %ROUTINE def(%INTEGER p)
		.LVL90:
				pushq	%r15
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$24, %rsp
				movl	%edi, %ebp
				movq	%r10, %r12
 2113
 2114          !dump a descriptor
 2115
 2116          %INTEGER t, f, type
 2117          %RECORD(tagfm)%NAME v
 2118          flush buffer %if bp # 0
				cmpl	$0, BP.6528(%rip)
				jne	.L90
		.LVL91:
		.L74:
 2119          defs = defs+1
				addl	$1, 20(%r12)
				movq	(%r10), %rax
				movq	8(%rax), %r10
				call	FLUSHBUFFER.6538
		.LVL113:
				jmp	.L74
		.LVL114:
		.L91:
 2120          v == tag(p)
				movq	(%r12), %rax
		.LVL92:
				movslq	%ebp, %rbx
		.LVL93:
				salq	$4, %rbx
		.LVL94:
				addq	8(%rax), %rbx
 2121          t = 0
				movl	$0, %esi
 2122          %UNLESS v_index < 0 %START;                   !no index for subnames
				movzwl	222(%rbx), %edx
				testw	%dx, %dx
				js	.L75
 2123             id = id+1 %AND v_index = id %IF v_index = 0
				testw	%dx, %dx
				jne	.L76
 2124             last def = v_index
				addl	$1, 56(%rax)
				movswl	222(%rbx), %esi
		.LVL96:
		.L75:
 2125             t = last def
				movq	(%r12), %rax
		.LVL95:
				movl	56(%rax), %eax
				movw	%ax, 222(%rbx)
		.L76:
 2126          %FINISH
 2127          op('$', t)
				movq	(%r12), %rax
				movq	8(%rax), %r10
				movl	$36, %edi
				call	OP.6644
		.LVL97:
 2128          print ident(p, 1);                            !output the name
				movq	(%r12), %rax
				movq	8(%rax), %r10
				movl	$1, %esi
				movl	%ebp, %edi
				call	PRINTIDENT.6551
		.LVL98:
 2129          t = v_flags
				movzwl	220(%rbx), %ebp
		.LVL99:
		.LDL5:
				movl	%ebp, %r13d
				andl	$15, %r13d
 2130          type = t
 2131          type = type&(\(7<<4)) %IF type&(7<<4) >= 6<<4;!routine & pred
 2132          op(',', type&b'1111111');             !type & form
				movswl	%r13w, %r15d
				movq	(%r12), %rax
				movq	8(%rax), %r10
				movl	%r15d, %esi
				movl	$44, %edi
				call	OP.6644
		.LVL100:
 2133          f = v_format
				movl	216(%rbx), %esi
		.LVL101:
 2134          f = tag(f)_index %IF t&x'70' = record<<4
				movl	%ebp, %eax
				andw	$1, %ax
				movw	%ax, 14(%rsp)
				jne	.L77
 2135          f = v_index %IF f < 0
				movq	(%r12), %rax
				movslq	%esi, %rsi
		.LVL102:
				addq	$13, %rsi
				salq	$4, %rsi
				addq	8(%rax), %rsi
				movswl	14(%rsi), %esi
		.LVL103:
		.L77:
				testl	%esi, %esi
				js	.L91
		.L78:
 2136          op(',', f);               !format
				movq	(%r12), %rax
				movq	8(%rax), %r10
				movl	$44, %edi
				call	OP.6644
		.LVL104:
				movswl	222(%rbx), %esi
		.LVL115:
				jmp	.L78
		.LVL116:
		.L92:
 2137          f = otype+t>>4&b'1111000'
				movl	OTYPE.6471(%rip), %r14d
				shrl	$4, %ebp
		.LVL105:
				andl	$120, %ebp
				addl	%r14d, %ebp
		.LVL106:
 2138          f = f!8 %IF class = 125;              !add spec from %DUP
				cmpl	$125, 28(%r12)
				je	.L92
		.L79:
 2139          dim = v_app;                          !dimension
				movl	212(%rbx), %esi
		.LVL107:
		.LBB335:
				cmpl	$5, %eax
				movl	$0, %eax
				cmova	%eax, %esi
		.LVL108:
				movl	%esi, DIM.6466(%rip)
		.L81:
				orl	$8, %ebp
		.LVL117:
				jmp	.L79
		.LVL118:
		.L93:
 2140          dim = 0 %unless 0 < dim <= dim limit
 2141          op(',', f+dim<<8);                    !otype & spec & prot
				sall	$8, %esi
				addl	%ebp, %esi
				movq	(%r12), %rax
				movq	8(%rax), %r10
				movl	$44, %edi
				call	OP.6644
		.LVL109:
 2142          defs = 0 %IF t&parameters = 0
				cmpw	$0, 14(%rsp)
				jne	.L82
		.L80:
 2143          f = t&15
				movl	$0, 20(%r12)
		.L82:
		.LVL110:
		.LBB336:
 2144          %IF v_flags&spec # 0 %START
 2145             v_flags = v_flags&(\spec) %UNLESS 3 <= f <= 10
				leal	-1(%rsi), %eax
		.LBE335:
 2146             ocount = -1;                       !external specs have no constants
				movl	$-1, OCOUNT.6500(%rip)
		.LDL6:
 2147          %FINISH
 2148          dimension = 0
				movl	$0, DIMENSION.6510(%rip)
 2149          %if otype = 2 %and (f=2 %or f=12 %or f=14) %start
				cmpl	$2, %r14d
				je	.L93
		.L85:
		.L73:
 2150             v_flags = v_flags-1;               !convert to simple
				movswl	%r13w, %r13d
				subl	$3, %r13d
				cmpl	$7, %r13d
				jbe	.L83
		.L84:
		.LBE336:
				cmpl	$2, %r15d
				sete	%al
				subw	$1, 220(%rbx)
 2151          %finish
				cmpl	$12, %r15d
				sete	%dl
 2152       %END
				orb	%al, %dl
				jne	.L87
				cmpl	$14, %r15d
				jne	.L73
		.L87:
				jmp	.L73
		.LFE215:
		LOOKUP.7015:
		.LFB205:
 2153
				andw	$-129, 220(%rbx)
		.L83:
				addq	$24, %rsp
				popq	%rbx
				popq	%rbp
				popq	%r12
				popq	%r13
				popq	%r14
				popq	%r15
		.LVL111:
				ret
		.LVL112:
		.L90:
 2154       %ROUTINE def s lab(%INTEGER n)
		.LVL391:
				pushq	%rbp
				pushq	%rbx
				subq	$8, %rsp
				movq	%r10, %rbx
 2155
 2156          !define a switch label, x defines the switch tag
 2157
 2158          %INTEGER p, l, b, w, bit
 2159          p = tag(x)_format;                               !pointer to table
				movl	X.6441(%rip), %ebp
				movq	(%r10), %r10
				movq	8(%r10), %rdx
				movslq	%ebp, %rax
				addq	$13, %rax
				salq	$4, %rax
				movl	8(%rdx,%rax), %esi
		.LVL392:
				movslq	%esi, %rax
				leaq	(%rdx,%rax,2), %rcx
 2160          l = dict(p);                                     !lower bound
				movswl	26834(%rcx), %eax
		.LVL393:
		.LBB480:
 2161          %IF l <= n <= dict(p+1) %START
 2162             b = n-l
				movl	%edi, %ecx
				subl	%eax, %ecx
				movl	%ecx, %eax
		.LVL394:
 2163             w = b>>4+p
				shrl	$4, %eax
		.LVL396:
				addl	%esi, %eax
		.LVL397:
				cltq
				leaq	(%rdx,%rax,2), %rdx
		.LVL398:
 2164             bit = 1<<(b&15)
				cmpl	%edi, %eax
				jg	.L425
				andl	$15, %ecx
				movl	$1, %r8d
				sall	%cl, %r8d
				movl	%r8d, %ecx
		.LVL395:
 2165             %IF dict(w+2)&bit # 0 %START;                 !already set
				movzwl	26838(%rdx), %eax
		.LVL399:
				testl	%r8d, %r8d
				sete	%r8b
				movzbl	%r8b, %r8d
				movswl	%ax, %esi
		.LVL400:
				testl	%esi, %r8d
				jne	.L426
 2166                fault(4) %IF pending # 0
				movswl	26836(%rcx), %ecx
				cmpl	%edi, %ecx
				jl	.L425
		.LBE480:
				cmpl	$0, 24(%rbx)
				je	.L424
 2167                %RETURN
				movl	$4, %edi
		.LVL401:
				call	FAULT.6680
		.LVL402:
				jmp	.L424
		.LVL403:
		.L426:
 2168             %FINISH
 2169             dict(w+2) <- dict(w+2)!bit %IF pending # 0
				cmpl	$0, 24(%rbx)
				je	.L428
 2170             set const(n)
				orl	%eax, %ecx
		.LVL404:
				movw	%cx, 26838(%rdx)
		.LVL405:
		.L428:
				movq	(%rbx), %rax
				movq	8(%rax), %r10
				call	SETCONST.6647
		.LVL406:
 2171             op('_', tag(x)_index)
				movq	(%rbx), %rax
				movq	8(%rax), %r10
				movslq	%ebp, %rbp
				addq	$13, %rbp
				salq	$4, %rbp
				movswl	14(%r10,%rbp), %esi
				movl	$95, %edi
				call	OP.6644
		.LVL407:
 2172          %FINISH %ELSE %START
				jmp	.L429
		.LVL408:
		.L425:
 2173             fault(12)
				movl	$12, %edi
		.LVL409:
				call	FAULT.6680
		.LVL410:
		.L429:
 2174          %FINISH
 2175          access = 1
				movq	(%rbx), %rax
				movl	$1, 36(%rax)
		.L427:
		.L424:
 2176       %END
 2177
				addq	$8, %rsp
				popq	%rbx
				popq	%rbp
				ret
		.LFE216:
				.section	.rodata.str1.8
				.align 8
		.LC7:
				.string	"Illegal cycle J = DICT[N - 1], 1, DICT[N + 1 - 1]"
				.align 8
		.LC8:
				.string	"->C(%d) out of bounds at %s line %d"
				.align 8
		.LC9:
				.string	"switch jump to undefined label C(%d): at %s line %d"
				.align 8
		.LC10:
				.string	"->LITOP(%d) out of bounds at %s line %d"
		COMPILE.6663:
		.LFB209:
 2178       %ROUTINE call
 2179          %RECORD(tagfm)%NAME T
 2180          t == tag(x)
				movq	112(%rsp), %rax
				movq	8(%rax), %r10
		.LVL594:
				movslq	X.6441(%rip), %rbx
		.LVL595:
				salq	$4, %rbx
		.LVL596:
				addq	%r10, %rbx
 2181          op('@', t_index)
				movswl	222(%rbx), %esi
				movl	$64, %edi
				call	OP.6644
		.LVL597:
 2182          access = 0 %IF t_flags&closed # 0;                !never comes back
 2183          bp=bp+1 %AND buff(bp)='E' %IF t_app = 0;          !no parameters
				movq	112(%rsp), %rdx
				movl	$0, 36(%rdx)
		.LDL30:
				cmpl	$0, 212(%rbx)
				jne	.L746
 2184       %END
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %ecx
				movl	%ecx, BP.6528(%rip)
 2185
				movq	8(%rdx), %rdx
				cltq
				movb	$69, 104710(%rdx,%rax)
				jmp	.L746
		.LVL598:
		.L622:
				jmp	.L624
		.L623:
				jmp	.L624
		.L625:
				jmp	.L635
		.L626:
				jmp	.L635
		.L627:
				jmp	.L635
		.L628:
				jmp	.L635
		.L629:
				jmp	.L635
		.L630:
		.L635:
		.LBE545:
		.LBE544:
 2186       %ROUTINE pop def
 2187          set const(pstack(pending));  pending = pending-1
				subl	$1, %eax
				cltq
				leaq	PSTACK.7569(%rip), %rdx
				movl	(%rdx,%rax,4), %edi
				movq	112(%rsp), %rax
				movq	8(%rax), %r10
				call	SETCONST.6647
		.LVL625:
 2188       %END
				subl	$1, 136(%rsp)
		.L655:
		.LBE547:
		.LBE546:
 2189
 2190       %ROUTINE pop lit
 2191          %IF pending = 0 %THEN lit = 0 %ELSE %START
				movl	24(%r10), %eax
				testl	%eax, %eax
				je	.L15
		.L13:
 2192             lit = pstack(pending);  pending = pending-1
				subl	$1, %eax
				movslq	%eax, %rcx
				leaq	PSTACK.7569(%rip), %rdx
				movl	(%rdx,%rcx,4), %edx
				movl	%edx, LIT.6518(%rip)
				movl	$0, LIT.6518(%rip)
 2193          %FINISH
				movl	%eax, 24(%r10)
		.L14:
				ret
		.LFE219:
		PUSH.7729:
		.LFB220:
 2194       %END
 2195
				ret
		.L15:
 2196
 2197       %IF sstype < 0 %START;                       !executable statement
				cmpl	$0, SSTYPE.6498(%rip)
				js	.L754
		.L432:
		.L434:
		.L435:
 2198          %IF level = 0 %START;                     !outermost level
				cmpl	$0, 60(%r10)
				je	.L761
		.L433:
 2199             fault(13);                             !*order
				movl	$13, %edi
				call	FAULT.6680
		.LVL427:
				jmp	.L435
		.LVL428:
		.L755:
 2200          %FINISH %ELSE %START
 2201             %IF access = 0 %START
				movq	(%rsp), %rax
				cmpl	$0, 36(%rax)
				jne	.L435
 2202                access = 1;  fault(-1);             !only a warning
				movl	$1, 36(%rax)
 2203             %FINISH
				movq	%rax, %r10
				movl	$-1, %edi
				call	FAULT.6680
		.LVL426:
				jmp	.L435
		.L761:
 2204          %FINISH
 2205       %FINISH
 2206
 2207       %IF diag&2 # 0 %START
 2208          newline %IF sym # nl
				cmpl	$10, SYM.6459(%rip)
				je	.L436
		.LBB522:
		.LBB523:
				call	_imp_newline@PLT
		.LVL411:
		.L436:
		.LBE523:
		.LBE522:
		.LBB524:
 2209          printstring("ss =")
				movq	$1025536883, 4289(%rsp)
				movq	$0, 4297(%rsp)
				movb	$0, 4305(%rsp)
				movw	$0, 4306(%rsp)
				movl	$0, 4308(%rsp)
				leaq	4312(%rsp), %rdi
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
				movb	$4, 4288(%rsp)
				movq	4288(%rsp), %rax
				movq	4296(%rsp), %rdx
				movq	%rax, 192(%rsp)
				movq	%rdx, 200(%rsp)
				movdqa	4304(%rsp), %xmm6
				movaps	%xmm6, 208(%rsp)
				movdqa	4320(%rsp), %xmm0
				movaps	%xmm0, 224(%rsp)
				movdqa	4336(%rsp), %xmm1
				movaps	%xmm1, 240(%rsp)
				movdqa	4352(%rsp), %xmm2
				movaps	%xmm2, 256(%rsp)
				movdqa	4368(%rsp), %xmm3
				movaps	%xmm3, 272(%rsp)
				movdqa	4384(%rsp), %xmm4
				movaps	%xmm4, 288(%rsp)
				movdqa	4400(%rsp), %xmm5
				movaps	%xmm5, 304(%rsp)
				movdqa	4416(%rsp), %xmm7
				movaps	%xmm7, 320(%rsp)
				movdqa	4432(%rsp), %xmm6
				movaps	%xmm6, 336(%rsp)
				movdqa	4448(%rsp), %xmm0
				movaps	%xmm0, 352(%rsp)
				movq	4464(%rsp), %r13
				movq	4472(%rsp), %r14
				movq	%r13, 368(%rsp)
				movq	%r14, 376(%rsp)
				movq	4480(%rsp), %rsi
				movq	4488(%rsp), %rdi
				movq	%rsi, 384(%rsp)
				movq	%rdi, 392(%rsp)
				movq	4496(%rsp), %r9
				movq	4504(%rsp), %r10
				movq	%r9, 400(%rsp)
				movq	%r10, 408(%rsp)
				movq	4512(%rsp), %rcx
				movq	4520(%rsp), %rbx
				movq	%rcx, 416(%rsp)
				movq	%rbx, 424(%rsp)
				movq	4528(%rsp), %r11
				movq	4536(%rsp), %r12
				movq	%r11, 432(%rsp)
				movq	%r12, 440(%rsp)
		.LVL412:
				movb	$4, 192(%rsp)
				movq	192(%rsp), %rax
				movq	200(%rsp), %rdx
				movq	%rax, 4288(%rsp)
				movq	%rdx, 4296(%rsp)
		.LBE524:
		.LBB525:
		.LBB526:
				pushq	%r12
				pushq	%r11
				pushq	%rbx
				pushq	%rcx
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%r14
				pushq	%r13
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	4536(%rsp)
				pushq	%rdx
				pushq	%rax
				call	_imp_printstring@PLT
		.LVL413:
				addq	$256, %rsp
		.LBE526:
		.LBE525:
 2210          write(ss, 1)
				movl	$1, %esi
				movl	SS.6491(%rip), %edi
				call	_imp_writeint@PLT
		.LVL414:
		.LBB527:
		.LBB528:
				call	_imp_newline@PLT
		.LVL415:
		.LBE528:
		.LBE527:
 2211          newline
 2212          count = 5
				movl	$5, COUNT.7571(%rip)
		.LVL416:
 2213          name = ""
 2214       %FINISH
 2215
				leaq	448(%rsp), %rsi
				movl	$8, %edx
				leaq	NAME.7570(%rip), %rdi
				call	_imp_strncpy@PLT
		.LVL417:
		.L437:
 2216       next = ss
				movl	SS.6491(%rip), %eax
				movl	%eax, 148(%rsp)
 2217       pending = 0;  lmode = 0
				movl	$0, 136(%rsp)
 2218       link = 0;  decs = 0
				movl	$0, 120(%rsp)
				movl	$0, 144(%rsp)
		.LVL418:
 2219       defs = 0;  resln = 0;  done = 0
				movl	$0, 132(%rsp)
		.LVL419:
				movl	$0, 8(%rsp)
				movl	$0, 8(%rsp)
 2220       ord = level
				movl	$0, 24(%rsp)
		.LVL420:
		.L746:
				movq	(%rsp), %rax
				movl	60(%rax), %eax
				movl	%eax, 12(%rsp)
				movl	$0, 24(%rsp)
				jmp	.L746
		.L438:
		.L439:
		.L440:
		.L441:
		.L442:
		.L443:
		.LVL429:
		.L444:
				jmp	.L746
		.LVL430:
		.L756:
 2221       ord = 1 %IF this >= 0;                       !recordformat declarations
				cmpl	$0, THIS.6483(%rip)
				js	.L755
 2222 c(0):
				movl	$1, 12(%rsp)
 2223 top:  %IF next # link %START
 2224          get next;  ->c(class)
				movl	144(%rsp), %eax
				cmpl	%eax, 148(%rsp)
				jne	.L756
		.L446:
				leaq	112(%rsp), %r10
				call	GETNEXT.7576
		.LVL431:
 2225       %FINISH
				movl	140(%rsp), %ebx
		.LVL432:
		.LDL24:
 2226
 2227       !all done, tidy up declarations and jumps
 2228
 2229       newline %IF diag&2 # 0 %AND count # 5
 2230
				cmpl	$5, COUNT.7571(%rip)
				je	.L450
		.LBB529:
		.LBB530:
				call	_imp_newline@PLT
		.LVL421:
		.L450:
		.LBE530:
		.LBE529:
 2231       %IF lmode&(loop!then!else) # 0 %START;       !pending labels and jumps
 2232          op('B', label-1) %IF lmode&loop # 0;      !repeat
 2233          def lab(label)   %IF lmode&then # 0;      !entry from then
				movq	(%rsp), %r14
				movl	24(%r14), %ebx
				movl	%ebx, 16(%rsp)
				leal	-1(%rbx), %esi
				movq	8(%r14), %r10
				movl	$66, %edi
				call	OP.6644
		.LVL422:
		.L451:
 2234          def lab(label-1) %IF lmode&else # 0;      !entry from else
				movl	24(%r14), %edi
				leaq	112(%rsp), %rbx
				movq	%rbx, %r10
				call	DEFLAB.7573
		.LVL423:
		.L452:
 2235       %FINISH
				movl	24(%r14), %eax
				movl	%eax, 20(%rsp)
				leal	-1(%rax), %edi
				movq	%rbx, %r10
				call	DEFLAB.7573
		.LVL424:
		.L453:
		.L454:
 2236
 2237       %RETURN %IF decs = 0
				cmpl	$0, 8(%rsp)
				je	.L431
		.L456:
 2238       atom1 = error %AND %RETURN %IF atom1 # 0;    !%INTEGERROUTINE
				cmpl	$0, ATOM1.6442(%rip)
				jne	.L757
		.L457:
 2239       order = ord
				movl	12(%rsp), %eax
				movl	%eax, ORDER.6503(%rip)
				movl	$32768, ATOM1.6442(%rip)
		.L431:
 2240       decl = decl&(\15)+decmap(decl&15);           !construct declarator flags
				movl	DECL.6465(%rip), %eax
				movl	%eax, %edx
				andl	$15, %edx
				movswl	160(%rsp,%rdx,2), %edx
				andl	$-16, %eax
				addl	%edx, %eax
				movl	%eax, DECL.6465(%rip)
 2241       atom1 = atoms(decl&15);                      !generate class
				movq	(%rsp), %rbx
				movq	8(%rbx), %rcx
				movl	%eax, %edx
				andl	$15, %edx
				movzbl	38836(%rcx,%rdx), %edx
				movl	%edx, ATOM1.6442(%rip)
 2242       %IF otype # 0 %START;                        !own, const etc.
				movl	OTYPE.6471(%rip), %ecx
				testl	%ecx, %ecx
				je	.L464
 2243          atom1 = atom1+1 %IF atom1 # proc
				cmpl	$7, %edx
				je	.L459
 2244          %IF otype = 2 %START;                     !const
				addl	$1, %edx
				movl	%edx, ATOM1.6442(%rip)
		.L459:
				cmpl	$2, %ecx
				je	.L758
		.L460:
 2245             n = decl&15
 2246             %if n&1 # 0 %start
 2247                decl = decl!prot
				movl	%eax, %ecx
				orb	$33, %ch
				movl	%eax, %edx
				orb	$1, %dh
				testb	$1, %al
				movl	%ecx, %eax
		.LVL435:
				cmovne	%edx, %eax
				movl	%eax, DECL.6465(%rip)
		.LVL436:
 2248                decl = decl!const bit %IF decl&b'1111111' = iform
 2249             %finish
 2250          %else
				jmp	.L464
		.L759:
 2251             decl = decl!own bit
				orb	$2, %ah
				movl	%eax, DECL.6465(%rip)
		.L458:
		.L462:
		.L463:
		.L464:
 2252          %FINISH
 2253       %FINISH
 2254       sstype = 1 %IF sstype = 0 %AND atom1 = proc
				cmpl	$0, SSTYPE.6498(%rip)
				jne	.L465
 2255       atom1 = atom1+1 %IF decl&spec # 0;             !onto spec variant
				cmpl	$7, ATOM1.6442(%rip)
				je	.L759
		.L465:
 2256       ocount = 0 %AND cont = '+' %IF atom1 = 5;      !own array
				movl	ATOM1.6442(%rip), %eax
				addl	$1, %eax
				movl	%eax, ATOM1.6442(%rip)
		.LDL22:
				cmpl	$5, %eax
				je	.L760
		.L466:
				movl	$1, SSTYPE.6498(%rip)
				movl	$8, ATOM1.6442(%rip)
				jmp	.L466
		.L760:
 2257       %IF anyform(decl&15) = 0 %START;               !check meaningful
				movl	DECL.6465(%rip), %eax
				movl	%eax, %edx
				andl	$15, %edx
				cmpb	$0, 4576(%rsp,%rdx)
				jne	.L431
				movl	$0, OCOUNT.6500(%rip)
 2258          %IF decl>>4&7 = record %START
				testb	$16, %al
				jne	.L468
				movl	$43, CONT.6463(%rip)
				jmp	.L466
		.LVL437:
		.L471:
		.L472:
 2259             this = fdef %IF tag(fdef)_flags&spec # 0
 2260             atom1 = error+21 %IF fdef = this;        !*context for format
				movl	FDEF.6482(%rip), %eax
				movl	%eax, THIS.6483(%rip)
		.LDL23:
 2261          %FINISH
				movl	$32789, ATOM1.6442(%rip)
		.L467:
		.L468:
 2262          atom1 = error+10 %IF fdef = 0;              !*size
				cmpl	$0, FDEF.6482(%rip)
				jne	.L431
 2263       %FINISH
				movl	$32778, ATOM1.6442(%rip)
				jmp	.L431
		.LVL425:
		.L754:
 2264       %RETURN
 2265
 2266 atop:   access = 0;  ->top
 2267
				movq	(%rsp), %rax
				movl	$0, 36(%rax)
 2268 ! declarators
				jmp	.L746
		.LVL483:
		.L525:
 2269
 2270 c(88):                                                !rtype
 2271 c(28): decl = x&(\7);                                 !stype
 2272        fdef = x&7;                                    !precision
				movl	X.6441(%rip), %eax
				movl	%eax, %edx
				andl	$-8, %edx
				movl	%edx, DECL.6465(%rip)
				movl	%eax, %edx
				andl	$7, %edx
				movl	%edx, FDEF.6482(%rip)
 2273        fdef = reals ln %IF x&b'1110001' = real<<4+1;  !convert to long
				andl	$1, %eax
				movl	%eax, 8(%rsp)
		.LVL438:
				jne	.L746
 2274        decs = 1;  ->top
				movl	REALSLN.6472(%rip), %eax
				movl	%eax, FDEF.6482(%rip)
				movl	$1, 8(%rsp)
				jmp	.L746
		.LVL439:
		.L473:
		.L474:
 2275 c(34):                                                !own
 2276 c(35): otype = x;  ord = 1;  ->top;                   !external
 2277 c(152):decl = decl+x<<1;  ->top;                      !xname
				movl	X.6441(%rip), %eax
				movl	%eax, OTYPE.6471(%rip)
		.LVL440:
 2278 c(31):                                                !proc
				movl	$1, 12(%rsp)
				movl	X.6441(%rip), %eax
				addl	%eax, %eax
				addl	%eax, DECL.6465(%rip)
 2279 c(32): spec mode = level+1;                           !fn/map
				jmp	.L746
		.LVL441:
		.L475:
				jmp	.L746
		.L476:
		.L477:
 2280        decl = decl!prot %IF x = 9;                    !function
				movq	(%rsp), %rax
				movl	60(%rax), %eax
				movl	%eax, 56(%rsp)
				addl	$1, %eax
				movl	%eax, SPECMODE.6499(%rip)
				cmpl	$9, X.6441(%rip)
				je	.L763
		.L478:
		.L479:
		.LVL442:
 2281 c(29): ord = 1;                                       !array
				orl	$256, DECL.6465(%rip)
				jmp	.L479
		.L481:
 2282        dim = 0
				movl	$0, DIM.6466(%rip)
				movl	$1, 12(%rsp)
		.LVL443:
		.L480:
 2283 c(30): decl = decl+x;                                 !name
 2284        decs = 1
				movl	X.6441(%rip), %eax
				addl	%eax, DECL.6465(%rip)
		.LVL444:
				movl	$1, 8(%rsp)
 2285        ->top
				jmp	.L746
		.LVL445:
		.L763:
 2286 c(27): lit = 0;                                       ! arrayd
 2287        %IF pending # 0 %START
				movl	$0, LIT.6518(%rip)
				cmpl	$0, 136(%rsp)
				jne	.L764
		.L482:
		.L484:
 2288           pop lit
				leaq	112(%rsp), %r10
				call	POPLIT.7673
		.LVL448:
		.LBB532:
 2289           %UNLESS 0<lit<=dim limit %START
 2290              atom1 = error + 11;  %RETURN
				movl	$32779, ATOM1.6442(%rip)
 2291           %FINISH
				jmp	.L431
		.LVL449:
		.L485:
 2292        %FINISH
 2293        dim = lit
				movl	LIT.6518(%rip), %eax
				movl	%eax, DIM.6466(%rip)
 2294        decl = decl + x;  decs = 1
				movl	X.6441(%rip), %eax
				addl	%eax, DECL.6465(%rip)
		.LVL446:
				movl	LIT.6518(%rip), %eax
				subl	$1, %eax
				cmpl	$5, %eax
				jbe	.L484
		.L483:
		.LBE532:
 2295        -> top
				movl	$1, 8(%rsp)
				jmp	.L746
		.LVL447:
		.L764:
 2296 c(37): x = x!subname;                                 !record
 2297 c(36): lit = 0;                                       !string
				orl	$2048, X.6441(%rip)
		.L486:
 2298        %IF pending # 0 %START
				movl	$0, LIT.6518(%rip)
				cmpl	$0, 136(%rsp)
				jne	.L765
		.L487:
		.L489:
 2299          pop lit
				leaq	112(%rsp), %r10
				call	POPLIT.7673
		.LVL452:
		.LBB533:
 2300           %UNLESS 0 < lit <= 255 %START;              !max length wrong
 2301              atom1 = error+10;  %RETURN
				movl	$32778, ATOM1.6442(%rip)
 2302           %FINISH
				jmp	.L431
		.LVL453:
		.L491:
 2303        %FINISH
 2304        fdef = lit;                                    !format or length
				movl	LIT.6518(%rip), %eax
				movl	%eax, FDEF.6482(%rip)
		.L490:
 2305 c(33): decl = x;                                      !switch
				movl	LIT.6518(%rip), %eax
				subl	$1, %eax
				cmpl	$254, %eax
				jbe	.L489
		.L488:
		.LBE533:
 2306        decs = 1
				movl	X.6441(%rip), %eax
				movl	%eax, DECL.6465(%rip)
		.LVL450:
				movl	$1, 8(%rsp)
 2307        ->top
				jmp	.L746
		.LVL451:
		.L765:
 2308 c(39): decl = decl!spec;                              !spec
 2309        ocount = -1;                                   !no initialisation
				orl	$128, DECL.6465(%rip)
				movl	$-1, OCOUNT.6500(%rip)
 2310        spec mode = -1
				movl	$-1, SPECMODE.6499(%rip)
 2311        ->top
				jmp	.L746
		.L492:
 2312 c(38): decl = 64+4;                                   !recordformat (spec)
 2313        order = 1
				movl	$68, DECL.6465(%rip)
				movl	$1, ORDER.6503(%rip)
 2314        atom1 = x
				movl	X.6441(%rip), %eax
				movl	%eax, ATOM1.6442(%rip)
 2315        decl = decl!spec %if atom1 = 12;               !formatspec
				cmpl	$12, %eax
				je	.L766
		.L493:
 2316        fdef = tmax+1;                                 !format tag
				movq	(%rsp), %rax
				movl	64(%rax), %eax
				addl	$1, %eax
				movl	%eax, FDEF.6482(%rip)
				movl	$196, DECL.6465(%rip)
				jmp	.L493
		.L494:
 2317        %return
				jmp	.L431
		.L766:
 2318 c(175):id = id+1;  tag(x)_index = id;  %return;       !FSID
 2319 c(41): decs = 1;  decl = x!spec!closed;  ->top;       !label
				movq	(%rsp), %rax
				movl	56(%rax), %ebx
		.LVL454:
				movl	%ebx, 76(%rsp)
				leal	1(%rbx), %edx
				movq	%rax, %rbx
				movl	%edx, 56(%rax)
 2320 c(133):recid = 0;  rbase = tmin-1;                    !fname
				movslq	X.6441(%rip), %rax
				addq	$13, %rax
				salq	$4, %rax
				addq	8(%rbx), %rax
				movw	%dx, 14(%rax)
				movl	$1, 8(%rsp)
 2321        this = x
				jmp	.L431
		.LVL455:
		.L495:
				movl	X.6441(%rip), %eax
				orl	$16512, %eax
				movl	%eax, DECL.6465(%rip)
				movq	(%rsp), %rax
				movq	8(%rax), %rax
				movl	$0, 204(%rax)
				movl	X.6441(%rip), %edi
				movl	%edi, THIS.6483(%rip)
 2322        fm base = fdef;  format list = tmin
				jmp	.L746
		.LVL456:
		.L496:
				movl	TMIN.6490(%rip), %eax
				leal	-1(%rax), %edx
				movl	%edx, RBASE.6486(%rip)
				movl	FDEF.6482(%rip), %edx
				movl	%edx, FMBASE.6512(%rip)
 2323        def(this);                      ->top
				movl	%eax, FORMATLIST.6514(%rip)
				leaq	112(%rsp), %r10
				call	DEF.7626
		.LVL457:
				jmp	.L746
		.L497:
 2324 c(148):fdef = 0 %AND ->top %IF next = 0;              !reclb
 2325        get next;                                      !skip name
				cmpl	$0, 148(%rsp)
				jne	.L498
				leaq	112(%rsp), %r10
				call	GETNEXT.7576
		.LVL458:
 2326        fdef = x
				movl	$0, FDEF.6482(%rip)
				movl	X.6441(%rip), %eax
				movl	%eax, FDEF.6482(%rip)
 2327        ->top
				jmp	.L746
		.L498:
				jmp	.L746
		.L499:
 2328 c(127):bp=bp+1 %AND buff(bp)='}';  ->top;             !%POUT
 2329 c(126):bp=bp+1 %AND buff(bp)='{';  ->top;             !%PIN
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2330
				movq	(%rsp), %rbx
		.LVL459:
				movq	8(%rbx), %rdx
				cltq
				movb	$125, 104710(%rdx,%rax)
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2331 c(174):set bp;                                        !rangerb
				jmp	.L746
		.LVL460:
		.L500:
				movq	(%rsp), %rbx
		.LVL461:
				movq	8(%rbx), %rdx
				cltq
				movb	$123, 104710(%rdx,%rax)
 2332 c(171):                                               !fmlb
				jmp	.L746
		.LVL462:
		.L501:
				leaq	112(%rsp), %r10
				call	SETBP.7608
		.LVL463:
		.L504:
 2333 c(172):                                               !fmrb
 2334 c(173):bp=bp+1 %AND buff(bp)='~';  bp=bp+1 %AND buff(bp)=class-171+'A';  ->top;         !fmor
 2335 c(168):rbase = -rbase;                                !orrb
				movl	BP.6528(%rip), %eax
				addl	$1, %eax
 2336        sstype = 0;  spec mode = 0
				movq	(%rsp), %rbx
		.LVL464:
				movq	8(%rbx), %rcx
				movslq	%eax, %rdx
				movb	$126, 104710(%rcx,%rdx)
				negl	RBASE.6486(%rip)
				movl	$0, SSTYPE.6498(%rip)
 2337
				leal	2(%rax), %edx
				movl	%edx, BP.6528(%rip)
				movl	$0, SPECMODE.6499(%rip)
		.L506:
 2338 c(147):search base = 0;                               !recrb
				movq	8(%rbx), %rcx
				cltq
				movzbl	140(%rsp), %ebx
				leal	-106(%rbx), %edx
				movb	%dl, 104710(%rcx,%rax)
 2339        tag(this)_app = tmin
				jmp	.L746
		.LVL465:
		.L502:
				jmp	.L504
		.L503:
				jmp	.L504
		.L505:
				movl	$0, SEARCHBASE.6513(%rip)
				movslq	THIS.6483(%rip), %rax
				addq	$13, %rax
				salq	$4, %rax
				movq	(%rsp), %rbx
		.LVL466:
				movq	%rax, %rdx
				addq	8(%rbx), %rdx
				movl	TMIN.6490(%rip), %ecx
				movl	%ecx, 4(%rdx)
 2340        tag(this)_format = rbase
				addq	8(%rbx), %rax
				movl	RBASE.6486(%rip), %edx
				movl	%edx, 8(%rax)
 2341        ->top
				jmp	.L746
		.LVL467:
		.L507:
 2342
 2343 c(45):bp=bp+1 %and buff(bp)='U' %IF x = 36;  ->top;   !sign
 2344 c(46):bp=bp+1;  buff(bp)='\';  ->top;                 !uop
				cmpl	$36, X.6441(%rip)
				jne	.L746
 2345 c(47):                                                !mod
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2346 c(48):                                                !dot
				movq	(%rsp), %rbx
		.LVL468:
				movq	8(%rbx), %rdx
				cltq
				movb	$85, 104710(%rdx,%rax)
				jmp	.L746
		.LVL469:
		.L508:
				movq	(%rsp), %rbx
		.LVL470:
				movq	8(%rbx), %rdx
				cltq
				movb	$92, 104710(%rdx,%rax)
 2347 c(42):                                                !op1
				jmp	.L746
		.LVL471:
		.L509:
		.L513:
 2348 c(43):                                                !op2
 2349 c(44):bp=bp+1;  buff(bp)=operator(x);  ->top;         !op3
 2350
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2351 !conditions & jumps
				movq	(%rsp), %rbx
		.LVL472:
				movq	8(%rbx), %rcx
				movslq	%eax, %rdx
				movl	X.6441(%rip), %eax
				subl	$1, %eax
				cltq
				movzbl	4562(%rsp,%rax), %eax
				movb	%al, 104710(%rcx,%rdx)
 2352
				jmp	.L746
		.LVL473:
		.L510:
				jmp	.L513
		.L511:
				jmp	.L513
		.L512:
				jmp	.L513
		.L514:
		.L515:
 2353       %ROUTINE push(%INTEGER x)
		.LVL12:
 2354          %IF cnest(cp)&2 # x %START
				movl	16(%r10), %eax
				movslq	%eax, %rdx
				leaq	CNEST.7547(%rip), %rcx
				movzbl	(%rcx,%rdx), %edx
				cmpl	$2, %edi
				sete	%cl
				movzbl	%cl, %ecx
				testl	%edx, %ecx
				jne	.L17
 2355             cnest(cp) = cnest(cp)!1;  x = x+4
				movslq	%eax, %rcx
				orl	$1, %edx
				leaq	CNEST.7547(%rip), %rsi
				movb	%dl, (%rsi,%rcx)
 2356          %FINISH
				addl	$4, %edi
		.LVL13:
		.L17:
 2357          clab = clab+1 %IF cnest(cp)&1 # 0
 2358          cnest(cp+1) = x;  cp = cp+1
				addl	$1, 12(%r10)
		.LDL1:
				addl	$1, %eax
				movslq	%eax, %rdx
				leaq	CNEST.7547(%rip), %rcx
				movb	%dil, (%rcx,%rdx)
 2359       %END
				movl	%eax, 16(%r10)
 2360
				ret
		.LFE220:
				.section	.rodata.str1.8,"aMS",@progbits,1
				.align 8
		.LC1:
				.string	"->REASON(%d) out of bounds at %s line %d"
				.section	.rodata.str1.1,"aMS",@progbits,1
		.LC2:
				.string	"test-new/pass1v84-noprims.imp"
				.section	.rodata.str1.8
				.align 8
		.LC3:
				.string	"switch jump to undefined label REASON(%d): at %s line %d"
		ABANDON.6570:
		.LFB188:
 2361       %ROUTINE pop label(%INTEGER mode)
		.LVL385:
				subq	$8, %rsp
 2362          lmode = dict(dmin)
				movq	(%r10), %rdx
				movq	8(%rdx), %rcx
				movl	52(%rdx), %eax
				subl	$1, %eax
				cltq
				movswl	26836(%rcx,%rax,2), %eax
				movl	%eax, 8(%r10)
 2363          %IF lmode < 0 %OR lmode&1 # mode %START
				testl	%eax, %eax
				js	.L413
 2364             fault(mode+8)
				cmpl	$1, %edi
				sete	%cl
				movzbl	%cl, %ecx
				testl	%eax, %ecx
				je	.L413
		.L414:
				addl	$8, %edi
		.LVL386:
				movq	%rdx, %r10
				call	FAULT.6680
		.LVL387:
 2365          %FINISH %ELSE %START
 2366             dmin = dmin+1;  label = label-3
				addl	$1, 52(%rdx)
 2367          %FINISH
				movq	(%r10), %rax
				subl	$3, 24(%rax)
				ret
		.L413:
 2368       %END
 2369
				addq	$8, %rsp
				ret
		.L415:
		.LFE221:
		SETBP.7608:
		.LFB213:
 2370 c(56):                                         !and
 2371 c(57):push(x);  ->top;                         !or
 2372 c(58):cnest(cp) = cnest(cp)!!2;  ->top;        !not
				leaq	112(%rsp), %r10
				movl	X.6441(%rip), %edi
				call	PUSH.7729
		.LVL474:
				jmp	.L746
		.L516:
 2373
				leaq	CNEST.7547(%rip), %rdx
				movslq	128(%rsp), %rax
				xorb	$2, (%rdx,%rax)
 2374 c(138):x = 128+32+16+4;                        !csep: treat like %WHILE
				jmp	.L746
		.L517:
 2375 c(59):                                         !while
				movl	$180, X.6441(%rip)
		.L519:
 2376 c(60):%IF class = 138 %THEN op('f', label-1) %C
 2377                       %ELSE def lab(label-1);  !until
				cmpl	$138, 140(%rsp)
				je	.L767
		.L520:
 2378 c(166):                                        !runtil
				movq	(%rsp), %rax
				movl	24(%rax), %ebx
		.LVL476:
				movl	%ebx, 80(%rsp)
				leal	-1(%rbx), %esi
				movq	8(%rax), %r10
				movl	$102, %edi
				call	OP.6644
		.LVL477:
				jmp	.L523
		.L521:
		.LVL478:
		.L522:
		.L523:
 2379 c(62):lmode = (lmode&(else!loop)) !(x>>3);     !cword
 2380       clab = label;  cp = 1;  cnest(1) = x&7
				movl	X.6441(%rip), %edx
				movl	120(%rsp), %eax
				andl	$24, %eax
				movl	%edx, %ecx
				shrl	$3, %ecx
				orl	%ecx, %eax
				movl	%eax, 120(%rsp)
				movq	(%rsp), %rax
				movl	24(%rax), %eax
				movl	%eax, 124(%rsp)
 2381       ->top
				movq	(%rsp), %rax
				movl	24(%rax), %eax
				movl	%eax, 64(%rsp)
				leal	-1(%rax), %edi
				leaq	112(%rsp), %r10
				call	DEFLAB.7573
		.LVL475:
				jmp	.L523
		.L518:
				jmp	.L519
		.L767:
				movl	$1, 128(%rsp)
				jmp	.L746
		.LVL479:
		.L524:
 2382 c(72):pop label(0);                            !repeat
				andl	$7, %edx
				movb	%dl, 1+CNEST.7547(%rip)
 2383       def lab(label+1) %IF lmode&32 # 0;  ->atop
				leaq	112(%rsp), %rbx
		.LVL480:
				movq	%rbx, %r10
				movl	$0, %edi
				call	POPLABEL.7734
		.LVL481:
 2384 c(69):pop label(1);               ->top;       !finish
				movq	(%rsp), %rax
				movl	24(%rax), %eax
				movl	%eax, 84(%rsp)
				leal	1(%rax), %edi
				movq	%rbx, %r10
				call	DEFLAB.7573
		.LVL482:
		.L469:
		.L470:
 2385 c(163):                                        !xelse
				leaq	112(%rsp), %r10
				movl	$1, %edi
				call	POPLABEL.7734
		.LVL484:
				jmp	.L746
		.L526:
		.L527:
 2386 c(70):pop label(1);                            !finish else ...
 2387       fault(7) %IF lmode&3 = 3;                !dangling else
				leaq	112(%rsp), %r10
				movl	$1, %edi
				call	POPLABEL.7734
		.LVL485:
 2388 c(68):lmode = (lmode&else)!3;                  !...else...
				movq	(%rsp), %r10
				movl	$7, %edi
				call	FAULT.6680
		.LVL486:
		.L528:
		.L529:
 2389       %IF access # 0 %START
				movl	120(%rsp), %eax
				andl	$8, %eax
				orl	$3, %eax
				movl	%eax, 120(%rsp)
				movq	(%rsp), %rax
				cmpl	$0, 36(%rax)
				je	.L530
 2390          op('F', label-1);  lmode = else!3
				movl	24(%rax), %ebx
		.LVL487:
				movl	%ebx, 72(%rsp)
				leal	-1(%rbx), %esi
				movq	8(%rax), %r10
				movl	$70, %edi
				call	OP.6644
		.LVL488:
 2391       %FINISH
				movl	$11, 120(%rsp)
		.L530:
 2392       def lab(label)
				movq	(%rsp), %rax
				movl	24(%rax), %edi
				leaq	112(%rsp), %r10
				call	DEFLAB.7573
		.LVL489:
 2393       ->top %IF next # 0
				cmpl	$0, 148(%rsp)
				jne	.L746
				jmp	.L534
		.L531:
		.LVL490:
		.L532:
		.L534:
		.L535:
 2394
 2395 c(120):                                        !%MSTART
 2396 c(67):                                         !start
 2397 c(71):                                         !cycle
 2398 stcy: def lab(label-1) %AND lmode = loop %IF lmode = 0;!cycle
 2399       dmin = dmin-1;  abandon(3) %IF dmin <= dmax
				cmpl	$0, 120(%rsp)
				je	.L768
		.L536:
				movq	(%rsp), %rbx
				movl	52(%rbx), %eax
				movl	%eax, 36(%rsp)
				subl	$1, %eax
				movl	%eax, 52(%rbx)
 2400       dict(dmin) = lmode
				cmpl	%eax, DMAX.6489(%rip)
				jge	.L769
		.L537:
				movq	(%rsp), %rbx
				movq	8(%rbx), %rdx
				movl	52(%rbx), %eax
				movl	%eax, 40(%rsp)
				subl	$1, %eax
				cltq
				movl	120(%rsp), %ecx
				movw	%cx, 26836(%rdx,%rax,2)
				movq	(%rsp), %rax
				movl	24(%rax), %eax
				movl	%eax, 68(%rsp)
				leal	-1(%rax), %edi
				leaq	112(%rsp), %r10
				call	DEFLAB.7573
		.LVL493:
 2401       label = label+3
				addl	$3, 24(%rbx)
				movl	$16, 120(%rsp)
				jmp	.L536
		.L769:
				movq	8(%rbx), %r10
				movl	$3, %edi
				call	ABANDON.6570
		.LVL494:
				jmp	.L537
		.LVL495:
		.L538:
 2402       %RETURN
				jmp	.L431
		.LVL491:
		.L533:
				jmp	.L534
		.LVL492:
		.L768:
 2403
 2404 c(64):fault(13) %IF dict(dmin) >= 0 %OR inhibit # 0;  !on event
 2405       inhibit = 1
				movq	(%rsp), %rbx
		.LVL496:
				movq	8(%rbx), %rdx
				movl	52(%rbx), %eax
				movl	%eax, 88(%rsp)
				subl	$1, %eax
				cltq
				cmpw	$0, 26836(%rdx,%rax,2)
				jns	.L539
				movq	(%rsp), %r12
				movl	$1, 20(%r12)
		.LVL498:
 2406       n = 0
				cmpl	$0, 20(%rbx)
				je	.L540
		.L539:
				movl	$0, %ebx
				movl	$0, %ebx
		.LVL506:
		.L541:
 2407       n = x'FFFF' %IF pending = 0;             !* = all events
				movl	136(%rsp), %eax
				testl	%eax, %eax
				je	.L541
 2408       %WHILE pending > 0 %CYCLE
				movq	(%rsp), %r10
				movl	$13, %edi
				call	FAULT.6680
		.LVL497:
		.L540:
				movl	$65535, %ebx
 2409          pop lit;  fault(10) %IF lit&(\15) # 0;!too big
				testl	%eax, %eax
				jle	.L732
				leaq	112(%rsp), %rbp
				jmp	.L544
		.LVL499:
		.L543:
				cmpl	$0, 136(%rsp)
				jle	.L541
		.LVL501:
		.L544:
				movq	%rbp, %r10
				call	POPLIT.7673
		.LVL502:
 2410          j = 1<<lit
				movl	LIT.6518(%rip), %ecx
				movl	$1, %eax
				sall	%cl, %eax
		.LVL504:
 2411          dubious = 1 %IF n&j # 0
				movq	%r12, %r10
				movl	$10, %edi
				call	FAULT.6680
		.LVL503:
		.L542:
				testl	%eax, %eax
				sete	%dl
				movzbl	%dl, %edx
				testl	%ebx, %edx
				jne	.L543
 2412          n = n!j;                              !construct bit mask
				orl	%eax, %ebx
		.LVL500:
				movl	$1, DUBIOUS.6505(%rip)
				jmp	.L543
		.LVL505:
		.L732:
 2413       %REPEAT
 2414       op('o', n);  op(',', label)
				movq	(%rsp), %r14
				movq	8(%r14), %r10
				movl	%ebx, %esi
				movl	$111, %edi
				call	OP.6644
		.LVL507:
 2415       lmode = then!1;  ->stcy
				movl	24(%r14), %esi
				movq	8(%r14), %r10
				movl	$44, %edi
				call	OP.6644
		.LVL508:
				movl	$5, 120(%rsp)
				jmp	.L536
		.LVL509:
		.L545:
 2416
 2417
 2418 c(104):op('J', tag(x)_index);                   !l
 2419        inhibit = 1;            ->atop
				movq	(%rsp), %rbx
		.LVL510:
				movq	8(%rbx), %r10
				movslq	X.6441(%rip), %rax
				addq	$13, %rax
				salq	$4, %rax
				movswl	14(%r10,%rax), %esi
				movl	$74, %edi
				call	OP.6644
		.LVL511:
				movl	$1, 20(%rbx)
 2420 c(149):stats = stats-1;                         !lab
				jmp	.L469
		.LVL512:
		.L546:
 2421        access = 1;  inhibit = 1
				subl	$1, STATS.6457(%rip)
				movq	(%rsp), %rax
				movl	$1, 36(%rax)
 2422        op('L', tag(x)_index);  ->top
				movl	$1, 20(%rax)
				movq	8(%rax), %r10
				movslq	X.6441(%rip), %rax
				addq	$13, %rax
				salq	$4, %rax
				movswl	14(%r10,%rax), %esi
				movl	$76, %edi
				call	OP.6644
		.LVL513:
				jmp	.L746
		.L547:
 2423
 2424 c(63):j = dmin;  l = label-3;                   !exit, continue
 2425       %CYCLE
				movq	(%rsp), %rcx
				movl	52(%rcx), %ebx
		.LVL514:
 2426          fault(7) %AND ->top %IF dict(j) < 0
				movl	24(%rcx), %eax
				movl	%eax, 92(%rsp)
				subl	$3, %eax
				movl	%eax, 16(%rcx)
				leal	-1(%rbx), %edx
				movq	8(%rcx), %r10
				movslq	%edx, %rax
				movzwl	26836(%r10,%rax,2), %eax
				testw	%ax, %ax
				js	.L548
				movslq	%ebx, %rax
				movzwl	26836(%r10,%rax,2), %eax
				testw	%ax, %ax
				js	.L548
		.L551:
				movl	%edx, %ebx
		.LVL517:
		.L550:
 2427          %EXIT %IF dict(j)&1 = 0
				testb	$1, %al
				je	.L770
				movq	(%rsp), %rdx
		.L549:
				testb	$1, %al
				je	.L550
				movq	(%rsp), %r10
				movl	$7, %edi
				call	FAULT.6680
		.LVL519:
				jmp	.L746
		.L771:
 2428          j = j+1;  l = l-3
				leal	1(%rbx), %ecx
		.LVL515:
				movl	%ecx, %ebx
				jmp	.L549
		.LVL516:
		.L770:
 2429       %REPEAT
				subl	$3, 16(%rdx)
		.LDL25:
 2430       l = l+1 %IF x = 32;                       !continue
				movl	X.6441(%rip), %ebp
				cmpl	$32, %ebp
				je	.L771
		.L552:
 2431       op('F', l)
				movq	(%rsp), %r14
				movl	16(%r14), %esi
				movl	$70, %edi
				call	OP.6644
		.LVL518:
				movslq	%ebx, %rbx
				movq	8(%r14), %rax
				movq	(%rsp), %rax
				addl	$1, 16(%rax)
				jmp	.L552
		.LVL520:
		.L553:
 2432       dict(j) = dict(j)!x;                      !show given
				orw	%bp, 26836(%rax,%rbx,2)
 2433       ->atop
				jmp	.L469
		.L548:
 2434
 2435 c(50):bp=bp+1 %AND buff(bp)='C';  ->cop;        !acomp
 2436
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2437 c(49): bp = bp+1
				movq	(%rsp), %rbx
		.LVL521:
				movq	8(%rbx), %rdx
				cltq
				movb	$67, 104710(%rdx,%rax)
 2438        %IF next # 0 %START;                     !comparator
				jmp	.L557
		.LVL522:
		.L555:
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
				cmpl	$0, 148(%rsp)
				jne	.L772
		.L556:
 2439           buff(bp)='"';  push(0);               !double sided
				movq	(%rsp), %rbx
		.LVL525:
				movq	8(%rbx), %rdx
				cltq
				movb	$34, 104710(%rdx,%rax)
 2440        %FINISH %ELSE %START
				leaq	112(%rsp), %r10
				movl	$0, %edi
				call	PUSH.7729
		.LVL526:
				jmp	.L557
		.LVL527:
		.L561:
		.L563:
 2441           buff(bp)='?'
				movq	(%rsp), %rbx
		.LVL523:
				movq	8(%rbx), %rdx
				cltq
				movb	$63, 104710(%rdx,%rax)
				jmp	.L557
		.LVL524:
		.L772:
 2442        %FINISH
 2443
 2444 cop:   x = x!!1 %IF cnest(cp)&2 # 0;            !invert the condition
 2445        j = cp;  l = clab
				movl	128(%rsp), %edx
		.LVL709:
 2446        %WHILE cnest(j)&4 = 0 %CYCLE
				movl	X.6441(%rip), %edi
				xorl	$1, %edi
				movl	%edi, X.6441(%rip)
		.LDL33:
				movl	124(%rsp), %ecx
				movq	(%rsp), %rax
				movl	%ecx, 16(%rax)
 2447           j = j-1;  l = l-cnest(j)&1
				movslq	%edx, %rax
				leaq	CNEST.7547(%rip), %rsi
				testb	$1, (%rsi,%rax)
				jne	.L558
				subl	$1, %edx
		.LVL710:
				testb	%al, %al
				je	.L559
				movq	(%rsp), %rax
				movl	%ecx, 16(%rax)
		.L558:
 2448        %REPEAT
				movq	%rsi, %r8
		.L559:
				movslq	%edx, %rax
				movzbl	(%r8,%rax), %eax
				andl	$1, %eax
				movzbl	%al, %esi
				subl	%esi, %ecx
		.LDL34:
 2449        op(cc(x), l)
				movq	(%rsp), %rax
				movl	16(%rax), %esi
				movslq	%edi, %rdi
				movzbl	4554(%rsp,%rdi), %edi
				movq	8(%rax), %r10
				call	OP.6644
		.LVL711:
 2450        def lab(clab+1) %IF cnest(cp)&1 # 0
 2451        cp = cp-1
				movl	124(%rsp), %eax
				leal	1(%rax), %edi
				leaq	112(%rsp), %r10
				call	DEFLAB.7573
		.LVL712:
		.L560:
				movl	128(%rsp), %eax
				subl	$1, %eax
				movl	%eax, 128(%rsp)
 2452        clab = clab-cnest(cp)&1
				cltq
				leaq	CNEST.7547(%rip), %rdx
				movzbl	(%rdx,%rax), %eax
				andl	$1, %eax
				subl	%eax, 124(%rsp)
 2453        ->top
				jmp	.L746
		.LVL713:
		.L713:
 2454
 2455 c(78):                                              !fresult
 2456 c(79):                                              !mresult
 2457 c(80):   open = 0;                                  !return, true, false
 2458 c(82):   access = 0;                                !stop
				movq	(%rsp), %rax
				movl	$0, 32(%rax)
		.L564:
 2459 c(89):                                              !addop
				movq	(%rsp), %rax
				movl	$0, 36(%rax)
		.L566:
 2460 c(81):   bp=bp+1 %AND buff(bp)=x;  ->top;           !monitor
 2461
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2462 c(65):   pop lit;  op('e', lit);  ->atop;           !signal
				movq	(%rsp), %rbx
		.LVL528:
				movq	8(%rbx), %rdx
				cltq
				movl	X.6441(%rip), %ecx
				movb	%cl, 104710(%rdx,%rax)
 2463
				jmp	.L746
		.LVL529:
		.L562:
				jmp	.L563
		.L565:
				jmp	.L566
		.L567:
				leaq	112(%rsp), %r10
				call	POPLIT.7673
		.LVL530:
 2464 c(51):   bp=bp+1 %AND buff(bp)='S';  ->top;         !eq
				movq	(%rsp), %rax
				movq	8(%rax), %r10
				movl	LIT.6518(%rip), %esi
				movl	$101, %edi
				call	OP.6644
		.LVL531:
				jmp	.L469
		.L568:
 2465 c(53):   bp=bp+1 %AND buff(bp)='j';  ->top;         !jam transfer
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2466 c(52):   bp=bp+1 %AND buff(bp)='Z';  ->top;         !eqeq
				movq	(%rsp), %rbx
		.LVL532:
				movq	8(%rbx), %rdx
				cltq
				movb	$83, 104710(%rdx,%rax)
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2467
				jmp	.L746
		.LVL533:
		.L569:
				movq	(%rsp), %rbx
		.LVL534:
				movq	8(%rbx), %rdx
				cltq
				movb	$106, 104710(%rdx,%rax)
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2468 c(74):%IF level = 0 %START;                         !begin
				jmp	.L746
		.LVL535:
		.L570:
				movq	(%rsp), %rbx
		.LVL536:
				movq	8(%rbx), %rdx
				cltq
				movb	$90, 104710(%rdx,%rax)
 2469          %IF progmode <= 0 %THEN progmode = 1 %ELSE fault(7)
				jmp	.L746
		.LVL537:
		.L571:
				movq	(%rsp), %rax
				cmpl	$0, 60(%rax)
				jne	.L574
				cmpl	$0, PROGMODE.6497(%rip)
				jg	.L573
 2470          {Permit BEGIN after external defs}
				movl	$1, PROGMODE.6497(%rip)
		.L572:
		.L574:
 2471       %FINISH
 2472       spec mode = level+1
				movq	(%rsp), %rbx
		.LVL538:
				movl	60(%rbx), %eax
				movl	%eax, 96(%rsp)
				addl	$1, %eax
				movl	%eax, SPECMODE.6499(%rip)
 2473       block x = 0
				movl	$0, BLOCKX.6520(%rip)
				movq	(%rsp), %r10
				movl	$7, %edi
				call	FAULT.6680
		.LVL540:
				jmp	.L574
		.L575:
 2474       bp=bp+1 %AND buff(bp)='H';  %RETURN
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2475 c(77):perm = 0;  lines = 0;  stats = 0;             !endofperm
				movq	8(%rbx), %rdx
				cltq
				movb	$72, 104710(%rdx,%rax)
 2476       close input
				jmp	.L431
		.LVL539:
		.L573:
				movl	$0, PERM.6496(%rip)
				call	CLOSEINPUT@PLT
		.LVL541:
		.LBB534:
		.LBB535:
				movl	$1, _imp_InStream(%rip)
				movq	296+_imp_infile(%rip), %rax
				movq	%rax, _imp_InFile(%rip)
				leaq	__PRETTY_FUNCTION__.5987(%rip), %rdi
				call	check_instream@PLT
		.LVL542:
		.LBE535:
		.LBE534:
 2477       select input(source)
				movl	$0, LINES.6451(%rip)
 2478       list = list-1
				movl	$0, STATS.6457(%rip)
				subl	$1, LIST.6521(%rip)
 2479       tbase = tmax;  tstart = tmax
				movq	(%rsp), %rbx
		.LVL543:
				movl	64(%rbx), %eax
				movl	%eax, 68(%rbx)
 2480       %RETURN
				movl	%eax, 72(%rbx)
				jmp	.L431
		.LVL544:
		.L576:
 2481 c(76):%IF include # 0 %AND x = 0 %START;            !end of ...
 2482          lines = include;  sstype =  0;             !include
				movl	INCLUDE.6495(%rip), %eax
				testl	%eax, %eax
				je	.L577
				movl	%eax, LINES.6451(%rip)
 2483          close input
				cmpl	$0, X.6441(%rip)
				je	.L773
		.L577:
				movl	$0, SSTYPE.6498(%rip)
				call	CLOSEINPUT@PLT
		.LVL548:
 2484          list = include list
				movl	INCLUDELIST.6493(%rip), %eax
				movl	%eax, LIST.6521(%rip)
 2485          include level = 0
				movl	$0, INCLUDELEVEL.6494(%rip)
 2486          include = 0;  select input(source);  %RETURN
				movl	$0, INCLUDE.6495(%rip)
		.LVL549:
		.LBB539:
		.LBB540:
				movl	$1, _imp_InStream(%rip)
				movq	296+_imp_infile(%rip), %rax
				movq	%rax, _imp_InFile(%rip)
				leaq	__PRETTY_FUNCTION__.5987(%rip), %rdi
				call	check_instream@PLT
		.LVL550:
				jmp	.L431
		.LVL551:
		.L579:
		.LBE540:
		.LBE539:
		.LBB541:
		.LBB538:
 2487       %FINISH
 2488       ss = -1;                                      !prog/file
				movl	$-1, SS.6491(%rip)
		.L578:
 2489 c(75):compile end(x);  %RETURN;                     !%END
 2490
				movl	X.6441(%rip), %ebx
		.LVL545:
		.LBB536:
		.LBB537:
 2491 c(85):%IF x=0 %THEN control=lit %ELSE %START;       !control
 2492          diag = lit&x'3FFF' %IF lit>>14&3 = 1
 2493       %FINISH
 2494       op('z'-x, lit)
				movl	$122, %edi
				subl	X.6441(%rip), %edi
				movq	(%rsp), %rax
				movq	8(%rax), %r10
				movl	LIT.6518(%rip), %esi
				call	OP.6644
		.LVL557:
				jmp	.L746
		.L593:
 2495       ->top
 2496 c(83):list = list+x-2;   ->top;                     !%LIST/%ENDOFLIST
 2497 c(84):reals ln = x;      ->top;                     !%REALS long/normal
				movl	X.6441(%rip), %eax
				addl	LIST.6521(%rip), %eax
				subl	$2, %eax
				movl	%eax, LIST.6521(%rip)
 2498 c(86):%IF include # 0 %START;                       !include "file"
				jmp	.L746
		.L594:
				movl	X.6441(%rip), %eax
				movl	%eax, REALSLN.6472(%rip)
 2499          fault(7);  %RETURN
				jmp	.L746
		.L595:
				cmpl	$0, INCLUDE.6495(%rip)
				je	.L596
				movq	(%rsp), %r10
				movl	$7, %edi
				call	FAULT.6680
		.LVL558:
				jmp	.L431
		.L596:
 2500       %FINISH
 2501       get next;                                     !sconst
				leaq	112(%rsp), %r10
				call	GETNEXT.7576
		.LVL559:
 2502       include file = string(x-x'4000'+stbase)
 2503       %begin
 2504          %on 9 %start;  Abandon(9);  %finish
				leaq	704(%rsp), %rsi
				movq	(%rsp), %rax
				movq	8(%rax), %rax
				movq	%rax, 104(%rsp)
				leaq	104454(%rax), %rdi
				movl	$63, %edx
				call	_imp_strncpy@PLT
		.LVL560:
				movl	$1, %esi
				leaq	536+_imp_event(%rip), %rdi
				call	__sigsetjmp@PLT
		.LVL561:
				testl	%eax, %eax
				jne	.L599
		.LVL562:
				movl	$512, %esi
				leaq	_imp_event(%rip), %rdi
				call	_imp_on_event_enter@PLT
		.LVL563:
				testq	%rax, %rax
				jne	.L600
		.LVL564:
		.L599:
 2505          open input(3, include file)
				movq	(%rsp), %rax
				movq	8(%rax), %r10
				movl	$9, %edi
				call	ABANDON.6570
		.LVL565:
		.L600:
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				pushq	1208(%rsp)
				movl	$3, %edi
				call	OPENINPUT@PLT
		.LVL566:
				addq	$256, %rsp
		.L601:
 2506       %end
 2507       include = lines;  lines = 0
				movl	LINES.6451(%rip), %eax
				movl	%eax, INCLUDE.6495(%rip)
 2508       include list = list;  include level = level
				movl	$0, LINES.6451(%rip)
				movl	LIST.6521(%rip), %eax
				movl	%eax, INCLUDELIST.6493(%rip)
 2509       select input(3)
				movq	(%rsp), %rax
				movl	60(%rax), %eax
				movl	%eax, INCLUDELEVEL.6494(%rip)
		.LVL567:
		.LBB542:
		.LBB543:
				movl	$3, _imp_InStream(%rip)
				movq	872+_imp_infile(%rip), %rax
				movq	%rax, _imp_InFile(%rip)
				leaq	__PRETTY_FUNCTION__.5987(%rip), %rdi
				call	check_instream@PLT
		.LVL568:
				jmp	.L746
		.LVL569:
		.L602:
		.LBE543:
		.LBE542:
 2510       ->top
 2511
 2512 c(154):dimension = dimension+1;                     !dbsep
 2513        fault(11) %IF dimension = dim limit+1
				movl	DIMENSION.6510(%rip), %eax
				addl	$1, %eax
				movl	%eax, DIMENSION.6510(%rip)
				cmpl	$7, %eax
				jne	.L746
 2514        ->top
				movq	(%rsp), %r10
				movl	$11, %edi
				call	FAULT.6680
		.LVL570:
				jmp	.L746
		.L603:
 2515 c(145):set bp;                       ->top;         !crb
 2516 c(146):set bp;                                      !rcrb
				leaq	112(%rsp), %r10
				call	SETBP.7608
		.LVL571:
				jmp	.L746
		.L604:
 2517 c(142):                                             !bplrb
				leaq	112(%rsp), %r10
				call	SETBP.7608
		.LVL572:
		.L605:
 2518        dimension = 1 %IF dimension = 0
				cmpl	$0, DIMENSION.6510(%rip)
				jne	.L606
 2519        op('d', dimension);  op(',', defs)
				movl	$1, DIMENSION.6510(%rip)
		.L606:
				movq	(%rsp), %rbx
		.LVL573:
				movq	8(%rbx), %r10
				movl	DIMENSION.6510(%rip), %esi
				movl	$100, %edi
				call	OP.6644
		.LVL574:
 2520        %IF class # 146 %START
				movq	8(%rbx), %r10
				movl	132(%rsp), %esi
				movl	$44, %edi
				call	OP.6644
		.LVL575:
				cmpl	$146, 140(%rsp)
				jne	.L776
		.L607:
		.L609:
 2521           set subs(defs)
				leaq	112(%rsp), %r10
				movl	132(%rsp), %edi
				call	SETSUBS.7601
		.LVL576:
 2522           fault(13) %IF dict(dmin) >= 0 %OR inhibit # 0 %OR level=0
				movq	8(%rbx), %rdx
				movl	52(%rbx), %eax
				movl	%eax, 100(%rsp)
				subl	$1, %eax
				cltq
				cmpw	$0, 26836(%rdx,%rax,2)
				jns	.L608
 2523        %FINISH
				cmpl	$0, 20(%rbx)
				jne	.L608
 2524        dimension = 0;  defs = 0
				movl	$0, DIMENSION.6510(%rip)
				cmpl	$0, 60(%rbx)
				jne	.L609
		.L608:
 2525        ->top
				movl	$0, 132(%rsp)
				jmp	.L746
		.L776:
 2526 c(128):id = dupid;  ->top;                          !EDUP
				movq	(%rsp), %r10
				movl	$13, %edi
				call	FAULT.6680
		.LVL577:
				jmp	.L609
		.LVL578:
		.L610:
 2527 c(130):block x = x
				movq	(%rsp), %rax
				movl	60(%rsp), %ebx
		.LVL579:
				movl	%ebx, 56(%rax)
 2528        op('F', 0) %IF decl&spec = 0 %AND level # 0; !jump round proc
				jmp	.L746
		.LVL580:
		.L611:
				movl	X.6441(%rip), %eax
				movl	%eax, BLOCKX.6520(%rip)
				testb	$1, DECL.6465(%rip)
				jne	.L614
 2529 c(125):dupid = id;                                  !%DUP
				movq	(%rsp), %rax
				cmpl	$0, 60(%rax)
				jne	.L777
 2530        %return %if Level < 0                        {spec about}
				movq	(%rsp), %rax
				movl	56(%rax), %eax
				movl	%eax, 60(%rsp)
		.LVL581:
				jmp	.L616
		.LVL582:
		.L777:
				movq	8(%rax), %r10
				movl	$0, %esi
				movl	$70, %edi
				call	OP.6644
		.LVL583:
		.L612:
		.L614:
				movq	(%rsp), %rax
				movl	56(%rax), %ebx
		.LVL584:
				movl	%ebx, 60(%rsp)
		.LVL585:
				cmpl	$0, 60(%rax)
				js	.L431
		.L615:
		.LVL586:
		.L616:
 2531 c(90): def(x);  ->top;                              !ident
 2532 c(131):                                             !cident
				leaq	112(%rsp), %r10
				movl	X.6441(%rip), %edi
				call	DEF.7626
		.LVL587:
				jmp	.L746
		.LVL588:
		.L617:
 2533        %IF tag(x)_flags&(b'1111111'+const bit) = iform+const bit %START
				movl	X.6441(%rip), %ebx
		.LVL589:
				movq	(%rsp), %rax
				movq	8(%rax), %r10
				movslq	%ebx, %rax
				salq	$4, %rax
				addq	%r10, %rax
				testb	$1, 220(%rax)
				jne	.L618
 2534           tag(x)_format = lit
				movl	LIT.6518(%rip), %edx
				movl	%edx, 216(%rax)
 2535        %FINISH %ELSE %START
				jmp	.L746
		.L618:
 2536           set const(lit) %IF pending # 0
				cmpl	$0, 136(%rsp)
				je	.L619
 2537           def(x)
				movl	LIT.6518(%rip), %edi
				call	SETCONST.6647
		.LVL590:
		.L619:
				leaq	112(%rsp), %r10
				movl	%ebx, %edi
				call	DEF.7626
		.LVL591:
 2538          op('A', 1)
				movq	(%rsp), %rax
				movq	8(%rax), %r10
				movl	$1, %esi
				movl	$65, %edi
				call	OP.6644
		.LVL592:
				jmp	.L746
		.LVL593:
		.L620:
 2539        %FINISH
 2540        cident = x
 2541        ->top
 2542 c(124):dubious = 1 %IF tag(cident)_flags&prot # 0; !%DUBIOUS
 2543        ->top
				jmp	.L746
		.L621:
		.L624:
		.LBB544:
		.LBB545:
 2544 c(97):                                              !f
				movl	$1, DUBIOUS.6505(%rip)
		.LDL29:
 2545 c(98):                                              !m
 2546 c(99):                                              !p
 2547 c(96): call;  ->top;                                !r
 2548
 2549 c(165):                                             !nlab
 2550 c(100):                                             !rp
 2551 c(101):                                             !fp
 2552 c(102):                                             !mp
 2553 c(103):                                             !pp
 2554 c(91):                                              !v
 2555 c(92):                                              !n
 2556 c(106):                                             !a
 2557 c(107):                                             !an
 2558 c(108):                                             !na
 2559 c(109):                                             !nan
 2560       k = tag(x)_index
				movq	(%rsp), %rax
				movq	8(%rax), %r10
				movslq	X.6441(%rip), %rax
				addq	$13, %rax
				salq	$4, %rax
				movswl	14(%r10,%rax), %esi
		.LVL599:
 2561       %IF k < 0 %THEN op('n', -k) %ELSE op('@', k)
				testl	%esi, %esi
				js	.L778
		.L636:
 2562       ->top
				negl	%esi
		.LVL602:
				movl	$110, %edi
				call	OP.6644
		.LVL603:
				jmp	.L746
		.L637:
 2563 c(121):set const(0);  ->top;                        !special for zero
 2564 c(167):bp=bp+1;  buff(bp)='G';  ->pstr;             !aconst (alias)
				movq	(%rsp), %rax
				movq	8(%rax), %r10
				movl	$0, %edi
				call	SETCONST.6647
		.LVL604:
				jmp	.L746
		.L638:
 2565 c(const):                                           !const
				movl	$64, %edi
				call	OP.6644
		.LVL600:
				jmp	.L746
		.L631:
				jmp	.L635
		.L632:
				jmp	.L635
		.L633:
				jmp	.L635
		.L634:
				jmp	.L635
		.LVL601:
		.L778:
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2566        %IF x < 0 %START;                            !constinteger
				movq	(%rsp), %rbx
		.LVL605:
				movq	8(%rbx), %rdx
				cltq
				movb	$71, 104710(%rdx,%rax)
		.L639:
				movl	X.6441(%rip), %eax
				testl	%eax, %eax
				js	.L779
		.L641:
 2567           set const(tag(-x)_format);  ->top
				movq	(%rsp), %rbx
		.LVL611:
				movq	8(%rbx), %rdx
				negl	%eax
				cltq
				addq	$13, %rax
				salq	$4, %rax
				movq	%rdx, %r10
				movl	8(%rdx,%rax), %edi
				call	SETCONST.6647
		.LVL612:
				jmp	.L746
		.LVL613:
		.L643:
 2568        %FINISH
 2569        %IF x&x'4000' # 0 %START;                    !strings
 2570           bp=bp+1 %AND buff(bp)=''''
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2571 pstr:     x = x-x'4000'+stbase
				movq	(%rsp), %rbx
		.LVL609:
				movq	8(%rbx), %rdx
				cltq
				movb	$39, 104710(%rdx,%rax)
				jmp	.L639
		.LVL610:
		.L779:
 2572           k = byteinteger(x)
				movl	X.6441(%rip), %edx
				movl	STBASE.6487(%rip), %eax
				leal	-16384(%rdx,%rax), %edx
				movl	%edx, X.6441(%rip)
				movslq	%edx, %rax
				movzbl	(%rax), %ecx
				movzbl	%cl, %r8d
		.LVL606:
 2573           bp=bp+1 %AND buff(bp)=k
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edi
				movl	%edi, BP.6528(%rip)
 2574           k = k+x
				movq	(%rsp), %r9
				movq	8(%r9), %rsi
				cltq
				movb	%cl, 104710(%rsi,%rax)
				addl	%edx, %r8d
		.LVL607:
 2575           %CYCLE
 2576              ->top %IF x = k
				cmpl	%r8d, %edx
				je	.L746
				movl	%edx, %eax
				subl	%edx, %edi
		.L642:
				leal	(%rax,%rdi), %edx
				cmpl	%r8d, %eax
				jne	.L642
				movl	%eax, X.6441(%rip)
				addl	%edi, %eax
				movl	%eax, BP.6528(%rip)
				jmp	.L746
		.LVL608:
		.L640:
 2577              x = x+1;  bp=bp+1 %AND buff(bp)=byteinteger(x)
				addl	$1, %eax
 2578           %REPEAT
 2579        %FINISH
				movslq	%eax, %rcx
				movzbl	(%rcx), %esi
				movq	8(%r9), %rcx
				movslq	%edx, %rdx
				movb	%sil, 104710(%rcx,%rdx)
		.LDL31:
 2580        %IF x&x'2000' # 0 %START;                    !real
 2581           x = x-x'2000'+stbase
 2582           k = byteinteger(x)
 2583           op('D', k);  bp=bp+1 %AND buff(bp)=','
 2584           k = k+x
 2585           %CYCLE
 2586              ->top %IF x = k
 2587              x = x+1;  j = byteinteger(x)
 2588              %IF j = '@' %START
 2589                 op('@', litpool(byteinteger(x+1)));  ->top
 2590              %FINISH
 2591              bp=bp+1 %AND buff(bp)=j
 2592           %REPEAT
 2593        %FINISH
 2594        set const(lit pool(x))
 2595        ->top
 2596
 2597 c(137):bp=bp+1 %AND buff(bp)='i';               ->top;         !asep
 2598 c(141):bp=bp+1 %AND buff(bp)='a';               ->top;         !arb
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2599
				movq	(%rsp), %rbx
		.LVL614:
				movq	8(%rbx), %rdx
				cltq
				movb	$105, 104710(%rdx,%rax)
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2600 !own arrays
				jmp	.L746
		.LVL615:
		.L644:
				movq	(%rsp), %rbx
		.LVL616:
				movq	8(%rbx), %rdx
				cltq
				movb	$97, 104710(%rdx,%rax)
 2601
				jmp	.L746
		.LVL617:
		.L645:
 2602 c(132):ocount = ub-lb+1
 2603        def(x);                               !oident
				movl	UB.7554(%rip), %eax
				subl	LB.7553(%rip), %eax
				addl	$1, %eax
				movl	%eax, OCOUNT.6500(%rip)
				leaq	112(%rsp), %rbx
		.LVL618:
				movq	%rbx, %r10
				movl	X.6441(%rip), %edi
				call	DEF.7626
		.LVL619:
 2604        dimension = 1;  set subs(1)
				movl	$1, DIMENSION.6510(%rip)
 2605        %IF next = 0 %START;                  !no initialisation
				movq	%rbx, %r10
				movl	$1, %edi
				call	SETSUBS.7601
		.LVL620:
				cmpl	$0, 148(%rsp)
				jne	.L646
 2606           op('A', ocount) %IF ocount > 0
				movl	OCOUNT.6500(%rip), %esi
				testl	%esi, %esi
				jg	.L780
		.L647:
 2607           ocount = -1
				movl	$-1, OCOUNT.6500(%rip)
				movq	(%rsp), %rax
				movq	8(%rax), %r10
				movl	$65, %edi
				call	OP.6644
		.LVL621:
				jmp	.L647
		.L646:
 2608        %FINISH %ELSE %START;                 !initialisation given
				jmp	.L746
		.L780:
 2609           get next
				leaq	112(%rsp), %r10
				call	GETNEXT.7576
		.LVL622:
				jmp	.L746
		.LVL623:
		.L648:
 2610        %FINISH
 2611        ->top
 2612 c(162):lit = ocount;  ->ins;                 !indef
 2613 c(143):pop lit;                              !orb
				movl	OCOUNT.6500(%rip), %eax
				movl	%eax, LIT.6518(%rip)
		.L649:
 2614 ins:   fault(10) %AND lit = 0 %IF lit < 0
				leaq	112(%rsp), %r10
				call	POPLIT.7673
		.LVL630:
				jmp	.L649
		.L781:
 2615        get next
				cmpl	$0, LIT.6518(%rip)
				js	.L781
		.L651:
				leaq	112(%rsp), %r10
				call	GETNEXT.7576
		.LVL624:
		.L652:
 2616        ->inst
				movq	(%rsp), %r10
				movl	$10, %edi
				call	FAULT.6680
		.LVL631:
 2617 c(139):                                      !osep (x=19)
				movl	$0, LIT.6518(%rip)
				jmp	.L651
		.L653:
		.L654:
 2618 c(153):lit = 1
 2619 inst:  pop def %IF pending # 0;              !ownt (x=0)
				movl	$1, LIT.6518(%rip)
				jmp	.L652
		.LVL632:
		.L782:
 2620        op('A', lit)
				movl	136(%rsp), %eax
				testl	%eax, %eax
				je	.L655
		.LBB546:
		.LBB547:
				movl	LIT.6518(%rip), %ebx
		.LVL626:
				movq	(%rsp), %rax
				movq	8(%rax), %r10
				movl	%ebx, %esi
				movl	$65, %edi
				call	OP.6644
		.LVL627:
 2621        ocount = ocount-lit
				movl	OCOUNT.6500(%rip), %eax
				subl	%ebx, %eax
				movl	%eax, OCOUNT.6500(%rip)
 2622        %IF ocount >= 0 %START
				testl	%eax, %eax
				js	.L658
 2623           ->top %IF x # 0;                          !more coming
				cmpl	$0, X.6441(%rip)
				jne	.L746
		.L657:
 2624           ocount = -1 %AND %RETURN %IF ocount = 0;  !all done
				testl	%eax, %eax
				je	.L782
		.L656:
		.L658:
 2625        %FINISH
				movl	$-1, OCOUNT.6500(%rip)
 2626        fault(11);  %RETURN
				movq	(%rsp), %r10
				movl	$11, %edi
				call	FAULT.6680
		.LVL628:
				jmp	.L431
		.LVL629:
		.L650:
				jmp	.L431
		.LVL633:
		.L659:
 2627
 2628 c(swit):op('W', tag(x)_index);  inhibit = 1;  ->atop
 2629 c(134):def(x);                               !swid
				movq	(%rsp), %rbx
		.LVL634:
				movq	8(%rbx), %r10
				movslq	X.6441(%rip), %rax
				addq	$13, %rax
				salq	$4, %rax
				movswl	14(%r10,%rax), %esi
				movl	$87, %edi
				call	OP.6644
		.LVL635:
 2630        n = ub-lb+1
				movl	$1, 20(%rbx)
				leaq	112(%rsp), %r10
				movl	X.6441(%rip), %edi
				call	DEF.7626
		.LVL637:
				movl	UB.7554(%rip), %ecx
				subl	LB.7553(%rip), %ecx
 2631        n = (n+15)>>4;                        !slots needed (includes zero)
				jmp	.L469
		.LVL636:
		.L660:
				addl	$16, %ecx
				shrl	$4, %ecx
				movl	%ecx, %ebp
		.LVL638:
 2632        j = dmax;  dmax = dmax+n+2
				movl	DMAX.6489(%rip), %ebx
		.LVL639:
 2633        abandon(1) %IF dmax >= dmin
				leal	2(%rcx,%rbx), %eax
				movl	%eax, DMAX.6489(%rip)
				movq	(%rsp), %rdx
				cmpl	52(%rdx), %eax
				jge	.L783
		.LVL640:
		.L661:
 2634        tag(x)_format = j
				movslq	X.6441(%rip), %rax
				addq	$13, %rax
				salq	$4, %rax
				movq	(%rsp), %rsi
				addq	8(%rsi), %rax
				movl	%ebx, 8(%rax)
				movq	8(%rdx), %r10
				movl	$1, %edi
				call	ABANDON.6570
		.LVL645:
				jmp	.L661
		.LVL646:
		.L663:
 2635        dict(j) = lb;  dict(j+1) = ub
				movq	8(%rsi), %rdx
				leal	-1(%rbx), %eax
				cltq
				movl	LB.7553(%rip), %ecx
				movw	%cx, 26836(%rdx,%rax,2)
 2636        %CYCLE
				movq	8(%rsi), %rdx
				movslq	%ebx, %rax
				movl	UB.7554(%rip), %ecx
				movw	%cx, 26836(%rdx,%rax,2)
		.LVL641:
 2637           n = n-1
 2638           ->top %IF n < 0
				movl	%ebp, %eax
				subl	$1, %eax
				js	.L746
				leal	(%rbx,%rbp), %ecx
		.LVL642:
		.L662:
				cmpl	%ecx, %ebx
				jne	.L662
				jmp	.L746
		.LVL644:
		.L783:
 2639           j = j+1;  dict(j+1) = 0
				addl	$1, %ebx
		.LVL643:
 2640        %REPEAT
				movq	8(%rsi), %rax
				movslq	%ebx, %rdx
				movw	$0, 26836(%rax,%rdx,2)
		.LDL32:
 2641 c(151):stats = stats-1;                      !slab
 2642        fault(7) %AND %RETURN %IF x < tbase
				subl	$1, STATS.6457(%rip)
				movl	X.6441(%rip), %eax
				movq	(%rsp), %rbx
		.LVL647:
				cmpl	68(%rbx), %eax
				jl	.L784
		.L664:
 2643        %IF pending # 0 %START;               !explicit label
				cmpl	$0, 136(%rsp)
				jne	.L785
		.L665:
				movslq	%eax, %rdx
				salq	$4, %rdx
				movq	(%rsp), %rbx
				addq	8(%rbx), %rdx
				movq	%rbx, %r10
				movl	$7, %edi
				call	FAULT.6680
		.LVL657:
				jmp	.L431
		.L785:
 2644           def s lab(pstack(1))
				leaq	112(%rsp), %r10
				movl	PSTACK.7569(%rip), %edi
				call	DEFSLAB.7650
		.LVL658:
		.L666:
		.L674:
 2645        %FINISH %ELSE %START
 2646           fault(4) %AND %RETURN %IF tag(x)_app # 0
				cmpl	$0, 212(%rdx)
				jne	.L786
		.L667:
 2647           tag(x)_app = 1
				movl	$1, 212(%rdx)
				movq	%rbx, %r10
				movl	$4, %edi
				call	FAULT.6680
		.LVL659:
				jmp	.L431
		.LVL660:
		.L787:
		.LBB550:
 2648           n = tag(x)_format
				movq	(%rsp), %rbx
				movq	8(%rbx), %rdx
		.LVL648:
				cltq
		.LVL649:
				addq	$13, %rax
		.LVL650:
				salq	$4, %rax
		.LVL651:
				movslq	8(%rdx,%rax), %rax
				leaq	(%rdx,%rax,2), %rax
		.LBB548:
 2649           %FOR j = dict(n), 1, dict(n+1) %CYCLE
 2650              def s lab(j)
				movswl	26834(%rax), %ebx
		.LVL652:
				movswl	26836(%rax), %ebp
		.LVL653:
				leaq	112(%rsp), %r12
				movq	(%rsp), %r13
				jmp	.L672
		.LVL656:
		.L784:
		.LBE548:
				movq	%r12, %r10
				movl	%ebx, %edi
				call	DEFSLAB.7650
		.LVL668:
 2651              flush buffer %IF bp >= 128
				cmpl	%ebx, %ebp
				js	.L787
		.LVL654:
		.L668:
				leaq	3008(%rsp), %rdi
				leaq	.LC7(%rip), %rsi
				call	_imp_c2istr@PLT
		.LVL661:
				movl	_imp_current_line(%rip), %r12d
				testl	%r12d, %r12d
				jne	.L669
				movl	$2651, %r12d
		.L669:
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L670
				leaq	3264(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL662:
		.L671:
				subq	$256, %rsp
				leaq	3264(%rsp), %rsi
				movl	$32, %ecx
				movq	%rsp, %rdi
				rep movsq
				subq	$256, %rsp
				leaq	3776(%rsp), %rsi
				movl	$32, %ecx
				movq	%rsp, %rdi
				rep movsq
				movl	$1, %edx
				movl	$5, %esi
				movl	%r12d, %edi
				call	_signal_event@PLT
		.LVL663:
				addq	$512, %rsp
				jmp	.L668
		.L670:
		.LVL664:
		.LBB549:
				movabsq	$8603403804667503988, %rax
				movabsq	$4068493685302587439, %rdx
				movq	%rax, 2497(%rsp)
				movq	%rdx, 2505(%rsp)
				movabsq	$7883958449920159028, %rax
				movabsq	$482871946867, %rdx
				movq	%rax, 2513(%rsp)
				movq	%rdx, 2521(%rsp)
				leaq	2529(%rsp), %rdi
				movl	$223, %ecx
				movl	$0, %eax
				rep stosb
				movb	$29, 2496(%rsp)
				leaq	1216(%rsp), %rdi
				leaq	2496(%rsp), %rsi
				movl	$32, %ecx
				rep movsq
		.LVL665:
		.LBE549:
				movb	$29, 1216(%rsp)
				leaq	3264(%rsp), %rdi
				leaq	1216(%rsp), %rsi
				movl	$32, %ecx
				rep movsq
				jmp	.L671
		.LVL666:
		.L673:
				cmpl	$127, BP.6528(%rip)
				jle	.L673
 2652           %REPEAT
				subl	$1, %ebx
		.LVL655:
				movq	8(%r13), %r10
				call	FLUSHBUFFER.6538
		.LVL669:
				jmp	.L673
		.LVL670:
		.L675:
		.LBE550:
 2653        %FINISH
 2654        inhibit = 1
				cmpl	%ebx, %ebp
				je	.L674
				movq	(%rsp), %rax
				movl	$1, 20(%rax)
				cmpl	%ebx, %ebp
				je	.L674
		.L672:
 2655        %RETURN
				jmp	.L431
		.L786:
				addl	$1, %ebx
		.LVL667:
 2656
 2657 c(140):bp=bp+1 %AND buff(bp)='p';                  ->top;          !psep
 2658 c(144):buff(bp+1)='p';  buff(bp+2)='E';  bp=bp+2;  ->top;          !prb
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2659
				movq	(%rsp), %rbx
		.LVL671:
				movq	8(%rbx), %rdx
				cltq
				movb	$112, 104710(%rdx,%rax)
				movl	BP.6528(%rip), %eax
				movq	(%rsp), %rbx
		.LVL673:
				movq	8(%rbx), %rcx
				movslq	%eax, %rdx
				movb	$112, 104710(%rcx,%rdx)
 2660 !constant expressions
				jmp	.L746
		.LVL672:
		.L676:
				movq	8(%rbx), %rcx
				leal	1(%rax), %edx
				movslq	%edx, %rdx
				movb	$69, 104710(%rcx,%rdx)
 2661
				addl	$2, %eax
				movl	%eax, BP.6528(%rip)
 2662 c(155):                                      !pconst
				jmp	.L746
		.LVL674:
		.L677:
 2663        %IF x < 0 %THEN lit = tag(-x)_format %c
				movl	X.6441(%rip), %eax
				testl	%eax, %eax
				js	.L788
		.L678:
 2664                  %ELSE lit = lit pool(x)
				negl	%eax
				cltq
				addq	$13, %rax
				salq	$4, %rax
				movq	(%rsp), %rbx
		.LVL677:
				addq	8(%rbx), %rax
				movl	8(%rax), %eax
				movl	%eax, LIT.6518(%rip)
 2665        pending = pending+1;     pstack(pending) = lit;  ->top
				movl	136(%rsp), %eax
				leal	1(%rax), %edx
				movl	%edx, 136(%rsp)
				jmp	.L679
		.LVL678:
		.L680:
 2666 c(156):lit = pstack(pending);  lit = -lit %IF lit < 0
				cltq
				leaq	PSTACK.7569(%rip), %rdx
				movl	LIT.6518(%rip), %ecx
				movl	%ecx, (%rdx,%rax,4)
 2667                                 pstack(pending) = lit;  ->top;  !cmod
				movq	(%rsp), %rbx
		.LVL675:
				movq	8(%rbx), %rdx
				cltq
				movl	(%rdx,%rax,4), %eax
				movl	%eax, LIT.6518(%rip)
		.L679:
				jmp	.L746
		.LVL676:
		.L788:
				movl	136(%rsp), %eax
				subl	$1, %eax
				movslq	%eax, %rcx
				leaq	PSTACK.7569(%rip), %rdx
				movl	(%rdx,%rcx,4), %ecx
				cltq
				leaq	PSTACK.7569(%rip), %rcx
				movl	%edx, (%rcx,%rax,4)
 2668 c(157):lit = -pstack(pending);  pstack(pending) = lit;  ->top;  !csign
				jmp	.L746
		.L682:
 2669 c(158):lit = \pstack(pending);  pstack(pending) = lit;  ->top;  !cuop
				movl	%ecx, %edx
				negl	%edx
				testl	%ecx, %ecx
				cmovns	%ecx, %edx
				movl	%edx, LIT.6518(%rip)
		.L681:
				movl	136(%rsp), %eax
				subl	$1, %eax
				leaq	PSTACK.7569(%rip), %rcx
				cltq
				movl	(%rcx,%rax,4), %edx
				negl	%edx
				movl	%edx, LIT.6518(%rip)
 2670 c(159):                                      !cop1
				movl	%edx, (%rcx,%rax,4)
				movl	136(%rsp), %eax
				subl	$1, %eax
				leaq	PSTACK.7569(%rip), %rcx
				cltq
				movl	(%rcx,%rax,4), %edx
				notl	%edx
				movl	%edx, LIT.6518(%rip)
 2671 c(160):                                      !cop2
				jmp	.L746
		.L683:
				movl	%edx, (%rcx,%rax,4)
 2672 c(161):pending = pending-1;                  !cop3
				jmp	.L746
		.L684:
		.L686:
 2673        lit2 = pstack(pending+1);  lit = pstack(pending)
				leaq	PSTACK.7569(%rip), %r12
		.L717:
				jmp	*%rax
		.LVL433:
		.L757:
				movl	136(%rsp), %eax
				leal	-1(%rax), %edx
				movl	%edx, 136(%rsp)
				movslq	%edx, %rdx
				movl	(%r12,%rdx,4), %edx
				movl	%edx, 28(%rsp)
		.LVL679:
 2674        ->litop(x>>2)
				subl	$2, %eax
				cltq
				movl	(%r12,%rax,4), %eax
				movl	%eax, LIT.6518(%rip)
		.LVL680:
				movl	X.6441(%rip), %eax
				shrl	$2, %eax
				movl	%eax, 32(%rsp)
		.LVL681:
				leaq	.LC2(%rip), %rax
		.LVL682:
				movq	%rax, 48(%rsp)
				movl	$2674, 44(%rsp)
		.LVL683:
		.L687:
 2675 litop(10):lit = lit*lit2;   ->setl
 2676 litop(12):
				movl	28(%rsp), %eax
				imull	LIT.6518(%rip), %eax
				movl	%eax, LIT.6518(%rip)
 2677 litop(3):n = 1;                              !lit = lit\\lit2
				jmp	.L705
		.L690:
		.L691:
		.LVL686:
 2678          fault(10) %IF lit2 < 0
				cmpl	$0, 28(%rsp)
				js	.L789
		.L692:
 2679          %WHILE lit2 > 0 %CYCLE
				movq	(%rsp), %r10
				movl	$10, %edi
				call	FAULT.6680
		.LVL693:
				jmp	.L692
		.LVL694:
		.L734:
 2680             lit2 = lit2-1
				movl	28(%rsp), %ecx
				testl	%ecx, %ecx
				jle	.L734
				subl	$1, %ecx
		.LVL689:
				jne	.L694
				movl	%ecx, 28(%rsp)
		.LVL690:
		.L693:
				movl	$1, %eax
				jmp	.L693
		.LVL695:
		.L695:
 2681             n = n*lit
				movl	LIT.6518(%rip), %edx
				movl	$1, %eax
		.LVL687:
		.L694:
				imull	%edx, %eax
		.LVL688:
 2682          %REPEAT
 2683          lit = n;           ->setl
				movl	%eax, LIT.6518(%rip)
		.L689:
		.LVL691:
		.L705:
 2684 litop(1):lit = lit<<lit2;   ->setl
 2685 litop(2):lit = lit>>lit2;   ->setl
				movzbl	28(%rsp), %ecx
				sall	%cl, LIT.6518(%rip)
 2686 litop(5):lit = lit&lit2;    ->setl
				jmp	.L705
		.L696:
				movzbl	28(%rsp), %ecx
				shrl	%cl, LIT.6518(%rip)
 2687 litop(11):
				jmp	.L705
		.L697:
				movl	28(%rsp), %eax
				andl	%eax, LIT.6518(%rip)
 2688 litop(4):%IF lit2 = 0 %THEN fault(10) %ELSE lit = lit//lit2
				jmp	.L705
		.L698:
		.L699:
 2689                             ->setl
				cmpl	$0, 28(%rsp)
				je	.L790
		.L700:
 2690 litop(8):lit = lit+lit2;    ->setl
				movq	(%rsp), %r10
				movl	$10, %edi
				call	FAULT.6680
		.LVL696:
				jmp	.L705
		.L701:
 2691 litop(9):lit = lit-lit2;    ->setl
				movl	28(%rsp), %eax
				addl	%eax, LIT.6518(%rip)
 2692 litop(6):lit = lit!lit2;    ->setl
				jmp	.L705
		.L702:
				movl	28(%rsp), %eax
				subl	%eax, LIT.6518(%rip)
 2693 litop(7):lit = lit!!lit2
				movslq	LIT.6518(%rip), %rax
				movslq	28(%rsp), %rcx
				cqto
				idivq	%rcx
				movl	%eax, LIT.6518(%rip)
				jmp	.L705
		.L790:
				jmp	.L705
		.L703:
				movl	28(%rsp), %eax
				orl	%eax, LIT.6518(%rip)
 2694
				jmp	.L705
		.L704:
				movl	28(%rsp), %eax
				xorl	%eax, LIT.6518(%rip)
				jmp	.L705
		.L706:
 2695 setl: pstack(pending) = lit;  ->top
 2696
				movl	136(%rsp), %eax
				subl	$1, %eax
				cltq
				leaq	PSTACK.7569(%rip), %rdx
				movl	LIT.6518(%rip), %ecx
				movl	%ecx, (%rdx,%rax,4)
 2697 c(170):Fault(4) %if IMPCOM_Option # ""
				jmp	.L746
		.LVL692:
		.L789:
 2698        IMPCOM_Option = String(x-x'4000'+Stbase);      !Option string
 2699        ->Top
 2700
				leaq	1472(%rsp), %rsi
				leaq	280+IMPCOM(%rip), %rdi
				call	_imp_strcmp@PLT
		.LVL697:
				testl	%eax, %eax
				je	.L707
				leaq	1728(%rsp), %rsi
				movl	$255, %edx
				leaq	280+IMPCOM(%rip), %rdi
				call	_imp_strncpy@PLT
		.LVL699:
				jmp	.L746
		.L708:
		.LVL700:
 2701 !string resolution
 2702
 2703 c(135):resln = 2;                    ->top;           !dotl
				movq	(%rsp), %r10
				movl	$4, %edi
				call	FAULT.6680
		.LVL698:
		.L707:
 2704 c(136):resln = resln+1;              ->top;           !dotr
				movl	$2, 24(%rsp)
 2705 c(55): op('r', resln);    resln = 0; ->top;           !resop
				jmp	.L746
		.LVL701:
		.L709:
				addl	$1, 24(%rsp)
		.LVL702:
 2706 c(164):op('r', resln+4);  resln = 0;                  !cresop
				jmp	.L746
		.L710:
				movq	(%rsp), %rax
				movq	8(%rax), %r10
				movl	24(%rsp), %esi
				movl	$114, %edi
				call	OP.6644
		.LVL703:
 2707 c(122):x = 6;                        ->cop;           !%PRED
				movl	$0, 24(%rsp)
		.LVL704:
				jmp	.L746
		.LVL705:
		.L711:
				movl	24(%rsp), %esi
				addl	$4, %esi
				movq	(%rsp), %rax
				movq	8(%rax), %r10
				movl	$114, %edi
				call	OP.6644
		.LVL706:
 2708 c(87): set const(pstack(1));                          !mass
				movl	$0, 24(%rsp)
		.LVL707:
		.L712:
				movl	$6, X.6441(%rip)
		.L554:
		.LVL708:
		.L557:
 2709        bp=bp+1 %AND buff(bp)='P';    ->top
				movq	(%rsp), %rbx
		.LVL714:
				movq	8(%rbx), %r10
				movl	PSTACK.7569(%rip), %edi
				call	SETCONST.6647
		.LVL715:
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2710    %END
				movq	8(%rbx), %rdx
				cltq
				movb	$80, 104710(%rdx,%rax)
		.L445:
 2711
				jmp	.L746
		.LVL716:
		.L448:
 2712 %END;                                                 !of compile block
				cmpl	$180, %ebx
				ja	.L448
		.L449:
				movl	_imp_current_line(%rip), %r12d
				testl	%r12d, %r12d
				movl	$2712, %eax
				cmove	%eax, %r12d
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L715
				leaq	3520(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL717:
		.L716:
				pushq	$2225
				leaq	.LC2(%rip), %rax
				pushq	%rax
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				pushq	3784(%rsp)
				movl	%ebx, %r9d
				leaq	.LC8(%rip), %r8
				movl	%ebx, %ecx
				movl	$3, %edx
				movl	$6, %esi
				movl	%r12d, %edi
				movl	$0, %eax
				call	_signal_eventf@PLT
		.LVL718:
				addq	$272, %rsp
				jmp	.L449
		.L715:
		.LVL719:
		.LBB551:
				movabsq	$8603403804667503988, %rax
				movabsq	$4068493685302587439, %rdx
				movq	%rax, 2497(%rsp)
				movq	%rdx, 2505(%rsp)
				movabsq	$7883958449920159028, %rax
				movabsq	$482871946867, %rdx
				movq	%rax, 2513(%rsp)
				movq	%rdx, 2521(%rsp)
				movb	$0, 2529(%rsp)
				movw	$0, 2530(%rsp)
				movl	$0, 2532(%rsp)
				leaq	2536(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
				movb	$29, 2496(%rsp)
				movq	2496(%rsp), %rax
				movq	2504(%rsp), %rdx
				movq	%rax, 1984(%rsp)
				movq	%rdx, 1992(%rsp)
				movdqa	2512(%rsp), %xmm13
				movaps	%xmm13, 2000(%rsp)
				movdqa	2528(%rsp), %xmm15
				movaps	%xmm15, 2016(%rsp)
				movdqa	2544(%rsp), %xmm0
				movaps	%xmm0, 2032(%rsp)
				movdqa	2560(%rsp), %xmm2
				movaps	%xmm2, 2048(%rsp)
				movdqa	2576(%rsp), %xmm4
				movaps	%xmm4, 2064(%rsp)
				movdqa	2592(%rsp), %xmm9
				movaps	%xmm9, 2080(%rsp)
				movdqa	2608(%rsp), %xmm7
				movaps	%xmm7, 2096(%rsp)
				movdqa	2624(%rsp), %xmm5
				movaps	%xmm5, 2112(%rsp)
				movdqa	2640(%rsp), %xmm3
				movaps	%xmm3, 2128(%rsp)
				movdqa	2656(%rsp), %xmm1
				movaps	%xmm1, 2144(%rsp)
				movdqa	2672(%rsp), %xmm11
				movaps	%xmm11, 2160(%rsp)
				movq	2688(%rsp), %r13
				movq	2696(%rsp), %r14
				movq	%r13, 2176(%rsp)
				movq	%r14, 2184(%rsp)
				movq	2704(%rsp), %r9
				movq	2712(%rsp), %r10
				movq	%r9, 2192(%rsp)
				movq	%r10, 2200(%rsp)
				movq	2720(%rsp), %rsi
				movq	2728(%rsp), %rdi
				movq	%rsi, 2208(%rsp)
				movq	%rdi, 2216(%rsp)
				movq	2736(%rsp), %rax
				movq	2744(%rsp), %rdx
				movq	%rax, 2224(%rsp)
				movq	%rdx, 2232(%rsp)
		.LVL720:
		.LBE551:
				movb	$29, 1984(%rsp)
				movdqa	1984(%rsp), %xmm6
				movaps	%xmm6, 3520(%rsp)
				movaps	%xmm13, 3536(%rsp)
				movaps	%xmm15, 3552(%rsp)
				movaps	%xmm0, 3568(%rsp)
				movaps	%xmm2, 3584(%rsp)
				movaps	%xmm4, 3600(%rsp)
				movaps	%xmm9, 3616(%rsp)
				movaps	%xmm7, 3632(%rsp)
				movaps	%xmm5, 3648(%rsp)
				movaps	%xmm3, 3664(%rsp)
				movaps	%xmm1, 3680(%rsp)
				movaps	%xmm11, 3696(%rsp)
				movq	%r13, 3712(%rsp)
				movq	%r14, 3720(%rsp)
				movq	%r9, 3728(%rsp)
				movq	%r10, 3736(%rsp)
				movq	%rsi, 3744(%rsp)
				movq	%rdi, 3752(%rsp)
				movq	%rax, 3760(%rsp)
				movq	%rdx, 3768(%rsp)
				jmp	.L716
		.L718:
 2713
				movslq	%ebx, %rax
				leaq	C.7396(%rip), %rcx
				movq	(%rcx,%rax,8), %rax
		.LBB531:
				movq	1688(%rsp), %rax
				xorq	%fs:40, %rax
				jne	.L950
				addq	$1704, %rsp
				popq	%rbx
				popq	%rbp
				popq	%r12
				popq	%r13
				popq	%r14
				popq	%r15
				ret
		.L949:
				call	__stack_chk_fail@PLT
		.LVL944:
		.LFE191:
				.section	.rodata
				.align 32
		.LC0:
				.align 8
		.LC15:
				.string	"         Edinburgh IMP77 Compiler - Version "
				.zero	210
				.globl	main
		main:
		.LFB185:
 2714    %ON 9 %START
				movl	$1, %esi
				leaq	536+_imp_event(%rip), %rdi
				call	__sigsetjmp@PLT
		.LVL948:
				testl	%eax, %eax
				jne	.L953
		.LVL949:
				movl	$512, %esi
				leaq	_imp_event(%rip), %rdi
				call	_imp_on_event_enter@PLT
		.LVL950:
				testq	%rax, %rax
				je	.L953
		.LVL951:
		.L954:
 2715       abandon(5)
				movabsq	$8603403804667503988, %r13
				movabsq	$4068493685302587439, %r14
		.LBE531:
				movl	_imp_current_line(%rip), %ebp
				testl	%ebp, %ebp
				movl	$2715, %eax
				cmove	%eax, %ebp
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L720
				leaq	3776(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL721:
		.L721:
				pushq	$2225
				leaq	.LC2(%rip), %rax
				pushq	%rax
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				pushq	4040(%rsp)
				movl	%ebx, %r9d
				leaq	.LC9(%rip), %r8
				movl	%ebx, %ecx
				movl	$2, %edx
				movl	$8, %esi
				movl	%ebp, %edi
				movl	$0, %eax
				call	_signal_eventf@PLT
		.LVL722:
				addq	$272, %rsp
				jmp	.L687
		.L720:
		.LVL723:
		.LBB552:
				movq	%r13, 2497(%rsp)
				movq	%r14, 2505(%rsp)
				movabsq	$7883958449920159028, %rax
				movabsq	$482871946867, %rdx
				movq	%rax, 2513(%rsp)
				movq	%rdx, 2521(%rsp)
				movb	$0, 2529(%rsp)
				movw	$0, 2530(%rsp)
				movl	$0, 2532(%rsp)
				leaq	2536(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
				movb	$29, 2496(%rsp)
				movq	2496(%rsp), %rax
				movq	2504(%rsp), %rdx
				movq	%rax, 2240(%rsp)
				movq	%rdx, 2248(%rsp)
				movdqa	2512(%rsp), %xmm9
				movaps	%xmm9, 2256(%rsp)
				movdqa	2528(%rsp), %xmm7
				movaps	%xmm7, 2272(%rsp)
				movdqa	2544(%rsp), %xmm5
				movaps	%xmm5, 2288(%rsp)
				movdqa	2560(%rsp), %xmm3
				movaps	%xmm3, 2304(%rsp)
				movdqa	2576(%rsp), %xmm1
				movaps	%xmm1, 2320(%rsp)
				movq	2592(%rsp), %r9
				movq	2600(%rsp), %r10
				movq	%r9, 2336(%rsp)
				movq	%r10, 2344(%rsp)
				movq	2608(%rsp), %rsi
				movq	2616(%rsp), %rdi
				movq	%rsi, 2352(%rsp)
				movq	%rdi, 2360(%rsp)
				movq	2624(%rsp), %rax
				movq	2632(%rsp), %rdx
				movq	%rax, 2368(%rsp)
				movq	%rdx, 2376(%rsp)
				movdqa	2640(%rsp), %xmm11
				movaps	%xmm11, 2384(%rsp)
				movdqa	2656(%rsp), %xmm13
				movaps	%xmm13, 2400(%rsp)
				movdqa	2672(%rsp), %xmm15
				movaps	%xmm15, 2416(%rsp)
				movdqa	2688(%rsp), %xmm0
				movaps	%xmm0, 2432(%rsp)
				movdqa	2704(%rsp), %xmm2
				movaps	%xmm2, 2448(%rsp)
				movdqa	2720(%rsp), %xmm4
				movaps	%xmm4, 2464(%rsp)
				movdqa	2736(%rsp), %xmm6
				movaps	%xmm6, 2480(%rsp)
		.LVL724:
		.LBE552:
				movb	$29, 2240(%rsp)
				movdqa	2240(%rsp), %xmm10
				movaps	%xmm10, 3776(%rsp)
				movaps	%xmm9, 3792(%rsp)
				movaps	%xmm7, 3808(%rsp)
				movaps	%xmm5, 3824(%rsp)
				movaps	%xmm3, 3840(%rsp)
				movaps	%xmm1, 3856(%rsp)
				movq	%r9, 3872(%rsp)
				movq	%r10, 3880(%rsp)
				movq	%rsi, 3888(%rsp)
				movq	%rdi, 3896(%rsp)
				movq	%rax, 3904(%rsp)
				movq	%rdx, 3912(%rsp)
				movaps	%xmm11, 3920(%rsp)
				movaps	%xmm13, 3936(%rsp)
				movaps	%xmm15, 3952(%rsp)
				movaps	%xmm0, 3968(%rsp)
				movaps	%xmm2, 3984(%rsp)
				movaps	%xmm4, 4000(%rsp)
				movaps	%xmm6, 4016(%rsp)
				jmp	.L721
		.L724:
		.LVL725:
		.LBB553:
				leaq	1792(%rsp), %r10
				movl	$5, %edi
				call	ABANDON.6570
		.LVL974:
				jmp	.L954
		.LFE185:
				.section	.data.rel.ro.local,"aw",@progbits
				.align 32
		FM.6685:
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.quad	.L391
				.align 32
		LITOP.7530:
				.quad	.L695
				.quad	.L696
				.quad	.L691
				.quad	.L699
				.quad	.L697
				.quad	.L703
				.quad	.L704
				.quad	.L701
				.quad	.L702
				.quad	.L688
				.quad	.L698
				.quad	.L690
				.align 32
		C.7396:
				.quad	.L444
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L481
				.quad	.L472
				.quad	.L479
				.quad	.L480
				.quad	.L476
				.quad	.L477
				.quad	.L490
				.quad	.L473
				.quad	.L474
				.quad	.L486
				.quad	.L485
				.quad	.L492
				.quad	.L491
				.quad	.L718
				.quad	.L495
				.quad	.L511
				.quad	.L512
				.quad	.L513
				.quad	.L507
				.quad	.L508
				.quad	.L509
				.quad	.L510
				.quad	.L555
				.quad	.L553
				.quad	.L568
				.quad	.L570
				.quad	.L569
				.quad	.L718
				.quad	.L710
				.quad	.L514
				.quad	.L515
				.quad	.L516
				.quad	.L518
				.quad	.L519
				.quad	.L718
				.quad	.L523
				.quad	.L547
				.quad	.L538
				.quad	.L567
				.quad	.L718
				.quad	.L533
				.quad	.L529
				.quad	.L525
				.quad	.L527
				.quad	.L534
				.quad	.L524
				.quad	.L718
				.quad	.L571
				.quad	.L578
				.quad	.L576
				.quad	.L575
				.quad	.L561
				.quad	.L562
				.quad	.L563
				.quad	.L566
				.quad	.L564
				.quad	.L593
				.quad	.L594
				.quad	.L592
				.quad	.L595
				.quad	.L713
				.quad	.L471
				.quad	.L565
				.quad	.L616
				.quad	.L630
				.quad	.L631
				.quad	.L640
				.quad	.L718
				.quad	.L718
				.quad	.L624
				.quad	.L621
				.quad	.L622
				.quad	.L623
				.quad	.L626
				.quad	.L627
				.quad	.L628
				.quad	.L629
				.quad	.L545
				.quad	.L659
				.quad	.L632
				.quad	.L633
				.quad	.L634
				.quad	.L635
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L532
				.quad	.L637
				.quad	.L712
				.quad	.L718
				.quad	.L620
				.quad	.L614
				.quad	.L500
				.quad	.L499
				.quad	.L610
				.quad	.L718
				.quad	.L611
				.quad	.L617
				.quad	.L645
				.quad	.L496
				.quad	.L660
				.quad	.L708
				.quad	.L709
				.quad	.L643
				.quad	.L517
				.quad	.L653
				.quad	.L675
				.quad	.L644
				.quad	.L605
				.quad	.L650
				.quad	.L676
				.quad	.L603
				.quad	.L604
				.quad	.L506
				.quad	.L497
				.quad	.L546
				.quad	.L718
				.quad	.L663
				.quad	.L475
				.quad	.L654
				.quad	.L602
				.quad	.L677
				.quad	.L680
				.quad	.L682
				.quad	.L683
				.quad	.L684
				.quad	.L685
				.quad	.L686
				.quad	.L648
				.quad	.L526
				.quad	.L711
				.quad	.L625
				.quad	.L522
				.quad	.L638
				.quad	.L505
				.quad	.L718
				.quad	.L706
				.quad	.L502
				.quad	.L503
				.quad	.L504
				.quad	.L501
				.quad	.L494
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.quad	.L718
				.comm	PSTACK.7569,160,32
				.comm	LB.7553,4,4
				.comm	UB.7554,4,4
				.comm	CNEST.7547,16,16
				.comm	NAME.7570,256,32
				.comm	COUNT.7571,4,4
				.comm	LAST.6964,4,4
				.comm	LT.6946,4,4
				.comm	LSA.6945,4,4
				.comm	LA2.6944,4,4
				.comm	LA1.6943,4,4
				.comm	KEY.6917,4,4
				.align 32
		PACTION.6929:
				.quad	.L870
				.quad	.L870
				.quad	.L870
				.quad	.L870
				.quad	.L870
				.quad	.L870
				.quad	.L870
				.quad	.L870
				.quad	.L870
				.quad	.L870
				.quad	.L870
				.quad	.L870
				.quad	.L870
				.quad	.L870
				.quad	.L870
				.quad	.L870
				.align 32
		ACT.6924:
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.quad	.L861
				.section	.rodata
				.align 16
		__PRETTY_FUNCTION__.5991:
				.string	"_imp_SELECTOUTPUT"
				.align 16
		__PRETTY_FUNCTION__.5987:
				.string	"_imp_SELECTINPUT"
				.section	.data.rel.ro.local
				.align 32
		REASON.6575:
				.quad	.L24
				.quad	.L24
				.quad	.L24
				.quad	.L24
				.quad	.L24
				.quad	.L24
				.quad	.L24
				.quad	.L24
				.quad	.L24
				.quad	.L24
				.data
				.align 4
		SPARENAMES.6412:
				.long	2047
				.comm	CLASS.6440,4,4
				.comm	ATOM1.6442,4,4
				.comm	ATOM2.6443,4,4
				.comm	SUBATOM.6444,4,4
				.comm	TYPE.6445,4,4
				.comm	APP.6446,4,4
				.comm	FORMAT.6447,4,4
				.comm	FAULTRATE.6450,4,4
				.comm	LINES.6451,4,4
				.comm	TEXTLINE.6452,4,4
				.comm	MARGIN.6453,4,4
				.comm	ERRORMARGIN.6454,4,4
				.comm	ERRORSYM.6455,4,4
				.comm	COLUMN.6456,4,4
				.comm	MONPOS.6458,4,4
				.align 4
		SYM.6459:
				.long	10
				.comm	SYMTYPE.6460,4,4
				.comm	QUOTE.6461,4,4
				.comm	ENDMARK.6462,4,4
				.align 4
		CONT.6463:
				.long	32
				.align 4
		CSYM.6464:
				.long	32
				.comm	DECL.6465,4,4
				.comm	DIM.6466,4,4
				.comm	SPECGIVEN.6467,4,4
				.comm	ESCAPECLASS.6468,4,4
				.comm	ATOMFLAGS.6470,4,4
				.comm	OTYPE.6471,4,4
				.align 4
		REALSLN.6472:
				.long	1
				.comm	LAST1.6473,4,4
				.comm	GENTYPE.6474,4,4
				.comm	PTYPE.6475,4,4
				.comm	PAPP.6476,4,4
				.comm	PFORMAT.6477,4,4
				.comm	FORCE.6478,4,4
				.comm	G.6479,4,4
				.comm	GG.6480,4,4
				.comm	MAPGG.6481,4,4
				.comm	FDEF.6482,4,4
				.align 4
		THIS.6483:
				.long	-1
				.comm	NMIN.6484,4,4
				.comm	NMAX.6485,4,4
				.comm	RBASE.6486,4,4
				.comm	STBASE.6487,4,4
				.align 4
		GMIN.6488:
				.long	1720
				.align 4
		DMAX.6489:
				.long	1
				.align 4
		TMIN.6490:
				.long	800
				.comm	SS.6491,4,4
				.comm	INCLUDELIST.6493,4,4
				.comm	INCLUDELEVEL.6494,4,4
				.comm	INCLUDE.6495,4,4
				.align 4
		PERM.6496:
				.long	1
				.comm	PROGMODE.6497,4,4
				.comm	SSTYPE.6498,4,4
				.comm	SPECMODE.6499,4,4
				.align 4
		OCOUNT.6500:
				.long	-1
				.comm	LIMIT.6501,4,4
				.comm	COPY.6502,4,4
				.comm	ORDER.6503,4,4
				.comm	DUBIOUS.6505,4,4
				.align 4
		DP.6506:
				.long	1
				.comm	POS1.6507,4,4
				.comm	POS2.6508,4,4
				.comm	POS.6509,4,4
				.comm	DIMENSION.6510,4,4
				.comm	LOCAL.6511,4,4
				.comm	FMBASE.6512,4,4
				.comm	SEARCHBASE.6513,4,4
				.comm	FORMATLIST.6514,4,4
				.align 32
		CHAR.6516:
				.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
				.comm	LIT.6518,4,4
				.comm	LP.6519,4,4
				.comm	BLOCKX.6520,4,4
				.align 4
		GMAX.6530:
				.long	719
				.align 32
		PHRASE.6531:
				.align 32
		GRAM.6534:
				.align 32
		GLINK.6535:
				.comm	STATS.6457,4,4
				.comm	BP.6528,4,4
				.comm	X.6441,4,4
				.align 4
		LIST.6521:
				.long	1
				.comm	IMPCOM,536,32
		.Letext0:
 2716    %FINISH
 2717
 2718 impcom_flags = 0
				movl	32(%rsp), %eax
				subl	$1, %eax
				cmpl	$11, %eax
				jbe	.L722
				movl	_imp_current_line(%rip), %ebp
				testl	%ebp, %ebp
				movl	$2718, %eax
				cmove	%eax, %ebp
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L724
				leaq	4032(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL684:
		.L725:
				movl	44(%rsp), %eax
				pushq	%rax
				pushq	56(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				pushq	4296(%rsp)
				movl	304(%rsp), %ecx
				movl	%ecx, %r9d
				leaq	.LC10(%rip), %r8
				movl	$3, %edx
				movl	$6, %esi
				movl	%ebp, %edi
				movl	$0, %eax
				call	_signal_eventf@PLT
		.LVL685:
				addq	$272, %rsp
		.L722:
				movq	%r13, 2497(%rsp)
				movq	%r14, 2505(%rsp)
				movabsq	$7883958449920159028, %rax
				movabsq	$482871946867, %rdx
				movq	%rax, 2513(%rsp)
				movq	%rdx, 2521(%rsp)
				movb	$0, 2529(%rsp)
				movw	$0, 2530(%rsp)
				movl	$0, 2532(%rsp)
				leaq	2536(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
				movb	$29, 2496(%rsp)
				movq	2496(%rsp), %rax
				movq	2504(%rsp), %rdx
				movq	%rax, 2752(%rsp)
				movq	%rdx, 2760(%rsp)
				movdqa	2512(%rsp), %xmm9
				movaps	%xmm9, 2768(%rsp)
				movdqa	2528(%rsp), %xmm7
				movaps	%xmm7, 2784(%rsp)
				movdqa	2544(%rsp), %xmm5
				movaps	%xmm5, 2800(%rsp)
				movdqa	2560(%rsp), %xmm3
				movaps	%xmm3, 2816(%rsp)
				movdqa	2576(%rsp), %xmm1
				movaps	%xmm1, 2832(%rsp)
				movq	2592(%rsp), %r9
				movq	2600(%rsp), %r10
				movq	%r9, 2848(%rsp)
				movq	%r10, 2856(%rsp)
				movq	2608(%rsp), %rsi
				movq	2616(%rsp), %rdi
				movq	%rsi, 2864(%rsp)
				movq	%rdi, 2872(%rsp)
				movq	2624(%rsp), %rax
				movq	2632(%rsp), %rdx
				movq	%rax, 2880(%rsp)
				movq	%rdx, 2888(%rsp)
				movdqa	2640(%rsp), %xmm11
				movaps	%xmm11, 2896(%rsp)
				movdqa	2656(%rsp), %xmm13
				movaps	%xmm13, 2912(%rsp)
				movdqa	2672(%rsp), %xmm15
				movaps	%xmm15, 2928(%rsp)
				movdqa	2688(%rsp), %xmm0
				movaps	%xmm0, 2944(%rsp)
				movdqa	2704(%rsp), %xmm2
				movaps	%xmm2, 2960(%rsp)
				movdqa	2720(%rsp), %xmm4
				movaps	%xmm4, 2976(%rsp)
				movdqa	2736(%rsp), %xmm6
				movaps	%xmm6, 2992(%rsp)
		.LVL726:
		.LBE553:
				movb	$29, 2752(%rsp)
				movdqa	2752(%rsp), %xmm8
				movaps	%xmm8, 4032(%rsp)
				movaps	%xmm9, 4048(%rsp)
				movaps	%xmm7, 4064(%rsp)
				movaps	%xmm5, 4080(%rsp)
				movaps	%xmm3, 4096(%rsp)
				movaps	%xmm1, 4112(%rsp)
				movq	%r9, 4128(%rsp)
				movq	%r10, 4136(%rsp)
				movq	%rsi, 4144(%rsp)
				movq	%rdi, 4152(%rsp)
				movq	%rax, 4160(%rsp)
				movq	%rdx, 4168(%rsp)
				movaps	%xmm11, 4176(%rsp)
				movaps	%xmm13, 4192(%rsp)
				movaps	%xmm15, 4208(%rsp)
				movaps	%xmm0, 4224(%rsp)
				movaps	%xmm2, 4240(%rsp)
				movaps	%xmm4, 4256(%rsp)
				movaps	%xmm6, 4272(%rsp)
				jmp	.L725
		.LVL727:
		.L762:
				call	__stack_chk_fail@PLT
		.LVL728:
		.LFE209:
		DELETENAMES.6659:
		.LFB197:
				movl	$0, 4+IMPCOM(%rip)
		.LVL952:
 2719 impcom_option = ""
				movl	32(%rsp), %eax
				subl	$1, %eax
				cltq
				leaq	LITOP.7530(%rip), %rdx
				movq	(%rdx,%rax,8), %rax
				jmp	.L717
		.L685:
				jmp	.L686
		.L688:
 2720
				movq	4600(%rsp), %rax
				xorq	%fs:40, %rax
				jne	.L762
				addq	$4608, %rsp
				popq	%rbx
				popq	%rbp
				popq	%r12
				popq	%r13
				popq	%r14
				ret
		.L758:
		.LVL434:
 2721    list = 15 %IF Impcom_Flags&x'1000' # 0
				movq	%rsp, %rsi
				movl	$255, %edx
				leaq	280+IMPCOM(%rip), %rdi
				call	_imp_strncpy@PLT
		.LVL953:
 2722
				movl	$15, LIST.6521(%rip)
		.LDL49:
		.LVL954:
		.LBB735:
 2723    open output(2, "LISTING");
				movabsq	$20070800200780108, %rax
				movl	$0, %edx
				movq	%rax, 769(%rsp)
				movq	%rdx, 777(%rsp)
				leaq	785(%rsp), %rdi
				movl	$239, %ecx
				movl	$0, %ebx
				movl	%ebx, %eax
				rep stosb
				movb	$7, 768(%rsp)
				leaq	256(%rsp), %rdi
				leaq	768(%rsp), %rsi
				movl	$32, %ecx
				rep movsq
		.LVL955:
		.LBE735:
				subq	$256, %rsp
				leaq	512(%rsp), %rsi
				movl	$32, %ecx
				movq	%rsp, %rdi
				rep movsq
				movl	$2, %edi
				call	OPENOUTPUT@PLT
		.LVL956:
				addq	$256, %rsp
		.LVL957:
		.LBB736:
 2724    open input(2, "prims-null.inc");
				movabsq	$8461750723655856752, %rax
				movabsq	$109325862202476, %rdx
				movq	%rax, 769(%rsp)
				movq	%rdx, 777(%rsp)
				leaq	785(%rsp), %rdi
				movl	$239, %ecx
				movl	%ebx, %eax
				rep stosb
				movb	$14, 768(%rsp)
				leaq	512(%rsp), %rdi
				leaq	768(%rsp), %rsi
				movl	$32, %ecx
				rep movsq
		.LVL958:
		.LBE736:
				subq	$256, %rsp
				leaq	768(%rsp), %rsi
				movl	$32, %ecx
				movq	%rsp, %rdi
				rep movsq
				movl	$2, %edi
				call	OPENINPUT@PLT
		.LVL959:
				addq	$256, %rsp
		.LVL960:
		.LBB737:
		.LBB738:
				movl	$2, _imp_InStream(%rip)
				movq	584+_imp_infile(%rip), %rax
				movq	%rax, _imp_InFile(%rip)
				leaq	__PRETTY_FUNCTION__.5987(%rip), %rdi
				call	check_instream@PLT
		.LVL961:
		.LBE738:
		.LBE737:
		.LBB739:
		.LBB740:
				movl	$2, _imp_OutStream(%rip)
				movq	584+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL962:
		.LBE740:
		.LBE739:
 2725    select input(2);  selectoutput(listing)
 2726    tag(max tag) = 0;                       !%BEGIN defn
				movq	$0, 14804(%rsp)
				movq	$0, 14812(%rsp)
 2727    tag(0) = 0;  tag(0)_flags = 7;          !%BEGIN tag!
				movq	$0, 2004(%rsp)
				movq	$0, 2012(%rsp)
 2728    Hash(x) = 0 %FOR x = 0, 1, max names
				movw	$7, 2012(%rsp)
				movl	$0, %eax
		.L955:
 2729    printstring("         Edinburgh IMP77 Compiler - Version ")
				leaq	769(%rsp), %rdi
				leaq	.LC15(%rip), %rsi
				movl	$45, %ecx
				rep movsb
				leaq	814(%rsp), %rdi
				movl	$210, %ecx
				movl	$0, %eax
				rep stosb
				movb	$44, 768(%rsp)
				leaq	1024(%rsp), %rdi
				leaq	768(%rsp), %rsi
				movl	$32, %ecx
				rep movsq
		.LVL964:
				movb	$44, 1024(%rsp)
				leaq	1280(%rsp), %rdi
				leaq	1024(%rsp), %rsi
				movl	$32, %ecx
				rep movsq
		.LBE741:
		.LBB742:
		.LBB743:
				subq	$256, %rsp
				leaq	1536(%rsp), %rsi
				movl	$32, %ecx
				movq	%rsp, %rdi
				rep movsq
				call	_imp_printstring@PLT
		.LVL965:
				movb	$0, 1792(%rsp)
		.LBE743:
		.LBE742:
		.LBB744:
		.LBB745:
				leaq	1792(%rsp), %rsi
				movl	$32, %ecx
				movq	%rsp, %rdi
				rep movsq
				call	_imp_printstring@PLT
		.LVL966:
				addq	$256, %rsp
		.LVL967:
		.LBE745:
		.LBE744:
		.LBB746:
		.LBB747:
				movl	$2, %edi
				call	_imp_newlines@PLT
		.LVL968:
		.LBE747:
		.LBE746:
 2730    printstring(version);  newlines(2)
 2731    op('l', 0)
				cmpl	$2048, %eax
				jne	.L955
		.LDL51:
				movl	$2047, X.6441(%rip)
		.LVL963:
		.LBB741:
				leaq	1792(%rsp), %rbx
				movq	%rbx, %r10
				movl	$0, %esi
				movl	$108, %edi
				call	OP.6644
		.LVL969:
 2732    compile block(0, 0, max dict, 0, 0)
				movq	%rbx, %r10
				movl	$0, %r8d
				movl	$0, %ecx
				movl	$6000, %edx
				movl	$0, %esi
				movl	$0, %edi
				call	COMPILEBLOCK.6654
		.LVL970:
				movl	BP.6528(%rip), %eax
				leal	1(%rax), %edx
				movl	%edx, BP.6528(%rip)
 2733    bp=bp+1 %AND buff(bp)=nl                {for bouncing off}
				movslq	%eax, %rdx
				movw	$0, 23380(%rsp,%rdx,2)
		.LDL50:
				addl	$1, %eax
 2734    flush buffer
				cltq
				movb	$10, 106502(%rsp,%rax)
				movq	%rbx, %r10
				call	FLUSHBUFFER.6538
		.LVL971:
 2735    Impcom_Statements = stats
				movl	STATS.6457(%rip), %eax
				movl	%eax, IMPCOM(%rip)
		.LDL52:
		.LVL972:
		.LBB748:
		.LBB749:
				movl	$0, %edi
				call	exit@PLT
		.LVL973:
		.L953:
		.LBE749:
		.LBE748:
 2736    Impcom_Statements = -faulty %IF faulty # 0
 2737 %ENDOFPROGRAM
 2310 Statements compiled
