         Edinburgh IMP77 Compiler - Version 8.4
    1 ! IMP77 compiler  first pass
		.Ltext0:
		_imp_SELECTINPUT:
		.LFB93:
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$4, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				cmpl	$0, 8(%ebp)
				js	.L4
				movl	_imp_InStream@GOT(%eax), %edx
				movl	8(%ebp), %ecx
				movl	%ecx, (%edx)
				movl	_imp_infile@GOT(%eax), %ecx
				movl	8(%ebp), %edx
				imull	$276, %edx, %edx
				addl	%ecx, %edx
				addl	$4, %edx
				movl	(%edx), %ecx
				movl	_imp_InFile@GOT(%eax), %edx
				movl	%ecx, (%edx)
				subl	$12, %esp
				leal	__PRETTY_FUNCTION__.5621@GOTOFF(%eax), %edx
				pushl	%edx
				movl	%eax, %ebx
				call	check_instream@PLT
				addl	$16, %esp
				jmp	.L1
		.L4:
				nop
		.L1:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE93:
		_imp_SELECTOUTPUT:
		.LFB94:
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$4, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				cmpl	$0, 8(%ebp)
				js	.L8
				movl	_imp_OutStream@GOT(%eax), %edx
				movl	8(%ebp), %ecx
				movl	%ecx, (%edx)
				movl	_imp_outfile@GOT(%eax), %ecx
				movl	8(%ebp), %edx
				imull	$276, %edx, %edx
				addl	%ecx, %edx
				addl	$4, %edx
				movl	(%edx), %ecx
				movl	_imp_OutFile@GOT(%eax), %edx
				movl	%ecx, (%edx)
				subl	$12, %esp
				leal	__PRETTY_FUNCTION__.5625@GOTOFF(%eax), %edx
				pushl	%edx
				movl	%eax, %ebx
				call	check_outstream@PLT
				addl	$16, %esp
				jmp	.L5
		.L8:
				nop
		.L5:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE94:
				.section	.rodata
		.LC70:
				.string	"Illegal cycle J = 1, 1, BP"
				.align 32
		.LC10:
				.byte	17
				.string	"test-in/pass1.imp"
				.zero	237
		FLUSHBUFFER.6163:
		.LFB190:
    2
    3 !###########################################################
    4 ! This program is a Copyright work.                        #
    5 !                                                          #
    6 ! Over the last 40+ years a long and distinguished list of #
    7 ! institutions, individuals and other entities have made   #
    8 ! contributions to portions of this program and may have a #
    9 ! reasonable claim over rights to certain parts of the     #
   10 ! program.                                                 #
   11 !                                                          #
   12 ! This version is therefore provided for education and     #
   13 ! demonstration purposes only                              #
   14 !###########################################################
   15
   16 %begin
				leal	4(%esp), %ecx
				andl	$-16, %esp
				pushl	-4(%ecx)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				pushl	%ecx
				subl	$140296, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%esi, -140304(%ebp)
				movl	%ecx, %eax
				movl	4(%eax), %edx
				movl	%edx, -140300(%ebp)
				movl	%gs:20, %ebx
				movl	%ebx, -28(%ebp)
				xorl	%ebx, %ebx
				leal	8(%ebp), %edx
				movl	%edx, -544(%ebp)
				subl	$8, %esp
				pushl	-140300(%ebp)
				pushl	(%eax)
				movl	%esi, %ebx
				call	_imp_initialise@PLT
				addl	$16, %esp
   17     %conststring(4) version = "8.4"
   18
   19     !configuration parameters
   20     { minus one represents all bits set for an %integer     }
   21     { %integer could be 16,32,64 bits wide depending on the }
   22     { processor being targeted                              }
   23     { i.e 8086 (16 bits), 80386 (32 bits), i86_64 (64 bits) }
   24     %constinteger minus one    = -1;
   25 ! Wee change needed to cross-compile the compiler when going from 16 bit to 32 bit world
   26 !    %constinteger minus one    = 16_7fff;
   27
   28     { now to set up various constants }
   29     %constinteger max int      = ((minus one)>>1)//10
   30     %constinteger max dig      = (minus one)>>1-maxint*10
   31     %constinteger byte size    = 8;            !bits per byte
   32     %constinteger max tag      = 800;          !max no. of tags
   33     %constinteger max dict     = 6000;         !max extent of dictionary
   34     %constinteger name bits    = 11;           !size of name table as a power of two
   35     %constinteger max names    = 1<<namebits-1;!table limit (a mask, eg 255)
   36     %owninteger   spare names  = max names
   37     %constinteger lit max      = 50;           !max no. of constants/stat.
   38     %constinteger rec size     = 520;          !size of analysis record
   39     %constinteger dim limit    = 6;            !maximum array dimension
   40
   41     !symbols
   42     %constinteger ff     = 12;              !form feed
   43     %constinteger marker = '^';             !marker for faults
   44     %constinteger squote = '"';             !string quote
   45     %constinteger cquote = '''';            !character quote
   46
   47     !streams
   48     %constinteger report = 0,  source = 1
   49     %constinteger object = 1, listing = 2
   50
   51     !types
   52     %constinteger integer = 1
   53     %constinteger real    = 2
   54     %constinteger stringv = 3
   55     %constinteger record  = 4
   56
   57     !forms
   58     %constinteger iform = integer<<4+1
   59     %constinteger var = 91
   60     %constinteger const   = 93
   61     %constinteger swit    = 105
   62     %constinteger comment = 22
   63     %constinteger termin  = 20
   64     %constinteger lab     = 3
   65     %constinteger jump    = 54
   66     %constinteger recfm = 4
   67     %constinteger proc  = 7;                     !class for proc
   68
   69     !phrase entries
   70     %constinteger escdec   = 252
   71     %constinteger escproc  = 253
   72     %constinteger escarray = 254
   73     %constinteger escrec   = 255
   74
   75     !%recordformat arfm(%shortinteger class,sub,link,ptype,papp,pformat,x,pos);!imp77:
   76     %recordformat arfm(%integer class,sub,link,ptype,papp,pformat,x,pos)
   77
   78     %recordformat tagfm(%integer app, format, %integer flags, index, text, link)
   79
   80     !flags
   81     !      *===.===.===.===.===.====.====.====.===.======.======*
   82     !      ! u ! c ! c ! p ! s ! a  ! o  ! pr ! s ! type ! form !
   83     !      ! 1 ! 1 ! 1 ! 1 ! 1 ! 1  ! 1  ! 1  ! 1 !  3   !  4   !
   84     !      *===^===^===^===^===^====^====^====^===^======^======*
   85     !        u   c   c   p   s   a    o    p    s    t      f
   86     !        s   l   o   a   u   n    w    r    p    y      o
   87     !        e   o   n   r   b   a    n    o    e    p      r
   88     !        d   s   s   a   n   m         t    c    e      m
   89     !            e   t   m   a   e
   90     !            d       s   m
   91     !                        e
   92     !
   93     !
   94
   95     %constinteger used bit   = 2_1000000000000000
   96     %constinteger closed     = 2_0100000000000000
   97     %constinteger const bit  = 2_0010000000000000
   98     %constinteger parameters = 2_0001000000000000
   99     %constinteger subname    = 2_0000100000000000
  100     %constinteger aname      = 2_0000010000000000
  101     %constinteger own bit    = 2_0000001000000000
  102     %constinteger prot       = 2_0000000100000000
  103     %constinteger spec       = 2_0000000010000000
  104
  105     %constinteger trans bit  = 16_4000
  106     %constinteger error      = 16_8000
  107
  108     %record(arfm)%array ar(1:rec size)
				leal	-140260(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-136612(%ebp), %eax
				movl	%eax, -140260(%ebp)
				movl	$32, -140256(%ebp)
  109
  110     %owninteger class        = 0;             !class of atom wanted
  111     %owninteger x            = 0;             !usually last tag
  112     %owninteger atom1        = 0;             !atom class (major)
  113     %owninteger atom2        = 0;             !atom class (minor)
  114     %owninteger subatom      = 0;             !extra info about atom
  115     %owninteger type         = 0
  116     %owninteger app          = 0
  117     %owninteger format       = 0;             !atom info
  118     %integer hash value
  119     %owninteger faulty       = 0;             !fault indicator
  120     %owninteger fault rate   = 0;             !fault rate count
  121     %owninteger lines        = 0;             !current line number
  122     %owninteger text line    = 0;             !starting line for string const
  123     %owninteger margin       = 0;             !statement start margin
  124     %owninteger error margin = 0
  125     %owninteger error sym    = 0
  126     %owninteger column       = 0
  127     %owninteger stats        = 0;             !statements compiled
  128     %owninteger mon pos      = 0;             !flag for diagnose
  129     %owninteger sym          = nl;            !current input symbol
  130     %owninteger symtype      = 0;             !type of current symbol
  131     %owninteger quote        = 0;             !>0 strings, <0 chars
  132     %owninteger end mark     = 0;             !%end flag
  133     %owninteger cont         = ' '
  134     %owninteger csym         = ' ';           !listing continuation marker
  135     %owninteger decl         = 0;             !current declarator flags
  136     %owninteger dim          = 0;             !arrayname dimension
  137     %owninteger spec given   = 0
  138
  139     %owninteger escape class = 0;             !when and where to escape
  140     %owninteger protection   = 0
  141     %owninteger atom flags   = 0
  142     %owninteger otype        = 0;             !current 'own' type
  143     %owninteger reals ln     = 1;             ! =4 for %REALSLONG
  144     %owninteger last1        = 0;             !previous atom class
  145     %owninteger gen type     = 0
  146     %owninteger ptype        = 0;             !current phrase type
  147     %owninteger papp         = 0;             !current phrase parameters
  148     %owninteger pformat      = 0;             !current phrase format
  149     %owninteger force        = 0;             !force next ptype
  150     %owninteger g            = 0
  151     %owninteger gg           = 0
  152     %owninteger map gg       = 0;             !grammar entries
  153     %owninteger fdef         = 0;             !current format definition
  154     %owninteger this         = -1;            !current recordformat tag
  155     %owninteger nmin         = 0;             !analysis record atom pointer
  156     %owninteger nmax         = 0;             !analysis record phrase pointer
  157     %owninteger rbase        = 0;             !record format definition base
  158     %owninteger dmax         = 1
  159     %owninteger tmin         = max tag;       !upper bound on tags
  160     %owninteger ss           = 0;             !source statement entry
  161     %string(63) include file
  162     %owninteger include list = 0
  163     %owninteger include level= 0
  164     %owninteger include      = 0;             !=0 unused, #0 being used
  165     %owninteger perm         = 1;             !1 = compiling perm, 0 = program
  166     %owninteger progmode     = 0;             !-1 = file, 1 = begin/eop
  167     %owninteger sstype       = 0;             !-1:exec stat
  168                                               ! 0: declaration
  169                                               ! 1: block in
  170                                               ! 2: block out
  171     %owninteger spec mode    = 0;             !>=0: definition
  172                                               ! -1: proc spec
  173                                               ! -2: recordformat
  174     %owninteger ocount       = -1;            !own constants wanted
  175     %owninteger limit        = 0;             !lookup limit
  176     %owninteger copy         = 0;             !duplicate name flag
  177     %owninteger order        = 0;             !out of sequence flag
  178     %owninteger for warn     = 0;             !non-local flag
  179     %owninteger dubious      = 0;             !flag for dubious statements
  180     %owninteger dp           = 1
  181     %owninteger pos1         = 0
  182     %owninteger pos2         = 0;             !error position
  183     %owninteger pos          = 0;             !input line index
  184     %owninteger dimension    = 0;             !current array dimension
  185     %owninteger local        = 0;             !search limit for locals
  186     %owninteger fm base      = 0;             !entry for format decls
  187     %owninteger search base  = 0;             !entry for record_names
  188     %owninteger format list  = 0;             !size of current format list
  189     %integer recid
  190     %ownbyteintegerarray char(0:133) = ;  !input line
				leal	-140192(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				movl	%esi, %ebx
				leal	CHAR.6123@GOTOFF(%ebx), %eax
				movl	%eax, -140192(%ebp)
				movl	$1, -140188(%ebp)
  191     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  192     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  193     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  194     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  195     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  196     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  197     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  198     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  199     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  200     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  201     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  202     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  203     10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  204     10, 10, 10, 10
  205     %integerarray lit pool(0:lit max)
				leal	-140124(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-136612(%ebp), %eax
				addl	$16640, %eax
				movl	%eax, -140124(%ebp)
				movl	$4, -140120(%ebp)
  206     %owninteger lit          = 0;             !current literal (integer)
  207     %owninteger lp           = 0;             !literals pointer
  208     %owninteger block x      = 0;             !block tag
  209     %owninteger list         = 1;             !<= to enable
  210     %owninteger control      = 0
  211     %owninteger diag         = 0;             !diagnose flags
  212     %integerarray hash(0:max names)
				leal	-140056(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-136612(%ebp), %eax
				addl	$16848, %eax
				movl	%eax, -140056(%ebp)
				movl	$4, -140052(%ebp)
  213     %record(tagfm)%array tag(0:max tag)
				leal	-139988(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-136612(%ebp), %eax
				addl	$49044, %eax
				movl	%eax, -139988(%ebp)
				movl	$24, -139984(%ebp)
  214     %integerarray dict(1:max dict)
				leal	-139920(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-136612(%ebp), %eax
				addl	$25044, %eax
				movl	%eax, -139920(%ebp)
				movl	$4, -139916(%ebp)
  215     %byteintegerarray buff(1:512)
				leal	-139852(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-136612(%ebp), %eax
				addl	$135556, %eax
				movl	%eax, -139852(%ebp)
				movl	$1, -139848(%ebp)
  216     %owninteger bp           = 0
  217
  218     { grammar related constants }
  219     %constinteger max grammar  = 1720
  220     %owninteger gmin       = max grammar               ;! upper bound on grammar
  221     %constinteger manifest = 120, figurative = 130
  222     %constinteger actions  = 180, phrasal    = 200
  223
  224     %constbyteintegerarray amap(0:15) = %c
				movb	$89, -66864(%ebp)
				movb	$91, -66863(%ebp)
				movb	$92, -66862(%ebp)
				movb	$104, -66861(%ebp)
				movb	$94, -66860(%ebp)
				movb	$93, -66859(%ebp)
				movb	$105, -66858(%ebp)
				movb	$100, -66857(%ebp)
				movb	$101, -66856(%ebp)
				movb	$102, -66855(%ebp)
				movb	$103, -66854(%ebp)
				movb	$106, -66853(%ebp)
				movb	$107, -66852(%ebp)
				movb	$108, -66851(%ebp)
				movb	$109, -66850(%ebp)
				movb	$89, -66849(%ebp)
				leal	-139784(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-136612(%ebp), %eax
				addl	$69748, %eax
				movl	%eax, -139784(%ebp)
				movl	$1, -139780(%ebp)
  225        89,   91,   92,  104,   94,   93,  105,  100,  101,  102,  103,  106,  107,  108,  109,   89
  226     !   ?     v     n     l    fm const  swit    rp    fp    mp    pp     a    an    na    nan    ?
  227
  228     %constbyteintegerarray atoms(0:15) = 89, 1, 1, 10,  9,  1, 10,  7,
				movb	$89, -66930(%ebp)
				movb	$1, -66929(%ebp)
				movb	$1, -66928(%ebp)
				movb	$10, -66927(%ebp)
				movb	$9, -66926(%ebp)
				movb	$1, -66925(%ebp)
				movb	$10, -66924(%ebp)
				movb	$7, -66923(%ebp)
				movb	$7, -66922(%ebp)
				movb	$7, -66921(%ebp)
				movb	$7, -66920(%ebp)
				movb	$4, -66919(%ebp)
				movb	$1, -66918(%ebp)
				movb	$4, -66917(%ebp)
				movb	$1, -66916(%ebp)
				movb	$89, -66915(%ebp)
				leal	-139716(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-136612(%ebp), %eax
				addl	$69682, %eax
				movl	%eax, -139716(%ebp)
				movl	$1, -139712(%ebp)
  229                                           7, 7, 7,  4,  1,  4,  1, 89
  230
  231     !*** start of generated tables ***
  232 !    %include "i77.tables.imp"
  233    %endoflist
  572 !%endoffile
				leal	-66848(%ebp), %eax
				movl	$65536, %edx
				subl	$4, %esp
				pushl	%edx
				pushl	$0
				pushl	%eax
				movl	%esi, %ebx
				call	memset@PLT
				addl	$16, %esp
				movb	$1, -66848(%ebp)
				movl	$90, -66847(%ebp)
				movl	$0, -66843(%ebp)
				movb	$4, -66592(%ebp)
				movl	$1128612950, -66591(%ebp)
				movl	$0, -66587(%ebp)
				movb	$7, -66336(%ebp)
				movl	$1447974735, -66335(%ebp)
				movl	$4408644, -66331(%ebp)
				movb	$8, -66080(%ebp)
				movl	$1448368197, -66079(%ebp)
				movl	$1128616019, -66075(%ebp)
				movb	$4, -65824(%ebp)
				movl	$1128612929, -65823(%ebp)
				movl	$0, -65819(%ebp)
				movb	$7, -65568(%ebp)
				movl	$1095653199, -65567(%ebp)
				movl	$4408644, -65563(%ebp)
				movb	$8, -65312(%ebp)
				movl	$1096046661, -65311(%ebp)
				movl	$1128616019, -65307(%ebp)
				movb	$4, -65056(%ebp)
				movl	$1129271888, -65055(%ebp)
				movl	$0, -65051(%ebp)
				movb	$8, -64800(%ebp)
				movl	$1129271888, -64799(%ebp)
				movl	$1128616019, -64795(%ebp)
				movb	$7, -64544(%ebp)
				movl	$1297239878, -64543(%ebp)
				movl	$4408644, -64539(%ebp)
				movb	$5, -64288(%ebp)
				movl	$1162106707, -64287(%ebp)
				movl	$67, -64283(%ebp)
				movb	$4, -64032(%ebp)
				movl	$1128612940, -64031(%ebp)
				movl	$0, -64027(%ebp)
				movb	$8, -63776(%ebp)
				movl	$1297239878, -63775(%ebp)
				movl	$1128616019, -63771(%ebp)
				movb	$6, -62240(%ebp)
				movl	$1230262351, -62239(%ebp)
				movl	$20047, -62235(%ebp)
				movb	$5, -61984(%ebp)
				movl	$1296912195, -61983(%ebp)
				movl	$65, -61979(%ebp)
				movb	$1, -61728(%ebp)
				movl	$84, -61727(%ebp)
				movl	$0, -61723(%ebp)
				movb	$5, -61472(%ebp)
				movl	$1330401091, -61471(%ebp)
				movl	$78, -61467(%ebp)
				movb	$7, -61216(%ebp)
				movl	$1296912195, -61215(%ebp)
				movl	$5525061, -61211(%ebp)
				movb	$2, -60960(%ebp)
				movl	$16972, -60959(%ebp)
				movl	$0, -60955(%ebp)
				movb	$5, -60704(%ebp)
				movl	$1095322689, -60703(%ebp)
				movl	$83, -60699(%ebp)
				movb	$2, -60448(%ebp)
				movl	$16978, -60447(%ebp)
				movl	$0, -60443(%ebp)
				movb	$3, -60192(%ebp)
				movl	$4347219, -60191(%ebp)
				movl	$0, -60187(%ebp)
				movb	$6, -59936(%ebp)
				movl	$1095914049, -59935(%ebp)
				movl	$17497, -59931(%ebp)
				movb	$5, -59680(%ebp)
				movl	$1348031571, -59679(%ebp)
				movl	$69, -59675(%ebp)
				movb	$5, -59424(%ebp)
				movl	$1095914049, -59423(%ebp)
				movl	$89, -59419(%ebp)
				movb	$4, -59168(%ebp)
				movl	$1162690894, -59167(%ebp)
				movl	$0, -59163(%ebp)
				movb	$5, -58912(%ebp)
				movl	$1129271888, -58911(%ebp)
				movl	$68, -58907(%ebp)
				movb	$5, -58656(%ebp)
				movl	$1095585350, -58655(%ebp)
				movl	$80, -58651(%ebp)
				movb	$6, -58400(%ebp)
				movl	$1414092627, -58399(%ebp)
				movl	$18499, -58395(%ebp)
				movb	$3, -58144(%ebp)
				movl	$5134159, -58143(%ebp)
				movl	$0, -58139(%ebp)
				movb	$8, -57888(%ebp)
				movl	$1163155525, -57887(%ebp)
				movl	$1279348306, -57883(%ebp)
				movb	$6, -57632(%ebp)
				movl	$1230132307, -57631(%ebp)
				movl	$18254, -57627(%ebp)
				movb	$6, -57376(%ebp)
				movl	$1329808722, -57375(%ebp)
				movl	$17490, -57371(%ebp)
				movb	$6, -57120(%ebp)
				movl	$1297239878, -57119(%ebp)
				movl	$21569, -57115(%ebp)
				movb	$4, -56864(%ebp)
				movl	$1128616019, -56863(%ebp)
				movl	$0, -56859(%ebp)
				movb	$5, -56608(%ebp)
				movl	$1146045261, -56607(%ebp)
				movl	$69, -56603(%ebp)
				movb	$5, -56352(%ebp)
				movl	$1161969996, -56351(%ebp)
				movl	$76, -56347(%ebp)
				movb	$3, -56096(%ebp)
				movl	$3231823, -56095(%ebp)
				movl	$0, -56091(%ebp)
				movb	$3, -55840(%ebp)
				movl	$3297359, -55839(%ebp)
				movl	$0, -55835(%ebp)
				movb	$3, -55584(%ebp)
				movl	$3362895, -55583(%ebp)
				movl	$0, -55579(%ebp)
				movb	$4, -55328(%ebp)
				movl	$1313294675, -55327(%ebp)
				movl	$0, -55323(%ebp)
				movb	$3, -55072(%ebp)
				movl	$5263189, -55071(%ebp)
				movl	$0, -55067(%ebp)
				movb	$3, -54816(%ebp)
				movl	$4476749, -54815(%ebp)
				movl	$0, -54811(%ebp)
				movb	$3, -54560(%ebp)
				movl	$5525316, -54559(%ebp)
				movl	$0, -54555(%ebp)
				movb	$4, -54304(%ebp)
				movl	$1347243843, -54303(%ebp)
				movl	$0, -54299(%ebp)
				movb	$5, -54048(%ebp)
				movl	$1297040193, -54047(%ebp)
				movl	$80, -54043(%ebp)
				movb	$2, -53792(%ebp)
				movl	$20805, -53791(%ebp)
				movl	$0, -53787(%ebp)
				movb	$4, -53536(%ebp)
				movl	$1363497285, -53535(%ebp)
				movl	$0, -53531(%ebp)
				movb	$3, -53280(%ebp)
				movl	$5062986, -53279(%ebp)
				movl	$0, -53275(%ebp)
				movb	$4, -53024(%ebp)
				movl	$1347245386, -53023(%ebp)
				movl	$0, -53019(%ebp)
				movb	$5, -52768(%ebp)
				movl	$1330857298, -52767(%ebp)
				movl	$80, -52763(%ebp)
				movb	$3, -52512(%ebp)
				movl	$4476481, -52511(%ebp)
				movl	$0, -52507(%ebp)
				movb	$2, -52256(%ebp)
				movl	$21071, -52255(%ebp)
				movl	$0, -52251(%ebp)
				movb	$3, -52000(%ebp)
				movl	$5525326, -51999(%ebp)
				movl	$0, -51995(%ebp)
				movb	$5, -51744(%ebp)
				movl	$1279871063, -51743(%ebp)
				movl	$69, -51739(%ebp)
				movb	$5, -51488(%ebp)
				movl	$1230261845, -51487(%ebp)
				movl	$76, -51483(%ebp)
				movb	$3, -51232(%ebp)
				movl	$5394246, -51231(%ebp)
				movl	$0, -51227(%ebp)
				movb	$5, -50976(%ebp)
				movl	$1380931395, -50975(%ebp)
				movl	$68, -50971(%ebp)
				movb	$4, -50720(%ebp)
				movl	$1414092869, -50719(%ebp)
				movl	$0, -50715(%ebp)
				movb	$2, -50464(%ebp)
				movl	$20047, -50463(%ebp)
				movl	$0, -50459(%ebp)
				movb	$6, -50208(%ebp)
				movl	$1313294675, -50207(%ebp)
				movl	$19521, -50203(%ebp)
				movb	$4, -49952(%ebp)
				movl	$1313163348, -49951(%ebp)
				movl	$0, -49947(%ebp)
				movb	$5, -49696(%ebp)
				movl	$1380013139, -49695(%ebp)
				movl	$84, -49691(%ebp)
				movb	$4, -49440(%ebp)
				movl	$1163086917, -49439(%ebp)
				movl	$0, -49435(%ebp)
				movb	$6, -49184(%ebp)
				movl	$1229867334, -49183(%ebp)
				movl	$18515, -49179(%ebp)
				movb	$5, -48928(%ebp)
				movl	$1397507398, -48927(%ebp)
				movl	$69, -48923(%ebp)
				movb	$5, -48672(%ebp)
				movl	$1279482179, -48671(%ebp)
				movl	$69, -48667(%ebp)
				movb	$6, -48416(%ebp)
				movl	$1162888530, -48415(%ebp)
				movl	$21569, -48411(%ebp)
				movb	$7, -48160(%ebp)
				movl	$1196380752, -48159(%ebp)
				movl	$5062994, -48155(%ebp)
				movb	$5, -47904(%ebp)
				movl	$1229407554, -47903(%ebp)
				movl	$78, -47899(%ebp)
				movb	$3, -47648(%ebp)
				movl	$4476485, -47647(%ebp)
				movl	$0, -47643(%ebp)
				movb	$7, -47392(%ebp)
				movl	$1346653765, -47391(%ebp)
				movl	$4673362, -47387(%ebp)
				movb	$7, -47136(%ebp)
				movl	$1346653765, -47135(%ebp)
				movl	$5067333, -47131(%ebp)
				movb	$7, -46880(%ebp)
				movl	$1397051974, -46879(%ebp)
				movl	$5524565, -46875(%ebp)
				movb	$7, -46624(%ebp)
				movl	$1397051981, -46623(%ebp)
				movl	$5524565, -46619(%ebp)
				movb	$4, -46368(%ebp)
				movl	$1262698818, -46367(%ebp)
				movl	$0, -46363(%ebp)
				movb	$7, -46112(%ebp)
				movl	$1229868877, -46111(%ebp)
				movl	$5394260, -46107(%ebp)
				movb	$4, -45856(%ebp)
				movl	$1347376211, -45855(%ebp)
				movl	$0, -45851(%ebp)
				movb	$4, -45600(%ebp)
				movl	$1414744396, -45599(%ebp)
				movl	$0, -45595(%ebp)
				movb	$7, -45344(%ebp)
				movl	$1279346002, -45343(%ebp)
				movl	$5131347, -45339(%ebp)
				movb	$7, -45088(%ebp)
				movl	$1414418243, -45087(%ebp)
				movl	$5001042, -45083(%ebp)
				movb	$7, -44832(%ebp)
				movl	$1279479369, -44831(%ebp)
				movl	$4539477, -44827(%ebp)
				movb	$4, -44576(%ebp)
				movl	$1397965133, -44575(%ebp)
				movl	$0, -44571(%ebp)
				movb	$5, -44320(%ebp)
				movl	$1348031570, -44319(%ebp)
				movl	$69, -44315(%ebp)
				movb	$5, -44064(%ebp)
				movl	$1329873985, -44063(%ebp)
				movl	$80, -44059(%ebp)
				movb	$5, -43808(%ebp)
				movl	$1313162313, -43807(%ebp)
				movl	$84, -43803(%ebp)
				movb	$1, -43552(%ebp)
				movl	$86, -43551(%ebp)
				movl	$0, -43547(%ebp)
				movb	$1, -43296(%ebp)
				movl	$78, -43295(%ebp)
				movl	$0, -43291(%ebp)
				movb	$5, -43040(%ebp)
				movl	$1397641027, -43039(%ebp)
				movl	$84, -43035(%ebp)
				movb	$2, -42784(%ebp)
				movl	$19782, -42783(%ebp)
				movl	$0, -42779(%ebp)
				movb	$1, -42272(%ebp)
				movl	$82, -42271(%ebp)
				movl	$0, -42267(%ebp)
				movb	$1, -42016(%ebp)
				movl	$70, -42015(%ebp)
				movl	$0, -42011(%ebp)
				movb	$1, -41760(%ebp)
				movl	$77, -41759(%ebp)
				movl	$0, -41755(%ebp)
				movb	$1, -41504(%ebp)
				movl	$80, -41503(%ebp)
				movl	$0, -41499(%ebp)
				movb	$2, -41248(%ebp)
				movl	$20562, -41247(%ebp)
				movl	$0, -41243(%ebp)
				movb	$2, -40992(%ebp)
				movl	$20550, -40991(%ebp)
				movl	$0, -40987(%ebp)
				movb	$2, -40736(%ebp)
				movl	$20557, -40735(%ebp)
				movl	$0, -40731(%ebp)
				movb	$2, -40480(%ebp)
				movl	$20560, -40479(%ebp)
				movl	$0, -40475(%ebp)
				movb	$1, -40224(%ebp)
				movl	$76, -40223(%ebp)
				movl	$0, -40219(%ebp)
				movb	$1, -39968(%ebp)
				movl	$83, -39967(%ebp)
				movl	$0, -39963(%ebp)
				movb	$1, -39712(%ebp)
				movl	$65, -39711(%ebp)
				movl	$0, -39707(%ebp)
				movb	$2, -39456(%ebp)
				movl	$20033, -39455(%ebp)
				movl	$0, -39451(%ebp)
				movb	$2, -39200(%ebp)
				movl	$16718, -39199(%ebp)
				movl	$0, -39195(%ebp)
				movb	$3, -38944(%ebp)
				movl	$5128526, -38943(%ebp)
				movl	$0, -38939(%ebp)
				movb	$7, -36128(%ebp)
				movl	$1414745381, -36127(%ebp)
				movl	$5526081, -36123(%ebp)
				movb	$6, -35872(%ebp)
				movl	$1162625829, -35871(%ebp)
				movl	$21057, -35867(%ebp)
				movb	$5, -35616(%ebp)
				movl	$1163022373, -35615(%ebp)
				movl	$68, -35611(%ebp)
				movb	$8, -35104(%ebp)
				movl	$1112884261, -35103(%ebp)
				movl	$1398099785, -35099(%ebp)
				movb	$4, -34848(%ebp)
				movl	$1347765285, -34847(%ebp)
				movl	$0, -34843(%ebp)
				movb	$4, -34592(%ebp)
				movl	$1313427493, -34591(%ebp)
				movl	$0, -34587(%ebp)
				movb	$5, -34336(%ebp)
				movl	$1431261221, -34335(%ebp)
				movl	$84, -34331(%ebp)
				movb	$5, -34080(%ebp)
				movl	$1430537509, -34079(%ebp)
				movl	$80, -34075(%ebp)
				movb	$6, -33568(%ebp)
				movl	$1162103120, -33567(%ebp)
				movl	$21582, -33563(%ebp)
				movb	$6, -33312(%ebp)
				movl	$1162103107, -33311(%ebp)
				movl	$21582, -33307(%ebp)
				movb	$6, -33056(%ebp)
				movl	$1162103119, -33055(%ebp)
				movl	$21582, -33051(%ebp)
				movb	$5, -32800(%ebp)
				movl	$1296125510, -32799(%ebp)
				movl	$69, -32795(%ebp)
				movb	$4, -32544(%ebp)
				movl	$1145657171, -32543(%ebp)
				movl	$0, -32539(%ebp)
				movb	$4, -32288(%ebp)
				movl	$1280593732, -32287(%ebp)
				movl	$0, -32283(%ebp)
				movb	$4, -32032(%ebp)
				movl	$1381257028, -32031(%ebp)
				movl	$0, -32027(%ebp)
				movb	$4, -31776(%ebp)
				movl	$1346720577, -31775(%ebp)
				movl	$0, -31771(%ebp)
				movb	$4, -31520(%ebp)
				movl	$1346720579, -31519(%ebp)
				movl	$0, -31515(%ebp)
				movb	$4, -31264(%ebp)
				movl	$1346720591, -31263(%ebp)
				movl	$0, -31259(%ebp)
				movb	$4, -31008(%ebp)
				movl	$1346720592, -31007(%ebp)
				movl	$0, -31003(%ebp)
				movb	$3, -30752(%ebp)
				movl	$4346433, -30751(%ebp)
				movl	$0, -30747(%ebp)
				movb	$5, -30496(%ebp)
				movl	$1380732994, -30495(%ebp)
				movl	$66, -30491(%ebp)
				movb	$3, -30240(%ebp)
				movl	$4346447, -30239(%ebp)
				movl	$0, -30235(%ebp)
				movb	$3, -29984(%ebp)
				movl	$4346448, -29983(%ebp)
				movl	$0, -29979(%ebp)
				movb	$3, -29728(%ebp)
				movl	$4346435, -29727(%ebp)
				movl	$0, -29723(%ebp)
				movb	$4, -29472(%ebp)
				movl	$1112687442, -29471(%ebp)
				movl	$0, -29467(%ebp)
				movb	$5, -29216(%ebp)
				movl	$1380140370, -29215(%ebp)
				movl	$66, -29211(%ebp)
				movb	$5, -28960(%ebp)
				movl	$1279477074, -28959(%ebp)
				movl	$66, -28955(%ebp)
				movb	$3, -28704(%ebp)
				movl	$4342092, -28703(%ebp)
				movl	$0, -28699(%ebp)
				movb	$4, -28448(%ebp)
				movl	$1111575629, -28447(%ebp)
				movl	$0, -28443(%ebp)
				movb	$4, -28192(%ebp)
				movl	$1111575635, -28191(%ebp)
				movl	$0, -28187(%ebp)
				movb	$5, -27936(%ebp)
				movl	$1296125528, -27935(%ebp)
				movl	$69, -27931(%ebp)
				movb	$4, -27680(%ebp)
				movl	$1414420303, -27679(%ebp)
				movl	$0, -27675(%ebp)
				movb	$5, -27424(%ebp)
				movl	$1163084356, -27423(%ebp)
				movl	$80, -27419(%ebp)
				movb	$6, -27168(%ebp)
				movl	$1313817424, -27167(%ebp)
				movl	$21587, -27163(%ebp)
				movb	$4, -26912(%ebp)
				movl	$1146047811, -26911(%ebp)
				movl	$0, -26907(%ebp)
				movb	$5, -26656(%ebp)
				movl	$1195987779, -26655(%ebp)
				movl	$78, -26651(%ebp)
				movb	$4, -26400(%ebp)
				movl	$1347376451, -26399(%ebp)
				movl	$0, -26395(%ebp)
				movb	$4, -26144(%ebp)
				movl	$827346755, -26143(%ebp)
				movl	$0, -26139(%ebp)
				movb	$4, -25888(%ebp)
				movl	$844123971, -25887(%ebp)
				movl	$0, -25883(%ebp)
				movb	$4, -25632(%ebp)
				movl	$860901187, -25631(%ebp)
				movl	$0, -25627(%ebp)
				movb	$5, -25376(%ebp)
				movl	$1162104393, -25375(%ebp)
				movl	$70, -25371(%ebp)
				movb	$5, -25120(%ebp)
				movl	$1397507416, -25119(%ebp)
				movl	$69, -25115(%ebp)
				movb	$6, -24864(%ebp)
				movl	$1397051971, -24863(%ebp)
				movl	$20559, -24859(%ebp)
				movb	$4, -24608(%ebp)
				movl	$1111575630, -24607(%ebp)
				movl	$0, -24603(%ebp)
				movb	$6, -24352(%ebp)
				movl	$1414419794, -24351(%ebp)
				movl	$19529, -24347(%ebp)
				movb	$6, -24096(%ebp)
				movl	$1313817409, -24095(%ebp)
				movl	$21587, -24091(%ebp)
				movb	$4, -23840(%ebp)
				movl	$1112691279, -23839(%ebp)
				movl	$0, -23835(%ebp)
				movb	$5, -23584(%ebp)
				movl	$1312902470, -23583(%ebp)
				movl	$89, -23579(%ebp)
				movb	$7, -23328(%ebp)
				movl	$1381258063, -23327(%ebp)
				movl	$4673097, -23323(%ebp)
				movb	$4, -23072(%ebp)
				movl	$1112296774, -23071(%ebp)
				movl	$0, -23067(%ebp)
				movb	$4, -22816(%ebp)
				movl	$1112689990, -22815(%ebp)
				movl	$0, -22811(%ebp)
				movb	$4, -22560(%ebp)
				movl	$1380928838, -22559(%ebp)
				movl	$0, -22555(%ebp)
				movb	$7, -22304(%ebp)
				movl	$1196310866, -22303(%ebp)
				movl	$4346437, -22299(%ebp)
				movb	$4, -22048(%ebp)
				movl	$1145656134, -22047(%ebp)
				movl	$0, -22043(%ebp)
				movb	$6, -20512(%ebp)
				movl	$1297433637, -20511(%ebp)
				movl	$22861, -20507(%ebp)
				movb	$5, -20256(%ebp)
				movl	$1128612901, -20255(%ebp)
				movl	$76, -20251(%ebp)
				movb	$5, -20000(%ebp)
				movl	$1348031525, -19999(%ebp)
				movl	$69, -19995(%ebp)
				movb	$5, -19744(%ebp)
				movl	$1380276773, -19743(%ebp)
				movl	$79, -19739(%ebp)
				movb	$6, -19488(%ebp)
				movl	$1347436837, -19487(%ebp)
				movl	$22860, -19483(%ebp)
				movb	$5, -19232(%ebp)
				movl	$1330794533, -19231(%ebp)
				movl	$84, -19227(%ebp)
				movb	$8, -18976(%ebp)
				movl	$1413829413, -18975(%ebp)
				movl	$1414484560, -18971(%ebp)
				movb	$6, -18720(%ebp)
				movl	$1498697765, -18719(%ebp)
				movl	$17744, -18715(%ebp)
				movb	$5, -18464(%ebp)
				movl	$1346455333, -18463(%ebp)
				movl	$80, -18459(%ebp)
				movb	$6, -18208(%ebp)
				movl	$1129270309, -18207(%ebp)
				movl	$19521, -18203(%ebp)
				movb	$6, -17952(%ebp)
				movl	$1096107813, -17951(%ebp)
				movl	$17490, -17947(%ebp)
				movb	$6, -17696(%ebp)
				movl	$1329810725, -17695(%ebp)
				movl	$17732, -17691(%ebp)
				movb	$7, -17440(%ebp)
				movl	$1430536997, -17439(%ebp)
				movl	$5852493, -17435(%ebp)
				movb	$8, -17184(%ebp)
				movl	$1413829413, -17183(%ebp)
				movl	$1162893652, -17179(%ebp)
				movb	$5, -16928(%ebp)
				movl	$1162891045, -16927(%ebp)
				movl	$82, -16923(%ebp)
				movb	$6, -16672(%ebp)
				movl	$1380012069, -16671(%ebp)
				movl	$19777, -16667(%ebp)
				movb	$6, -16416(%ebp)
				movl	$1330397733, -16415(%ebp)
				movl	$19267, -16411(%ebp)
				movb	$6, -16160(%ebp)
				movl	$1213484837, -16159(%ebp)
				movl	$21061, -16155(%ebp)
				movb	$8, -15904(%ebp)
				movl	$1297040165, -15903(%ebp)
				movl	$1162627408, -15899(%ebp)
				movb	$3, -15648(%ebp)
				movl	$5263425, -15647(%ebp)
				movl	$0, -15643(%ebp)
				movb	$7, -15392(%ebp)
				movl	$1163084098, -15391(%ebp)
				movl	$5263425, -15387(%ebp)
				movb	$4, -15136(%ebp)
				movl	$844124225, -15135(%ebp)
				movl	$0, -15131(%ebp)
				movb	$4, -14880(%ebp)
				movl	$860901441, -14879(%ebp)
				movl	$0, -14875(%ebp)
				movb	$4, -14624(%ebp)
				movl	$877678657, -14623(%ebp)
				movl	$0, -14619(%ebp)
				movb	$4, -14368(%ebp)
				movl	$894455873, -14367(%ebp)
				movl	$0, -14363(%ebp)
				movb	$4, -14112(%ebp)
				movl	$911233089, -14111(%ebp)
				movl	$0, -14107(%ebp)
				movb	$5, -13856(%ebp)
				movl	$1178944577, -13855(%ebp)
				movl	$78, -13851(%ebp)
				movb	$5, -13600(%ebp)
				movl	$1380012110, -13599(%ebp)
				movl	$77, -13595(%ebp)
				movb	$5, -13344(%ebp)
				movl	$1162106707, -13343(%ebp)
				movl	$70, -13339(%ebp)
				movb	$5, -13088(%ebp)
				movl	$1145657171, -13087(%ebp)
				movl	$83, -13083(%ebp)
				movb	$5, -12832(%ebp)
				movl	$1480935747, -12831(%ebp)
				movl	$80, -12827(%ebp)
				movb	$6, -12576(%ebp)
				movl	$1313817426, -12575(%ebp)
				movl	$21587, -12571(%ebp)
				movb	$6, -12320(%ebp)
				movl	$1313817427, -12319(%ebp)
				movl	$21587, -12315(%ebp)
				movb	$6, -12064(%ebp)
				movl	$1095914049, -12063(%ebp)
				movl	$20569, -12059(%ebp)
				movb	$4, -11808(%ebp)
				movl	$1347242328, -11807(%ebp)
				movl	$0, -11803(%ebp)
				movb	$3, -11552(%ebp)
				movl	$5262665, -11551(%ebp)
				movl	$0, -11547(%ebp)
				movb	$4, -11296(%ebp)
				movl	$1145982787, -11295(%ebp)
				movl	$0, -11291(%ebp)
				movb	$5, -11040(%ebp)
				movl	$1313817427, -11039(%ebp)
				movl	$68, -11035(%ebp)
				movb	$4, -10784(%ebp)
				movl	$827349061, -10783(%ebp)
				movl	$0, -10779(%ebp)
				movb	$4, -10528(%ebp)
				movl	$844126277, -10527(%ebp)
				movl	$0, -10523(%ebp)
				movb	$4, -10272(%ebp)
				movl	$1347962195, -10271(%ebp)
				movl	$0, -10267(%ebp)
				movb	$4, -10016(%ebp)
				movl	$1347962185, -10015(%ebp)
				movl	$0, -10011(%ebp)
				movb	$5, -9760(%ebp)
				movl	$1347962185, -9759(%ebp)
				movl	$49, -9755(%ebp)
				movb	$5, -9504(%ebp)
				movl	$1347962185, -9503(%ebp)
				movl	$50, -9499(%ebp)
				movb	$5, -9248(%ebp)
				movl	$1480938313, -9247(%ebp)
				movl	$80, -9243(%ebp)
				movb	$3, -8992(%ebp)
				movl	$5326163, -8991(%ebp)
				movl	$0, -8987(%ebp)
				movb	$4, -8736(%ebp)
				movl	$1178944582, -8735(%ebp)
				movl	$0, -8731(%ebp)
				movb	$3, -8480(%ebp)
				movl	$5265477, -8479(%ebp)
				movl	$0, -8475(%ebp)
				movb	$7, -8224(%ebp)
				movl	$1381122382, -8223(%ebp)
				movl	$5265729, -8219(%ebp)
				movb	$6, -7968(%ebp)
				movl	$1431458899, -7967(%ebp)
				movl	$21571, -7963(%ebp)
				movb	$6, -7712(%ebp)
				movl	$1163085138, -7711(%ebp)
				movl	$20568, -7707(%ebp)
				movb	$3, -7456(%ebp)
				movl	$5001282, -7455(%ebp)
				movl	$0, -7451(%ebp)
				movb	$6, -7200(%ebp)
				movl	$1397641027, -7199(%ebp)
				movl	$16980, -7195(%ebp)
				movb	$5, -6944(%ebp)
				movl	$1163151686, -6943(%ebp)
				movl	$77, -6939(%ebp)
				movb	$5, -6688(%ebp)
				movl	$1163022157, -6687(%ebp)
				movl	$65, -6683(%ebp)
				movb	$5, -6432(%ebp)
				movl	$1397312579, -6431(%ebp)
				movl	$84, -6427(%ebp)
				movb	$3, -6176(%ebp)
				movl	$5263430, -6175(%ebp)
				movl	$0, -6171(%ebp)
				movb	$4, -5920(%ebp)
				movl	$810569798, -5919(%ebp)
				movl	$0, -5915(%ebp)
				movb	$4, -5664(%ebp)
				movl	$827347014, -5663(%ebp)
				movl	$0, -5659(%ebp)
				movb	$4, -5408(%ebp)
				movl	$844124230, -5407(%ebp)
				movl	$0, -5403(%ebp)
				movb	$7, -5152(%ebp)
				movl	$1414090313, -5151(%ebp)
				movl	$5390678, -5147(%ebp)
				movb	$6, -4896(%ebp)
				movl	$1162036562, -4895(%ebp)
				movl	$20568, -4891(%ebp)
				movb	$4, -4640(%ebp)
				movl	$1347242309, -4639(%ebp)
				movl	$0, -4635(%ebp)
				movb	$6, -4384(%ebp)
				movl	$1313162313, -4383(%ebp)
				movl	$21332, -4379(%ebp)
				movb	$5, -4128(%ebp)
				movl	$1196310866, -4127(%ebp)
				movl	$69, -4123(%ebp)
				movb	$7, -3872(%ebp)
				movl	$1313817426, -3871(%ebp)
				movl	$4346963, -3867(%ebp)
				movb	$4, -3616(%ebp)
				movl	$1347567958, -3615(%ebp)
				movl	$0, -3611(%ebp)
				movb	$7, -3360(%ebp)
				movl	$1414090313, -3359(%ebp)
				movl	$4408644, -3355(%ebp)
				movb	$6, -2336(%ebp)
				movl	$1145262917, -2335(%ebp)
				movl	$17221, -2331(%ebp)
				movb	$7, -2080(%ebp)
				movl	$1346589509, -2079(%ebp)
				movl	$4411218, -2075(%ebp)
				movb	$8, -1824(%ebp)
				movl	$1094931269, -1823(%ebp)
				movl	$1497453138, -1819(%ebp)
				movb	$6, -1568(%ebp)
				movl	$1380143941, -1567(%ebp)
				movl	$17221, -1563(%ebp)
				leal	-139648(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-136612(%ebp), %eax
				addl	$69764, %eax
				movl	%eax, -139648(%ebp)
				movl	$256, -139644(%ebp)
				leal	-68344(%ebp), %eax
				movl	%esi, %ebx
				leal	.LC0@GOTOFF(%ebx), %edx
				movl	$60, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-139580(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-136612(%ebp), %eax
				addl	$68268, %eax
				movl	%eax, -139580(%ebp)
				movl	$2, -139576(%ebp)
				movb	$90, -66914(%ebp)
				movb	$90, -66913(%ebp)
				movb	$90, -66912(%ebp)
				movb	$90, -66911(%ebp)
				movb	$90, -66910(%ebp)
				movb	$48, -66909(%ebp)
				movb	$48, -66908(%ebp)
				movb	$19, -66907(%ebp)
				movb	$19, -66906(%ebp)
				movb	$19, -66905(%ebp)
				movb	$19, -66904(%ebp)
				movb	$25, -66903(%ebp)
				movb	$25, -66902(%ebp)
				movb	$25, -66901(%ebp)
				movb	$25, -66900(%ebp)
				movb	$25, -66899(%ebp)
				movb	$25, -66898(%ebp)
				movb	$25, -66897(%ebp)
				movb	$23, -66896(%ebp)
				movb	$104, -66895(%ebp)
				movb	$104, -66894(%ebp)
				movb	$105, -66893(%ebp)
				movb	$30, -66892(%ebp)
				movb	$20, -66891(%ebp)
				movb	$21, -66890(%ebp)
				movb	$93, -66889(%ebp)
				movb	$47, -66888(%ebp)
				movb	$45, -66887(%ebp)
				movb	$46, -66886(%ebp)
				movb	$42, -66885(%ebp)
				movb	$43, -66884(%ebp)
				movb	$44, -66883(%ebp)
				movb	$40, -66882(%ebp)
				movb	$68, -66881(%ebp)
				movb	$55, -66880(%ebp)
				movb	$104, -66879(%ebp)
				movb	$60, -66878(%ebp)
				movb	$93, -66877(%ebp)
				movb	$25, -66876(%ebp)
				movb	$40, -66875(%ebp)
				movb	$93, -66874(%ebp)
				movb	$23, -66873(%ebp)
				movb	$25, -66872(%ebp)
				movb	$57, -66871(%ebp)
				movb	$25, -66870(%ebp)
				movb	$90, -66869(%ebp)
				movb	$-80, -66868(%ebp)
				movb	$-79, -66867(%ebp)
				movb	$-78, -66866(%ebp)
				movb	$-77, -66865(%ebp)
				leal	-139512(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-136612(%ebp), %eax
				addl	$69698, %eax
				movl	%eax, -139512(%ebp)
				movl	$1, -139508(%ebp)
				leal	-139444(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	PHRASE.6154@GOTOFF(%ebx), %eax
				movl	%eax, -139444(%ebp)
				movl	$2, -139440(%ebp)
				leal	-139376(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	GRAM.6156@GOTOFF(%ebx), %eax
				movl	%eax, -139376(%ebp)
				movl	$2, -139372(%ebp)
				leal	-139308(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	GLINK.6158@GOTOFF(%ebx), %eax
				movl	%eax, -139308(%ebp)
				movl	$2, -139304(%ebp)
				leal	-68104(%ebp), %edx
				leal	.LC1@GOTOFF(%ebx), %eax
				movl	$293, %ecx
				movl	%edx, %edi
				movl	%eax, %esi
				rep movsl
				movl	%esi, %eax
				movl	%edi, %edx
				movzwl	(%eax), %ecx
				movw	%cx, (%edx)
				leal	-139240(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-136612(%ebp), %eax
				addl	$68508, %eax
				movl	%eax, -139240(%ebp)
				movl	$2, -139236(%ebp)
  573     !***  end  of generated tables ***
  574
  575     %routine flush buffer( %integer limit )
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$828, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, -836(%ebp)
				movl	%ecx, -828(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
  576         %integer j
  577         %if bp >= limit %start
				movl	BP.6141@GOTOFF(%ebx), %eax
				cmpl	%eax, 8(%ebp)
				jg	.L25
				nop
		.L11:
				nop
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L23
				call	__stack_chk_fail_local
		.L23:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE190:
				.section	.rodata
				.align 32
		.LC0:
				.align 32
		.LC1:
				.align 32
		.LC2:
				.byte	44
				.string	"         Edinburgh IMP77 Compiler - Version "
				.zero	210
				.align 32
		.LC3:
				.byte	20
				.string	" Statements compiled"
				.zero	234
				.align 32
		.LC4:
				.byte	18
				.string	" Program contains "
				.zero	236
				.align 32
		.LC5:
				.byte	6
				.string	" fault"
				.zero	248
				.globl	main
		main:
		.LFB189:
  578         %if faulty = 0 %start
				movl	FAULTY.6058@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L26
				nop
		.L13:
  579             selectoutput(object)
				subl	$12, %esp
				pushl	$1
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
		.LBB309:
  580             %for j = 1, 1, bp %cycle
				movl	BP.6141@GOTOFF(%ebx), %eax
				movl	%eax, -804(%ebp)
		.LBB310:
				movl	-804(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -800(%ebp)
				movl	-800(%ebp), %eax
				xorl	$1, %eax
				shrl	$31, %eax
				movzbl	%al, %eax
		.LBE310:
				testl	%eax, %eax
				je	.L14
				leal	-540(%ebp), %eax
				subl	$8, %esp
				leal	.LC70@GOTOFF(%ebx), %edx
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L15
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -832(%ebp)
				jmp	.L16
		.L15:
				movl	$580, -832(%ebp)
		.L16:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L17
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-284(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L18
		.L17:
		.LBB311:
				leal	-284(%ebp), %eax
				leal	.LC10@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE311:
				leal	-284(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L18:
				pushl	$0
				pushl	$1
				pushl	$5
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-832(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_event@PLT
				addl	$528, %esp
		.L14:
				movl	$0, -808(%ebp)
		.L19:
				movl	-808(%ebp), %eax
				cmpl	-804(%ebp), %eax
				je	.L27
				addl	$1, -808(%ebp)
				nop
		.L21:
		.LBE309:
  581                 printsymbol(buff(j))
				movl	-808(%ebp), %eax
				subl	$1, %eax
				movl	-836(%ebp), %esi
				movzbl	135556(%esi,%eax), %eax
				movsbl	%al, %eax
				movb	%al, -809(%ebp)
		.LBB312:
		.LBB313:
				movsbl	-809(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE313:
		.LBE312:
  582             %repeat
				jmp	.L19
		.L27:
  583             selectoutput(listing)
				subl	$12, %esp
				pushl	$2
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
				jmp	.L13
		.L26:
  584         %finish
  585         bp = 0
				movl	$0, BP.6141@GOTOFF(%ebx)
  586         %finish
  587     %end
				jmp	.L11
		.L25:
  588
  589     %routine add char( %byteinteger ch )
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	8(%ebp), %edx
				movb	%dl, -28(%ebp)
				movl	%ecx, %ebx
				movl	%ecx, -32(%ebp)
				movl	%gs:20, %ecx
				movl	%ecx, -12(%ebp)
				xorl	%ecx, %ecx
  590         bp = bp + 1
				movl	BP.6141@GOTOFF(%eax), %edx
				addl	$1, %edx
				movl	%edx, BP.6141@GOTOFF(%eax)
  591         buff(bp) = ch
				movl	BP.6141@GOTOFF(%eax), %eax
				leal	-1(%eax), %edx
				movzbl	-28(%ebp), %eax
				movb	%al, 135556(%ebx,%edx)
  592     %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L64
				call	__stack_chk_fail_local
		.L64:
				addl	$36, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE191:
		OP.6180:
		.LFB192:
  593
  594     %routine op(%integer code, param)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %edx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %ecx
				movl	%ecx, -12(%ebp)
				xorl	%ecx, %ecx
  595         buff(bp+1) = code
				movl	BP.6141@GOTOFF(%eax), %ecx
				movl	8(%ebp), %ebx
				movb	%bl, 135556(%edx,%ecx)
  596         buff(bp+2) = param>>8
				movl	12(%ebp), %ecx
				movl	%ecx, %ebx
				shrl	$8, %ebx
				movl	BP.6141@GOTOFF(%eax), %ecx
				addl	$1, %ecx
				movb	%bl, 135556(%edx,%ecx)
  597         buff(bp+3) = param
				movl	BP.6141@GOTOFF(%eax), %ecx
				addl	$2, %ecx
				movl	12(%ebp), %ebx
				movb	%bl, 135556(%edx,%ecx)
  598         bp = bp+3
				movl	BP.6141@GOTOFF(%eax), %edx
				addl	$3, %edx
				movl	%edx, BP.6141@GOTOFF(%eax)
  599     %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L67
				call	__stack_chk_fail_local
		.L67:
				addl	$36, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE192:
		SETCONST.6183:
		.LFB193:
  600
  601     %routine set const(%integer m)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %edx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %ebx
				movl	%ebx, -12(%ebp)
				xorl	%ebx, %ebx
  602         buff(bp+1) = 'N'
				movl	BP.6141@GOTOFF(%eax), %ecx
				movb	$78, 135556(%edx,%ecx)
  603         buff(bp+5) = m;  m = m>>8
				movl	BP.6141@GOTOFF(%eax), %ecx
				addl	$4, %ecx
				movl	8(%ebp), %ebx
				movb	%bl, 135556(%edx,%ecx)
				movl	8(%ebp), %ecx
				shrl	$8, %ecx
				movl	%ecx, 8(%ebp)
  604         buff(bp+4) = m;  m = m>>8
				movl	BP.6141@GOTOFF(%eax), %ecx
				addl	$3, %ecx
				movl	8(%ebp), %ebx
				movb	%bl, 135556(%edx,%ecx)
				movl	8(%ebp), %ecx
				shrl	$8, %ecx
				movl	%ecx, 8(%ebp)
  605         buff(bp+3) = m;  m = m>>8
				movl	BP.6141@GOTOFF(%eax), %ecx
				addl	$2, %ecx
				movl	8(%ebp), %ebx
				movb	%bl, 135556(%edx,%ecx)
				movl	8(%ebp), %ecx
				shrl	$8, %ecx
				movl	%ecx, 8(%ebp)
  606         buff(bp+2) = m
				movl	BP.6141@GOTOFF(%eax), %ecx
				addl	$1, %ecx
				movl	8(%ebp), %ebx
				movb	%bl, 135556(%edx,%ecx)
  607         bp = bp+5
				movl	BP.6141@GOTOFF(%eax), %edx
				addl	$5, %edx
				movl	%edx, BP.6141@GOTOFF(%eax)
  608     %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L70
				call	__stack_chk_fail_local
		.L70:
				addl	$36, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE193:
		PUTIT.6202:
		.LFB197:
  609
  610     %routine octal(%integer n)
  611         %integer m
  612         m = n>>3
  613         octal(m) %if m # 0
  614         add char( n&7+'0' )
  615     %end
  616
  617     %routine hexadecimal(%integer n)
  618         %integer m
  619         m = n>>4
  620         hexadecimal(m) %if m # 0
  621         %if n&15 > 9 %then add char( n&15+'A' ) %else add char( n&15+'0' )
  622     %end
  623
  624     %routine print ident(%integer p, mode)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$52, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -44(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -16(%ebp)
				movl	12(%ebp), %eax
				movl	%eax, -20(%ebp)
				movl	%ebx, -24(%ebp)
  625
  626         %routine putit(%integer ch)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.dx
				addl	$_GLOBAL_OFFSET_TABLE_, %edx
				movl	%ecx, %eax
				movl	%ecx, -28(%ebp)
  627             %if mode = 0 %then %start
				movl	4(%eax), %ecx
				testl	%ecx, %ecx
				jne	.L77
				nop
		.L73:
  628                 printsymbol(ch)
				movl	8(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -9(%ebp)
		.LBB343:
		.LBB344:
				movsbl	-9(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				movl	%edx, %ebx
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE344:
		.LBE343:
  629             %else
				jmp	.L74
		.L77:
  630                 add char( ch )
				movl	8(%ebp), %edx
				movzbl	%dl, %edx
				movl	(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
		.L74:
  631             %finish
  632         %end
				nop
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE197:
		PRINTIDENT.6199:
		.LFB196:
  633
  634         %integer k, l
  635         p = tag(p)_text
				movl	8(%ebp), %edx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ebx, %eax
				addl	$49060, %eax
				movl	(%eax), %eax
				movl	%eax, 8(%ebp)
  636         %if p = 0 %start
				cmpl	$0, 8(%ebp)
				jne	.L89
				nop
		.L80:
  637             putit('?')
				subl	$12, %esp
				leal	-24(%ebp), %eax
				pushl	$63
				movl	%eax, %ecx
				call	PUTIT.6202
				addl	$16, %esp
  638             %return
				jmp	.L78
		.L89:
  639         %finish
  640         p = p+1;       ! advance to name string
				addl	$1, 8(%ebp)
  641         k = dict(p)
				movl	8(%ebp), %eax
				subl	$1, %eax
				addl	$6260, %eax
				movl	4(%ebx,%eax,4), %eax
				movl	%eax, -32(%ebp)
  642         l = k & 255;   ! length
				movl	-32(%ebp), %eax
				movzbl	%al, %eax
				movl	%eax, -28(%ebp)
		.L82:
  643         %while l > 0 %cycle
				cmpl	$0, -28(%ebp)
				jle	.L90
				nop
				jmp	.L84
		.L91:
  644             putit(k>>8)
				movl	-32(%ebp), %eax
				shrl	$8, %eax
				movl	%eax, %edx
				subl	$12, %esp
				leal	-24(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	PUTIT.6202
				addl	$16, %esp
  645             l = l-1
				subl	$1, -28(%ebp)
  646             p = p+1
				addl	$1, 8(%ebp)
  647             k = dict(p)
				movl	8(%ebp), %eax
				subl	$1, %eax
				addl	$6260, %eax
				movl	4(%ebx,%eax,4), %eax
				movl	%eax, -32(%ebp)
  648             %exit %if l = 0
				cmpl	$0, -28(%ebp)
				je	.L91
				nop
		.L86:
				nop
		.L84:
  649             putit(k&255)
				movl	-32(%ebp), %eax
				movzbl	%al, %edx
				subl	$12, %esp
				leal	-24(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	PUTIT.6202
				addl	$16, %esp
  650             l = l-1
				subl	$1, -28(%ebp)
  651         %repeat
				jmp	.L82
		.L90:
  652     %end
				nop
		.L78:
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L87
				call	__stack_chk_fail_local
		.L87:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE196:
				.section	.rodata
		.LC71:
				.string	"test-in/pass1.imp"
				.align 4
		.LC72:
				.string	"->REASON(%d) out of bounds at %s line %d"
				.align 4
		.LC73:
				.string	"switch jump to undefined label REASON(%d): at %s line %d"
		ABANDON.6213:
		.LFB198:
  653
  654     %routine abandon(%integer n)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$1084, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, -1084(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
  655         %switch reason(0:9)
  656         %integer stream
  657         stream = listing
				movl	$2, -1068(%ebp)
		.L93:
  658         %cycle
  659             newline %if sym # nl
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L112
		.LBB345:
		.LBB346:
				call	_imp_newline@PLT
				jmp	.L95
		.L112:
		.LBE346:
		.LBE345:
				nop
		.L95:
				movb	$42, -1069(%ebp)
		.LBB347:
		.LBB348:
				movsbl	-1069(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE348:
		.LBE347:
  660             printsymbol('*');  write(lines,4);  space
				movl	LINES.6060@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$4
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB349:
		.LBB350:
				call	_imp_space@PLT
		.LBE350:
		.LBE349:
  661             ->reason(n)
				movl	$661, -1064(%ebp)
				leal	.LC71@GOTOFF(%ebx), %eax
				movl	%eax, -1060(%ebp)
				movl	8(%ebp), %eax
				movl	%eax, -1056(%ebp)
				nop
		.L96:
  662 reason(0):  printstring("compiler error!");          ->more
  663 reason(1):  printstring("switch vector too large");  ->more
  664 reason(2):  printstring("too many names");           ->more
  665 reason(3):  printstring("program too complex");      ->more
  666 reason(4):  printstring("feature not implemented");  ->more
  667 reason(5):  printstring("input ended: ")
  668             %if quote # 0 %start
  669                 %if quote < 0 %then printsymbol(cquote) %else printsymbol(squote)
  670             %else
  671                 printstring("%endof")
  672                 %if progmode >= 0 %then printstring("program") %else printstring("file")
  673             %finish
  674             printstring(" missing?");                ->more
  675 reason(6):  printstring("too many faults!");         ->more
  676 reason(7):  printstring("string constant too long"); ->more
  677 reason(8):  printstring("dictionary full");          ->more
  678 reason(9):  printstring("Included file ".include file." does not exist")
  679
  680 more:       newline
  681             printstring("***  compilation abandoned ***");  newline
  682             %exit %if stream = report
  683             close output
  684             stream = report
  685             select output(report)
  686         %repeat
  687         !%signal 15,15 %if diag&4096 # 0
  688         %stop
  689     %end
				cmpl	$0, -1056(%ebp)
				js	.L97
				cmpl	$9, -1056(%ebp)
				jle	.L98
		.L97:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L99
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -1088(%ebp)
				jmp	.L100
		.L99:
				movl	$689, -1088(%ebp)
		.L100:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L101
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-540(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L102
		.L101:
		.LBB351:
				leal	-284(%ebp), %eax
				leal	.LC10@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1052(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE351:
				leal	-540(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L102:
				pushl	-1064(%ebp)
				pushl	-1060(%ebp)
				pushl	-1056(%ebp)
				leal	.LC72@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-1056(%ebp)
				pushl	$3
				pushl	$6
				pushl	-1088(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L98:
				nop
		.L104:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L111
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -1088(%ebp)
				jmp	.L107
		.L111:
				movl	$689, -1088(%ebp)
		.L107:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L108
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-284(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L109
		.L108:
		.LBB352:
				leal	-284(%ebp), %eax
				leal	.LC10@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE352:
				leal	-284(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L109:
				pushl	-1064(%ebp)
				pushl	-1060(%ebp)
				pushl	-1056(%ebp)
				leal	.LC73@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-1056(%ebp)
				pushl	$2
				pushl	$8
				pushl	-1088(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
				nop
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L110
				call	__stack_chk_fail_local
		.L110:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE198:
		PRINTSS.6325:
		.LFB201:
  690
  691     %routine compile block(%integer level, block tag, dmin, tmax, id)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$1676, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	16(%ebp), %edi
				movl	20(%ebp), %esi
				movl	24(%ebp), %edx
				movl	%ecx, -1680(%ebp)
				movl	%ecx, -1676(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -1568(%ebp)
				movl	8(%ebp), %eax
				movl	%eax, -1588(%ebp)
				movl	12(%ebp), %eax
				movl	%eax, -1624(%ebp)
				movl	%edi, -1596(%ebp)
				movl	%esi, -1584(%ebp)
				movl	%edx, -1592(%ebp)
				movl	-1680(%ebp), %esi
				movl	%esi, -1572(%ebp)
  692
  693         %integerfnspec gapp
  694         %routinespec delete names(%integer quiet)
  695         %routinespec analyse
  696         %routinespec compile
  697
  698         %integer open;    open       = closed;      !zero if can return from proc
				movl	$16384, %eax
				movl	%eax, -1616(%ebp)
  699         %integer dbase;   dbase      = dmax;        !dictionary base
				movl	DMAX.6096@GOTOFF(%ebx), %eax
				movl	%eax, -1660(%ebp)
  700         %integer tbase;   tbase      = tmax;        !tag base
				movl	-1584(%ebp), %eax
				movl	%eax, -1580(%ebp)
  701         %integer tstart;  tstart     = tmax
				movl	-1584(%ebp), %eax
				movl	%eax, -1576(%ebp)
  702         %integer label;   label      = 4;           !first internal label
				movl	$4, %eax
				movl	%eax, -1628(%ebp)
  703         %integer access;  access     = 1;           !non-zero if accessible
				movl	$1, %eax
				movl	%eax, -1612(%ebp)
  704         %integer inhibit; inhibit    = 0;           !non-zero inhibits declaratons
				movl	$0, %eax
				movl	%eax, -1632(%ebp)
  705
  706         %integername bflags;      bflags      == tag(block tag)_flags
				movl	-1624(%ebp), %edx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	$49040, %eax
				addl	%esi, %eax
				addl	$12, %eax
				movl	%eax, -1620(%ebp)
  707         %integer block type;      block type   = bflags>>4&7
				movl	-1620(%ebp), %eax
				movl	(%eax), %eax
				shrl	$4, %eax
				andl	$7, %eax
				movl	%eax, -1604(%ebp)
  708         %integer block form;      block form   = bflags&15
				movl	-1620(%ebp), %eax
				movl	(%eax), %eax
				andl	$15, %eax
				movl	%eax, -1600(%ebp)
  709         %integer block fm;        block fm     = tag(block tag)_format
				movl	-1624(%ebp), %edx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%esi, %eax
				addl	$49048, %eax
				movl	(%eax), %eax
				movl	%eax, -1608(%ebp)
  710         %integer block otype;     block otype  = otype
				movl	OTYPE.6080@GOTOFF(%ebx), %eax
				movl	%eax, -1656(%ebp)
  711         %integername block app;   block app   == tag(block tag)_app
				movl	-1624(%ebp), %edx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	$49040, %eax
				addl	%esi, %eax
				addl	$4, %eax
				movl	%eax, -1652(%ebp)
  712
  713         %integer l, new app
  714
  715         %routine fault(%integer n)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$2364, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, -2368(%ebp)
				movl	%ecx, -2364(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -2356(%ebp)
  716             ! -5 : -1  - warnings
  717             !  1 : 22  - errors
  718
  719             %switch fm(-5:22)
  720             %integer st
  721
  722             %routine print ss
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, -28(%ebp)
  723                 %integer s, p
  724                 %return %if pos = 0
				movl	POS.6116@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L135
				nop
		.L115:
		.LBB353:
		.LBB354:
				call	_imp_space@PLT
		.LBE354:
		.LBE353:
				nop
		.L113:
  725                 space
  726                 p = 1
				movl	$1, -12(%ebp)
		.L117:
  727                 %cycle
  728                     printsymbol(marker) %if p = pos1
				movl	POS1.6114@GOTOFF(%ebx), %eax
				cmpl	%eax, -12(%ebp)
				jne	.L136
				movb	$94, -18(%ebp)
		.LBB355:
		.LBB356:
				movsbl	-18(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				jmp	.L119
		.L136:
		.LBE356:
		.LBE355:
				nop
		.L119:
  729                     %exit %if p = pos
				movl	POS.6116@GOTOFF(%ebx), %eax
				cmpl	%eax, -12(%ebp)
				je	.L137
				nop
		.L121:
				nop
		.L122:
  730                     s = char(p);  p = p+1
				leal	CHAR.6123@GOTOFF(%ebx), %edx
				movl	-12(%ebp), %eax
				addl	%edx, %eax
				movzbl	(%eax), %eax
				movzbl	%al, %eax
				movl	%eax, -16(%ebp)
				addl	$1, -12(%ebp)
  731                     %exit %if s = nl %or (s='%' %and p = pos)
				cmpl	$10, -16(%ebp)
				je	.L138
				cmpl	$37, -16(%ebp)
				jne	.L139
				movl	POS.6116@GOTOFF(%ebx), %eax
				cmpl	%eax, -12(%ebp)
				jne	.L140
				jmp	.L124
		.L138:
				nop
		.L124:
				jmp	.L122
		.L139:
				nop
				jmp	.L126
		.L140:
				nop
		.L126:
  732                     %if s < ' ' %start;         !beware of tabs
				cmpl	$31, -16(%ebp)
				jg	.L141
				nop
		.L131:
  733                         %if s = ff %then s = nl %else s = ' '
				cmpl	$12, -16(%ebp)
				jne	.L142
				movl	$10, -16(%ebp)
				jmp	.L131
		.L142:
				nop
		.L130:
				movl	$32, -16(%ebp)
				jmp	.L131
		.L128:
		.L141:
  734                     %finish
  735                     printsymbol(s)
				movl	-16(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -17(%ebp)
		.LBB357:
		.LBB358:
				movsbl	-17(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE358:
		.LBE357:
  736                 %repeat
				jmp	.L117
		.L137:
  737                 pos = 0 %if list <= 0
				movl	LIST.6130@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L143
				movl	$0, POS.6116@GOTOFF(%ebx)
				nop
		.L133:
  738             %end
				jmp	.L133
		.L143:
				nop
				jmp	.L113
		.L135:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE201:
				.section	.rodata
				.align 4
		.LC74:
				.string	"->FM(%d) out of bounds at %s line %d"
				.align 4
		.LC75:
				.string	"switch jump to undefined label FM(%d): at %s line %d"
				.align 32
		.LC24:
				.byte	8
				.string	"      ! "
				.zero	246
				.align 32
		.LC25:
				.byte	5
				.string	"fault"
				.zero	249
		FAULT.6316:
		.LFB200:
  739
  740             pos1 = pos2 %if pos2 > pos1
				movl	POS2.6115@GOTOFF(%ebx), %edx
				movl	POS1.6114@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jle	.L204
				movl	POS2.6115@GOTOFF(%ebx), %eax
				movl	%eax, POS1.6114@GOTOFF(%ebx)
				jmp	.L146
		.L204:
				nop
		.L146:
  741             newline %if sym # nl
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L205
		.LBB359:
		.LBB360:
				call	_imp_newline@PLT
				jmp	.L148
		.L205:
		.LBE360:
		.LBE359:
				nop
		.L148:
  742             st = report
				movl	$0, -2352(%ebp)
  743             st = listing %if n = -3;              !don't report unused on the console
				cmpl	$-3, 8(%ebp)
				jne	.L206
				movl	$2, -2352(%ebp)
				jmp	.L172
		.L150:
		.L206:
				nop
		.L151:
		.L172:
  744             %cycle
  745                 select output(st)
				subl	$12, %esp
				pushl	-2352(%ebp)
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
  746                 %if n < 0 %then printsymbol('?') %and pos1 = 0 %else printsymbol('*')
				cmpl	$0, 8(%ebp)
				jns	.L207
				movb	$63, -2359(%ebp)
		.LBB361:
		.LBB362:
				movsbl	-2359(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE362:
		.LBE361:
				movl	$0, POS1.6114@GOTOFF(%ebx)
				jmp	.L154
		.L207:
				nop
		.L153:
				movb	$42, -2358(%ebp)
		.LBB363:
		.LBB364:
				movsbl	-2358(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.L154:
		.LBE364:
		.LBE363:
  747                 %if st # report %start
				cmpl	$0, -2352(%ebp)
				je	.L208
				nop
		.L156:
  748                     %if list <= 0 %and pos1 # 0 %start
				movl	LIST.6130@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L209
				movl	POS1.6114@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L210
				nop
				jmp	.L160
		.L210:
				nop
		.L158:
  749                         spaces(pos1+margin);  printstring("      ! ")
				movl	POS1.6114@GOTOFF(%ebx), %edx
				movl	MARGIN.6062@GOTOFF(%ebx), %eax
				addl	%edx, %eax
				movl	%eax, -2336(%ebp)
		.LBB365:
		.LBB366:
				subl	$12, %esp
				pushl	-2336(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
		.LBE366:
		.LBE365:
		.LBB367:
				leal	-1052(%ebp), %eax
				leal	.LC24@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2332(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-2332(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE367:
		.LBB368:
		.LBB369:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-796(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE369:
		.LBE368:
  750                     %finish
  751                 %finish %else %start
				jmp	.L160
		.L209:
				jmp	.L160
		.L208:
  752                     printstring(include file) %if include # 0
				movl	INCLUDE.6102@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L211
		.LBB370:
				movl	-2368(%ebp), %eax
				movl	64(%eax), %edx
				leal	-1052(%ebp), %eax
				addl	$135300, %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1052(%ebp), %edx
				leal	-540(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE370:
		.LBB371:
		.LBB372:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
				jmp	.L199
		.L162:
		.L211:
		.LBE372:
		.LBE371:
				nop
		.L199:
  753                     write(lines, 4);  printsymbol(csym);  space
				movl	LINES.6060@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$4
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
				movl	CSYM.6073@GOTOFF(%ebx), %eax
				movsbl	%al, %eax
				movb	%al, -2357(%ebp)
		.LBB373:
		.LBB374:
				movsbl	-2357(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE374:
		.LBE373:
		.LBB375:
		.LBB376:
				call	_imp_space@PLT
		.L160:
		.LBE376:
		.LBE375:
  754                 %finish
  755                 ->fm(n) %if -5 <= n %and n <= 22
				cmpl	$-5, 8(%ebp)
				jl	.L212
				cmpl	$22, 8(%ebp)
				jg	.L213
				movl	$755, -2348(%ebp)
				leal	.LC71@GOTOFF(%ebx), %eax
				movl	%eax, -2344(%ebp)
				movl	8(%ebp), %eax
				movl	%eax, -2340(%ebp)
				nop
		.L166:
				nop
				jmp	.L164
		.L213:
				nop
		.L164:
		.LBB377:
  756                 printstring("fault");  write(n, 2);              ->ps
				leal	-1052(%ebp), %eax
				leal	.LC25@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2076(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
				leal	-2076(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE377:
		.LBB378:
		.LBB379:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE379:
		.LBE378:
				subl	$8, %esp
				pushl	$2
				pushl	8(%ebp)
				call	_imp_writeint@PLT
				addl	$16, %esp
				nop
		.L167:
  757
  758 fm(-5):         printstring("Dubious statement");  dubious = 0;        ->psd
  759 fm(-4):         printstring("Non-local")
  760                 pos1 = for warn;  for warn = 0;                        ->ps
  761 fm(-3):         print ident(x, 0);  printstring(" unused");            ->nps
  762 fm(-2):         printstring("""}""");                                  ->miss
  763 fm(-1):         printstring("access");                                 ->psd
  764 fm(0):          printstring("form");                                   ->ps
  765 fm(1):          printstring("atom");                                   ->ps
  766 fm(2):          printstring("not declared");                           ->ps
  767 fm(3):          printstring("too complex");                            ->ps
  768 fm(4):          printstring("duplicate ");  Print Ident(x, 0);         ->ps
  769 fm(5):          printstring("type");                                   ->ps
  770 fm(6):          printstring("match");                                  ->psd
  771 fm(7):          printstring("context");                                ->psd
  772 fm(8):          printstring("%cycle");                                 ->miss
  773 fm(9):          printstring("%start");                                 ->miss
  774 fm(10):         printstring("size");  write(lit, 1) %if pos1 = 0;      ->ps
  775 fm(11):         printstring("bounds")
  776                 write(ocount, 1) %unless ocount < 0;                   ->ps
  777 fm(12):         printstring("index");                                  ->ps
  778 fm(13):         printstring("order");                                  ->psd
  779 fm(14):         printstring("not a location");                         ->ps
  780 fm(15):         printstring("%begin");                                 ->miss
  781 fm(16):         printstring("%end");                                   ->miss
  782 fm(17):         printstring("%repeat");                                ->miss
  783 fm(18):         printstring("%finish");                                ->miss
  784 fm(19):         printstring("result");                                 ->miss
  785 fm(20):         printsymbol('"'); print ident(x, 0); printsymbol('"'); ->miss
  786 fm(21):         printstring("context ");  print ident(this, 0);        ->ps
  787 fm(22):         printstring("format");                                 ->ps
  788
  789 miss:           printstring(" missing");                               ->nps
  790 psd:            pos1 = 0
  791 ps:             print ss
				leal	-2356(%ebp), %eax
				movl	%eax, %ecx
				call	PRINTSS.6325
		.L168:
		.LBB380:
		.LBB381:
				call	_imp_newline@PLT
		.LBE381:
		.LBE380:
  792 nps:            newline
  793                 %exit %if st = listing
				cmpl	$2, -2352(%ebp)
				je	.L214
				nop
		.L170:
				nop
		.L171:
  794                 st = listing
				movl	$2, -2352(%ebp)
  795             %repeat
				jmp	.L172
		.L214:
  796             %if n >= 0 %start
				cmpl	$0, 8(%ebp)
				js	.L215
				nop
				jmp	.L180
		.L218:
  797                 !%signal 15,15 %if diag&4096 # 0
  798                 %if n # 13 %start;           !order is fairly safe
				cmpl	$13, 8(%ebp)
				je	.L216
				nop
		.L176:
  799                     ocount = -1
				movl	$-1, OCOUNT.6107@GOTOFF(%ebx)
  800                     gg = 0
				movl	$0, GG.6089@GOTOFF(%ebx)
  801                     copy = 0;  quote = 0
				movl	$0, COPY.6109@GOTOFF(%ebx)
				movl	$0, QUOTE.6070@GOTOFF(%ebx)
  802                     search base = 0;  escape class = 0
				movl	$0, SEARCHBASE.6120@GOTOFF(%ebx)
				movl	$0, ESCAPECLASS.6077@GOTOFF(%ebx)
  803                     gg = 0
				movl	$0, GG.6089@GOTOFF(%ebx)
				jmp	.L176
		.L216:
  804                 %finish
  805                 faulty = faulty+1
				movl	FAULTY.6058@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, FAULTY.6058@GOTOFF(%ebx)
  806
  807                 !check that there haven't been too many faults
  808
  809                 fault rate = fault rate+3;  abandon(6) %if fault rate > 30
				movl	FAULTRATE.6059@GOTOFF(%ebx), %eax
				addl	$3, %eax
				movl	%eax, FAULTRATE.6059@GOTOFF(%ebx)
				movl	FAULTRATE.6059@GOTOFF(%ebx), %eax
				cmpl	$30, %eax
				jle	.L217
				movl	-2368(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$6
				movl	%eax, %ecx
				call	ABANDON.6213
				addl	$16, %esp
				jmp	.L178
		.L217:
				nop
		.L178:
  810                 fault rate = 3 %if fault rate <= 0
				movl	FAULTRATE.6059@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L218
				movl	$3, FAULTRATE.6059@GOTOFF(%ebx)
				jmp	.L180
		.L174:
		.L215:
				nop
		.L180:
  811             %finish
  812             tbase = tstart
				movl	-2368(%ebp), %esi
				movl	60(%esi), %eax
				movl	%eax, 56(%esi)
  813             %if list <= 0 %and sym # nl %start
				movl	LIST.6130@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L219
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L220
				nop
				jmp	.L144
		.L220:
				nop
		.L182:
  814                 error margin = column
				movl	COLUMN.6065@GOTOFF(%ebx), %eax
				movl	%eax, ERRORMARGIN.6063@GOTOFF(%ebx)
  815                 error sym = sym;  sym = nl
				movl	SYM.6068@GOTOFF(%ebx), %eax
				movl	%eax, ERRORSYM.6064@GOTOFF(%ebx)
				movl	$10, SYM.6068@GOTOFF(%ebx)
  816             %finish
  817         %end
				cmpl	$-5, -2340(%ebp)
				jl	.L185
				jmp	.L202
		.L212:
				jmp	.L144
		.L219:
				jmp	.L144
		.L202:
				cmpl	$22, -2340(%ebp)
				jle	.L186
		.L185:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L187
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -2368(%ebp)
				jmp	.L188
		.L187:
				movl	$817, -2368(%ebp)
		.L188:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L189
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-1308(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L190
		.L189:
		.LBB382:
				leal	-1052(%ebp), %eax
				leal	.LC10@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1820(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE382:
				leal	-1308(%ebp), %eax
				leal	-1820(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L190:
				pushl	-2348(%ebp)
				pushl	-2344(%ebp)
				pushl	-2340(%ebp)
				leal	.LC74@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-2340(%ebp)
				pushl	$3
				pushl	$6
				pushl	-2368(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1308(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L186:
				nop
		.L192:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L203
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -2368(%ebp)
				jmp	.L195
		.L203:
				movl	$817, -2368(%ebp)
		.L195:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L196
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-1052(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L197
		.L196:
		.LBB383:
				leal	-1052(%ebp), %eax
				leal	.LC10@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1564(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE383:
				leal	-1052(%ebp), %eax
				leal	-1564(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L197:
				pushl	-2348(%ebp)
				pushl	-2344(%ebp)
				pushl	-2340(%ebp)
				leal	.LC75@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-2340(%ebp)
				pushl	$2
				pushl	$8
				pushl	-2368(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1052(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L144:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L198
				call	__stack_chk_fail_local
		.L198:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE200:
				.section	.rodata
				.align 32
		.LC6:
				.byte	5
				.string	"Begin"
				.zero	249
				.align 32
		.LC7:
				.byte	10
				.string	"Procedure "
				.zero	244
				.align 32
		.LC8:
				.byte	3
				.string	"End"
				.zero	251
		COMPILEBLOCK.6290:
		.LFB199:
  818
  819         dmin = dmin-1;  dict(dmin) = -1;            !end marker for starts & cycles
				movl	-1596(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -1596(%ebp)
				movl	-1596(%ebp), %eax
				subl	$1, %eax
				addl	$6260, %eax
				movl	$-1, 4(%esi,%eax,4)
  820         abandon(2) %if dmax = dmin
				movl	DMAX.6096@GOTOFF(%ebx), %eax
				movl	-1596(%ebp), %edx
				cmpl	%eax, %edx
				jne	.L270
				subl	$12, %esp
				pushl	$2
				movl	-1680(%ebp), %ecx
				call	ABANDON.6213
				addl	$16, %esp
				jmp	.L223
		.L270:
				nop
		.L223:
  821
  822         %if list > 0 %and level > 0 %start
				movl	LIST.6130@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jle	.L271
				movl	-1588(%ebp), %eax
				testl	%eax, %eax
				jle	.L272
				nop
				jmp	.L225
		.L272:
				nop
		.L225:
  823             write(lines, 5);  spaces(level*3-1)
				movl	LINES.6060@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$5
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
				movl	-1588(%ebp), %edx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				subl	$1, %eax
				movl	%eax, -1644(%ebp)
		.LBB384:
		.LBB385:
				subl	$12, %esp
				pushl	-1644(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
		.LBE385:
		.LBE384:
  824             %if block tag = 0 %start
				movl	-1624(%ebp), %eax
				testl	%eax, %eax
				jne	.L273
		.LBB386:
				nop
		.L228:
		.LBB389:
  825                 printstring("Begin")
				leal	-284(%ebp), %eax
				leal	.LC6@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1564(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-1564(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE386:
		.LBB387:
		.LBB388:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-796(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE388:
		.LBE387:
  826             %finish %else %start
				jmp	.L229
		.L273:
  827                 printstring("Procedure ");  print ident(block tag, 0)
				leal	-284(%ebp), %eax
				leal	.LC7@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1308(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-540(%ebp), %eax
				leal	-1308(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE389:
		.LBB390:
		.LBB391:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE391:
		.LBE390:
				movl	-1624(%ebp), %eax
				subl	$8, %esp
				pushl	$0
				pushl	%eax
				movl	-1680(%ebp), %ecx
				call	PRINTIDENT.6199
				addl	$16, %esp
		.L229:
		.LBB392:
		.LBB393:
				call	_imp_newline@PLT
				jmp	.L225
		.L271:
		.LBE393:
		.LBE392:
  828             %finish
  829             newline
  830         %finish
  831
  832         !deal with procedure definition (parameters)
  833         %if block tag # 0 %start;                   !proc
				movl	-1624(%ebp), %eax
				testl	%eax, %eax
				je	.L274
				nop
		.L231:
  834             analyse;  compile %if ss # 0
				leal	-1636(%ebp), %eax
				movl	%eax, %ecx
				call	ANALYSE.6297
				movl	SS.6098@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L275
				leal	-1636(%ebp), %eax
				movl	%eax, %ecx
				call	COMPILE.6299
				jmp	.L233
		.L275:
				nop
		.L233:
  835
  836             %if block otype # 0 %start;              !external-ish
				cmpl	$0, -1656(%ebp)
				je	.L276
				nop
				jmp	.L241
		.L277:
  837                 %if bflags&spec = 0 %start;           !definition
				movl	-1620(%ebp), %eax
				movl	(%eax), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L277
				nop
		.L241:
  838                     %if progmode <= 0 %and level = 1 %then progmode = -1 %else fault(7)
				movl	PROGMODE.6104@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L278
				movl	-1588(%ebp), %eax
				cmpl	$1, %eax
				jne	.L279
				movl	$-1, PROGMODE.6104@GOTOFF(%ebx)
				jmp	.L241
		.L278:
				nop
				jmp	.L238
		.L279:
				nop
		.L238:
				subl	$12, %esp
				leal	-1636(%ebp), %eax
				pushl	$7
				movl	%eax, %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L241
		.L235:
		.L240:
		.L276:
  839                 %finish
  840             %finish
  841
  842             new app = gapp;                          !generate app grammar
				leal	-1636(%ebp), %eax
				movl	%eax, %ecx
				call	GAPP.6293
				movl	%eax, -1648(%ebp)
  843             %if spec given # 0 %start;               !definition after spec
				movl	SPECGIVEN.6076@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L280
				nop
				jmp	.L245
		.L281:
  844                 fault(6) %if new app # block app;     !different from spec
				movl	-1652(%ebp), %eax
				movl	(%eax), %eax
				cmpl	%eax, -1648(%ebp)
				je	.L281
				subl	$12, %esp
				leal	-1636(%ebp), %eax
				pushl	$6
				movl	%eax, %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L245
		.L243:
		.L280:
				nop
		.L245:
  845             %finish
  846             block app = new app;                     !use the latest
				movl	-1652(%ebp), %eax
				movl	-1648(%ebp), %edx
				movl	%edx, (%eax)
  847
  848             %if level < 0 %start;                    !not procedure definition
				movl	-1588(%ebp), %eax
				testl	%eax, %eax
				jns	.L282
				nop
		.L247:
  849                 delete names(0)
				subl	$12, %esp
				leal	-1636(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	DELETENAMES.6295
				addl	$16, %esp
  850                 %return
				jmp	.L221
		.L282:
  851             %finish
  852         %finish %else %start
				jmp	.L262
		.L274:
  853             open = 0;                                !can return from a block?
				movl	$0, %eax
				movl	%eax, -1616(%ebp)
		.L249:
		.L250:
		.L262:
  854         %finish
  855
  856         %cycle
  857             analyse
				leal	-1636(%ebp), %eax
				movl	%eax, %ecx
				call	ANALYSE.6297
  858             %if ss # 0 %start
				movl	SS.6098@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L283
				nop
				jmp	.L262
		.L285:
  859                 compile
				leal	-1636(%ebp), %eax
				movl	%eax, %ecx
				call	COMPILE.6299
  860                 fault(-5) %if dubious # 0
				movl	DUBIOUS.6112@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L284
				subl	$12, %esp
				leal	-1636(%ebp), %eax
				pushl	$-5
				movl	%eax, %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L254
		.L284:
				nop
		.L254:
  861                 flush buffer( 128 )                    ;! flush if bp >= 128
				subl	$12, %esp
				pushl	$128
				movl	-1680(%ebp), %ecx
				call	FLUSHBUFFER.6163
				addl	$16, %esp
  862                 %if sstype > 0 %start;                 !block in or out
				movl	SSTYPE.6105@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jle	.L285
				nop
		.L261:
  863                     %exit %if sstype = 2;               !out
				movl	SSTYPE.6105@GOTOFF(%ebx), %eax
				cmpl	$2, %eax
				je	.L286
				nop
		.L257:
				nop
				jmp	.L258
		.L287:
  864                     compile block(spec mode, block x, dmin, tmax, id)
				movl	BLOCKX.6129@GOTOFF(%ebx), %edx
				movl	SPECMODE.6106@GOTOFF(%ebx), %eax
				movl	-1596(%ebp), %ecx
				movl	-1584(%ebp), %esi
				movl	-1592(%ebp), %edi
				subl	$12, %esp
				pushl	%edi
				pushl	%esi
				pushl	%ecx
				pushl	%edx
				pushl	%eax
				movl	-1680(%ebp), %ecx
				call	COMPILEBLOCK.6290
				addl	$32, %esp
  865                     %exit %if ss < 0;                   !endofprogram
				movl	SS.6098@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				js	.L287
				jmp	.L261
		.L252:
		.L260:
		.L283:
				nop
		.L258:
  866                 %finish
  867             %finish
  868         %repeat
				jmp	.L262
		.L286:
  869         %if list > 0 %and level > 0 %start
				movl	LIST.6130@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jle	.L288
				movl	-1588(%ebp), %eax
				testl	%eax, %eax
				jle	.L289
				nop
				jmp	.L264
		.L289:
				nop
		.L264:
  870             write(lines, 5);  spaces(level*3-1)
				movl	LINES.6060@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$5
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
				movl	-1588(%ebp), %edx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				subl	$1, %eax
				movl	%eax, -1640(%ebp)
		.LBB394:
		.LBB395:
				subl	$12, %esp
				pushl	-1640(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
		.LBE395:
		.LBE394:
		.LBB396:
  871             printstring("End")
				leal	-284(%ebp), %eax
				leal	.LC8@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1052(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE396:
		.LBB397:
		.LBB398:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE398:
		.LBE397:
		.LBB399:
		.LBB400:
				call	_imp_newline@PLT
				jmp	.L264
		.L288:
		.LBE400:
		.LBE399:
  872             newline
  873         %finish
  874         delete names(0)
				subl	$12, %esp
				leal	-1636(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	DELETENAMES.6295
				addl	$16, %esp
  875         %return
				nop
		.L221:
  876
  877         ! generate app grammar (backwards)
  878         %integerfn gapp
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$320, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -316(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -272(%ebp)
  879             %constinteger comma = 140;               !psep
  880             %routinespec set cell(%integer g, tt)
  881             %routinespec class(%record(tagfm)%name v)
  882             %record(tagfm)%name v
  883             %integer p, link, tp, c, ap, t
  884
  885             %result = 0 %if tmax = local;            !no app needed
				movl	LOCAL.6118@GOTOFF(%ebx), %eax
				movl	52(%esi), %edx
				cmpl	%eax, %edx
				jne	.L326
				movl	$0, %eax
				jmp	.L315
		.L326:
				nop
		.L314:
  886
  887             p = gmax1;  link = 0;  t = tmax
				movl	$719, %eax
				movl	%eax, -276(%ebp)
				movl	$0, %eax
				movl	%eax, -280(%ebp)
				movl	52(%esi), %eax
				movl	%eax, -300(%ebp)
		.L316:
  888
  889             %cycle
  890                 v == tag(t);  t = t-1
				movl	64(%esi), %ecx
				movl	-300(%ebp), %edx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	$49040, %eax
				addl	%ecx, %eax
				addl	$4, %eax
				movl	%eax, -296(%ebp)
				subl	$1, -300(%ebp)
  891                 class(v);                             ! deduce class from tag
				subl	$12, %esp
				leal	-292(%ebp), %eax
				pushl	-296(%ebp)
				movl	%eax, %ecx
				call	CLASS.6494
				addl	$16, %esp
  892                 %if c < 0 %start;                     ! insert %PARAM
				movl	-292(%ebp), %eax
				testl	%eax, %eax
				jns	.L327
				nop
		.L318:
  893                     c = -c
				movl	-292(%ebp), %eax
				negl	%eax
				movl	%eax, -292(%ebp)
  894                     set cell(196, tp)
				movl	-288(%ebp), %edx
				subl	$8, %esp
				leal	-292(%ebp), %eax
				pushl	%edx
				pushl	$196
				movl	%eax, %ecx
				call	SETCELL.6492
				addl	$16, %esp
  895                     tp = -1
				movl	$-1, %eax
				movl	%eax, -288(%ebp)
				jmp	.L318
		.L327:
  896                 %finish
  897                 set cell(c, tp)
				movl	-292(%ebp), %edx
				movl	-288(%ebp), %ecx
				subl	$8, %esp
				leal	-292(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	SETCELL.6492
				addl	$16, %esp
  898                 %exit %if t = local;                  ! end of parameters
				movl	LOCAL.6118@GOTOFF(%ebx), %eax
				cmpl	%eax, -300(%ebp)
				je	.L328
				nop
		.L320:
				nop
		.L321:
  899                 set cell(comma, -1);                  ! add the separating comma
				subl	$8, %esp
				leal	-292(%ebp), %eax
				pushl	$-1
				pushl	$140
				movl	%eax, %ecx
				call	SETCELL.6492
				addl	$16, %esp
  900             %repeat
				jmp	.L316
		.L328:
  901             abandon(3) %if gmax > gmin
				movl	GMAX.6149@GOTOFF(%ebx), %edx
				movl	GMIN.6142@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jle	.L329
				movl	64(%esi), %eax
				subl	$12, %esp
				pushl	$3
				movl	%eax, %ecx
				call	ABANDON.6213
				addl	$16, %esp
				jmp	.L323
		.L329:
				nop
		.L323:
  902
  903             %result = link
				movl	-280(%ebp), %eax
		.L315:
  904
  905             %routine set cell(%integer g, tt)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$4, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %edx
				movl	%ecx, -8(%ebp)
		.L291:
  906                 ! add the cell to the grammar, combining common tails
  907                 %while p # gmax %cycle
				movl	GMAX.6149@GOTOFF(%eax), %ecx
				movl	16(%edx), %ebx
				cmpl	%ecx, %ebx
				je	.L305
				nop
		.L293:
  908                     p = p+1
				movl	16(%edx), %ecx
				addl	$1, %ecx
				movl	%ecx, 16(%edx)
  909                     %if glink(p) = link %and gram(p) = g %start
				movl	16(%edx), %ecx
				movzwl	GLINK.6158@GOTOFF(%eax,%ecx,2), %ecx
				movswl	%cx, %ecx
				movl	12(%edx), %ebx
				cmpl	%ecx, %ebx
				jne	.L306
				movl	16(%edx), %ecx
				movzwl	GRAM.6156@GOTOFF(%eax,%ecx,2), %ecx
				movswl	%cx, %ecx
				cmpl	%ecx, 8(%ebp)
				jne	.L307
				nop
				jmp	.L291
		.L307:
				nop
				jmp	.L291
		.L309:
  910                         %if tt < 0 %or (gram(p+1) = tt %and glink(p+1)=ap) %start
				cmpl	$0, 12(%ebp)
				js	.L308
				movl	16(%edx), %ecx
				addl	$1, %ecx
				movzwl	GRAM.6156@GOTOFF(%eax,%ecx,2), %ecx
				movswl	%cx, %ecx
				cmpl	%ecx, 12(%ebp)
				jne	.L309
				movl	16(%edx), %ecx
				addl	$1, %ecx
				movzwl	GLINK.6158@GOTOFF(%eax,%ecx,2), %ecx
				movswl	%cx, %ecx
				movl	8(%edx), %ebx
				cmpl	%ecx, %ebx
				jne	.L310
				jmp	.L298
		.L308:
				nop
		.L298:
				nop
				jmp	.L291
		.L310:
				nop
		.L301:
  911                             link = p;                    ! already there
				movl	16(%edx), %eax
				movl	%eax, 12(%edx)
  912                             %return
				jmp	.L290
		.L295:
		.L306:
  913                         %finish
  914                     %finish
  915                 %repeat
				jmp	.L291
		.L305:
  916
  917                 !add a new cell
  918                 gmax = gmax+1
				movl	GMAX.6149@GOTOFF(%eax), %ecx
				addl	$1, %ecx
				movl	%ecx, GMAX.6149@GOTOFF(%eax)
  919                 gram(gmax) = g
				movl	GMAX.6149@GOTOFF(%eax), %ecx
				movl	8(%ebp), %ebx
				movw	%bx, GRAM.6156@GOTOFF(%eax,%ecx,2)
  920                 glink(gmax) = link
				movl	GMAX.6149@GOTOFF(%eax), %ecx
				movl	12(%edx), %ebx
				movw	%bx, GLINK.6158@GOTOFF(%eax,%ecx,2)
  921                 link = gmax
				movl	GMAX.6149@GOTOFF(%eax), %ecx
				movl	%ecx, 12(%edx)
  922
  923                 %if tt >= 0 %start;             ! set type cell
				cmpl	$0, 12(%ebp)
				js	.L311
				nop
		.L303:
  924                     gmax = gmax+1
				movl	GMAX.6149@GOTOFF(%eax), %ecx
				addl	$1, %ecx
				movl	%ecx, GMAX.6149@GOTOFF(%eax)
  925                     gram(gmax) = tt
				movl	GMAX.6149@GOTOFF(%eax), %ecx
				movl	12(%ebp), %ebx
				movw	%bx, GRAM.6156@GOTOFF(%eax,%ecx,2)
  926                     glink(gmax) = ap
				movl	GMAX.6149@GOTOFF(%eax), %ecx
				movl	8(%edx), %ebx
				movw	%bx, GLINK.6158@GOTOFF(%eax,%ecx,2)
				jmp	.L303
		.L311:
  927                 %finish
  928                 p = gmax
				movl	GMAX.6149@GOTOFF(%eax), %eax
				movl	%eax, 16(%edx)
  929
  930             %end
				nop
		.L290:
				addl	$4, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE203:
		GAPP.6293:
		.LFB202:
  931
  932             %routine class(%record(tagfm)%name v)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%ebx
				subl	$176, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	8(%ebp), %eax
				movl	%eax, -172(%ebp)
				movl	%ecx, %edx
				movl	%ecx, -176(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  933                 %constinteger err    = 89
  934                 %constinteger rtp    = 100
  935                 %constinteger fnp    = 101
  936                 %constinteger mapp   = 102
  937                 %constinteger predp  = 103
  938                 %constintegerarray class map(0:15) = %c
				movl	$89, -144(%ebp)
				movl	$1764, -140(%ebp)
				movl	$247, -136(%ebp)
				movl	$89, -132(%ebp)
				movl	$89, -128(%ebp)
				movl	$89, -124(%ebp)
				movl	$89, -120(%ebp)
				movl	$-100, -116(%ebp)
				movl	$-101, -112(%ebp)
				movl	$-102, -108(%ebp)
				movl	$-103, -104(%ebp)
				movl	$89, -100(%ebp)
				movl	$214, -96(%ebp)
				movl	$89, -92(%ebp)
				movl	$229, -88(%ebp)
				movl	$89, -84(%ebp)
				leal	-80(%ebp), %ebx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%ebx, %edi
				rep stosl
				leal	-144(%ebp), %eax
				movl	%eax, -80(%ebp)
				movl	$4, -76(%ebp)
  939                           err,1764, 247, err(4), -rtp, -fnp, -mapp, -predp, err, 214,
  940                 !         err,1764, 247, err(4), -rtp, -fnp, -mapp, -predp, err, 214,
  941                           err, 229, err
  942                 !         err, 229, err
  943                 %integer tags, type, form
  944
  945                 ap = 0
				movl	$0, %eax
				movl	%eax, 8(%edx)
  946                 tags = v_flags
				movl	-172(%ebp), %eax
				movl	8(%eax), %eax
				movl	%eax, -156(%ebp)
  947                 type = tags>>4&7;  form = tags&15
				movl	-156(%ebp), %eax
				shrl	$4, %eax
				andl	$7, %eax
				movl	%eax, -152(%ebp)
				movl	-156(%ebp), %eax
				andl	$15, %eax
				movl	%eax, -148(%ebp)
  948                 tp = v_format<<3!type
				movl	-172(%ebp), %eax
				movl	4(%eax), %eax
				sall	$3, %eax
				orl	-152(%ebp), %eax
				movl	%eax, 4(%edx)
  949                 c = class map(form)
				movl	-148(%ebp), %eax
				movl	-144(%ebp,%eax,4), %eax
				movl	%eax, (%edx)
  950                 c = 208 %and tp = 0 %if type = 0 %and form = 2;  !%name
				cmpl	$0, -152(%ebp)
				jne	.L338
				cmpl	$2, -148(%ebp)
				jne	.L339
				movl	$208, %eax
				movl	%eax, (%edx)
				movl	$0, %eax
				movl	%eax, 4(%edx)
				jmp	.L337
		.L332:
		.L338:
				nop
				jmp	.L337
		.L339:
				nop
		.L337:
  951                 ap = v_app %if tags&parameters # 0
				movl	-172(%ebp), %eax
				movl	(%eax), %eax
				movl	%eax, 8(%edx)
  952             %end
				nop
		.L334:
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L336
				call	__stack_chk_fail_local
		.L336:
				addl	$176, %esp
				popl	%ebx
				popl	%edi
				popl	%ebp
				ret
		.LFE204:
		DELETENAMES.6295:
		.LFB205:
  953         %end
				movl	-12(%ebp), %ebx
				xorl	%gs:20, %ebx
				je	.L324
				call	__stack_chk_fail_local
		.L324:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE202:
		CLASS.6494:
		.LFB204:
  954
  955         %routine delete names(%integer quiet)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$32, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
		.L341:
  956             %integer flags
  957             %record(tagfm)%name tx
  958
  959             %while tmax > tbase %cycle
				movl	52(%ebx), %edx
				movl	56(%ebx), %eax
				cmpl	%eax, %edx
				jle	.L355
				nop
		.L343:
  960                 x = tmax;  tmax = tmax-1
				movl	52(%ebx), %eax
				movl	%eax, X.6050@GOTOFF(%esi)
				movl	52(%ebx), %eax
				subl	$1, %eax
				movl	%eax, 52(%ebx)
  961                 tx == tag(x)
				movl	X.6050@GOTOFF(%esi), %edx
				movl	64(%ebx), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	$49040, %eax
				addl	%ecx, %eax
				addl	$4, %eax
				movl	%eax, -20(%ebp)
  962                 flags = tx_flags
				movl	-20(%ebp), %eax
				movl	8(%eax), %eax
				movl	%eax, -16(%ebp)
  963                 fault(20) %if flags&spec # 0 %and flags&own bit = 0
				movl	-16(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L356
				subl	$12, %esp
				pushl	$20
				movl	%ebx, %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L345
		.L356:
				nop
		.L345:
  964                 !{spec with no definition & not external}
  965                 %if flags&used bit = 0 %and level >= 0 %and list <= 0 %start
				movl	-16(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L357
				movl	48(%ebx), %eax
				testl	%eax, %eax
				js	.L358
				movl	LIST.6130@GOTOFF(%esi), %eax
				testl	%eax, %eax
				jg	.L359
				nop
				jmp	.L351
		.L358:
				nop
				jmp	.L351
		.L359:
				nop
				jmp	.L351
		.L360:
  966                     fault(-3) %if quiet = 0;          !unused
				cmpl	$0, 8(%ebp)
				jne	.L360
				subl	$12, %esp
				pushl	$-3
				movl	%ebx, %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L351
		.L347:
		.L357:
				nop
		.L351:
  967                 %finish
  968                 dict(tx_text) = tx_link
				movl	-20(%ebp), %eax
				movl	16(%eax), %eax
				leal	-1(%eax), %ecx
				movl	-20(%ebp), %eax
				movl	20(%eax), %edx
				movl	64(%ebx), %eax
				addl	$6260, %ecx
				movl	%edx, 4(%eax,%ecx,4)
  969             %repeat
				jmp	.L341
		.L355:
  970         %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L353
				call	__stack_chk_fail_local
		.L353:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE205:
		SHOW.6569:
		.LFB208:
  971
  972         %routine analyse
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$6764, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %edi
				movl	%edi, -6768(%ebp)
				movl	%ecx, -6764(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -6688(%ebp)
				movl	%edi, -6692(%ebp)
  973             %constinteger order bits = 16_3000, order bit = 16_1000
  974             %constinteger escape     = 16_1000
  975             %integer strp, mark, flags, prot err, k, s, c
  976             %owninteger key = 0
  977             %integer node
  978             %integername z
  979             %record(arfm)%name arp
  980             %switch act(actions:phrasal), paction(0:15)
  981
  982             %routine trace analysis
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$828, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -828(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -800(%ebp)
				movl	%esi, -804(%ebp)
  983                 !diagnostic trace routine (diagnose&1 # 0)
  984                 %integer a
  985
  986                 %routine show(%integer a)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$300, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -300(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
  987                     %if 0 < a %and a < 130 %start
				cmpl	$0, 8(%ebp)
				jle	.L369
				cmpl	$129, 8(%ebp)
				jg	.L370
		.LBB401:
		.LBB402:
				call	_imp_space@PLT
		.LBE402:
		.LBE401:
		.LBB403:
				nop
				jmp	.L368
		.L370:
				nop
		.L368:
  988                         space
  989                         printstring(text(a))
				movl	(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				movl	8(%ebp), %edx
				sall	$8, %edx
				addl	%edx, %eax
				leal	69760(%eax), %edx
				leal	-284(%ebp), %eax
				addl	$4, %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %edx
				leal	-284(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE403:
		.LBB404:
		.LBB405:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE405:
		.LBE404:
  990                     %finish %else write(a, 3)
				jmp	.L365
		.L363:
		.L369:
				subl	$8, %esp
				pushl	$3
				pushl	8(%ebp)
				call	_imp_writeint@PLT
				addl	$16, %esp
		.L365:
  991                 %end
				nop
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L367
				call	__stack_chk_fail_local
		.L367:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE208:
				.section	.rodata
				.align 32
		.LC23:
				.byte	2
				.string	" ["
				.zero	252
		TRACEANALYSIS.6565:
		.LFB207:
  992
  993                 %owninteger la1=0, la2=0, lsa=0, lt=0
  994                 newline %if mon pos # pos %and sym # nl
				movl	MONPOS.6067@GOTOFF(%ebx), %edx
				movl	POS.6116@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				je	.L385
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L386
		.LBB406:
		.LBB407:
				call	_imp_newline@PLT
				jmp	.L373
		.L385:
		.LBE407:
		.LBE406:
				nop
				jmp	.L373
		.L386:
				nop
		.L373:
  995                 mon pos = pos
				movl	POS.6116@GOTOFF(%ebx), %eax
				movl	%eax, MONPOS.6067@GOTOFF(%ebx)
  996                 write(g, 3)
				movl	G.6088@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$3
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB408:
		.LBB409:
				call	_imp_space@PLT
		.LBE409:
		.LBE408:
		.LBB410:
  997                 space
  998                 printstring(text(class))
				movl	CLASS.6049@GOTOFF(%ebx), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				sall	$8, %edx
				addl	%edx, %eax
				leal	69760(%eax), %edx
				leal	-284(%ebp), %eax
				addl	$4, %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %edx
				leal	-540(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE410:
		.LBB411:
		.LBB412:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
				movb	$34, -812(%ebp)
		.LBE412:
		.LBE411:
		.LBB413:
		.LBB414:
				movsbl	-812(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.L375:
		.LBE414:
		.LBE413:
  999                 printsymbol('"') %if gg&trans bit # 0
 1000                 a = gg>>8&15
				movl	GG.6089@GOTOFF(%ebx), %eax
				shrl	$8, %eax
				andl	$15, %eax
				movl	%eax, -808(%ebp)
 1001                 %if a # 0 %start
				cmpl	$0, -808(%ebp)
				je	.L387
				movb	$123, -811(%ebp)
		.LBB415:
		.LBB416:
				movsbl	-811(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE416:
		.LBE415:
				nop
		.L377:
 1002                     printsymbol('{')
 1003                     write(a, 0)
				subl	$8, %esp
				pushl	$0
				pushl	-808(%ebp)
				call	_imp_writeint@PLT
				addl	$16, %esp
				movb	$125, -810(%ebp)
		.LBB417:
		.LBB418:
				movsbl	-810(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				jmp	.L377
		.L387:
		.LBE418:
		.LBE417:
 1004                     printsymbol('}')
 1005                 %finish
 1006                 %if atom1 # la1 %or atom2 # la2 %or lsa # subatom %or lt # type %start
				movl	ATOM1.6051@GOTOFF(%ebx), %edx
				movl	LA1.6575@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jne	.L388
				movl	ATOM2.6052@GOTOFF(%ebx), %edx
				movl	LA2.6576@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jne	.L389
				movl	LSA.6577@GOTOFF(%ebx), %edx
				movl	SUBATOM.6053@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jne	.L390
				movl	LT.6578@GOTOFF(%ebx), %edx
				movl	TYPE.6054@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				je	.L391
				jmp	.L379
		.L388:
				nop
				jmp	.L379
		.L389:
				nop
				jmp	.L379
		.L390:
				nop
		.L379:
		.LBB419:
				nop
		.L382:
		.LBB424:
		.LBB425:
				call	_imp_newline@PLT
		.LBE425:
		.LBE424:
 1007                     printstring(" [")
				leal	-284(%ebp), %eax
				leal	.LC23@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE419:
		.LBB420:
		.LBB421:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE421:
		.LBE420:
 1008                     la1 = atom1
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				movl	%eax, LA1.6575@GOTOFF(%ebx)
 1009                     show(la1)
				movl	LA1.6575@GOTOFF(%ebx), %edx
				subl	$12, %esp
				leal	-804(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	SHOW.6569
				addl	$16, %esp
 1010                     la2 = atom2
				movl	ATOM2.6052@GOTOFF(%ebx), %eax
				movl	%eax, LA2.6576@GOTOFF(%ebx)
 1011                     show(la2)
				movl	LA2.6576@GOTOFF(%ebx), %edx
				subl	$12, %esp
				leal	-804(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	SHOW.6569
				addl	$16, %esp
 1012                     lsa = subatom
				movl	SUBATOM.6053@GOTOFF(%ebx), %eax
				movl	%eax, LSA.6577@GOTOFF(%ebx)
 1013                     write(lsa, 3)
				movl	LSA.6577@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$3
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
 1014                     lt = type
				movl	TYPE.6054@GOTOFF(%ebx), %eax
				movl	%eax, LT.6578@GOTOFF(%ebx)
 1015                     write(lt, 5)
				movl	LT.6578@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$5
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
				movb	$93, -809(%ebp)
		.LBB422:
		.LBB423:
				movsbl	-809(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				jmp	.L382
		.L391:
		.LBE423:
		.LBE422:
 1016                     printsymbol(']')
 1017                 %finish
 1018                 newline
 1019             %end
				nop
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L384
				call	__stack_chk_fail_local
		.L384:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE207:
				.section	.rodata
				.align 4
		.LC76:
				.string	"->ACT(%d) out of bounds at %s line %d"
				.align 4
		.LC77:
				.string	"switch jump to undefined label ACT(%d): at %s line %d"
				.align 4
		.LC78:
				.string	"->PACTION(%d) out of bounds at %s line %d"
				.align 4
		.LC79:
				.string	"switch jump to undefined label PACTION(%d): at %s line %d"
				.align 32
		.LC11:
				.byte	7
				.string	"Atom1 ="
				.zero	247
				.align 32
		.LC12:
				.byte	9
				.string	"  Atom2 ="
				.zero	245
				.align 32
		.LC13:
				.byte	11
				.string	"  subatom ="
				.zero	243
				.align 32
		.LC14:
				.byte	6
				.string	"Type ="
				.zero	248
				.align 32
		.LC15:
				.byte	10
				.string	"   Ptype ="
				.zero	244
				.align 32
		.LC16:
				.byte	5
				.string	"App ="
				.zero	249
				.align 32
		.LC17:
				.byte	9
				.string	"   Papp ="
				.zero	245
				.align 32
		.LC18:
				.byte	8
				.string	"Format ="
				.zero	246
				.align 32
		.LC19:
				.byte	12
				.string	"   Pformat ="
				.zero	242
		ANALYSE.6297:
		.LFB206:
 1020
 1021             %routine get sym
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$32, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -28(%ebp)
				leal	SYM.6068@GOTOFF(%ebx), %eax
				movl	%eax, -12(%ebp)
		.LBB465:
		.LBB466:
				subl	$12, %esp
				pushl	-12(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE466:
		.LBE465:
 1022                 readsymbol(sym)
 1023                 abandon(5) %if sym < 0
				movl	SYM.6068@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jns	.L567
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$5
				movl	%eax, %ecx
				call	ABANDON.6213
				addl	$16, %esp
				jmp	.L561
		.L567:
				nop
		.L561:
 1024                 pos = pos+1 %if pos # 133
				movl	POS.6116@GOTOFF(%ebx), %eax
				cmpl	$133, %eax
				je	.L568
				movl	POS.6116@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, POS.6116@GOTOFF(%ebx)
				jmp	.L563
		.L568:
				nop
		.L563:
 1025                 char(pos) = sym
				movl	SYM.6068@GOTOFF(%ebx), %edx
				movl	POS.6116@GOTOFF(%ebx), %eax
				movb	%dl, CHAR.6123@GOTOFF(%ebx,%eax)
 1026                 printsymbol(sym) %if list <= 0
				movl	LIST.6130@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L569
				movl	SYM.6068@GOTOFF(%ebx), %eax
				movsbl	%al, %eax
				movb	%al, -13(%ebp)
		.LBB467:
		.LBB468:
				movsbl	-13(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				jmp	.L565
		.L569:
		.LBE468:
		.LBE467:
				nop
		.L565:
 1027                 column = column+1
				movl	COLUMN.6065@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, COLUMN.6065@GOTOFF(%ebx)
 1028             %end
				nop
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE209:
				.section	.rodata
				.align 32
		.LC21:
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	10
				.byte	0
				.byte	3
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	33
				.byte	34
				.byte	35
				.byte	36
				.byte	1
				.byte	38
				.byte	39
				.byte	40
				.byte	41
				.byte	42
				.byte	43
				.byte	44
				.byte	45
				.byte	46
				.byte	47
				.byte	48
				.byte	49
				.byte	50
				.byte	51
				.byte	52
				.byte	53
				.byte	54
				.byte	55
				.byte	56
				.byte	57
				.byte	58
				.byte	59
				.byte	60
				.byte	61
				.byte	62
				.byte	63
				.byte	64
				.byte	65
				.byte	66
				.byte	67
				.byte	68
				.byte	69
				.byte	70
				.byte	71
				.byte	72
				.byte	73
				.byte	74
				.byte	75
				.byte	76
				.byte	77
				.byte	78
				.byte	79
				.byte	80
				.byte	81
				.byte	82
				.byte	83
				.byte	84
				.byte	85
				.byte	86
				.byte	87
				.byte	88
				.byte	89
				.byte	90
				.byte	91
				.byte	92
				.byte	93
				.byte	94
				.byte	95
				.byte	96
				.byte	65
				.byte	66
				.byte	67
				.byte	68
				.byte	69
				.byte	70
				.byte	71
				.byte	72
				.byte	73
				.byte	74
				.byte	75
				.byte	76
				.byte	77
				.byte	78
				.byte	79
				.byte	80
				.byte	81
				.byte	82
				.byte	83
				.byte	84
				.byte	85
				.byte	86
				.byte	87
				.byte	88
				.byte	89
				.byte	90
				.byte	2
				.byte	124
				.byte	125
				.byte	126
				.byte	0
				.align 32
		.LC22:
				.byte	2
				.string	" &"
				.zero	252
		READSYM.6595:
		.LFB210:
 1029
 1030             %routine read sym
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$1020, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, -1024(%ebp)
				movl	%ecx, -1020(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
 1031                 %owninteger Last = 0
 1032                 %constbyteintegerarray mapped(0:127) = %c
				leal	-156(%ebp), %eax
				leal	.LC21@GOTOFF(%ebx), %edx
				movl	$32, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-992(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-156(%ebp), %eax
				movl	%eax, -992(%ebp)
				movl	$1, -988(%ebp)
 1033                   0,  0,  0,  0,   0,  0,  0,  0,    0,  0, 10,  0,   3,  0,  0,  0,
 1034                   0,  0,  0,  0,   0,  0,  0,  0,    0,  0,  0,  0,   0,  0,  0,  0,
 1035                   0,'!','"','#', '$',  1,'&', 39,  '(',')','*','+', ',','-','.','/',
 1036                 '0','1','2','3', '4','5','6','7',  '8','9',':',';', '<','=','>','?',
 1037                 '@','A','B','C', 'D','E','F','G',  'H','I','J','K', 'L','M','N','O',
 1038                 'P','Q','R','S', 'T','U','V','W',  'X','Y','Z','[', '\',']','^','_',
 1039                 '`','A','B','C', 'D','E','F','G',  'H','I','J','K', 'L','M','N','O',
 1040                 'P','Q','R','S', 'T','U','V','W',  'X','Y','Z', 2 , '|','}','~',  0
 1041
 1042                 !!   0 = space
 1043                 !!   1 = %
 1044                 !!   2 = {
 1045                 !!   3 = ff
 1046                 !!   other values represent themselves
 1047
 1048                 %if sym = nl %start
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				jne	.L630
				nop
				jmp	.L587
		.L644:
 1049 s1:                 lines = lines+1
				nop
				jmp	.L571
		.L651:
				movl	LINES.6060@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, LINES.6060@GOTOFF(%ebx)
 1050                     printsymbol(end mark) %if end mark # 0
				movl	ENDMARK.6071@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L631
				movl	ENDMARK.6071@GOTOFF(%ebx), %eax
				movsbl	%al, %eax
				movb	%al, -1004(%ebp)
		.LBB469:
		.LBB470:
				movsbl	-1004(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				jmp	.L575
		.L574:
		.L631:
		.LBE470:
		.LBE469:
				nop
		.L575:
 1051 s11:                pos = 0;  pos1 = 0;  pos2 = 0;  margin = 0;  column = 0
				movl	$0, POS.6116@GOTOFF(%ebx)
				movl	$0, POS1.6114@GOTOFF(%ebx)
				movl	$0, POS2.6115@GOTOFF(%ebx)
				movl	$0, MARGIN.6062@GOTOFF(%ebx)
				movl	$0, COLUMN.6065@GOTOFF(%ebx)
 1052                     Last = 0
				movl	$0, LAST.6597@GOTOFF(%ebx)
 1053                     end mark = 0
				movl	$0, ENDMARK.6071@GOTOFF(%ebx)
 1054                     %if list <= 0 %start
				movl	LIST.6130@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L632
				nop
				jmp	.L586
		.L634:
 1055                         %if include # 0 %start
				movl	INCLUDE.6102@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L633
		.LBB471:
				nop
 1056                             printstring(" &");  write(lines, -4)
				leal	-924(%ebp), %eax
				leal	.LC22@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-668(%ebp), %eax
				leal	-924(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-412(%ebp), %eax
				leal	-668(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE471:
		.LBB472:
		.LBB473:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-412(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE473:
		.LBE472:
				movl	LINES.6060@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$-4
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
 1057                         %finish %else  write(lines, 5)
				jmp	.L580
		.L579:
		.L633:
				movl	LINES.6060@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$5
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.L580:
 1058                         csym = cont;  printsymbol(csym)
				movl	CONT.6072@GOTOFF(%ebx), %eax
				movl	%eax, CSYM.6073@GOTOFF(%ebx)
				movl	CSYM.6073@GOTOFF(%ebx), %eax
				movsbl	%al, %eax
				movb	%al, -1003(%ebp)
		.LBB474:
		.LBB475:
				movsbl	-1003(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE475:
		.LBE474:
		.LBB476:
		.LBB477:
				call	_imp_space@PLT
		.LBE477:
		.LBE476:
 1059                         space
 1060                         %if error margin # 0 %start
				movl	ERRORMARGIN.6063@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L634
				nop
				jmp	.L586
		.L635:
 1061                             lines = lines-1
				movl	LINES.6060@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, LINES.6060@GOTOFF(%ebx)
 1062                             spaces(error margin)
				movl	ERRORMARGIN.6063@GOTOFF(%ebx), %eax
				movl	%eax, -1000(%ebp)
		.LBB478:
		.LBB479:
				subl	$12, %esp
				pushl	-1000(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
		.LBE479:
		.LBE478:
 1063                             error margin = 0
				movl	$0, ERRORMARGIN.6063@GOTOFF(%ebx)
 1064                             %if error sym # 0 %start
				movl	ERRORSYM.6064@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L635
				nop
				jmp	.L586
		.L642:
 1065                                 printsymbol(error sym)
				movl	ERRORSYM.6064@GOTOFF(%ebx), %eax
				movsbl	%al, %eax
				movb	%al, -1002(%ebp)
		.LBB480:
		.LBB481:
				movsbl	-1002(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE481:
		.LBE480:
 1066                                 pos = 1;  char(1) = error sym
				movl	$1, POS.6116@GOTOFF(%ebx)
				movl	ERRORSYM.6064@GOTOFF(%ebx), %eax
				movb	%al, 1+CHAR.6123@GOTOFF(%ebx)
 1067                                 sym = error sym;  error sym = 0
				movl	ERRORSYM.6064@GOTOFF(%ebx), %eax
				movl	%eax, SYM.6068@GOTOFF(%ebx)
				movl	$0, ERRORSYM.6064@GOTOFF(%ebx)
 1068                                 ->s5
				jmp	.L583
		.L577:
		.L584:
		.L585:
		.L632:
 1069                             %finish
 1070                         %finish
 1071                     %finish
 1072 s2:                 symtype = 1
				movl	$1, SYMTYPE.6069@GOTOFF(%ebx)
				jmp	.L587
		.L572:
		.L630:
 1073                 %finish
 1074 s3:             readsymbol(sym)
 1075                 abandon(5) %if sym < 0
				movl	SYM.6068@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jns	.L636
				movl	-1024(%ebp), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$5
				movl	%eax, %ecx
				call	ABANDON.6213
				addl	$16, %esp
				jmp	.L589
		.L636:
				nop
		.L589:
 1076                 pos = pos+1 %if pos # 133
				movl	POS.6116@GOTOFF(%ebx), %eax
				cmpl	$133, %eax
				je	.L637
				movl	POS.6116@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, POS.6116@GOTOFF(%ebx)
				jmp	.L591
		.L637:
				nop
		.L591:
 1077                 char(pos) = sym
				movl	SYM.6068@GOTOFF(%ebx), %edx
				movl	POS.6116@GOTOFF(%ebx), %eax
				movb	%dl, CHAR.6123@GOTOFF(%ebx,%eax)
 1078                 printsymbol(sym) %if list <= 0
				movl	LIST.6130@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L638
				movl	SYM.6068@GOTOFF(%ebx), %eax
				movsbl	%al, %eax
				movb	%al, -1001(%ebp)
		.LBB484:
		.LBB485:
				movsbl	-1001(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				jmp	.L593
		.L638:
		.LBE485:
		.LBE484:
				nop
		.L593:
 1079                 column = column+1
				movl	COLUMN.6065@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, COLUMN.6065@GOTOFF(%ebx)
		.L583:
 1080 s5:             %if sym # nl %start
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L639
				nop
				jmp	.L620
		.L645:
 1081                     Last = Sym
				movl	SYM.6068@GOTOFF(%ebx), %eax
				movl	%eax, LAST.6597@GOTOFF(%ebx)
 1082                     %return %if quote # 0;                     !dont alter strings
				movl	QUOTE.6070@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L640
				nop
		.L597:
				nop
		.L570:
 1083                     sym = mapped(sym&127)
				movl	SYM.6068@GOTOFF(%ebx), %eax
				andl	$127, %eax
				movzbl	-156(%ebp,%eax), %eax
				movzbl	%al, %eax
				movl	%eax, SYM.6068@GOTOFF(%ebx)
 1084                     %if sym <= 3 %start;                       !special symbol
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$3, %eax
				jg	.L641
				nop
		.L600:
 1085                         ->s2 %if sym = 0;                       !space (or dubious control)
				nop
		.L586:
				movl	SYM.6068@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L642
				nop
		.L602:
 1086                         symtype = 2 %and ->s3 %if sym = 1;      !%
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$1, %eax
				jne	.L643
				movl	$2, SYMTYPE.6069@GOTOFF(%ebx)
				jmp	.L587
		.L643:
				nop
		.L604:
 1087                         cont = '+' %and ->s11 %if sym = 3;      !ff
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$3, %eax
				je	.L605
				jmp	.L606
		.L605:
				movl	$43, CONT.6072@GOTOFF(%ebx)
				jmp	.L575
		.L606:
		.L607:
 1088                         !must be {
 1089                         %cycle
 1090                             get sym
				movl	-1024(%ebp), %ecx
				call	GETSYM.6589
 1091                             ->s3 %if sym = '}'
				nop
		.L587:
				leal	SYM.6068@GOTOFF(%ebx), %eax
				movl	%eax, -996(%ebp)
		.LBB482:
		.LBB483:
				subl	$12, %esp
				pushl	-996(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE483:
		.LBE482:
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$125, %eax
				je	.L644
				nop
		.L609:
 1092                             ->s4 %if sym = nl
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L645
				nop
		.L611:
				nop
		.L620:
 1093                         %repeat
				jmp	.L606
		.L641:
 1094                     %finish
 1095                     key = kdict(sym)
				movl	SYM.6068@GOTOFF(%ebx), %eax
				leal	-32(%eax), %edx
				movl	-1024(%ebp), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				addl	$34248, %edx
				movzwl	12(%eax,%edx,2), %eax
				cwtl
				movl	%eax, KEY.6550@GOTOFF(%ebx)
 1096                     %if key&3 = 0 %and symtype = 2 %start;            !keyword
				movl	KEY.6550@GOTOFF(%ebx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L646
				movl	SYMTYPE.6069@GOTOFF(%ebx), %eax
				cmpl	$2, %eax
				jne	.L647
				nop
				jmp	.L613
		.L647:
				nop
		.L613:
 1097                         %if sym = 'C' %and nextsymbol = nl %start;     !%c...
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$67, %eax
				jne	.L648
		.LBB486:
		.LBB487:
				call	_imp_nextsymbol@PLT
		.LBE487:
		.LBE486:
				cmpl	$10, %eax
				jne	.L649
				nop
				jmp	.L616
		.L649:
				nop
		.L616:
 1098                             getsym;  cont = '+';  ->s1
				movl	-1024(%ebp), %ecx
				call	GETSYM.6589
				movl	$43, CONT.6072@GOTOFF(%ebx)
				jmp	.L571
		.L648:
 1099                         %finish
 1100                     %else
				nop
		.L619:
 1101                         symtype = key&3-2
				movl	KEY.6550@GOTOFF(%ebx), %eax
				andl	$3, %eax
				subl	$2, %eax
				movl	%eax, SYMTYPE.6069@GOTOFF(%ebx)
 1102                     %finish
 1103                     %return
				jmp	.L570
		.L646:
				jmp	.L570
		.L595:
		.L639:
 1104                 %finish
 1105 s4:             symtype = quote
				movl	QUOTE.6070@GOTOFF(%ebx), %eax
				movl	%eax, SYMTYPE.6069@GOTOFF(%ebx)
 1106                 ->S1 %if last = 0 %and Quote = 0
				nop
		.L571:
				movl	LAST.6597@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L650
				movl	QUOTE.6070@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L651
				jmp	.L622
		.L650:
				nop
		.L622:
 1107                 Cont = '+'
				movl	$43, CONT.6072@GOTOFF(%ebx)
 1108             %end
				nop
				jmp	.L570
		.L640:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L625
				call	__stack_chk_fail_local
		.L625:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE210:
		FORMATSELECTED.6632:
		.LFB211:
 1109
 1110             %integerfn format selected
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$32, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %esi
				movl	%esi, -12(%ebp)
				xorl	%esi, %esi
 1111                 format list = tag(format)_app;      !number of names
				movl	FORMAT.6056@GOTOFF(%eax), %ecx
				movl	4(%ebx), %edx
				movl	64(%edx), %esi
				movl	%ecx, %edx
				addl	%edx, %edx
				addl	%ecx, %edx
				sall	$3, %edx
				addl	%esi, %edx
				addl	$49044, %edx
				movl	(%edx), %edx
				movl	%edx, FORMATLIST.6121@GOTOFF(%eax)
 1112                 %if format list < 0 %start;         !forward ref
				movl	FORMATLIST.6121@GOTOFF(%eax), %edx
				testl	%edx, %edx
				jns	.L660
				nop
		.L654:
 1113                     atom1 = error+22
				movl	$32790, ATOM1.6051@GOTOFF(%eax)
 1114                     %result = 0
				movl	$0, %eax
				jmp	.L655
		.L660:
 1115                 %finish
 1116                 %if sym = '_' %start
				movl	SYM.6068@GOTOFF(%eax), %edx
				cmpl	$95, %edx
				jne	.L661
				nop
		.L657:
 1117                     escape class = esc rec
				movl	$255, ESCAPECLASS.6077@GOTOFF(%eax)
 1118                     search base = tag(format)_format
				movl	FORMAT.6056@GOTOFF(%eax), %ecx
				movl	4(%ebx), %edx
				movl	64(%edx), %ebx
				movl	%ecx, %edx
				addl	%edx, %edx
				addl	%ecx, %edx
				sall	$3, %edx
				addl	%ebx, %edx
				addl	$49048, %edx
				movl	(%edx), %edx
				movl	%edx, SEARCHBASE.6120@GOTOFF(%eax)
				jmp	.L657
		.L661:
 1119                 %finish
 1120                 %result = 1
				movl	$1, %eax
		.L655:
 1121             %end
				movl	-12(%ebp), %esi
				xorl	%gs:20, %esi
				je	.L658
				call	__stack_chk_fail_local
		.L658:
				addl	$32, %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE211:
		DICTMATCH.6661:
		.LFB214:
 1122
 1123             %routine code atom(%integer target)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$92, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -92(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -32(%ebp)
				movl	%esi, -36(%ebp)
		.L822:
 1124                 %integer dbase, da
 1125                 %integer base, n, mul, pend quote
 1126                 %integer j,k,l, pt
 1127
 1128                 %routine lookup(%integer d)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$588, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%esi, -592(%ebp)
				movl	%ecx, -588(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -544(%ebp)
				movl	%esi, -548(%ebp)
 1129                     %integer new name, vid, k1, k2, form
 1130                     %record(tagfm)%name t
 1131                     %integer new
 1132
 1133                     ! twee little function because SKIMP86 can't do string compare properly
 1134                     ! returns 1 if the two names are the same, else zero
 1135                     %integerfn dict match(%integer ptr1, ptr2)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %eax
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %ebx
				movl	%ebx, -12(%ebp)
				xorl	%ebx, %ebx
 1136                         %integer len;
 1137                         ! start with a cheap check of the length and first character
 1138                         %if dict(ptr1) # dict(ptr2) %then %result = 0
				movl	8(%ebp), %edx
				leal	-1(%edx), %ecx
				movl	(%eax), %edx
				movl	12(%edx), %edx
				movl	4(%edx), %edx
				movl	64(%edx), %edx
				addl	$6260, %ecx
				movl	4(%edx,%ecx,4), %ecx
				movl	12(%ebp), %edx
				leal	-1(%edx), %ebx
				movl	(%eax), %edx
				movl	12(%edx), %edx
				movl	4(%edx), %edx
				movl	64(%edx), %edx
				addl	$6260, %ebx
				movl	4(%edx,%ebx,4), %edx
				cmpl	%edx, %ecx
				je	.L679
				movl	$0, %eax
				jmp	.L665
		.L679:
				nop
		.L664:
 1139                         len = dict(ptr1) & 255
				movl	8(%ebp), %edx
				leal	-1(%edx), %ecx
				movl	(%eax), %edx
				movl	12(%edx), %edx
				movl	4(%edx), %edx
				movl	64(%edx), %edx
				addl	$6260, %ecx
				movl	4(%edx,%ecx,4), %edx
				andl	$255, %edx
				movl	%edx, -16(%ebp)
 1140                         ptr1 = ptr1 + 1
				addl	$1, 8(%ebp)
 1141                         ptr2 = ptr2 + 1
				addl	$1, 12(%ebp)
 1142                         len = len - 1
				subl	$1, -16(%ebp)
		.L666:
 1143                         %while len >= 2 %cycle
				cmpl	$1, -16(%ebp)
				jle	.L680
				nop
		.L668:
 1144                             %if dict(ptr1) # dict(ptr2) %then %result = 0
				movl	8(%ebp), %edx
				leal	-1(%edx), %ecx
				movl	(%eax), %edx
				movl	12(%edx), %edx
				movl	4(%edx), %edx
				movl	64(%edx), %edx
				addl	$6260, %ecx
				movl	4(%edx,%ecx,4), %ecx
				movl	12(%ebp), %edx
				leal	-1(%edx), %ebx
				movl	(%eax), %edx
				movl	12(%edx), %edx
				movl	4(%edx), %edx
				movl	64(%edx), %edx
				addl	$6260, %ebx
				movl	4(%edx,%ebx,4), %edx
				cmpl	%edx, %ecx
				je	.L681
				movl	$0, %eax
				jmp	.L665
		.L681:
				nop
		.L670:
 1145                             ptr1 = ptr1 + 1
				addl	$1, 8(%ebp)
 1146                             ptr2 = ptr2 + 1
				addl	$1, 12(%ebp)
 1147                             len = len - 2
				subl	$2, -16(%ebp)
 1148                         %repeat
				jmp	.L666
		.L680:
 1149                         ! if the string was odd length, we might need one last byte checked
 1150                         %if len = 1 %start
				cmpl	$1, -16(%ebp)
				jne	.L682
				nop
				jmp	.L674
		.L683:
 1151                             %if dict(ptr1)&255 # dict(ptr2)&255 %then %result = 0
				movl	8(%ebp), %edx
				leal	-1(%edx), %ecx
				movl	(%eax), %edx
				movl	12(%edx), %edx
				movl	4(%edx), %edx
				movl	64(%edx), %edx
				addl	$6260, %ecx
				movl	4(%edx,%ecx,4), %edx
				movl	12(%ebp), %ecx
				subl	$1, %ecx
				movl	(%eax), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				addl	$6260, %ecx
				movl	4(%eax,%ecx,4), %eax
				cmpl	$255, %eax
				sete	%al
				movzbl	%al, %eax
				andl	%edx, %eax
				movzbl	%al, %eax
				testl	%eax, %eax
				jne	.L683
				movl	$0, %eax
				jmp	.L665
		.L672:
		.L682:
				nop
		.L674:
 1152                         %finish
 1153                         %result = 1
				movl	$1, %eax
		.L665:
 1154                     %end
				movl	-12(%ebp), %ebx
				xorl	%gs:20, %ebx
				je	.L675
				call	__stack_chk_fail_local
		.L675:
				addl	$36, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE214:
				.section	.rodata
				.align 32
		.LC20:
				.byte	7
				.string	"lookup:"
				.zero	247
		LOOKUP.6650:
		.LFB213:
 1155
 1156                     !first locate the text of the name
 1157                     new = dmax+1;     ! points to text of string in dictionary
				movl	DMAX.6096@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, -568(%ebp)
 1158                     k1 = hash value & max names;        ! rather crude hash!
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				movl	25040(%eax), %eax
				andl	$2047, %eax
				movl	%eax, -572(%ebp)
		.L685:
 1159
 1160                     %cycle
 1161                         newname = hash(k1)
				movl	-592(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				movl	-572(%ebp), %edx
				addl	$4212, %edx
				movl	(%eax,%edx,4), %eax
				movl	%eax, -564(%ebp)
 1162                         %exit %if newname = 0;                !not in
				cmpl	$0, -564(%ebp)
				je	.L782
				nop
		.L687:
				nop
		.L688:
 1163                         ->in %if dict match(newname+1, new) = 1
				movl	-564(%ebp), %eax
				leal	1(%eax), %edx
				subl	$8, %esp
				leal	-548(%ebp), %eax
				pushl	-568(%ebp)
				pushl	%edx
				movl	%eax, %ecx
				call	DICTMATCH.6661
				addl	$16, %esp
				cmpl	$1, %eax
				je	.L783
				nop
		.L690:
				nop
		.L691:
 1164                         k1 = (k1+1)&max names
				movl	-572(%ebp), %eax
				addl	$1, %eax
				andl	$2047, %eax
				movl	%eax, -572(%ebp)
 1165                     %repeat
				jmp	.L685
		.L782:
 1166
 1167                     ! not found
 1168                     spare names = spare names-1
				movl	SPARENAMES.6022@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, SPARENAMES.6022@GOTOFF(%ebx)
 1169                     abandon(2) %if spare names <= 0
				movl	SPARENAMES.6022@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L784
				movl	-592(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$2
				movl	%eax, %ecx
				call	ABANDON.6213
				addl	$16, %esp
				jmp	.L693
		.L784:
				nop
		.L693:
 1170                     hash(k1) = dmax;                               !put it in
				movl	DMAX.6096@GOTOFF(%ebx), %edx
				movl	-592(%ebp), %esi
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				movl	-572(%ebp), %ecx
				addl	$4212, %ecx
				movl	%edx, (%eax,%ecx,4)
 1171                     dict(dmax) = -1
				movl	DMAX.6096@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				addl	$6260, %edx
				movl	$-1, 4(%eax,%edx,4)
 1172                     newname = dmax;  dmax = dp;  ->not in
				movl	DMAX.6096@GOTOFF(%ebx), %eax
				movl	%eax, -564(%ebp)
				movl	DP.6113@GOTOFF(%ebx), %eax
				movl	%eax, DMAX.6096@GOTOFF(%ebx)
				jmp	.L747
		.L783:
 1173
 1174 in:                 search base = rbase %if this >= 0 %and d # 0;  !record elem defn
				movl	THIS.6092@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				js	.L785
				cmpl	$0, 8(%ebp)
				je	.L786
				movl	RBASE.6095@GOTOFF(%ebx), %eax
				movl	%eax, SEARCHBASE.6120@GOTOFF(%ebx)
				jmp	.L696
		.L785:
				nop
				jmp	.L696
		.L786:
				nop
		.L696:
 1175                     %if search base # 0 %start;                    !record subname
				movl	SEARCHBASE.6120@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L787
				nop
		.L699:
 1176                         new = -1
				movl	$-1, -568(%ebp)
 1177                         x = search base
				movl	SEARCHBASE.6120@GOTOFF(%ebx), %eax
				movl	%eax, X.6050@GOTOFF(%ebx)
		.L700:
 1178                         %cycle
 1179                             ->not in %if x < format list
				movl	X.6050@GOTOFF(%ebx), %edx
				movl	FORMATLIST.6121@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jl	.L788
				nop
		.L702:
				nop
				jmp	.L747
		.L790:
 1180                             %exit %if tag(x)_text = new name
				movl	X.6050@GOTOFF(%ebx), %edx
				movl	-592(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ecx, %eax
				addl	$49060, %eax
				movl	(%eax), %eax
				cmpl	%eax, -564(%ebp)
				je	.L789
				nop
		.L704:
				nop
		.L705:
 1181                             x = x-1
				movl	X.6050@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, X.6050@GOTOFF(%ebx)
 1182                         %repeat
				jmp	.L700
		.L789:
 1183                     %finish %else %start;                   !hash in for normal names
				jmp	.L708
		.L787:
 1184                         x = dict(newname)
				movl	-564(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-592(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, X.6050@GOTOFF(%ebx)
 1185                         ->not in %if x <= limit;             !wrong level
				movl	X.6050@GOTOFF(%ebx), %edx
				movl	LIMIT.6108@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jle	.L790
		.L706:
				nop
		.L708:
				nop
				jmp	.L747
		.L799:
 1186                     %finish
 1187
 1188                     subatom = x;                            !name found, extract info
				movl	X.6050@GOTOFF(%ebx), %eax
				movl	%eax, SUBATOM.6053@GOTOFF(%ebx)
 1189                     t == tag(x)
				movl	X.6050@GOTOFF(%ebx), %edx
				movl	-592(%ebp), %edi
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	$49040, %eax
				addl	%ecx, %eax
				addl	$4, %eax
				movl	%eax, -556(%ebp)
 1190                     atom flags = t_flags
				movl	-556(%ebp), %eax
				movl	8(%eax), %eax
				movl	%eax, ATOMFLAGS.6079@GOTOFF(%ebx)
 1191                     format = t_format;  app = t_app
				movl	-556(%ebp), %eax
				movl	4(%eax), %eax
				movl	%eax, FORMAT.6056@GOTOFF(%ebx)
				movl	-556(%ebp), %eax
				movl	(%eax), %eax
				movl	%eax, APP.6055@GOTOFF(%ebx)
 1192                     protection = atom flags&prot
				movl	ATOMFLAGS.6079@GOTOFF(%ebx), %eax
				andl	$256, %eax
				movl	%eax, PROTECTION.6078@GOTOFF(%ebx)
 1193                     type = atom flags>>4&7;  atom1 = amap(atom flags&15)
				movl	ATOMFLAGS.6079@GOTOFF(%ebx), %eax
				shrl	$4, %eax
				andl	$7, %eax
				movl	%eax, TYPE.6054@GOTOFF(%ebx)
				movl	ATOMFLAGS.6079@GOTOFF(%ebx), %eax
				andl	$15, %eax
				movl	%eax, %edx
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				movzbl	69748(%eax,%edx), %eax
				movzbl	%al, %eax
				movl	%eax, ATOM1.6051@GOTOFF(%ebx)
		.LBB488:
 1194
 1195                     %if diag&8 # 0 %start
 1196                         printstring("lookup:")
				leal	-284(%ebp), %eax
				leal	.LC20@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-540(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
				leal	-540(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE488:
		.LBB489:
		.LBB490:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE490:
		.LBE489:
 1197                         write(atom1, 3)
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$3
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
 1198                         write(type, 1)
				movl	TYPE.6054@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
 1199                         write(app, 3)
				movl	APP.6055@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$3
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
 1200                         write(format, 5)
				movl	FORMAT.6056@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$5
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
 1201                         write(atom flags, 3)
				movl	ATOMFLAGS.6079@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$3
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB491:
		.LBB492:
				call	_imp_newline@PLT
		.L709:
		.LBE492:
		.LBE491:
 1202                         newline
 1203                     %finish
 1204
 1205                     %if d = 0 %start;                             !old name wanted
				cmpl	$0, 8(%ebp)
				jne	.L791
				nop
		.L711:
 1206                         t_flags = t_flags!used bit
				movl	-556(%ebp), %eax
				movl	8(%eax), %eax
				orb	$-128, %ah
				movl	%eax, %edx
				movl	-556(%ebp), %eax
				movl	%edx, 8(%eax)
 1207                         search base = 0
				movl	$0, SEARCHBASE.6120@GOTOFF(%ebx)
 1208
 1209                         %if atom flags&subname # 0 %and format # 0 %start; !a record
				movl	FORMAT.6056@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L792
				nop
		.L772:
 1210                             %return %if format selected = 0
				movl	-592(%ebp), %eax
				movl	12(%eax), %eax
				movl	%eax, %ecx
				call	FORMATSELECTED.6632
				testl	%eax, %eax
				je	.L793
				jmp	.L772
		.L713:
		.L716:
		.L792:
				nop
				jmp	.L684
		.L808:
 1211                         %finish
 1212
 1213                         %if atom flags&parameters # 0 %start;      !proc or array
 1214                             %if app = 0 %start;                     !no parameters needed
				movl	APP.6055@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L794
				nop
		.L718:
 1215                                 atom2 = atom1
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				movl	%eax, ATOM2.6052@GOTOFF(%ebx)
 1216                                 atom1 = atom1-4
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				subl	$4, %eax
				movl	%eax, ATOM1.6051@GOTOFF(%ebx)
 1217                                 %if 97 <= atom1 %and atom1 <= 98 %start
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				cmpl	$96, %eax
				jle	.L795
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				cmpl	$98, %eax
				jg	.L796
				nop
				jmp	.L727
		.L796:
				nop
		.L720:
 1218                                     map gg = atom1;  atom1 = var
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				movl	%eax, MAPGG.6090@GOTOFF(%ebx)
				movl	$91, ATOM1.6051@GOTOFF(%ebx)
 1219                                 %finish
 1220                             %finish %else %start
				jmp	.L727
		.L795:
				jmp	.L727
		.L794:
 1221                                 %if sym = '(' %start
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$40, %eax
				jne	.L797
				nop
		.L727:
 1222                                     search base = 0;                  !ignore format for now
				movl	$0, SEARCHBASE.6120@GOTOFF(%ebx)
 1223                                     %if atom1 >= 106 %start;          !arrays
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				cmpl	$105, %eax
				jle	.L798
				nop
		.L725:
 1224                                         app = phrase(app+200)
				movl	APP.6055@GOTOFF(%ebx), %eax
				movzwl	PHRASE.6154@GOTOFF(%ebx,%eax,2), %eax
				cwtl
				movl	%eax, APP.6055@GOTOFF(%ebx)
 1225                                         escape class = esc array
				movl	$254, ESCAPECLASS.6077@GOTOFF(%ebx)
 1226                                         atom1 = (atom1-106)>>1+91;     !a,an->v  na,nan->n
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				subl	$106, %eax
				shrl	%eax
				addl	$91, %eax
				movl	%eax, ATOM1.6051@GOTOFF(%ebx)
 1227                                     %finish %else %start;             !procedures
				jmp	.L726
		.L798:
 1228                                         escape class = esc proc
				movl	$253, ESCAPECLASS.6077@GOTOFF(%ebx)
 1229                                         atom1 = atom1-4
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				subl	$4, %eax
				movl	%eax, ATOM1.6051@GOTOFF(%ebx)
		.L726:
 1230                                     %finish
 1231                                     phrase(200) = app
				movl	APP.6055@GOTOFF(%ebx), %eax
				movw	%ax, PHRASE.6154@GOTOFF(%ebx)
				jmp	.L727
		.L722:
		.L797:
 1232                                 %finish
 1233                             %finish
 1234                             pos2 = pos;  %return
				movl	POS.6116@GOTOFF(%ebx), %eax
				movl	%eax, POS2.6115@GOTOFF(%ebx)
				jmp	.L684
		.L791:
 1235                         %finish
 1236
 1237                         !deal with constintegers etc
 1238                         %if atom flags&const bit # 0 %and atom1 = var %start
 1239                             map gg = const;  atom2 = const
 1240                             subatom = -subatom %if type = integer
 1241                         %finish
 1242                         %return
 1243                     %finish
 1244                                                                 !new name wanted
 1245                     ->not in %if tbase # tstart;                !don't fault proc parm-parm
				movl	-592(%ebp), %esi
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	56(%eax), %edx
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	60(%eax), %eax
				cmpl	%eax, %edx
				jne	.L799
				nop
		.L729:
				nop
				jmp	.L747
		.L809:
 1246                     %if d = lab+spec+used bit %start
				cmpl	$32899, 8(%ebp)
				jne	.L800
				nop
 1247                         t_flags = t_flags!used bit
				movl	-556(%ebp), %eax
				movl	8(%eax), %eax
				orb	$-128, %ah
				movl	%eax, %edx
				movl	-556(%ebp), %eax
				movl	%edx, 8(%eax)
 1248                         %return
				jmp	.L684
		.L731:
		.L800:
 1249                     %finish
 1250                     %if atom flags&spec # 0 %start;            !a spec has been given
 1251                         %if d = lab %start;                     !define label
				cmpl	$3, 8(%ebp)
				jne	.L801
				nop
		.L733:
 1252                             t_flags = t_Flags-Spec
				movl	-556(%ebp), %eax
				movl	8(%eax), %eax
				leal	-128(%eax), %edx
				movl	-556(%ebp), %eax
				movl	%edx, 8(%eax)
 1253                             %return
				jmp	.L684
		.L801:
 1254                         %finish
 1255                         %if 7 <= decl&15 %and decl&15 <= 10 %and decl&spec = 0 %start
				movl	DECL.6074@GOTOFF(%ebx), %eax
				cmpl	$6, %eax
				jle	.L802
				movl	DECL.6074@GOTOFF(%ebx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L803
				movl	DECL.6074@GOTOFF(%ebx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L804
				nop
				jmp	.L739
		.L803:
				nop
				jmp	.L739
		.L804:
				nop
				jmp	.L739
		.L805:
 1256                             !procedure definition after spec
 1257                             %if (decl!!atom flags)&2_1111111 = 0 %start;  !correct type?
				movl	DECL.6074@GOTOFF(%ebx), %edx
				movl	ATOMFLAGS.6079@GOTOFF(%ebx), %eax
				xorl	%edx, %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L805
				nop
		.L739:
 1258                                 t_flags = t_flags-spec
				movl	-556(%ebp), %eax
				movl	8(%eax), %eax
				leal	-128(%eax), %edx
				movl	-556(%ebp), %eax
				movl	%edx, 8(%eax)
 1259                                 spec given = 1
				movl	$1, SPECGIVEN.6076@GOTOFF(%ebx)
 1260                                 %return
				jmp	.L684
		.L735:
		.L802:
 1261                             %finish
 1262                             !note that an external procedure must be speced as a
 1263                             !non-external procedure.
 1264                         %finish
 1265                         %if decl&15 = recfm %start;              !recordformat
				movl	DECL.6074@GOTOFF(%ebx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L806
				nop
		.L742:
 1266                             t_flags = record<<4+recfm
				movl	-556(%ebp), %eax
				movl	$68, 8(%eax)
 1267                             t_format = fdef
				movl	FDEF.6091@GOTOFF(%ebx), %edx
				movl	-556(%ebp), %eax
				movl	%edx, 4(%eax)
 1268                             %return
				jmp	.L684
		.L741:
		.L806:
 1269                         %finish
 1270                     %finish
 1271                     %return %if last1 = jump %and atom1 = swit
				movl	LAST1.6082@GOTOFF(%ebx), %eax
				cmpl	$54, %eax
				jne	.L807
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				cmpl	$105, %eax
				je	.L808
				jmp	.L744
		.L807:
				nop
		.L744:
				nop
				jmp	.L684
		.L810:
 1272                     copy = x %if copy = 0
				movl	COPY.6109@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L809
				movl	X.6050@GOTOFF(%ebx), %eax
				movl	%eax, COPY.6109@GOTOFF(%ebx)
				jmp	.L747
		.L694:
		.L788:
				nop
		.L747:
 1273 notin:              app = 0;  vid = 0
				movl	$0, APP.6055@GOTOFF(%ebx)
				movl	$0, -560(%ebp)
 1274                     atom1 = error+2
				movl	$32770, ATOM1.6051@GOTOFF(%ebx)
 1275
 1276                     %return %if d = 0;                         !old name wanted
				cmpl	$0, 8(%ebp)
				je	.L810
				nop
		.L749:
				nop
		.L684:
 1277                     type = d>>4&7;  form = d&15;  atom1 = amap(form)
				movl	8(%ebp), %eax
				shrl	$4, %eax
				andl	$7, %eax
				movl	%eax, TYPE.6054@GOTOFF(%ebx)
				movl	8(%ebp), %eax
				andl	$15, %eax
				movl	%eax, -552(%ebp)
				movl	-592(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %edx
				movl	-552(%ebp), %eax
				addl	%edx, %eax
				addl	$69748, %eax
				movzbl	(%eax), %eax
				movzbl	%al, %eax
				movl	%eax, ATOM1.6051@GOTOFF(%ebx)
 1278
 1279                     %if this < 0 %start;                       !normal scope
				movl	THIS.6092@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jns	.L811
				nop
		.L751:
 1280                         new = newname
				movl	-564(%ebp), %eax
				movl	%eax, -568(%ebp)
 1281                         tmax = tmax+1;  x = tmax
				movl	-592(%ebp), %edi
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				movl	52(%eax), %edx
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				addl	$1, %edx
				movl	%edx, 52(%eax)
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				movl	52(%eax), %eax
				movl	%eax, X.6050@GOTOFF(%ebx)
 1282                     %finish %else %start;                      !recordformat scope
				jmp	.L752
		.L811:
 1283                         new = -1
				movl	$-1, -568(%ebp)
 1284                         recid = recid-1;  vid = recid
				movl	-592(%ebp), %esi
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				movl	16844(%eax), %edx
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				subl	$1, %edx
				movl	%edx, 16844(%eax)
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				movl	16844(%eax), %eax
				movl	%eax, -560(%ebp)
 1285                         tmin = tmin-1;  x = tmin
				movl	TMIN.6097@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, TMIN.6097@GOTOFF(%ebx)
				movl	TMIN.6097@GOTOFF(%ebx), %eax
				movl	%eax, X.6050@GOTOFF(%ebx)
 1286                         format list = tmin
				movl	TMIN.6097@GOTOFF(%ebx), %eax
				movl	%eax, FORMATLIST.6121@GOTOFF(%ebx)
		.L752:
 1287                     %finish
 1288
 1289                     %if 11 <= form %and form <= 14 %start;               !arrays
				cmpl	$10, -552(%ebp)
				jle	.L812
				cmpl	$14, -552(%ebp)
				jg	.L813
				nop
				jmp	.L754
		.L813:
				nop
		.L754:
 1290                         dim = 1 %if dim = 0;                    !set dim for owns
				movl	DIM.6075@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L814
				movl	$1, DIM.6075@GOTOFF(%ebx)
				jmp	.L757
		.L814:
				nop
		.L757:
 1291                         app = dim
				movl	DIM.6075@GOTOFF(%ebx), %eax
				movl	%eax, APP.6055@GOTOFF(%ebx)
				jmp	.L754
		.L812:
 1292                     %finish
 1293
 1294                     d = d!used bit %if (otype > 2 %and d&spec = 0) %or perm # 0 %or Level = Include Level
				movl	OTYPE.6080@GOTOFF(%ebx), %eax
				cmpl	$2, %eax
				nop
		.L759:
				movl	PERM.6103@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L815
				movl	INCLUDELEVEL.6101@GOTOFF(%ebx), %edx
				movl	-592(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	48(%eax), %eax
				cmpl	%edx, %eax
				jne	.L816
				jmp	.L761
		.L815:
				nop
		.L761:
				orl	$32768, 8(%ebp)
				jmp	.L762
		.L816:
				nop
		.L762:
 1295
 1296                     !external definitions need not be used in the file in which
 1297                     !they are defined, so inhibit a useless unused warning.
 1298
 1299                     t == tag(x)
				movl	X.6050@GOTOFF(%ebx), %edx
				movl	-592(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	$49040, %eax
				addl	%ecx, %eax
				addl	$4, %eax
				movl	%eax, -556(%ebp)
 1300                     %if form = lab %start
				cmpl	$3, -552(%ebp)
				jne	.L817
				nop
		.L764:
 1301                         id = id+1;  vid = id
				movl	-592(%ebp), %edi
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				movl	44(%eax), %edx
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				addl	$1, %edx
				movl	%edx, 44(%eax)
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				movl	44(%eax), %eax
				movl	%eax, -560(%ebp)
				jmp	.L764
		.L817:
 1302                     %finish
 1303                     t_index = vid
				movl	-556(%ebp), %eax
				movl	-560(%ebp), %edx
				movl	%edx, 12(%eax)
 1304                     t_text   = new name
				movl	-556(%ebp), %eax
				movl	-564(%ebp), %edx
				movl	%edx, 16(%eax)
 1305                     t_flags = d
				movl	-556(%ebp), %eax
				movl	8(%ebp), %edx
				movl	%edx, 8(%eax)
 1306                     t_app    = app
				movl	APP.6055@GOTOFF(%ebx), %edx
				movl	-556(%ebp), %eax
				movl	%edx, (%eax)
 1307                     t_format = fdef;  format = fdef
				movl	FDEF.6091@GOTOFF(%ebx), %edx
				movl	-556(%ebp), %eax
				movl	%edx, 4(%eax)
				movl	FDEF.6091@GOTOFF(%ebx), %eax
				movl	%eax, FORMAT.6056@GOTOFF(%ebx)
 1308                     subatom = x
				movl	X.6050@GOTOFF(%ebx), %eax
				movl	%eax, SUBATOM.6053@GOTOFF(%ebx)
 1309
 1310                     %if new >= 0 %start;                             !insert into hash table
				cmpl	$0, -568(%ebp)
				js	.L818
				nop
				jmp	.L768
		.L819:
 1311                         t_link = dict(new);  dict(new) = x
				movl	-568(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-592(%ebp), %edi
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %edx
				movl	-556(%ebp), %eax
				movl	%edx, 20(%eax)
				movl	-568(%ebp), %eax
				leal	-1(%eax), %ecx
				movl	X.6050@GOTOFF(%ebx), %edx
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				addl	$6260, %ecx
				movl	%edx, 4(%eax,%ecx,4)
 1312                         %if gmin = max grammar %start;                !proc param params
				movl	GMIN.6142@GOTOFF(%ebx), %eax
				cmpl	$1720, %eax
				jne	.L819
				nop
		.L768:
 1313                             tmin = tmin-1;  subatom = tmin
				movl	TMIN.6097@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, TMIN.6097@GOTOFF(%ebx)
				movl	TMIN.6097@GOTOFF(%ebx), %eax
				movl	%eax, SUBATOM.6053@GOTOFF(%ebx)
 1314                             tag(tmin) = t
				movl	TMIN.6097@GOTOFF(%ebx), %edx
				movl	-592(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ecx, %eax
				leal	49040(%eax), %edx
				movl	-556(%ebp), %eax
				movl	(%eax), %ecx
				movl	%ecx, 4(%edx)
				movl	4(%eax), %ecx
				movl	%ecx, 8(%edx)
				movl	8(%eax), %ecx
				movl	%ecx, 12(%edx)
				movl	12(%eax), %ecx
				movl	%ecx, 16(%edx)
				movl	16(%eax), %ecx
				movl	%ecx, 20(%edx)
				movl	20(%eax), %eax
				movl	%eax, 24(%edx)
				jmp	.L768
		.L766:
		.L818:
 1315                         %finish
 1316                     %finish
 1317                     abandon(3) %if tmax >= tmin
				movl	TMIN.6097@GOTOFF(%ebx), %edx
				movl	-592(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	52(%eax), %eax
				cmpl	%edx, %eax
				jl	.L820
				movl	-592(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$3
				movl	%eax, %ecx
				call	ABANDON.6213
				addl	$16, %esp
				nop
		.L770:
 1318                 %end
				jmp	.L770
		.L820:
				nop
				jmp	.L684
		.L793:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L771
				call	__stack_chk_fail_local
		.L771:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE213:
		CODEATOM.6637:
		.LFB212:
?K2 unused
 1319
 1320 top:            pos1 = pos
				movl	POS.6116@GOTOFF(%ebx), %eax
				movl	%eax, POS1.6114@GOTOFF(%ebx)
 1321                 subatom = 0;  pend quote = 0;  atom flags = 0
				movl	$0, SUBATOM.6053@GOTOFF(%ebx)
				movl	$0, -72(%ebp)
				movl	$0, ATOMFLAGS.6079@GOTOFF(%ebx)
 1322
 1323                 !app and format must be left for assigning to papp & pformat
 1324                 ->name %if symtype = -2;               ! letter
				movl	SYMTYPE.6069@GOTOFF(%ebx), %eax
				cmpl	$-2, %eax
				je	.L966
				nop
		.L824:
				nop
		.L825:
 1325                 ->number %if symtype < 0;              ! digit
				movl	SYMTYPE.6069@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				js	.L967
				nop
		.L827:
				nop
				jmp	.L828
		.L975:
 1326                 %if symtype = 0 %start
				movl	SYMTYPE.6069@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L968
				nop
		.L830:
 1327                     atom1 = termin;  atom2 = 0
				movl	$20, ATOM1.6051@GOTOFF(%ebx)
				movl	$0, ATOM2.6052@GOTOFF(%ebx)
 1328                     %return
				jmp	.L821
		.L968:
 1329                 %finish
 1330                 %if symtype # 2 %start;                ! catch keywords here
				movl	SYMTYPE.6069@GOTOFF(%ebx), %eax
				cmpl	$2, %eax
				je	.L969
				nop
				jmp	.L848
		.L973:
 1331                     ->text %if quote # 0;              ! completion of text
				movl	QUOTE.6070@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L970
				nop
		.L835:
				nop
		.L836:
 1332                     ->strings %if sym = squote;        ! start of string
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$34, %eax
				je	.L971
				nop
		.L838:
				nop
		.L839:
 1333                     ->symbols %if sym = cquote;        ! start of symbol
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$39, %eax
				je	.L972
				nop
		.L841:
				nop
				jmp	.L842
		.L1007:
 1334                     ->number %if sym = '.' %and '0' <= nextsymbol %and nextsymbol <= '9'
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$46, %eax
				jne	.L973
		.LBB493:
		.LBB494:
				call	_imp_nextsymbol@PLT
		.LBE494:
		.LBE493:
				cmpl	$47, %eax
				jle	.L974
		.LBB495:
		.LBB496:
				call	_imp_nextsymbol@PLT
		.LBE496:
		.LBE495:
				cmpl	$57, %eax
				jle	.L975
				jmp	.L848
		.L833:
		.L969:
				nop
				jmp	.L848
		.L974:
				nop
		.L848:
				nop
		.L828:
 1335                 %finish
 1336
 1337                 ! locate atom in fixed dict
 1338                 k = key>>2;  read sym
				movl	KEY.6550@GOTOFF(%ebx), %eax
				shrl	$2, %eax
				movl	%eax, -68(%ebp)
				movl	%esi, %ecx
				call	READSYM.6595
		.L849:
 1339                 %cycle
 1340                     j = kdict(k)
				movl	-68(%ebp), %eax
				leal	-32(%eax), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				addl	$34248, %edx
				movzwl	12(%eax,%edx,2), %eax
				cwtl
				movl	%eax, -56(%ebp)
 1341                     %exit %if j&16_4000 # 0
				nop
		.L850:
 1342                     %if j&127 # sym %or symtype < 0 %start
 1343                         ->err %unless j < 0
 1344                         k = k+1
 1345                     %finish %else %start
 1346                         l = j>>7&127;  read sym
 1347                         %if j > 0 %start
 1348                             %if l # 0 %start
 1349                                 ->err %if l # sym %or symtype < 0
 1350                                 read sym
 1351                             %finish
 1352                             l = 1
 1353                         %finish
 1354                         k = k+l
 1355                     %finish
 1356                 %repeat
 1357                 atom1 = j&127
				movl	-56(%ebp), %eax
				andl	$127, %eax
				movl	%eax, ATOM1.6051@GOTOFF(%ebx)
 1358                 %if atom1 = 0 %start;                  ! comma
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L976
				nop
		.L852:
 1359                     atom1 = 19;  subatom = 19;  atom2 = 0
				movl	$19, ATOM1.6051@GOTOFF(%ebx)
				movl	$19, SUBATOM.6053@GOTOFF(%ebx)
				movl	$0, ATOM2.6052@GOTOFF(%ebx)
 1360                     %if sym = nl %start
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				jne	.L977
				nop
		.L854:
 1361                         %return %if ocount >= 0
				movl	OCOUNT.6107@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jns	.L978
				nop
		.L856:
				nop
		.L821:
 1362
 1363                         ! special action needs to be taken with <comma nl> as
 1364                         ! const array lists can be enormous
 1365                         read sym
				movl	%esi, %ecx
				call	READSYM.6595
 1366                     %finish
 1367                     %return
				jmp	.L821
		.L977:
				jmp	.L821
		.L976:
 1368                 %finish
 1369                 atom2 = j>>7&127
				movl	-56(%ebp), %eax
				shrl	$7, %eax
				andl	$127, %eax
				movl	%eax, ATOM2.6052@GOTOFF(%ebx)
 1370                 subatom = kdict(k+1)&16_3fff
				movl	-68(%ebp), %eax
				leal	-31(%eax), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				addl	$34248, %edx
				movzwl	12(%eax,%edx,2), %eax
				cwtl
				andl	$16383, %eax
				movl	%eax, SUBATOM.6053@GOTOFF(%ebx)
 1371                 !!!!!cont = ' '
 1372                 %return
				jmp	.L821
		.L996:
 1373
 1374                 ! report an error. adjust the error marker (pos1) to point
 1375                 ! to the faulty character in an atom, but care needs to be taken
 1376                 ! to prevent misleading reports in cases like ...?????
 1377
 1378 err:            atom1 = error+1;  atom2 = 0
				movl	$32769, ATOM1.6051@GOTOFF(%ebx)
				movl	$0, ATOM2.6052@GOTOFF(%ebx)
 1379                 pos1 = pos %if pos-pos1 > 2
				movl	POS.6116@GOTOFF(%ebx), %edx
				movl	POS1.6114@GOTOFF(%ebx), %eax
				subl	%eax, %edx
				movl	%edx, %eax
				cmpl	$2, %eax
				jle	.L979
				movl	POS.6116@GOTOFF(%ebx), %eax
				movl	%eax, POS1.6114@GOTOFF(%ebx)
				nop
		.L859:
 1380                 %return
				jmp	.L821
		.L979:
				jmp	.L821
		.L972:
 1381
 1382                 ! take care with strings and symbol constants.
 1383                 ! make sure the constant is valid here before sucking it in
 1384                 ! (and potentially loosing many lines)
 1385
 1386 symbols:        atom1 = var;  atom2 = const;  type = integer
				movl	$91, ATOM1.6051@GOTOFF(%ebx)
				movl	$93, ATOM2.6052@GOTOFF(%ebx)
				movl	$1, TYPE.6054@GOTOFF(%ebx)
 1387                 map gg = const;  protection = prot
				movl	$93, MAPGG.6090@GOTOFF(%ebx)
				movl	$256, PROTECTION.6078@GOTOFF(%ebx)
 1388                 subatom = lp;  abandon(3) %if lp >= lit max
				movl	LP.6128@GOTOFF(%ebx), %eax
				movl	%eax, SUBATOM.6053@GOTOFF(%ebx)
				movl	LP.6128@GOTOFF(%ebx), %eax
				cmpl	$49, %eax
				jle	.L980
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$3
				movl	%eax, %ecx
				call	ABANDON.6213
				addl	$16, %esp
				jmp	.L861
		.L980:
				nop
		.L861:
 1389                 quote = \pend quote
				movl	-72(%ebp), %eax
				notl	%eax
				movl	%eax, QUOTE.6070@GOTOFF(%ebx)
 1390                 %return
				jmp	.L821
		.L984:
 1391
 1392                 ! an integer constant is acceptable so get it in and
 1393                 ! get the next atom
 1394 chars:          n = 0;  cont = cquote
				movl	$0, %eax
				movl	%eax, -44(%ebp)
				movl	$39, CONT.6072@GOTOFF(%ebx)
		.L863:
 1395                 %cycle
 1396                     read sym
				movl	%esi, %ecx
				call	READSYM.6595
 1397                     %if sym = cquote %start
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$39, %eax
				jne	.L981
		.LBB497:
		.LBB498:
				call	_imp_nextsymbol@PLT
		.LBE498:
		.LBE497:
				nop
		.L951:
 1398                         %exit %if nextsymbol # cquote
				cmpl	$39, %eax
				jne	.L982
				nop
		.L868:
				nop
		.L869:
 1399                         read sym
				movl	%esi, %ecx
				call	READSYM.6595
				jmp	.L951
		.L865:
		.L981:
 1400                     %finish
 1401                     %if n&(\((-1)>>byte size)) # 0 %start; ! overflow
 1402                         pos1 = pos;  atom1 = error+10;  %return
				movl	POS.6116@GOTOFF(%ebx), %eax
				movl	%eax, POS1.6114@GOTOFF(%ebx)
				movl	$32778, ATOM1.6051@GOTOFF(%ebx)
				jmp	.L821
		.L982:
 1403                     %finish
 1404                     ->err %if quote = 0
 1405                     n = n<<byte size+sym
 1406                     quote = quote+1
 1407                 %repeat
 1408                 quote = 0;  cont = ' '
				movl	$0, QUOTE.6070@GOTOFF(%ebx)
				movl	$32, CONT.6072@GOTOFF(%ebx)
 1409                 readsym %if sym # nl
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L983
				movl	%esi, %ecx
				call	READSYM.6595
				jmp	.L871
		.L983:
				nop
		.L871:
 1410                 lit pool(lp) = n;  lp = lp+1
				movl	LP.6128@GOTOFF(%ebx), %ecx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	-44(%ebp), %edx
				addl	$4160, %ecx
				movl	%edx, (%eax,%ecx,4)
				movl	LP.6128@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, LP.6128@GOTOFF(%ebx)
 1411                 ->top
				jmp	.L822
		.L971:
 1412
 1413                 !sniff the grammar before getting the string
 1414 strings:        atom1 = var;  atom2 = const;  type = stringv
				movl	$91, ATOM1.6051@GOTOFF(%ebx)
				movl	$93, ATOM2.6052@GOTOFF(%ebx)
				movl	$3, TYPE.6054@GOTOFF(%ebx)
 1415                 subatom = strp!16_4000
				movl	(%esi), %eax
				orb	$64, %ah
				movl	%eax, SUBATOM.6053@GOTOFF(%ebx)
 1416                 map gg = const;  protection = prot
				movl	$93, MAPGG.6090@GOTOFF(%ebx)
				movl	$256, PROTECTION.6078@GOTOFF(%ebx)
 1417                 quote = subatom
				movl	SUBATOM.6053@GOTOFF(%ebx), %eax
				movl	%eax, QUOTE.6070@GOTOFF(%ebx)
 1418                 text line = lines;                     ! in case of errors
				movl	LINES.6060@GOTOFF(%ebx), %eax
				movl	%eax, TEXTLINE.6061@GOTOFF(%ebx)
 1419                 %return
				jmp	.L821
		.L970:
 1420
 1421                 ! a string constant is ok here, so pull it in and get
 1422                 ! the next atom
 1423                 ! ABD - temp variable to help pack bytes into words
 1424                 %integer flipflop
 1425
 1426 text:           ->chars %if quote < 0;                 ! character consts
				nop
		.L862:
				movl	QUOTE.6070@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				js	.L984
				nop
		.L873:
 1427                 l = strp;                              ! point to beginning
				movl	(%esi), %eax
				movl	%eax, -60(%ebp)
 1428                 k = 0;                                 ! length so far
				movl	$0, -68(%ebp)
 1429                 flipflop = 0;                          ! space for the length is up the spout
				movl	$0, -76(%ebp)
		.L874:
 1430
 1431                 %cycle
 1432                     cont = squote;  quote = 1
				movl	$34, CONT.6072@GOTOFF(%ebx)
				movl	$1, QUOTE.6070@GOTOFF(%ebx)
		.L875:
 1433                     %cycle
 1434                         read sym
				movl	%esi, %ecx
				call	READSYM.6595
 1435                         %if sym = squote %start;       ! terminator?
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$34, %eax
				jne	.L985
		.LBB499:
		.LBB500:
				call	_imp_nextsymbol@PLT
		.LBE500:
		.LBE499:
				nop
		.L877:
 1436                             %exit %if nextsymbol # squote; ! yes ->
				cmpl	$34, %eax
				jne	.L986
				nop
		.L880:
				nop
		.L881:
 1437                             read sym;                  ! skip quote
				movl	%esi, %ecx
				call	READSYM.6595
				jmp	.L877
		.L985:
 1438                         %finish
 1439                         %if flipflop >= 0 %start
				cmpl	$0, -76(%ebp)
				js	.L987
				nop
		.L883:
 1440                             glink(strp) = sym<<8 + flipflop
				movl	SYM.6068@GOTOFF(%ebx), %eax
				sall	$8, %eax
				movl	%eax, %edx
				movl	-76(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, %edx
				movl	(%esi), %eax
				movw	%dx, GLINK.6158@GOTOFF(%ebx,%eax,2)
 1441                             strp = strp+1
				movl	(%esi), %eax
				addl	$1, %eax
				movl	%eax, (%esi)
 1442                             flipflop = -1
				movl	$-1, -76(%ebp)
 1443                         %else
				jmp	.L884
		.L987:
 1444                             flipflop = sym
				movl	SYM.6068@GOTOFF(%ebx), %eax
				movl	%eax, -76(%ebp)
		.L884:
 1445                         %finish
 1446                         k = k+1
				addl	$1, -68(%ebp)
 1447                         lines = text line %and abandon(7) %if k > 255; ! too many chars
				cmpl	$255, -68(%ebp)
				jle	.L988
				movl	TEXTLINE.6061@GOTOFF(%ebx), %eax
				movl	%eax, LINES.6060@GOTOFF(%ebx)
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$7
				movl	%eax, %ecx
				call	ABANDON.6213
				addl	$16, %esp
				jmp	.L875
		.L988:
				nop
		.L886:
 1448                     %repeat
				jmp	.L875
		.L986:
 1449                     %if flipflop >=0 %start;           ! tail-end charlie
				cmpl	$0, -76(%ebp)
				js	.L989
				nop
		.L888:
 1450                         glink(strp) = flipflop
				movl	-76(%ebp), %eax
				movl	%eax, %edx
				movl	(%esi), %eax
				movw	%dx, GLINK.6158@GOTOFF(%ebx,%eax,2)
 1451                         strp = strp+1
				movl	(%esi), %eax
				addl	$1, %eax
				movl	%eax, (%esi)
				jmp	.L888
		.L989:
 1452                     %finish
 1453                     glink(l) = glink(l)!k;             ! plug in length
				movl	-60(%ebp), %eax
				movzwl	GLINK.6158@GOTOFF(%ebx,%eax,2), %eax
				movl	-68(%ebp), %edx
				orl	%eax, %edx
				movl	-60(%ebp), %eax
				movw	%dx, GLINK.6158@GOTOFF(%ebx,%eax,2)
 1454
 1455                     quote = 0;  cont = ' ';  read sym
				movl	$0, QUOTE.6070@GOTOFF(%ebx)
				movl	$32, CONT.6072@GOTOFF(%ebx)
				movl	%esi, %ecx
				call	READSYM.6595
 1456                     code atom(target)
				subl	$12, %esp
				pushl	8(%ebp)
				movl	%esi, %ecx
				call	CODEATOM.6637
				addl	$16, %esp
 1457                     %return %unless atom1 = 48 %and sym = squote; ! fold "???"."+++"
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				cmpl	$48, %eax
				jne	.L990
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$34, %eax
				je	.L991
				jmp	.L890
		.L990:
				nop
		.L890:
				jmp	.L821
		.L991:
				nop
		.L891:
 1458                 %repeat
				jmp	.L874
		.L967:
 1459
 1460                 %routine get(%integer limit)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$32, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
 1461                     %integer s, shift
 1462                     shift = 0
				movl	$0, -12(%ebp)
 1463                     %if base # 10 %start
				movl	8(%ebx), %eax
				cmpl	$10, %eax
				je	.L1054
				nop
				jmp	.L1029
		.L1057:
 1464                         %if base = 16 %start
				movl	8(%ebx), %eax
				cmpl	$16, %eax
				jne	.L1055
				nop
		.L1023:
 1465                             shift = 4
				movl	$4, -12(%ebp)
 1466                         %finish %else %start
				jmp	.L1029
		.L1055:
 1467                             %if base = 8 %start
				movl	8(%ebx), %eax
				cmpl	$8, %eax
				jne	.L1056
				nop
		.L1025:
 1468                                 shift = 3
				movl	$3, -12(%ebp)
 1469                             %finish %else %start
				jmp	.L1029
		.L1056:
 1470                                 %if base = 2 %start
				movl	8(%ebx), %eax
				cmpl	$2, %eax
				jne	.L1057
				nop
		.L1029:
 1471                                     shift = 1
				movl	$1, -12(%ebp)
				jmp	.L1029
		.L1021:
		.L1027:
		.L1028:
		.L1054:
 1472                                 %finish
 1473                             %finish
 1474                         %finish
 1475                     %finish
 1476                     n = 0
				movl	$0, %eax
				movl	%eax, 4(%ebx)
		.L1030:
 1477                     %cycle
 1478                         %if symtype = -1 %start;       ! digit
				movl	SYMTYPE.6069@GOTOFF(%esi), %eax
				cmpl	$-1, %eax
				jne	.L1058
				nop
		.L1032:
 1479                             s = sym-'0'
				movl	SYM.6068@GOTOFF(%esi), %eax
				subl	$48, %eax
				movl	%eax, -16(%ebp)
 1480                         %finish %else %start
				jmp	.L1037
		.L1058:
 1481                             %if symtype < 0 %start;    ! letter
				movl	SYMTYPE.6069@GOTOFF(%esi), %eax
				testl	%eax, %eax
				jns	.L1059
				nop
		.L1035:
 1482                                 s = sym-'A'+10
				movl	SYM.6068@GOTOFF(%esi), %eax
				subl	$55, %eax
				movl	%eax, -16(%ebp)
 1483                             %finish %else %start
				jmp	.L1037
		.L1059:
 1484                                 %return
				jmp	.L1019
		.L1033:
		.L1037:
 1485                             %finish
 1486                         %finish
 1487                         %return %if s >= limit
				movl	-16(%ebp), %eax
				cmpl	8(%ebp), %eax
				jge	.L1060
				nop
		.L1039:
				nop
		.L1019:
 1488                         pt = pt+1;  glink(pt) = sym
				movl	(%ebx), %eax
				addl	$1, %eax
				movl	%eax, (%ebx)
				movl	SYM.6068@GOTOFF(%esi), %eax
				movl	%eax, %edx
				movl	(%ebx), %eax
				movw	%dx, GLINK.6158@GOTOFF(%esi,%eax,2)
 1489                         %if base = 10 %start;          ! check overflow
				movl	8(%ebx), %eax
				cmpl	$10, %eax
				jne	.L1061
				nop
				jmp	.L1045
		.L1062:
 1490                             %if n >= max int %and (s > max dig %or n > max int) %start
				movl	4(%ebx), %eax
				cmpl	$214748363, %eax
				jle	.L1062
				cmpl	$7, -16(%ebp)
				jg	.L1063
				movl	4(%ebx), %eax
				cmpl	$214748364, %eax
				jle	.L1064
				jmp	.L1044
		.L1063:
				nop
		.L1044:
				nop
				jmp	.L1045
		.L1064:
				nop
		.L1045:
 1491                                 !too big for an integer,
 1492                                 !so call it a real
 1493                                 base = 0;  type = real;  n = 0
				movl	$0, %eax
				movl	%eax, 8(%ebx)
				movl	$2, TYPE.6054@GOTOFF(%esi)
				movl	$0, %eax
				movl	%eax, 4(%ebx)
				jmp	.L1045
		.L1041:
		.L1061:
 1494                             %finish
 1495                         %finish
 1496                         %if shift = 0 %start
				cmpl	$0, -12(%ebp)
				jne	.L1065
				nop
		.L1047:
 1497                             n = n*base+s
				movl	4(%ebx), %edx
				movl	8(%ebx), %eax
				imull	%eax, %edx
				movl	-16(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, 4(%ebx)
 1498                         %finish %else %start
				jmp	.L1048
		.L1065:
 1499                             n = n<<shift+s
				movl	4(%ebx), %edx
				movl	-12(%ebp), %eax
				movl	%eax, %ecx
				sall	%cl, %edx
				movl	-16(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, 4(%ebx)
		.L1048:
 1500                         %finish
 1501                         read sym
				movl	12(%ebx), %eax
				movl	%eax, %ecx
				call	READSYM.6595
 1502                     %repeat
				jmp	.L1030
		.L1060:
 1503                 %end
				addl	$32, %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE215:
		DEFLAB.7216:
		.LFB218:
 1504
 1505 number:         base = 10
				movl	$10, %eax
				movl	%eax, -40(%ebp)
		.L892:
 1506 bxk:            atom1 = var;  atom2 = const;  type = integer;  subatom = lp
				movl	$91, ATOM1.6051@GOTOFF(%ebx)
				movl	$93, ATOM2.6052@GOTOFF(%ebx)
				movl	$1, TYPE.6054@GOTOFF(%ebx)
				movl	LP.6128@GOTOFF(%ebx), %eax
				movl	%eax, SUBATOM.6053@GOTOFF(%ebx)
 1507                 map gg = const;  protection = prot
				movl	$93, MAPGG.6090@GOTOFF(%ebx)
				movl	$256, PROTECTION.6078@GOTOFF(%ebx)
 1508                 abandon(3) %if lp >= lit max
				movl	LP.6128@GOTOFF(%ebx), %eax
				cmpl	$49, %eax
				jle	.L992
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$3
				movl	%eax, %ecx
				call	ABANDON.6213
				addl	$16, %esp
				jmp	.L894
		.L992:
				nop
		.L894:
 1509                 pt = strp;  mul = 0
				movl	(%esi), %eax
				movl	%eax, -48(%ebp)
				movl	$0, -52(%ebp)
		.L895:
 1510                 %cycle
 1511                     get(base)
				movl	-40(%ebp), %edx
				subl	$12, %esp
				leal	-48(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	GET.6774
				addl	$16, %esp
 1512                     %exit %unless sym = '_' %and base # 0 %and pend quote = 0; ! change of base
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$95, %eax
				jne	.L993
				movl	-40(%ebp), %eax
				testl	%eax, %eax
				je	.L994
				cmpl	$0, -72(%ebp)
				je	.L995
				jmp	.L897
		.L993:
				nop
				jmp	.L897
		.L994:
				nop
		.L897:
				nop
		.L900:
				nop
		.L899:
 1513                     pt = pt+1;  glink(pt) = '_'
				movl	-48(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -48(%ebp)
				movl	-48(%ebp), %eax
				movw	$95, GLINK.6158@GOTOFF(%ebx,%eax,2)
 1514                     read sym
				movl	%esi, %ecx
				call	READSYM.6595
 1515                     base = n
				movl	-44(%ebp), %eax
				movl	%eax, -40(%ebp)
 1516                 %repeat
				jmp	.L895
		.L901:
 1517
 1518                 %if pend quote # 0 %start
				cmpl	$0, -72(%ebp)
				jne	.L901
				jmp	.L902
		.L995:
 1519                     ->err %if sym # cquote
				nop
		.L857:
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$39, %eax
				jne	.L996
				nop
		.L904:
 1520                     readsym
				movl	%esi, %ecx
				call	READSYM.6595
		.L902:
 1521                 %finish
 1522                 %if sym = '.' %start;                  ! a real constant
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$46, %eax
				jne	.L997
				nop
		.L906:
 1523                     pt = pt+1;  glink(pt) = '.'
				movl	-48(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -48(%ebp)
				movl	-48(%ebp), %eax
				movw	$46, GLINK.6158@GOTOFF(%ebx,%eax,2)
 1524                     read sym
				movl	%esi, %ecx
				call	READSYM.6595
 1525                     type = real;  n = base;  base = 0;  get(n)
				movl	$2, TYPE.6054@GOTOFF(%ebx)
				movl	-40(%ebp), %eax
				movl	%eax, -44(%ebp)
				movl	$0, %eax
				movl	%eax, -40(%ebp)
				movl	-44(%ebp), %edx
				subl	$12, %esp
				leal	-48(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	GET.6774
				addl	$16, %esp
				jmp	.L906
		.L997:
 1526                 %finish
 1527
 1528                 %if sym = '@' %start;                  ! an exponent
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$64, %eax
				jne	.L998
				nop
		.L908:
 1529                     pt = pt+1;  glink(pt) = '@';  k = pt
				movl	-48(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -48(%ebp)
				movl	-48(%ebp), %eax
				movw	$64, GLINK.6158@GOTOFF(%ebx,%eax,2)
				movl	-48(%ebp), %eax
				movl	%eax, -68(%ebp)
 1530                     readsym
				movl	%esi, %ecx
				call	READSYM.6595
 1531                     type = integer;  base = 10
				movl	$1, TYPE.6054@GOTOFF(%ebx)
				movl	$10, %eax
				movl	%eax, -40(%ebp)
 1532                     %if sym = '-' %start
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$45, %eax
				jne	.L999
				nop
		.L910:
 1533                         read sym;  get(10);  n = -n
				movl	%esi, %ecx
				call	READSYM.6595
				subl	$12, %esp
				leal	-48(%ebp), %eax
				pushl	$10
				movl	%eax, %ecx
				call	GET.6774
				addl	$16, %esp
				movl	-44(%ebp), %eax
				negl	%eax
				movl	%eax, -44(%ebp)
 1534                     %finish %else %start
				jmp	.L911
		.L999:
 1535                         get(10)
				subl	$12, %esp
				leal	-48(%ebp), %eax
				pushl	$10
				movl	%eax, %ecx
				call	GET.6774
				addl	$16, %esp
		.L911:
 1536                     %finish
 1537                     pt = k+1;  glink(pt) = lp;  litpool(lp) = n;  lp = lp+1
				movl	-68(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -48(%ebp)
				movl	LP.6128@GOTOFF(%ebx), %eax
				movl	%eax, %edx
				movl	-48(%ebp), %eax
				movw	%dx, GLINK.6158@GOTOFF(%ebx,%eax,2)
				movl	LP.6128@GOTOFF(%ebx), %ecx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	-44(%ebp), %edx
				addl	$4160, %ecx
				movl	%edx, (%eax,%ecx,4)
				movl	LP.6128@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, LP.6128@GOTOFF(%ebx)
 1538                     atom1 = error+10 %if base = 0
				movl	-40(%ebp), %eax
				testl	%eax, %eax
				jne	.L1000
				movl	$32778, ATOM1.6051@GOTOFF(%ebx)
				jmp	.L913
		.L1000:
				nop
		.L913:
 1539                     type = real;                       ! exponents force the type
				movl	$2, TYPE.6054@GOTOFF(%ebx)
				jmp	.L908
		.L998:
 1540                 %finish
 1541
 1542                 %if type = real %start
				movl	TYPE.6054@GOTOFF(%ebx), %eax
				cmpl	$2, %eax
				jne	.L1001
				nop
		.L915:
 1543                     glink(strp) = pt-strp;             ! store the length (difference)
				movl	-48(%ebp), %eax
				movl	%eax, %edx
				movl	(%esi), %eax
				subl	%eax, %edx
				movl	%edx, %eax
				movl	%eax, %edx
				movl	(%esi), %eax
				movw	%dx, GLINK.6158@GOTOFF(%ebx,%eax,2)
 1544                     subatom = (strp)!16_2000;  strp = pt+1
				movl	(%esi), %eax
				orb	$32, %ah
				movl	%eax, SUBATOM.6053@GOTOFF(%ebx)
				movl	-48(%ebp), %eax
				addl	$1, %eax
				movl	%eax, (%esi)
 1545                 %finish %else %start
				nop
		.L916:
 1546                     litpool(lp) = n
				movl	LP.6128@GOTOFF(%ebx), %ecx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	-44(%ebp), %edx
				addl	$4160, %ecx
				movl	%edx, (%eax,%ecx,4)
 1547                     lp = lp+1
				movl	LP.6128@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, LP.6128@GOTOFF(%ebx)
 1548                 %finish
 1549                 %return
				jmp	.L821
		.L1001:
				jmp	.L821
		.L966:
 1550
 1551 name:           atom1 = 0 %and %return %if 27 <= target %and target <= 41
				cmpl	$26, 8(%ebp)
				jle	.L1002
				cmpl	$41, 8(%ebp)
				jg	.L1003
				movl	$0, ATOM1.6051@GOTOFF(%ebx)
				jmp	.L821
		.L1002:
				nop
				jmp	.L918
		.L1003:
				nop
		.L918:
 1552                 hash value = 0
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	$0, %edx
				movl	%edx, 25040(%eax)
 1553
 1554                 ! ABD changed to remove dependency on direct addressing
 1555                 dp = dmax+1
				movl	DMAX.6096@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, DP.6113@GOTOFF(%ebx)
 1556                 dbase = dp
				movl	DP.6113@GOTOFF(%ebx), %eax
				movl	%eax, -64(%ebp)
 1557                 n = 0
				movl	$0, %eax
				movl	%eax, -44(%ebp)
 1558                 dict(dp) = 0
				movl	DP.6113@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				addl	$6260, %edx
				movl	$0, 4(%eax,%edx,4)
		.L920:
 1559                 %cycle
 1560                     hash value = hash value+(hash value+sym); ! is this good enough?
				movl	SYM.6068@GOTOFF(%ebx), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	25040(%eax), %eax
				leal	(%eax,%edx), %ecx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	25040(%eax), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				addl	%ecx, %edx
				movl	%edx, 25040(%eax)
 1561                     dict(dp) = dict(dp) ! (sym << 8);
				movl	DP.6113@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %eax
				movl	SYM.6068@GOTOFF(%ebx), %edx
				movl	%edx, %ecx
				sall	$8, %ecx
				movl	DP.6113@GOTOFF(%ebx), %edx
				subl	$1, %edx
				orl	%eax, %ecx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				addl	$6260, %edx
				movl	%ecx, 4(%eax,%edx,4)
 1562                     n = n+1
				movl	-44(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -44(%ebp)
 1563                     dp = dp+1
				movl	DP.6113@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, DP.6113@GOTOFF(%ebx)
 1564                     read sym
				movl	%esi, %ecx
				call	READSYM.6595
 1565                     %exit %if symtype >= 0
				movl	SYMTYPE.6069@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jns	.L1004
				nop
		.L922:
				nop
				jmp	.L923
		.L1005:
 1566                     dict(dp) = sym;
				movl	DP.6113@GOTOFF(%ebx), %eax
				leal	-1(%eax), %ecx
				movl	SYM.6068@GOTOFF(%ebx), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				addl	$6260, %ecx
				movl	%edx, 4(%eax,%ecx,4)
 1567                     n = n+1
				movl	-44(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -44(%ebp)
 1568                     read sym
				movl	%esi, %ecx
				call	READSYM.6595
 1569                     %exit %if symtype >= 0
				movl	SYMTYPE.6069@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jns	.L1005
				nop
		.L925:
				nop
		.L923:
 1570                 %repeat
				jmp	.L920
		.L1004:
 1571                 %if sym = cquote %start
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$39, %eax
				jne	.L1006
				nop
		.L927:
 1572                     pend quote = 100
				movl	$100, -72(%ebp)
 1573                     ->symbols %if hash value = 'M'
				nop
		.L842:
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	25040(%eax), %eax
				cmpl	$77, %eax
				je	.L1007
				nop
		.L929:
 1574                     read sym
				movl	%esi, %ecx
				call	READSYM.6595
 1575                     %if hash value = 'X' %then base = 16 %and ->bxk
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	25040(%eax), %eax
				cmpl	$88, %eax
				jne	.L1008
				movl	$16, %eax
				movl	%eax, -40(%ebp)
				jmp	.L892
		.L1008:
				nop
		.L931:
 1576                     %if hash value = 'K' %or hash value = 'O' %then base = 8 %and ->bxk
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	25040(%eax), %eax
				cmpl	$75, %eax
				je	.L1009
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	25040(%eax), %eax
				cmpl	$79, %eax
				jne	.L1010
				jmp	.L933
		.L1009:
				nop
		.L933:
				movl	$8, %eax
				movl	%eax, -40(%ebp)
				jmp	.L892
		.L1010:
				nop
		.L934:
 1577                     %if hash value = 'B' %then base = 2 %and ->bxk
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	25040(%eax), %eax
				cmpl	$66, %eax
				jne	.L1011
				movl	$2, %eax
				movl	%eax, -40(%ebp)
				jmp	.L892
		.L1011:
				nop
		.L936:
 1578                     ->err
				jmp	.L857
		.L1006:
 1579                 %finish
 1580                 dict(dbase) = dict(dbase)!n
				movl	-64(%ebp), %eax
				leal	-1(%eax), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %eax
				movl	-64(%ebp), %edx
				leal	-1(%edx), %edi
				movl	-44(%ebp), %edx
				movl	%edx, %ecx
				orl	%eax, %ecx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				leal	6260(%edi), %edx
				movl	%ecx, 4(%eax,%edx,4)
 1581                 %if n&1 = 0 %then dp = dp+1
				movl	-44(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1012
				movl	DP.6113@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, DP.6113@GOTOFF(%ebx)
				jmp	.L938
		.L1012:
				nop
		.L938:
 1582                 abandon(8) %if dp >= dmin
				movl	DP.6113@GOTOFF(%ebx), %edx
				movl	4(%esi), %eax
				movl	40(%eax), %eax
				cmpl	%edx, %eax
				jg	.L1013
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$8
				movl	%eax, %ecx
				call	ABANDON.6213
				addl	$16, %esp
				jmp	.L940
		.L1013:
				nop
		.L940:
 1583
 1584                 atom2 = 90;                            ! ident
				movl	$90, ATOM2.6052@GOTOFF(%ebx)
 1585                 %if last1 = 0 %and sym = ':' %start;   ! label
				movl	LAST1.6082@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L1014
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$58, %eax
				jne	.L1015
				nop
				jmp	.L942
		.L1015:
				nop
		.L942:
 1586                     limit = local;  lookup(lab);  %return
				movl	LOCAL.6118@GOTOFF(%ebx), %eax
				movl	%eax, LIMIT.6108@GOTOFF(%ebx)
				subl	$12, %esp
				leal	-48(%ebp), %eax
				pushl	$3
				movl	%eax, %ecx
				call	LOOKUP.6650
				addl	$16, %esp
				jmp	.L821
		.L1014:
 1587                 %finish
 1588                 %if last1 = jump %start;               ! ->label
				movl	LAST1.6082@GOTOFF(%ebx), %eax
				cmpl	$54, %eax
				jne	.L1016
				nop
		.L945:
 1589                     limit = local;  lookup(lab+spec+used bit);  %return
				movl	LOCAL.6118@GOTOFF(%ebx), %eax
				movl	%eax, LIMIT.6108@GOTOFF(%ebx)
				subl	$12, %esp
				leal	-48(%ebp), %eax
				pushl	$32899
				movl	%eax, %ecx
				call	LOOKUP.6650
				addl	$16, %esp
				jmp	.L821
		.L1016:
 1590                 %finish
 1591                 %if decl # 0 %and target = 90 %start;  ! identifier
				movl	DECL.6074@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L1017
				cmpl	$90, 8(%ebp)
				jne	.L1018
				nop
				jmp	.L947
		.L1018:
				nop
		.L947:
 1592                     search base = fm base
				movl	FMBASE.6119@GOTOFF(%ebx), %eax
				movl	%eax, SEARCHBASE.6120@GOTOFF(%ebx)
 1593                     limit = local;  lookup(decl)
				movl	LOCAL.6118@GOTOFF(%ebx), %eax
				movl	%eax, LIMIT.6108@GOTOFF(%ebx)
				movl	DECL.6074@GOTOFF(%ebx), %edx
				subl	$12, %esp
				leal	-48(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	LOOKUP.6650
				addl	$16, %esp
 1594                     search base = 0
				movl	$0, SEARCHBASE.6120@GOTOFF(%ebx)
 1595                 %finish %else %start
				jmp	.L949
		.L1017:
 1596                     limit = 0;  lookup(0)
				movl	$0, LIMIT.6108@GOTOFF(%ebx)
				subl	$12, %esp
				leal	-48(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	LOOKUP.6650
				addl	$16, %esp
		.L949:
 1597                 %finish
 1598             %end
				nop
				jmp	.L821
		.L978:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L950
				call	__stack_chk_fail_local
		.L950:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE212:
		GET.6774:
		.LFB215:
?DA unused
 1599
 1600             %integerfn parsed machine code
 1601                 !   *opcode_??????????
 1602                 atom1 = error %and %result=0 %unless symtype = -2; ! starts with letter
 1603                 flush buffer( 128 );                   ! flush if bp >= 128
 1604                 add char( 'w' )
 1605                 %cycle
 1606                     add char( sym ); read sym
 1607                 %repeat %until Sym = '_' %or Symtype = 0; ! pull in letters and digits
 1608                 add char( '_' )
 1609                 %if symtype # 0 %start;                ! not terminator
 1610                     read sym
 1611                     %while symtype # 0 %cycle
 1612                         %if symtype < 0 %start;        ! complex
 1613                             code atom(0);  %result=0 %if atom1&error # 0
 1614                             %if atom2 = const %and type = integer %start
 1615                                 %if subatom < 0 %then set const(tag(-subatom)_format) %else set const(litpool(subatom))
 1616                             %finish %else %if 91 <= atom1 %and atom1 <= 109 %start
 1617                                 %if atom1 = 104 %and Tag(Subatom)_Flags&Closed = 0 %start
 1618                                     This = Subatom;  Atom1 = Error+21
 1619                                     %result = 0
 1620                                 %finish
 1621                                 op(' ', tag(subatom)_index)
 1622                             %finish %else %start
 1623                                 atom1 = error;  %result=0
 1624                             %finish
 1625                         %finish %else %start
 1626                             sym = sym!128 %if symtype = 2      {underline with %}
 1627                             add char( sym ); read sym
 1628                         %finish
 1629                     %repeat
 1630                 %finish
 1631                 add char( ';' )
 1632                 %result=1
 1633             %end
 1634
 1635             cont = ' ' %if gg = 0
				movl	GG.6089@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L526
				movl	$32, CONT.6072@GOTOFF(%ebx)
				jmp	.L394
		.L526:
				nop
		.L394:
 1636             last1 = 0;  mapgg = 0
				movl	$0, LAST1.6082@GOTOFF(%ebx)
				movl	$0, MAPGG.6090@GOTOFF(%ebx)
 1637             s = 0;  ss = 0;  sstype = -1; fdef = 0
				movl	$0, -6748(%ebp)
				movl	$0, SS.6098@GOTOFF(%ebx)
				movl	$-1, SSTYPE.6105@GOTOFF(%ebx)
				movl	$0, FDEF.6091@GOTOFF(%ebx)
 1638             fm base = 0
				movl	$0, FMBASE.6119@GOTOFF(%ebx)
 1639             app = 0
				movl	$0, APP.6055@GOTOFF(%ebx)
 1640
 1641             ! deal with alignment following an error in one statement
 1642             ! of several on a line
 1643             margin = column;                           ! start of statement
				movl	COLUMN.6065@GOTOFF(%ebx), %eax
				movl	%eax, MARGIN.6062@GOTOFF(%ebx)
 1644             pos = 0
				movl	$0, POS.6116@GOTOFF(%ebx)
 1645             strp = gmax+1;  lp = 0
				movl	GMAX.6149@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, -6696(%ebp)
				movl	$0, LP.6128@GOTOFF(%ebx)
 1646             tbase = tstart;                            ! ??????????????
				movl	-6768(%ebp), %esi
				movl	60(%esi), %eax
				movl	%eax, 56(%esi)
 1647             local = tbase
				movl	56(%esi), %eax
				movl	%eax, LOCAL.6118@GOTOFF(%ebx)
 1648
 1649             %if gg = 0 %or ocount >= 0 %start;         ! data or not continuation(z)
				movl	GG.6089@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L527
				movl	OCOUNT.6107@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				js	.L528
				jmp	.L404
		.L396:
		.L398:
		.L527:
				nop
		.L399:
		.L404:
				nop
				jmp	.L411
		.L532:
 1650 again:          %while sym type = 0 %cycle;            ! skip redundant terminators
				movl	SYMTYPE.6069@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L529
				nop
		.L401:
 1651                     c = cont
				movl	CONT.6072@GOTOFF(%ebx), %eax
				movl	%eax, -6744(%ebp)
 1652                     cont = ' ';  cont = '+' %if ocount >= 0
				movl	$32, CONT.6072@GOTOFF(%ebx)
				movl	OCOUNT.6107@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				js	.L530
				movl	$43, CONT.6072@GOTOFF(%ebx)
				jmp	.L403
		.L530:
				nop
		.L403:
 1653                     read sym
				leal	-6696(%ebp), %eax
				movl	%eax, %ecx
				call	READSYM.6595
 1654                     cont = c
				movl	-6744(%ebp), %eax
				movl	%eax, CONT.6072@GOTOFF(%ebx)
 1655                 %repeat
				jmp	.L404
		.L529:
 1656                 ->skip %if sym = '!';                  ! comment
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$33, %eax
				je	.L531
				nop
		.L406:
				nop
		.L407:
 1657                 this = -1
				movl	$-1, THIS.6092@GOTOFF(%ebx)
 1658                 code atom(0)
				subl	$12, %esp
				leal	-6696(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	CODEATOM.6637
				addl	$16, %esp
 1659                 %if atom1 = comment %start
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				cmpl	$22, %eax
				jne	.L532
				nop
		.L411:
 1660 skip:               quote = 1
				jmp	.L407
		.L531:
				movl	$1, QUOTE.6070@GOTOFF(%ebx)
 1661                     c = cont
				movl	CONT.6072@GOTOFF(%ebx), %eax
				movl	%eax, -6744(%ebp)
		.L408:
 1662                     read sym %and cont = c %while sym # nl; ! skip to end of line
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L533
				leal	-6696(%ebp), %eax
				movl	%eax, %ecx
				call	READSYM.6595
				movl	-6744(%ebp), %eax
				movl	%eax, CONT.6072@GOTOFF(%ebx)
				jmp	.L408
		.L533:
				nop
		.L410:
 1663                     quote = 0;  symtype = 0
				movl	$0, QUOTE.6070@GOTOFF(%ebx)
				movl	$0, SYMTYPE.6069@GOTOFF(%ebx)
 1664                     ->again
				jmp	.L404
		.L397:
		.L528:
 1665                 %finish
 1666             %finish
 1667             decl = 0;  mark = 0
				movl	$0, DECL.6074@GOTOFF(%ebx)
				movl	$0, -6740(%ebp)
 1668             gentype = 0;  force = 0
				movl	$0, GENTYPE.6083@GOTOFF(%ebx)
				movl	$0, FORCE.6087@GOTOFF(%ebx)
 1669             dim = 0;  prot err = 0
				movl	$0, DIM.6075@GOTOFF(%ebx)
				movl	$0, -6736(%ebp)
 1670             node = 0;  nmax = 0;  nmin = rec size+1
				movl	$0, -6752(%ebp)
				movl	$0, NMAX.6094@GOTOFF(%ebx)
				movl	$521, NMIN.6093@GOTOFF(%ebx)
 1671             order = 1;  gmin = max grammar+1
				movl	$1, ORDER.6110@GOTOFF(%ebx)
				movl	$1721, GMIN.6142@GOTOFF(%ebx)
 1672             sstype = 0 %and ->more %if gg # 0;         ! continuation
				movl	GG.6089@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L534
				movl	$0, SSTYPE.6105@GOTOFF(%ebx)
				jmp	.L414
		.L534:
				nop
		.L413:
 1673             ptype = 0;  spec given = 0
				movl	$0, PTYPE.6084@GOTOFF(%ebx)
				movl	$0, SPECGIVEN.6076@GOTOFF(%ebx)
 1674
 1675             stats = stats+1;  op('O', lines) %if perm = 0
				movl	STATS.6066@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, STATS.6066@GOTOFF(%ebx)
				movl	PERM.6103@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L535
				movl	LINES.6060@GOTOFF(%ebx), %edx
				movl	-6768(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$79
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
				nop
 1676
 1677             ->fail1 %if atom1&error # 0;               ! first atom faulty
				jmp	.L417
		.L416:
		.L535:
				jmp	.L417
		.L543:
 1678
 1679             %if escape class # 0 %start;               ! enter the hard way after
 1680                 g = imp phrase;  sstype = -1;  ->a3
 1681             %finish
 1682
 1683             g = initial(atom1);                        ! pick up entry point
 1684             %if g = 0 %start;                          ! invalid first atom
 1685                 g = initial(0);  sstype = 0;  ->a3;    ! declarator?
 1686             %finish
 1687             %if g < 0 %start;                          ! phrase imp
 1688                 g = g&255
 1689                 nmax = 1
 1690                 ar(1)_class = 0;  ar(1)_link = 0;  ar(1)_sub = imp phrase
 1691             %finish
 1692
 1693             gg = gram(g);  class = gg&255;  sstype = gg>>12&3-1
 1694             ->a1
 1695
 1696 act(194):   ptype = type;  papp = app;  pformat = format;  ->more
 1697 act(196):   k =g+1;  ->a610
 1698 act(188):   k = ar(nmax)_sub+1
 1699 a610:       papp = glink(k)
 1700             k = gram(k)
 1701             ->more %if k = 0;                          ! %name
 1702             ptype = k&7;  pformat = k>>3
 1703 act(183):   k = type;  gentype = k %if gentype = 0 %or k = real
 1704             %if pformat < 0 %start;                    ! general type
 1705                 app = papp;  format = pformat
 1706                 k = real %if ptype = real %and type = integer
 1707                 k = force %and force = 0 %if force # 0
 1708             %finish
 1709             ->fail2 %unless papp = app %and (ptype = k %or ptype = 0)
 1710             ->more %if pformat=format %or pformat = 0 %or format = 0
 1711             ->fail2
 1712 act(197):   arp == ar(nmin)
 1713             k = arp_sub
 1714             ->fail3 %unless block form = k&15
 1715             arp_sub = k>>4
 1716
 1717             type = block type
 1718             ptype = block type;  pformat = block fm;  papp = app
 1719             pformat = -1 %if ptype # record
 1720             ->more
 1721 act(195):   ->Fail2 %if Type # 0 %and Type # Integer %and Type # Real
 1722             arp == ar(nmin)
 1723             k = arp_sub
 1724             arp_sub = k>>2
 1725             k = k&3
 1726                                                        ! 1 = check integer
 1727                                                        ! 2 = check real
 1728                                                        ! 3 = check real + int
 1729             ->more %if k = 0;                          ! 0 = no action
 1730             %if k = 1 %start
 1731                 force = integer
 1732                 ->more %if type = integer %or type = 0
 1733                 ->fail2
 1734             %finish
 1735             ->fail2 %unless ptype = real %or ptype = 0; ! {or added?}
 1736             force = integer %if k = 3
 1737             ->more
 1738 act(198):   ! %OTHER
 1739             k = gg>>8&15
 1740             %if k = 0 %start;                          ! restore atom
 1741                 atom1 = last1
 1742                 ->more
 1743             %finish
 1744             %if k = 1 %start;                          ! test string
 1745                 ->fail2 %unless type = stringv
 1746                 ->more
 1747             %finish
 1748             %if k = 2 %start;                          ! {fault record comparisons}
 1749                 ->fail2 %if type = record
 1750                 ->more
 1751             %finish
 1752             %if k = 3 %start;                          ! check OWN variable coming
 1753                 code atom(0)
 1754                 ->A7 %if atom flags&own bit = 0
 1755                 ->more
 1756             %finish
 1757             for warn = pos1 %if x <= local;            ! %for TEST
 1758             ->more
 1759 paction(1): %if type = record %then g = phrase(242) %else pformat = -1; ->a3
 1760 paction(2): ptype = real;     pformat = -1;                             ->a3
 1761 paction(3): ptype = stringv;  pformat = -1;                             ->a3
 1762 paction(4): ptype = integer;  pformat = -1;                             ->a3
 1763 paction(5): ->a3 %if ptype = integer
 1764             g = phrase(212) %and pformat=-1 %if ptype = real
 1765             g = phrase(213) %if ptype = stringv
 1766                                                                         ->a3
 1767 paction(6): ptype = gram(ar(nmax)_sub+1)&7;  pformat = -1;              ->a3
 1768 paction(7): ptype=real %if ptype = integer;  pformat = -1;              ->a3
 1769
 1770 a1:         last1 = class;  atom1 = 0;  s = subatom
				movl	CLASS.6049@GOTOFF(%ebx), %eax
				movl	%eax, LAST1.6082@GOTOFF(%ebx)
				movl	$0, ATOM1.6051@GOTOFF(%ebx)
				movl	SUBATOM.6053@GOTOFF(%ebx), %eax
				movl	%eax, -6748(%ebp)
				jmp	.L419
		.L452:
		.L547:
 1771 a2:         %if gg&trans bit = 0 %start;               ! insert into analysis record
				movl	GG.6089@GOTOFF(%ebx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L536
				nop
		.L421:
 1772                 z == node
				leal	-6752(%ebp), %eax
				movl	%eax, -6732(%ebp)
		.L422:
 1773                 %cycle;                                ! insert cell in order
 1774                     k = z
				movl	-6732(%ebp), %eax
				movl	(%eax), %eax
				movl	%eax, -6728(%ebp)
 1775                     %exit %if gg&order bits = 0 %or k = 0
				cmpl	$0, -6728(%ebp)
				jne	.L537
				nop
		.L423:
				nop
		.L425:
				nop
		.L424:
 1776                     gg = gg-order bit;  z == ar(k)_link
				movl	GG.6089@GOTOFF(%ebx), %eax
				subl	$4096, %eax
				movl	%eax, GG.6089@GOTOFF(%ebx)
				movl	-6728(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-6768(%ebp), %eax
				movl	64(%eax), %eax
				sall	$5, %edx
				addl	%edx, %eax
				addl	$8, %eax
				movl	%eax, -6732(%ebp)
 1777                 %repeat
				jmp	.L422
		.L426:
 1778                 gg = map gg %if map gg # 0 %and gg&255 = var
				movl	MAPGG.6090@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L426
				jmp	.L427
		.L537:
				movl	GG.6089@GOTOFF(%ebx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L538
				movl	MAPGG.6090@GOTOFF(%ebx), %eax
				movl	%eax, GG.6089@GOTOFF(%ebx)
				jmp	.L427
		.L538:
				nop
		.L427:
 1779                 nmin = nmin-1;  ->fail0 %if nmin = nmax
				movl	NMIN.6093@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, NMIN.6093@GOTOFF(%ebx)
				movl	NMIN.6093@GOTOFF(%ebx), %edx
				movl	NMAX.6094@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				je	.L539
				nop
		.L430:
				nop
				jmp	.L431
		.L550:
 1780                 z = nmin
				movl	NMIN.6093@GOTOFF(%ebx), %edx
				movl	-6732(%ebp), %eax
				movl	%edx, (%eax)
 1781                 arp == ar(nmin)
				movl	NMIN.6093@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	-6768(%ebp), %eax
				movl	64(%eax), %eax
				sall	$5, %edx
				addl	%edx, %eax
				movl	%eax, -6724(%ebp)
 1782                 arp_sub = s;  arp_class = (gg&255)!mark
				movl	-6724(%ebp), %eax
				movl	-6748(%ebp), %edx
				movl	%edx, 4(%eax)
				movl	GG.6089@GOTOFF(%ebx), %eax
				movzbl	%al, %eax
				orl	-6740(%ebp), %eax
				movl	%eax, %edx
				movl	-6724(%ebp), %eax
				movl	%edx, (%eax)
 1783                 arp_link = k
				movl	-6724(%ebp), %eax
				movl	-6728(%ebp), %edx
				movl	%edx, 8(%eax)
				jmp	.L421
		.L536:
 1784             %finish
 1785             mark = 0;  map gg = 0
				movl	$0, -6740(%ebp)
				movl	$0, MAPGG.6090@GOTOFF(%ebx)
		.L414:
 1786 more:       g = glink(g);                              ! chain down the grammar
				movl	G.6088@GOTOFF(%ebx), %eax
				movzwl	GLINK.6158@GOTOFF(%ebx,%eax,2), %eax
				cwtl
				movl	%eax, G.6088@GOTOFF(%ebx)
		.L432:
		.L433:
 1787 paction(0):
 1788 a3:         gg = gram(g);  class = gg&255
				movl	G.6088@GOTOFF(%ebx), %eax
				movzwl	GRAM.6156@GOTOFF(%ebx,%eax,2), %eax
				cwtl
				movl	%eax, GG.6089@GOTOFF(%ebx)
				movl	GG.6089@GOTOFF(%ebx), %eax
				movzbl	%al, %eax
				movl	%eax, CLASS.6049@GOTOFF(%ebx)
 1789             trace analysis %if diag&1 # 0
				leal	-6696(%ebp), %eax
				movl	%eax, %ecx
				call	TRACEANALYSIS.6565
		.L434:
 1790             ->a5 %if class = 0;                        ! end of phrase
				movl	CLASS.6049@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L540
				nop
		.L436:
				nop
		.L437:
 1791
 1792             %if class < actions %start;                ! not a phrase or an action
				movl	CLASS.6049@GOTOFF(%ebx), %eax
				cmpl	$179, %eax
				jg	.L541
				nop
		.L439:
 1793                 class = atomic(class) %if class >= figurative
				movl	CLASS.6049@GOTOFF(%ebx), %eax
				cmpl	$129, %eax
				jle	.L542
				movl	CLASS.6049@GOTOFF(%ebx), %eax
				leal	-130(%eax), %edx
				movl	-6768(%ebp), %eax
				movl	64(%eax), %eax
				movzbl	69698(%eax,%edx), %eax
				movzbl	%al, %eax
				movl	%eax, CLASS.6049@GOTOFF(%ebx)
				jmp	.L441
		.L542:
				nop
		.L441:
 1794                 ->a2 %if class >= manifest
				nop
		.L419:
				movl	CLASS.6049@GOTOFF(%ebx), %eax
				cmpl	$119, %eax
				jg	.L543
				nop
		.L443:
 1795                 code atom(class) %if atom1 = 0
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L544
				movl	CLASS.6049@GOTOFF(%ebx), %edx
				subl	$12, %esp
				leal	-6696(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	CODEATOM.6637
				addl	$16, %esp
				jmp	.L445
		.L544:
				nop
		.L445:
 1796                 %if escape class # 0 %start;           ! escape to new grammar
				movl	ESCAPECLASS.6077@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L545
				nop
		.L447:
 1797                     class = escape class;  escape class = 0
				movl	ESCAPECLASS.6077@GOTOFF(%ebx), %eax
				movl	%eax, CLASS.6049@GOTOFF(%ebx)
				movl	$0, ESCAPECLASS.6077@GOTOFF(%ebx)
 1798                     g = g+escape
				movl	G.6088@GOTOFF(%ebx), %eax
				addl	$4096, %eax
				movl	%eax, G.6088@GOTOFF(%ebx)
		.L448:
 1799
 1800                     ! note that following an escape the next item is
 1801                     ! forced to be transparent!
 1802
 1803 esc:                gg = 0
				movl	$0, GG.6089@GOTOFF(%ebx)
 1804                     arp == ar(nmax+1)
				movl	NMAX.6094@GOTOFF(%ebx), %edx
				movl	-6768(%ebp), %eax
				movl	64(%eax), %eax
				sall	$5, %edx
				addl	%edx, %eax
				movl	%eax, -6724(%ebp)
 1805                     arp_papp = papp;  arp_x = x;  ->a4
				movl	PAPP.6085@GOTOFF(%ebx), %edx
				movl	-6724(%ebp), %eax
				movl	%edx, 16(%eax)
				movl	X.6050@GOTOFF(%ebx), %edx
				movl	-6724(%ebp), %eax
				movl	%edx, 24(%eax)
				jmp	.L449
		.L545:
 1806                 %finish
 1807
 1808                 ->a1 %if class = atom1 %or class = atom2
				movl	CLASS.6049@GOTOFF(%ebx), %edx
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				je	.L546
				movl	CLASS.6049@GOTOFF(%ebx), %edx
				movl	ATOM2.6052@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jne	.L547
				jmp	.L451
		.L546:
				nop
		.L451:
				nop
		.L418:
				nop
		.L453:
 1809
 1810 a7:             ->fail1 %if gg >= 0;                   ! no alternative
				movl	GG.6089@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jns	.L548
				nop
		.L455:
				nop
		.L417:
 1811                 g = g+1
				movl	G.6088@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, G.6088@GOTOFF(%ebx)
 1812                 ->a3
				jmp	.L432
		.L541:
 1813             %finish
 1814
 1815             %if class >= phrasal %start;               ! a phrase
				movl	CLASS.6049@GOTOFF(%ebx), %eax
				cmpl	$199, %eax
				jle	.L549
				nop
		.L456:
 1816 a4:             nmax = nmax+1;  ->fail0 %if nmax = nmin
				nop
		.L449:
				movl	NMAX.6094@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, NMAX.6094@GOTOFF(%ebx)
				movl	NMAX.6094@GOTOFF(%ebx), %edx
				movl	NMIN.6093@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				je	.L550
				nop
		.L458:
				nop
		.L431:
 1817                 arp == ar(nmax)
				movl	NMAX.6094@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	-6768(%ebp), %eax
				movl	64(%eax), %eax
				sall	$5, %edx
				addl	%edx, %eax
				movl	%eax, -6724(%ebp)
 1818                 arp_ptype = ptype
				movl	PTYPE.6084@GOTOFF(%ebx), %edx
				movl	-6724(%ebp), %eax
				movl	%edx, 12(%eax)
 1819                 arp_pos = pos1
				movl	POS1.6114@GOTOFF(%ebx), %edx
				movl	-6724(%ebp), %eax
				movl	%edx, 28(%eax)
 1820                 arp_pformat = pformat
				movl	PFORMAT.6086@GOTOFF(%ebx), %edx
				movl	-6724(%ebp), %eax
				movl	%edx, 20(%eax)
 1821                 arp_link = gentype
				movl	GENTYPE.6083@GOTOFF(%ebx), %edx
				movl	-6724(%ebp), %eax
				movl	%edx, 8(%eax)
 1822                 arp_class = node
				movl	-6752(%ebp), %edx
				movl	-6724(%ebp), %eax
				movl	%edx, (%eax)
 1823                 arp_sub = g
				movl	G.6088@GOTOFF(%ebx), %edx
				movl	-6724(%ebp), %eax
				movl	%edx, 4(%eax)
 1824                 node = 0
				movl	$0, -6752(%ebp)
 1825                 g = phrase(class)
				movl	CLASS.6049@GOTOFF(%ebx), %eax
				subl	$200, %eax
				movzwl	PHRASE.6154@GOTOFF(%ebx,%eax,2), %eax
				cwtl
				movl	%eax, G.6088@GOTOFF(%ebx)
 1826                 ptype = force %and force = 0 %if force # 0
				movl	FORCE.6087@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L551
				movl	FORCE.6087@GOTOFF(%ebx), %eax
				movl	%eax, PTYPE.6084@GOTOFF(%ebx)
				movl	$0, FORCE.6087@GOTOFF(%ebx)
				jmp	.L460
		.L551:
				nop
		.L460:
 1827                 gentype = 0
				movl	$0, GENTYPE.6083@GOTOFF(%ebx)
 1828                 ->paction(gg>>8&15)
				movl	$1828, -6700(%ebp)
				leal	.LC71@GOTOFF(%ebx), %eax
				movl	%eax, -6720(%ebp)
				movl	GG.6089@GOTOFF(%ebx), %eax
				shrl	$8, %eax
				andl	$15, %eax
				movl	%eax, -6704(%ebp)
				jmp	.L461
		.L549:
 1829             %finish
 1830             ->act(class);                              ! only actions left
				movl	$1830, -6716(%ebp)
				leal	.LC71@GOTOFF(%ebx), %eax
				movl	%eax, -6712(%ebp)
				movl	CLASS.6049@GOTOFF(%ebx), %eax
				movl	%eax, -6708(%ebp)
				nop
		.L462:
 1831
 1832 a5:         ;! reverse links
 1833             s = 0
				movl	$0, -6748(%ebp)
		.L463:
 1834             %while node # 0 %cycle
				movl	-6752(%ebp), %eax
				testl	%eax, %eax
				je	.L552
				nop
		.L465:
 1835                 z == ar(node)_link
				movl	-6752(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-6768(%ebp), %eax
				movl	64(%eax), %eax
				sall	$5, %edx
				addl	%edx, %eax
				addl	$8, %eax
				movl	%eax, -6732(%ebp)
 1836                 k = z;  z = s;  s = node;  node = k
				movl	-6732(%ebp), %eax
				movl	(%eax), %eax
				movl	%eax, -6728(%ebp)
				movl	-6732(%ebp), %eax
				movl	-6748(%ebp), %edx
				movl	%edx, (%eax)
				movl	-6752(%ebp), %eax
				movl	%eax, -6748(%ebp)
				movl	-6728(%ebp), %eax
				movl	%eax, -6752(%ebp)
 1837             %repeat
				jmp	.L463
		.L552:
 1838             ss = s
				movl	-6748(%ebp), %eax
				movl	%eax, SS.6098@GOTOFF(%ebx)
		.L466:
 1839 a6:         %if nmax # 0 %start
				movl	NMAX.6094@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L553
				nop
		.L468:
 1840                 k = gentype;                           ! type of phrase
				movl	GENTYPE.6083@GOTOFF(%ebx), %eax
				movl	%eax, -6728(%ebp)
 1841                 arp == ar(nmax);  nmax = nmax-1
				movl	NMAX.6094@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	-6768(%ebp), %eax
				movl	64(%eax), %eax
				sall	$5, %edx
				addl	%edx, %eax
				movl	%eax, -6724(%ebp)
				movl	NMAX.6094@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, NMAX.6094@GOTOFF(%ebx)
 1842                 node = arp_class
				movl	-6724(%ebp), %eax
				movl	(%eax), %eax
				movl	%eax, -6752(%ebp)
 1843                 gentype = arp_link
				movl	-6724(%ebp), %eax
				movl	8(%eax), %eax
				movl	%eax, GENTYPE.6083@GOTOFF(%ebx)
 1844                 ptype = arp_ptype
				movl	-6724(%ebp), %eax
				movl	12(%eax), %eax
				movl	%eax, PTYPE.6084@GOTOFF(%ebx)
 1845                 pformat = arp_pformat
				movl	-6724(%ebp), %eax
				movl	20(%eax), %eax
				movl	%eax, PFORMAT.6086@GOTOFF(%ebx)
 1846                 g = arp_sub
				movl	-6724(%ebp), %eax
				movl	4(%eax), %eax
				movl	%eax, G.6088@GOTOFF(%ebx)
 1847                 %if g&escape # 0 %start
 1848                     g = g-escape
				movl	G.6088@GOTOFF(%ebx), %eax
				subl	$4096, %eax
				movl	%eax, G.6088@GOTOFF(%ebx)
 1849                     papp = arp_papp
				movl	-6724(%ebp), %eax
				movl	16(%eax), %eax
				movl	%eax, PAPP.6085@GOTOFF(%ebx)
 1850                     mark = 255
				movl	$255, -6740(%ebp)
 1851                     subatom = s
				movl	-6748(%ebp), %eax
				movl	%eax, SUBATOM.6053@GOTOFF(%ebx)
 1852                     ->a3
				jmp	.L432
		.L553:
 1853                 %finish
 1854                 gentype = k %if gentype = 0 %or k = real
 1855                 type = gen type
 1856
 1857                 k = gg;                                ! exit-point code
 1858                 %cycle
 1859                     gg = gram(g)
 1860                     ->a2 %if k = 0
 1861                     ->fail1 %if gg >= 0;               ! no alternative phrase
 1862                     k = k-order bit
 1863                     g = g+1;                           ! sideways step
 1864                 %repeat
 1865             %finish
 1866
 1867             Fault(4)  %if copy # 0
				movl	COPY.6109@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L554
				subl	$12, %esp
				pushl	$4
				movl	-6768(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L470
		.L554:
				nop
		.L470:
 1868             fault(13) %if order = 0
				movl	ORDER.6110@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L555
				subl	$12, %esp
				pushl	$13
				movl	-6768(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L472
		.L555:
				nop
		.L472:
 1869             fault(-4) %if for warn # 0
				movl	FORWARN.6111@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L556
				subl	$12, %esp
				pushl	$-4
				movl	-6768(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L474
		.L556:
				nop
		.L474:
 1870             pos1 = 0
				movl	$0, POS1.6114@GOTOFF(%ebx)
 1871             fault rate = fault rate-1
				movl	FAULTRATE.6059@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, FAULTRATE.6059@GOTOFF(%ebx)
 1872             %return
				jmp	.L392
		.L539:
 1873
 1874 act(193):   gg = 0 %and ->a5 %unless sym = '=' %or sym = '<'; ! cdummy
 1875 act(181):   atom1 = amap(decl&15);                     ! dummy
 1876             ->more
 1877
 1878 act(182):   class = escdec;  g = glink(g)!escape;      ! an example of ! as an operator
 1879             decl = 0;  otype = 0;  ->esc;              ! decl
 1880
 1881 act(199):   ;                                          ! compile
 1882             s = 0
 1883             %while node # 0 %cycle
 1884                 z == ar(node)_link
 1885                 k = z;  z = s;  s = node;  node = k
 1886             %repeat
 1887             ss = s
 1888
 1889             code atom(28) %if quote # 0;               ! expend
 1890             compile;  ->more %if atom1&error = 0
 1891             ->fail1
 1892
 1893 act(184):   ->fail4 %unless type = integer
 1894             %if subatom < 0 %then lit = tag(-subatom)_format %else lit = lit pool(subatom)
 1895             ->fail4 %if lit # 0
 1896             ->more
 1897 act(185):   ;                                          ! apply parameters
 1898             s = 0
 1899             %while node # 0 %cycle
 1900                 z == ar(node)_link
 1901                 k = z;  z = s;  s = node;  node = k
 1902             %repeat
 1903             ss = s
 1904
 1905             atom1 = ar(s)_class;  atom2 = 0
 1906             atom1 = var %if atom1 = 97 %or atom1 = 98
 1907             arp == ar(nmax)
 1908             x = arp_x
 1909             pos1 = arp_pos
 1910             pos2 = 0
 1911             app = 0
 1912             format = tag(x)_format
 1913             flags = tag(x)_flags
 1914             type = flags>>4&7
 1915             protection = flags&prot
 1916             protection = 0 %if flags&aname # 0
 1917
 1918             %if flags&subname # 0 %and format # 0 %start
 1919                 ->fail1 %if format selected = 0
 1920             %finish
 1921
 1922             ->a6
 1923
 1924 act(187):   protection = prot;  ->more;                ! %SETPROT
 1925 act(186):   ->More %if protection&prot = 0
 1926             prot err = nmin
 1927             ->A7
 1928 act(191):   k = protection;                            ! %GUARD
 1929             code atom(0)
 1930             protection = k %if atom flags&aname = 0
 1931             ->more
 1932
 1933 act(192):   ->fail1 %if parsed machine code=0
 1934             ->more
 1935
 1936 act(189):   k = gapp;                                  ! %GAPP
 1937             delete names(1)
 1938             tmax = tbase;  tbase = gram (gmin);        ! restore tmax
 1939             local= tbase
 1940             gmin = gmin+1
 1941
 1942             x = ar(ar(nmax)_class)_sub
 1943             tag(x)_app = k;                            ! update app
 1944             ->more
 1945
 1946 act(190):   gmin = gmin-1;                             ! %LOCAL
 1947             abandon(2) %if gmin <= gmax
 1948             gram (gmin) = tbase;  tbase = tmax
 1949             local = tbase
 1950             ->more
 1951
 1952             ! errors
 1953
 1954 fail4:      k = error+10;            ->failed;         ! *size
 1955 fail3:      k = error+7;             ->failed;         ! *context
 1956 fail2:      k = error+5;  pos2 = 0;  ->failed;         ! *type
 1957 fail0:      k = error+3;             ->failed;         ! *too complex
				movl	$32771, -6728(%ebp)
				jmp	.L511
		.L548:
 1958 fail1:      k = atom1;    pos2 = 0
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				movl	%eax, -6728(%ebp)
				movl	$0, POS2.6115@GOTOFF(%ebx)
		.L476:
		.L511:
		.LBB426:
 1959 failed:     %if diag&32 # 0 %start
 1960                 printstring("Atom1 =");      write(atom1, 3)
				leal	-284(%ebp), %eax
				leal	.LC11@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-6684(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2332(%ebp), %eax
				leal	-6684(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE426:
		.LBB427:
		.LBB428:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-2332(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE428:
		.LBE427:
				movl	ATOM1.6051@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$3
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB429:
 1961                 printstring("  Atom2 =");    write(atom2, 3)
				leal	-284(%ebp), %eax
				leal	.LC12@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-6428(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2076(%ebp), %eax
				leal	-6428(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE429:
		.LBB430:
		.LBB431:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-2076(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE431:
		.LBE430:
				movl	ATOM2.6052@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$3
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB432:
 1962                 printstring("  subatom =");  write(subatom, 3); newline
				leal	-284(%ebp), %eax
				leal	.LC13@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-6172(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1820(%ebp), %eax
				leal	-6172(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE432:
		.LBB433:
		.LBB434:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1820(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE434:
		.LBE433:
				movl	SUBATOM.6053@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$3
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB435:
		.LBB436:
				call	_imp_newline@PLT
		.LBE436:
		.LBE435:
		.LBB437:
 1963                 printstring("Type =");       write(type, 1)
				leal	-284(%ebp), %eax
				leal	.LC14@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-5916(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1564(%ebp), %eax
				leal	-5916(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE437:
		.LBB438:
		.LBB439:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1564(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE439:
		.LBE438:
				movl	TYPE.6054@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB440:
 1964                 printstring("   Ptype =");   write(ptype, 1);   newline
				leal	-284(%ebp), %eax
				leal	.LC15@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-5660(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1308(%ebp), %eax
				leal	-5660(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE440:
		.LBB441:
		.LBB442:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1308(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE442:
		.LBE441:
				movl	PTYPE.6084@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB443:
		.LBB444:
				call	_imp_newline@PLT
		.LBE444:
		.LBE443:
		.LBB445:
 1965                 printstring("App =");        write(app, 1)
				leal	-284(%ebp), %eax
				leal	.LC16@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-5404(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1052(%ebp), %eax
				leal	-5404(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE445:
		.LBB446:
		.LBB447:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1052(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE447:
		.LBE446:
				movl	APP.6055@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB448:
 1966                 printstring("   Papp =");    write(papp, 1);    newline
				leal	-284(%ebp), %eax
				leal	.LC17@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-5148(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-5148(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE448:
		.LBB449:
		.LBB450:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-796(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE450:
		.LBE449:
				movl	PAPP.6085@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB451:
		.LBB452:
				call	_imp_newline@PLT
		.LBE452:
		.LBE451:
		.LBB453:
 1967                 printstring("Format =");     write(format, 1)
				leal	-284(%ebp), %eax
				leal	.LC18@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-4892(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-540(%ebp), %eax
				leal	-4892(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE453:
		.LBB454:
		.LBB455:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE455:
		.LBE454:
				movl	FORMAT.6056@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB456:
 1968                 printstring("   Pformat ="); write(pformat, 1); newline
				leal	-284(%ebp), %eax
				leal	.LC19@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-4636(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
				leal	-4636(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE456:
		.LBB457:
		.LBB458:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE458:
		.LBE457:
				movl	PFORMAT.6086@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB459:
		.LBB460:
				call	_imp_newline@PLT
		.L477:
		.L478:
		.LBE460:
		.LBE459:
 1969                 !%signal 13,15
 1970             %finish
 1971
 1972             quote = 0 %and readsym %while sym # nl %and sym # ';'
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L557
				movl	SYM.6068@GOTOFF(%ebx), %eax
				cmpl	$59, %eax
				je	.L558
				movl	$0, QUOTE.6070@GOTOFF(%ebx)
				leal	-6696(%ebp), %eax
				movl	%eax, %ecx
				call	READSYM.6595
				jmp	.L477
		.L480:
		.L557:
				nop
				jmp	.L512
		.L558:
				nop
		.L512:
 1973             %if k&error # 0 %start
 1974                 fault(k&255)
				movl	-6728(%ebp), %eax
				movzbl	%al, %eax
				subl	$12, %esp
				pushl	%eax
				movl	-6768(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
 1975             %finish %else %start
				nop
		.L482:
		.L483:
 1976                 %if prot err = nmin %then fault(14) %else fault(0)
 1977             %finish
 1978             gg = 0;  ss = 0;  symtype = 0
				movl	$0, GG.6089@GOTOFF(%ebx)
				movl	$0, SS.6098@GOTOFF(%ebx)
				movl	$0, SYMTYPE.6069@GOTOFF(%ebx)
 1979         %end;                                          ! of analyse
				cmpl	$179, -6708(%ebp)
				jle	.L484
				jmp	.L522
		.L540:
				jmp	.L392
		.L522:
				cmpl	$200, -6708(%ebp)
				jle	.L485
		.L484:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L486
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -6768(%ebp)
				jmp	.L487
		.L486:
				movl	$1979, -6768(%ebp)
		.L487:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L488
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-3356(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L489
		.L488:
		.LBB461:
				leal	-284(%ebp), %eax
				leal	.LC10@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-4380(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE461:
				leal	-3356(%ebp), %eax
				leal	-4380(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L489:
				pushl	-6716(%ebp)
				pushl	-6712(%ebp)
				pushl	-6708(%ebp)
				leal	.LC76@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-6708(%ebp)
				pushl	$3
				pushl	$6
				pushl	-6768(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-3356(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L485:
				movl	-6708(%ebp), %eax
				subl	$180, %eax
				movl	ACT.6557@GOTOFF(%ebx,%eax,4), %eax
				jmp	.L490
		.L491:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				jne	.L492
				jmp	.L525
		.L490:
				jmp	*%eax
		.L492:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -6768(%ebp)
				jmp	.L494
		.L525:
				movl	$1979, -6768(%ebp)
		.L494:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L495
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-3100(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L496
		.L495:
		.LBB462:
				leal	-284(%ebp), %eax
				leal	.LC10@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-4124(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE462:
				leal	-3100(%ebp), %eax
				leal	-4124(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L496:
				pushl	-6716(%ebp)
				pushl	-6712(%ebp)
				pushl	-6708(%ebp)
				leal	.LC77@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-6708(%ebp)
				pushl	$2
				pushl	$8
				pushl	-6768(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-3100(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L461:
				cmpl	$0, -6704(%ebp)
				js	.L497
				cmpl	$15, -6704(%ebp)
				jle	.L498
		.L497:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L499
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -6768(%ebp)
				jmp	.L500
		.L499:
				movl	$1979, -6768(%ebp)
		.L500:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L501
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-2844(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L502
		.L501:
		.LBB463:
				leal	-284(%ebp), %eax
				leal	.LC10@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-3868(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE463:
				leal	-2844(%ebp), %eax
				leal	-3868(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L502:
				pushl	-6700(%ebp)
				pushl	-6720(%ebp)
				pushl	-6704(%ebp)
				leal	.LC78@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-6704(%ebp)
				pushl	$3
				pushl	$6
				pushl	-6768(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-2844(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L498:
				movl	-6704(%ebp), %eax
				movl	PACTION.6562@GOTOFF(%ebx,%eax,4), %eax
				jmp	.L490
		.L503:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L504
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -6768(%ebp)
				jmp	.L505
		.L504:
				movl	$1979, -6768(%ebp)
		.L505:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L506
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-2588(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L507
		.L506:
		.LBB464:
				leal	-284(%ebp), %eax
				leal	.LC10@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-3612(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE464:
				leal	-2588(%ebp), %eax
				leal	-3612(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L507:
				pushl	-6700(%ebp)
				pushl	-6720(%ebp)
				pushl	-6704(%ebp)
				leal	.LC79@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-6704(%ebp)
				pushl	$2
				pushl	$8
				pushl	-6768(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-2588(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L392:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L509
				call	__stack_chk_fail_local
		.L509:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE206:
		GETSYM.6589:
		.LFB209:
 1980
 1981         %routine compile
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$5596, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%esi, -5584(%ebp)
				movl	%ecx, %ebx
				movl	%ebx, -5588(%ebp)
				movl	%ecx, -5580(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -5408(%ebp)
				movl	%ebx, -5412(%ebp)
 1982             %constinteger then = 4, else = 8, loop = 16
 1983
 1984             %switch c(0:actions), litop(1:12)
 1985
 1986             %constbyteintegerarray operator(1:14) = '[', ']', 'X', '/', '&', '!', '%', '+', '-', '*', 'Q', 'x', '.', 'v'
				movb	$91, -58(%ebp)
				movb	$93, -57(%ebp)
				movb	$88, -56(%ebp)
				movb	$47, -55(%ebp)
				movb	$38, -54(%ebp)
				movb	$33, -53(%ebp)
				movb	$37, -52(%ebp)
				movb	$43, -51(%ebp)
				movb	$45, -50(%ebp)
				movb	$42, -49(%ebp)
				movb	$81, -48(%ebp)
				movb	$120, -47(%ebp)
				movb	$46, -46(%ebp)
				movb	$118, -45(%ebp)
				leal	-5340(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-58(%ebp), %eax
				movl	%eax, -5340(%ebp)
				movl	$1, -5336(%ebp)
 1987             %constbyteintegerarray cc(0 : 7) = '#','=',')','<','(','>', 'k','t'
				movb	$35, -66(%ebp)
				movb	$61, -65(%ebp)
				movb	$41, -64(%ebp)
				movb	$60, -63(%ebp)
				movb	$40, -62(%ebp)
				movb	$62, -61(%ebp)
				movb	$107, -60(%ebp)
				movb	$116, -59(%ebp)
				leal	-5272(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-66(%ebp), %eax
				movl	%eax, -5272(%ebp)
				movl	$1, -5268(%ebp)
 1988             %constbyteintegerarray anyform(0:15) = 1,0,1,1,1,1,1,1,0,1,1,0,1,1,1,1
				movb	$1, -44(%ebp)
				movb	$0, -43(%ebp)
				movb	$1, -42(%ebp)
				movb	$1, -41(%ebp)
				movb	$1, -40(%ebp)
				movb	$1, -39(%ebp)
				movb	$1, -38(%ebp)
				movb	$1, -37(%ebp)
				movb	$0, -36(%ebp)
				movb	$1, -35(%ebp)
				movb	$1, -34(%ebp)
				movb	$0, -33(%ebp)
				movb	$1, -32(%ebp)
				movb	$1, -31(%ebp)
				movb	$1, -30(%ebp)
				movb	$1, -29(%ebp)
				leal	-5204(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-44(%ebp), %eax
				movl	%eax, -5204(%ebp)
				movl	$1, -5200(%ebp)
 1989
 1990             %constintegerarray decmap(0:15) = %c
				movl	$1, -5404(%ebp)
				movl	$2, -5400(%ebp)
				movl	$4107, -5396(%ebp)
				movl	$4109, -5392(%ebp)
				movl	$5132, -5388(%ebp)
				movl	$5134, -5384(%ebp)
				movl	$3, -5380(%ebp)
				movl	$4, -5376(%ebp)
				movl	$4103, -5372(%ebp)
				movl	$4104, -5368(%ebp)
				movl	$4105, -5364(%ebp)
				movl	$4106, -5360(%ebp)
				movl	$6, -5356(%ebp)
				movl	$0, -5352(%ebp)
				movl	$0, -5348(%ebp)
				movl	$0, -5344(%ebp)
				leal	-5136(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-5404(%ebp), %eax
				movl	%eax, -5136(%ebp)
				movl	$4, -5132(%ebp)
 1991             1,             2,
 1992             16_100B,       16_100D,       16_140C,      16_140E,
 1993             3,             4,
 1994             16_1007,       16_1008,       16_1009,      16_100A,
 1995             6,             0,             0,            0
 1996             %ownbyteintegerarray cnest(0:15)
				leal	-5068(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	CNEST.7188@GOTOFF(%esi), %eax
				movl	%eax, -5068(%ebp)
				movl	$1, -5064(%ebp)
 1997             %integer lmode, clab, dupid
 1998             %integer resln
 1999             %owninteger last def = 0
 2000             %owninteger lb, ub
 2001             %integer cp, ord
 2002             %integer next, link, j, k, n, done
 2003             %integer class
 2004             %integer lit2, defs, decs, cident
 2005             %integer pending;  %ownintegerarray pstack(1:40)
				leal	-5000(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	PSTACK.7211@GOTOFF(%esi), %eax
				movl	%eax, -5000(%ebp)
				movl	$4, -4996(%ebp)
 2006             %ownstring(8) name = ""
 2007             %owninteger count = 0
 2008
 2009             %routine def lab(%integer l)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$20, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -12(%ebp)
 2010                 op(':', l)
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	8(%ebp)
				pushl	$58
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
 2011                 access = 1
				movl	32(%ebx), %eax
				movl	$1, %edx
				movl	%edx, 24(%eax)
 2012             %end
				nop
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE218:
				.section	.rodata
				.align 4
		.LC80:
				.string	"Illegal cycle J = DICT[N - 1], 1, DICT[N + 1 - 1]"
				.align 4
		.LC81:
				.string	"->C(%d) out of bounds at %s line %d"
				.align 4
		.LC82:
				.string	"switch jump to undefined label C(%d): at %s line %d"
				.align 4
		.LC83:
				.string	"->LITOP(%d) out of bounds at %s line %d"
				.align 32
		.LC9:
				.byte	4
				.string	"ss ="
				.zero	250
		COMPILE.6299:
		.LFB217:
 2013
 2014             %routine get next
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$828, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -828(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
		.L1595:
 2015                 %record(arfm)%name p
 2016 gn:             %if next = 0 %start;                   ! end of phrase
				movl	28(%esi), %eax
				testl	%eax, %eax
				jne	.L1620
				nop
		.L1601:
		.L1609:
 2017                     class = 0 %and %return %if link = 0; ! end of statement
				movl	24(%esi), %eax
				testl	%eax, %eax
				jne	.L1621
				movl	$0, %eax
				movl	%eax, 20(%esi)
				jmp	.L1594
		.L1621:
				nop
		.L1599:
 2018                     p == ar(link)
				movl	24(%esi), %eax
				leal	-1(%eax), %edx
				movl	32(%esi), %eax
				movl	64(%eax), %eax
				sall	$5, %edx
				addl	%edx, %eax
				movl	%eax, -812(%ebp)
 2019                     next = p_link
				movl	-812(%ebp), %eax
				movl	8(%eax), %eax
				movl	%eax, 28(%esi)
 2020                     link = p_sub
				movl	-812(%ebp), %eax
				movl	4(%eax), %eax
				movl	%eax, 24(%esi)
				jmp	.L1609
		.L1597:
		.L1620:
 2021                 %finish
 2022                 %cycle
 2023                     p == ar(next)
				movl	28(%esi), %eax
				leal	-1(%eax), %edx
				movl	32(%esi), %eax
				movl	64(%eax), %eax
				sall	$5, %edx
				addl	%edx, %eax
				movl	%eax, -812(%ebp)
 2024                     x = p_sub
				movl	-812(%ebp), %eax
				movl	4(%eax), %eax
				movl	%eax, X.6050@GOTOFF(%ebx)
 2025                     class = p_class
				movl	-812(%ebp), %eax
				movl	(%eax), %eax
				movl	%eax, 20(%esi)
 2026                     %exit %if class < actions;         ! an atom
				movl	20(%esi), %eax
				cmpl	$179, %eax
				jle	.L1622
				nop
		.L1603:
				nop
		.L1604:
 2027                     %if x = 0 %start;                  ! null phrase
				movl	X.6050@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L1623
				nop
		.L1606:
 2028                         next = p_link;  ->gn
				movl	-812(%ebp), %eax
				movl	8(%eax), %eax
				movl	%eax, 28(%esi)
				jmp	.L1595
		.L1623:
 2029                     %finish
 2030                     %if p_link # 0 %start;             ! follow a phrase
				movl	-812(%ebp), %eax
				movl	8(%eax), %eax
				testl	%eax, %eax
				je	.L1624
				nop
		.L1608:
 2031                         p_sub = link;  link = next
				movl	24(%esi), %edx
				movl	-812(%ebp), %eax
				movl	%edx, 4(%eax)
				movl	28(%esi), %eax
				movl	%eax, 24(%esi)
				jmp	.L1608
		.L1624:
 2032                     %finish
 2033                     next = x
				movl	X.6050@GOTOFF(%ebx), %eax
				movl	%eax, 28(%esi)
 2034                 %repeat
				jmp	.L1609
		.L1622:
 2035                 next = p_link
				movl	-812(%ebp), %eax
				movl	8(%eax), %eax
				movl	%eax, 28(%esi)
				leal	NAME.7213@GOTOFF(%ebx), %eax
				movl	%eax, -808(%ebp)
		.LBB547:
		.LBB548:
				movl	-808(%ebp), %eax
		.LBE548:
		.LBE547:
 2036                 %if diag&2 # 0 %start
 2037                     spaces(8-length(name)) %unless length(name) = 0
				movzbl	(%eax), %eax
				testb	%al, %al
				je	.L1625
				leal	NAME.7213@GOTOFF(%ebx), %eax
				movl	%eax, -800(%ebp)
		.LBB549:
		.LBB550:
				movl	-800(%ebp), %eax
		.LBE550:
		.LBE549:
				movzbl	(%eax), %eax
				movzbl	%al, %eax
				movl	$8, %edx
				subl	%eax, %edx
				movl	%edx, %eax
				movl	%eax, -804(%ebp)
		.LBB551:
		.LBB552:
				subl	$12, %esp
				pushl	-804(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
				jmp	.L1612
		.L1625:
		.LBE552:
		.LBE551:
				nop
		.L1612:
		.LBB553:
 2038                     name = text(class)
				movl	20(%esi), %edx
				movl	32(%esi), %eax
				movl	64(%eax), %eax
				sall	$8, %edx
				addl	%edx, %eax
				leal	69760(%eax), %edx
				leal	-284(%ebp), %eax
				addl	$4, %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
		.LBE553:
				subl	$4, %esp
				pushl	$8
				pushl	%eax
				leal	NAME.7213@GOTOFF(%ebx), %eax
				pushl	%eax
				call	_imp_strncpy@PLT
				addl	$16, %esp
 2039                     write(x, 2)
				movl	X.6050@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$2
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB554:
		.LBB555:
				call	_imp_space@PLT
		.LBE555:
		.LBE554:
		.LBB556:
 2040                     space
 2041                     printstring(name)
				leal	-284(%ebp), %eax
				leal	NAME.7213@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %edx
				leal	-284(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE556:
		.LBB557:
		.LBB558:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE558:
		.LBE557:
		.LBB559:
		.LBB560:
				call	_imp_space@PLT
		.LBE560:
		.LBE559:
 2042                     space
 2043                     count = count-1
				movl	COUNT.7214@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, COUNT.7214@GOTOFF(%ebx)
 2044                     %if count <= 0 %start
				movl	COUNT.7214@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L1626
				nop
		.L1616:
 2045                         count = 5
				movl	$5, COUNT.7214@GOTOFF(%ebx)
		.LBB561:
		.LBB562:
 2046                         name = ""
				movb	$0, -796(%ebp)
				movl	$0, -795(%ebp)
				leal	-791(%ebp), %edx
				movl	$0, %eax
				movb	%al, (%edx)
				addl	$1, %edx
				movw	%ax, (%edx)
				addl	$2, %edx
				movl	$62, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-540(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE562:
				leal	-796(%ebp), %eax
				leal	-540(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
		.LBE561:
				subl	$4, %esp
				pushl	$8
				pushl	%eax
				leal	NAME.7213@GOTOFF(%ebx), %eax
				pushl	%eax
				call	_imp_strncpy@PLT
				addl	$16, %esp
		.LBB563:
		.LBB564:
				call	_imp_newline@PLT
		.LBE564:
		.LBE563:
 2047                         newline
 2048                     %finish
 2049                 %finish
 2050             %end
				jmp	.L1616
		.L1615:
		.L1626:
				nop
		.L1594:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1617
				call	__stack_chk_fail_local
		.L1617:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE219:
		SETSUBS.7242:
		.LFB220:
 2051
 2052             %routine set subs(%integer n)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$44, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%ecx, %ebx
				movl	%ecx, -44(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
 2053                 !update the app field in n array descriptors
 2054                 %integer p
 2055                 p = tmax
				movl	32(%ebx), %eax
				movl	52(%eax), %eax
				movl	%eax, -32(%ebp)
		.L1628:
 2056                 %while n > 0 %cycle
				cmpl	$0, 8(%ebp)
				jle	.L1634
				nop
		.L1630:
 2057                     !%signal 15,15 %if p < tbase
 2058                     tag(p)_app = dimension
				movl	DIMENSION.6117@GOTOFF(%esi), %ecx
				movl	32(%ebx), %eax
				movl	64(%eax), %edi
				movl	-32(%ebp), %edx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%edi, %eax
				addl	$49044, %eax
				movl	%ecx, (%eax)
 2059                     p = p-1;  n = n-1
				subl	$1, -32(%ebp)
				subl	$1, 8(%ebp)
 2060                 %repeat
				jmp	.L1628
		.L1634:
 2061             %end
				nop
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1632
				call	__stack_chk_fail_local
		.L1632:
				addl	$44, %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE220:
		SETBP.7248:
		.LFB221:
 2062
 2063             %routine set bp
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$16, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -12(%ebp)
 2064                 !define a constant bound pair from the last stacked constants
 2065                 pending = pending-2
				movl	16(%esi), %eax
				subl	$2, %eax
				movl	%eax, 16(%esi)
 2066                 lb = pstack(pending+1);  ub = pstack(pending+2)
				movl	16(%esi), %eax
				movl	PSTACK.7211@GOTOFF(%ebx,%eax,4), %eax
				movl	%eax, LB.7195@GOTOFF(%ebx)
				movl	16(%esi), %eax
				addl	$1, %eax
				movl	PSTACK.7211@GOTOFF(%ebx,%eax,4), %eax
				movl	%eax, UB.7196@GOTOFF(%ebx)
 2067                 %if ub-lb+1 < 0 %start
				movl	UB.7196@GOTOFF(%ebx), %edx
				movl	LB.7195@GOTOFF(%ebx), %eax
				subl	%eax, %edx
				movl	%edx, %eax
				addl	$1, %eax
				testl	%eax, %eax
				jns	.L1641
				nop
		.L1637:
 2068                     pos1 = 0;  next = link;  fault(11)
				movl	$0, POS1.6114@GOTOFF(%ebx)
				movl	24(%esi), %eax
				movl	%eax, 28(%esi)
				movl	32(%esi), %eax
				subl	$12, %esp
				pushl	$11
				movl	%eax, %ecx
				call	FAULT.6316
				addl	$16, %esp
 2069                     ub = lb
				movl	LB.7195@GOTOFF(%ebx), %eax
				movl	%eax, UB.7196@GOTOFF(%ebx)
				jmp	.L1637
		.L1641:
 2070                 %finish
 2071                 set const(lb);  set const(ub)
				movl	LB.7195@GOTOFF(%ebx), %edx
				movl	32(%esi), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	SETCONST.6183
				addl	$16, %esp
				movl	UB.7196@GOTOFF(%ebx), %edx
				movl	32(%esi), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	SETCONST.6183
				addl	$16, %esp
 2072                 add char( 'b' ) %unless class = 146
				movl	20(%esi), %eax
				cmpl	$146, %eax
				je	.L1642
				movl	32(%esi), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$98
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				nop
		.L1639:
 2073             %end
				jmp	.L1639
		.L1642:
				nop
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE221:
		COMPILEEND.7253:
		.LFB222:
 2074
 2075             %routine compile end(%integer type)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$32, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
 2076                 ! type = 0:eof, 1:eop, 2:end
 2077                 %if access # 0 %start
				movl	32(%ebx), %eax
				movl	24(%eax), %eax
				testl	%eax, %eax
				je	.L1669
				nop
				jmp	.L1651
		.L1670:
 2078                     open = 0
				movl	32(%ebx), %eax
				movl	$0, %edx
				movl	%edx, 20(%eax)
 2079                     fault(19) %if block form > proc;   ! can reach end
				movl	32(%ebx), %eax
				movl	36(%eax), %eax
				cmpl	$7, %eax
				jle	.L1670
				movl	32(%ebx), %eax
				subl	$12, %esp
				pushl	$19
				movl	%eax, %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L1651
		.L1645:
		.L1647:
		.L1669:
				nop
		.L1648:
		.L1651:
 2080                 %finish
 2081
 2082                 %while dict(dmin) >= 0 %cycle;         ! finishes & repeats
				movl	32(%ebx), %eax
				movl	40(%eax), %eax
				leal	-1(%eax), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %eax
				testl	%eax, %eax
				js	.L1671
				nop
		.L1650:
 2083                     fault(17+dict(dmin)&1)
				movl	32(%ebx), %eax
				movl	40(%eax), %eax
				leal	-1(%eax), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %eax
				andl	$1, %eax
				leal	17(%eax), %edx
				movl	32(%ebx), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	FAULT.6316
				addl	$16, %esp
 2084                     dmin = dmin+1
				movl	32(%ebx), %eax
				movl	40(%eax), %edx
				movl	32(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 40(%eax)
 2085                 %repeat
				jmp	.L1651
		.L1671:
 2086                 !{delete names(0)}
 2087                 add char( ';' )
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$59
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
 2088                 add char( ';' ) %if type = 1;          ! endofprogram
				cmpl	$1, 8(%ebp)
				jne	.L1672
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$59
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1653
		.L1672:
				nop
		.L1653:
 2089
 2090                 bflags = bflags!open;                  ! show if it returns
				movl	32(%ebx), %eax
				movl	16(%eax), %eax
				movl	(%eax), %edx
				movl	32(%ebx), %eax
				movl	20(%eax), %eax
				orl	%eax, %edx
				movl	32(%ebx), %eax
				movl	16(%eax), %eax
				movl	%edx, (%eax)
 2091
 2092                 def lab(0) %if block tag # 0 %and level # 1; ! for jump around
				movl	32(%ebx), %eax
				movl	12(%eax), %eax
				testl	%eax, %eax
				je	.L1673
				movl	32(%ebx), %eax
				movl	48(%eax), %eax
				cmpl	$1, %eax
				je	.L1674
				subl	$12, %esp
				pushl	$0
				movl	%ebx, %ecx
				call	DEFLAB.7216
				addl	$16, %esp
				jmp	.L1655
		.L1673:
				nop
				jmp	.L1655
		.L1674:
				nop
		.L1655:
 2093                 %if type # 2 %start;                   ! eop, eof
				cmpl	$2, 8(%ebp)
				je	.L1675
				nop
		.L1658:
 2094                     fault(16) %if level # type;        ! end missing
				movl	32(%ebx), %eax
				movl	48(%eax), %eax
				cmpl	8(%ebp), %eax
				je	.L1676
				movl	32(%ebx), %eax
				subl	$12, %esp
				pushl	$16
				movl	%eax, %ecx
				call	FAULT.6316
				addl	$16, %esp
				nop
		.L1660:
 2095                 %finish %else %start
				jmp	.L1663
		.L1676:
				jmp	.L1663
		.L1675:
 2096                     %if level = 0 %start
				movl	32(%ebx), %eax
				movl	48(%eax), %eax
				testl	%eax, %eax
				jne	.L1677
				nop
		.L1663:
 2097                         fault(15);                     ! spurious end
				movl	32(%ebx), %eax
				subl	$12, %esp
				pushl	$15
				movl	%eax, %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L1663
		.L1661:
		.L1677:
 2098                     %finish
 2099                 %finish
 2100
 2101                 end mark = 11;               !******Mouses specific******
				movl	$11, ENDMARK.6071@GOTOFF(%esi)
 2102             %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1665
				call	__stack_chk_fail_local
		.L1665:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE222:
		DEF.7266:
		.LFB223:
 2103
 2104             %routine def(%integer p)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$48, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%ecx, %ebx
				movl	%ecx, -44(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
 2105                 !dump a descriptor
 2106                 %integer t, f, type
 2107                 %record(tagfm)%name v
 2108                 flush buffer( 1 );                     ! flush if bp > 0
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$1
				movl	%eax, %ecx
				call	FLUSHBUFFER.6163
				addl	$16, %esp
 2109                 defs = defs+1
				movl	12(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 12(%ebx)
 2110                 v == tag(p)
				movl	32(%ebx), %eax
				movl	64(%eax), %ecx
				movl	8(%ebp), %edx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	$49040, %eax
				addl	%ecx, %eax
				addl	$4, %eax
				movl	%eax, -20(%ebp)
 2111                 t = 0
				movl	$0, -28(%ebp)
 2112                 %unless v_index < 0 %start;            ! no index for subnames
				movl	-20(%ebp), %eax
				movl	12(%eax), %eax
				testl	%eax, %eax
				js	.L1706
				nop
		.L1680:
 2113                     id = id+1 %and v_index = id %if v_index = 0
				movl	-20(%ebp), %eax
				movl	12(%eax), %eax
				testl	%eax, %eax
				jne	.L1707
				movl	32(%ebx), %eax
				movl	44(%eax), %edx
				movl	32(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 44(%eax)
				movl	32(%ebx), %eax
				movl	44(%eax), %edx
				movl	-20(%ebp), %eax
				movl	%edx, 12(%eax)
				jmp	.L1682
		.L1707:
				nop
		.L1682:
 2114                     last def = v_index
				movl	-20(%ebp), %eax
				movl	12(%eax), %eax
				movl	%eax, LASTDEF.7194@GOTOFF(%esi)
 2115                     t = last def
				movl	LASTDEF.7194@GOTOFF(%esi), %eax
				movl	%eax, -28(%ebp)
				jmp	.L1680
		.L1706:
 2116                 %finish
 2117                 op('$', t)
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	-28(%ebp)
				pushl	$36
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
 2118                 print ident(p, 1);                     ! output the name
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	$1
				pushl	8(%ebp)
				movl	%eax, %ecx
				call	PRINTIDENT.6199
				addl	$16, %esp
 2119                 t = v_flags
				movl	-20(%ebp), %eax
				movl	8(%eax), %eax
				movl	%eax, -28(%ebp)
 2120                 type = t
				movl	-28(%ebp), %eax
				movl	%eax, -16(%ebp)
 2121                 type = type&(\(7<<4)) %if type&(7<<4) >= 6<<4;!routine & pred
				andl	$-113, -16(%ebp)
		.L1683:
 2122                 op(',', type&2_1111111);               ! type & form
				movl	-16(%ebp), %eax
				andl	$127, %eax
				movl	%eax, %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$44
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
 2123                 f = v_format
				movl	-20(%ebp), %eax
				movl	4(%eax), %eax
				movl	%eax, -24(%ebp)
 2124                 f = tag(f)_index %if t&16_70 = record<<4
				movl	-28(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1708
				movl	32(%ebx), %eax
				movl	64(%eax), %ecx
				movl	-24(%ebp), %edx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ecx, %eax
				addl	$49056, %eax
				movl	(%eax), %eax
				movl	%eax, -24(%ebp)
				jmp	.L1685
		.L1708:
				nop
		.L1685:
 2125                 f = v_index %if f < 0
				cmpl	$0, -24(%ebp)
				jns	.L1709
				movl	-20(%ebp), %eax
				movl	12(%eax), %eax
				movl	%eax, -24(%ebp)
				jmp	.L1687
		.L1709:
				nop
		.L1687:
 2126                 op(',', f);                            ! format
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	-24(%ebp)
				pushl	$44
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
 2127                 f = otype+t>>4&2_1111000
				movl	-28(%ebp), %eax
				shrl	$4, %eax
				andl	$120, %eax
				movl	%eax, %edx
				movl	OTYPE.6080@GOTOFF(%esi), %eax
				addl	%edx, %eax
				movl	%eax, -24(%ebp)
 2128                 f = f!8 %if class = 125;               ! add spec from %DUP
				movl	20(%ebx), %eax
				cmpl	$125, %eax
				jne	.L1710
				orl	$8, -24(%ebp)
				jmp	.L1689
		.L1710:
				nop
		.L1689:
 2129                 dim = v_app;                           ! dimension
				movl	-20(%ebp), %eax
				movl	(%eax), %eax
				movl	%eax, DIM.6075@GOTOFF(%esi)
 2130                 dim = 0 %unless 0 < dim %and dim <= dim limit
				movl	DIM.6075@GOTOFF(%esi), %eax
				testl	%eax, %eax
				jle	.L1711
				movl	DIM.6075@GOTOFF(%esi), %eax
				cmpl	$6, %eax
				jle	.L1712
				jmp	.L1691
		.L1711:
				nop
		.L1691:
				movl	$0, DIM.6075@GOTOFF(%esi)
				jmp	.L1692
		.L1712:
				nop
		.L1692:
 2131                 op(',', f+dim<<8);                     ! otype & spec & prot
				movl	DIM.6075@GOTOFF(%esi), %eax
				sall	$8, %eax
				movl	%eax, %edx
				movl	-24(%ebp), %eax
				addl	%eax, %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$44
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
 2132                 defs = 0 %if t&parameters = 0
				movl	-28(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1713
				movl	$0, %eax
				movl	%eax, 12(%ebx)
				jmp	.L1694
		.L1713:
				nop
		.L1694:
 2133                 f = t&15
				movl	-28(%ebp), %eax
				andl	$15, %eax
				movl	%eax, -24(%ebp)
 2134                 %if v_flags&spec # 0 %start
 2135                     v_flags = v_flags&(\spec) %unless 3 <= f %and f <= 10
				cmpl	$2, -24(%ebp)
				jle	.L1714
				cmpl	$10, -24(%ebp)
				jle	.L1715
				jmp	.L1696
		.L1714:
				nop
		.L1696:
				movl	-20(%ebp), %eax
				movl	8(%eax), %eax
				andb	$127, %al
				movl	%eax, %edx
				movl	-20(%ebp), %eax
				movl	%edx, 8(%eax)
				jmp	.L1697
		.L1715:
				nop
		.L1697:
 2136                     ocount = -1;                       ! external specs have no constants
				movl	$-1, OCOUNT.6107@GOTOFF(%esi)
		.L1698:
 2137                 %finish
 2138                 dimension = 0
				movl	$0, DIMENSION.6117@GOTOFF(%esi)
 2139                 %if otype = 2 %and (f=2 %or f=12 %or f=14) %start
				movl	OTYPE.6080@GOTOFF(%esi), %eax
				cmpl	$2, %eax
				jne	.L1716
				cmpl	$2, -24(%ebp)
				je	.L1717
				cmpl	$12, -24(%ebp)
				je	.L1718
				cmpl	$14, -24(%ebp)
				jne	.L1719
				jmp	.L1702
		.L1717:
				nop
				jmp	.L1702
		.L1718:
				nop
		.L1702:
				nop
				jmp	.L1700
		.L1719:
				nop
		.L1700:
 2140                     v_flags = v_flags-1;               ! convert to simple
				movl	-20(%ebp), %eax
				movl	8(%eax), %eax
				leal	-1(%eax), %edx
				movl	-20(%ebp), %eax
				movl	%edx, 8(%eax)
 2141                 %finish
 2142             %end
				jmp	.L1700
		.L1716:
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1705
				call	__stack_chk_fail_local
		.L1705:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE223:
		DEFSLAB.7287:
		.LFB224:
 2143
 2144             %routine def s lab(%integer n)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$48, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%ecx, %ebx
				movl	%ecx, -44(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
 2145                 ! define a switch label, x defines the switch tag
 2146                 %integer p, l, b, w, bit
 2147                 p = tag(x)_format;                     ! pointer to table
				movl	X.6050@GOTOFF(%esi), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ecx, %eax
				addl	$49048, %eax
				movl	(%eax), %eax
				movl	%eax, -32(%ebp)
 2148                 l = dict(p);                           ! lower bound
				movl	-32(%ebp), %eax
				leal	-1(%eax), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -28(%ebp)
 2149                 %if l <= n %and n <= dict(p+1) %start
				movl	-28(%ebp), %eax
				cmpl	8(%ebp), %eax
				jg	.L1735
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				movl	-32(%ebp), %edx
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %eax
				cmpl	%eax, 8(%ebp)
				jg	.L1736
				nop
				jmp	.L1722
		.L1736:
				nop
		.L1722:
 2150                     b = n-l
				movl	8(%ebp), %eax
				subl	-28(%ebp), %eax
				movl	%eax, -24(%ebp)
 2151                     w = b>>4+p
				movl	-24(%ebp), %eax
				shrl	$4, %eax
				movl	%eax, %edx
				movl	-32(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, -20(%ebp)
 2152                     bit = 1<<(b&15)
				movl	-24(%ebp), %eax
				andl	$15, %eax
				movl	$1, %edx
				movl	%eax, %ecx
				sall	%cl, %edx
				movl	%edx, %eax
				movl	%eax, -16(%ebp)
 2153                     %if dict(w+2)&bit # 0 %start;      ! already set
				movl	-20(%ebp), %eax
				leal	1(%eax), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %edx
				cmpl	$0, -16(%ebp)
				sete	%al
				movzbl	%al, %eax
				andl	%edx, %eax
				testl	%eax, %eax
				jne	.L1737
				nop
		.L1725:
 2154                         fault(4) %if pending # 0
				movl	16(%ebx), %eax
				testl	%eax, %eax
				je	.L1738
				movl	32(%ebx), %eax
				subl	$12, %esp
				pushl	$4
				movl	%eax, %ecx
				call	FAULT.6316
				addl	$16, %esp
				nop
		.L1727:
 2155                         %return
				jmp	.L1720
		.L1738:
				jmp	.L1720
		.L1737:
 2156                     %finish
 2157                     dict(w+2) = dict(w+2)!bit %if pending # 0
				movl	16(%ebx), %eax
				testl	%eax, %eax
				je	.L1739
				movl	-20(%ebp), %eax
				leal	1(%eax), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %eax
				movl	-20(%ebp), %edx
				leal	1(%edx), %ecx
				orl	-16(%ebp), %eax
				movl	%eax, %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				addl	$6260, %ecx
				movl	%edx, 4(%eax,%ecx,4)
				jmp	.L1730
		.L1739:
				nop
		.L1730:
 2158                     set const(n)
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	8(%ebp)
				movl	%eax, %ecx
				call	SETCONST.6183
				addl	$16, %esp
 2159                     op('_', tag(x)_index)
				movl	X.6050@GOTOFF(%esi), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ecx, %eax
				addl	$49056, %eax
				movl	(%eax), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$95
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
 2160                 %finish %else %start
				jmp	.L1731
		.L1735:
 2161                     fault(12)
				movl	32(%ebx), %eax
				subl	$12, %esp
				pushl	$12
				movl	%eax, %ecx
				call	FAULT.6316
				addl	$16, %esp
		.L1731:
 2162                 %finish
 2163                 access = 1
				movl	32(%ebx), %eax
				movl	$1, %edx
				movl	%edx, 24(%eax)
 2164             %end
				nop
		.L1720:
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1732
				call	__stack_chk_fail_local
		.L1732:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE224:
		CALL.7300:
		.LFB225:
 2165
 2166             %routine call
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %ecx
				movl	%ecx, -12(%ebp)
				xorl	%ecx, %ecx
 2167                 %record(tagfm)%name T
 2168                 t == tag(x)
				movl	X.6050@GOTOFF(%eax), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	$49040, %eax
				addl	%ecx, %eax
				addl	$4, %eax
				movl	%eax, -16(%ebp)
 2169                 op('@', t_index)
				movl	-16(%ebp), %eax
				movl	12(%eax), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$64
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
 2170                 access = 0 %if t_flags&closed # 0;     ! never comes back
				movl	32(%ebx), %eax
				movl	$0, %edx
				movl	%edx, 24(%eax)
		.L1741:
 2171                 add char( 'E' ) %if t_app = 0;         ! no parameters
				movl	-16(%ebp), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				jne	.L1746
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$69
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				nop
		.L1743:
 2172             %end
				jmp	.L1743
		.L1746:
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1745
				call	__stack_chk_fail_local
		.L1745:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE225:
		POPDEF.7306:
		.LFB226:
 2173
 2174             %routine pop def
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$20, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -12(%ebp)
 2175                 set const(pstack(pending));  pending = pending-1
				movl	16(%ebx), %edx
				subl	$1, %edx
				movl	PSTACK.7211@GOTOFF(%eax,%edx,4), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	SETCONST.6183
				addl	$16, %esp
				movl	16(%ebx), %eax
				subl	$1, %eax
				movl	%eax, 16(%ebx)
 2176             %end
				nop
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE226:
		POPLIT.7309:
		.LFB227:
 2177
 2178             %routine pop lit
				pushl	%ebp
				movl	%esp, %ebp
				subl	$4, %esp
				call	__x86.get_pc_thunk.dx
				addl	$_GLOBAL_OFFSET_TABLE_, %edx
				movl	%ecx, %eax
				movl	%ecx, -4(%ebp)
 2179                 %if pending = 0 %then lit = 0 %else %start
				movl	16(%eax), %ecx
				testl	%ecx, %ecx
				jne	.L1755
				movl	$0, LIT.6127@GOTOFF(%edx)
				jmp	.L1752
		.L1755:
				nop
		.L1751:
 2180                     lit = pstack(pending);  pending = pending-1
				movl	16(%eax), %ecx
				subl	$1, %ecx
				movl	PSTACK.7211@GOTOFF(%edx,%ecx,4), %ecx
				movl	%ecx, LIT.6127@GOTOFF(%edx)
				movl	16(%eax), %edx
				subl	$1, %edx
				movl	%edx, 16(%eax)
		.L1752:
 2181                 %finish
 2182             %end
				nop
				leave
				ret
		.LFE227:
		PUSH.7314:
		.LFB228:
 2183
 2184             !conditions & jumps
 2185             %routine push(%integer x)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$4, %esp
				call	__x86.get_pc_thunk.dx
				addl	$_GLOBAL_OFFSET_TABLE_, %edx
				movl	%ecx, %eax
				movl	%ecx, -8(%ebp)
 2186                 %if cnest(cp)&2 # x %start
				movl	8(%eax), %ecx
				movzbl	CNEST.7188@GOTOFF(%edx,%ecx), %ecx
				movzbl	%cl, %ebx
				cmpl	$2, 8(%ebp)
				sete	%cl
				movzbl	%cl, %ecx
				andl	%ebx, %ecx
				testl	%ecx, %ecx
				jne	.L1762
				nop
		.L1761:
 2187                     cnest(cp) = cnest(cp)!1;  x = x+4
				movl	8(%eax), %ecx
				movzbl	CNEST.7188@GOTOFF(%edx,%ecx), %ecx
				movl	%ecx, %ebx
				orl	$1, %ebx
				movl	8(%eax), %ecx
				movb	%bl, CNEST.7188@GOTOFF(%edx,%ecx)
				addl	$4, 8(%ebp)
				jmp	.L1761
		.L1758:
		.L1762:
 2188                 %finish
 2189                 clab = clab+1 %if cnest(cp)&1 # 0
				movl	4(%eax), %ecx
				addl	$1, %ecx
				movl	%ecx, 4(%eax)
		.L1759:
 2190                 cnest(cp+1) = x;  cp = cp+1
				movl	8(%eax), %ecx
				addl	$1, %ecx
				movl	8(%ebp), %ebx
				movb	%bl, CNEST.7188@GOTOFF(%edx,%ecx)
				movl	8(%eax), %edx
				addl	$1, %edx
				movl	%edx, 8(%eax)
 2191             %end
				nop
				addl	$4, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE228:
		POPLABEL.7319:
		.LFB229:
 2192
 2193             %routine pop label(%integer mode)
				pushl	%ebp
				movl	%esp, %ebp
				subl	$40, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %eax
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %ecx
				movl	%ecx, -12(%ebp)
				xorl	%ecx, %ecx
 2194                 lmode = dict(dmin)
				movl	32(%eax), %edx
				movl	40(%edx), %edx
				leal	-1(%edx), %ecx
				movl	32(%eax), %edx
				movl	64(%edx), %edx
				addl	$6260, %ecx
				movl	4(%edx,%ecx,4), %edx
				movl	%edx, (%eax)
 2195                 %if lmode < 0 %or lmode&1 # mode %start
				movl	(%eax), %edx
				testl	%edx, %edx
				js	.L1771
				cmpl	$1, 8(%ebp)
				sete	%dl
				movzbl	%dl, %edx
				movl	(%eax), %ecx
				andl	%ecx, %edx
				testl	%edx, %edx
				jne	.L1772
				jmp	.L1765
		.L1771:
				nop
		.L1765:
				nop
		.L1766:
 2196                     fault(mode+8)
				movl	8(%ebp), %edx
				addl	$8, %edx
				movl	32(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	FAULT.6316
				addl	$16, %esp
 2197                 %finish %else %start
				jmp	.L1767
		.L1772:
 2198                     dmin = dmin+1;  label = label-3
				movl	32(%eax), %edx
				movl	40(%edx), %ecx
				movl	32(%eax), %edx
				addl	$1, %ecx
				movl	%ecx, 40(%edx)
				movl	32(%eax), %edx
				movl	8(%edx), %edx
				movl	32(%eax), %eax
				subl	$3, %edx
				movl	%edx, 8(%eax)
		.L1767:
 2199                 %finish
 2200             %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1769
				call	__stack_chk_fail_local
		.L1769:
				leave
				ret
		.LFE229:
				.data
				.align 32
		CHAR.6123:
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.align 32
		PHRASE.6154:
				.align 32
		GRAM.6156:
				.align 32
		GLINK.6158:
				.comm	X.6050,4,4
				.comm	FAULTY.6058,4,4
				.comm	STATS.6066,4,4
				.align 4
		GMAX.6149:
				.long	719
				.align 4
		GMIN.6142:
				.long	1720
				.comm	BP.6141,4,4
				.comm	DIAG.6132,4,4
				.comm	CONTROL.6131,4,4
				.align 4
		LIST.6130:
				.long	1
				.comm	BLOCKX.6129,4,4
				.comm	LP.6128,4,4
				.comm	LIT.6127,4,4
				.comm	FORMATLIST.6121,4,4
				.comm	SEARCHBASE.6120,4,4
				.comm	FMBASE.6119,4,4
				.comm	LOCAL.6118,4,4
				.comm	DIMENSION.6117,4,4
				.comm	POS.6116,4,4
				.comm	POS2.6115,4,4
				.comm	POS1.6114,4,4
				.align 4
		DP.6113:
				.long	1
				.comm	DUBIOUS.6112,4,4
				.comm	FORWARN.6111,4,4
				.comm	ORDER.6110,4,4
				.comm	COPY.6109,4,4
				.comm	LIMIT.6108,4,4
				.align 4
		OCOUNT.6107:
				.long	-1
				.comm	SPECMODE.6106,4,4
				.comm	SSTYPE.6105,4,4
				.comm	PROGMODE.6104,4,4
				.align 4
		PERM.6103:
				.long	1
				.comm	INCLUDE.6102,4,4
				.comm	INCLUDELEVEL.6101,4,4
				.comm	INCLUDELIST.6100,4,4
				.comm	SS.6098,4,4
				.align 4
		TMIN.6097:
				.long	800
				.align 4
		DMAX.6096:
				.long	1
				.comm	RBASE.6095,4,4
				.comm	NMAX.6094,4,4
				.comm	NMIN.6093,4,4
				.align 4
		THIS.6092:
				.long	-1
				.comm	FDEF.6091,4,4
				.comm	MAPGG.6090,4,4
				.comm	GG.6089,4,4
				.comm	G.6088,4,4
				.comm	FORCE.6087,4,4
				.comm	PFORMAT.6086,4,4
				.comm	PAPP.6085,4,4
				.comm	PTYPE.6084,4,4
				.comm	GENTYPE.6083,4,4
				.comm	LAST1.6082,4,4
				.align 4
		REALSLN.6081:
				.long	1
				.comm	OTYPE.6080,4,4
				.comm	ATOMFLAGS.6079,4,4
				.comm	PROTECTION.6078,4,4
				.comm	ESCAPECLASS.6077,4,4
				.comm	SPECGIVEN.6076,4,4
				.comm	DIM.6075,4,4
				.comm	DECL.6074,4,4
				.align 4
		CSYM.6073:
				.long	32
				.align 4
		CONT.6072:
				.long	32
				.comm	ENDMARK.6071,4,4
				.comm	QUOTE.6070,4,4
				.comm	SYMTYPE.6069,4,4
				.align 4
		SYM.6068:
				.long	10
				.comm	MONPOS.6067,4,4
				.comm	COLUMN.6065,4,4
				.comm	ERRORSYM.6064,4,4
				.comm	ERRORMARGIN.6063,4,4
				.comm	MARGIN.6062,4,4
				.comm	TEXTLINE.6061,4,4
				.comm	LINES.6060,4,4
				.comm	FAULTRATE.6059,4,4
				.comm	FORMAT.6056,4,4
				.comm	APP.6055,4,4
				.comm	TYPE.6054,4,4
				.comm	SUBATOM.6053,4,4
				.comm	ATOM2.6052,4,4
				.comm	ATOM1.6051,4,4
				.comm	CLASS.6049,4,4
				.align 4
		SPARENAMES.6022:
				.long	2047
				.section	.rodata
				.align 32
		VERSION.6021:
				.byte	3
				.string	"8.4"
				.zero	251
				.section	.data.rel.local,"aw",@progbits
				.align 32
		REASON.6218:
				.long	.L104
				.long	.L104
				.long	.L104
				.long	.L104
				.long	.L104
				.long	.L104
				.long	.L104
				.long	.L104
				.long	.L104
				.long	.L104
				.section	.rodata
				.align 4
		__PRETTY_FUNCTION__.5621:
				.string	"_imp_SELECTINPUT"
				.section	.data.rel.local
				.align 32
		ACT.6557:
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.long	.L491
				.align 32
		PACTION.6562:
				.long	.L503
				.long	.L503
				.long	.L503
				.long	.L503
				.long	.L503
				.long	.L503
				.long	.L503
				.long	.L503
				.long	.L503
				.long	.L503
				.long	.L503
				.long	.L503
				.long	.L503
				.long	.L503
				.long	.L503
				.long	.L503
				.comm	KEY.6550,4,4
				.comm	LA1.6575,4,4
				.comm	LA2.6576,4,4
				.comm	LSA.6577,4,4
				.comm	LT.6578,4,4
				.comm	LAST.6597,4,4
				.comm	CNEST.7188,16,4
				.comm	PSTACK.7211,160,32
				.comm	COUNT.7214,4,4
				.comm	NAME.7213,256,32
				.comm	UB.7196,4,4
				.comm	LB.7195,4,4
				.align 32
		C.7033:
				.long	.L1081
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1137
				.long	.L1125
				.long	.L1135
				.long	.L1136
				.long	.L1131
				.long	.L1132
				.long	.L1150
				.long	.L1128
				.long	.L1129
				.long	.L1144
				.long	.L1143
				.long	.L1152
				.long	.L1151
				.long	.L1458
				.long	.L1156
				.long	.L1175
				.long	.L1176
				.long	.L1177
				.long	.L1169
				.long	.L1172
				.long	.L1173
				.long	.L1174
				.long	.L1234
				.long	.L1232
				.long	.L1250
				.long	.L1252
				.long	.L1251
				.long	.L1458
				.long	.L1447
				.long	.L1178
				.long	.L1179
				.long	.L1180
				.long	.L1182
				.long	.L1183
				.long	.L1458
				.long	.L1188
				.long	.L1223
				.long	.L1208
				.long	.L1249
				.long	.L1458
				.long	.L1201
				.long	.L1195
				.long	.L1191
				.long	.L1193
				.long	.L1202
				.long	.L1189
				.long	.L1458
				.long	.L1253
				.long	.L1264
				.long	.L1260
				.long	.L1259
				.long	.L1243
				.long	.L1244
				.long	.L1245
				.long	.L1248
				.long	.L1246
				.long	.L1271
				.long	.L1272
				.long	.L1265
				.long	.L1273
				.long	.L1450
				.long	.L1124
				.long	.L1247
				.long	.L1316
				.long	.L1334
				.long	.L1335
				.long	.L1346
				.long	.L1458
				.long	.L1458
				.long	.L1328
				.long	.L1325
				.long	.L1326
				.long	.L1327
				.long	.L1330
				.long	.L1331
				.long	.L1332
				.long	.L1333
				.long	.L1221
				.long	.L1378
				.long	.L1336
				.long	.L1337
				.long	.L1338
				.long	.L1339
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1200
				.long	.L1343
				.long	.L1449
				.long	.L1458
				.long	.L1323
				.long	.L1313
				.long	.L1162
				.long	.L1161
				.long	.L1308
				.long	.L1458
				.long	.L1309
				.long	.L1317
				.long	.L1356
				.long	.L1157
				.long	.L1379
				.long	.L1445
				.long	.L1446
				.long	.L1354
				.long	.L1181
				.long	.L1368
				.long	.L1401
				.long	.L1355
				.long	.L1299
				.long	.L1364
				.long	.L1402
				.long	.L1297
				.long	.L1298
				.long	.L1168
				.long	.L1158
				.long	.L1222
				.long	.L1458
				.long	.L1385
				.long	.L1130
				.long	.L1369
				.long	.L1294
				.long	.L1403
				.long	.L1407
				.long	.L1410
				.long	.L1411
				.long	.L1412
				.long	.L1413
				.long	.L1414
				.long	.L1362
				.long	.L1192
				.long	.L1448
				.long	.L1329
				.long	.L1187
				.long	.L1344
				.long	.L1167
				.long	.L1458
				.long	.L1444
				.long	.L1164
				.long	.L1165
				.long	.L1166
				.long	.L1163
				.long	.L1155
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.long	.L1458
				.align 32
		LITOP.7167:
				.long	.L1416
				.long	.L1418
				.long	.L1419
				.long	.L1426
				.long	.L1430
				.long	.L1431
				.long	.L1432
				.long	.L1433
				.long	.L1434
				.long	.L1435
				.long	.L1436
				.long	.L1437
				.comm	LASTDEF.7194,4,4
				.align 32
		FM.6321:
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.long	.L192
				.section	.rodata
				.align 4
		__PRETTY_FUNCTION__.5625:
				.string	"_imp_SELECTOUTPUT"
				.section	.text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat
				.globl	__x86.get_pc_thunk.ax
				.hidden	__x86.get_pc_thunk.ax
		__x86.get_pc_thunk.ax:
		.LFB230:
				movl	(%esp), %eax
				ret
		.LFE230:
				.section	.text.__x86.get_pc_thunk.dx,"axG",@progbits,__x86.get_pc_thunk.dx,comdat
				.globl	__x86.get_pc_thunk.dx
				.hidden	__x86.get_pc_thunk.dx
		__x86.get_pc_thunk.dx:
		.LFB231:
				movl	(%esp), %edx
				ret
		.LFE231:
				.section	.text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat
				.globl	__x86.get_pc_thunk.bx
				.hidden	__x86.get_pc_thunk.bx
		__x86.get_pc_thunk.bx:
		.LFB232:
				movl	(%esp), %ebx
				ret
		.LFE232:
				.section	.text.__x86.get_pc_thunk.si,"axG",@progbits,__x86.get_pc_thunk.si,comdat
				.globl	__x86.get_pc_thunk.si
				.hidden	__x86.get_pc_thunk.si
		__x86.get_pc_thunk.si:
		.LFB233:
				movl	(%esp), %esi
				ret
		.LFE233:
		.Letext0:
 2201
 2202             %if sstype < 0 %start;                     ! executable statement
				movl	SSTYPE.6105@GOTOFF(%esi), %eax
				testl	%eax, %eax
				jns	.L1504
				nop
				jmp	.L1471
		.L1506:
 2203                 %if level = 0 %start;                  ! outermost level
				movl	-5588(%ebp), %eax
				movl	48(%eax), %eax
				testl	%eax, %eax
				jne	.L1505
				nop
		.L1072:
 2204                     fault(13);                         ! *order
				subl	$12, %esp
				pushl	$13
				movl	-5588(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
 2205                 %finish %else %start
				jmp	.L1471
		.L1505:
 2206                     %if access = 0 %start
				movl	-5588(%ebp), %eax
				movl	24(%eax), %eax
				testl	%eax, %eax
				jne	.L1506
				nop
		.L1471:
 2207                         access = 1;  fault(-1);        ! only a warning
				movl	$1, %eax
				movl	-5588(%ebp), %ebx
				movl	%eax, 24(%ebx)
				subl	$12, %esp
				pushl	$-1
				movl	%ebx, %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L1471
		.L1070:
		.L1074:
		.L1075:
		.L1504:
 2208                     %finish
 2209                 %finish
 2210             %finish
 2211
 2212             %if diag&2 # 0 %start
 2213                 newline %if sym # nl
				movl	-5584(%ebp), %eax
				movl	SYM.6068@GOTOFF(%eax), %eax
				cmpl	$10, %eax
				je	.L1507
		.LBB501:
		.LBB502:
				movl	-5584(%ebp), %ebx
				call	_imp_newline@PLT
				jmp	.L1077
		.L1507:
		.LBE502:
		.LBE501:
				nop
		.L1077:
		.LBB503:
 2214                 printstring("ss =")
				leal	-322(%ebp), %eax
				movl	-5584(%ebp), %ebx
				leal	.LC9@GOTOFF(%ebx), %edx
				movl	$256, %ecx
				movl	(%edx), %esi
				movl	%esi, (%eax)
				movl	-4(%edx,%ecx), %esi
				movl	%esi, -4(%eax,%ecx)
				leal	4(%eax), %edi
				andl	$-4, %edi
				subl	%edi, %eax
				subl	%eax, %edx
				addl	%eax, %ecx
				andl	$-4, %ecx
				movl	%ecx, %eax
				shrl	$2, %eax
				movl	%edx, %esi
				movl	%eax, %ecx
				rep movsl
				leal	-4932(%ebp), %eax
				leal	-322(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1348(%ebp), %eax
				leal	-4932(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE503:
		.LBB504:
		.LBB505:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1348(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				movl	%ebx, %esi
				movl	%esi, %ebx
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE505:
		.LBE504:
 2215                 write(ss, 1)
				movl	%esi, %ebx
				movl	SS.6098@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				movl	%esi, %ebx
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB506:
		.LBB507:
				movl	%esi, %ebx
				call	_imp_newline@PLT
		.LBE507:
		.LBE506:
 2216                 newline
 2217                 count = 5
				movl	%esi, %ebx
				movl	$5, COUNT.7214@GOTOFF(%ebx)
		.LBB508:
		.LBB509:
 2218                 name = ""
				movb	$0, -322(%ebp)
				movl	$0, -321(%ebp)
				leal	-317(%ebp), %eax
				movl	$251, %ecx
				movl	$0, %esi
				movl	%esi, (%eax)
				movl	%esi, -4(%eax,%ecx)
				leal	4(%eax), %edx
				andl	$-4, %edx
				subl	%edx, %eax
				addl	%eax, %ecx
				andl	$-4, %ecx
				shrl	$2, %ecx
				movl	%edx, %edi
				movl	%esi, %eax
				rep stosl
				leal	-4676(%ebp), %eax
				leal	-322(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE509:
				leal	-322(%ebp), %eax
				leal	-4676(%ebp), %edx
				movl	$256, %ecx
				movl	(%edx), %esi
				movl	%esi, (%eax)
				movl	-4(%edx,%ecx), %esi
				movl	%esi, -4(%eax,%ecx)
				leal	4(%eax), %edi
				andl	$-4, %edi
				subl	%edi, %eax
				subl	%eax, %edx
				addl	%eax, %ecx
				andl	$-4, %ecx
				movl	%ecx, %eax
				shrl	$2, %eax
				movl	%edx, %esi
				movl	%eax, %ecx
				rep movsl
				leal	-322(%ebp), %eax
		.LBE508:
				subl	$4, %esp
				pushl	$8
				pushl	%eax
				leal	NAME.7213@GOTOFF(%ebx), %eax
				pushl	%eax
				movl	%ebx, %edi
				movl	%edi, %ebx
				call	_imp_strncpy@PLT
				addl	$16, %esp
		.L1078:
 2219             %finish
 2220
 2221             next = ss
				movl	%edi, %ebx
				movl	SS.6098@GOTOFF(%ebx), %eax
				movl	%eax, -5416(%ebp)
 2222             pending = 0;  lmode = 0
				movl	$0, %eax
				movl	%eax, -5428(%ebp)
				movl	$0, %eax
				movl	%eax, -5444(%ebp)
 2223             link = 0;  decs = 0
				movl	$0, %eax
				movl	%eax, -5420(%ebp)
				movl	$0, -5524(%ebp)
 2224             defs = 0;  resln = 0;  done = 0
				movl	$0, %eax
				movl	%eax, -5432(%ebp)
				movl	$0, -5548(%ebp)
				movl	$0, -5512(%ebp)
 2225             ord = level
				movl	-5588(%ebp), %eax
				movl	48(%eax), %eax
				movl	%eax, -5544(%ebp)
 2226             ord = 1 %if this >= 0;                     ! recordformat declarations
				movl	%edi, %ebx
				movl	THIS.6092@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jns	.L1079
				jmp	.L1082
		.L1079:
				movl	$1, -5544(%ebp)
		.L1080:
		.L1081:
				jmp	.L1082
		.L1536:
 2227 c(0):
 2228 top:        %if next # link %start
				movl	-5416(%ebp), %edx
				movl	-5420(%ebp), %eax
				cmpl	%eax, %edx
				je	.L1508
				jmp	.L1479
		.L1457:
				jmp	*%eax
		.L1479:
				nop
 2229                 get next;  ->c(class)
				leal	-5444(%ebp), %eax
				movl	%eax, %ecx
				call	GETNEXT.7219
				movl	$2229, -5508(%ebp)
				movl	-5584(%ebp), %eax
				leal	.LC71@GOTOFF(%eax), %eax
				movl	%eax, -5504(%ebp)
				movl	-5424(%ebp), %eax
				movl	%eax, -5500(%ebp)
				nop
		.L1086:
 2230             %finish
 2231
 2232             !all done, tidy up declarations and jumps
 2233             newline %if diag&2 # 0 %and count # 5
				movl	-5584(%ebp), %eax
				movl	COUNT.7214@GOTOFF(%eax), %eax
				cmpl	$5, %eax
				je	.L1509
		.LBB510:
		.LBB511:
				movl	-5584(%ebp), %ebx
				call	_imp_newline@PLT
				jmp	.L1473
		.L1088:
		.L1509:
		.LBE511:
		.LBE510:
				nop
		.L1473:
 2234
 2235             %if lmode&(loop!then!else) # 0 %start;     ! pending labels and jumps
 2236                 op('B', label-1) %if lmode&loop # 0;   ! repeat
				movl	-5588(%ebp), %ebx
				movl	8(%ebx), %eax
				leal	-1(%eax), %edx
				movl	64(%ebx), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$66
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
		.L1089:
 2237                 def lab(label)   %if lmode&then # 0;   ! entry from then
				movl	8(%ebx), %edx
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEFLAB.7216
				addl	$16, %esp
		.L1090:
 2238                 def lab(label-1) %if lmode&else # 0;   ! entry from else
				movl	8(%ebx), %eax
				leal	-1(%eax), %edx
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEFLAB.7216
				addl	$16, %esp
		.L1091:
		.L1092:
 2239             %finish
 2240
 2241             %return %if decs = 0
				cmpl	$0, -5524(%ebp)
				je	.L1510
				nop
		.L1094:
				nop
				jmp	.L1068
		.L1567:
 2242             atom1 = error %and %return %if atom1 # 0;  ! %integerroutine
				movl	-5584(%ebp), %eax
				movl	ATOM1.6051@GOTOFF(%eax), %eax
				testl	%eax, %eax
				je	.L1511
				movl	-5584(%ebp), %eax
				movl	$32768, ATOM1.6051@GOTOFF(%eax)
				jmp	.L1068
		.L1511:
				nop
		.L1097:
 2243             order = ord
				movl	-5544(%ebp), %eax
				movl	-5584(%ebp), %edi
				movl	%eax, ORDER.6110@GOTOFF(%edi)
 2244             decl = decl&(\15)+decmap(decl&15);         ! construct declarator flags
				movl	DECL.6074@GOTOFF(%edi), %eax
				andl	$-16, %eax
				movl	%eax, %edx
				movl	DECL.6074@GOTOFF(%edi), %eax
				andl	$15, %eax
				movl	-5404(%ebp,%eax,4), %eax
				addl	%edx, %eax
				movl	%eax, DECL.6074@GOTOFF(%edi)
 2245             atom1 = atoms(decl&15);                    ! generate class
				movl	DECL.6074@GOTOFF(%edi), %eax
				andl	$15, %eax
				movl	%eax, %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				movzbl	69682(%eax,%edx), %eax
				movzbl	%al, %eax
				movl	%eax, ATOM1.6051@GOTOFF(%edi)
 2246             %if otype # 0 %start;                      ! own, const etc.
				movl	OTYPE.6080@GOTOFF(%edi), %eax
				testl	%eax, %eax
				je	.L1512
				nop
		.L1107:
 2247                 atom1 = atom1+1 %if atom1 # proc
				movl	-5584(%ebp), %eax
				movl	ATOM1.6051@GOTOFF(%eax), %eax
				cmpl	$7, %eax
				je	.L1513
				movl	-5584(%ebp), %esi
				movl	ATOM1.6051@GOTOFF(%esi), %eax
				addl	$1, %eax
				movl	%eax, ATOM1.6051@GOTOFF(%esi)
				jmp	.L1101
		.L1513:
				nop
		.L1101:
 2248                 %if otype = 2 %start;                  ! const
				movl	-5584(%ebp), %eax
				movl	OTYPE.6080@GOTOFF(%eax), %eax
				cmpl	$2, %eax
				jne	.L1514
				nop
		.L1103:
 2249                     n = decl&15
				movl	-5584(%ebp), %ecx
				movl	DECL.6074@GOTOFF(%ecx), %eax
				andl	$15, %eax
				movl	%eax, -5532(%ebp)
 2250                     %if n&1 # 0 %start
 2251                         decl = decl!prot
				movl	DECL.6074@GOTOFF(%ecx), %eax
				orb	$1, %ah
				movl	%eax, DECL.6074@GOTOFF(%ecx)
 2252                         decl = decl!const bit %if decl&2_1111111 = iform
				movl	DECL.6074@GOTOFF(%ecx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1515
				movl	-5584(%ebp), %ebx
				movl	DECL.6074@GOTOFF(%ebx), %eax
				orb	$32, %ah
				movl	%eax, DECL.6074@GOTOFF(%ebx)
				nop
		.L1106:
 2253                     %finish
 2254                 %else
				jmp	.L1107
		.L1105:
		.L1515:
				jmp	.L1107
		.L1514:
 2255                     decl = decl!own bit
				movl	-5584(%ebp), %ecx
				movl	DECL.6074@GOTOFF(%ecx), %eax
				orb	$2, %ah
				movl	%eax, DECL.6074@GOTOFF(%ecx)
				jmp	.L1107
		.L1099:
		.L1512:
 2256                 %finish
 2257             %finish
 2258             sstype = 1 %if sstype = 0 %and atom1 = proc
				movl	-5584(%ebp), %eax
				movl	SSTYPE.6105@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jne	.L1516
				movl	-5584(%ebp), %eax
				movl	ATOM1.6051@GOTOFF(%eax), %eax
				cmpl	$7, %eax
				jne	.L1517
				movl	-5584(%ebp), %eax
				movl	$1, SSTYPE.6105@GOTOFF(%eax)
				jmp	.L1474
		.L1109:
		.L1516:
				nop
				jmp	.L1474
		.L1517:
				nop
		.L1474:
 2259             atom1 = atom1+1 %if decl&spec # 0;         ! onto spec variant
				movl	-5584(%ebp), %ecx
				movl	ATOM1.6051@GOTOFF(%ecx), %eax
				addl	$1, %eax
				movl	%eax, ATOM1.6051@GOTOFF(%ecx)
		.L1111:
 2260             ocount = 0 %and cont = '+' %if atom1 = 5;  ! own array
				movl	ATOM1.6051@GOTOFF(%ecx), %eax
				cmpl	$5, %eax
				jne	.L1518
				movl	-5584(%ebp), %eax
				movl	$0, OCOUNT.6107@GOTOFF(%eax)
				movl	$43, CONT.6072@GOTOFF(%eax)
				jmp	.L1113
		.L1518:
				nop
		.L1113:
 2261             %if anyform(decl&15) = 0 %start;           ! check meaningful
				movl	-5584(%ebp), %eax
				movl	DECL.6074@GOTOFF(%eax), %eax
				andl	$15, %eax
				movzbl	-44(%ebp,%eax), %eax
				testb	%al, %al
				jne	.L1519
				nop
				jmp	.L1068
		.L1522:
 2262                 %if decl>>4&7 = record %start
				movl	-5584(%ebp), %eax
				movl	DECL.6074@GOTOFF(%eax), %eax
				andl	$16, %eax
				testl	%eax, %eax
				jne	.L1520
				nop
				jmp	.L1120
		.L1521:
 2263                     this = fdef %if tag(fdef)_flags&spec # 0
				movl	-5584(%ebp), %ebx
				movl	%ebx, %eax
				movl	FDEF.6091@GOTOFF(%eax), %eax
				movl	%eax, THIS.6092@GOTOFF(%ebx)
		.L1118:
 2264                     atom1 = error+21 %if fdef = this;  ! *context for format
				movl	%ebx, %eax
				movl	FDEF.6091@GOTOFF(%eax), %edx
				movl	%ebx, %eax
				movl	THIS.6092@GOTOFF(%eax), %eax
				cmpl	%eax, %edx
				jne	.L1521
				movl	-5584(%ebp), %eax
				movl	$32789, ATOM1.6051@GOTOFF(%eax)
				jmp	.L1120
		.L1117:
		.L1520:
				nop
		.L1120:
 2265                 %finish
 2266                 atom1 = error+10 %if fdef = 0;         ! *size
				movl	-5584(%ebp), %eax
				movl	FDEF.6091@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jne	.L1522
				movl	-5584(%ebp), %eax
				movl	$32778, ATOM1.6051@GOTOFF(%eax)
				nop
		.L1122:
 2267             %finish
 2268             %return
				jmp	.L1068
		.L1115:
		.L1519:
				jmp	.L1068
		.L1123:
 2269
 2270 atop:       access = 0;  ->top
				movl	$0, %eax
				movl	-5588(%ebp), %esi
				movl	%eax, 24(%esi)
				jmp	.L1082
		.L1124:
		.L1125:
 2271             ! declarators
 2272 c(88):      ;                                          ! rtype
 2273 c(28):      decl = x&(\7);                             ! stype
				movl	-5584(%ebp), %esi
				movl	X.6050@GOTOFF(%esi), %eax
				andl	$-8, %eax
				movl	%eax, DECL.6074@GOTOFF(%esi)
 2274             fdef = x&7;                                ! precision
				movl	X.6050@GOTOFF(%esi), %eax
				andl	$7, %eax
				movl	%eax, FDEF.6091@GOTOFF(%esi)
 2275             fdef = reals ln %if x&2_1110001 = real<<4+1; ! convert to long
				movl	X.6050@GOTOFF(%esi), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1523
				movl	-5584(%ebp), %edi
				movl	REALSLN.6081@GOTOFF(%edi), %eax
				movl	%eax, FDEF.6091@GOTOFF(%edi)
				jmp	.L1127
		.L1523:
				nop
		.L1127:
 2276             decs = 1;  ->top
				movl	$1, -5524(%ebp)
				jmp	.L1082
		.L1128:
		.L1129:
 2277 c(34):      ;                                          ! own
 2278 c(35):      otype = x;  ord = 1;  ->top;               ! external
				movl	-5584(%ebp), %edx
				movl	X.6050@GOTOFF(%edx), %eax
				movl	%eax, OTYPE.6080@GOTOFF(%edx)
				movl	$1, -5544(%ebp)
				jmp	.L1082
		.L1130:
 2279 c(152):     decl = decl+x<<1;  ->top;                  ! xname
				movl	-5584(%ebp), %esi
				movl	X.6050@GOTOFF(%esi), %eax
				leal	(%eax,%eax), %edx
				movl	DECL.6074@GOTOFF(%esi), %eax
				addl	%edx, %eax
				movl	%eax, DECL.6074@GOTOFF(%esi)
				jmp	.L1082
		.L1131:
		.L1132:
 2280 c(31):      ;                                          ! proc
 2281 c(32):      spec mode = level+1;                       ! fn/map
				movl	-5588(%ebp), %eax
				movl	48(%eax), %eax
				addl	$1, %eax
				movl	-5584(%ebp), %esi
				movl	%eax, SPECMODE.6106@GOTOFF(%esi)
 2282             decl = decl!prot %if x = 9;                ! function
				movl	%esi, %eax
				movl	X.6050@GOTOFF(%eax), %eax
				cmpl	$9, %eax
				jne	.L1524
				movl	-5584(%ebp), %ebx
				movl	DECL.6074@GOTOFF(%ebx), %eax
				orb	$1, %ah
				movl	%eax, DECL.6074@GOTOFF(%ebx)
				jmp	.L1135
		.L1134:
		.L1524:
				nop
		.L1135:
 2283 c(29):      ord = 1;                                   ! array
				movl	$1, -5544(%ebp)
 2284             dim = 0
				movl	-5584(%ebp), %eax
				movl	$0, DIM.6075@GOTOFF(%eax)
		.L1136:
 2285 c(30):      decl = decl+x;                             ! name
				movl	-5584(%ebp), %edi
				movl	DECL.6074@GOTOFF(%edi), %edx
				movl	X.6050@GOTOFF(%edi), %eax
				addl	%edx, %eax
				movl	%eax, DECL.6074@GOTOFF(%edi)
 2286             decs = 1
				movl	$1, -5524(%ebp)
 2287             ->top
				jmp	.L1082
		.L1137:
 2288 c(27):      lit = 0;                                   ! arrayd
				movl	-5584(%ebp), %eax
				movl	$0, LIT.6127@GOTOFF(%eax)
 2289             %if pending # 0 %start
				movl	-5428(%ebp), %eax
				testl	%eax, %eax
				je	.L1525
				nop
				jmp	.L1142
		.L1527:
 2290                 pop lit
				leal	-5444(%ebp), %eax
				movl	%eax, %ecx
				call	POPLIT.7309
 2291                 %unless 0<lit %and lit<=dim limit %start
				movl	-5584(%ebp), %eax
				movl	LIT.6127@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jle	.L1526
				movl	-5584(%ebp), %eax
				movl	LIT.6127@GOTOFF(%eax), %eax
				cmpl	$6, %eax
				jle	.L1527
				jmp	.L1141
		.L1526:
				nop
		.L1141:
				nop
		.L1142:
 2292                     atom1 = error + 11;  %return
				movl	-5584(%ebp), %eax
				movl	$32779, ATOM1.6051@GOTOFF(%eax)
				jmp	.L1068
		.L1139:
		.L1525:
 2293                 %finish
 2294             %finish
 2295             dim = lit
				movl	-5584(%ebp), %ebx
				movl	LIT.6127@GOTOFF(%ebx), %eax
				movl	%eax, DIM.6075@GOTOFF(%ebx)
 2296             decl = decl + x;  decs = 1
				movl	DECL.6074@GOTOFF(%ebx), %edx
				movl	X.6050@GOTOFF(%ebx), %eax
				addl	%edx, %eax
				movl	%eax, DECL.6074@GOTOFF(%ebx)
				movl	$1, -5524(%ebp)
 2297             -> top
				jmp	.L1082
		.L1143:
 2298 c(37):      x = x!subname;                             ! record
				movl	-5584(%ebp), %ecx
				movl	X.6050@GOTOFF(%ecx), %eax
				orb	$8, %ah
				movl	%eax, X.6050@GOTOFF(%ecx)
		.L1144:
 2299 c(36):      lit = 0;                                   ! string
				movl	-5584(%ebp), %eax
				movl	$0, LIT.6127@GOTOFF(%eax)
 2300             %if pending # 0 %start
				movl	-5428(%ebp), %eax
				testl	%eax, %eax
				je	.L1528
				nop
				jmp	.L1149
		.L1530:
 2301                 pop lit
				leal	-5444(%ebp), %eax
				movl	%eax, %ecx
				call	POPLIT.7309
 2302                 %unless 0 < lit %and lit <= 255 %start; ! max length wrong
				movl	-5584(%ebp), %eax
				movl	LIT.6127@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jle	.L1529
				movl	-5584(%ebp), %eax
				movl	LIT.6127@GOTOFF(%eax), %eax
				cmpl	$255, %eax
				jle	.L1530
				jmp	.L1148
		.L1529:
				nop
		.L1148:
				nop
		.L1149:
 2303                     atom1 = error+10;  %return
				movl	-5584(%ebp), %eax
				movl	$32778, ATOM1.6051@GOTOFF(%eax)
				jmp	.L1068
		.L1146:
		.L1528:
 2304                 %finish
 2305             %finish
 2306             fdef = lit;                                ! format or length
				movl	-5584(%ebp), %edi
				movl	LIT.6127@GOTOFF(%edi), %eax
				movl	%eax, FDEF.6091@GOTOFF(%edi)
		.L1150:
 2307 c(33):      decl = x;                                  ! switch
				movl	-5584(%ebp), %edx
				movl	X.6050@GOTOFF(%edx), %eax
				movl	%eax, DECL.6074@GOTOFF(%edx)
 2308             decs = 1
				movl	$1, -5524(%ebp)
 2309             ->top
				jmp	.L1082
		.L1151:
 2310 c(39):      decl = decl!spec;                          ! spec
				movl	-5584(%ebp), %esi
				movl	DECL.6074@GOTOFF(%esi), %eax
				orb	$-128, %al
				movl	%eax, DECL.6074@GOTOFF(%esi)
 2311             ocount = -1;                               ! no initialisation
				movl	$-1, OCOUNT.6107@GOTOFF(%esi)
 2312             spec mode = -1
				movl	$-1, SPECMODE.6106@GOTOFF(%esi)
 2313             ->top
				jmp	.L1082
		.L1152:
 2314 c(38):      decl = 64+4;                               ! recordformat (spec)
				movl	-5584(%ebp), %ecx
				movl	$68, DECL.6074@GOTOFF(%ecx)
 2315             order = 1
				movl	$1, ORDER.6110@GOTOFF(%ecx)
 2316             atom1 = x
				movl	X.6050@GOTOFF(%ecx), %eax
				movl	%eax, ATOM1.6051@GOTOFF(%ecx)
 2317             decl = decl!spec %if atom1 = 12;           ! formatspec
				movl	ATOM1.6051@GOTOFF(%ecx), %eax
				cmpl	$12, %eax
				jne	.L1531
				movl	-5584(%ebp), %esi
				movl	DECL.6074@GOTOFF(%esi), %eax
				orb	$-128, %al
				movl	%eax, DECL.6074@GOTOFF(%esi)
				jmp	.L1154
		.L1531:
				nop
		.L1154:
 2318             fdef = tmax+1;                             ! format tag
				movl	-5588(%ebp), %eax
				movl	52(%eax), %eax
				addl	$1, %eax
				movl	-5584(%ebp), %ebx
				movl	%eax, FDEF.6091@GOTOFF(%ebx)
 2319             %return
				jmp	.L1068
		.L1155:
 2320 c(175):     id = id+1;  tag(x)_index = id;  %return;   ! FSID
				movl	-5588(%ebp), %ebx
				movl	44(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 44(%ebx)
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %edx
				movl	44(%ebx), %ecx
				movl	64(%ebx), %ebx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ebx, %eax
				addl	$49056, %eax
				movl	%ecx, (%eax)
				jmp	.L1068
		.L1156:
 2321 c(41):      decs = 1;  decl = x!spec!closed;  ->top;   ! label
				movl	$1, -5524(%ebp)
				movl	-5584(%ebp), %ecx
				movl	X.6050@GOTOFF(%ecx), %eax
				orl	$16512, %eax
				movl	%eax, DECL.6074@GOTOFF(%ecx)
				jmp	.L1082
		.L1157:
 2322 c(133):     recid = 0;  rbase = tmin-1;                ! fname
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				movl	$0, %edx
				movl	%edx, 16844(%eax)
				movl	-5584(%ebp), %edi
				movl	TMIN.6097@GOTOFF(%edi), %eax
				subl	$1, %eax
				movl	%eax, RBASE.6095@GOTOFF(%edi)
 2323             this = x
				movl	X.6050@GOTOFF(%edi), %eax
				movl	%eax, THIS.6092@GOTOFF(%edi)
 2324             fm base = fdef;  format list = tmin
				movl	FDEF.6091@GOTOFF(%edi), %eax
				movl	%eax, FMBASE.6119@GOTOFF(%edi)
				movl	TMIN.6097@GOTOFF(%edi), %eax
				movl	%eax, FORMATLIST.6121@GOTOFF(%edi)
 2325             def(this);                      ->top
				movl	THIS.6092@GOTOFF(%edi), %edx
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEF.7266
				addl	$16, %esp
				jmp	.L1082
		.L1158:
 2326 c(148):     fdef = 0 %and ->top %if next = 0;          ! reclb
				movl	-5416(%ebp), %eax
				testl	%eax, %eax
				jne	.L1532
				movl	-5584(%ebp), %eax
				movl	$0, FDEF.6091@GOTOFF(%eax)
				jmp	.L1082
		.L1532:
				nop
		.L1160:
 2327             get next;                                  ! skip name
				leal	-5444(%ebp), %eax
				movl	%eax, %ecx
				call	GETNEXT.7219
 2328             fdef = x
				movl	-5584(%ebp), %edx
				movl	X.6050@GOTOFF(%edx), %eax
				movl	%eax, FDEF.6091@GOTOFF(%edx)
 2329             ->top
				jmp	.L1082
		.L1161:
 2330
 2331 c(127):     add char( '}' );             ->top;        ! %POUT
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$125
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1082
		.L1162:
 2332 c(126):     add char( '{' );             ->top;        ! %PIN
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$123
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1082
		.L1163:
 2333 c(174):     set bp;                                    ! rangerb
				leal	-5444(%ebp), %eax
				movl	%eax, %ecx
				call	SETBP.7248
				jmp	.L1166
		.L1164:
				jmp	.L1166
		.L1165:
		.L1166:
 2334 c(171):     ;                                          ! fmlb
 2335 c(172):     ;                                          ! fmrb
 2336 c(173):     add char( '~' )
				movl	-5588(%ebp), %edi
				movl	64(%edi), %eax
				subl	$12, %esp
				pushl	$126
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
 2337             add char( class-171+'A' );   ->top;        ! fmor
				movl	-5424(%ebp), %eax
				subl	$106, %eax
				movzbl	%al, %edx
				movl	64(%edi), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1082
		.L1167:
 2338 c(168):     rbase = -rbase;                            ! orrb
				movl	-5584(%ebp), %edi
				movl	RBASE.6095@GOTOFF(%edi), %eax
				negl	%eax
				movl	%eax, RBASE.6095@GOTOFF(%edi)
 2339             sstype = 0;  spec mode = 0
				movl	$0, SSTYPE.6105@GOTOFF(%edi)
				movl	$0, SPECMODE.6106@GOTOFF(%edi)
		.L1168:
 2340
 2341 c(147):     search base = 0;                           ! recrb
				movl	-5584(%ebp), %edi
				movl	$0, SEARCHBASE.6120@GOTOFF(%edi)
 2342             tag(this)_app = tmin
				movl	THIS.6092@GOTOFF(%edi), %edx
				movl	TMIN.6097@GOTOFF(%edi), %ecx
				movl	-5588(%ebp), %ebx
				movl	64(%ebx), %esi
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%esi, %eax
				addl	$49044, %eax
				movl	%ecx, (%eax)
 2343             tag(this)_format = rbase
				movl	THIS.6092@GOTOFF(%edi), %edx
				movl	RBASE.6095@GOTOFF(%edi), %ecx
				movl	64(%ebx), %esi
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%esi, %eax
				addl	$49048, %eax
				movl	%ecx, (%eax)
 2344             ->top
				jmp	.L1082
		.L1169:
 2345
 2346 c(45):      add char( 'U' ) %if x = 36;  ->top;        ! sign
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %eax
				cmpl	$36, %eax
				jne	.L1533
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$85
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1082
		.L1533:
				nop
		.L1171:
				jmp	.L1082
		.L1172:
 2347 c(46):      add char( '\' );             ->top;        ! uop
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$92
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1082
		.L1173:
				jmp	.L1177
		.L1174:
				jmp	.L1177
		.L1175:
				jmp	.L1177
		.L1176:
		.L1177:
 2348 c(47):;                                                ! mod
 2349 c(48):;                                                ! dot
 2350 c(42):;                                                ! op1
 2351 c(43):;                                                ! op2
 2352 c(44):      add char( operator(x) );     ->top;        ! op3
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %eax
				subl	$1, %eax
				movzbl	-58(%ebp,%eax), %eax
				movzbl	%al, %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1082
		.L1178:
		.L1179:
 2353 c(56):      ;                                          ! and
 2354 c(57):      push(x);  ->top;                           ! or
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %edx
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	PUSH.7314
				addl	$16, %esp
				jmp	.L1082
		.L1180:
 2355 c(58):      cnest(cp) = cnest(cp)!!2;  ->top;          ! not
				movl	-5436(%ebp), %eax
				movl	-5584(%ebp), %edi
				movzbl	CNEST.7188@GOTOFF(%edi,%eax), %eax
				xorl	$2, %eax
				movl	%eax, %edx
				movl	-5436(%ebp), %eax
				movb	%dl, CNEST.7188@GOTOFF(%edi,%eax)
				jmp	.L1082
		.L1181:
 2356 c(138):     x = 128+32+16+4;                           ! csep: treat like %while
				movl	-5584(%ebp), %eax
				movl	$180, X.6050@GOTOFF(%eax)
				jmp	.L1183
		.L1182:
		.L1183:
 2357 c(59):      ;                                          ! while
 2358 c(60):      %if class = 138 %then op('f', label-1) %else def lab(label-1); ! until
				movl	-5424(%ebp), %eax
				cmpl	$138, %eax
				jne	.L1534
				movl	-5588(%ebp), %esi
				movl	8(%esi), %eax
				leal	-1(%eax), %edx
				movl	64(%esi), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$102
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
				jmp	.L1188
		.L1534:
				nop
		.L1185:
				movl	-5588(%ebp), %eax
				movl	8(%eax), %eax
				leal	-1(%eax), %edx
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEFLAB.7216
				addl	$16, %esp
				jmp	.L1188
		.L1186:
		.L1187:
		.L1188:
 2359 c(166):     ;                                          ! runtil
 2360 c(62):      lmode = (lmode&(else!loop)) !(x>>3);       ! cword
				movl	-5444(%ebp), %eax
				andl	$24, %eax
				movl	%eax, %edx
				movl	-5584(%ebp), %ebx
				movl	X.6050@GOTOFF(%ebx), %eax
				shrl	$3, %eax
				orl	%edx, %eax
				movl	%eax, -5444(%ebp)
 2361             clab = label;  cp = 1;  cnest(1) = x&7
				movl	-5588(%ebp), %eax
				movl	8(%eax), %eax
				movl	%eax, -5440(%ebp)
				movl	$1, %eax
				movl	%eax, -5436(%ebp)
				movl	X.6050@GOTOFF(%ebx), %eax
				andl	$7, %eax
				movb	%al, 1+CNEST.7188@GOTOFF(%ebx)
 2362             ->top
				jmp	.L1082
		.L1189:
 2363 c(72):      pop label(0);                              ! repeat
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	POPLABEL.7319
				addl	$16, %esp
 2364             def lab(label+1) %if lmode&32 # 0;  ->atop
				movl	-5588(%ebp), %eax
				movl	8(%eax), %eax
				leal	1(%eax), %edx
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEFLAB.7216
				addl	$16, %esp
		.L1190:
				jmp	.L1123
		.L1191:
 2365 c(69):      pop label(1);               ->top;         ! finish
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	$1
				movl	%eax, %ecx
				call	POPLABEL.7319
				addl	$16, %esp
				jmp	.L1082
		.L1192:
		.L1193:
 2366 c(163):     ;                                          ! xelse
 2367 c(70):      pop label(1);                              ! finish else ...
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	$1
				movl	%eax, %ecx
				call	POPLABEL.7319
				addl	$16, %esp
 2368             fault(7) %if lmode&3 = 3;                  ! dangling else
				subl	$12, %esp
				pushl	$7
				movl	-5588(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
		.L1194:
		.L1195:
 2369 c(68):      lmode = (lmode&else)!3;                    ! ...else...
				movl	-5444(%ebp), %eax
				andl	$8, %eax
				orl	$3, %eax
				movl	%eax, -5444(%ebp)
 2370             %if access # 0 %start
				movl	-5588(%ebp), %eax
				movl	24(%eax), %eax
				testl	%eax, %eax
				je	.L1535
				nop
		.L1197:
 2371                 op('F', label-1);  lmode = else!3
				movl	-5588(%ebp), %edi
				movl	8(%edi), %eax
				leal	-1(%eax), %edx
				movl	64(%edi), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$70
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
				movl	$11, %eax
				movl	%eax, -5444(%ebp)
				jmp	.L1197
		.L1535:
 2372             %finish
 2373             def lab(label)
				movl	-5588(%ebp), %eax
				movl	8(%eax), %edx
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEFLAB.7216
				addl	$16, %esp
 2374             ->top %if next # 0
				nop
				jmp	.L1082
		.L1572:
				movl	-5416(%ebp), %eax
				testl	%eax, %eax
				jne	.L1536
				jmp	.L1203
		.L1199:
		.L1200:
				jmp	.L1203
		.L1201:
				jmp	.L1203
		.L1202:
		.L1203:
 2375 c(120):     ;                                          ! %MSTART
 2376 c(67):      ;                                          ! start
 2377 c(71):      ;                                          ! cycle
 2378 stcy:       def lab(label-1) %and lmode = loop %if lmode = 0; ! cycle
				movl	-5444(%ebp), %eax
				testl	%eax, %eax
				jne	.L1537
				movl	-5588(%ebp), %eax
				movl	8(%eax), %eax
				leal	-1(%eax), %edx
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEFLAB.7216
				addl	$16, %esp
				movl	$16, %eax
				movl	%eax, -5444(%ebp)
				jmp	.L1205
		.L1537:
				nop
		.L1205:
 2379             dmin = dmin-1;  abandon(3) %if dmin <= dmax
				movl	-5588(%ebp), %edi
				movl	40(%edi), %eax
				subl	$1, %eax
				movl	%eax, 40(%edi)
				movl	-5584(%ebp), %eax
				movl	DMAX.6096@GOTOFF(%eax), %eax
				movl	40(%edi), %edx
				cmpl	%eax, %edx
				jg	.L1538
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$3
				movl	%eax, %ecx
				call	ABANDON.6213
				addl	$16, %esp
				jmp	.L1207
		.L1538:
				nop
		.L1207:
 2380             dict(dmin) = lmode
				movl	-5588(%ebp), %ebx
				movl	40(%ebx), %eax
				leal	-1(%eax), %ecx
				movl	64(%ebx), %eax
				movl	-5444(%ebp), %edx
				addl	$6260, %ecx
				movl	%edx, 4(%eax,%ecx,4)
 2381             label = label+3
				movl	8(%ebx), %eax
				addl	$3, %eax
				movl	%eax, 8(%ebx)
 2382             %return
				jmp	.L1068
		.L1208:
 2383
 2384 c(64):      fault(13) %if dict(dmin) >= 0 %or inhibit # 0; ! on event
				movl	-5588(%ebp), %esi
				movl	40(%esi), %eax
				leal	-1(%eax), %edx
				movl	64(%esi), %eax
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %eax
				testl	%eax, %eax
				jns	.L1539
				movl	-5588(%ebp), %eax
				movl	4(%eax), %eax
				testl	%eax, %eax
				je	.L1540
				jmp	.L1210
		.L1539:
				nop
		.L1210:
				subl	$12, %esp
				pushl	$13
				movl	-5588(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L1211
		.L1540:
				nop
		.L1211:
 2385             inhibit = 1
				movl	$1, %eax
				movl	-5588(%ebp), %ebx
				movl	%eax, 4(%ebx)
 2386             n = 0
				movl	$0, -5532(%ebp)
 2387             n = 16_FFFF %if pending = 0;               ! * = all events
				movl	-5428(%ebp), %eax
				testl	%eax, %eax
				jne	.L1541
				movl	$65535, -5532(%ebp)
				jmp	.L1220
		.L1213:
		.L1541:
				nop
		.L1214:
		.L1220:
 2388             %while pending > 0 %cycle
				movl	-5428(%ebp), %eax
				testl	%eax, %eax
				jle	.L1542
				nop
		.L1216:
 2389                 pop lit;  fault(10) %if lit&(\15) # 0; ! too big
				leal	-5444(%ebp), %eax
				movl	%eax, %ecx
				call	POPLIT.7309
				subl	$12, %esp
				pushl	$10
				movl	-5588(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
		.L1217:
 2390                 j = 1<<lit
				movl	-5584(%ebp), %eax
				movl	LIT.6127@GOTOFF(%eax), %eax
				movl	$1, %edx
				movl	%eax, %ecx
				sall	%cl, %edx
				movl	%edx, %eax
				movl	%eax, -5540(%ebp)
 2391                 dubious = 1 %if n&j # 0
				cmpl	$0, -5540(%ebp)
				sete	%al
				movzbl	%al, %eax
				andl	-5532(%ebp), %eax
				testl	%eax, %eax
				jne	.L1543
				movl	-5584(%ebp), %eax
				movl	$1, DUBIOUS.6112@GOTOFF(%eax)
				jmp	.L1219
		.L1543:
				nop
		.L1219:
 2392                 n = n!j;                               ! construct bit mask
				movl	-5540(%ebp), %eax
				orl	%eax, -5532(%ebp)
 2393             %repeat
				jmp	.L1220
		.L1542:
 2394             op('o', n);  op(',', label)
				movl	-5588(%ebp), %ebx
				movl	%ebx, %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	-5532(%ebp)
				pushl	$111
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
				movl	%ebx, %eax
				movl	8(%eax), %edx
				movl	%ebx, %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$44
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
 2395             lmode = then!1;  ->stcy
				movl	$5, %eax
				movl	%eax, -5444(%ebp)
				jmp	.L1203
		.L1221:
 2396
 2397 c(104):     op('J', tag(x)_index);                     ! l
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %edx
				movl	-5588(%ebp), %esi
				movl	64(%esi), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ecx, %eax
				addl	$49056, %eax
				movl	(%eax), %edx
				movl	64(%esi), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$74
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
 2398             inhibit = 1;            ->atop
				movl	$1, %eax
				movl	%eax, 4(%esi)
				jmp	.L1123
		.L1222:
 2399 c(149):     stats = stats-1;                           ! lab
				movl	-5584(%ebp), %ecx
				movl	STATS.6066@GOTOFF(%ecx), %eax
				subl	$1, %eax
				movl	%eax, STATS.6066@GOTOFF(%ecx)
 2400             access = 1;  inhibit = 1
				movl	$1, %eax
				movl	-5588(%ebp), %ebx
				movl	%eax, 24(%ebx)
				movl	$1, %eax
				movl	%eax, 4(%ebx)
 2401             op('L', tag(x)_index);  ->top
				movl	X.6050@GOTOFF(%ecx), %edx
				movl	64(%ebx), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ecx, %eax
				addl	$49056, %eax
				movl	(%eax), %edx
				movl	64(%ebx), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$76
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
				jmp	.L1082
		.L1223:
 2402
 2403 c(63):      j = dmin;  l = label-3;                    ! exit, continue
				movl	-5588(%ebp), %ebx
				movl	40(%ebx), %eax
				movl	%eax, -5540(%ebp)
				movl	8(%ebx), %eax
				subl	$3, %eax
				movl	%eax, (%ebx)
		.L1224:
 2404             %cycle
 2405                 fault(7) %and ->top %if dict(j) < 0
				movl	-5540(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %eax
				testl	%eax, %eax
				jns	.L1544
				subl	$12, %esp
				pushl	$7
				movl	-5588(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L1082
		.L1544:
				nop
		.L1226:
 2406                 %exit %if dict(j)&1 = 0
				movl	-5540(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %eax
				andl	$1, %eax
				testl	%eax, %eax
				je	.L1545
				nop
		.L1228:
				nop
		.L1229:
 2407                 j = j+1;  l = l-3
				addl	$1, -5540(%ebp)
				movl	-5588(%ebp), %ebx
				movl	(%ebx), %eax
				subl	$3, %eax
				movl	%eax, (%ebx)
 2408             %repeat
				jmp	.L1224
		.L1545:
 2409             l = l+1 %if x = 32;                        ! continue
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %eax
				cmpl	$32, %eax
				jne	.L1546
				movl	-5588(%ebp), %edi
				movl	(%edi), %eax
				addl	$1, %eax
				movl	%eax, (%edi)
				jmp	.L1231
		.L1546:
				nop
		.L1231:
 2410             op('F', l)
				movl	-5588(%ebp), %edi
				movl	(%edi), %edx
				movl	64(%edi), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$70
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
 2411             dict(j) = dict(j)!x;                       ! show given
				movl	-5540(%ebp), %eax
				leal	-1(%eax), %edx
				movl	64(%edi), %eax
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %edx
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %eax
				movl	-5540(%ebp), %ecx
				leal	-1(%ecx), %esi
				movl	%edx, %ecx
				orl	%eax, %ecx
				movl	64(%edi), %eax
				leal	6260(%esi), %edx
				movl	%ecx, 4(%eax,%edx,4)
 2412             ->atop
				jmp	.L1123
		.L1232:
 2413
 2414 c(50):      add char( 'C' );          ->cop;           ! acomp
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$67
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1475
		.L1234:
 2415 c(49):
 2416             %if next # 0 %start;                       ! comparator
				movl	-5416(%ebp), %eax
				testl	%eax, %eax
				je	.L1547
				nop
		.L1236:
 2417                 add char( '"' )
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$34
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
 2418                 push(0);                               ! double sided
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	PUSH.7314
				addl	$16, %esp
 2419             %finish %else %start
				jmp	.L1475
		.L1547:
 2420                 add char( '?' )
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$63
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
		.L1233:
		.L1237:
		.L1475:
 2421             %finish
 2422
 2423 cop:        x = x!!1 %if cnest(cp)&2 # 0;              ! invert the condition
				movl	-5584(%ebp), %ecx
				movl	X.6050@GOTOFF(%ecx), %eax
				xorl	$1, %eax
				movl	%eax, X.6050@GOTOFF(%ecx)
		.L1238:
 2424             j = cp;  l = clab
				movl	-5436(%ebp), %eax
				movl	%eax, -5540(%ebp)
				movl	-5440(%ebp), %eax
				movl	-5588(%ebp), %edi
				movl	%eax, (%edi)
		.L1239:
 2425             %while cnest(j)&4 = 0 %cycle
				movl	-5584(%ebp), %eax
				leal	CNEST.7188@GOTOFF(%eax), %edx
				movl	-5540(%ebp), %eax
				addl	%edx, %eax
				movzbl	(%eax), %eax
				movzbl	%al, %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1548
				nop
		.L1241:
 2426                 j = j-1;  l = l-cnest(j)&1
				subl	$1, -5540(%ebp)
				movl	-5584(%ebp), %eax
				leal	CNEST.7188@GOTOFF(%eax), %edx
				movl	-5540(%ebp), %eax
				addl	%edx, %eax
				movzbl	(%eax), %eax
				movzbl	%al, %eax
				andl	$1, %eax
				movl	%eax, %edx
				movl	-5588(%ebp), %esi
				movl	(%esi), %eax
				subl	%edx, %eax
				movl	%eax, (%esi)
 2427             %repeat
				jmp	.L1239
		.L1548:
 2428             op(cc(x), l)
				movl	-5584(%ebp), %esi
				movl	X.6050@GOTOFF(%esi), %eax
				movzbl	-66(%ebp,%eax), %eax
				movzbl	%al, %edx
				movl	-5588(%ebp), %eax
				movl	(%eax), %ecx
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
 2429             def lab(clab+1) %if cnest(cp)&1 # 0
				movl	-5440(%ebp), %eax
				leal	1(%eax), %edx
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEFLAB.7216
				addl	$16, %esp
		.L1242:
 2430             cp = cp-1
				movl	-5436(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -5436(%ebp)
 2431             clab = clab-cnest(cp)&1
				movl	-5436(%ebp), %eax
				movzbl	CNEST.7188@GOTOFF(%esi,%eax), %eax
				movzbl	%al, %eax
				andl	$1, %eax
				movl	%eax, %edx
				movl	-5440(%ebp), %eax
				subl	%edx, %eax
				movl	%eax, -5440(%ebp)
 2432             ->top
				jmp	.L1082
		.L1243:
				jmp	.L1245
		.L1244:
		.L1245:
 2433
 2434 c(78):      ;                                          ! fresult
 2435 c(79):      ;                                          ! mresult
 2436 c(80):      open = 0;                                  ! return, true, false
				movl	$0, %eax
				movl	-5588(%ebp), %esi
				movl	%eax, 20(%esi)
		.L1246:
 2437 c(82):      access = 0;                                ! stop
				movl	$0, %eax
				movl	-5588(%ebp), %ebx
				movl	%eax, 24(%ebx)
				jmp	.L1248
		.L1247:
		.L1248:
 2438 c(89):      ;                                          ! addop
 2439 c(81):      add char( x );              ->top;         ! monitor
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %eax
				movzbl	%al, %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1082
		.L1249:
 2440 c(65):      pop lit;  op('e', lit);     ->atop;        ! signal
				leal	-5444(%ebp), %eax
				movl	%eax, %ecx
				call	POPLIT.7309
				movl	-5584(%ebp), %eax
				movl	LIT.6127@GOTOFF(%eax), %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$101
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
				jmp	.L1123
		.L1250:
 2441 c(51):      add char( 'S' );            ->top;         ! eq
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$83
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1082
		.L1251:
 2442 c(53):      add char( 'j' );            ->top;         ! jam transfer
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$106
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1082
		.L1252:
 2443 c(52):      add char( 'Z' );            ->top;         ! eqeq
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$90
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1082
		.L1253:
 2444 c(74):      %if level = 0 %start;                      ! begin
				movl	-5588(%ebp), %eax
				movl	48(%eax), %eax
				testl	%eax, %eax
				jne	.L1549
				nop
		.L1258:
 2445                 %if progmode <= 0 %then progmode = 1 %else fault(7)
				movl	-5584(%ebp), %eax
				movl	PROGMODE.6104@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jg	.L1550
				movl	-5584(%ebp), %eax
				movl	$1, PROGMODE.6104@GOTOFF(%eax)
				jmp	.L1258
		.L1550:
				nop
		.L1257:
				subl	$12, %esp
				pushl	$7
				movl	-5588(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L1258
		.L1255:
		.L1549:
 2446                 !{Permit BEGIN after external defs}
 2447             %finish
 2448             spec mode = level+1
				movl	-5588(%ebp), %ebx
				movl	48(%ebx), %eax
				addl	$1, %eax
				movl	-5584(%ebp), %edx
				movl	%eax, SPECMODE.6106@GOTOFF(%edx)
 2449             block x = 0
				movl	%edx, %eax
				movl	$0, BLOCKX.6129@GOTOFF(%eax)
 2450             add char( 'H' )
				movl	64(%ebx), %eax
				subl	$12, %esp
				pushl	$72
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
 2451             %return
				jmp	.L1068
		.L1259:
 2452 c(77):      perm = 0;  lines = 0;  stats = 0;          ! endofperm
				movl	-5584(%ebp), %esi
				movl	$0, PERM.6103@GOTOFF(%esi)
				movl	$0, LINES.6060@GOTOFF(%esi)
				movl	$0, STATS.6066@GOTOFF(%esi)
		.LBB512:
		.LBB513:
				movl	%esi, %ebx
				call	_imp_closeinput@PLT
		.LBE513:
		.LBE512:
 2453             close input
 2454             select input(source)
				subl	$12, %esp
				pushl	$1
				call	_imp_SELECTINPUT
				addl	$16, %esp
 2455             list = list-1
				movl	LIST.6130@GOTOFF(%esi), %eax
				subl	$1, %eax
				movl	%eax, LIST.6130@GOTOFF(%esi)
 2456             tbase = tmax;  tstart = tmax
				movl	-5588(%ebp), %ebx
				movl	52(%ebx), %eax
				movl	%eax, 56(%ebx)
				movl	52(%ebx), %eax
				movl	%eax, 60(%ebx)
 2457             %return
				jmp	.L1068
		.L1260:
 2458 c(76):      %if include # 0 %and x = 0 %start;         ! end of ...
				movl	-5584(%ebp), %eax
				movl	INCLUDE.6102@GOTOFF(%eax), %eax
				testl	%eax, %eax
				je	.L1551
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jne	.L1552
				nop
				jmp	.L1262
		.L1552:
				nop
		.L1262:
 2459                 lines = include;  sstype =  0;         ! include
				movl	-5584(%ebp), %esi
				movl	INCLUDE.6102@GOTOFF(%esi), %eax
				movl	%eax, LINES.6060@GOTOFF(%esi)
				movl	$0, SSTYPE.6105@GOTOFF(%esi)
		.LBB514:
		.LBB515:
				movl	%esi, %ebx
				call	_imp_closeinput@PLT
		.LBE515:
		.LBE514:
 2460                 close input
 2461                 list = include list
				movl	INCLUDELIST.6100@GOTOFF(%esi), %eax
				movl	%eax, LIST.6130@GOTOFF(%esi)
 2462                 include level = 0
				movl	$0, INCLUDELEVEL.6101@GOTOFF(%esi)
 2463                 include = 0;  select input(source);  %return
				movl	$0, INCLUDE.6102@GOTOFF(%esi)
				subl	$12, %esp
				pushl	$1
				call	_imp_SELECTINPUT
				addl	$16, %esp
				jmp	.L1068
		.L1551:
 2464             %finish
 2465             ss = -1;                                   ! prog/file
				movl	-5584(%ebp), %eax
				movl	$-1, SS.6098@GOTOFF(%eax)
		.L1264:
 2466 c(75):      compile end(x);  %return;                  ! %end
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %edx
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	COMPILEEND.7253
				addl	$16, %esp
				jmp	.L1068
		.L1265:
 2467
 2468 c(85):      %if x=0 %then control=lit %else %start;    ! control
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jne	.L1553
				movl	-5584(%ebp), %edi
				movl	LIT.6127@GOTOFF(%edi), %eax
				movl	%eax, CONTROL.6131@GOTOFF(%edi)
				jmp	.L1270
		.L1553:
				nop
		.L1267:
 2469                 diag = lit&16_3FFF %if lit>>14&3 = 1
				movl	-5584(%ebp), %eax
				movl	LIT.6127@GOTOFF(%eax), %eax
				andl	$16384, %eax
				testl	%eax, %eax
				jne	.L1554
				movl	-5584(%ebp), %esi
				movl	LIT.6127@GOTOFF(%esi), %eax
				andl	$16383, %eax
				movl	%eax, DIAG.6132@GOTOFF(%esi)
				jmp	.L1270
		.L1268:
		.L1554:
				nop
		.L1270:
 2470             %finish
 2471             op('z'-x, lit)
				movl	-5584(%ebp), %eax
				movl	LIT.6127@GOTOFF(%eax), %edx
				movl	X.6050@GOTOFF(%eax), %eax
				movl	$122, %ecx
				subl	%eax, %ecx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%ecx
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
 2472             ->top
				jmp	.L1082
		.L1271:
 2473 c(83):      list = list+x-2;   ->top;                  ! %LIST/%endoflist
				movl	-5584(%ebp), %esi
				movl	LIST.6130@GOTOFF(%esi), %edx
				movl	X.6050@GOTOFF(%esi), %eax
				addl	%edx, %eax
				subl	$2, %eax
				movl	%eax, LIST.6130@GOTOFF(%esi)
				jmp	.L1082
		.L1272:
 2474 c(84):      reals ln = x;      ->top;                  ! %REALS long/normal
				movl	-5584(%ebp), %ecx
				movl	X.6050@GOTOFF(%ecx), %eax
				movl	%eax, REALSLN.6081@GOTOFF(%ecx)
				jmp	.L1082
		.L1273:
 2475 c(86):      %if include # 0 %start;                    ! include "file"
				movl	-5584(%ebp), %eax
				movl	INCLUDE.6102@GOTOFF(%eax), %eax
				testl	%eax, %eax
				je	.L1555
				nop
		.L1275:
 2476                 fault(7);  %return
				subl	$12, %esp
				pushl	$7
				movl	-5588(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L1068
		.L1555:
 2477             %finish
 2478             get next;                                  ! sconst
				leal	-5444(%ebp), %eax
				movl	%eax, %ecx
				call	GETNEXT.7219
 2479             x = x-16_4000
				movl	-5584(%ebp), %ebx
				movl	X.6050@GOTOFF(%ebx), %eax
				subl	$16384, %eax
				movl	%eax, X.6050@GOTOFF(%ebx)
 2480             j = glink(x)
				movl	X.6050@GOTOFF(%ebx), %eax
				movzwl	GLINK.6158@GOTOFF(%ebx,%eax,2), %eax
				cwtl
				movl	%eax, -5540(%ebp)
 2481             k = j&255
				movl	-5540(%ebp), %eax
				movzbl	%al, %eax
				movl	%eax, -5536(%ebp)
		.LBB516:
		.LBB517:
 2482             !ABD - another little copy loop because SKIMP can't do the string map
 2483             include file = ""
				movb	$0, -836(%ebp)
				movl	$0, -835(%ebp)
				leal	-831(%ebp), %edx
				movl	$0, %eax
				movb	%al, (%edx)
				addl	$1, %edx
				movw	%ax, (%edx)
				addl	$2, %edx
				movl	$62, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-4420(%ebp), %eax
				leal	-836(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE517:
				leal	-836(%ebp), %eax
				leal	-4420(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-836(%ebp), %eax
		.LBE516:
				movl	-5588(%ebp), %edi
				movl	64(%edi), %edx
				addl	$135300, %edx
				subl	$4, %esp
				pushl	$63
				pushl	%eax
				pushl	%edx
				call	_imp_strncpy@PLT
				addl	$16, %esp
		.L1276:
 2484             %cycle
 2485                 k = k-1; %exit %if k < 0
				subl	$1, -5536(%ebp)
				cmpl	$0, -5536(%ebp)
				js	.L1556
				nop
		.L1278:
		.LBB518:
		.LBB519:
		.LBB520:
				nop
				jmp	.L1476
		.L1557:
 2486                 include file = include file.tostring(j>>8)
				movl	-5540(%ebp), %eax
				shrl	$8, %eax
				movl	%eax, -5480(%ebp)
				leal	-836(%ebp), %eax
				movl	%eax, -5476(%ebp)
		.LBB521:
		.LBB522:
		.LBB523:
		.LBB524:
				movl	-5476(%ebp), %eax
		.LBE524:
		.LBE523:
				movb	$1, (%eax)
				leal	-836(%ebp), %eax
				movl	%eax, -5472(%ebp)
				movl	$1, -5468(%ebp)
		.LBB525:
		.LBB526:
				movl	-5472(%ebp), %edx
				movl	-5468(%ebp), %eax
				addl	%edx, %eax
		.LBE526:
		.LBE525:
				movl	-5480(%ebp), %edx
				movb	%dl, (%eax)
				leal	-1092(%ebp), %eax
				leal	-836(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE522:
		.LBE521:
				leal	-836(%ebp), %eax
				leal	-1092(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-836(%ebp), %edx
		.LBE520:
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				leal	135300(%eax), %ecx
				leal	-4164(%ebp), %eax
				subl	$4, %esp
				pushl	%edx
				pushl	%ecx
				pushl	%eax
				movl	-5584(%ebp), %ebx
				call	_imp_join@PLT
				addl	$12, %esp
				leal	-4164(%ebp), %edx
		.LBE519:
				leal	-836(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
				leal	-836(%ebp), %eax
		.LBE518:
				movl	-5588(%ebp), %edi
				movl	64(%edi), %edx
				addl	$135300, %edx
				subl	$4, %esp
				pushl	$63
				pushl	%eax
				pushl	%edx
				movl	-5584(%ebp), %esi
				movl	%esi, %ebx
				call	_imp_strncpy@PLT
				addl	$16, %esp
 2487                 x = x+1
				movl	%esi, %ebx
				movl	X.6050@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%esi, %ebx
				movl	%eax, X.6050@GOTOFF(%ebx)
 2488                 j = glink(x)
				movl	X.6050@GOTOFF(%ebx), %eax
				movzwl	GLINK.6158@GOTOFF(%ebx,%eax,2), %eax
				cwtl
				movl	%eax, -5540(%ebp)
 2489                 k = k-1; %exit %if k < 0
				subl	$1, -5536(%ebp)
				cmpl	$0, -5536(%ebp)
				js	.L1557
				nop
		.L1284:
		.LBB527:
		.LBB528:
		.LBB529:
				nop
		.L1476:
 2490                 include file = include file.tostring(j&255)
				movl	-5540(%ebp), %eax
				movzbl	%al, %eax
				movl	%eax, -5464(%ebp)
				leal	-836(%ebp), %eax
				movl	%eax, -5460(%ebp)
		.LBB530:
		.LBB531:
		.LBB532:
		.LBB533:
				movl	-5460(%ebp), %eax
		.LBE533:
		.LBE532:
				movb	$1, (%eax)
				leal	-836(%ebp), %eax
				movl	%eax, -5456(%ebp)
				movl	$1, -5452(%ebp)
		.LBB534:
		.LBB535:
				movl	-5456(%ebp), %edx
				movl	-5452(%ebp), %eax
				addl	%edx, %eax
		.LBE535:
		.LBE534:
				movl	-5464(%ebp), %edx
				movb	%dl, (%eax)
				leal	-578(%ebp), %eax
				leal	-836(%ebp), %edx
				movl	$256, %ecx
				movl	(%edx), %esi
				movl	%esi, (%eax)
				movl	-4(%edx,%ecx), %esi
				movl	%esi, -4(%eax,%ecx)
				leal	4(%eax), %edi
				andl	$-4, %edi
				subl	%edi, %eax
				subl	%eax, %edx
				addl	%eax, %ecx
				andl	$-4, %ecx
				movl	%ecx, %eax
				shrl	$2, %eax
				movl	%edx, %esi
				movl	%eax, %ecx
				rep movsl
		.LBE531:
		.LBE530:
				leal	-836(%ebp), %eax
				leal	-578(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-836(%ebp), %edx
		.LBE529:
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				leal	135300(%eax), %ecx
				leal	-3908(%ebp), %eax
				subl	$4, %esp
				pushl	%edx
				pushl	%ecx
				pushl	%eax
				movl	-5584(%ebp), %ebx
				call	_imp_join@PLT
				addl	$12, %esp
				leal	-3908(%ebp), %edx
		.LBE528:
				leal	-836(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
				leal	-836(%ebp), %eax
		.LBE527:
				movl	-5588(%ebp), %edi
				movl	64(%edi), %edx
				addl	$135300, %edx
				subl	$4, %esp
				pushl	$63
				pushl	%eax
				pushl	%edx
				movl	-5584(%ebp), %ebx
				call	_imp_strncpy@PLT
				addl	$16, %esp
 2491             %repeat
				jmp	.L1276
		.L1279:
		.L1556:
 2492             ! include file = string(x-16_4000+stbase)
 2493             ! remove this event block for SKIMP or pre-event IMP versions
 2494             %begin
 2495                 %on 9 %start;  Abandon(9);  %finish
				subl	$8, %esp
				pushl	$1
				movl	-5584(%ebp), %ebx
				movl	_imp_event@GOT(%ebx), %eax
				leal	532(%eax), %eax
				pushl	%eax
				call	__sigsetjmp@PLT
				addl	$16, %esp
				testl	%eax, %eax
				jne	.L1289
		.LBB536:
				movl	$9, -836(%ebp)
				movl	$0, -5520(%ebp)
		.LBB537:
				movl	$0, -5516(%ebp)
				jmp	.L1290
		.L1291:
				movl	-5516(%ebp), %eax
				movl	-836(%ebp,%eax,4), %eax
				movl	$1, %edx
				movl	%eax, %ecx
				sall	%cl, %edx
				movl	%edx, %eax
				orl	%eax, -5520(%ebp)
				addl	$1, -5516(%ebp)
		.L1290:
				cmpl	$0, -5516(%ebp)
				je	.L1291
		.LBE537:
				movl	-5520(%ebp), %eax
		.LBE536:
				subl	$8, %esp
				pushl	%eax
				movl	-5584(%ebp), %ebx
				movl	_imp_event@GOT(%ebx), %eax
				pushl	%eax
				call	_imp_on_event_enter@PLT
				addl	$16, %esp
				testl	%eax, %eax
				jne	.L1558
		.L1289:
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$9
				movl	%eax, %ecx
				call	ABANDON.6213
				addl	$16, %esp
				jmp	.L1292
		.L1558:
				nop
		.L1292:
		.LBB538:
 2496                 open input(3, include file)
				movl	-5588(%ebp), %eax
				movl	64(%eax), %edx
				leal	-836(%ebp), %eax
				addl	$135300, %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-836(%ebp), %edx
				movl	$3, -5448(%ebp)
				leal	-322(%ebp), %eax
				movl	%edx, %esi
				movl	$256, %edx
				movl	(%esi), %ecx
				movl	%ecx, (%eax)
				movl	-4(%esi,%edx), %ecx
				movl	%ecx, -4(%eax,%edx)
				leal	4(%eax), %edi
				andl	$-4, %edi
				subl	%edi, %eax
				subl	%eax, %esi
				addl	%eax, %edx
				andl	$-4, %edx
				shrl	$2, %edx
				movl	%edx, %eax
				movl	%eax, %ecx
				rep movsl
		.LBE538:
		.LBB539:
		.LBB540:
				subl	$12, %esp
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-322(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-5448(%ebp)
				movl	-5584(%ebp), %esi
				movl	%esi, %ebx
				call	_imp_openinput@PLT
				addl	$272, %esp
		.LBE540:
		.LBE539:
 2497             %end
				nop
		.L1293:
 2498             include = lines;  lines = 0
				movl	LINES.6060@GOTOFF(%esi), %eax
				movl	%eax, INCLUDE.6102@GOTOFF(%esi)
				movl	$0, LINES.6060@GOTOFF(%esi)
 2499             include list = list;  include level = level
				movl	LIST.6130@GOTOFF(%esi), %eax
				movl	%eax, INCLUDELIST.6100@GOTOFF(%esi)
				movl	-5588(%ebp), %eax
				movl	48(%eax), %eax
				movl	%eax, INCLUDELEVEL.6101@GOTOFF(%esi)
 2500             select input(3)
				subl	$12, %esp
				pushl	$3
				call	_imp_SELECTINPUT
				addl	$16, %esp
 2501             ->top
				jmp	.L1082
		.L1294:
 2502
 2503 c(154):     dimension = dimension+1;                   ! dbsep
				movl	-5584(%ebp), %edi
				movl	DIMENSION.6117@GOTOFF(%edi), %eax
				addl	$1, %eax
				movl	%eax, DIMENSION.6117@GOTOFF(%edi)
 2504             fault(11) %if dimension = dim limit+1
				movl	DIMENSION.6117@GOTOFF(%edi), %eax
				cmpl	$7, %eax
				jne	.L1559
				subl	$12, %esp
				pushl	$11
				movl	-5588(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
				nop
		.L1296:
 2505             ->top
				jmp	.L1082
		.L1559:
				jmp	.L1082
		.L1297:
 2506 c(145):     set bp;                       ->top;       ! crb
				leal	-5444(%ebp), %eax
				movl	%eax, %ecx
				call	SETBP.7248
				jmp	.L1082
		.L1298:
 2507 c(146):     set bp;                                    ! rcrb
				leal	-5444(%ebp), %eax
				movl	%eax, %ecx
				call	SETBP.7248
		.L1299:
 2508 c(142):     ;                                          ! bplrb
 2509             dimension = 1 %if dimension = 0
				movl	-5584(%ebp), %eax
				movl	DIMENSION.6117@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jne	.L1560
				movl	-5584(%ebp), %eax
				movl	$1, DIMENSION.6117@GOTOFF(%eax)
				jmp	.L1301
		.L1560:
				nop
		.L1301:
 2510             op('d', dimension);  op(',', defs)
				movl	-5584(%ebp), %eax
				movl	DIMENSION.6117@GOTOFF(%eax), %edx
				movl	-5588(%ebp), %esi
				movl	64(%esi), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$100
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
				movl	-5432(%ebp), %edx
				movl	64(%esi), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$44
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
 2511             %if class # 146 %start
				movl	-5424(%ebp), %eax
				cmpl	$146, %eax
				je	.L1561
				nop
				jmp	.L1307
		.L1564:
 2512                 set subs(defs)
				movl	-5432(%ebp), %edx
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	SETSUBS.7242
				addl	$16, %esp
 2513                 fault(13) %if dict(dmin) >= 0 %or inhibit # 0 %or level=0
				movl	-5588(%ebp), %ebx
				movl	40(%ebx), %eax
				leal	-1(%eax), %edx
				movl	64(%ebx), %eax
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %eax
				testl	%eax, %eax
				jns	.L1562
				movl	-5588(%ebp), %eax
				movl	4(%eax), %eax
				testl	%eax, %eax
				jne	.L1563
				movl	-5588(%ebp), %eax
				movl	48(%eax), %eax
				testl	%eax, %eax
				jne	.L1564
				jmp	.L1305
		.L1562:
				nop
				jmp	.L1305
		.L1563:
				nop
		.L1305:
				subl	$12, %esp
				pushl	$13
				movl	-5588(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L1307
		.L1303:
		.L1561:
				nop
		.L1307:
 2514             %finish
 2515             dimension = 0;  defs = 0
				movl	-5584(%ebp), %eax
				movl	$0, DIMENSION.6117@GOTOFF(%eax)
				movl	$0, %eax
				movl	%eax, -5432(%ebp)
 2516             ->top
				jmp	.L1082
		.L1308:
 2517 c(128):     id = dupid;  ->top;                        ! EDUP
				movl	-5552(%ebp), %eax
				movl	-5588(%ebp), %esi
				movl	%eax, 44(%esi)
				jmp	.L1082
		.L1309:
 2518 c(130):     block x = x
				movl	-5584(%ebp), %ecx
				movl	X.6050@GOTOFF(%ecx), %eax
				movl	%eax, BLOCKX.6129@GOTOFF(%ecx)
 2519             op('F', 0) %if decl&spec = 0 %and level # 0; ! jump round proc
				movl	DECL.6074@GOTOFF(%ecx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1565
				movl	-5588(%ebp), %eax
				movl	48(%eax), %eax
				testl	%eax, %eax
				je	.L1566
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	$0
				pushl	$70
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
				jmp	.L1313
		.L1311:
		.L1565:
				nop
				jmp	.L1313
		.L1566:
				nop
		.L1313:
 2520 c(125):     dupid = id;                                ! %DUP
				movl	-5588(%ebp), %edi
				movl	44(%edi), %eax
				movl	%eax, -5552(%ebp)
 2521             %return %if Level < 0;                     ! {spec about}
				movl	48(%edi), %eax
				testl	%eax, %eax
				js	.L1567
		.L1315:
				nop
		.L1316:
				nop
		.L1068:
 2522 c(90):      def(x);  ->top;                            ! ident
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %edx
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEF.7266
				addl	$16, %esp
				jmp	.L1082
		.L1317:
 2523 c(131):     ;                                          ! cident
 2524             %if tag(x)_flags&(2_1111111+const bit) = iform+const bit %start
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ecx, %eax
				addl	$49052, %eax
				movl	(%eax), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1568
				nop
		.L1319:
 2525                 tag(x)_format = lit
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %edx
				movl	LIT.6127@GOTOFF(%eax), %ecx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %esi
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%esi, %eax
				addl	$49048, %eax
				movl	%ecx, (%eax)
 2526             %finish %else %start
				jmp	.L1320
		.L1568:
 2527                 set const(lit) %if pending # 0
				movl	-5428(%ebp), %eax
				testl	%eax, %eax
				je	.L1569
				movl	-5584(%ebp), %eax
				movl	LIT.6127@GOTOFF(%eax), %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	SETCONST.6183
				addl	$16, %esp
				jmp	.L1322
		.L1569:
				nop
		.L1322:
 2528                 def(x)
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %edx
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEF.7266
				addl	$16, %esp
 2529                 op('A', 1)
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	$1
				pushl	$65
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
		.L1320:
 2530             %finish
 2531             cident = x
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %eax
				movl	%eax, -5484(%ebp)
 2532             ->top
				jmp	.L1082
		.L1323:
 2533 c(124):     dubious = 1 %if tag(cident)_flags&prot # 0; ! %DUBIOUS
				movl	-5584(%ebp), %eax
				movl	$1, DUBIOUS.6112@GOTOFF(%eax)
		.L1324:
 2534             ->top
				jmp	.L1082
		.L1325:
				jmp	.L1328
		.L1326:
				jmp	.L1328
		.L1327:
		.L1328:
 2535 c(97):      ;                                          ! f
 2536 c(98):      ;                                          ! m
 2537 c(99):      ;                                          ! p
 2538 c(96):      call;  ->top;                              ! r
				leal	-5444(%ebp), %eax
				movl	%eax, %ecx
				call	CALL.7300
				jmp	.L1082
		.L1329:
				jmp	.L1339
		.L1330:
				jmp	.L1339
		.L1331:
				jmp	.L1339
		.L1332:
				jmp	.L1339
		.L1333:
				jmp	.L1339
		.L1334:
				jmp	.L1339
		.L1335:
				jmp	.L1339
		.L1336:
				jmp	.L1339
		.L1337:
				jmp	.L1339
		.L1338:
		.L1339:
 2539 c(165):     ;                                          ! nlab
 2540 c(100):     ;                                          ! rp
 2541 c(101):     ;                                          ! fp
 2542 c(102):     ;                                          ! mp
 2543 c(103):     ;                                          ! pp
 2544 c(91):      ;                                          ! v
 2545 c(92):      ;                                          ! n
 2546 c(106):     ;                                          ! a
 2547 c(107):     ;                                          ! an
 2548 c(108):     ;                                          ! na
 2549 c(109):     ;                                          ! nan
 2550             k = tag(x)_index
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ecx, %eax
				addl	$49056, %eax
				movl	(%eax), %eax
				movl	%eax, -5536(%ebp)
 2551             %if k < 0 %then op('n', -k) %else op('@', k)
				cmpl	$0, -5536(%ebp)
				jns	.L1570
				movl	-5536(%ebp), %eax
				negl	%eax
				movl	%eax, %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$110
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
				jmp	.L1342
		.L1570:
				nop
		.L1341:
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	-5536(%ebp)
				pushl	$64
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
		.L1342:
 2552             ->top
				jmp	.L1082
		.L1343:
 2553 c(121):     set const(0);                   ->top;     ! special for zero
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$0
				movl	%eax, %ecx
				call	SETCONST.6183
				addl	$16, %esp
				jmp	.L1082
		.L1344:
 2554 c(167):     add char( 'G' );                ->pstr;    ! aconst (alias)
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$71
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1345
		.L1346:
 2555 c(const):   ;                                          ! const
 2556             %if x < 0 %start;                          ! constinteger
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jns	.L1571
				nop
 2557                 set const(tag(-x)_format);  ->top
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %eax
				negl	%eax
				movl	%eax, %edx
				movl	-5588(%ebp), %esi
				movl	64(%esi), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ecx, %eax
				addl	$49048, %eax
				movl	(%eax), %edx
				movl	64(%esi), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	SETCONST.6183
				addl	$16, %esp
				jmp	.L1082
		.L1348:
		.L1571:
 2558             %finish
 2559             %if x&16_4000 # 0 %start;                  ! strings
 2560                 add char( '''' )
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$39
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
		.L1345:
 2561 pstr:           x = x-16_4000
				movl	-5584(%ebp), %ecx
				movl	X.6050@GOTOFF(%ecx), %eax
				subl	$16384, %eax
				movl	%eax, X.6050@GOTOFF(%ecx)
 2562                 j = glink(x)
				movl	X.6050@GOTOFF(%ecx), %eax
				movzwl	GLINK.6158@GOTOFF(%ecx,%eax,2), %eax
				cwtl
				movl	%eax, -5540(%ebp)
 2563                 k = j&255
				movl	-5540(%ebp), %eax
				movzbl	%al, %eax
				movl	%eax, -5536(%ebp)
 2564                 add char( k )
				movl	-5536(%ebp), %eax
				movzbl	%al, %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
		.L1349:
 2565                 %cycle
 2566                     k = k-1; ->top %if k < 0
				nop
				jmp	.L1082
		.L1573:
				subl	$1, -5536(%ebp)
				cmpl	$0, -5536(%ebp)
				js	.L1572
				nop
		.L1351:
 2567                     add char( j>>8 );
				movl	-5540(%ebp), %eax
				shrl	$8, %eax
				movzbl	%al, %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
 2568                     x = x+1
				movl	-5584(%ebp), %ebx
				movl	X.6050@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, X.6050@GOTOFF(%ebx)
 2569                     j = glink(x)
				movl	X.6050@GOTOFF(%ebx), %eax
				movzwl	GLINK.6158@GOTOFF(%ebx,%eax,2), %eax
				cwtl
				movl	%eax, -5540(%ebp)
 2570                     k = k-1; ->top %if k < 0
				nop
				jmp	.L1082
		.L1579:
				subl	$1, -5536(%ebp)
				cmpl	$0, -5536(%ebp)
				js	.L1573
				nop
		.L1353:
 2571                     add char( j&255 )
				movl	-5540(%ebp), %eax
				movzbl	%al, %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
 2572                 %repeat
				jmp	.L1349
		.L1354:
 2573             %finish
 2574             %if x&16_2000 # 0 %start;                  ! real - ABD also string-like, but NOT packed
 2575                 x = x-16_2000
 2576                 k = glink(x)
 2577                 op('D', k);  add char( ',' )
 2578                 %cycle
 2579                     ->top %if k = 0
 2580                     k = k-1
 2581                     x = x+1;  j = glink(x)
 2582                     %if j = '@' %start
 2583                         op('@', litpool(glink(x+1)));  ->top
 2584                     %finish
 2585                     add char( j )
 2586                 %repeat
 2587             %finish
 2588             set const(lit pool(x))
 2589             ->top
 2590
 2591 c(137):     add char( 'i' );                ->top;     ! asep
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$105
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1082
		.L1355:
 2592 c(141):     add char( 'a' );                ->top;     ! arb
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$97
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1082
		.L1356:
 2593
 2594             !own arrays
 2595 c(132):     ocount = ub-lb+1
				movl	-5584(%ebp), %esi
				movl	UB.7196@GOTOFF(%esi), %edx
				movl	LB.7195@GOTOFF(%esi), %eax
				subl	%eax, %edx
				movl	%edx, %eax
				addl	$1, %eax
				movl	%eax, OCOUNT.6107@GOTOFF(%esi)
 2596             def(x);                                    ! oident
				movl	X.6050@GOTOFF(%esi), %edx
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEF.7266
				addl	$16, %esp
 2597             dimension = 1;  set subs(1)
				movl	$1, DIMENSION.6117@GOTOFF(%esi)
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	$1
				movl	%eax, %ecx
				call	SETSUBS.7242
				addl	$16, %esp
 2598             %if next = 0 %start;                       ! no initialisation
				movl	-5416(%ebp), %eax
				testl	%eax, %eax
				jne	.L1574
				nop
		.L1358:
 2599                 op('A', ocount) %if ocount > 0
				movl	-5584(%ebp), %eax
				movl	OCOUNT.6107@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jle	.L1575
				movl	-5584(%ebp), %eax
				movl	OCOUNT.6107@GOTOFF(%eax), %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$65
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
				jmp	.L1360
		.L1575:
				nop
		.L1360:
 2600                 ocount = -1
				movl	-5584(%ebp), %eax
				movl	$-1, OCOUNT.6107@GOTOFF(%eax)
 2601             %finish %else %start;                      ! initialisation given
				jmp	.L1361
		.L1574:
 2602                 get next
				leal	-5444(%ebp), %eax
				movl	%eax, %ecx
				call	GETNEXT.7219
		.L1361:
 2603             %finish
 2604             ->top
				jmp	.L1082
		.L1362:
 2605 c(162):     lit = ocount;  ->ins;                      ! indef
				movl	-5584(%ebp), %edx
				movl	OCOUNT.6107@GOTOFF(%edx), %eax
				movl	%eax, LIT.6127@GOTOFF(%edx)
				jmp	.L1363
		.L1364:
 2606 c(143):     pop lit;                                   ! orb
				leal	-5444(%ebp), %eax
				movl	%eax, %ecx
				call	POPLIT.7309
		.L1363:
 2607 ins:        fault(10) %and lit = 0 %if lit < 0
				movl	-5584(%ebp), %eax
				movl	LIT.6127@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jns	.L1576
				subl	$12, %esp
				pushl	$10
				movl	-5588(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
				movl	-5584(%ebp), %eax
				movl	$0, LIT.6127@GOTOFF(%eax)
				jmp	.L1366
		.L1576:
				nop
		.L1366:
 2608             get next
				leal	-5444(%ebp), %eax
				movl	%eax, %ecx
				call	GETNEXT.7219
 2609             ->inst
				jmp	.L1367
		.L1368:
		.L1369:
 2610 c(139):     ;                                          ! osep (x=19)
 2611 c(153):     lit = 1
				movl	-5584(%ebp), %eax
				movl	$1, LIT.6127@GOTOFF(%eax)
		.L1367:
 2612 inst:       pop def %if pending # 0;                   ! ownt (x=0)
				movl	-5428(%ebp), %eax
				testl	%eax, %eax
				je	.L1577
				leal	-5444(%ebp), %eax
				movl	%eax, %ecx
				call	POPDEF.7306
				jmp	.L1371
		.L1577:
				nop
		.L1371:
 2613             op('A', lit)
				movl	-5584(%ebp), %edi
				movl	LIT.6127@GOTOFF(%edi), %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$65
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
 2614             ocount = ocount-lit
				movl	OCOUNT.6107@GOTOFF(%edi), %edx
				movl	LIT.6127@GOTOFF(%edi), %eax
				subl	%eax, %edx
				movl	%edx, %eax
				movl	%eax, OCOUNT.6107@GOTOFF(%edi)
 2615             %if ocount >= 0 %start
				movl	OCOUNT.6107@GOTOFF(%edi), %eax
				testl	%eax, %eax
				js	.L1578
				nop
				jmp	.L1377
		.L1580:
 2616                 ->top %if x # 0;                       ! more coming
				nop
				jmp	.L1082
		.L1582:
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jne	.L1579
				nop
		.L1375:
 2617                 ocount = -1 %and %return %if ocount = 0; ! all done
				movl	-5584(%ebp), %eax
				movl	OCOUNT.6107@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jne	.L1580
				movl	-5584(%ebp), %eax
				movl	$-1, OCOUNT.6107@GOTOFF(%eax)
				jmp	.L1068
		.L1373:
		.L1578:
				nop
		.L1377:
 2618             %finish
 2619             fault(11);  %return
				subl	$12, %esp
				pushl	$11
				movl	-5588(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L1068
		.L1378:
 2620
 2621 c(swit):    op('W', tag(x)_index);  inhibit = 1;  ->atop
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %edx
				movl	-5588(%ebp), %edi
				movl	64(%edi), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ecx, %eax
				addl	$49056, %eax
				movl	(%eax), %edx
				movl	64(%edi), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$87
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
				movl	$1, %eax
				movl	%eax, 4(%edi)
				jmp	.L1123
		.L1379:
 2622 c(134):     def(x);                                    ! swid
				movl	-5584(%ebp), %ebx
				movl	X.6050@GOTOFF(%ebx), %edx
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEF.7266
				addl	$16, %esp
 2623             n = ub-lb+1
				movl	UB.7196@GOTOFF(%ebx), %edx
				movl	LB.7195@GOTOFF(%ebx), %eax
				subl	%eax, %edx
				movl	%edx, %eax
				addl	$1, %eax
				movl	%eax, -5532(%ebp)
 2624             n = (n+15)>>4;                             ! slots needed (includes zero)
				movl	-5532(%ebp), %eax
				addl	$15, %eax
				shrl	$4, %eax
				movl	%eax, -5532(%ebp)
 2625             j = dmax;  dmax = dmax+n+2
				movl	DMAX.6096@GOTOFF(%ebx), %eax
				movl	%eax, -5540(%ebp)
				movl	DMAX.6096@GOTOFF(%ebx), %edx
				movl	-5532(%ebp), %eax
				addl	%edx, %eax
				addl	$2, %eax
				movl	%eax, DMAX.6096@GOTOFF(%ebx)
 2626             abandon(1) %if dmax >= dmin
				movl	DMAX.6096@GOTOFF(%ebx), %eax
				movl	-5588(%ebp), %ebx
				movl	40(%ebx), %edx
				cmpl	%eax, %edx
				jg	.L1581
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$1
				movl	%eax, %ecx
				call	ABANDON.6213
				addl	$16, %esp
				jmp	.L1381
		.L1581:
				nop
		.L1381:
 2627             tag(x)_format = j
				movl	-5584(%ebp), %ebx
				movl	X.6050@GOTOFF(%ebx), %edx
				movl	-5588(%ebp), %esi
				movl	64(%esi), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ecx, %eax
				leal	49048(%eax), %edx
				movl	-5540(%ebp), %eax
				movl	%eax, (%edx)
 2628             dict(j) = lb;  dict(j+1) = ub
				movl	-5540(%ebp), %eax
				leal	-1(%eax), %ecx
				movl	LB.7195@GOTOFF(%ebx), %edx
				movl	64(%esi), %eax
				addl	$6260, %ecx
				movl	%edx, 4(%eax,%ecx,4)
				movl	UB.7196@GOTOFF(%ebx), %edx
				movl	64(%esi), %eax
				movl	-5540(%ebp), %ecx
				addl	$6260, %ecx
				movl	%edx, 4(%eax,%ecx,4)
		.L1382:
 2629             %cycle
 2630                 n = n-1
				subl	$1, -5532(%ebp)
 2631                 ->top %if n < 0
				nop
		.L1082:
				cmpl	$0, -5532(%ebp)
				js	.L1582
				nop
		.L1384:
 2632                 j = j+1;  dict(j+1) = 0
				addl	$1, -5540(%ebp)
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				movl	-5540(%ebp), %edx
				addl	$6260, %edx
				movl	$0, 4(%eax,%edx,4)
 2633             %repeat
				jmp	.L1382
		.L1385:
 2634 c(151):     stats = stats-1;                           ! slab
				movl	-5584(%ebp), %esi
				movl	STATS.6066@GOTOFF(%esi), %eax
				subl	$1, %eax
				movl	%eax, STATS.6066@GOTOFF(%esi)
 2635             fault(7) %and %return %if x < tbase
				movl	X.6050@GOTOFF(%esi), %eax
				movl	-5588(%ebp), %edi
				movl	56(%edi), %edx
				cmpl	%eax, %edx
				jle	.L1583
				subl	$12, %esp
				pushl	$7
				movl	-5588(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L1068
		.L1583:
				nop
		.L1387:
 2636             %if pending # 0 %start;                    ! explicit label
				movl	-5428(%ebp), %eax
				testl	%eax, %eax
				je	.L1584
				nop
		.L1389:
 2637                 def s lab(pstack(1))
				movl	-5584(%ebp), %eax
				movl	PSTACK.7211@GOTOFF(%eax), %edx
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEFSLAB.7287
				addl	$16, %esp
 2638             %finish %else %start
				jmp	.L1400
		.L1584:
 2639                 fault(4) %and %return %if tag(x)_app # 0
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ecx, %eax
				addl	$49044, %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1585
				subl	$12, %esp
				pushl	$4
				movl	-5588(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L1068
		.L1585:
				nop
		.L1392:
 2640                 tag(x)_app = 1
				movl	-5584(%ebp), %edi
				movl	X.6050@GOTOFF(%edi), %edx
				movl	-5588(%ebp), %esi
				movl	64(%esi), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ecx, %eax
				addl	$49044, %eax
				movl	$1, (%eax)
 2641                 n = tag(x)_format
				movl	X.6050@GOTOFF(%edi), %edx
				movl	64(%esi), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ecx, %eax
				addl	$49048, %eax
				movl	(%eax), %eax
				movl	%eax, -5532(%ebp)
		.LBB541:
 2642                 %for j = dict(n), 1, dict(n+1) %cycle
				movl	-5532(%ebp), %eax
				leal	-1(%eax), %edx
				movl	64(%esi), %eax
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -5496(%ebp)
				movl	64(%esi), %eax
				movl	-5532(%ebp), %edx
				addl	$6260, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -5492(%ebp)
		.LBB542:
				movl	-5492(%ebp), %eax
				subl	-5496(%ebp), %eax
				movl	%eax, -5488(%ebp)
				movl	-5488(%ebp), %eax
				xorl	$1, %eax
				shrl	$31, %eax
				movzbl	%al, %eax
		.LBE542:
				testl	%eax, %eax
				je	.L1393
				leal	-2628(%ebp), %eax
				subl	$8, %esp
				movl	-5584(%ebp), %edi
				leal	.LC80@GOTOFF(%edi), %edx
				pushl	%edx
				pushl	%eax
				movl	%edi, %ebx
				call	_imp_c2istr@PLT
				addl	$12, %esp
				movl	_imp_current_line@GOT(%edi), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1394
				movl	-5584(%ebp), %eax
				movl	_imp_current_line@GOT(%eax), %eax
				movl	(%eax), %eax
				movl	%eax, -5592(%ebp)
				jmp	.L1395
		.L1394:
				movl	$2642, -5592(%ebp)
		.L1395:
				movl	-5584(%ebp), %eax
				movl	_imp_current_file@GOT(%eax), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1396
				movl	-5584(%ebp), %ebx
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-2372(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L1397
		.L1396:
		.LBB543:
				leal	-836(%ebp), %eax
				movl	-5584(%ebp), %ecx
				leal	.LC10@GOTOFF(%ecx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-3652(%ebp), %eax
				leal	-836(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE543:
				leal	-2372(%ebp), %eax
				leal	-3652(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L1397:
				pushl	$0
				pushl	$1
				pushl	$5
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-2628(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-5592(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-2372(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				movl	-5584(%ebp), %ebx
				call	_signal_event@PLT
				addl	$528, %esp
		.L1393:
				movl	-5496(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -5540(%ebp)
		.L1398:
				movl	-5540(%ebp), %eax
				cmpl	-5492(%ebp), %eax
				je	.L1586
				addl	$1, -5540(%ebp)
				nop
		.L1400:
		.LBE541:
 2643                     def s lab(j)
				subl	$12, %esp
				leal	-5444(%ebp), %eax
				pushl	-5540(%ebp)
				movl	%eax, %ecx
				call	DEFSLAB.7287
				addl	$16, %esp
 2644                     flush buffer( 128 );               ! flush if bp >= 128
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$128
				movl	%eax, %ecx
				call	FLUSHBUFFER.6163
				addl	$16, %esp
 2645                 %repeat
				jmp	.L1398
		.L1390:
		.L1586:
 2646             %finish
 2647             inhibit = 1
				movl	$1, %eax
				movl	-5588(%ebp), %esi
				movl	%eax, 4(%esi)
 2648             %return
				jmp	.L1068
		.L1401:
 2649
 2650 c(140):     add char( 'p' );         ->top;            ! psep
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$112
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1082
		.L1402:
 2651 c(144):     ;                                          ! prb
 2652             add char( 'p' );
				movl	-5588(%ebp), %ebx
				movl	64(%ebx), %eax
				subl	$12, %esp
				pushl	$112
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
 2653             add char( 'E' );         ->top
				movl	64(%ebx), %eax
				subl	$12, %esp
				pushl	$69
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
				jmp	.L1082
		.L1403:
 2654
 2655             !constant expressions
 2656 c(155):     ;                                          ! pconst
 2657             %if x < 0 %then lit = tag(-x)_format %else lit = lit pool(x)
				movl	-5584(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jns	.L1587
				movl	-5584(%ebp), %ebx
				movl	X.6050@GOTOFF(%ebx), %eax
				negl	%eax
				movl	%eax, %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %ecx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				sall	$3, %eax
				addl	%ecx, %eax
				addl	$49048, %eax
				movl	(%eax), %eax
				movl	%eax, LIT.6127@GOTOFF(%ebx)
				jmp	.L1406
		.L1587:
				nop
		.L1405:
				movl	-5584(%ebp), %esi
				movl	X.6050@GOTOFF(%esi), %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				addl	$4160, %edx
				movl	(%eax,%edx,4), %eax
				movl	%eax, LIT.6127@GOTOFF(%esi)
		.L1406:
 2658             pending = pending+1;     pstack(pending) = lit;  ->top
				movl	-5428(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -5428(%ebp)
				movl	-5428(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-5584(%ebp), %ecx
				movl	LIT.6127@GOTOFF(%ecx), %eax
				movl	%eax, PSTACK.7211@GOTOFF(%ecx,%edx,4)
				jmp	.L1082
		.L1407:
 2659 c(156):     lit = pstack(pending);  lit = -lit %if lit < 0
				movl	-5428(%ebp), %eax
				subl	$1, %eax
				movl	-5584(%ebp), %ebx
				movl	PSTACK.7211@GOTOFF(%ebx,%eax,4), %eax
				movl	%eax, LIT.6127@GOTOFF(%ebx)
				movl	LIT.6127@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jns	.L1588
				movl	-5584(%ebp), %edi
				movl	LIT.6127@GOTOFF(%edi), %eax
				negl	%eax
				movl	%eax, LIT.6127@GOTOFF(%edi)
				jmp	.L1409
		.L1588:
				nop
		.L1409:
 2660             pstack(pending) = lit;  ->top;  !cmod
				movl	-5428(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-5584(%ebp), %ecx
				movl	LIT.6127@GOTOFF(%ecx), %eax
				movl	%eax, PSTACK.7211@GOTOFF(%ecx,%edx,4)
				jmp	.L1082
		.L1410:
 2661 c(157):     lit = -pstack(pending);  pstack(pending) = lit;  ->top; ! csign
				movl	-5428(%ebp), %eax
				subl	$1, %eax
				movl	-5584(%ebp), %edi
				movl	PSTACK.7211@GOTOFF(%edi,%eax,4), %eax
				negl	%eax
				movl	%eax, LIT.6127@GOTOFF(%edi)
				movl	-5428(%ebp), %eax
				leal	-1(%eax), %edx
				movl	LIT.6127@GOTOFF(%edi), %eax
				movl	%eax, PSTACK.7211@GOTOFF(%edi,%edx,4)
				jmp	.L1082
		.L1411:
 2662 c(158):     lit = \pstack(pending);  pstack(pending) = lit;  ->top; ! cuop
				movl	-5428(%ebp), %eax
				subl	$1, %eax
				movl	-5584(%ebp), %edi
				movl	PSTACK.7211@GOTOFF(%edi,%eax,4), %eax
				notl	%eax
				movl	%eax, LIT.6127@GOTOFF(%edi)
				movl	-5428(%ebp), %eax
				leal	-1(%eax), %edx
				movl	LIT.6127@GOTOFF(%edi), %eax
				movl	%eax, PSTACK.7211@GOTOFF(%edi,%edx,4)
				jmp	.L1082
		.L1412:
				jmp	.L1414
		.L1413:
		.L1414:
 2663 c(159):     ;                                          ! cop1
 2664 c(160):     ;                                          ! cop2
 2665 c(161):     pending = pending-1;                       ! cop3
				movl	-5428(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -5428(%ebp)
 2666             lit2 = pstack(pending+1);  lit = pstack(pending)
				movl	-5428(%ebp), %eax
				movl	-5584(%ebp), %ebx
				movl	PSTACK.7211@GOTOFF(%ebx,%eax,4), %eax
				movl	%eax, -5528(%ebp)
				movl	-5428(%ebp), %eax
				subl	$1, %eax
				movl	PSTACK.7211@GOTOFF(%ebx,%eax,4), %eax
				movl	%eax, LIT.6127@GOTOFF(%ebx)
 2667             ->litop(x>>2)
				movl	$2667, -5560(%ebp)
				leal	.LC71@GOTOFF(%ebx), %eax
				movl	%eax, -5556(%ebp)
				movl	X.6050@GOTOFF(%ebx), %eax
				shrl	$2, %eax
				movl	%eax, -5564(%ebp)
				jmp	.L1415
		.L1416:
 2668
 2669 litop(1):   lit = lit<<lit2;           ->setl
				movl	-5584(%ebp), %ebx
				movl	LIT.6127@GOTOFF(%ebx), %edx
				movl	-5528(%ebp), %eax
				movl	%eax, %ecx
				sall	%cl, %edx
				movl	%edx, %eax
				movl	%eax, LIT.6127@GOTOFF(%ebx)
				jmp	.L1417
		.L1418:
 2670 litop(2):   lit = lit>>lit2;           ->setl
				movl	-5584(%ebp), %esi
				movl	LIT.6127@GOTOFF(%esi), %eax
				movl	%eax, %edx
				movl	-5528(%ebp), %eax
				movl	%eax, %ecx
				shrl	%cl, %edx
				movl	%edx, %eax
				movl	%eax, LIT.6127@GOTOFF(%esi)
				jmp	.L1417
		.L1419:
 2671 litop(3):   n = 1;                                     ! lit = lit\\lit2
				movl	$1, -5532(%ebp)
 2672             fault(10) %if lit2 < 0
				cmpl	$0, -5528(%ebp)
				jns	.L1589
				subl	$12, %esp
				pushl	$10
				movl	-5588(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L1425
		.L1421:
		.L1589:
				nop
		.L1422:
		.L1425:
 2673             %while lit2 > 0 %cycle
				cmpl	$0, -5528(%ebp)
				jle	.L1590
				nop
		.L1424:
 2674                 lit2 = lit2-1
				subl	$1, -5528(%ebp)
 2675                 n = n*lit
				movl	-5584(%ebp), %eax
				movl	LIT.6127@GOTOFF(%eax), %eax
				movl	-5532(%ebp), %edx
				imull	%edx, %eax
				movl	%eax, -5532(%ebp)
 2676             %repeat
				jmp	.L1425
		.L1590:
 2677             lit = n;                   ->setl
				movl	-5532(%ebp), %eax
				movl	-5584(%ebp), %edx
				movl	%eax, LIT.6127@GOTOFF(%edx)
				jmp	.L1417
		.L1426:
 2678 litop(4):   %if lit2 = 0 %then fault(10) %else lit = lit//lit2
				cmpl	$0, -5528(%ebp)
				jne	.L1591
				subl	$12, %esp
				pushl	$10
				movl	-5588(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
				nop
		.L1429:
				nop
		.L1428:
				movl	-5584(%ebp), %edi
				movl	LIT.6127@GOTOFF(%edi), %eax
				cltd
				idivl	-5528(%ebp)
				movl	%eax, LIT.6127@GOTOFF(%edi)
 2679                                        ->setl
				jmp	.L1417
		.L1591:
				jmp	.L1417
		.L1430:
 2680 litop(5):   lit = lit&lit2;            ->setl
				movl	-5584(%ebp), %esi
				movl	LIT.6127@GOTOFF(%esi), %eax
				andl	-5528(%ebp), %eax
				movl	%eax, LIT.6127@GOTOFF(%esi)
				jmp	.L1417
		.L1431:
 2681 litop(6):   lit = lit!lit2;            ->setl
				movl	-5584(%ebp), %ecx
				movl	LIT.6127@GOTOFF(%ecx), %eax
				orl	-5528(%ebp), %eax
				movl	%eax, LIT.6127@GOTOFF(%ecx)
				jmp	.L1417
		.L1432:
 2682 litop(7):   lit = lit!!lit2;           ->setl
				movl	-5584(%ebp), %edi
				movl	LIT.6127@GOTOFF(%edi), %eax
				xorl	-5528(%ebp), %eax
				movl	%eax, LIT.6127@GOTOFF(%edi)
				jmp	.L1417
		.L1433:
 2683 litop(8):   lit = lit+lit2;            ->setl
				movl	-5584(%ebp), %esi
				movl	LIT.6127@GOTOFF(%esi), %edx
				movl	-5528(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, LIT.6127@GOTOFF(%esi)
				jmp	.L1417
		.L1434:
 2684 litop(9):   lit = lit-lit2;            ->setl
				movl	-5584(%ebp), %ecx
				movl	LIT.6127@GOTOFF(%ecx), %eax
				subl	-5528(%ebp), %eax
				movl	%eax, LIT.6127@GOTOFF(%ecx)
				jmp	.L1417
		.L1435:
 2685 litop(10):  lit = lit*lit2;            ->setl
				movl	-5584(%ebp), %edi
				movl	LIT.6127@GOTOFF(%edi), %eax
				imull	-5528(%ebp), %eax
				movl	%eax, LIT.6127@GOTOFF(%edi)
				jmp	.L1417
		.L1436:
 2686 litop(11):  lit = lit+lit2;            ->setl
				movl	-5584(%ebp), %esi
				movl	LIT.6127@GOTOFF(%esi), %edx
				movl	-5528(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, LIT.6127@GOTOFF(%esi)
				jmp	.L1417
		.L1437:
 2687 litop(12):  n = 1;                                     ! lit = lit\\lit2
				movl	$1, -5532(%ebp)
 2688             fault(10) %if lit2 < 0
				cmpl	$0, -5528(%ebp)
				jns	.L1592
				subl	$12, %esp
				pushl	$10
				movl	-5588(%ebp), %ecx
				call	FAULT.6316
				addl	$16, %esp
				jmp	.L1443
		.L1439:
		.L1592:
				nop
		.L1440:
		.L1443:
 2689             %while lit2 > 0 %cycle
				cmpl	$0, -5528(%ebp)
				jle	.L1593
				nop
		.L1442:
 2690                 lit2 = lit2-1
				subl	$1, -5528(%ebp)
 2691                 n = n*lit
				movl	-5584(%ebp), %eax
				movl	LIT.6127@GOTOFF(%eax), %eax
				movl	-5532(%ebp), %edx
				imull	%edx, %eax
				movl	%eax, -5532(%ebp)
 2692             %repeat
				jmp	.L1443
		.L1593:
 2693             lit = n;                   ->setl
				movl	-5532(%ebp), %eax
				movl	-5584(%ebp), %edi
				movl	%eax, LIT.6127@GOTOFF(%edi)
				nop
		.L1417:
 2694 setl:       pstack(pending) = lit;     ->top
				movl	-5428(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-5584(%ebp), %edi
				movl	LIT.6127@GOTOFF(%edi), %eax
				movl	%eax, PSTACK.7211@GOTOFF(%edi,%edx,4)
				jmp	.L1082
		.L1444:
 2695
 2696 c(170):     ;
 2697             !Fault(4) %if IMPCOM_Option # ""
 2698             !IMPCOM_Option = String(x-x'4000'+Stbase); ! Option string
 2699             ->Top
				jmp	.L1082
		.L1445:
 2700
 2701             !string resolution
 2702 c(135):     resln = 2;                    ->top;       ! dotl
				movl	$2, -5548(%ebp)
				jmp	.L1082
		.L1446:
 2703 c(136):     resln = resln+1;              ->top;       ! dotr
				addl	$1, -5548(%ebp)
				jmp	.L1082
		.L1447:
 2704 c(55):      op('r', resln);    resln = 0; ->top;       ! resop
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	-5548(%ebp)
				pushl	$114
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
				movl	$0, -5548(%ebp)
				jmp	.L1082
		.L1448:
 2705 c(164):     op('r', resln+4);  resln = 0;              ! cresop
				movl	-5548(%ebp), %eax
				leal	4(%eax), %edx
				movl	-5588(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$114
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
				movl	$0, -5548(%ebp)
		.L1449:
 2706 c(122):     x = 6;                        ->cop;       ! %PRED
				movl	-5584(%ebp), %eax
				movl	$6, X.6050@GOTOFF(%eax)
				jmp	.L1475
		.L1450:
 2707 c(87):      set const(pstack(1));                      ! mass
				movl	-5584(%ebp), %ebx
				movl	%ebx, %ecx
				movl	PSTACK.7211@GOTOFF(%ecx), %edx
				movl	-5588(%ebp), %edi
				movl	64(%edi), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	SETCONST.6183
				addl	$16, %esp
 2708             bp=bp+1 %and buff(bp)='P';    ->top
				movl	%ebx, %ecx
				movl	BP.6141@GOTOFF(%ecx), %eax
				addl	$1, %eax
				movl	%ebx, %ecx
				movl	%eax, BP.6141@GOTOFF(%ecx)
				movl	BP.6141@GOTOFF(%ecx), %eax
				leal	-1(%eax), %edx
				movl	64(%edi), %eax
				movb	$80, 135556(%eax,%edx)
				jmp	.L1082
		.L1480:
 2709         %end
				cmpl	$0, -5500(%ebp)
				js	.L1451
				jmp	.L1480
		.L1085:
		.L1508:
				cmpl	$180, -5500(%ebp)
				jle	.L1452
		.L1451:
				movl	-5584(%ebp), %eax
				movl	_imp_current_line@GOT(%eax), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1453
				movl	-5584(%ebp), %eax
				movl	_imp_current_line@GOT(%eax), %eax
				movl	(%eax), %eax
				movl	%eax, -5596(%ebp)
				jmp	.L1454
		.L1453:
				movl	$2709, -5596(%ebp)
		.L1454:
				movl	-5584(%ebp), %eax
				movl	_imp_current_file@GOT(%eax), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1455
				movl	-5584(%ebp), %ebx
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-2116(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L1456
		.L1455:
		.LBB544:
				leal	-836(%ebp), %eax
				movl	-5584(%ebp), %ebx
				leal	.LC10@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-3396(%ebp), %eax
				leal	-836(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE544:
				leal	-2116(%ebp), %eax
				leal	-3396(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L1456:
				pushl	-5508(%ebp)
				pushl	-5504(%ebp)
				pushl	-5500(%ebp)
				movl	-5584(%ebp), %ebx
				leal	.LC81@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-5500(%ebp)
				pushl	$3
				pushl	$6
				pushl	-5596(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-2116(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L1452:
				movl	-5500(%ebp), %eax
				movl	-5584(%ebp), %ecx
				movl	C.7033@GOTOFF(%ecx,%eax,4), %eax
				jmp	.L1457
		.L1458:
				movl	-5584(%ebp), %eax
				movl	_imp_current_line@GOT(%eax), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1459
				movl	-5584(%ebp), %eax
				movl	_imp_current_line@GOT(%eax), %eax
				movl	(%eax), %eax
				movl	%eax, -5600(%ebp)
				jmp	.L1460
		.L1459:
				movl	$2709, -5600(%ebp)
		.L1460:
				movl	-5584(%ebp), %eax
				movl	_imp_current_file@GOT(%eax), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1461
				movl	-5584(%ebp), %ebx
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-1860(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L1462
		.L1461:
		.LBB545:
				leal	-836(%ebp), %eax
				movl	-5584(%ebp), %edx
				leal	.LC10@GOTOFF(%edx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-3140(%ebp), %eax
				leal	-836(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE545:
				leal	-1860(%ebp), %eax
				leal	-3140(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L1462:
				pushl	-5508(%ebp)
				pushl	-5504(%ebp)
				pushl	-5500(%ebp)
				movl	-5584(%ebp), %ebx
				leal	.LC82@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-5500(%ebp)
				pushl	$2
				pushl	$8
				pushl	-5600(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1860(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L1415:
				cmpl	$0, -5564(%ebp)
				jle	.L1463
				cmpl	$12, -5564(%ebp)
				jle	.L1464
		.L1463:
				movl	-5584(%ebp), %eax
				movl	_imp_current_line@GOT(%eax), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1465
				movl	-5584(%ebp), %eax
				movl	_imp_current_line@GOT(%eax), %eax
				movl	(%eax), %eax
				movl	%eax, -5604(%ebp)
				jmp	.L1466
		.L1465:
				movl	$2709, -5604(%ebp)
		.L1466:
				movl	-5584(%ebp), %eax
				movl	_imp_current_file@GOT(%eax), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1467
				movl	-5584(%ebp), %ebx
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-1604(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L1468
		.L1467:
		.LBB546:
				leal	-836(%ebp), %eax
				movl	-5584(%ebp), %edi
				leal	.LC10@GOTOFF(%edi), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2884(%ebp), %eax
				leal	-836(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE546:
				leal	-1604(%ebp), %eax
				leal	-2884(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L1468:
				pushl	-5560(%ebp)
				pushl	-5556(%ebp)
				pushl	-5564(%ebp)
				movl	-5584(%ebp), %ebx
				leal	.LC83@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-5564(%ebp)
				pushl	$3
				pushl	$6
				pushl	-5604(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1604(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L1464:
				movl	-5564(%ebp), %eax
				subl	$1, %eax
				movl	-5584(%ebp), %edx
				movl	LITOP.7167@GOTOFF(%edx,%eax,4), %eax
				jmp	.L1457
		.L1510:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1470
				call	__stack_chk_fail_local
		.L1470:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE217:
		GETNEXT.7219:
		.LFB219:
 2710
 2711     %end;                                              ! of compile block
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L266
				call	__stack_chk_fail_local
		.L266:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE199:
		SETCELL.6492:
		.LFB203:
 2712
 2713     %on 9 %start
				subl	$8, %esp
				pushl	$1
				movl	_imp_event@GOT(%ebx), %eax
				leal	532(%eax), %eax
				pushl	%eax
				call	__sigsetjmp@PLT
				addl	$16, %esp
				testl	%eax, %eax
				jne	.L30
		.LBB314:
				movl	$9, -138404(%ebp)
				movl	$0, -140280(%ebp)
		.LBB315:
				movl	$0, -140276(%ebp)
				jmp	.L31
		.L32:
				movl	-140276(%ebp), %eax
				movl	-138404(%ebp,%eax,4), %eax
				movl	$1, %edx
				movl	%eax, %ecx
				sall	%cl, %edx
				movl	%edx, %eax
				orl	%eax, -140280(%ebp)
				addl	$1, -140276(%ebp)
		.L31:
				cmpl	$0, -140276(%ebp)
				je	.L32
		.LBE315:
				movl	-140280(%ebp), %eax
		.LBE314:
				subl	$8, %esp
				pushl	%eax
				movl	-140304(%ebp), %ebx
				movl	_imp_event@GOT(%ebx), %eax
				pushl	%eax
				call	_imp_on_event_enter@PLT
				addl	$16, %esp
				testl	%eax, %eax
				jne	.L56
		.L30:
				nop
		.L33:
 2714         abandon(5)
				subl	$12, %esp
				leal	-136612(%ebp), %eax
				pushl	$5
				movl	%eax, %ecx
				call	ABANDON.6213
				addl	$16, %esp
				jmp	.L33
		.L56:
 2715     %finish
 2716
 2717     selectinput(2);  selectoutput(listing)
				subl	$12, %esp
				pushl	$2
				call	_imp_SELECTINPUT
				addl	$16, %esp
				subl	$12, %esp
				pushl	$2
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
 2718     tag(max tag) = 0;                                  ! %begin defn
				movl	$0, %ecx
				movl	$24, %eax
				andl	$-4, %eax
				movl	%eax, %edx
				movl	$0, %eax
		.L34:
				movl	%ecx, -68368(%ebp,%eax)
				addl	$4, %eax
				cmpl	%edx, %eax
				jb	.L34
 2719     tag(0) = 0;  tag(0)_flags = 7;                     ! %begin tag!
				movl	$0, %ecx
				movl	$24, %eax
				andl	$-4, %eax
				movl	%eax, %edx
				movl	$0, %eax
		.L36:
				movl	%ecx, -87568(%ebp,%eax)
				addl	$4, %eax
				cmpl	%edx, %eax
				jb	.L36
				movl	$7, -87560(%ebp)
 2720     Hash(x) = 0 %for x = 0, 1, max names
				movl	-140304(%ebp), %eax
				movl	$-1, X.6050@GOTOFF(%eax)
		.L38:
				movl	-140304(%ebp), %eax
				movl	X.6050@GOTOFF(%eax), %eax
				cmpl	$2047, %eax
				je	.L57
				movl	-140304(%ebp), %esi
				movl	X.6050@GOTOFF(%esi), %eax
				addl	$1, %eax
				movl	%eax, X.6050@GOTOFF(%esi)
				movl	X.6050@GOTOFF(%esi), %eax
				addl	$4212, %eax
				movl	$0, -136612(%ebp,%eax,4)
				jmp	.L38
		.L57:
				nop
		.L40:
		.LBB316:
 2721     printstring("         Edinburgh IMP77 Compiler - Version ")
				leal	-138404(%ebp), %eax
				movl	-140304(%ebp), %ebx
				leal	.LC2@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-139172(%ebp), %eax
				leal	-138404(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-137892(%ebp), %eax
				leal	-139172(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE316:
		.LBB317:
		.LBB318:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-137892(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				movl	%ebx, -140304(%ebp)
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE318:
		.LBE317:
		.LBB319:
 2722 !    printstring("         Preston IMP2020 Compiler - Version ")
 2723     printstring(version);  newlines(2)
				leal	-138404(%ebp), %edx
				movl	$0, %eax
				movl	$64, %ecx
				movl	%edx, %edi
				rep stosl
				movb	$3, -138404(%ebp)
				movl	$3419704, -138403(%ebp)
				leal	-138404(%ebp), %edx
				leal	-137636(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE319:
		.LBB320:
		.LBB321:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-137636(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				movl	-140304(%ebp), %esi
				movl	%esi, %ebx
				call	_imp_printstring@PLT
				addl	$256, %esp
				movl	$2, -140272(%ebp)
		.LBE321:
		.LBE320:
		.LBB322:
		.LBB323:
				subl	$12, %esp
				pushl	-140272(%ebp)
				movl	%esi, %ebx
				call	_imp_newlines@PLT
				addl	$16, %esp
		.LBE323:
		.LBE322:
 2724     op('l', 0)
				subl	$8, %esp
				leal	-136612(%ebp), %eax
				pushl	$0
				pushl	$108
				movl	%eax, %ecx
				call	OP.6180
				addl	$16, %esp
 2725     compile block(0, 0, max dict, 0, 0)
				subl	$12, %esp
				leal	-136612(%ebp), %eax
				pushl	$0
				pushl	$0
				pushl	$6000
				pushl	$0
				pushl	$0
				movl	%eax, %ecx
				call	COMPILEBLOCK.6290
				addl	$32, %esp
 2726     add char( nl );                                    ! {for bouncing off}
				subl	$12, %esp
				leal	-136612(%ebp), %eax
				pushl	$10
				movl	%eax, %ecx
				call	ADDCHAR.6176
				addl	$16, %esp
 2727     flush buffer( 0 );                                 ! flush if bp >= 0
				subl	$12, %esp
				leal	-136612(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	FLUSHBUFFER.6163
				addl	$16, %esp
 2728
 2729     x = listing
				movl	$2, X.6050@GOTOFF(%esi)
		.LBB324:
		.LBB325:
				movl	%esi, %ebx
				call	_imp_newline@PLT
		.L41:
		.LBE325:
		.LBE324:
 2730     newline
 2731     %cycle
 2732         %if faulty = 0 %start
				movl	-140304(%ebp), %eax
				movl	FAULTY.6058@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jne	.L58
				nop
		.L43:
		.LBB329:
 2733             write(stats, 5)
				movl	-140304(%ebp), %esi
				movl	%esi, %ebx
				movl	STATS.6066@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$5
				pushl	%eax
				movl	%esi, %ebx
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB326:
 2734             printstring(" Statements compiled")
				leal	-138404(%ebp), %eax
				movl	%esi, %ebx
				leal	.LC3@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-138916(%ebp), %eax
				leal	-138404(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-137380(%ebp), %eax
				leal	-138916(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE326:
		.LBB327:
		.LBB328:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-137380(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE328:
		.LBE327:
 2735         %else
				jmp	.L46
		.L58:
 2736             printstring(" Program contains ")
				leal	-138404(%ebp), %eax
				movl	-140304(%ebp), %ebx
				leal	.LC4@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-138660(%ebp), %eax
				leal	-138404(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-137124(%ebp), %eax
				leal	-138660(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE329:
		.LBB330:
		.LBB331:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-137124(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				movl	%ebx, %esi
				movl	%esi, %ebx
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE331:
		.LBE330:
 2737             write(faulty, 1)
				movl	%esi, %ebx
				movl	FAULTY.6058@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				movl	%esi, %ebx
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB332:
 2738             printstring(" fault")
				leal	-138404(%ebp), %eax
				movl	%esi, %ebx
				leal	.LC5@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-138148(%ebp), %eax
				leal	-138404(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-136868(%ebp), %eax
				leal	-138148(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE332:
		.LBB333:
		.LBB334:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-136868(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				movl	%ebx, %esi
				movl	%esi, %ebx
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE334:
		.LBE333:
 2739             printsymbol('s') %unless faulty = 1
				movl	%esi, %ebx
				movl	FAULTY.6058@GOTOFF(%ebx), %eax
				cmpl	$1, %eax
				je	.L59
				movb	$115, -140281(%ebp)
		.LBB335:
		.LBB336:
				movsbl	-140281(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				movl	-140304(%ebp), %ebx
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				jmp	.L46
		.L44:
		.L59:
		.LBE336:
		.LBE335:
				nop
		.L46:
		.LBB337:
		.LBB338:
				movl	-140304(%ebp), %edi
				movl	%edi, %ebx
				call	_imp_newline@PLT
		.LBE338:
		.LBE337:
 2740         %finish
 2741         newline
 2742         %exit %if x = report
				movl	%edi, %eax
				movl	X.6050@GOTOFF(%eax), %eax
				testl	%eax, %eax
				je	.L60
				nop
		.L48:
				nop
		.L49:
 2743         x = report
				movl	-140304(%ebp), %eax
				movl	$0, X.6050@GOTOFF(%eax)
 2744         selectoutput(report)
				subl	$12, %esp
				pushl	$0
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
 2745     %repeat
				jmp	.L41
		.L60:
 2746
 2747     %if faulty # 0 %then %stop;        ! try to flag to shell that we failed
				movl	-140304(%ebp), %eax
				movl	FAULTY.6058@GOTOFF(%eax), %eax
				testl	%eax, %eax
				je	.L61
				movl	$0, -140268(%ebp)
		.LBB339:
		.LBB340:
				subl	$12, %esp
				pushl	-140268(%ebp)
				movl	-140304(%ebp), %ebx
				call	exit@PLT
		.L61:
		.LBE340:
		.LBE339:
				nop
		.L51:
				movl	$0, -140264(%ebp)
		.LBB341:
		.LBB342:
				subl	$12, %esp
				pushl	-140264(%ebp)
				movl	-140304(%ebp), %ebx
				call	exit@PLT
		.LBE342:
		.LBE341:
		.LFE189:
		ADDCHAR.6176:
		.LFB191:
 2748
 2749 %endofprogram
 2404 Statements compiled
