         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin; ! LC (Low-level compiler) for 8086
				.section	".text"
		.Ltext0:
				.align 4
				.proc	020
		NEXTATOM.6237:
		.LFB190:
		.LVL557:
				sethi	%hi(16384), %g1
				xor	%g1, -992, %g1
				save	%sp, %g1, %sp
		.LVL558:
				ldx	[%g7+40], %g1
				stx	%g1, [%fp+2039]
				mov	0, %g1
				sethi	%hi(7168), %i5
				xor	%i5, -1016, %i5
				add	%fp, 2047, %g1
				add	%g1, %i5, %i5
				mov	1021, %g1
				sllx	%g1, 3, %g1
				add	%fp, 2047, %g2
				stx	%g2, [%i5+%g1]
    2
				mov	%i1, %o1
				call	_imp_initialise, 0
				 mov	%i0, %o0
		.LVL559:
    3 ! Statement -> CONST {tag = cexpr}+
    4 !              {WORD, BYTE} {tag { (cexpr:cexpr) }? {= {data}+ }? }*
    5 !              SPEC tag string
    6 !              PROC tag {string}? {tag}*
    7 !              END
    8 !              tag :
    9 !              {instruction, ELSE}? {IF expr comp expr}?
   10 !              CYCLE
   11 !              FINISH
   12 ! Instruction -> MOVE {string opd, cexpr opd opd}
   13 !                JUMP tag
   14 !                REPEAT
   15 !                RETURN {expr}?
   16 !                opd = expr
   17 !                tag {expr}*
   18 ! Data -> {string, cexpr { (cexpr) }? }
   19 ! Cexpr -> const {op const}*
   20 ! Expr -> {opd, const} {op {opd, const} }*
   21 ! Opd -> tag { ( {opd, const} ) }?
   22 ! Op -> + - & ! \ * / % << >>
   23 ! Comp -> = # < > <= >= [ ] [= ]=
   24 ! Comments are enclosed between { and } or | and NL.
   25
   26 ! Calling convention: Push parms, then XCALL or Push CS, CALL.
   27 !Entry: Push DS, Push BP, Mov BP,SP, {Sub SP,framesize}?,
   28 !        {Mov AX,Glaseg, Mov DS,AX}? Xor AX,AX, Push AX
   29 !Return: Mov SP,BP, Pop BP, Pop DS, Xret parmsize.
   30
   31 %constinteger source=1,diag=0,object=1,list=2;  !Streams
   32
   33 %constinteger linemax=80,atommax=50,tagmax=200,textmax=20
   34 %constinteger codemax=3499,glamax=499
   35 %byteintegerarray line(1:linemax)
   36 %byteintegerarray code(0:codemax)
   37 %byteintegerarray gla(0:glamax)
   38 %integerarray atomtype,atomval(1:atommax)
   39 %integerarray tag1,tag2,tagtype,tagval(1:tagmax)
   40 %integerarray texttype,textval(1:textmax)
   41 %integer type,val,t,v,atompos,ifpos,floc,parms
   42 %integer oldapos,oldcpos,oldtpos,access,textlevel
   43 %integer lineno=0,cloc=0,gloc=0,level=0,gpos=0,cpos=0,tagpos=1
   44 %string(31)program
				st	%g0, [%i5+3828]
   45
   46 !Atom types
				st	%g0, [%i5+3420]
   47 %constinteger unknown=0,constant=1,string=2,label=3
   48 %constinteger var=4, wordbit=1, glabit=2, varmask=16_fc
				st	%g0, [%i5+3416]
   49 %constinteger proc=8,xproc=9,spec=10
   50 %constinteger op=11,comp=12,colon=13,sep=14,bracket=15,bx=16!wordbit
				st	%g0, [%i5+16]
   51
   52 ! Keyword types
				st	%g0, [%i5+196]
   53 %constinteger kconst=17,kword=18,kbyte=19,kspec=20,kproc=21
   54 %constinteger kend=22,kmove=23,kjump=24,kreturn=25,kprogram=26
				st	%g0, [%i5+192]
   55 %constinteger kelse=27,kfinish=28,kcycle=29,krepeat=30
   56
				mov	1, %g1
				st	%g1, [%i5+3408]
   57 !Operator codes
   58 %constinteger load=1,add=2,sub=3,and=4,or=5,xor=6,cmp=7,
   59               mul=8,div=9,rem=10,left=11,right=12,store=13,lea=14
   60
   61 !Keyword tag codes (1:36 = A:Z,0:9) 1st {*37 + 2nd {*37 + 3rd}? }?
   62 %constinteger if=339
   63 %ownintegerarray n1(kconst:krepeat)=
   64   4676, 32060, 3683, 26608, 22585, 7367, 18374, 14480, 24847, 22585,
   65   7308,  8561, 5035, 24843
   66 %ownintegerarray n2(kconst:krepeat)=
   67    723,     4,    5,     3,     3,    0,     5,    16, 29429, 10250,
   68      5, 13032,  449,  6902
   69
   70 !Fault numbers
   71 %constinteger complex=1,atom=2,consterr=3,bfull=4,form=5,ambig=6,
   72      nested=7,declate=8,far=9,labund=10,level0=11,varund=12,dfull=13,
   73      repexp=14,finexp=15,context=16,maxfault=16
   74
   75 %routine fault(%integer n)
		.LVL92:
				save	%sp, -3008, %sp
		.LVL93:
				mov	%g5, %i3
				ldx	[%g7+40], %g1
				stx	%g1, [%fp+2039]
				mov	0, %g1
		.LVL94:
		.LBB258:
		.LBB259:
				sethi	%hi(_imp_OutStream), %g1
				st	%g0, [%g1+%lo(_imp_OutStream)]
				sethi	%hi(_imp_outfile), %g1
				ldx	[%g1+%lo(_imp_outfile)+8], %g2
				sethi	%hi(_imp_OutFile), %g1
				stx	%g2, [%g1+%lo(_imp_OutFile)]
				sethi	%hi(__PRETTY_FUNCTION__.5660), %o0
				call	check_outstream, 0
				 or	%o0, %lo(__PRETTY_FUNCTION__.5660), %o0
		.LVL95:
		.LBE259:
		.LBE258:
   76 %ownstring(15)%array s(1:maxfault)=
   77 "Complex",
   78 "Atom",
   79 "Not constant",
   80 "Buffer full",
   81 "Form",
   82 "Ambiguous",
   83 "Nesting",
   84 "Too late",
   85 "Too far",
   86 "Label missing",
   87 "Code misplaced",
   88 "Name",
   89 "Dict full",
   90 "Repeat expected",
   91 "Finish expected",
   92 "Context"
   93 %integer i,sym
   94    selectoutput(diag); write(lineno,1); space
   95    i=1
				mov	1, %o1
				call	_imp_writeint, 0
				 ldsw	[%i3+3828], %o0
		.LVL96:
		.LBB260:
		.LBB261:
				call	_imp_space, 0
				 mov	1011, %i5
		.LVL97:
				sllx	%i5, 3, %i5
				add	%i3, %i5, %i5
		.LVL98:
		.L84:
		.LBE261:
		.LBE260:
		.LBB262:
		.LBB263:
				ldub	[%i5], %i4
				call	_imp_printsymbol, 0
				 ldsb	[%i5], %o0
		.LVL99:
		.LBE263:
		.LBE262:
   96    %cycle
   97       sym=line(i); printsymbol(sym); i=i+1
   98    %repeatuntil sym=nl
				and	%i4, 0xff, %i4
		.LVL100:
				cmp	%i4, 10
				bne,pt	%icc, .L84
				 add	%i5, 1, %i5
		.L85:
				mov	256, %o2
				add	%fp, -265, %o1
				call	memcpy, 0
				 add	%fp, 1783, %o0
		.LVL101:
		.LBB264:
		.LBB265:
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 add	%fp, -529, %o0
		.LVL102:
				call	_imp_printstring, 0
				 add	%fp, -529, %o0
		.LVL103:
		.LBE265:
		.LBE264:
   99    printstring(s(n)); write(atompos-1,1); newline
  100    selectoutput(list)
  101    printstring("** "); printstring(s(n))
				mov	256, %o2
				sethi	%hi(.LC8), %o1
				or	%o1, %lo(.LC8), %o1
				call	memcpy, 0
				 add	%fp, 1527, %o0
		.LVL107:
				mov	256, %o2
				add	%fp, 1527, %o1
				call	memcpy, 0
				 add	%fp, -9, %o0
		.LVL108:
				mov	256, %o2
				add	%fp, -9, %o1
				call	memcpy, 0
				 add	%fp, 1527, %o0
		.LVL109:
		.LBE270:
		.LBB271:
		.LBB272:
				mov	256, %o2
				add	%fp, 1527, %o1
				call	memcpy, 0
				 add	%fp, -529, %o0
		.LVL110:
				call	_imp_printstring, 0
				 add	%fp, -529, %o0
		.LVL111:
				mov	256, %o2
				add	%fp, 247, %o1
				call	memcpy, 0
				 add	%fp, 1271, %o0
		.LVL112:
		.LBE272:
		.LBE271:
		.LBB273:
		.LBB274:
				mov	256, %o2
				add	%fp, 1271, %o1
				call	memcpy, 0
				 add	%fp, -529, %o0
		.LVL113:
				call	_imp_printstring, 0
				 add	%fp, -529, %o0
		.LVL114:
		.LBE274:
		.LBE273:
  102    write(atompos-1,1); newline
				lduw	[%i3+3824], %o0
				add	%o0, -1, %o0
				mov	1, %o1
				call	_imp_writeint, 0
				 sra	%o0, 0, %o0
		.LVL115:
		.LBB275:
		.LBB276:
				call	_imp_newline, 0
				 nop
		.LVL116:
		.LBE276:
		.LBE275:
  103    %signalevent 15
				sethi	%hi(_imp_current_file), %g1
				ldx	[%g1+%lo(_imp_current_file)], %o1
				brz,pn	%o1, .L86
				 mov	256, %o2
				call	_imp_c2istr, 0
				 add	%fp, 759, %o0
		.LVL117:
				sethi	%hi(_imp_current_line), %g1
		.L93:
				lduw	[%g1+%lo(_imp_current_line)], %i5
				cmp	%i5, 0
				move	%icc, 103, %i5
				sethi	%hi(.LC14), %o1
				or	%o1, %lo(.LC14), %o1
				call	_imp_c2istr, 0
				 add	%fp, 1015, %o0
		.LVL118:
				mov	256, %o2
				add	%fp, 759, %o1
				call	memcpy, 0
				 add	%fp, -529, %o0
		.LVL119:
				mov	256, %o2
				add	%fp, 1015, %o1
				call	memcpy, 0
				 add	%fp, -785, %o0
		.LVL120:
				mov	0, %o5
				mov	0, %o4
				mov	15, %o3
				add	%fp, -785, %o2
				sra	%i5, 0, %o1
				call	_signal_event, 0
				 add	%fp, -529, %o0
		.LVL121:
				sethi	%hi(.LC5), %o1
				or	%o1, %lo(.LC5), %o1
				call	memcpy, 0
				 add	%fp, 1015, %o0
		.LVL122:
				mov	256, %o2
				add	%fp, 1015, %o1
				call	memcpy, 0
				 add	%fp, 503, %o0
		.LVL123:
		.LBE277:
				mov	256, %o2
				add	%fp, 503, %o1
				call	memcpy, 0
				 add	%fp, 759, %o0
		.LVL124:
				ba,pt	%xcc, .L93
				 sethi	%hi(_imp_current_line), %g1
		.L92:
  104 %end
				lduw	[%i3+3824], %o0
				add	%o0, -1, %o0
				mov	1, %o1
				call	_imp_writeint, 0
				 sra	%o0, 0, %o0
		.LVL104:
		.LBB266:
		.LBB267:
				call	_imp_newline, 0
				 nop
		.LVL105:
		.LBE267:
		.LBE266:
		.LBB268:
		.LBB269:
				sethi	%hi(_imp_OutStream), %g1
				mov	2, %g2
				st	%g2, [%g1+%lo(_imp_OutStream)]
				sethi	%hi(_imp_outfile), %g1
				ldx	[%g1+%lo(_imp_outfile)+584], %g2
				sethi	%hi(_imp_OutFile), %g1
				stx	%g2, [%g1+%lo(_imp_OutFile)]
				sethi	%hi(__PRETTY_FUNCTION__.5660), %o0
				call	check_outstream, 0
				 or	%o0, %lo(__PRETTY_FUNCTION__.5660), %o0
		.LVL106:
		.LBE269:
		.LBE268:
		.LBB270:
  105
				ldx	[%fp+2039], %g1
				ldx	[%g7+40], %g2
				xor	%g1, %g2, %g1
				mov	0, %g2
				brnz,pn	%g1, .L92
				 nop
				return	%i7+8
				 nop
		.L86:
		.LBB277:
				call	__stack_chk_fail, 0
				 nop
		.LVL125:
				nop
		.LFE186:
				.align 4
				.proc	020
		PUTATOM.6128:
		.LFB189:
  106 %routine readline
				save	%sp, -2768, %sp
				mov	%g5, %i3
				ldx	[%g7+40], %g1
				stx	%g1, [%fp+2039]
				mov	0, %g1
				add	%fp, 2047, %g1
				stx	%g1, [%fp-17]
				stx	%g5, [%fp-25]
		.LVL129:
		.LBB278:
		.LBB279:
				sethi	%hi(_imp_OutStream), %g1
				mov	2, %g2
				st	%g2, [%g1+%lo(_imp_OutStream)]
				sethi	%hi(_imp_outfile), %g1
				ldx	[%g1+%lo(_imp_outfile)+584], %g2
				sethi	%hi(_imp_OutFile), %g1
				stx	%g2, [%g1+%lo(_imp_OutFile)]
				sethi	%hi(__PRETTY_FUNCTION__.5660), %o0
				call	check_outstream, 0
				 or	%o0, %lo(__PRETTY_FUNCTION__.5660), %o0
		.LVL130:
		.LBE279:
		.LBE278:
  107 %owninteger semi=0
  108 %OWNINTEGER QUOTE=0
  109 %integer sym,n1,n2,radix,i,quoted,lpos
  110
  111   %routine phex(%integer x)
		.LVL31:
				save	%sp, -176, %sp
		.LVL32:
  112   %integer k,i
  113     %for i=12,-4,0 %cycle
  114       k=x>>i&15; k=k+7 %if k>9
				mov	16, %i5
		.LVL33:
				srl	%i0, %i5, %o0
				and	%o0, 15, %o0
		.LVL35:
  115       printsymbol(k+'0')
				add	%o0, 48, %o0
		.LVL37:
		.LBB224:
		.LBB225:
				sllx	%o0, 56, %o0
		.LVL38:
				call	_imp_printsymbol, 0
				 srax	%o0, 56, %o0
		.LVL39:
		.LDL4:
		.LBE225:
		.LBE224:
  116     %repeat
				add	%o0, 7, %g1
				cmp	%o0, 9
				movg	%icc, %g1, %o0
		.LVL36:
		.L44:
				cmp	%i5, 0
				bne,pt	%icc, .L48
				 add	%i5, -4, %i5
  117   %end
				add	%i5, -4, %i5
		.LVL34:
		.L48:
  118
				return	%i7+8
				 nop
		.L46:
		.LFE188:
				.section	.rodata.str1.8
				.align 8
		.LC12:
				.asciz	"Illegal cycle I = 0, 1, GPOS - 1"
				.section	".text"
				.align 4
				.proc	020
		GFLUSH.6305:
		.LFB198:
  119   %routine putatom(%integer t,v)
		.LVL126:
				save	%sp, -176, %sp
		.LVL127:
				mov	%g5, %i5
  120     fault(complex) %if atompos>atommax
				ldx	[%g5], %g5
				lduw	[%g5+3824], %g1
				cmp	%g1, 50
				bg,pn	%icc, .L96
				 nop
		.L95:
  121     atomtype(atompos)=t; atomval(atompos)=v
				ldx	[%i5], %g2
		.L97:
				lduw	[%g2+3824], %g1
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%g1, 904, %g1
				sllx	%g1, 2, %g1
				add	%g2, %g1, %g1
				st	%i0, [%g1+8]
				call	FAULT.6091, 0
				 mov	1, %o0
		.LVL128:
				ba,pt	%xcc, .L97
				 ldx	[%i5], %g2
		.LFE189:
				.section	.rodata.str1.8
				.align 8
		.LC15:
				.asciz	"Illegal cycle I = TAGPOS - 1,  -1, 1"
				.section	".rodata"
		.LC6:
				.byte	2
				.asciz	" C"
				.skip	252
		.LC7:
				.byte	2
				.asciz	" D"
				.skip	252
				.section	".text"
				.align 4
				.proc	020
		READLINE.6107:
		.LFB187:
  122     atompos=atompos+1
				ldx	[%i5], %g2
				lduw	[%g2+3824], %g1
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%g1, 856, %g1
				sllx	%g1, 2, %g1
				st	%i1, [%g2+%g1]
				ldx	[%i5], %g2
				lduw	[%g2+3824], %g1
				add	%g1, 1, %g1
				st	%g1, [%g2+3824]
  123   %end
  124
				return	%i7+8
				 nop
		.L96:
  125    selectoutput(list)
  126    %cycle
  127       %if semi=0 %start
				sethi	%hi(SEMI.6109), %l0
		.LBB280:
				lduw	[%l0+%lo(SEMI.6109)], %g1
				cmp	%g1, 0
				be,a,pn	%icc, .L201
				 lduw	[%i3+3828], %o0
  128         write(lineno+1,4)
				add	%o0, 1, %o0
				mov	4, %o1
				call	_imp_writeint, 0
				 sra	%o0, 0, %o0
		.LVL131:
		.LBB282:
  129         printstring(" C"); phex(cloc); printstring(" D"); phex(gloc)
				sethi	%hi(.LC6), %l5
				or	%l5, %lo(.LC6), %l5
		.LBE280:
		.LBB281:
				mov	256, %o2
				mov	%l5, %o1
				call	memcpy, 0
				 add	%fp, 1271, %o0
		.LVL132:
				mov	256, %o2
				add	%fp, 1271, %o1
				call	memcpy, 0
				 add	%fp, -9, %o0
		.LVL133:
				mov	256, %o2
				add	%fp, -9, %o1
				call	memcpy, 0
				 add	%fp, 1783, %o0
		.LVL134:
		.LBE282:
		.LBB283:
		.LBB284:
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 add	%fp, -289, %o0
		.LVL135:
				call	_imp_printstring, 0
				 add	%fp, -289, %o0
		.LVL136:
		.LBE284:
		.LBE283:
  130         space
				call	PHEX.6119, 0
				 ldsw	[%i3+3420], %o0
		.LVL137:
		.LBB285:
  131       %finish
				sethi	%hi(.LC7), %l4
				or	%l4, %lo(.LC7), %l4
		.LBE281:
				mov	256, %o2
				mov	%l4, %o1
				call	memcpy, 0
				 add	%fp, 1271, %o0
		.LVL138:
				mov	256, %o2
				add	%fp, 1271, %o1
				call	memcpy, 0
				 add	%fp, 247, %o0
		.LVL139:
				mov	256, %o2
				add	%fp, 247, %o1
				call	memcpy, 0
				 add	%fp, 1527, %o0
		.LVL140:
		.LBE285:
		.LBB286:
		.LBB287:
				mov	256, %o2
				add	%fp, 1527, %o1
				call	memcpy, 0
				 add	%fp, -289, %o0
		.LVL141:
				call	_imp_printstring, 0
				 add	%fp, -289, %o0
		.LVL142:
		.LBE287:
		.LBE286:
  132       lpos=1; quoted=0
				call	PHEX.6119, 0
				 ldsw	[%i3+3416], %o0
		.LVL143:
		.LBB288:
		.LBB289:
				call	_imp_space, 0
				 mov	1, %i5
		.LVL144:
		.LBE289:
		.LBE288:
  133       %cycle
  134 next:    %if lpos+quoted=linemax %start; ! line nearly too long: force end
  135             %if quoted=0 %then sym=nl %else sym=quote
				add	%i4, %i5, %g1
				cmp	%g1, 80
				bne,pn	%icc, .L102
				 cmp	%i4, 0
				bne,pt	%icc, .L103
				 lduw	[%i2+%lo(QUOTE.6110)], %o0
  136          %else
				st	%l2, [%fp-29]
		.LVL152:
		.LBB294:
		.LBB292:
				call	_imp_printsymbol, 0
				 mov	10, %o0
		.LVL153:
		.LBE292:
		.LBE294:
  137             readsymbol(sym)
  138          %finish
  139          printsymbol(sym)
				st	%o0, [%fp-29]
		.LVL146:
		.LBB290:
		.LBB291:
				sllx	%o0, 56, %o0
		.LVL147:
				call	_imp_printsymbol, 0
				 srax	%o0, 56, %o0
		.LVL148:
		.L105:
		.LBE291:
		.LBE290:
  140          %if quoted=0 %start
				cmp	%i4, 0
				bne,a,pt %icc, .L236
				 lduw	[%i2+%lo(QUOTE.6110)], %g1
				ba,pt	%xcc, .L226
				 lduw	[%fp-29], %g1
		.LVL158:
		.L106:
		.L235:
  141            quoted=1 %if sym='''' %or sym='"'
				lduw	[%fp-29], %g1
		.L226:
				xor	%g1, 39, %g2
				cmp	%g0, %g2
				addx	%g0, 0, %g2
  142            quote=sym %if quoted#0
				xor	%g1, 34, %g2
				cmp	%g0, %g2
				addx	%g0, 0, %g3
				andcc	%g3, %g2, %g0
				bne,a,pn %icc, .L106
				 lduw	[%fp-29], %g1
		.L107:
		.LVL154:
  143          %else
				ba,pt	%xcc, .L108
				 st	%g1, [%i2+%lo(QUOTE.6110)]
		.LVL155:
		.L102:
		.LBB295:
		.LBB296:
				call	_imp_readsymbol, 0
				 add	%fp, -29, %o0
		.LVL156:
		.LDL5:
		.LDL6:
		.LBE296:
		.LBE295:
		.LBB297:
		.LBB293:
				call	_imp_printsymbol, 0
				 ldsb	[%fp-26], %o0
		.LVL157:
		.LBE293:
		.LBE297:
  144            quoted=0 %if sym=quote
				lduw	[%i2+%lo(QUOTE.6110)], %g1
		.L236:
				lduw	[%fp-29], %g2
				cmp	%g2, %g1
				be,pn	%icc, .L235
				 lduw	[%fp-29], %g1
		.LVL149:
		.L108:
				ba,pt	%xcc, .L101
				 sethi	%hi(QUOTE.6110), %i2
		.LVL177:
		.L200:
		.L123:
  145          %finish
  146          %if quoted=0 %start
  147             %if sym='{' %start; ! Comment
				cmp	%g1, 123
				be,pn	%icc, .L110
				 add	%g1, -97, %g2
		.L109:
		.LVL159:
		.LBB298:
  148                %cycle
  149                   readsymbol(sym)
  150                   printsymbol(sym)
  151                   %if sym=nl %start
				lduw	[%fp-29], %g1
				cmp	%g1, 10
				bne,pt	%icc, .L237
				 cmp	%g1, 125
  152                      lineno=lineno+1; spaces(18)
				lduw	[%i3+3828], %g1
				add	%g1, 1, %g1
				st	%g1, [%i3+3828]
		.LVL166:
		.LBB303:
		.LBB304:
				call	_imp_spaces, 0
				 mov	18, %o0
		.LVL167:
		.LBE304:
		.LBE303:
  153                   %finish
  154                %repeatuntil sym='}'
				cmp	%g1, 125
		.L237:
				be,pn	%icc, .L101
				 mov	%l1, %i4
		.L110:
		.LVL163:
		.LBB299:
		.LBB300:
				call	_imp_readsymbol, 0
				 add	%fp, -29, %o0
		.LVL164:
		.LBE300:
		.LBE299:
		.LBB301:
		.LBB302:
				call	_imp_printsymbol, 0
				 ldsb	[%fp-26], %o0
		.LVL165:
		.LBE302:
		.LBE301:
				ba,pt	%xcc, .L227
				 lduw	[%fp-29], %g1
		.LVL168:
		.L197:
  155                ->next
  156             %finish
				ba,pt	%xcc, .L225
				 mov	0, %i4
		.LVL145:
		.L103:
				mov	%i0, %i4
		.LVL150:
		.L116:
		.L119:
		.L120:
				mov	1, %i5
				mov	0, %i4
		.L225:
				mov	1, %i0
				mov	0, %l1
  157             sym=sym-32 %if 'a'<=sym<='z'; semi=0
  158             %if sym=';' %start
				lduw	[%fp-29], %g1
				cmp	%g1, 59
				be,pn	%icc, .L198
				 cmp	%g1, 124
		.L114:
  159               sym=nl; lineno=lineno-1; semi=1
				st	%l2, [%fp-29]
				mov	10, %l2
  160             %finish
				lduw	[%i3+3828], %g1
				add	%g1, -1, %g1
				st	%g1, [%i3+3828]
  161             %if sym='|' %start
				be,pn	%icc, .L117
				 mov	%l1, %i4
		.LVL161:
				st	%i0, [%l0+%lo(SEMI.6109)]
				mov	%l1, %i4
		.LVL170:
		.L115:
  162               readsymbol(sym) %and printsymbol(sym) %until sym=nl
				cmp	%g2, 25
				bleu,pn	%icc, .L197
				 add	%g1, -32, %g1
		.LVL160:
		.L113:
		.LBE298:
  163             %finish
  164          %finish
				ba,pt	%xcc, .L113
				 st	%g1, [%fp-29]
		.LVL169:
		.L198:
  165          lineno=lineno+1 %if sym=nl
				lduw	[%fp-29], %g2
		.L242:
				cmp	%g2, 10
				be,pn	%icc, .L115
				 add	%i5, -1, %g1
				ba,pt	%xcc, .L242
				 lduw	[%fp-29], %g2
		.LVL162:
		.L111:
		.L227:
				lduw	[%fp-29], %g1
				cmp	%g1, 10
				bne,pt	%icc, .L117
				 mov	10, %g2
  166          line(lpos)=sym; lpos=lpos+1
				mov	1011, %i1
				ba,pt	%xcc, .L99
				 sllx	%i1, 3, %i1
		.L201:
				sra	%g1, 0, %g1
				add	%i3, %g1, %g1
				stb	%g2, [%g1+%i1]
				st	%g0, [%l0+%lo(SEMI.6109)]
				lduw	[%i3+3828], %g1
				add	%g1, 1, %g1
				st	%g1, [%i3+3828]
		.LDL7:
				add	%i5, -1, %g1
				sra	%g1, 0, %g1
				add	%i3, %g1, %g1
				stb	%l3, [%g1+%i1]
		.LVL171:
				lduw	[%i3+3828], %g1
				add	%g1, 1, %g1
				st	%g1, [%i3+3828]
				add	%i5, -1, %g1
				sra	%g1, 0, %g1
				add	%i3, %g1, %g1
				stb	%g2, [%g1+%i1]
				mov	10, %l3
  167       %repeatuntil sym=nl %and quoted=0
				add	%i5, 1, %i5
		.LVL151:
		.L101:
				add	%i5, 1, %i5
		.LVL175:
		.L122:
  168    %repeatuntil lpos>2; ! non-empty line
				cmp	%i4, 0
				bne,pt	%icc, .L101
				 add	%i5, 1, %i5
				cmp	%i5, 2
		.L228:
				bg,pn	%icc, .L200
				 mov	1, %g1
		.LVL176:
		.L99:
  169
  170 ! Now decompose line into atoms
  171
				ba,pt	%xcc, .L228
				 cmp	%i5, 2
		.LVL172:
		.L117:
		.LBB305:
		.LBB306:
				call	_imp_readsymbol, 0
				 add	%fp, -29, %o0
		.LVL173:
		.LBE306:
		.LBE305:
		.LBB307:
		.LBB308:
				call	_imp_printsymbol, 0
				 ldsb	[%fp-26], %o0
		.LVL174:
		.LBE308:
		.LBE307:
  172    atompos=1; ifpos=0; lpos=1
				st	%g1, [%i3+3824]
  173 nextatom:
				st	%g0, [%i3+3412]
		.LVL178:
  174    %cycle
				mov	1, %i0
  175       sym=line(lpos); lpos=lpos+1
				mov	1011, %i4
				sllx	%i4, 3, %i4
		.LBB309:
				ba,pt	%xcc, .L229
				 add	%i0, -1, %g1
		.LVL212:
		.L203:
				ba,pt	%xcc, .L229
				 add	%i0, -1, %g1
		.LVL238:
		.L188:
		.LBB312:
				mov	0, %g3
		.LBE312:
				add	%i0, -1, %g1
		.L229:
				sra	%g1, 0, %g1
				add	%i3, %g1, %g1
				ldub	[%g1+%i4], %g1
				and	%g1, 0xff, %o1
				st	%o1, [%fp-29]
		.LVL252:
		.LBB315:
  176       ->tag %if 'A'<=sym<='Z'
  177       ->num %if '0'<=sym<='9'
  178       %if sym=nl %start
				be,pn	%icc, .L209
				 cmp	%o1, 58
		.L129:
  179         putatom(sep,0); atompos=1; %return
				add	%fp, -25, %g5
				mov	0, %o1
		.LVL180:
				call	PUTATOM.6128, 0
				 mov	14, %o0
		.LVL181:
  180       %finish
				mov	1, %g1
				st	%g1, [%i3+3824]
  181       %if sym=':' %start
				add	%o1, -65, %g2
				cmp	%g2, 25
				bleu,pn	%icc, .L125
				 add	%i0, 1, %i5
		.L126:
		.LVL253:
		.LBE315:
		.LBB316:
				be,pn	%icc, .L210
				 cmp	%o1, 43
		.L130:
  182          putatom(colon,0)
				add	%fp, -25, %g5
				mov	0, %o1
		.LVL183:
				call	PUTATOM.6128, 0
				 mov	13, %o0
		.LVL184:
				add	%o1, -48, %g2
				cmp	%g2, 9
				bleu,pn	%icc, .L188
				 cmp	%o1, 10
		.L128:
		.LBE316:
  183       %finishelseif sym='+' %start
				ba,pt	%xcc, .L124
				 mov	%i5, %i0
		.LVL185:
		.L211:
  184         putatom(op,add)
				add	%fp, -25, %g5
				mov	2, %o1
		.LVL186:
				call	PUTATOM.6128, 0
				 mov	11, %o0
		.LVL187:
  185       %finishelseif sym='-' %start
				ba,pt	%xcc, .L124
				 mov	%i5, %i0
		.LVL188:
		.L212:
				be,pn	%icc, .L211
				 cmp	%o1, 45
		.L132:
  186         putatom(op,sub)
				add	%fp, -25, %g5
				mov	3, %o1
		.LVL189:
				call	PUTATOM.6128, 0
				 mov	11, %o0
		.LVL190:
  187       %finishelseif sym='&' %start
				ba,pt	%xcc, .L124
				 mov	%i5, %i0
		.LVL191:
		.L213:
				be,pn	%icc, .L212
				 cmp	%o1, 38
		.L133:
  188         putatom(op,and)
				add	%fp, -25, %g5
				mov	4, %o1
		.LVL192:
				call	PUTATOM.6128, 0
				 mov	11, %o0
		.LVL193:
  189       %finishelseif sym='!' %start
				ba,pt	%xcc, .L124
				 mov	%i5, %i0
		.LVL194:
		.L214:
				be,pn	%icc, .L213
				 cmp	%o1, 33
		.L134:
  190         putatom(op,or)
				add	%fp, -25, %g5
				mov	5, %o1
		.LVL195:
				call	PUTATOM.6128, 0
				 mov	11, %o0
		.LVL196:
  191       %finishelseif sym='\' %start
				ba,pt	%xcc, .L124
				 mov	%i5, %i0
		.LVL197:
		.L215:
				be,pn	%icc, .L214
				 cmp	%o1, 92
		.L135:
  192         putatom(op,xor)
				add	%fp, -25, %g5
				mov	6, %o1
		.LVL198:
				call	PUTATOM.6128, 0
				 mov	11, %o0
		.LVL199:
  193       %finishelseif sym='*' %start
				ba,pt	%xcc, .L124
				 mov	%i5, %i0
		.LVL200:
		.L216:
				be,pn	%icc, .L215
				 cmp	%o1, 42
		.L136:
  194         putatom(op,mul)
				add	%fp, -25, %g5
				mov	8, %o1
		.LVL201:
				call	PUTATOM.6128, 0
				 mov	11, %o0
		.LVL202:
  195       %finishelseif sym='%' %start
				ba,pt	%xcc, .L124
				 mov	%i5, %i0
		.LVL203:
		.L217:
				be,pn	%icc, .L216
				 cmp	%o1, 37
		.L137:
  196         putatom(op,rem)
				add	%fp, -25, %g5
				mov	10, %o1
		.LVL204:
				call	PUTATOM.6128, 0
				 mov	11, %o0
		.LVL205:
  197       %finishelseif sym='/' %start
				ba,pt	%xcc, .L124
				 mov	%i5, %i0
		.LVL206:
		.L218:
				be,pn	%icc, .L217
				 cmp	%o1, 47
		.L138:
  198         putatom(op,div)
				add	%fp, -25, %g5
				mov	9, %o1
		.LVL207:
				call	PUTATOM.6128, 0
				 mov	11, %o0
		.LVL208:
  199       %finishelseif sym='<' %or sym='>' %start
				ba,pt	%xcc, .L124
				 mov	%i5, %i0
		.LVL209:
		.L219:
				be,pn	%icc, .L218
				 and	%g1, 253, %g2
		.L139:
  200          %if line(lpos)=sym %start; ! '<<', '>>'
				sra	%i0, 0, %g1
				add	%i3, %g1, %g1
				ldub	[%g1+%i4], %g1
				cmp	%o1, %g1
				be,pn	%icc, .L219
				 sra	%i0, 0, %g1
		.L142:
		.L144:
		.L145:
		.L238:
  201             lpos=lpos+1
  202             %if sym='<' %then putatom(op,left) %else putatom(op,right)
				cmp	%o1, 60
				be,pn	%icc, .L203
				 add	%i0, 2, %i0
		.L143:
				cmp	%g2, 60
				bne,pn	%icc, .L140
				 add	%o1, -40, %g3
		.L141:
  203          %else; ! '<', '>', '<=', '>='
				add	%fp, -25, %g5
				mov	11, %o1
		.LVL213:
				call	PUTATOM.6128, 0
				 mov	11, %o0
		.LVL214:
  204 square:         !+'[', ']', '[=', ']='
				ba,pt	%xcc, .L229
				 add	%i0, -1, %g1
		.LVL215:
		.L220:
  205             %if line(lpos)='=' %start
				add	%i3, %g1, %g1
				ldub	[%g1+%i4], %g1
				cmp	%g1, 61
				be,a,pn	%icc, .L220
				 add	%i0, 2, %i5
		.LVL254:
		.L146:
  206                lpos=lpos+1; sym=sym+128
				add	%fp, -25, %g5
				mov	12, %o1
		.LVL210:
				call	PUTATOM.6128, 0
				 mov	11, %o0
		.LVL211:
  207             %finish
				add	%o1, 128, %o1
		.LVL216:
				ba,pt	%xcc, .L146
				 st	%o1, [%fp-29]
		.LVL217:
		.L140:
  208             putatom(comp,sym)
				add	%fp, -25, %g5
				ldsw	[%fp-29], %o1
				call	PUTATOM.6128, 0
				 mov	12, %o0
		.LVL255:
				ba,pt	%xcc, .L124
				 mov	%i5, %i0
		.LVL256:
		.L191:
				mov	%g2, %g4
		.LVL257:
  209          %finish
  210       %finishelseif sym='(' %or sym=')' %start
  211         putatom(bracket,sym)
				add	%fp, -25, %g5
				sra	%o1, 0, %o1
		.LVL222:
				call	PUTATOM.6128, 0
				 mov	15, %o0
		.LVL223:
  212       %finishelseif sym='[' %or sym=']' %start
				ba,pt	%xcc, .L124
				 mov	%i5, %i0
		.LVL224:
		.L205:
		.L151:
  213          ->square
				cmp	%g3, 1
				bleu,pn	%icc, .L204
				 add	%g1, -91, %g1
		.L147:
  214       %finishelseif sym='=' %or sym='#' %start
  215          putatom(comp,sym)
				andcc	%g1, 253, %g0
				be,pt	%icc, .L238
				 sra	%i0, 0, %g1
		.L149:
				xor	%o1, 61, %g1
				cmp	%g0, %g1
				addx	%g0, 0, %g1
				add	%fp, -25, %g5
				sra	%o1, 0, %o1
		.LVL225:
				call	PUTATOM.6128, 0
				 mov	12, %o0
		.LVL226:
  216       %finishelseif sym='"' %start
				xor	%o1, 35, %g1
				cmp	%g0, %g1
				addx	%g0, 0, %g2
				andcc	%g2, %g1, %g0
				be,pn	%icc, .L205
				 cmp	%o1, 34
		.L150:
				ba,pt	%xcc, .L124
				 mov	%i5, %i0
		.LVL227:
		.L206:
  217          putatom(string,lpos)
				add	%fp, -25, %g5
				sra	%i5, 0, %o1
		.LVL228:
				call	PUTATOM.6128, 0
				 mov	2, %o0
		.LVL229:
  218          lpos=lpos+1 %while line(lpos)#'"'; ! we know it's there
				be,pn	%icc, .L206
				 cmp	%o1, 39
		.L152:
  219          lpos=lpos+1
				sra	%i0, 0, %g1
				add	%i3, %g1, %g1
				ldub	[%g1+%i4], %g1
				cmp	%g1, 34
				be,pn	%icc, .L153
				 mov	%i5, %i0
		.LVL230:
		.L154:
				sra	%i5, 0, %g1
				add	%i3, %g1, %g1
				ldub	[%g1+%i4], %g1
				cmp	%g1, 34
				bne,pt	%icc, .L154
				 mov	%i0, %i5
		.L153:
		.LVL232:
  220       %finishelseif sym='''' %start
				add	%i5, 1, %i0
		.LVL231:
		.LDL8:
				ba,pt	%xcc, .L124
				 add	%i0, 1, %i0
		.LVL233:
		.L207:
  221          sym=line(lpos); lpos=lpos+1 %if sym=''''
				sra	%i0, 0, %g1
				add	%i3, %g1, %g1
				ldub	[%g1+%i4], %g1
				st	%g1, [%fp-29]
  222          fault(atom) %if line(lpos+1)#''''
				bne,pt	%icc, .L155
				 cmp	%o1, 32
				sra	%i5, 0, %g1
				add	%i3, %g1, %g1
				ldub	[%g1+%i4], %g1
				cmp	%g1, 39
				bne,pn	%icc, .L207
				 mov	%i3, %g5
		.LVL219:
		.L157:
  223          putatom(constant,sym); lpos=lpos+2
				add	%i0, 2, %i0
				cmp	%g1, 39
				move	%icc, %i0, %i5
		.LVL218:
		.L156:
				add	%fp, -25, %g5
		.L230:
				ldsw	[%fp-29], %o1
				call	PUTATOM.6128, 0
				 mov	1, %o0
		.LVL220:
				call	FAULT.6091, 0
				 mov	2, %o0
		.LVL234:
				ba,pt	%xcc, .L230
				 add	%fp, -25, %g5
		.LVL235:
		.L155:
  224       %else
				ba,pt	%xcc, .L124
				 add	%i5, 2, %i0
		.LVL221:
		.L204:
		.L148:
  225          fault(atom) %unless sym=' '
				be,pt	%icc, .L124
				 mov	%i5, %i0
		.LVL236:
  226       %finish
				mov	%i3, %g5
				call	FAULT.6091, 0
				 mov	2, %o0
		.LVL237:
  227    %repeat
  228 num: i=0; radix=10; ! I accumulates number, default radix is ten
  229    %cycle
				mov	0, %g2
  230       %if sym='_' %start; ! change radix
				mov	10, %g4
				cmp	%o1, 95
				be,pn	%icc, .L191
				 add	%o1, -58, %g1
		.L160:
		.LVL245:
		.LBB313:
  231          radix=i; i=0
  232       %finishelseif '9'<sym<'A' %start
				mov	0, %i0
				ba,pt	%xcc, .L127
				 mov	1, %g5
		.LVL239:
		.L208:
				andcc	%g3, 0xff, %g0
				bne,a,pn %icc, .L163
				 st	%o1, [%fp-29]
		.LVL240:
				ba,pt	%xcc, .L159
				 mov	%i0, %g2
		.LVL258:
		.L125:
  233 endconst: putatom(constant,i); lpos=lpos-1; ->nextatom
  234       %else
				ba,pt	%xcc, .L231
				 add	%fp, -25, %g5
		.LVL241:
		.L165:
				add	%fp, -25, %g5
		.L231:
				sra	%g2, 0, %o1
				call	PUTATOM.6128, 0
				 mov	1, %o0
		.LVL250:
  235          sym=sym-7 %if sym>'9'; sym=sym-'0'
				add	%i5, -1, %i0
		.LVL251:
		.L124:
  236          ->endconst %unless 0<=sym<radix
				cmp	%o1, 57
				movg	%icc, %g1, %o1
		.LVL246:
		.L164:
  237          i=i*radix+sym
				add	%o1, %g2, %g2
		.LVL242:
		.L159:
  238       %finish
				add	%o1, -48, %o1
		.LVL247:
		.LBB314:
  239       sym=line(lpos); lpos=lpos+1
				add	%i5, -1, %g1
				sra	%g1, 0, %g1
				add	%i3, %g1, %g1
				ldub	[%g1+%i4], %o1
				cmp	%g1, 6
				bleu,pn	%icc, .L208
				 add	%o1, -7, %g1
		.L161:
		.LBE313:
				xnor	%g0, %o1, %g3
				srl	%g3, 31, %g3
  240    %repeat
				add	%i5, 1, %i5
		.LVL243:
				mov	%g5, %g3
		.LVL244:
		.L127:
		.L158:
  241 tag: n1=sym-'A'+1; n2=0; i=1; ! I counts name length
				cmp	%o1, %g4
				mov	0, %g1
		.LVL248:
				movl	%icc, 1, %g1
				andcc	%g3, %g1, %g0
				bne,a,pt %icc, .L165
				 mulx	%g4, %g2, %g2
				st	%o1, [%fp-29]
		.LVL249:
		.L162:
		.L163:
		.LBE314:
  242    %cycle
				add	%o1, -64, %i5
		.LVL259:
  243       sym=line(lpos)
				mov	0, %l0
				ba,pt	%xcc, .L166
				 add	%i0, -1, %g4
		.LVL260:
		.L223:
				add	%g4, %g2, %g1
				sra	%g1, 0, %g1
				add	%i3, %g1, %g1
				ldub	[%g1+%i4], %g1
		.LVL293:
		.LBB320:
  244       %if 'A'<=sym<='Z' %start
				mov	1, %g2
  245          sym=sym-'A'+1
  246       %finishelseif '0'<=sym<='9' %start
				ba,pt	%xcc, .L168
				 add	%g1, -64, %g1
		.LVL261:
		.L169:
		.LDL9:
  247          sym=sym-'0'+27
				add	%g1, -21, %g1
		.LVL295:
		.L168:
  248       %else
  249          %if n1=if %start
				bne,pt	%icc, .L170
				 st	%g1, [%fp-29]
				add	%g1, -65, %g3
				cmp	%g3, 25
				bleu,pn	%icc, .L223
				 add	%i0, %g2, %l1
		.L167:
		.LVL294:
		.LBE320:
		.LBB321:
  250             fault(form) %unless ifpos=0
				lduw	[%i3+3412], %g1
		.LVL262:
				cmp	%g1, 0
				bne,pn	%icc, .L221
				 mov	%i3, %g5
		.LVL263:
		.L171:
  251             ifpos=atompos; putatom(sep,0)
				lduw	[%i3+3824], %g1
		.L232:
				st	%g1, [%i3+3412]
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL266:
				ba,pt	%xcc, .L232
				 lduw	[%i3+3824], %g1
		.LVL267:
		.L170:
		.LBB317:
  252          %else; ! Look up in dictionary
				add	%fp, -25, %g5
				mov	0, %o1
				call	PUTATOM.6128, 0
				 mov	14, %o0
		.LVL264:
				ba,pt	%xcc, .L124
				 mov	%l1, %i0
		.LVL265:
		.L221:
  253             %for i=tagpos-1,-1,1 %cycle
				add	%g1, -48, %g3
				cmp	%g3, 9
				bgu,pn	%icc, .L169
				 cmp	%i5, 339
		.LBE321:
  254                %if tag1(i)=n1 %and tag2(i)=n2 %start
				lduw	[%i3+3408], %i0
		.LVL268:
				lduw	[%g1+2608], %g2
				cmp	%i5, %g2
				bne,pt	%icc, .L241
				 cmp	%i0, 1
  255                   n1=tagtype(i); n2=tagval(i)
				sethi	%hi(.LC15), %i2
				or	%i2, %lo(.LC15), %i2
		.LBB310:
				sethi	%hi(.LC5), %i1
		.LBE310:
		.LBE309:
				ba,pt	%xcc, .L124
				 or	%i1, %lo(.LC5), %i1
		.LVL179:
		.L209:
				mov	2, %g1
		.LVL269:
				subcc	%g1, %i0, %g0
				bneg,pn	%icc, .L172
				 sethi	%hi(_imp_current_file), %g1
				ldx	[%g1+%lo(_imp_current_file)], %o1
				brz,pn	%o1, .L173
				 mov	256, %o2
				call	_imp_c2istr, 0
				 add	%fp, 1015, %o0
		.LVL270:
				sethi	%hi(_imp_current_line), %g1
		.L233:
				lduw	[%g1+%lo(_imp_current_line)], %l2
				cmp	%l2, 0
				move	%icc, 255, %l2
				mov	%i2, %o1
				call	_imp_c2istr, 0
				 add	%fp, 1271, %o0
		.LVL271:
				mov	256, %o2
				add	%fp, 1015, %o1
				call	memcpy, 0
				 add	%fp, -289, %o0
		.LVL272:
				mov	256, %o2
				add	%fp, 1271, %o1
				call	memcpy, 0
				 add	%fp, -545, %o0
		.LVL273:
				mov	0, %o5
				mov	1, %o4
				mov	5, %o3
				add	%fp, -545, %o2
				sra	%l2, 0, %o1
				call	_signal_event, 0
				 add	%fp, -289, %o0
		.LVL274:
		.L172:
				mov	%i1, %o1
				call	memcpy, 0
				 add	%fp, 503, %o0
		.LVL279:
				mov	256, %o2
				add	%fp, 503, %o1
				call	memcpy, 0
				 add	%fp, 759, %o0
		.LVL280:
		.LBE311:
				mov	256, %o2
				add	%fp, 759, %o1
				call	memcpy, 0
				 add	%fp, 1015, %o0
		.LVL281:
		.LBE318:
				ba,pt	%xcc, .L233
				 sethi	%hi(_imp_current_line), %g1
		.L178:
		.LVL282:
		.L193:
		.L179:
		.L241:
		.LBB319:
				lduw	[%g1+1808], %g2
				cmp	%g2, %l0
				bne,pt	%icc, .L193
				 cmp	%i0, 1
				lduw	[%g1+1008], %o0
		.LVL284:
  256                   n2=i %if n1=unknown
				lduw	[%g1+208], %o1
		.LVL285:
  257                   putatom(n1,n2)
				add	%fp, -25, %g5
				sra	%o1, 0, %o1
				call	PUTATOM.6128, 0
				 sra	%o0, 0, %o0
		.LVL287:
  258                   ->nextatom
				cmp	%i0, 1
				bne,a,pt %icc, .L239
				 add	%i0, -1, %i0
		.LVL275:
		.L176:
				ldsw	[%i3+3408], %o1
		.L240:
				sllx	%o1, 2, %g1
				add	%i3, %g1, %g1
		.LBE317:
				be,a,pn	%icc, .L240
				 ldsw	[%i3+3408], %o1
				ba,pt	%xcc, .L124
				 mov	%l1, %i0
		.LVL288:
		.L222:
		.LBE319:
  259                %finish
				add	%i0, -1, %i0
		.LVL283:
		.L239:
				add	%i0, -1, %g1
				sra	%g1, 0, %g1
				sllx	%g1, 2, %g1
				add	%i3, %g1, %g1
				cmp	%o0, 0
				move	%icc, %i0, %o1
		.LVL286:
		.L180:
  260             %repeat
  261 ! Not found: enter name and details
  262             tag1(tagpos)=n1; tag2(tagpos)=n2
				st	%i5, [%g1+2604]
  263             tagtype(tagpos)=unknown; tagval(tagpos)=0
				st	%l0, [%g1+1804]
				st	%g0, [%g1+1004]
  264             putatom(unknown,tagpos)
				st	%g0, [%g1+204]
				add	%fp, -25, %g5
				call	PUTATOM.6128, 0
				 mov	0, %o0
		.LVL276:
  265             %if tagpos>tagmax %then fault(dfull) %else tagpos=tagpos+1
				lduw	[%i3+3408], %g1
				cmp	%g1, 200
				bg,pn	%icc, .L222
				 mov	%i3, %g5
		.L181:
		.L234:
  266          %finish
				call	FAULT.6091, 0
				 mov	13, %o0
		.LVL289:
  267          ->nextatom
  268       %finish
				add	%g1, 1, %g1
				st	%g1, [%i3+3408]
		.LVL277:
				ba,pt	%xcc, .L124
				 mov	%l1, %i0
		.LVL278:
		.L173:
		.LBB318:
		.LBB311:
				ba,pt	%xcc, .L234
				 lduw	[%i3+3408], %g1
		.LVL290:
		.L182:
  269       %if i<3 %start
				cmp	%g2, 2
				bg,pt	%icc, .L182
				 mulx	%l0, 37, %g3
  270          n1=n1*37+sym
				mulx	%i5, 37, %o1
		.LVL296:
  271       %finishelseif i<6 %start
				ba,pt	%xcc, .L184
				 add	%o1, %g1, %i5
		.LVL297:
		.L202:
  272          n2=n2*37+sym
				add	%g3, %g1, %g1
				cmp	%g2, 6
				movl	%icc, %g1, %l0
		.LVL291:
		.L183:
		.L184:
  273       %finish
  274       i=i+1; lpos=lpos+1
				add	%g2, 1, %g2
		.LVL292:
		.L166:
  275    %repeat
  276 %end
				ldx	[%fp+2039], %g1
				ldx	[%g7+40], %g2
				xor	%g1, %g2, %g1
				mov	0, %g2
				brnz,pn	%g1, .L202
				 nop
				return	%i7+8
				 nop
		.LVL182:
		.L210:
				call	__stack_chk_fail, 0
				 nop
		.LVL298:
				nop
		.LFE187:
				.align 4
				.proc	04
		CEXPR.6258:
		.LFB194:
  277
  278 %routine nextatom
				.register	%g2, #scratch
				.register	%g3, #scratch
  279    type=atomtype(atompos); val=atomval(atompos)
				lduw	[%g5+3824], %g2
				sra	%g2, 0, %g1
				sllx	%g1, 2, %g1
				add	%g5, %g1, %g1
				lduw	[%g1+3620], %g3
				st	%g3, [%g5+204]
  280    atompos=atompos+1 %unless type=sep
				lduw	[%g1+3420], %g1
				cmp	%g3, 14
				be,pn	%icc, .L3
				 st	%g1, [%g5+200]
  281 %end
				add	%g2, 1, %g2
				st	%g2, [%g5+3824]
		.L2:
		.L3:
  282
				jmp	%o7+8
				 nop
		.LFE190:
				.align 4
				.proc	04
		OPENBRACKET.6241:
		.LFB191:
  283 %predicate open bracket
  284   %falseunless atomtype(atompos)=bracket %and atomval(atompos)='('
				lduw	[%g5+3824], %g2
				sra	%g2, 0, %g1
				sllx	%g1, 2, %g1
				add	%g5, %g1, %g1
				lduw	[%g1+3620], %g3
				cmp	%g3, 15
				be,pn	%icc, .L9
				 mov	0, %o0
		.L5:
  285   atompos=atompos+1; %true
				lduw	[%g1+3420], %g1
				cmp	%g1, 40
				bne,pt	%icc, .L5
				 add	%g2, 1, %g2
		.L6:
				st	%g2, [%g5+3824]
				ba,pt	%xcc, .L5
				 mov	1, %o0
		.LFE191:
				.align 4
				.proc	04
		EQUALSIGN.6251:
		.LFB193:
  286 %end
				jmp	%o7+8
				 sra	%o0, 0, %o0
		.L9:
  287
  288 %routine close bracket
				save	%sp, -176, %sp
				ldsw	[%g5+3824], %g1
				sllx	%g1, 2, %g1
				add	%g5, %g1, %g1
  289   fault(form) %unless atomtype(atompos)=bracket %and atomval(atompos)=')'
				lduw	[%g1+3620], %g2
				cmp	%g2, 15
				bne,pn	%icc, .L281
				 mov	%g5, %i5
  290   atompos=atompos+1
				lduw	[%g1+3420], %g1
				cmp	%g1, 41
				be,a,pn	%icc, .L283
				 lduw	[%i5+3824], %g1
		.L281:
				lduw	[%i5+3824], %g1
		.L283:
				add	%g1, 1, %g1
				st	%g1, [%i5+3824]
  291 %end
  292
				mov	%i5, %g5
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL329:
		.L282:
				return	%i7+8
				 nop
		.LFE192:
				.align 4
				.proc	020
		GBYTE.6298:
		.LFB196:
  293 %predicate equal sign
  294   %falseunless atomtype(atompos)=comp %and atomval(atompos)='='
				lduw	[%g5+3824], %g2
				sra	%g2, 0, %g1
				sllx	%g1, 2, %g1
				add	%g5, %g1, %g1
				lduw	[%g1+3620], %g3
				cmp	%g3, 12
				be,pn	%icc, .L15
				 mov	0, %o0
		.L11:
  295   atompos=atompos+1; %true
				lduw	[%g1+3420], %g1
				cmp	%g1, 61
				bne,pt	%icc, .L11
				 add	%g2, 1, %g2
		.L12:
				st	%g2, [%g5+3824]
				ba,pt	%xcc, .L11
				 mov	1, %o0
		.LFE193:
				.align 4
				.proc	020
		SATREFS.6342:
		.LFB202:
  296 %end
				jmp	%o7+8
				 sra	%o0, 0, %o0
		.L15:
  297
  298 %routinespec unary
  299
  300 %integerfn cexpr(%integer must)
		.LVL299:
				save	%sp, -1504, %sp
		.LVL300:
				mov	%g5, %i5
				ldx	[%g7+40], %g1
				stx	%g1, [%fp+2039]
				mov	0, %g1
  301 %integer value,oper
  302 %switch s(add:right)
  303    nextatom; unary
				call	NEXTATOM.6237, 0
				 nop
		.LVL301:
  304    value=val; fault(consterr) %unless type=constant
				call	UNARY.6256, 0
				 mov	%i5, %g5
		.LVL302:
  305    %cycle
				lduw	[%i5+204], %g1
				cmp	%g1, 1
				bne,pn	%icc, .L262
				 lduw	[%i5+200], %i4
		.L244:
		.L245:
  306       %result=value %unless atomtype(atompos)=op
				lduw	[%i5+3824], %g2
		.L266:
				sra	%g2, 0, %g1
				sllx	%g1, 2, %g1
				add	%i5, %g1, %g1
				lduw	[%g1+3620], %g3
				cmp	%g3, 11
				be,pn	%icc, .L263
				 nop
				sra	%i4, 0, %i0
		.LVL303:
		.L243:
				mov	%i5, %g5
				call	FAULT.6091, 0
				 mov	3, %o0
		.LVL305:
				ba,pt	%xcc, .L266
				 lduw	[%i5+3824], %g2
		.L263:
		.L247:
  307       %if must=0 %start
				brnz,a,pn %i0, .L270
				 lduw	[%g1+3420], %i4
  308          %result=value %unless atomtype(atompos+1)=constant
				lduw	[%g1+3624], %g3
				cmp	%g3, 1
				bne,pt	%icc, .L243
				 sra	%i4, 0, %i0
		.L248:
		.L249:
  309       %finish
  310       oper=atomval(atompos); atompos=atompos+1
				lduw	[%g1+3420], %i4
		.LVL306:
		.L270:
  311       nextatom; fault(consterr) %unless type=constant
				add	%g2, 1, %g2
				st	%g2, [%i5+3824]
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL307:
  312       ->s(oper)
				lduw	[%i5+204], %g1
				cmp	%g1, 1
				bne,a,pn %icc, .L265
				 mov	%i5, %g5
		.L250:
		.LVL308:
		.LDL10:
  313 s(add):  value=value+val; %continue
				call	FAULT.6091, 0
				 mov	3, %o0
		.LVL316:
  314 s(sub):  value=value-val; %continue
  315 s(and):  value=value&val; %continue
  316 s(or):   value=value!val; %continue
  317 s(xor):  value=value!!val; %continue
  318 s(rem):  value=value-value//val*val; %continue
  319 s(div):  value=value//val; %continue
  320 s(mul):  value=value*val; %continue
  321 s(left): value=value<<val; %continue
  322 s(right):value=value>>val
  323    %repeat
  324 %end
  325
  326 %routine unary
				add	%i4, -2, %g1
		.L267:
				cmp	%g1, 10
				bleu,pt	%icc, .L271
				 sethi	%hi(_imp_current_file), %g1
				ldx	[%g1+%lo(_imp_current_file)], %o1
				brz,pn	%o1, .L252
				 mov	256, %o2
				call	_imp_c2istr, 0
				 add	%fp, 1527, %o0
		.LVL309:
				sethi	%hi(_imp_current_line), %g1
		.L268:
				lduw	[%g1+%lo(_imp_current_line)], %i5
				cmp	%i5, 0
				move	%icc, 326, %i5
				mov	256, %o2
				add	%fp, 1527, %o1
				call	memcpy, 0
				 add	%fp, 751, %o0
		.LVL310:
				sra	%i4, 0, %o4
				mov	312, %g1
				stx	%g1, [%sp+2239]
				sethi	%hi(.LC10), %g1
				or	%g1, %lo(.LC10), %g1
				stx	%g1, [%sp+2231]
				stx	%o4, [%sp+2223]
				sethi	%hi(.LC9), %o5
				or	%o5, %lo(.LC9), %o5
				mov	3, %o3
				mov	6, %o2
				sra	%i5, 0, %o1
				call	_signal_eventf, 0
				 add	%fp, 751, %o0
		.LVL311:
		.L255:
				ba,pt	%xcc, .L267
				 add	%i4, -2, %g1
		.LVL317:
		.L252:
		.LBB322:
				sethi	%hi(.LC5), %o1
				or	%o1, %lo(.LC5), %o1
				call	memcpy, 0
				 add	%fp, 1783, %o0
		.LVL318:
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 add	%fp, 1015, %o0
		.LVL319:
		.LBE322:
				mov	256, %o2
				add	%fp, 1015, %o1
				call	memcpy, 0
				 add	%fp, 1527, %o0
		.LVL320:
				ba,pt	%xcc, .L268
				 sethi	%hi(_imp_current_line), %g1
		.L256:
		.LBB323:
				save	%sp, -176, %sp
  327 %integername v
  328   %returnunless type=op %and atomtype(atompos)=constant
				lduw	[%g5+204], %g1
				cmp	%g1, 11
				be,pn	%icc, .L278
				 mov	%g5, %i5
		.L273:
		.L279:
  329   %returnunless val=sub %or val=xor
				sethi	%hi(_imp_current_file), %g1
		.L271:
				ldx	[%g1+%lo(_imp_current_file)], %o1
				brz,pn	%o1, .L256
				 mov	256, %o2
				call	_imp_c2istr, 0
				 add	%fp, 1783, %o0
		.LVL312:
				sethi	%hi(_imp_current_line), %g1
		.L269:
				lduw	[%g1+%lo(_imp_current_line)], %i5
				cmp	%i5, 0
				move	%icc, 329, %i5
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 add	%fp, 751, %o0
		.LVL313:
				sra	%i4, 0, %o4
				mov	312, %g1
				stx	%g1, [%sp+2239]
				sethi	%hi(.LC10), %g1
				or	%g1, %lo(.LC10), %g1
				stx	%g1, [%sp+2231]
				stx	%o4, [%sp+2223]
				sethi	%hi(.LC11), %o5
				or	%o5, %lo(.LC11), %o5
				mov	2, %o3
				mov	8, %o2
				sra	%i5, 0, %o1
				call	_signal_eventf, 0
				 add	%fp, 751, %o0
		.LVL314:
				sethi	%hi(.LC5), %o1
				or	%o1, %lo(.LC5), %o1
				call	memcpy, 0
				 add	%fp, 1783, %o0
		.LVL321:
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 add	%fp, 1271, %o0
		.LVL322:
		.LBE323:
				mov	256, %o2
				add	%fp, 1271, %o1
				call	memcpy, 0
				 add	%fp, 1783, %o0
		.LVL323:
				ba,pt	%xcc, .L269
				 sethi	%hi(_imp_current_line), %g1
		.LVL324:
		.L264:
				lduw	[%g1+3620], %g2
				cmp	%g2, 1
				bne,pt	%icc, .L279
				 nop
		.L274:
				lduw	[%g5+200], %g3
				xor	%g3, 3, %g2
				cmp	%g0, %g2
				subx	%g0, -1, %g2
  330   v==atomval(atompos)
				ldx	[%fp+2039], %g1
				ldx	[%g7+40], %g2
				xor	%g1, %g2, %g1
				mov	0, %g2
				brnz,pn	%g1, .L264
				 nop
				return	%i7+8
				 nop
		.LVL304:
		.L262:
				ba,pt	%xcc, .L243
				 nop
		.LVL315:
		.L265:
				call	__stack_chk_fail, 0
				 nop
		.LVL325:
				nop
		.LFE194:
				.align 4
				.proc	020
		UNARY.6256:
		.LFB195:
				xor	%g3, 6, %g2
				cmp	%g0, %g2
				subx	%g0, -1, %g4
				orcc	%g4, %g2, %g0
				be,pn	%icc, .L279
				 cmp	%g3, 3
		.L275:
		.LVL326:
  331   v=\v; v=v+1 %if val=sub
				lduw	[%g1+3420], %g2
				xnor	%g0, %g2, %g4
				sub	%g0, %g2, %g2
				movne	%icc, %g4, %g2
				st	%g2, [%g1+3420]
		.LVL327:
		.L277:
  332   val=cexpr(0); type=constant
				call	CEXPR.6258, 0
				 mov	0, %o0
		.LVL328:
				st	%o0, [%i5+200]
  333 %end
				mov	1, %g1
				st	%g1, [%i5+204]
				return	%i7+8
				 nop
		.LFE195:
				.align 4
				.proc	020
		CLOSEBRACKET.6246:
		.LFB192:
  334
				return	%i7+8
				 nop
		.L278:
				ldsw	[%g5+3824], %g1
				sllx	%g1, 2, %g1
				add	%g5, %g1, %g1
  335 %routine gbyte(%integer b)
		.LVL330:
				save	%sp, -176, %sp
		.LVL331:
  336   fault(bfull) %if gpos>glamax
				lduw	[%g5+196], %g1
				cmp	%g1, 499
				bg,pn	%icc, .L286
				 mov	%g5, %i5
		.L285:
  337   gla(gpos)=b&255; gpos=gpos+1; gloc=gloc+1
				lduw	[%i5+196], %g1
		.L287:
				sra	%g1, 0, %g3
				add	%i5, %g3, %g3
				mov	1897, %g2
				sllx	%g2, 2, %g2
				stb	%i0, [%g3+%g2]
				call	FAULT.6091, 0
				 mov	4, %o0
		.LVL332:
				ba,pt	%xcc, .L287
				 lduw	[%i5+196], %g1
		.LFE196:
				.align 4
				.proc	020
		DUMPSTRING.6317:
		.LFB199:
  338 %end
				add	%g1, 1, %g1
				st	%g1, [%i5+196]
  339
				lduw	[%i5+3416], %g1
				add	%g1, 1, %g1
				st	%g1, [%i5+3416]
				return	%i7+8
				 nop
		.L286:
  340 %routine gword(%integer x)
  341   gbyte(x); gbyte(x>>8)
				mov	%i5, %g5
				call	GBYTE.6298, 0
				 mov	%i2, %o0
		.LVL655:
  342 %end
				srl	%i1, 8, %i1
		.LVL649:
		.L613:
		.LBE494:
		.LBE493:
				ba,pt	%xcc, .L493
				 sra	%i1, 0, %i1
		.LVL650:
		.L575:
		.LBB510:
		.LBB502:
				mov	%i5, %g5
				call	GBYTE.6298, 0
				 mov	%i1, %o0
		.LVL656:
		.LBE495:
		.LBE496:
  343
  344 %routine gflush
				save	%sp, -1472, %sp
				mov	%g5, %i3
				ldx	[%g7+40], %g1
				stx	%g1, [%fp+2039]
				mov	0, %g1
  345 %integer i
  346   %returnif gpos=0
				lduw	[%g5+196], %g1
				cmp	%g1, 0
				bne,pn	%icc, .L61
				 sethi	%hi(_imp_OutStream), %g1
		.L49:
  347   selectoutput(object); printsymbol(2); printsymbol(4)
  348   printsymbol(gpos&255); printsymbol(gpos>>8&255)
  349   printsymbol(gla(i)) %for i=0,1,gpos-1
				lduw	[%i3+196], %o0
				srl	%o0, 8, %o0
		.LBB234:
		.LBB235:
				sllx	%o0, 56, %o0
				call	_imp_printsymbol, 0
				 srax	%o0, 56, %o0
		.LVL45:
		.LBE235:
		.LBE234:
		.LBB236:
  350   gpos=0
				lduw	[%i3+196], %i2
		.LVL46:
  351 %end
				addcc	%i2, -1, %i5
		.LVL47:
				bneg,pn	%icc, .L63
				 cmp	%i5, -1
		.LVL48:
		.L64:
				ba,pt	%xcc, .L49
				 st	%g0, [%i3+196]
		.LVL55:
		.L63:
		.LBB240:
				sethi	%hi(_imp_current_file), %g1
				ldx	[%g1+%lo(_imp_current_file)], %o1
				brz,pn	%o1, .L53
				 mov	256, %o2
				call	_imp_c2istr, 0
				 add	%fp, 1527, %o0
		.LVL56:
				sethi	%hi(_imp_current_line), %g1
		.L65:
				lduw	[%g1+%lo(_imp_current_line)], %i4
				cmp	%i4, 0
				move	%icc, 351, %i4
				sethi	%hi(.LC12), %o1
				or	%o1, %lo(.LC12), %o1
				call	_imp_c2istr, 0
				 add	%fp, 1783, %o0
		.LVL57:
				mov	256, %o2
				add	%fp, 1527, %o1
				call	memcpy, 0
				 add	%fp, 1007, %o0
		.LVL58:
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 add	%fp, 751, %o0
		.LVL59:
				mov	0, %o5
				mov	1, %o4
				mov	5, %o3
				add	%fp, 751, %o2
				sra	%i4, 0, %o1
				call	_signal_event, 0
				 add	%fp, 1007, %o0
		.LVL60:
		.LBE240:
				sethi	%hi(.LC5), %o1
				or	%o1, %lo(.LC5), %o1
				call	memcpy, 0
				 add	%fp, 1783, %o0
		.LVL61:
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 add	%fp, 1271, %o0
		.LVL62:
		.LBE239:
				mov	256, %o2
				add	%fp, 1271, %o1
				call	memcpy, 0
				 add	%fp, 1527, %o0
		.LVL63:
		.LBE241:
				ba,pt	%xcc, .L65
				 sethi	%hi(_imp_current_line), %g1
		.LVL64:
		.L62:
  352
				ldx	[%fp+2039], %g1
				ldx	[%g7+40], %g2
				xor	%g1, %g2, %g1
				mov	0, %g2
				brnz,pn	%g1, .L62
				 nop
				return	%i7+8
				 nop
		.L61:
		.L51:
		.LVL40:
		.LBB226:
		.LBB227:
				mov	1, %g2
				st	%g2, [%g1+%lo(_imp_OutStream)]
				sethi	%hi(_imp_outfile), %g1
				ldx	[%g1+%lo(_imp_outfile)+296], %g2
				sethi	%hi(_imp_OutFile), %g1
				stx	%g2, [%g1+%lo(_imp_OutFile)]
				sethi	%hi(__PRETTY_FUNCTION__.5660), %o0
				call	check_outstream, 0
				 or	%o0, %lo(__PRETTY_FUNCTION__.5660), %o0
		.LVL41:
		.LBE227:
		.LBE226:
		.LBB228:
		.LBB229:
				call	_imp_printsymbol, 0
				 mov	2, %o0
		.LVL42:
		.LBE229:
		.LBE228:
		.LBB230:
		.LBB231:
				call	_imp_printsymbol, 0
				 mov	4, %o0
		.LVL43:
		.LBE231:
		.LBE230:
		.LBB232:
		.LBB233:
				call	_imp_printsymbol, 0
				 ldsb	[%i3+199], %o0
		.LVL44:
		.LBE233:
		.LBE232:
				call	__stack_chk_fail, 0
				 nop
		.LVL65:
				nop
		.LFE198:
				.section	.rodata.str1.8
				.align 8
		.LC13:
				.asciz	"Illegal cycle I = 0, 1, CPOS - 1"
				.section	".text"
				.align 4
				.proc	020
		FLUSH.6329:
		.LFB201:
  353 %routine dumpstring(%integer p)
		.LVL333:
				save	%sp, -176, %sp
		.LVL334:
  354 %integer l
				be,pn	%icc, .L56
				 add	%i2, -1, %i2
				mov	1897, %i5
		.LVL49:
				sllx	%i5, 2, %i5
				add	%i3, %i5, %i5
				sethi	%hi(7771136), %i4
				srlx	%i4, 10, %i4
				add	%i3, %i4, %i4
		.LVL50:
				srl	%i2, 0, %i2
				add	%i4, %i2, %i4
		.LVL51:
		.L57:
		.LBB237:
		.LBB238:
				call	_imp_printsymbol, 0
				 ldsb	[%i5], %o0
		.LVL52:
				add	%i5, 1, %i5
		.LVL53:
		.LBE238:
		.LBE237:
				cmp	%i5, %i4
				bne,pt	%xcc, .L57
				 nop
		.LVL54:
		.L56:
		.LBE236:
				ba,pt	%xcc, .L64
				 cmp	%i5, -1
		.L53:
		.LBB241:
		.LBB239:
  355   l=0
				mov	0, %i4
  356   l=l+1 %and p=p+1 %while line(p)#'"'
  357   gbyte(l); p=p-l
				add	%i0, -1, %g1
				sra	%g1, 0, %g1
				add	%g5, %g1, %g1
				mov	1011, %g2
				sllx	%g2, 3, %g2
				ldub	[%g1+%g2], %g1
				cmp	%g1, 34
				be,pn	%icc, .L289
				 mov	%g5, %i2
				mov	1011, %g2
				sllx	%g2, 3, %g2
		.LVL335:
		.L290:
				add	%i2, %i0, %g1
				ldub	[%g1+%g2], %g1
				cmp	%g1, 34
				bne,pt	%icc, .L290
				 mov	%i5, %i0
		.L291:
				mov	%i2, %g5
				call	GBYTE.6298, 0
				 sra	%i4, 0, %o0
		.LVL338:
				call	GBYTE.6298, 0
				 mov	0, %o0
		.LVL346:
  358   gbyte(line(p)) %and p=p+1 %and l=l-1 %while l>0
				add	%i4, 1, %i4
		.LVL336:
  359 %end
				add	%i0, 1, %i5
				sra	%i5, 0, %i5
		.LDL11:
		.LVL337:
				cmp	%i4, 0
				ble,pn	%icc, .L298
				 sub	%i5, %i4, %i5
				add	%i5, -1, %i3
				add	%i4, -1, %i4
		.LVL339:
				add	%i4, %i5, %i5
		.LVL340:
				cmp	%i5, %i3
				bne,pt	%icc, .L296
				 sra	%i3, 0, %g1
		.L298:
  360
				mov	1011, %i4
		.LVL341:
				sllx	%i4, 3, %i4
		.LVL342:
				sra	%i3, 0, %g1
		.L296:
				add	%i2, %g1, %g1
				mov	%i2, %g5
				call	GBYTE.6298, 0
				 ldub	[%g1+%i4], %o0
		.LVL343:
		.LDL12:
				add	%i3, 1, %i3
		.LVL344:
				return	%i7+8
				 nop
		.LFE199:
				.align 4
				.proc	020
		POPTEXT.6363:
		.LFB205:
  361 %routine dump(%integer byte)
		.LVL351:
				save	%sp, -176, %sp
		.LVL352:
  362    fault(bfull) %if cpos>codemax
				lduw	[%g5+192], %g1
				cmp	%g1, 3499
				bg,pn	%icc, .L305
				 mov	%g5, %i5
		.L304:
  363    code(cpos)=byte&255; cpos=cpos+1; cloc=cloc+1
				lduw	[%i5+192], %g1
		.L306:
				sra	%g1, 0, %g2
				add	%i5, %g2, %g2
				stb	%i0, [%g2+4088]
				call	FAULT.6091, 0
				 mov	4, %o0
		.LVL353:
				ba,pt	%xcc, .L306
				 lduw	[%i5+192], %g1
		.LFE200:
				.align 4
				.proc	020
		RETURN.6477:
		.LFB211:
  364 %end
				return	%i7+8
				 nop
		.L292:
		.LVL345:
		.L289:
				add	%g1, 1, %g1
				st	%g1, [%i5+192]
  365
				lduw	[%i5+3420], %g1
				add	%g1, 1, %g1
				st	%g1, [%i5+3420]
				return	%i7+8
				 nop
		.L305:
  366 %routine flush
				save	%sp, -1472, %sp
				mov	%g5, %i4
				ldx	[%g7+40], %g1
				stx	%g1, [%fp+2039]
				mov	0, %g1
  367 %integer i
  368    %returnif cpos=0
				lduw	[%g5+192], %g1
				cmp	%g1, 0
				bne,pn	%icc, .L78
				 sethi	%hi(_imp_OutStream), %g1
		.L66:
  369    selectoutput(object); printsymbol(1); printsymbol(4)
  370    printsymbol(cpos&255); printsymbol(cpos>>8&255)
  371    printsymbol(code(i)) %for i=0,1,cpos-1
				lduw	[%i4+192], %o0
				srl	%o0, 8, %o0
		.LBB250:
		.LBB251:
				sllx	%o0, 56, %o0
				call	_imp_printsymbol, 0
				 srax	%o0, 56, %o0
		.LVL71:
		.LBE251:
		.LBE250:
		.LBB252:
  372    cpos=0
				lduw	[%i4+192], %i2
		.LVL72:
  373 %end
				addcc	%i2, -1, %i5
		.LVL73:
				bneg,pn	%icc, .L80
				 cmp	%i5, -1
		.LVL74:
		.L81:
				ba,pt	%xcc, .L66
				 st	%g0, [%i4+192]
		.LVL81:
		.L80:
		.LBB256:
				sethi	%hi(_imp_current_file), %g1
				ldx	[%g1+%lo(_imp_current_file)], %o1
				brz,pn	%o1, .L70
				 mov	256, %o2
				call	_imp_c2istr, 0
				 add	%fp, 1527, %o0
		.LVL82:
				sethi	%hi(_imp_current_line), %g1
		.L82:
				lduw	[%g1+%lo(_imp_current_line)], %i3
				cmp	%i3, 0
				move	%icc, 373, %i3
				sethi	%hi(.LC13), %o1
				or	%o1, %lo(.LC13), %o1
				call	_imp_c2istr, 0
				 add	%fp, 1783, %o0
		.LVL83:
				mov	256, %o2
				add	%fp, 1527, %o1
				call	memcpy, 0
				 add	%fp, 1007, %o0
		.LVL84:
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 add	%fp, 751, %o0
		.LVL85:
				mov	0, %o5
				mov	1, %o4
				mov	5, %o3
				add	%fp, 751, %o2
				sra	%i3, 0, %o1
				call	_signal_event, 0
				 add	%fp, 1007, %o0
		.LVL86:
		.LBE256:
				sethi	%hi(.LC5), %o1
				or	%o1, %lo(.LC5), %o1
				call	memcpy, 0
				 add	%fp, 1783, %o0
		.LVL87:
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 add	%fp, 1271, %o0
		.LVL88:
		.LBE255:
				mov	256, %o2
				add	%fp, 1271, %o1
				call	memcpy, 0
				 add	%fp, 1527, %o0
		.LVL89:
		.LBE257:
				ba,pt	%xcc, .L82
				 sethi	%hi(_imp_current_line), %g1
		.LVL90:
		.L79:
  374
				ldx	[%fp+2039], %g1
				ldx	[%g7+40], %g2
				xor	%g1, %g2, %g1
				mov	0, %g2
				brnz,pn	%g1, .L79
				 nop
				return	%i7+8
				 nop
		.L78:
		.L68:
		.LVL66:
		.LBB242:
		.LBB243:
				mov	1, %g2
				st	%g2, [%g1+%lo(_imp_OutStream)]
				sethi	%hi(_imp_outfile), %g1
				ldx	[%g1+%lo(_imp_outfile)+296], %g2
				sethi	%hi(_imp_OutFile), %g1
				stx	%g2, [%g1+%lo(_imp_OutFile)]
				sethi	%hi(__PRETTY_FUNCTION__.5660), %o0
				call	check_outstream, 0
				 or	%o0, %lo(__PRETTY_FUNCTION__.5660), %o0
		.LVL67:
		.LBE243:
		.LBE242:
		.LBB244:
		.LBB245:
				call	_imp_printsymbol, 0
				 mov	1, %o0
		.LVL68:
		.LBE245:
		.LBE244:
		.LBB246:
		.LBB247:
				call	_imp_printsymbol, 0
				 mov	4, %o0
		.LVL69:
		.LBE247:
		.LBE246:
		.LBB248:
		.LBB249:
				call	_imp_printsymbol, 0
				 ldsb	[%i4+195], %o0
		.LVL70:
		.LBE249:
		.LBE248:
				call	__stack_chk_fail, 0
				 nop
		.LVL91:
				nop
		.LFE201:
				.section	.rodata.str1.8
				.align 8
		.LC14:
				.asciz	""
				.section	".rodata"
		.LC8:
				.byte	3
				.asciz	"** "
				.skip	251
				.section	".text"
				.align 4
				.proc	020
		FAULT.6091:
		.LFB186:
  375 %routine satrefs(%integer ref,val)
		.LVL0:
  376 %integer abs,rel,disp
				be,pn	%icc, .L73
				 add	%i2, -1, %i2
				add	%i4, 4088, %i5
		.LVL75:
				add	%i4, 4089, %i3
		.LVL76:
				srl	%i2, 0, %i2
				add	%i3, %i2, %i3
		.LVL77:
		.L74:
		.LBB253:
		.LBB254:
				call	_imp_printsymbol, 0
				 ldsb	[%i5], %o0
		.LVL78:
				add	%i5, 1, %i5
		.LVL79:
		.LBE254:
		.LBE253:
				cmp	%i5, %i3
				bne,pt	%xcc, .L74
				 nop
		.LVL80:
		.L73:
		.LBE252:
				ba,pt	%xcc, .L81
				 cmp	%i5, -1
		.L70:
		.LBB257:
		.LBB255:
  377    %while ref#0 %cycle
  378      rel=ref; abs=rel-cloc+cpos; disp=val-rel-2
				brz,pn	%o0, .L20
				 nop
				brnz,pt	%o0, .L18
				 stb	%g3, [%g2+4088]
		.L17:
		.LVL8:
		.L20:
  379      ref=code(abs+1)<<8+code(abs)
				lduw	[%g5+3420], %o4
				lduw	[%g5+192], %o5
		.LVL1:
		.L18:
				sub	%o0, %o4, %g1
				add	%g1, %o5, %g1
		.LVL2:
				add	%g1, 1, %g2
				sra	%g2, 0, %g2
				add	%g5, %g2, %g2
				ldub	[%g2+4088], %o0
				sll	%o0, 8, %o0
				sra	%g1, 0, %g1
				add	%g5, %g1, %g1
		.LVL5:
				ldub	[%g1+4088], %g4
				add	%o0, %g4, %o0
				sra	%o0, 0, %o0
		.LVL6:
				stb	%g3, [%g1+4088]
  380      code(abs)=disp&255; code(abs+1)=disp>>8&255
				sub	%o1, %o0, %o0
		.LVL3:
				add	%o0, -2, %g3
		.LVL4:
  381    %repeat
				srl	%g3, 8, %g3
		.LVL7:
		.LDL1:
  382 %end
  383
				jmp	%o7+8
				 nop
		.LFE202:
				.align 4
				.proc	020
		GETSTRING.6538:
		.LFB216:
  384 %routine labelref(%integer type,val)
		.LVL366:
				save	%sp, -176, %sp
		.LVL367:
  385 %integer tvv
  386    %if type=label %start
				cmp	%i0, 3
				be,pn	%icc, .L321
				 mov	%g5, %i5
		.L318:
  387       val=val-(cloc+2)
				lduw	[%g5+3420], %g1
				add	%g1, 2, %g1
				sub	%i1, %g1, %i1
		.LVL372:
  388       dump(val); dump(val>>8)
				call	DUMP.6325, 0
				 sra	%i1, 0, %o0
		.LVL373:
  389    %else
				mov	%i5, %g5
				call	DUMP.6325, 0
				 srl	%i1, 8, %o0
		.LVL374:
				return	%i7+8
				 nop
		.LVL375:
		.L322:
  390       fault(form) %unless type=unknown
				brnz,pn	%i0, .L322
				 nop
		.L320:
				sllx	%i1, 2, %i1
		.L323:
				add	%i5, %i1, %i1
  391       tvv=tagval(val)
				lduw	[%i1+204], %i4
		.LVL368:
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL376:
				ba,pt	%xcc, .L323
				 sllx	%i1, 2, %i1
		.LFE203:
				.align 4
				.proc	020
		DIRECT.6418:
		.LFB208:
  392       dump(tvv); dump(tvv>>8)
				mov	%i5, %g5
				call	DUMP.6325, 0
				 sra	%i4, 0, %o0
		.LVL369:
  393       tagval(val)=cloc-2
				mov	%i5, %g5
				call	DUMP.6325, 0
				 srl	%i4, 8, %o0
		.LVL370:
				lduw	[%i5+3420], %g1
				add	%g1, -2, %g1
				st	%g1, [%i1+204]
		.L319:
  394    %finish
  395 %end
  396
				return	%i7+8
				 nop
		.LVL371:
		.L321:
  397 %routine pushtext(%integer t,v)
		.LVL348:
				save	%sp, -176, %sp
		.LVL349:
				mov	%g5, %i5
  398   textlevel=textlevel+1
				lduw	[%g5+188], %g1
				add	%g1, 1, %g1
  399   fault(complex) %if textlevel>textmax
				cmp	%g1, 20
				ble,pt	%icc, .L302
				 st	%g1, [%g5+188]
  400   texttype(textlevel)=t; textval(textlevel)=v
				call	FAULT.6091, 0
				 mov	1, %o0
		.LVL350:
		.L302:
				ldsw	[%i5+188], %g1
				sllx	%g1, 2, %g1
				add	%i5, %g1, %i5
				st	%i0, [%i5+104]
  401 %end
				st	%i1, [%i5+24]
  402
				return	%i7+8
				 nop
		.LFE204:
				.align 4
				.proc	020
		DUMP.6325:
		.LFB200:
  403 %routine poptext
				save	%sp, -176, %sp
  404   fault(context) %if textlevel=0
				lduw	[%g5+188], %g1
				cmp	%g1, 0
				bne,pt	%icc, .L300
				 mov	%g5, %i5
  405   type=texttype(textlevel); val=textval(textlevel)
				call	FAULT.6091, 0
				 mov	16, %o0
		.LVL347:
		.L300:
				lduw	[%i5+188], %g2
				sra	%g2, 0, %g1
				sllx	%g1, 2, %g1
				add	%i5, %g1, %g1
				lduw	[%g1+104], %g3
				st	%g3, [%i5+204]
				add	%g2, -1, %g2
  406   textlevel=textlevel-1
				lduw	[%g1+24], %g1
				st	%g1, [%i5+200]
				st	%g2, [%i5+188]
  407 %end
  408
				return	%i7+8
				 nop
		.LFE205:
				.align 4
				.proc	020
		PUSHTEXT.6359:
		.LFB204:
  409 %routinespec expr
  410
  411 %constinteger pushax=16_50,popax=16_58
  412
  413 %routine call(%integer t,v)
		.LVL453:
				save	%sp, -176, %sp
		.LVL454:
				mov	%g5, %i5
  414   type=atomtype(atompos)
				lduw	[%g5+3824], %g1
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%g1, 904, %g1
				sllx	%g1, 2, %g1
				add	%g5, %g1, %g1
				lduw	[%g1+8], %g1
  415   %if type#op %start
				add	%g1, -11, %g2
				cmp	%g2, 1
				bleu,pn	%icc, .L389
				 st	%g1, [%g5+204]
  416     %cycle
  417       %exitif type=sep %or type=comp
  418       expr; dump(pushax); type=atomtype(atompos)
				cmp	%g1, 14
				be,pn	%icc, .L394
				 cmp	%i0, 10
		.L387:
				call	EXPR.6367, 0
				 mov	%i5, %g5
		.LVL455:
				and	%g1, -3, %g1
				cmp	%g1, 12
				bne,pt	%icc, .L387
				 nop
		.L386:
		.L388:
		.L389:
  419     %repeat
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	80, %o0
		.LVL456:
  420   %finish
				lduw	[%i5+3824], %g1
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%g1, 904, %g1
				sllx	%g1, 2, %g1
				add	%i5, %g1, %g1
				lduw	[%g1+8], %g1
				st	%g1, [%i5+204]
		.LDL17:
  421   %if t=spec %start
				cmp	%i0, 10
		.L394:
				be,pn	%icc, .L393
				 mov	%i5, %g5
		.L390:
  422     dump(16_FF); dump(16_1e); dump(v); dump(v>>8);  !Xcall
				call	DUMP.6325, 0
				 mov	255, %o0
		.LVL460:
  423   %else
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	30, %o0
		.LVL461:
				return	%i7+8
				 nop
		.LFE206:
				.align 4
				.proc	04
		COND.6612:
		.LFB218:
  424     dump(16_0e); dump(16_e8); labelref(label,v);    !PushCs, Call
				call	DUMP.6325, 0
				 mov	14, %o0
		.LVL457:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	%i1, %o0
		.LVL462:
  425   %finish
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	232, %o0
		.LVL458:
				srl	%i1, 8, %i1
				mov	%i5, %g5
				call	DUMP.6325, 0
				 sra	%i1, 0, %o0
		.LVL463:
  426 %end
				mov	%i5, %g5
				mov	%i1, %o1
				call	LABELREF.6351, 0
				 mov	3, %o0
		.LVL459:
		.L391:
  427
				return	%i7+8
				 nop
		.L393:
  428 %routine immediate(%integer op,val)
		.LVL15:
				save	%sp, -1504, %sp
		.LVL16:
				ldx	[%g7+40], %g1
				stx	%g1, [%fp+2039]
				mov	0, %g1
		.LVL17:
		.LDL3:
  429 %switch s(load:right)
  430   ->s(op)
  431 s(load): dump(16_b8); ->imm
  432 s(add):  dump(16_05); ->imm
  433 s(sub):  dump(16_2d); ->imm
  434 s(and):  dump(16_25); ->imm
  435 s(or):   dump(16_0d); ->imm
  436 s(xor):  dump(16_35); ->imm
  437 s(cmp):  dump(16_3d)
  438 imm: dump(val); dump(val>>8); %return
  439 s(left):
  440 s(right):
  441   %if val=1 %start
  442     val=16_d1
  443   %else
  444     dump(16_b1); dump(val&15);  !Mov CL,nn
  445     val=16_d3
  446   %finish
  447   dump(val)
  448   %if op=left %then dump(16_e0) %else dump(16_e8)
  449   %return
  450 s(mul):s(div):s(rem):
  451   dump(16_b9); dump(val); dump(val>>8);  !Mov CX,nn
  452   dump(16_99) %unless op=mul;            !Cwd
  453   dump(16_f7)
  454   %if op=mul %then dump(16_e9) %else dump(16_f9)
  455   %returnunless op=rem
  456   dump(16_8b); dump(16_c2);  !Mov ax,dx
  457 %end
  458
  459 %routine direct(%integer op,type,val,index)
		.LVL377:
				save	%sp, -176, %sp
		.LVL378:
  460 %ownintegerarray code(load:lea)=
				add	%i0, -1, %g1
				cmp	%g1, 11
				bleu,pt	%icc, .L42
				 sethi	%hi(_imp_current_file), %g1
				ldx	[%g1+%lo(_imp_current_file)], %o1
				brz,pn	%o1, .L29
				 mov	256, %o2
				call	_imp_c2istr, 0
				 add	%fp, 1527, %o0
		.LVL18:
				sethi	%hi(_imp_current_line), %g1
		.L40:
				lduw	[%g1+%lo(_imp_current_line)], %i5
				cmp	%i5, 0
				move	%icc, 460, %i5
				mov	256, %o2
				add	%fp, 1527, %o1
				call	memcpy, 0
				 add	%fp, 751, %o0
		.LVL19:
				mov	430, %g1
				stx	%g1, [%sp+2239]
				sethi	%hi(.LC10), %g1
				or	%g1, %lo(.LC10), %g1
				stx	%g1, [%sp+2231]
				stx	%i0, [%sp+2223]
				sethi	%hi(.LC9), %o5
				or	%o5, %lo(.LC9), %o5
				mov	%i0, %o4
				mov	3, %o3
				mov	6, %o2
				sra	%i5, 0, %o1
				call	_signal_eventf, 0
				 add	%fp, 751, %o0
		.LVL20:
		.L32:
				sethi	%hi(.LC5), %o1
				or	%o1, %lo(.LC5), %o1
				call	memcpy, 0
				 add	%fp, 1783, %o0
		.LVL24:
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 add	%fp, 1015, %o0
		.LVL25:
		.LBE222:
				mov	256, %o2
				add	%fp, 1015, %o1
				call	memcpy, 0
				 add	%fp, 1527, %o0
		.LVL26:
				ba,pt	%xcc, .L40
				 sethi	%hi(_imp_current_line), %g1
		.L33:
		.LBB223:
  461   16_8a, 16_02, 16_2a, 16_22, 16_0a,
  462   16_32, 16_3a, 16_28, 16_38, 16_30,
  463   16_e0, 16_e8, 16_88, 16_8d
				sethi	%hi(_imp_current_file), %g1
		.L42:
				ldx	[%g1+%lo(_imp_current_file)], %o1
				brz,pn	%o1, .L33
				 mov	256, %o2
				call	_imp_c2istr, 0
				 add	%fp, 1783, %o0
		.LVL21:
				sethi	%hi(_imp_current_line), %g1
		.L41:
				lduw	[%g1+%lo(_imp_current_line)], %i5
				cmp	%i5, 0
				move	%icc, 463, %i5
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 add	%fp, 751, %o0
		.LVL22:
				mov	430, %g1
				stx	%g1, [%sp+2239]
				sethi	%hi(.LC10), %g1
				or	%g1, %lo(.LC10), %g1
				stx	%g1, [%sp+2231]
				stx	%i0, [%sp+2223]
				sethi	%hi(.LC11), %o5
				or	%o5, %lo(.LC11), %o5
				mov	%i0, %o4
				mov	2, %o3
				mov	8, %o2
				sra	%i5, 0, %o1
				call	_signal_eventf, 0
				 add	%fp, 751, %o0
		.LVL23:
				sethi	%hi(.LC5), %o1
				or	%o1, %lo(.LC5), %o1
				call	memcpy, 0
				 add	%fp, 1783, %o0
		.LVL27:
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 add	%fp, 1271, %o0
		.LVL28:
		.LBE223:
				mov	256, %o2
				add	%fp, 1271, %o1
				call	memcpy, 0
				 add	%fp, 1783, %o0
		.LVL29:
				ba,pt	%xcc, .L41
				 sethi	%hi(_imp_current_line), %g1
		.L39:
  464 %integer oper,extra
				ldx	[%fp+2039], %g1
				ldx	[%g7+40], %g2
				xor	%g1, %g2, %g1
				mov	0, %g2
				brnz,pn	%g1, .L39
				 nop
				return	%i7+8
				 nop
		.L29:
		.LBB222:
				call	__stack_chk_fail, 0
				 nop
		.LVL30:
				nop
		.LFE207:
				.align 4
				.proc	020
		PHEX.6119:
		.LFB188:
  465   immediate(op,val) %andreturnif type=constant
				cmp	%i1, 1
				be,pn	%icc, .L353
				 mov	%g5, %i5
		.L325:
  466   oper=code(op)
				add	%i0, -1, %g1
				sra	%g1, 0, %g1
				sllx	%g1, 2, %g1
				sethi	%hi(CODE.6420), %g2
				or	%g2, %lo(CODE.6420), %g2
				lduw	[%g2+%g1], %i4
		.LVL379:
				mov	%i2, %o1
				call	IMMEDIATE.6381, 0
				 mov	%i0, %o0
		.LVL393:
  467   ->shift %if op=left %or op=right
				return	%i7+8
				 nop
		.LVL394:
		.L349:
  468   extra=0; extra=oper %and oper=16_f6 %if op=mul
				add	%i0, -11, %g1
				cmp	%g1, 1
				bleu,pn	%icc, .L344
				 cmp	%i0, 8
		.L328:
		.LVL380:
				ba,pt	%xcc, .L329
				 mov	0, %i4
		.LVL395:
		.L354:
  469   %if op=div %or op=rem %start
				be,pn	%icc, .L329
				 mov	246, %o0
		.L330:
  470     %if type&wordbit#0 %then dump(16_99) %else dump(16_98)
				add	%i0, -9, %g1
				cmp	%g1, 1
				bgu,a,pn %icc, .L349
				 mov	%i4, %o0
		.L331:
  471     extra=oper; oper=16_f6
				call	DUMP.6325, 0
				 mov	153, %o0
		.LVL381:
		.LDL13:
  472   %finish
				mov	246, %o0
		.LVL382:
		.L329:
		.LDL14:
  473   oper=oper+1 %if type&wordbit#0
  474   dump(oper)
				add	%o0, 1, %o0
		.LVL383:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 sra	%o0, 0, %o0
		.LVL384:
  475   %if type=bx %then dump(16_c3+extra) %andreturn
				cmp	%i1, 17
				be,a,pn	%icc, .L354
				 add	%i4, 195, %o0
		.L332:
  476   %if type=unknown %start
				brz,pn	%i1, .L355
				 mov	%i5, %g5
		.L333:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 sra	%o0, 0, %o0
		.LVL396:
  477     tagtype(val)=var+wordbit
				return	%i7+8
				 nop
		.L355:
				sllx	%i2, 2, %g1
				add	%i5, %g1, %g1
				mov	5, %g2
				st	%g2, [%g1+1004]
  478     tagval(val)=-2
				mov	-2, %g2
				st	%g2, [%g1+204]
  479     fault(varund)
				call	FAULT.6091, 0
				 mov	12, %o0
		.LVL397:
  480   %finish
  481   fault(form) %unless type&varmask=var
  482   %if type&glabit=0 %start
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL385:
		.LDL15:
				andcc	%i1, 1, %g0
				be,pn	%xcc, .L357
				 add	%i2, 128, %g1
		.L338:
		.L341:
		.L336:
		.L335:
				mov	%i5, %g5
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL398:
		.LBB325:
  483     %if -128<=val<=127 %then oper=16_42 %else oper=16_82
  484     oper=oper+4 %if index=0
  485   %else
				add	%o0, 4, %g1
				movre	%i3, %g1, %o0
		.LVL400:
		.L342:
  486     %if index=0 %start
				brz,pt	%i3, .L339
				 mov	6, %o0
		.L340:
		.LVL386:
		.LBB324:
  487       oper=6
  488     %finishelseif -128<=val<=127 %start
				add	%i2, 128, %g1
		.L357:
		.LBE325:
  489       oper=16_44
  490     %else
  491       oper=16_84
				mov	132, %o0
				cmp	%g1, 256
				movlu	%icc, 68, %o0
		.LVL387:
		.L339:
  492     %finish
  493   %finish
				mov	130, %o0
				cmp	%g1, 256
				movlu	%icc, 66, %o0
		.L337:
		.LVL399:
  494   dump(oper+extra); dump(val)
				add	%i4, %o0, %o0
		.LVL388:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 sra	%o0, 0, %o0
		.LVL389:
				add	%o0, %i4, %o0
		.LVL401:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 sra	%o0, 0, %o0
		.LVL402:
  495   dump(val>>8) %if oper&16_40=0
				add	%i2, 128, %g1
		.LBE324:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	%i2, %o0
		.LVL390:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	%i2, %o0
		.LVL403:
  496   dump(16_8B) %and dump(16_C2) %if op=rem
				srl	%i2, 8, %o0
				mov	%i5, %g5
				call	DUMP.6325, 0
				 sra	%o0, 0, %o0
		.LVL391:
				cmp	%i0, 10
				be,pn	%icc, .L358
				 mov	%i5, %g5
		.L360:
				srl	%i2, 8, %o0
				mov	%i5, %g5
				call	DUMP.6325, 0
				 sra	%o0, 0, %o0
		.LVL404:
		.LDL16:
				cmp	%i0, 10
				be,pn	%icc, .L347
				 cmp	%i0, 1
		.L343:
  497   %if type&wordbit=0 %and op=load %then dump(16_32) %and dump(16_e4)
				mov	%i5, %g5
		.L358:
				call	DUMP.6325, 0
				 mov	139, %o0
		.LVL408:
  498   %return
				bne,pt	%icc, .L360
				 mov	%i5, %g5
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	194, %o0
		.LVL409:
				return	%i7+8
				 nop
		.L327:
		.LVL410:
		.L344:
  499 shift: dump(pushax)
				call	DUMP.6325, 0
				 mov	50, %o0
		.LVL405:
  500   direct(load,type,val,index); dump(16_89); dump(16_c1); !Mov Cx,Ax
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	228, %o0
		.LVL406:
				return	%i7+8
				 nop
		.LVL407:
		.L347:
				call	DUMP.6325, 0
				 mov	80, %o0
		.LVL411:
				mov	%i5, %g5
				mov	%i3, %o3
				mov	%i2, %o2
				mov	%i1, %o1
				call	DIRECT.6418, 0
				 mov	1, %o0
		.LVL412:
  501   dump(popax)
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	137, %o0
		.LVL413:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	88, %o0
		.LVL415:
  502   %if type&wordbit=0 %then dump(16_d2) %else dump(16_d3)
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	193, %o0
		.LVL414:
				andcc	%i1, 1, %g0
				bne,pt	%xcc, .L345
				 mov	%i5, %g5
  503   dump(oper)
				call	DUMP.6325, 0
				 mov	210, %o0
		.LVL416:
		.L346:
				mov	%i5, %g5
		.L356:
				call	DUMP.6325, 0
				 sra	%i4, 0, %o0
		.LVL417:
		.L326:
				ba,pt	%xcc, .L356
				 mov	%i5, %g5
		.LFE208:
				.align 4
				.proc	020
		EXPR.6367:
		.LFB210:
  504 %end
				return	%i7+8
				 nop
		.L345:
  505
				return	%i7+8
				 nop
		.LVL392:
		.L353:
  506 %routine double(%integer t); ! index for word arrays
		.LVL362:
				save	%sp, -176, %sp
		.LVL363:
				call	DUMP.6325, 0
				 mov	211, %o0
		.LVL418:
  507   %returnif t&wordbit=0
				andcc	%i0, 1, %g0
				bne,pn	%icc, .L315
				 mov	%g5, %i5
		.L316:
  508   dump(16_03); dump(16_c0); !Add ax,ax
				call	DUMP.6325, 0
				 mov	3, %o0
		.LVL364:
  509 %end
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	192, %o0
		.LVL365:
				ba,pt	%xcc, .L316
				 nop
		.LFE209:
				.align 4
				.proc	020
		LABELREF.6351:
		.LFB203:
  510
				return	%i7+8
				 nop
		.L315:
		.L314:
  511 %routine expr
				save	%sp, -176, %sp
				mov	%g5, %i5
		.LVL419:
  512 %integer oper,t,v,index
  513   oper=load
				mov	1, %i3
  514   %cycle
  515     nextatom; unary
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL424:
  516     %if type=constant %start
				call	UNARY.6256, 0
				 mov	%i5, %g5
		.LVL425:
				lduw	[%i5+204], %i4
				cmp	%i4, 1
				be,pn	%icc, .L378
				 andcc	%i4, 1, %g0
		.L363:
  517       atompos=atompos-1 %and val=cexpr(0) %if oper=load
				cmp	%i3, 1
				be,a,pn	%icc, .L377
				 lduw	[%i5+3824], %g1
		.L364:
  518       immediate(oper,val)
				mov	%i5, %g5
				ldsw	[%i5+200], %o1
				call	IMMEDIATE.6381, 0
				 sra	%i3, 0, %o0
		.LVL421:
		.L365:
		.L374:
				add	%g1, -1, %g1
				st	%g1, [%i5+3824]
  519     %finishelseif type&varmask=var %start
				mov	%i5, %g5
				call	CEXPR.6258, 0
				 mov	0, %o0
		.LVL432:
				ba,pt	%xcc, .L364
				 st	%o0, [%i5+200]
		.L379:
		.LVL433:
  520       t=type; v=val
  521       %if open bracket %start
				be,pn	%xcc, .L379
				 add	%i4, -8, %g1
		.L366:
				lduw	[%i5+200], %i1
		.LVL434:
				call	OPENBRACKET.6241, 0
				 mov	%i5, %g5
		.LVL435:
				cmp	%o0, 0
				bne,pn	%icc, .L381
				 mov	%o0, %o3
		.L367:
		.L370:
		.LVL436:
  522         dump(pushax) %unless oper=load
				cmp	%i3, 1
				bne,a,pn %icc, .L382
				 mov	%i5, %g5
  523         expr; double(t)
				call	EXPR.6367, 0
				 mov	%i5, %g5
		.LVL438:
				call	DUMP.6325, 0
				 mov	80, %o0
		.LVL444:
				call	EXPR.6367, 0
				 mov	%i5, %g5
		.LVL445:
  524         dump(16_8b); dump(16_f0);  !Mov si,ax
				mov	%i5, %g5
				call	DOUBLE.6452, 0
				 sra	%i4, 0, %o0
		.LVL439:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	139, %o0
		.LVL440:
				mov	%i5, %g5
				call	DOUBLE.6452, 0
				 sra	%i4, 0, %o0
		.LVL446:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	139, %o0
		.LVL447:
  525         dump(popax) %unless oper=load
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	240, %o0
		.LVL441:
		.L369:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	240, %o0
		.LVL448:
  526         close bracket
				call	CLOSEBRACKET.6246, 0
				 mov	%i5, %g5
		.LVL442:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	88, %o0
		.LVL449:
				ba,pt	%xcc, .L369
				 nop
		.LVL450:
		.L380:
  527         index=1
				ba,pt	%xcc, .L362
				 mov	1, %i2
		.LVL420:
		.L378:
  528       %finishelse index=0
				ba,pt	%xcc, .L370
				 mov	%i2, %o3
		.LVL443:
		.L382:
  529       direct(oper,t,v,index)
				mov	%i5, %g5
				sra	%o3, 0, %o3
				sra	%i1, 0, %o2
				sra	%i4, 0, %o1
				call	DIRECT.6418, 0
				 sra	%i3, 0, %o0
		.LVL437:
  530     %finishelseif type=proc %or type=xproc %or type=spec %start
				ba,pt	%xcc, .L383
				 lduw	[%i5+3824], %g1
		.L381:
  531       %if oper=load %start
				be,pn	%icc, .L380
				 mov	%i5, %g5
		.L373:
  532         call(type,val)
				ldsw	[%i5+200], %o1
				call	CALL.6370, 0
				 sra	%i4, 0, %o0
		.LVL451:
  533       %else
				ba,pt	%xcc, .L383
				 lduw	[%i5+3824], %g1
		.L371:
  534         dump(pushax); call(type,val); dump(16_8b); dump(16_d8);!mov bx,ax
				cmp	%g1, 2
				bgu,pn	%icc, .L371
				 cmp	%i3, 1
		.L372:
				call	DUMP.6325, 0
				 mov	80, %o0
		.LVL426:
  535         dump(popax); direct(oper,bx,0,0)
				mov	%i5, %g5
				ldsw	[%i5+200], %o1
				call	CALL.6370, 0
				 ldsw	[%i5+204], %o0
		.LVL427:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	88, %o0
		.LVL430:
  536       %finish
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	139, %o0
		.LVL428:
				mov	%i5, %g5
				mov	0, %o3
				mov	0, %o2
				mov	17, %o1
				call	DIRECT.6418, 0
				 sra	%i3, 0, %o0
		.LVL431:
  537     %else
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	216, %o0
		.LVL429:
  538       fault(form)
				mov	%i5, %g5
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL452:
  539     %finish
  540     %returnunless atomtype(atompos)=op
				lduw	[%i5+3824], %g1
		.L383:
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%g1, 904, %g1
				sllx	%g1, 2, %g1
				add	%i5, %g1, %g1
				lduw	[%g1+8], %g1
				cmp	%g1, 11
				bne,pn	%icc, .L384
				 nop
		.L376:
				ba,pt	%xcc, .L383
				 lduw	[%i5+3824], %g1
		.L377:
				ba,pt	%xcc, .L383
				 lduw	[%i5+3824], %g1
		.L384:
  541     nextatom
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL422:
  542     oper=val
				lduw	[%i5+200], %i3
		.LVL423:
		.L362:
  543   %repeat
  544 %end
				return	%i7+8
				 nop
		.LFE210:
				.align 4
				.proc	020
		CALL.6370:
		.LFB206:
  545
  546 %routine return
				save	%sp, -176, %sp
				mov	%g5, %i5
  547   dump(16_8b); dump(16_e5); !Mov sp,bp
				call	DUMP.6325, 0
				 mov	139, %o0
		.LVL354:
  548   dump(16_5d); dump(16_1f); !Pop bp, pop ds
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	229, %o0
		.LVL355:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	93, %o0
		.LVL356:
  549   %if parms=0 %then dump(16_cb) %elsestart
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	31, %o0
		.LVL357:
				lduw	[%i5+24], %g1
				cmp	%g1, 0
				be,pn	%icc, .L310
				 mov	%i5, %g5
		.L308:
  550     dump(16_ca)
				call	DUMP.6325, 0
				 mov	202, %o0
		.LVL358:
				call	DUMP.6325, 0
				 mov	203, %o0
		.LVL361:
				st	%g0, [%i5+20]
				return	%i7+8
				 nop
		.LFE211:
				.align 4
				.proc	020
		DOUBLE.6452:
		.LFB209:
  551     dump(parms); dump(parms>>8)
				mov	%i5, %g5
				call	DUMP.6325, 0
				 ldsw	[%i5+24], %o0
		.LVL359:
  552   %finish
				lduw	[%i5+24], %o0
				mov	%i5, %g5
				call	DUMP.6325, 0
				 srl	%o0, 8, %o0
		.LVL360:
		.L309:
  553   access=0
				st	%g0, [%i5+20]
  554 %end
  555
				return	%i7+8
				 nop
		.L310:
  556 %routine terminate declarations
  557 %integer i
  558   fault(level0) %if level=0
				lduw	[%i5+16], %g1
		.L610:
				cmp	%g1, 0
				be,pn	%icc, .L565
				 mov	%i5, %g5
		.L539:
  559   %if level=1 %start
				lduw	[%i5+16], %g1
		.L607:
				cmp	%g1, 1
				be,pn	%icc, .L566
				 mov	2, %g1
		.L540:
		.LBE471:
		.LBE470:
				call	FAULT.6091, 0
				 mov	11, %o0
		.LVL770:
		.LBE472:
		.LBE574:
				ba,pt	%xcc, .L607
				 lduw	[%i5+16], %g1
		.L566:
		.LBB575:
		.LBB473:
  560     level=2; i=-floc
				st	%g1, [%i5+16]
  561     %if i>127 %start
				lduw	[%i5+12], %i4
				sub	%g0, %i4, %i4
		.LVL771:
				cmp	%i4, 127
				ble,pt	%icc, .L541
				 cmp	%i4, 0
  562       dump(16_81); dump(16_ec); dump(i); dump(i>>8); !Sub sp,nn
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	129, %o0
		.LVL772:
  563     %finishelseunless i=0 %start
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	236, %o0
		.LVL773:
  564       dump(16_83); dump(16_ec); dump(i); !sub sp,n
				mov	%i5, %g5
				call	DUMP.6325, 0
				 sra	%i4, 0, %o0
		.LVL774:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	131, %o0
		.LVL776:
  565     %finish
				mov	%i5, %g5
				call	DUMP.6325, 0
				 srl	%i4, 8, %o0
		.LVL775:
		.L542:
		.L543:
				be,a,pt	%icc, .L608
				 lduw	[%i5+12], %g1
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	236, %o0
		.LVL777:
  566     floc=floc-2
				lduw	[%i5+12], %g1
		.L608:
				add	%g1, -2, %g1
		.LBE473:
		.LBE575:
				ba,pt	%xcc, .L540
				 st	%g1, [%i5+12]
		.L541:
		.LBB576:
		.LBB474:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 sra	%i4, 0, %o0
		.LVL778:
		.LBE474:
		.LBE576:
				ba,pt	%xcc, .L608
				 lduw	[%i5+12], %g1
		.LVL779:
		.L567:
  567   %finish
  568 %end
  569
  570 %routine constdef
  571 %integer c
  572   %cycle
  573     nextatom; %returnif type=sep
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL608:
  574     fault(ambig) %unless type=unknown; c=val
				lduw	[%i5+204], %g1
				cmp	%g1, 14
				be,pn	%icc, .L549
				 cmp	%g1, 0
		.L470:
				bne,pn	%icc, .L568
				 mov	%i5, %g5
		.L471:
  575     fault(form) %unless equal sign
				call	FAULT.6091, 0
				 mov	6, %o0
		.LVL604:
		.LBE476:
		.LBE475:
				call	EQUALSIGN.6251, 0
				 mov	%i5, %g5
		.LVL610:
				cmp	%o0, 0
				bne,a,pt %icc, .L472
				 add	%i4, -1, %i4
  576     tagtype(c)=constant; tagval(c)=cexpr(1)
				ba,pt	%xcc, .L468
				 mov	1, %i3
		.L568:
		.LBB475:
		.LBB476:
				sra	%i4, 0, %g1
				add	%g1, 252, %g1
				sllx	%g1, 2, %g1
				add	%fp, 2047, %g2
				add	%g2, %g1, %g1
				st	%i3, [%g1+%l0]
				mov	%i5, %g5
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL611:
		.LBE477:
		.LBE478:
				ba,pt	%xcc, .L591
				 add	%i4, -1, %i4
		.LVL612:
		.L462:
  577   %repeat
				ba,pt	%xcc, .L590
				 lduw	[%i5+200], %i4
		.LVL605:
		.L472:
		.L591:
		.LBB478:
		.LBB477:
				mov	%i5, %g5
				call	CEXPR.6258, 0
				 mov	1, %o0
		.LVL606:
				sra	%i4, 0, %g1
				add	%g1, 52, %g1
				sllx	%g1, 2, %g1
				add	%fp, 2047, %g2
				add	%g2, %g1, %g1
				st	%o0, [%g1+%l0]
		.LVL607:
		.L468:
				lduw	[%i5+200], %i4
		.LVL609:
		.L590:
  578 %end
  579
  580 %routine vardef(%integer key)
  581 %integer t,lb,ub,c,r
  582 %integername v
  583   %cycle
  584     nextatom
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL613:
		.LBE480:
		.LBE479:
  585 next: %returnif type=sep
  586     fault(ambig) %unless type=unknown
				ba,pt	%xcc, .L592
				 lduw	[%i5+204], %g1
		.L570:
		.LBB505:
		.LBB497:
				lduw	[%i5+204], %g1
		.L592:
				cmp	%g1, 14
				be,pn	%icc, .L549
				 cmp	%g1, 0
		.L476:
				bne,pn	%icc, .L570
				 mov	%i5, %g5
		.L477:
		.LDL22:
		.LVL627:
  587     t=var
				call	FAULT.6091, 0
				 mov	6, %o0
		.LVL614:
		.LBE497:
		.LBE505:
  588     t=t+wordbit %if key=kword
  589     t=t+glabit %if level=0
				ba,pt	%xcc, .L593
				 lduw	[%i5+16], %g1
		.LVL615:
		.L571:
		.LBB506:
		.LBB498:
				lduw	[%i5+16], %g1
		.L593:
  590     tagtype(val)=t; v==tagval(val)
				add	%l2, 2, %l3
		.LBB481:
		.LBB482:
				sethi	%hi(__PRETTY_FUNCTION__.5660), %g1
				or	%g1, %lo(__PRETTY_FUNCTION__.5660), %g1
				sethi	%hi(14336), %g2
				xor	%g2, -809, %g2
				add	%g2, %fp, %g2
				stx	%g1, [%g2]
		.L474:
		.LBE482:
		.LBE481:
				cmp	%g1, 0
				mov	%l2, %g2
				move	%icc, %l3, %g2
		.L478:
		.LVL628:
				lduw	[%i5+200], %i4
				add	%i4, -1, %i4
				sra	%i4, 0, %g1
				add	%g1, 252, %g1
				sllx	%g1, 2, %g1
				add	%fp, 2047, %g3
				add	%g3, %g1, %g1
				st	%g2, [%g1+%l0]
		.LVL629:
  591     %if open bracket %start
				call	OPENBRACKET.6241, 0
				 mov	%i5, %g5
		.LVL630:
				mov	%o0, %i2
				cmp	%o0, 0
				bne,pn	%icc, .L571
				 mov	1, %i0
		.L479:
		.L481:
		.LVL631:
  592       lb=cexpr(1); nextatom; fault(form) %unless type=colon
				mov	%i5, %g5
				call	CEXPR.6258, 0
				 mov	1, %o0
		.LVL616:
				mov	%o0, %i2
		.LVL617:
  593       ub=cexpr(1)+1; close bracket
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL618:
				call	CEXPR.6258, 0
				 mov	1, %o0
		.LVL619:
				add	%o0, 1, %i0
		.LVL620:
				ba,pt	%xcc, .L595
				 mov	%i5, %g5
		.LVL624:
		.L572:
  594     %finishelse lb=0 %and ub=1
				lduw	[%i5+204], %g1
				cmp	%g1, 13
				bne,pn	%icc, .L569
				 mov	%i5, %g5
		.L480:
		.L595:
				call	CLOSEBRACKET.6246, 0
				 mov	%i5, %g5
		.LVL621:
		.LBE498:
		.LBE506:
  595     lb=lb+lb %and ub=ub+ub %if key=kword
				ba,pt	%xcc, .L594
				 cmp	%i3, 18
		.LVL622:
		.L569:
		.LBB507:
		.LBB499:
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL623:
		.LBE499:
		.LBE507:
				cmp	%i3, 18
		.L594:
				be,a,pn	%icc, .L572
				 add	%i2, %i2, %i2
		.L482:
  596     %if level=0 %start
				lduw	[%i5+16], %g1
				cmp	%g1, 0
				bne,pn	%icc, .L483
				 add	%fp, 2047, %g2
  597       v=gloc-lb; t=v+ub
				ba,pt	%xcc, .L482
				 add	%i0, %i0, %i0
		.LVL625:
		.L573:
		.LBB508:
		.LBB500:
				lduw	[%i5+3416], %g1
				sub	%g1, %i2, %i2
		.LVL632:
				sra	%i4, 0, %g1
				add	%g1, 52, %g1
				sllx	%g1, 2, %g1
				add	%g2, %g1, %g1
				st	%i2, [%g1+%l0]
  598       %if equal sign %start
				add	%i2, %i0, %i0
		.LVL633:
				call	EQUALSIGN.6251, 0
				 mov	%i5, %g5
		.LVL634:
				cmp	%o0, 0
				bne,pt	%icc, .L485
				 mov	1, %g1
		.L484:
		.LVL635:
		.LBB484:
		.LBB483:
				sethi	%hi(_imp_OutStream), %g2
				st	%g1, [%g2+%lo(_imp_OutStream)]
				sethi	%hi(_imp_outfile), %g1
				ldx	[%g1+%lo(_imp_outfile)+296], %g2
				sethi	%hi(_imp_OutFile), %g1
				stx	%g2, [%g1+%lo(_imp_OutFile)]
				sethi	%hi(14336), %g1
				xor	%g1, -809, %g1
				add	%g1, %fp, %g1
				call	check_outstream, 0
				 ldx	[%g1], %o0
		.LVL636:
		.LBE483:
		.LBE484:
		.LBB485:
		.LBB486:
				call	_imp_printsymbol, 0
				 mov	2, %o0
		.LVL637:
		.LBE486:
		.LBE485:
		.LBB487:
		.LBB488:
				call	_imp_printsymbol, 0
				 mov	3, %o0
		.LVL638:
		.LBE488:
		.LBE487:
		.LBB489:
		.LBB490:
				sllx	%i0, 56, %o0
				call	_imp_printsymbol, 0
				 srax	%o0, 56, %o0
		.LVL639:
		.LBE490:
		.LBE489:
  599         %cycle
  600           nextatom
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL643:
  601           %if gloc>=t %start
				lduw	[%i5+3416], %g1
				cmp	%i0, %g1
				ble,pn	%icc, .L573
				 nop
		.L486:
  602             gflush; ->next
				call	GFLUSH.6305, 0
				 mov	%i5, %g5
		.LVL626:
		.L475:
  603           %finish
  604           %if type=string %start
				lduw	[%i5+204], %g1
				cmp	%g1, 2
				be,pn	%icc, .L574
				 cmp	%g1, 14
		.L487:
  605             dumpstring(val)
				mov	%i5, %g5
				call	DUMPSTRING.6317, 0
				 ldsw	[%i5+200], %o0
		.LVL642:
		.L485:
  606           %finishelseif type=sep %start
  607             readline
				call	READLINE.6107, 0
				 mov	%i5, %g5
		.LVL644:
				ba,pt	%xcc, .L485
				 nop
		.L489:
  608           %finishelsestart
				bne,a,pt %icc, .L489
				 lduw	[%i5+3824], %g1
  609             atompos=atompos-1; c=Cexpr(1); r=1
				add	%g1, -1, %g1
				st	%g1, [%i5+3824]
  610             %if open bracket %start
				mov	%i5, %g5
				call	CEXPR.6258, 0
				 mov	1, %o0
		.LVL645:
				mov	%o0, %i1
				mov	%o0, %i2
		.LVL646:
				call	OPENBRACKET.6241, 0
				 mov	%i5, %g5
		.LVL647:
				cmp	%o0, 0
				bne,pn	%icc, .L575
				 mov	1, %i4
		.LVL648:
		.LBB493:
		.LBB494:
  611               r=cexpr(1); close bracket
				mov	%i5, %g5
				call	CEXPR.6258, 0
				 mov	1, %o0
		.LVL651:
				mov	%o0, %l1
				mov	%o0, %i4
		.LVL652:
  612             %finish
				call	CLOSEBRACKET.6246, 0
				 mov	%i5, %g5
		.LVL653:
  613             %while r>0 %cycle
  614               r=r-1; %if key=kword %then gword(c) %else gbyte(c)
				cmp	%l1, 0
				bg,a,pt	%icc, .L613
				 srl	%i1, 8, %i1
				ba,pt	%xcc, .L485
				 nop
		.LVL654:
		.L576:
		.LBB496:
		.LBB495:
				cmp	%i4, 0
		.L596:
				ble,pn	%icc, .L485
				 nop
		.LVL657:
		.L493:
				ba,pt	%xcc, .L596
				 cmp	%i4, 0
		.LVL659:
		.L483:
		.LBB511:
		.LBB503:
  615             %repeat
				cmp	%i3, 18
				be,pn	%icc, .L576
				 add	%i4, -1, %i4
		.L494:
  616           %finish
  617         %repeat
  618       %else
  619         selectoutput(object); printsymbol(2); printsymbol(3)
				sra	%i2, 0, %i2
		.LBE501:
		.LBE509:
				mov	%i5, %g5
				call	GBYTE.6298, 0
				 mov	%i2, %o0
		.LVL658:
		.LBE502:
		.LBE510:
  620         printsymbol(t&255); printsymbol(t>>8&255); gloc=t
  621       %finish
				srl	%i0, 8, %o0
		.LBB491:
		.LBB492:
				sllx	%o0, 56, %o0
				call	_imp_printsymbol, 0
				 srax	%o0, 56, %o0
		.LVL640:
		.LBE492:
		.LBE491:
		.LBE500:
		.LBE508:
  622     %else
				ba,pt	%xcc, .L474
				 st	%i0, [%i5+3416]
		.LVL641:
		.L574:
		.LBB509:
		.LBB501:
  623       fault(declate) %if level=2
				cmp	%g1, 2
				be,a,pn	%icc, .L577
				 mov	%i5, %g5
		.L497:
  624       floc=floc-ub+lb; v=floc-lb
				lduw	[%i5+12], %g1
		.L597:
				sub	%g1, %i0, %i0
		.LVL660:
				add	%i2, %i0, %i2
		.LVL661:
				st	%i2, [%i5+12]
				call	FAULT.6091, 0
				 mov	8, %o0
		.LVL663:
		.LBE504:
		.LBE512:
				ba,pt	%xcc, .L597
				 lduw	[%i5+12], %g1
		.LVL664:
		.L559:
		.L499:
		.LBB513:
		.LBB514:
  625     %finish
				sra	%i4, 0, %g1
				add	%g1, 52, %g1
				sllx	%g1, 2, %g1
				add	%fp, 2047, %g2
				add	%g2, %g1, %g1
		.LBE503:
		.LBE511:
				ba,pt	%xcc, .L474
				 st	%i0, [%g1+%l0]
		.LVL662:
		.L577:
		.LBB512:
		.LBB504:
  626   %repeat
  627 %end
  628
  629 %routine procdef(%integer key)
				sethi	%hi(8192), %g1
				xor	%g1, -272, %g1
				add	%fp, 2047, %g2
				add	%g2, %g1, %g2
				add	%fp, 2047, %g3
				stx	%g3, [%g2+272]
				stx	%i5, [%g3+%g1]
  630 %integer p,sym
  631 %string(31)s
  632
  633   %routine getstring
				.register	%g7, #ignore
				save	%sp, -1216, %sp
				mov	%g5, %i5
				ldx	[%g7+40], %g1
				stx	%g1, [%fp+2039]
				mov	0, %g1
  634     s=""
  635     %cycle
  636       sym=line(val); %returnif sym='"'; val=val+1; s=s.tostring(sym)
				add	%g5, 12, %i4
		.LVL9:
				mov	31, %o2
				add	%fp, 1015, %o1
				call	_imp_strncpy, 0
				 mov	%i4, %o0
		.LVL10:
				ldx	[%i5], %g2
				lduw	[%g2+200], %g1
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%g2, %g1, %g1
				mov	1011, %g3
				sllx	%g3, 3, %g3
				ldub	[%g1+%g3], %g1
				mov	%g3, %i3
		.L23:
				ldx	[%i5], %g2
				lduw	[%g2+200], %g1
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%g2, %g1, %g1
				ldub	[%g1+%i3], %g1
  637     %repeat
				cmp	%g1, 34
				be,pn	%icc, .L21
				 st	%g1, [%i5+8]
				cmp	%g1, 34
				bne,pt	%icc, .L23
				 st	%g1, [%i5+8]
		.L21:
  638   %end
				ldx	[%fp+2039], %g1
				ldx	[%g7+40], %g2
				xor	%g1, %g2, %g1
				mov	0, %g2
				brnz,pn	%g1, .L26
				 nop
				return	%i7+8
				 nop
		.L26:
				call	__stack_chk_fail, 0
				 nop
		.LVL14:
				nop
		.LFE216:
				.section	.rodata.str1.8,"aMS",@progbits,1
				.align 8
		.LC9:
				.asciz	"->S(%d) out of bounds at %s line %d"
				.align 8
		.LC10:
				.asciz	"test-new/lc.imp"
				.align 8
		.LC11:
				.asciz	"switch jump to undefined label S(%d): at %s line %d"
				.section	".rodata"
		.LC5:
				.byte	15
				.asciz	"test-new/lc.imp"
				.skip	239
				.section	".text"
				.align 4
				.proc	020
		IMMEDIATE.6381:
		.LFB207:
  639
  640   nextatom; fault(ambig) %unless type=unknown
				lduw	[%g2+200], %g1
				add	%g1, 1, %g1
				st	%g1, [%g2+200]
		.LVL11:
		.LBB220:
		.LBB221:
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL665:
  641   %if key=kspec %start
				lduw	[%i5+204], %g1
				cmp	%g1, 0
				bne,a,pn %icc, .L578
				 mov	%i5, %g5
		.L500:
				cmp	%i3, 20
		.L598:
				be,a,pn	%icc, .L579
				 lduw	[%i5+200], %g1
		.L501:
				ba,pt	%xcc, .L598
				 cmp	%i3, 20
		.L579:
		.LBB554:
		.LBB546:
  642     tagtype(val)=spec; tagval(val)=gloc
				call	FAULT.6091, 0
				 mov	6, %o0
		.LVL676:
		.LBE545:
		.LBE553:
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%g1, 252, %g2
				sllx	%g2, 2, %g2
				add	%fp, 2047, %g3
				add	%g3, %g2, %g2
				mov	10, %g3
				st	%g3, [%g2+%l0]
  643     nextatom; fault(form) %unless type=string
				add	%fp, 1783, %o2
				mov	%i4, %o1
				call	_imp_join, 0
				 add	%fp, 1527, %o0
		.LVL12:
		.LBE221:
		.LBE220:
				mov	31, %o2
				add	%fp, 1271, %o1
				call	_imp_strncpy, 0
				 mov	%i4, %o0
		.LVL13:
		.LDL2:
				add	%g1, 52, %g1
				sllx	%g1, 2, %g1
				add	%fp, 2047, %g2
				add	%g2, %g1, %g1
				lduw	[%i5+3416], %g2
				st	%g2, [%g1+%l0]
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL677:
  644     getstring; p=length(s)
				lduw	[%i5+204], %g1
				cmp	%g1, 2
				be,pn	%icc, .L502
				 mov	%i5, %g5
				sethi	%hi(8192), %i4
				xor	%i4, -272, %i4
				add	%fp, 2047, %g1
				add	%g1, %i4, %i4
				call	GETSTRING.6538, 0
				 mov	%i4, %g5
		.LVL679:
  645     selectoutput(object); printsymbol(2)
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL678:
		.L502:
				ldub	[%i4+12], %i4
		.LVL680:
		.LBB515:
		.LBB516:
				sethi	%hi(_imp_OutStream), %g1
				mov	1, %g2
				st	%g2, [%g1+%lo(_imp_OutStream)]
				sethi	%hi(_imp_outfile), %g1
				ldx	[%g1+%lo(_imp_outfile)+296], %g2
				sethi	%hi(_imp_OutFile), %g1
				stx	%g2, [%g1+%lo(_imp_OutFile)]
				sethi	%hi(__PRETTY_FUNCTION__.5660), %o0
				call	check_outstream, 0
				 or	%o0, %lo(__PRETTY_FUNCTION__.5660), %o0
		.LVL681:
		.LBE516:
		.LBE515:
		.LBB517:
		.LBB518:
				call	_imp_printsymbol, 0
				 mov	2, %o0
		.LVL682:
		.LBE518:
		.LBE517:
		.LBB519:
		.LBB520:
				call	_imp_printsymbol, 0
				 mov	8, %o0
		.LVL683:
		.LBE520:
		.LBE519:
		.LBB521:
		.LBB522:
				sllx	%i4, 56, %i4
		.LVL684:
				call	_imp_printsymbol, 0
				 srax	%i4, 56, %o0
		.LVL685:
				sethi	%hi(9216), %g1
				xor	%g1, -528, %i3
		.LVL686:
				xor	%g1, -272, %g1
				add	%fp, 2047, %g2
				add	%g2, %i3, %i3
				mov	256, %o2
				add	%g2, %g1, %o1
				call	memcpy, 0
				 mov	%i3, %o0
		.LVL687:
		.LBE522:
		.LBE521:
		.LBB523:
		.LBB524:
				sethi	%hi(16384), %i4
				xor	%i4, -784, %i4
				add	%fp, 2047, %g1
				add	%g1, %i4, %i4
				mov	256, %o2
				mov	%i3, %o1
				call	memcpy, 0
				 mov	%i4, %o0
		.LVL688:
				call	_imp_printstring, 0
				 mov	%i4, %o0
		.LVL689:
		.LBE524:
		.LBE523:
		.LBB525:
		.LBB526:
				call	_imp_printsymbol, 0
				 mov	7, %o0
		.LVL690:
		.LBE526:
		.LBE525:
		.LBB527:
		.LBB528:
				call	_imp_printsymbol, 0
				 mov	0, %o0
		.LVL691:
		.LBE528:
		.LBE527:
  646     printsymbol(8); printsymbol(p); printstring(s)
  647     printsymbol(7); printsymbol(0)
  648     gloc=gloc+4; %return
				lduw	[%i5+3416], %g1
				add	%g1, 4, %g1
		.LBE546:
		.LBE554:
				ba,pt	%xcc, .L549
				 st	%g1, [%i5+3416]
		.LVL692:
		.L580:
		.LBB555:
		.LBB547:
  649   %finish
  650   fault(nested) %unless level=0; level=1; access=1; textlevel=0
				lduw	[%i5+16], %g1
				cmp	%g1, 0
				bne,pn	%icc, .L580
				 mov	%i5, %g5
		.L503:
  651   v=val; t=proc; nextatom
				lduw	[%i5+200], %g1
				st	%g1, [%i5+8]
				call	FAULT.6091, 0
				 mov	7, %o0
		.LVL693:
		.LBE547:
		.LBE555:
  652   %if type=string %start
				mov	8, %g1
				st	%g1, [%i5+4]
				lduw	[%i5+204], %g1
				cmp	%g1, 2
				be,pn	%icc, .L581
				 sethi	%hi(8192), %i4
		.LVL667:
		.L504:
  653     getstring
				mov	1, %g1
		.L599:
				st	%g1, [%i5+16]
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL666:
				ba,pt	%xcc, .L599
				 mov	1, %g1
		.L581:
		.LBB556:
		.LBB548:
				xor	%i4, -272, %i4
				add	%fp, 2047, %g1
				add	%g1, %i4, %i4
				call	GETSTRING.6538, 0
				 mov	%i4, %g5
		.LVL694:
		.LBB529:
		.LBB530:
				sethi	%hi(_imp_OutStream), %g1
				mov	1, %g2
				st	%g2, [%g1+%lo(_imp_OutStream)]
				sethi	%hi(_imp_outfile), %g1
				ldx	[%g1+%lo(_imp_outfile)+296], %g2
				sethi	%hi(_imp_OutFile), %g1
				stx	%g2, [%g1+%lo(_imp_OutFile)]
				sethi	%hi(__PRETTY_FUNCTION__.5660), %o0
				call	check_outstream, 0
				 or	%o0, %lo(__PRETTY_FUNCTION__.5660), %o0
		.LVL695:
		.LBE530:
		.LBE529:
		.LBB531:
		.LBB532:
				call	_imp_printsymbol, 0
				 mov	1, %o0
		.LVL696:
		.LBE532:
		.LBE531:
		.LBB533:
		.LBB534:
				call	_imp_printsymbol, 0
				 mov	6, %o0
		.LVL697:
		.LBE534:
		.LBE533:
		.LBB535:
		.LBB536:
				call	_imp_printsymbol, 0
				 ldsb	[%i4+12], %o0
		.LVL698:
				sethi	%hi(9216), %g1
				xor	%g1, -784, %i3
		.LVL699:
				xor	%g1, -16, %g1
				add	%fp, 2047, %g2
				add	%g2, %i3, %i3
				mov	256, %o2
				add	%g2, %g1, %o1
				call	memcpy, 0
				 mov	%i3, %o0
		.LVL700:
		.LBE536:
		.LBE535:
		.LBB537:
		.LBB538:
				sethi	%hi(16384), %i4
				xor	%i4, -784, %i4
				add	%fp, 2047, %g1
				add	%g1, %i4, %i4
				mov	256, %o2
				mov	%i3, %o1
				call	memcpy, 0
				 mov	%i4, %o0
		.LVL701:
				call	_imp_printstring, 0
				 mov	%i4, %o0
		.LVL702:
		.LBE538:
		.LBE537:
  654     selectoutput(object); printsymbol(1); printsymbol(6)
				st	%g1, [%i5+20]
  655     printsymbol(length(s)); printstring(s)
				st	%g0, [%i5+188]
  656     t=xproc; nextatom
				mov	9, %g1
				st	%g1, [%i5+4]
  657   %finish
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL703:
		.LBE548:
		.LBE556:
  658   tagtype(v)=t; tagval(v)=cloc
				lduw	[%i5+8], %g1
		.L600:
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%g1, 252, %g2
				sllx	%g2, 2, %g2
				add	%fp, 2047, %g3
				add	%g3, %g2, %g2
				lduw	[%i5+4], %g3
				st	%g3, [%g2+%l0]
				ba,pt	%xcc, .L600
				 lduw	[%i5+8], %g1
		.L582:
		.LBB557:
		.LBB549:
  659   dump(16_1e); dump(16_55); !Push ds, push bp
				add	%g1, 52, %g1
				sllx	%g1, 2, %g1
				add	%fp, 2047, %g2
				add	%g2, %g1, %g1
				lduw	[%i5+3420], %g2
				st	%g2, [%g1+%l0]
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	30, %o0
		.LVL668:
  660   dump(16_8b); dump(16_ec); !Mov BP,SP
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	85, %o0
		.LVL669:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	139, %o0
		.LVL670:
  661   dump(16_33); dump(16_C0); !Xor AX,AX
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	236, %o0
		.LVL671:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	51, %o0
		.LVL672:
  662   dump(pushax);             !For event mechanism
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	192, %o0
		.LVL673:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	80, %o0
		.LVL674:
  663   %if t=xproc %start
				lduw	[%i5+4], %g1
				cmp	%g1, 9
				be,pn	%icc, .L582
				 sethi	%hi(8192), %o1
		.L505:
  664     fault(labund) %if program=""
  665     dump(16_b8); flush; !Mov ax,nn=dseg
				call	DUMP.6325, 0
				 mov	184, %o0
		.LVL705:
				ba,pt	%xcc, .L602
				 mov	%i5, %g5
		.L509:
		.L603:
		.LBB559:
		.LBB551:
  666     printsymbol(7); printsymbol(length(program)); printstring(program)
				xor	%o1, -784, %o1
				add	%fp, 2047, %g1
				add	%g1, %o1, %o1
				call	_imp_strcmp, 0
				 mov	%l7, %o0
		.LVL704:
				cmp	%o0, 0
				be,pn	%icc, .L583
				 mov	%i5, %g5
		.L506:
		.L602:
				call	FLUSH.6329, 0
				 mov	%i5, %g5
		.LVL706:
		.LBB539:
		.LBB540:
				call	_imp_printsymbol, 0
				 mov	7, %o0
		.LVL707:
		.LBE540:
		.LBE539:
		.LBB541:
		.LBB542:
				call	_imp_printsymbol, 0
				 ldsb	[%i5+3832], %o0
		.LVL708:
				sethi	%hi(10240), %i3
				xor	%i3, -16, %i3
				add	%fp, 2047, %g1
				add	%g1, %i3, %i3
				mov	256, %o2
				sethi	%hi(8192), %o1
				xor	%o1, -528, %o1
				add	%g1, %o1, %o1
				call	memcpy, 0
				 mov	%i3, %o0
		.LVL709:
		.LBE542:
		.LBE541:
		.LBB543:
		.LBB544:
				sethi	%hi(16384), %i4
				xor	%i4, -784, %i4
				add	%fp, 2047, %g1
				add	%g1, %i4, %i4
				mov	256, %o2
				mov	%i3, %o1
				call	memcpy, 0
				 mov	%i4, %o0
		.LVL710:
				call	_imp_printstring, 0
				 mov	%i4, %o0
		.LVL711:
		.LBE544:
		.LBE543:
  667     cloc=cloc+2; dump(16_8E); dump(16_D8); !Mov ds,ax
				lduw	[%i5+3420], %g1
				add	%g1, 2, %g1
				st	%g1, [%i5+3420]
  668   %finish
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	142, %o0
		.LVL712:
  669   parms=0; oldtpos=v+1
				st	%g0, [%i5+24]
		.L601:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	216, %o0
		.LVL713:
		.LBE549:
		.LBE557:
				ba,pt	%xcc, .L601
				 st	%g0, [%i5+24]
		.L583:
		.LBB558:
		.LBB550:
				call	FAULT.6091, 0
				 mov	10, %o0
		.LVL714:
		.LBE550:
		.LBE558:
  670   %while type#sep %cycle
				lduw	[%i5+8], %g1
				add	%g1, 1, %g1
				add	%fp, 2047, %g2
				st	%g1, [%g2+%l0]
		.LBE514:
		.LBE513:
  671     fault(ambig) %unless type=unknown
				lduw	[%i5+204], %g1
				cmp	%g1, 14
				be,pn	%icc, .L508
				 cmp	%g1, 0
				be,a,pt	%icc, .L509
				 lduw	[%i5+200], %g1
  672     tagtype(val)=var+wordbit
				ba,pt	%xcc, .L507
				 mov	5, %i4
		.LVL675:
		.L578:
		.LBB553:
		.LBB545:
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%g1, 252, %g1
				sllx	%g1, 2, %g1
				add	%fp, 2047, %g2
				add	%g2, %g1, %g1
				st	%i4, [%g1+%l0]
				mov	%i5, %g5
				call	FAULT.6091, 0
				 mov	6, %o0
		.LVL716:
		.LBE551:
		.LBE559:
				ba,pt	%xcc, .L603
				 lduw	[%i5+200], %g1
		.L508:
		.LBB560:
		.LBB552:
  673     parms=parms+1; nextatom
				lduw	[%i5+24], %g1
				add	%g1, 1, %g1
				st	%g1, [%i5+24]
  674   %repeat
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL715:
		.L507:
  675   p=tagpos-parms; parms=parms+parms; sym=parms+6
				lduw	[%i5+3408], %g5
				lduw	[%i5+24], %g1
				sub	%g5, %g1, %g3
		.LVL717:
  676   %while p<tagpos %cycle
				add	%g1, %g1, %g1
				st	%g1, [%i5+24]
  677     tagval(p)=sym; sym=sym-2; p=p+1
				add	%g1, 6, %g2
				sethi	%hi(8192), %g1
				xor	%g1, -272, %g1
				add	%fp, 2047, %g4
				add	%g4, %g1, %g1
				st	%g2, [%g1+8]
				mov	0, %g1
				mov	1, %i4
		.L510:
				mov	%g2, %g4
				cmp	%g5, %g3
				ble,pn	%icc, .L511
				 add	%g2, -2, %g2
				add	%g3, -1, %g1
				sra	%g1, 0, %g1
				add	%g1, 52, %g1
				sllx	%g1, 2, %g1
				add	%fp, 2047, %i3
				add	%i3, %g1, %g1
				st	%g4, [%g1+%l0]
  678   %repeat
  679   floc=0
				add	%g3, 1, %g3
		.LVL718:
				ba,pt	%xcc, .L510
				 mov	%i4, %g1
		.L511:
				andcc	%g1, 0xff, %g0
				bne,pn	%icc, .L584
				 sethi	%hi(8192), %g1
		.L512:
				st	%g0, [%i5+12]
		.L469:
		.LVL719:
		.L549:
		.LBE552:
		.LBE560:
  680 %end
  681
  682 %routine instruction
				save	%sp, -176, %sp
  683 %integer t,v,i,oper,st,sv,si,dt,dv
  684   nextatom
				call	NEXTATOM.6237, 0
				 mov	%g5, %i5
		.LVL475:
  685   %if type=kmove %start
				lduw	[%i5+204], %i4
				cmp	%i4, 23
				bne,pt	%icc, .L421
				 cmp	%i4, 30
  686     nextatom; oper=16_a4; !Movb
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL476:
  687     %if type=string %start
				lduw	[%i5+204], %g1
				cmp	%g1, 2
				bne,pt	%icc, .L422
				 nop
		.LVL477:
  688       st=var+glabit; sv=gloc; si=0
				mov	6, %i4
		.L424:
		.LVL485:
		.L425:
  689       dumpstring(val); val=gloc-sv; gflush
				lduw	[%i5+3416], %l0
		.LVL478:
				mov	%i5, %g5
				call	DUMPSTRING.6317, 0
				 ldsw	[%i5+200], %o0
		.LVL479:
  690       %if val&1=0 %start
				lduw	[%i5+3416], %g1
				sub	%g1, %l0, %g1
				st	%g1, [%i5+200]
				lduw	[%i5+200], %g1
				andcc	%g1, 1, %g0
				bne,pt	%xcc, .L423
				 mov	164, %i3
				mov	0, %i0
  691         val=val>>1; oper=16_a5; !Movw
				call	GFLUSH.6305, 0
				 mov	%i5, %g5
		.LVL480:
				srl	%g1, 1, %g1
				st	%g1, [%i5+200]
		.LVL481:
  692       %finish
				mov	165, %i3
		.LVL482:
		.L423:
  693       immediate(load,val); dump(pushax)
				mov	%i5, %g5
				ldsw	[%i5+200], %o1
				call	IMMEDIATE.6381, 0
				 mov	1, %o0
		.LVL483:
  694     %else
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	80, %o0
		.LVL484:
  695       expr; dump(pushax)
				call	EXPR.6367, 0
				 mov	%i5, %g5
		.LVL516:
  696       nextatom; st=type; sv=val; si=0
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	80, %o0
		.LVL517:
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL518:
  697       fault(form) %unless st&varmask=var
				lduw	[%i5+204], %i4
		.LVL519:
  698       %if openbracket %start
				lduw	[%i5+200], %l0
		.LVL520:
				mov	%i5, %g5
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL521:
		.LDL19:
				call	OPENBRACKET.6241, 0
				 mov	%i5, %g5
		.LVL522:
				mov	%o0, %i0
				cmp	%o0, 0
				be,pt	%icc, .L425
				 mov	165, %i3
  699         expr; double(st); si=1; dump(pushax)
				call	EXPR.6367, 0
				 mov	%i5, %g5
		.LVL523:
  700         closebracket
				mov	%i5, %g5
				call	DOUBLE.6452, 0
				 sra	%i4, 0, %o0
		.LVL524:
				call	CLOSEBRACKET.6246, 0
				 mov	%i5, %g5
		.LVL526:
  701       %finish
				ba,pt	%xcc, .L425
				 mov	1, %i0
		.LVL527:
		.L426:
  702       oper=16_a5 %if st&wordbit#0; !Movw
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	80, %o0
		.LVL525:
  703     %finish
  704     nextatom; dt=type; dv=val
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL486:
  705     fault(form) %unless dt&varmask=var
				lduw	[%i5+204], %i1
		.LVL487:
  706     %if openbracket %start
				lduw	[%i5+200], %l1
		.LVL488:
				mov	%i5, %g5
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL489:
		.LDL18:
				call	OPENBRACKET.6241, 0
				 mov	%i5, %g5
		.LVL490:
				cmp	%o0, 0
				be,a,pt	%icc, .L426
				 mov	%i5, %g5
  707       expr; double(dt); dump(16_8b); dump(16_f8); !Mov di,ax
				call	EXPR.6367, 0
				 mov	%i5, %g5
		.LVL491:
  708       direct(lea,dt,dv,0); dump(16_03); dump(16_f8); !add di,ax
				sra	%i1, 0, %i2
				mov	%i5, %g5
				call	DOUBLE.6452, 0
				 mov	%i2, %o0
		.LVL492:
				mov	%i5, %g5
				mov	0, %o3
				sra	%l1, 0, %o2
				mov	%i2, %o1
				call	DIRECT.6418, 0
				 mov	14, %o0
		.LVL495:
  709       closebracket
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	139, %o0
		.LVL493:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	3, %o0
		.LVL496:
				call	CLOSEBRACKET.6246, 0
				 mov	%i5, %g5
		.LVL498:
		.L427:
  710     %else
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	248, %o0
		.LVL494:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	248, %o0
		.LVL497:
  711       direct(lea,dt,dv,0); dump(16_8b); dump(16_f8); !Mov di,ax
				mov	0, %o3
				sra	%l1, 0, %o2
				sra	%i1, 0, %o1
				call	DIRECT.6418, 0
				 mov	14, %o0
		.LVL528:
  712     %finish
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	139, %o0
		.LVL529:
  713     direct(lea,st,sv,0); dump(16_8b); dump(16_f0); !Mov si,ax
				mov	%i5, %g5
		.L447:
				mov	0, %o3
				sra	%l0, 0, %o2
				sra	%i4, 0, %o1
				call	DIRECT.6418, 0
				 mov	14, %o0
		.LVL499:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	248, %o0
		.LVL530:
				ba,pt	%xcc, .L447
				 mov	%i5, %g5
		.L429:
  714     %if si#0 %Start
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	139, %o0
		.LVL500:
				cmp	%i0, 0
				be,pt	%icc, .L449
				 andcc	%i1, 1, %g0
  715       dump(popax); dump(16_03); dump(16_f0); !add,si,ax
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	240, %o0
		.LVL501:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	88, %o0
		.LVL502:
  716     %finish
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	3, %o0
		.LVL503:
  717     %if dt&glabit=0 %then dump(16_16) %else dump(16_1e); !Push SS/DS
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	240, %o0
		.LVL504:
		.L428:
				andcc	%i1, 1, %g0
		.L449:
				bne,pt	%xcc, .L429
				 mov	%i5, %g5
  718     dump(16_07);  !Pop ES
				call	DUMP.6325, 0
				 mov	22, %o0
		.LVL505:
		.L430:
				mov	%i5, %g5
		.L448:
				call	DUMP.6325, 0
				 mov	7, %o0
		.LVL506:
				ba,pt	%xcc, .L448
				 mov	%i5, %g5
		.LVL532:
		.L421:
  719     %if st&glabit=0 %start
				andcc	%i4, 1, %i4
		.LVL507:
				bne,pt	%icc, .L450
				 mov	%i5, %g5
  720       dump(16_1e); dump(16_16); dump(16_1f); !Push DS,SS, Pop DS
				call	DUMP.6325, 0
				 mov	30, %o0
		.LVL508:
  721     %finish
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	22, %o0
		.LVL509:
				call	DUMP.6325, 0
				 mov	30, %o0
		.LVL531:
  722     dump(16_59); dump(16_F2); dump(oper); !Pop cx, rep
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	31, %o0
		.LVL510:
		.L431:
				mov	%i5, %g5
		.L450:
				call	DUMP.6325, 0
				 mov	89, %o0
		.LVL511:
  723     dump(16_1f) %if st&glabit=0; !Pop DS
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	242, %o0
		.LVL512:
				cmp	%i4, 0
				bne,pt	%icc, .L453
				 mov	%i5, %g5
  724   %finishelseif type=krepeat %start
				mov	%i5, %g5
				call	DUMP.6325, 0
				 sra	%i3, 0, %o0
		.LVL513:
				call	DUMP.6325, 0
				 mov	31, %o0
		.LVL514:
		.L453:
				return	%i7+8
				 nop
		.LVL515:
		.L422:
  725     poptext; fault(type) %unless type=repexp
				call	POPTEXT.6363, 0
				 mov	%i5, %g5
		.LVL533:
  726     dump(16_E9); labelref(label,val)
				bne,pt	%icc, .L433
				 cmp	%i4, 24
				lduw	[%i5+204], %o0
				cmp	%o0, 14
				be,pn	%icc, .L434
				 mov	%i5, %g5
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	233, %o0
		.LVL535:
  727   %finishelseif type=kjump %start
				call	FAULT.6091, 0
				 sra	%o0, 0, %o0
		.LVL534:
		.L434:
				mov	%i5, %g5
				ldsw	[%i5+200], %o1
				call	LABELREF.6351, 0
				 mov	3, %o0
		.LVL536:
				return	%i7+8
				 nop
		.L433:
  728     nextatom; dump(16_e9); labelref(type,val)
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL537:
  729   %finishelseif type=kreturn %start
				bne,pt	%icc, .L435
				 cmp	%i4, 25
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	233, %o0
		.LVL538:
				return	%i7+8
				 nop
		.L435:
  730     expr %unless atomtype(atompos)=sep
				mov	%i5, %g5
				ldsw	[%i5+200], %o1
				call	LABELREF.6351, 0
				 ldsw	[%i5+204], %o0
		.LVL539:
				lduw	[%i5+3824], %g1
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%g1, 904, %g1
				sllx	%g1, 2, %g1
				add	%i5, %g1, %g1
				lduw	[%g1+8], %g1
				cmp	%g1, 14
				be,pn	%icc, .L437
				 nop
  731     return
				bne,pt	%icc, .L436
				 andcc	%i4, 1, %g0
				call	EXPR.6367, 0
				 mov	%i5, %g5
		.LVL540:
		.L437:
				call	RETURN.6477, 0
				 mov	%i5, %g5
		.LVL541:
  732   %finishelseif type&varmask=var %start
				return	%i7+8
				 nop
		.L436:
  733     t=type; v=val; i=0
  734     %if open bracket %start
				bne,pt	%xcc, .L438
				 add	%i4, -8, %g1
		.LVL542:
				lduw	[%i5+200], %i2
		.LVL543:
				call	OPENBRACKET.6241, 0
				 mov	%i5, %g5
		.LVL544:
				cmp	%o0, 0
				be,pt	%icc, .L439
				 mov	%o0, %i3
  735       expr; double(t); dump(pushax)
				call	EXPR.6367, 0
				 mov	%i5, %g5
		.LVL545:
  736       close bracket
				mov	%i5, %g5
				call	DOUBLE.6452, 0
				 sra	%i4, 0, %o0
		.LVL546:
				call	CLOSEBRACKET.6246, 0
				 mov	%i5, %g5
		.LVL548:
  737       i=1
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	80, %o0
		.LVL547:
				mov	1, %i3
		.LVL549:
		.L439:
  738     %finish
  739     fault(form) %unless equal sign
				call	EQUALSIGN.6251, 0
				 mov	%i5, %g5
		.LVL550:
				cmp	%o0, 0
				bne,pt	%icc, .L440
				 mov	%i5, %g5
  740     expr; dump(16_5e) %unless i=0; !pop si
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL551:
		.L440:
				call	EXPR.6367, 0
				 mov	%i5, %g5
		.LVL552:
  741     direct(store,t,v,i)
				cmp	%i3, 0
				be,pt	%icc, .L451
				 mov	%i5, %g5
				mov	%i5, %g5
		.L451:
				sra	%i3, 0, %o3
				sra	%i2, 0, %o2
				sra	%i4, 0, %o1
				call	DIRECT.6418, 0
				 mov	13, %o0
		.LVL554:
  742   %finishelseif type=proc %or type=xproc %or type=spec %start
				call	DUMP.6325, 0
				 mov	94, %o0
		.LVL553:
		.L441:
				return	%i7+8
				 nop
		.LVL555:
		.L438:
  743     call(type,val)
				ldsw	[%i5+200], %o1
				call	CALL.6370, 0
				 sra	%i4, 0, %o0
		.LVL556:
  744   %else
				return	%i7+8
				 nop
		.L442:
  745     atompos=atompos-1
				lduw	[%i5+3824], %g1
				add	%g1, -1, %g1
				st	%g1, [%i5+3824]
		.L432:
		.L444:
  746   %finish
				cmp	%g1, 2
				bgu,pn	%icc, .L442
				 mov	%i5, %g5
		.L443:
  747 %end
  748
				return	%i7+8
				 nop
		.LFE217:
				.section	".rodata"
		.LC3:
				.byte	45
				.asciz	"                  LC Cross-compiler  06/01/81"
				.skip	209
				.section	".text"
				.align 4
				.global main
				.proc	04
		main:
		.LFB185:
  749 %integerfn cond; !Evaluate condition, return value of jump opcode
				save	%sp, -176, %sp
  750   expr; nextatom; fault(form) %unless type=comp
				call	EXPR.6367, 0
				 mov	%g5, %i5
		.LVL464:
  751   v=val; nextatom; unary
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL465:
				lduw	[%i5+200], %g1
		.L417:
				st	%g1, [%i5+8]
  752   %if atomtype(atompos)#sep %or (type#constant %and type&varmask#var) %start
				lduw	[%i5+204], %g1
				cmp	%g1, 12
				be,a,pt	%icc, .L417
				 lduw	[%i5+200], %g1
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL467:
				call	UNARY.6256, 0
				 mov	%i5, %g5
		.LVL468:
				lduw	[%i5+3824], %g1
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%g1, 904, %g1
				sllx	%g1, 2, %g1
				add	%i5, %g1, %g1
				lduw	[%g1+8], %g1
				cmp	%g1, 14
				bne,pn	%icc, .L418
				 mov	%i5, %g5
				lduw	[%i5+204], %g1
				cmp	%g1, 1
				be,pn	%icc, .L419
				 mov	0, %o3
		.L397:
		.L418:
				call	DUMP.6325, 0
				 mov	80, %o0
		.LVL469:
  753     dump(pushax); atompos=atompos-1; expr
				mov	%i5, %g5
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL466:
		.L396:
  754     dump(16_8B); dump(16_D8); dump(popax); !Mov bx,ax
				lduw	[%i5+3824], %g1
				add	%g1, -1, %g1
				st	%g1, [%i5+3824]
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	139, %o0
		.LVL471:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	216, %o0
		.LVL472:
  755     type=bx
				call	EXPR.6367, 0
				 mov	%i5, %g5
		.LVL470:
				mov	17, %g1
				st	%g1, [%i5+204]
		.L398:
  756   %finish
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	88, %o0
		.LVL473:
  757   direct(cmp,type,val,0)
				mov	%i5, %g5
				mov	0, %o3
		.L419:
				ldsw	[%i5+200], %o2
				ldsw	[%i5+204], %o1
				call	DIRECT.6418, 0
				 mov	7, %o0
		.LVL474:
  758   %result=16_72 %if v=']'+128
				lduw	[%i5+8], %g1
				cmp	%g1, 221
				be,pn	%icc, .L399
				 mov	114, %i0
		.L400:
  759   %result=16_73 %if v='['
				cmp	%g1, 91
				be,pn	%icc, .L399
				 mov	115, %i0
		.L401:
  760   %result=16_74 %if v='#'
				cmp	%g1, 35
				be,pn	%icc, .L399
				 mov	116, %i0
		.L402:
  761   %result=16_75 %if v='='
				cmp	%g1, 61
				be,pn	%icc, .L399
				 mov	117, %i0
		.L403:
  762   %result=16_76 %if v=']'
				cmp	%g1, 93
				be,pn	%icc, .L399
				 mov	118, %i0
		.L404:
  763   %result=16_77 %if v='['+128
				cmp	%g1, 219
				be,pn	%icc, .L399
				 mov	119, %i0
		.L405:
  764   %result=16_7c %if v='>'+128
				cmp	%g1, 190
				be,pn	%icc, .L399
				 mov	124, %i0
		.L406:
  765   %result=16_7d %if v='<'
				cmp	%g1, 60
				be,pn	%icc, .L399
				 mov	125, %i0
		.L407:
  766   %result=16_7e %if v='>'
  767   %result=16_7f; ! %if v='<'+128
				mov	127, %i0
				cmp	%g1, 62
				move	%icc, 126, %i0
		.L399:
  768 %end
				return	%i7+8
				 sra	%o0, 0, %o0
		.LFE218:
				.align 4
				.proc	020
		INSTRUCTION.6573:
		.LFB217:
  769
  770 ! Main Program
  771
  772 %onevent 15 %start
				mov	1, %o1
				sethi	%hi(_imp_event+544), %o0
				call	__sigsetjmp, 0
				 or	%o0, %lo(_imp_event+544), %o0
		.LVL560:
				cmp	%o0, 0
				bne,pt	%icc, .L609
				 sethi	%hi(7168), %g1
		.LVL561:
				sethi	%hi(32768), %o1
				sethi	%hi(_imp_event), %o0
				call	_imp_on_event_enter, 0
				 or	%o0, %lo(_imp_event), %o0
		.LVL562:
		.L456:
  773 %finish
  774
  775 %if tagpos=1 %start; ! (not via event: first time)
				sethi	%hi(7168), %g1
		.L609:
				xor	%g1, -1016, %g1
				add	%fp, 2047, %g2
				add	%g2, %g1, %g1
				lduw	[%g1+3408], %g1
				cmp	%g1, 1
				be,pn	%icc, .L558
				 sethi	%hi(7168), %l0
		.LVL563:
		.L589:
  776 program = cliparam
  777 openinput(source,program.".lc")
  778 openoutput(object,program.".iob")
				sethi	%hi(16384), %i5
				xor	%i5, -528, %o1
				sethi	%hi(7168), %i2
				xor	%i2, -1016, %i2
				add	%fp, 2047, %g1
				add	%g1, %i2, %i2
				add	%i2, 3832, %i0
				mov	31, %o2
				add	%g1, %o1, %o1
				call	_imp_strncpy, 0
				 mov	%i0, %o0
		.LVL569:
		.LBB447:
		.LBB448:
  779 openoutput(list,program.".lis")
				xor	%i5, -16, %o0
				sethi	%hi(15360), %i3
				xor	%i3, -784, %o2
				add	%fp, 2047, %g1
				add	%g1, %o2, %o2
				mov	%i0, %o1
				call	_imp_join, 0
				 add	%g1, %o0, %o0
		.LVL570:
				xor	%i4, -272, %i1
		.LVL571:
				xor	%i5, -272, %o1
				add	%fp, 2047, %g1
				add	%g1, %i1, %i1
				mov	256, %o2
				add	%g1, %o1, %o1
				call	memcpy, 0
				 mov	%i1, %o0
		.LVL572:
		.LBE448:
		.LBE447:
		.LBB449:
		.LBB450:
				xor	%i5, -784, %i5
				add	%fp, 2047, %g1
				add	%g1, %i5, %i5
				mov	256, %o2
				mov	%i1, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL573:
				mov	%i5, %o1
				call	_imp_openinput, 0
				 mov	1, %o0
		.LVL574:
		.LBE450:
		.LBE449:
		.LBB451:
		.LBB452:
  780 selectoutput(list)
				xor	%i3, -272, %o0
				xor	%i3, -16, %o2
				add	%fp, 2047, %g1
				add	%g1, %o2, %o2
				mov	%i0, %o1
				call	_imp_join, 0
				 add	%g1, %o0, %o0
		.LVL575:
				xor	%i4, -16, %i4
				xor	%i3, -528, %i3
				add	%fp, 2047, %g1
				add	%g1, %i4, %i4
				mov	256, %o2
				add	%g1, %i3, %o1
				call	memcpy, 0
				 mov	%i4, %o0
		.LVL576:
		.LBE452:
		.LBE451:
		.LBB453:
		.LBB454:
				mov	256, %o2
				mov	%i4, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL577:
				mov	%i5, %o1
				call	_imp_openoutput, 0
				 mov	1, %o0
		.LVL578:
		.LBE454:
		.LBE453:
		.LBB455:
		.LBB456:
  781 printstring("                  LC Cross-compiler  06/01/81"); newline; newline
				sethi	%hi(14336), %i4
				xor	%i4, -272, %i1
				add	%fp, 2047, %g1
				add	%g1, %i1, %i1
				xor	%i4, -528, %o2
				add	%g1, %o2, %o2
				mov	%i0, %o1
				call	_imp_join, 0
				 mov	%i1, %o0
		.LVL579:
				sethi	%hi(10240), %i3
				xor	%i3, -784, %i0
				xor	%i4, -784, %o1
				add	%fp, 2047, %g1
				add	%g1, %i0, %i0
				mov	256, %o2
				add	%g1, %o1, %o1
				call	memcpy, 0
				 mov	%i0, %o0
		.LVL580:
		.LBE456:
		.LBE455:
		.LBB457:
		.LBB458:
				mov	256, %o2
				mov	%i0, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL581:
				mov	%i5, %o1
				call	_imp_openoutput, 0
				 mov	2, %o0
		.LVL582:
		.LBE458:
		.LBE457:
		.LBB459:
		.LBB460:
				sethi	%hi(_imp_OutStream), %g1
				mov	2, %g2
				st	%g2, [%g1+%lo(_imp_OutStream)]
				sethi	%hi(_imp_outfile), %g1
				ldx	[%g1+%lo(_imp_outfile)+584], %g2
				sethi	%hi(_imp_OutFile), %g1
				stx	%g2, [%g1+%lo(_imp_OutFile)]
				sethi	%hi(__PRETTY_FUNCTION__.5660), %o0
				call	check_outstream, 0
				 or	%o0, %lo(__PRETTY_FUNCTION__.5660), %o0
		.LVL583:
		.LBE460:
		.LBE459:
		.LBB461:
				mov	256, %o2
				sethi	%hi(.LC3), %o1
				or	%o1, %lo(.LC3), %o1
				call	memcpy, 0
				 mov	%i1, %o0
		.LVL584:
				xor	%i4, -16, %i4
				add	%fp, 2047, %g1
				add	%g1, %i4, %i4
				mov	256, %o2
				mov	%i1, %o1
				call	memcpy, 0
				 mov	%i4, %o0
		.LVL585:
				xor	%i3, -528, %i3
				add	%fp, 2047, %g1
				add	%g1, %i3, %i3
				mov	256, %o2
				mov	%i4, %o1
				call	memcpy, 0
				 mov	%i3, %o0
		.LVL586:
		.LBE461:
		.LBB462:
		.LBB463:
				mov	256, %o2
				mov	%i3, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL587:
				call	_imp_printstring, 0
				 mov	%i5, %o0
		.LVL588:
		.LBE463:
		.LBE462:
		.LBB464:
		.LBB465:
				call	_imp_newline, 0
				 mov	17, %i4
		.LVL589:
		.LBE465:
		.LBE464:
		.LBB466:
		.LBB467:
				call	_imp_newline, 0
				 mov	-1, %i1
		.LVL590:
				lduw	[%i2+3408], %g1
				mov	%g1, %i3
				add	%g1, -18, %i5
		.LBE467:
		.LBE466:
  782   %for type=kconst,1,krepeat %cycle
  783     tag1(tagpos)=n1(type); tag2(tagpos)=n2(type)
				sethi	%hi(7168), %g2
				xor	%g2, -1016, %g1
				sethi	%hi(N1.6088), %g2
				or	%g2, %lo(N1.6088), %g5
				sra	%g2, 0, %g2
				add	%g2, 652, %i2
				sllx	%i2, 2, %i2
				add	%fp, 2047, %i0
				add	%i0, %i2, %i2
				sra	%g4, 0, %g4
				sllx	%g4, 2, %g4
				lduw	[%g5+%g4], %i0
				st	%i0, [%i2+%g1]
  784     tagtype(tagpos)=type; tagval(tagpos)=-1
				sethi	%hi(N2.6089), %g2
				or	%g2, %lo(N2.6089), %g3
		.L458:
				add	%i4, -17, %g4
				add	%i5, %i4, %g2
				add	%g2, 452, %i2
				sllx	%i2, 2, %i2
				add	%fp, 2047, %i0
				add	%i0, %i2, %i2
				lduw	[%g3+%g4], %g4
				st	%g4, [%i2+%g1]
				add	%g2, 252, %g4
				sllx	%g4, 2, %g4
				add	%i0, %g4, %g4
				st	%i4, [%g4+%g1]
  785     tagpos=tagpos+1
				add	%g2, 52, %g2
				sllx	%g2, 2, %g2
				add	%i0, %g2, %g2
		.LDL20:
				add	%i4, 1, %i4
				cmp	%i4, 31
				bne,pt	%icc, .L458
				 st	%i1, [%g2+%g1]
		.LDL21:
				sethi	%hi(7168), %i5
				xor	%i5, -1016, %i5
				add	%i0, %i5, %i5
				add	%i3, 14, %g1
				st	%g1, [%i5+3408]
				mov	30, %g1
				st	%g1, [%i5+204]
		.LVL591:
		.LBB468:
		.LBB469:
				sethi	%hi(_imp_InStream), %g1
				mov	1, %g2
				st	%g2, [%g1+%lo(_imp_InStream)]
				sethi	%hi(_imp_infile), %g1
				ldx	[%g1+%lo(_imp_infile)+296], %g2
				sethi	%hi(_imp_InFile), %g1
				stx	%g2, [%g1+%lo(_imp_InFile)]
				sethi	%hi(__PRETTY_FUNCTION__.5656), %o0
				call	check_instream, 0
				 or	%o0, %lo(__PRETTY_FUNCTION__.5656), %o0
		.LVL592:
		.LBE469:
		.LBE468:
  786   %repeat
  787   selectinput(source); program=""
  788 %finish
  789
  790 %cycle
				mov	31, %o2
				sethi	%hi(13312), %o1
				xor	%o1, -784, %o1
				add	%i0, %o1, %o1
				call	_imp_strncpy, 0
				 add	%i5, 3832, %o0
		.LVL593:
  791    readline
				xor	%l0, -1016, %l0
				add	%fp, 2047, %g1
				add	%g1, %l0, %i5
				call	READLINE.6107, 0
				 mov	%i5, %g5
		.LVL564:
				ba,pt	%xcc, .L589
				 sethi	%hi(7168), %l0
		.L461:
		.L464:
  792    %cycle;  !Deal with labels
  793       nextatom
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL565:
  794       %exitunless type=unknown %and atomtype(atompos)=colon
				lduw	[%i5+204], %i3
				cmp	%i3, 0
				bne,pn	%icc, .L464
				 cmp	%i3, 14
  795       tagtype(val)=label; satrefs(tagval(val),cloc)
				mov	3, %i2
				lduw	[%i5+3824], %g1
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%g1, 904, %g1
				sllx	%g1, 2, %g1
				add	%i5, %g1, %g1
				lduw	[%g1+8], %g1
				cmp	%g1, 13
				bne,pn	%icc, .L462
				 add	%fp, 2047, %g3
		.L463:
				lduw	[%i5+200], %g1
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%g1, 252, %g2
				sllx	%g2, 2, %g2
				add	%g3, %g2, %g2
				st	%i2, [%g2+%l0]
  796       tagval(val)=cloc; atompos=atompos+1
				add	%g1, 52, %g1
				sllx	%g1, 2, %g1
				add	%g3, %g1, %g1
				mov	%i5, %g5
				ldsw	[%i5+3420], %o1
				call	SATREFS.6342, 0
				 ldsw	[%g1+%l0], %o0
		.LVL566:
				lduw	[%i5+200], %g1
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%g1, 52, %g1
				sllx	%g1, 2, %g1
				add	%fp, 2047, %g2
				add	%g2, %g1, %g1
				lduw	[%i5+3420], %g2
				st	%g2, [%g1+%l0]
  797       access=1
				mov	1, %i4
		.L460:
				lduw	[%i5+3824], %g1
				add	%g1, 1, %g1
				st	%g1, [%i5+3824]
  798    %repeat
				ba,pt	%xcc, .L460
				 st	%i4, [%i5+20]
		.LVL567:
		.L558:
		.LBB444:
		.LBB445:
		.LBB446:
				sethi	%hi(11264), %i4
				xor	%i4, -528, %o0
				call	_imp_cliparam, 0
				 add	%g2, %o0, %o0
		.LVL568:
		.LBE446:
		.LBE445:
		.LBE444:
  799    %continueif type=sep %and ifpos=0
				bne,pn	%icc, .L465
				 cmp	%i3, 17
  800    %if type=kconst %start
				lduw	[%i5+3412], %g2
				cmp	%g2, 0
				be,pt	%icc, .L459
				 mov	%i3, %g1
		.L473:
				bne,pn	%icc, .L612
				 add	%i3, -18, %g2
  801       constdef
  802    %finishelseif type=kbyte %or type=kword %start
  803       vardef(type)
  804    %finishelseif type=kspec %or type=kproc %start
  805       procdef(type)
				add	%i3, -18, %g2
		.L612:
				cmp	%g2, 1
				bgu,pn	%icc, .L473
				 mov	%i3, %g1
				cmp	%i3, 18
				mov	5, %l2
				movne	%icc, 4, %l2
		.LBB479:
		.LBB480:
  806    %finishelseif type=kend %start
  807       %exitif level=0; level=0
				add	%g1, -20, %g1
				cmp	%g1, 1
				bleu,pn	%icc, .L559
				 cmp	%i3, 22
		.L498:
				lduw	[%i5+16], %g1
				cmp	%g1, 0
				be,pn	%icc, .L514
				 sethi	%hi(_imp_OutStream), %i2
		.L515:
  808       return %unless access=0; flush
				be,pn	%icc, .L560
				 cmp	%i3, 26
		.L513:
				lduw	[%i5+20], %g1
				cmp	%g1, 0
				be,pt	%icc, .L516
				 nop
  809       val=oldtpos; oldtpos=tagpos; tagpos=val; ! Reset tagpos before moaning
				call	RETURN.6477, 0
				 mov	%i5, %g5
		.LVL724:
		.L516:
				add	%fp, 2047, %g1
				lduw	[%g1+%l0], %g1
				st	%g1, [%i5+200]
  810       %while oldtpos>tagpos %cycle
				st	%g0, [%i5+16]
				lduw	[%i5+3408], %g2
				add	%fp, 2047, %g3
				st	%g2, [%g3+%l0]
  811          oldtpos=oldtpos-1; fault(labund) %if tagtype(oldtpos)=unknown
				call	FLUSH.6329, 0
				 mov	%i5, %g5
		.LVL725:
				st	%g1, [%i5+3408]
				mov	0, %i3
				mov	1, %i4
		.L517:
		.L518:
				add	%fp, 2047, %g1
		.L604:
				lduw	[%g1+%l0], %g2
				lduw	[%i5+3408], %g4
				mov	%i3, %g3
		.L520:
				cmp	%g4, %g2
				bge,pn	%icc, .L519
				 andcc	%g3, 0xff, %g0
				add	%g2, -1, %g2
  812       %repeat
				add	%g2, -1, %g1
				sra	%g1, 0, %g1
				add	%g1, 252, %g1
				sllx	%g1, 2, %g1
				add	%fp, 2047, %g3
				add	%g3, %g1, %g1
				lduw	[%g1+%l0], %g1
				cmp	%g1, 0
				bne,pt	%icc, .L520
				 mov	%i4, %g3
				add	%fp, 2047, %g1
				st	%g2, [%g1+%l0]
  813       %unless textlevel=0 %start
				mov	%i5, %g5
				call	FAULT.6091, 0
				 mov	10, %o0
		.LVL726:
				ba,pt	%xcc, .L604
				 add	%fp, 2047, %g1
		.L519:
				bne,pn	%icc, .L585
				 add	%fp, 2047, %g1
		.L521:
				lduw	[%i5+188], %g1
				cmp	%g1, 0
				be,pt	%icc, .L549
				 nop
  814          poptext; textlevel=0; fault(type)
				call	POPTEXT.6363, 0
				 mov	%i5, %g5
		.LVL727:
  815       %finish
				st	%g0, [%i5+188]
  816    %finishelseif type=kprogram %start
				mov	%i5, %g5
				call	FAULT.6091, 0
				 ldsw	[%i5+204], %o0
		.LVL728:
				ba,pt	%xcc, .L549
				 nop
		.L585:
				ba,pt	%xcc, .L521
				 st	%g2, [%g1+%l0]
		.L561:
  817       fault(ambig) %unless program=""
  818       nextatom; fault(form) %unless type=string
				be,pn	%icc, .L561
				 cmp	%i3, 29
		.L522:
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL731:
  819       fault(form) %if val='"'; !Null name not allowed
				sethi	%hi(13312), %l5
				xor	%l5, -528, %g1
				add	%fp, 2047, %g2
				add	%g2, %g1, %g1
				sethi	%hi(14336), %g3
				xor	%g3, -801, %g2
				add	%g2, %fp, %g2
				stx	%g1, [%g2]
				add	%i5, 3832, %l7
		.LBB441:
		.LBB442:
				sethi	%hi(14336), %g1
				xor	%g1, -801, %g1
				add	%g1, %fp, %g1
				ldx	[%g1], %o1
				call	_imp_strcmp, 0
				 mov	%l7, %o0
		.LVL729:
				cmp	%o0, 0
				be,pt	%icc, .L523
				 mov	%i5, %g5
				lduw	[%i5+204], %g1
				cmp	%g1, 2
				bne,pn	%icc, .L586
				 mov	%i5, %g5
		.L524:
				lduw	[%i5+200], %g1
		.L605:
				cmp	%g1, 34
				be,pn	%icc, .L587
				 mov	%i5, %g5
		.L525:
				ba,pt	%xcc, .L605
				 lduw	[%i5+200], %g1
		.L587:
  820       v=line(val)
				lduw	[%i5+200], %g1
		.L606:
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%i5, %g1, %g1
				mov	1011, %g2
				sllx	%g2, 3, %g2
				ldub	[%g1+%g2], %g1
				st	%g1, [%i5+8]
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL744:
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL745:
				ba,pt	%xcc, .L606
				 lduw	[%i5+200], %g1
		.L562:
  821       %cycle
  822          val=val+1; program=program.tostring(v); v=line(val)
				call	FAULT.6091, 0
				 mov	6, %o0
		.LVL730:
		.L523:
				lduw	[%i5+200], %g1
				add	%g1, 1, %g1
				st	%g1, [%i5+200]
		.LVL732:
		.LBB561:
		.LBB443:
  823       %repeatuntil v='"'
				cmp	%g1, 34
				bne,pt	%icc, .L526
				 st	%g1, [%i5+8]
		.L527:
  824       program=program."_" %unless charno(program,length(program))='_'
				ldub	[%i5+3832], %g1
				add	%i5, %g1, %g1
				ldub	[%g1+3832], %g1
				cmp	%g1, 95
				be,pn	%icc, .L528
				 xor	%l6, -16, %o2
		.LBB562:
		.LBB563:
  825       selectoutput(object); printsymbol(2); printsymbol(6)
				xor	%l5, -16, %l4
				add	%fp, 2047, %g1
				add	%g1, %l4, %l4
				sethi	%hi(12288), %l6
				xor	%l6, -784, %g1
				add	%fp, 2047, %g2
				add	%g2, %g1, %g1
				xor	%g3, -793, %g2
				add	%g2, %fp, %g2
				stx	%g1, [%g2]
		.L459:
		.LBE442:
		.LBE441:
				xor	%l5, -272, %i3
				add	%fp, 2047, %g1
				add	%g1, %i3, %i3
				sethi	%hi(14336), %g1
				xor	%g1, -793, %g1
				add	%g1, %fp, %g1
				ldx	[%g1], %o2
				mov	%l7, %o1
				call	_imp_join, 0
				 mov	%l4, %o0
		.LVL733:
		.LBE443:
		.LBE561:
				mov	31, %o2
				mov	%i3, %o1
				call	_imp_strncpy, 0
				 mov	%l7, %o0
		.LVL734:
  826       printsymbol(length(program)); printstring(program)
  827    %finishelseif type=kcycle %start
				xor	%l6, -272, %o0
				add	%fp, 2047, %g1
				add	%g1, %o2, %o2
				mov	%l7, %o1
				call	_imp_join, 0
				 add	%g1, %o0, %o0
		.LVL735:
		.LBE563:
		.LBE562:
				xor	%l6, -528, %o1
				mov	31, %o2
				add	%fp, 2047, %g1
				add	%g1, %o1, %o1
				call	_imp_strncpy, 0
				 mov	%l7, %o0
		.LVL736:
		.L528:
		.LBB564:
		.LBB565:
				sethi	%hi(_imp_OutStream), %g1
				mov	1, %g2
				st	%g2, [%g1+%lo(_imp_OutStream)]
				sethi	%hi(_imp_outfile), %g1
				ldx	[%g1+%lo(_imp_outfile)+296], %g2
				sethi	%hi(_imp_OutFile), %g1
				stx	%g2, [%g1+%lo(_imp_OutFile)]
				sethi	%hi(__PRETTY_FUNCTION__.5660), %o0
				call	check_outstream, 0
				 or	%o0, %lo(__PRETTY_FUNCTION__.5660), %o0
		.LVL737:
		.LBE565:
		.LBE564:
		.LBB566:
		.LBB567:
				call	_imp_printsymbol, 0
				 mov	2, %o0
		.LVL738:
		.LBE567:
		.LBE566:
		.LBB568:
		.LBB569:
				call	_imp_printsymbol, 0
				 mov	6, %o0
		.LVL739:
		.LBE569:
		.LBE568:
		.LBB570:
		.LBB571:
				call	_imp_printsymbol, 0
				 ldsb	[%i5+3832], %o0
		.LVL740:
				sethi	%hi(10240), %i3
				xor	%i3, -272, %i3
				add	%fp, 2047, %g1
				add	%g1, %i3, %i3
				mov	256, %o2
				sethi	%hi(11264), %o1
				xor	%o1, -784, %o1
				add	%g1, %o1, %o1
				call	memcpy, 0
				 mov	%i3, %o0
		.LVL741:
		.LBE571:
		.LBE570:
		.LBB572:
		.LBB573:
				sethi	%hi(16384), %i4
				xor	%i4, -784, %i4
				add	%fp, 2047, %g1
				add	%g1, %i4, %i4
				mov	256, %o2
				mov	%i3, %o1
				call	memcpy, 0
				 mov	%i4, %o0
		.LVL742:
				call	_imp_printstring, 0
				 mov	%i4, %o0
		.LVL743:
				ba,pt	%xcc, .L549
				 nop
		.L586:
		.LBE573:
		.LBE572:
  828       pushtext(repexp,cloc)
				mov	%g2, %i4
		.L526:
				lduw	[%i5+200], %g1
				add	%g1, -1, %g1
				sra	%g1, 0, %g1
				add	%i5, %g1, %g1
				ldub	[%g1+%i4], %g1
				mov	%i5, %g5
				ldsw	[%i5+3420], %o1
				call	PUSHTEXT.6359, 0
				 mov	14, %o0
		.LVL746:
				ba,pt	%xcc, .L549
				 nop
		.L563:
  829    %finishelseif type=kelse %start
				be,pn	%icc, .L562
				 cmp	%i3, 27
		.L529:
  830       poptext; fault(type) %unless type=finexp
				call	POPTEXT.6363, 0
				 mov	%i5, %g5
		.LVL747:
  831       satrefs(val,cloc+3)
				be,pn	%icc, .L563
				 cmp	%i3, 28
		.L530:
				lduw	[%i5+204], %o0
				cmp	%o0, 15
				be,a,pn	%icc, .L615
				 lduw	[%i5+3420], %o1
				lduw	[%i5+3420], %o1
		.L615:
				add	%o1, 3, %o1
				mov	%i5, %g5
				sra	%o1, 0, %o1
				call	SATREFS.6342, 0
				 ldsw	[%i5+200], %o0
		.LVL749:
  832       poptext;  fault(type) %unless type=finexp
				mov	%i5, %g5
				call	FAULT.6091, 0
				 sra	%o0, 0, %o0
		.LVL748:
		.L531:
				call	POPTEXT.6363, 0
				 mov	%i5, %g5
		.LVL750:
  833       dump(16_e9); dump(val); dump(val>>8)
				lduw	[%i5+204], %o0
				cmp	%o0, 15
				be,pn	%icc, .L532
				 mov	%i5, %g5
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	233, %o0
		.LVL752:
  834       %if ifpos=0 %start
				call	FAULT.6091, 0
				 sra	%o0, 0, %o0
		.LVL751:
		.L532:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 ldsw	[%i5+200], %o0
		.LVL753:
				lduw	[%i5+3412], %g1
				cmp	%g1, 0
				bne,a,pt %icc, .L533
				 lduw	[%i5+3420], %o1
  835         pushtext(context,0)
				lduw	[%i5+200], %o0
				mov	%i5, %g5
				call	DUMP.6325, 0
				 srl	%o0, 8, %o0
		.LVL754:
				mov	%i5, %g5
				mov	0, %o1
				call	PUSHTEXT.6359, 0
				 mov	16, %o0
		.LVL755:
		.L534:
  836       %else
  837         pushtext(finexp,cloc-2)
				add	%o1, -2, %o1
				mov	%i5, %g5
				sra	%o1, 0, %o1
				call	PUSHTEXT.6359, 0
				 mov	15, %o0
		.LVL757:
  838         atompos=ifpos+1; dump(cond!!1); dump(3)
				lduw	[%i5+3412], %g1
				add	%g1, 1, %g1
				st	%g1, [%i5+3824]
  839         dump(16_E9); dump(0); dump(0)
				call	COND.6612, 0
				 mov	%i5, %g5
		.LVL758:
				xor	%o0, 1, %o0
				mov	%i5, %g5
				call	DUMP.6325, 0
				 sra	%o0, 0, %o0
		.LVL759:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	233, %o0
		.LVL761:
  840         atompos=ifpos %and fault(form) %unless ifpos=2
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	3, %o0
		.LVL760:
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	0, %o0
		.LVL762:
				lduw	[%i5+3412], %g1
				cmp	%g1, 2
				bne,a,pn %icc, .L588
				 st	%g1, [%i5+3824]
		.L535:
  841         IFPOS=0
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	0, %o0
		.LVL763:
				ba,pt	%xcc, .L534
				 st	%g0, [%i5+3412]
		.L588:
  842       %finish
				mov	%i5, %g5
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL764:
				ba,pt	%xcc, .L534
				 st	%g0, [%i5+3412]
		.L564:
  843       pushtext(finexp,cloc-2)
				lduw	[%i5+3420], %o1
				add	%o1, -2, %o1
				mov	%i5, %g5
				sra	%o1, 0, %o1
				call	PUSHTEXT.6359, 0
				 mov	15, %o0
		.LVL756:
				ba,pt	%xcc, .L549
				 nop
		.L533:
  844    %finishelseif type=kfinish %start
  845       poptext; fault(type) %unless type=finexp %or type=context
				call	POPTEXT.6363, 0
				 mov	%i5, %g5
		.LVL765:
  846       satrefs(val,cloc)
				be,pn	%icc, .L564
				 cmp	%i3, 0
		.L536:
				lduw	[%i5+204], %o0
				mov	%i5, %g5
		.L616:
				ldsw	[%i5+3420], %o1
				call	SATREFS.6342, 0
				 ldsw	[%i5+200], %o0
		.LVL767:
  847       poptext; satrefs(val,cloc); access=1
				add	%o0, -15, %g1
				cmp	%g1, 1
				bleu,pt	%icc, .L616
				 mov	%i5, %g5
				call	POPTEXT.6363, 0
				 mov	%i5, %g5
		.LVL768:
  848    %else
				call	FAULT.6091, 0
				 sra	%o0, 0, %o0
		.LVL766:
		.L537:
				mov	%i5, %g5
				ldsw	[%i5+3420], %o1
				call	SATREFS.6342, 0
				 ldsw	[%i5+200], %o0
		.LVL769:
				ba,pt	%xcc, .L549
				 st	%g1, [%i5+20]
		.L565:
		.LBB574:
		.LBB472:
  849       fault(varund) %if type=unknown
				bne,a,pt %icc, .L610
				 lduw	[%i5+16], %g1
				mov	1, %g1
  850       terminate declarations
				mov	%i5, %g5
				call	FAULT.6091, 0
				 mov	12, %o0
		.LVL594:
		.L538:
		.LBB470:
		.LBB471:
  851       %if ifpos=0 %start;  !  Statement
				lduw	[%i5+3412], %g1
				cmp	%g1, 0
				be,a,pn	%icc, .L567
				 lduw	[%i5+3824], %g1
		.L544:
  852          atompos=atompos-1; instruction
				add	%g1, -1, %g1
				st	%g1, [%i5+3824]
  853       %finishelseif type=sep %start;  ! IF condition
				call	INSTRUCTION.6573, 0
				 mov	%i5, %g5
		.LVL780:
		.L545:
  854          fault(form) %unless ifpos=atompos
				lduw	[%i5+3824], %g2
				cmp	%g1, %g2
				be,pn	%icc, .L611
				 add	%g1, 1, %g1
				mov	%i5, %g5
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL595:
		.L547:
				lduw	[%i5+3412], %g1
				add	%g1, 1, %g1
		.L611:
				st	%g1, [%i5+3824]
  855          atompos=ifpos+1
				lduw	[%i5+204], %g2
				cmp	%g2, 14
				bne,a,pn %icc, .L546
				 lduw	[%i5+3824], %i3
  856          dump(cond!!1); dump(3); dump(16_E9); dump(0); dump(0)
				call	COND.6612, 0
				 mov	%i5, %g5
		.LVL596:
				xor	%o0, 1, %o0
				mov	%i5, %g5
				call	DUMP.6325, 0
				 sra	%o0, 0, %o0
		.LVL597:
  857          pushtext(finexp,0); pushtext(finexp,cloc-2)
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	3, %o0
		.LVL598:
				mov	%i5, %g5
				mov	0, %o1
				call	PUSHTEXT.6359, 0
				 mov	15, %o0
		.LVL602:
  858       %else;   ! Statement IF condition
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	233, %o0
		.LVL599:
				lduw	[%i5+3420], %o1
				add	%o1, -2, %o1
				mov	%i5, %g5
				sra	%o1, 0, %o1
				call	PUSHTEXT.6359, 0
				 mov	15, %o0
		.LVL603:
  859          oldapos=atompos-1; atompos=ifpos+1
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	0, %o0
		.LVL600:
				add	%i3, -1, %i3
		.LVL781:
  860          dump(cond)
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	0, %o0
		.LVL601:
				add	%g1, 1, %g1
				st	%g1, [%i5+3824]
				call	COND.6612, 0
				 mov	%i5, %g5
		.LVL782:
				call	DUMP.6325, 0
				 mov	%i5, %g5
		.LVL783:
  861          oldcpos=cpos; dump(0)
				lduw	[%i5+192], %i4
		.LVL784:
  862          atompos=oldapos; instruction
				mov	%i5, %g5
				call	DUMP.6325, 0
				 mov	0, %o0
		.LVL785:
				st	%i3, [%i5+3824]
  863          v=cpos-oldcpos-1; fault(far) %if v>127
				call	INSTRUCTION.6573, 0
				 mov	%i5, %g5
		.LVL786:
				lduw	[%i5+192], %g1
				sub	%g1, %i4, %g1
				add	%g1, -1, %g1
  864          code(oldcpos)=v
				cmp	%g1, 127
				ble,pt	%icc, .L548
				 st	%g1, [%i5+8]
				sra	%i4, 0, %g1
				add	%i5, %g1, %g1
				lduw	[%i5+8], %g2
				stb	%g2, [%g1+4088]
  865          access=1
				mov	%i5, %g5
				call	FAULT.6091, 0
				 mov	9, %o0
		.LVL787:
		.L548:
				mov	1, %g1
				ba,pt	%xcc, .L545
				 st	%g1, [%i5+20]
		.LVL788:
		.L514:
		.LBB577:
		.LBB578:
				mov	1, %g1
				st	%g1, [%i2+%lo(_imp_OutStream)]
				sethi	%hi(_imp_OutFile), %i4
				sethi	%hi(_imp_outfile), %i3
				ldx	[%i3+%lo(_imp_outfile)+296], %g1
				stx	%g1, [%i4+%lo(_imp_OutFile)]
				sethi	%hi(__PRETTY_FUNCTION__.5660), %i5
				call	check_outstream, 0
				 or	%i5, %lo(__PRETTY_FUNCTION__.5660), %o0
		.LVL789:
		.LBE578:
		.LBE577:
		.LBB579:
		.LBB580:
				call	_imp_printsymbol, 0
				 mov	10, %o0
		.LVL790:
		.LBE580:
		.LBE579:
		.LBB581:
		.LBB582:
				mov	2, %g1
				st	%g1, [%i2+%lo(_imp_OutStream)]
				ldx	[%i3+%lo(_imp_outfile)+584], %g1
				stx	%g1, [%i4+%lo(_imp_OutFile)]
				call	check_outstream, 0
				 or	%i5, %lo(__PRETTY_FUNCTION__.5660), %o0
		.LVL791:
		.LBE582:
		.LBE581:
		.LBB583:
		.LBB584:
				call	_imp_newline, 0
				 nop
		.LVL792:
		.LBE584:
		.LBE583:
		.LBB585:
		.LBB586:
				call	exit, 0
				 mov	0, %o0
		.LVL793:
		.LBE586:
		.LBE585:
				nop
		.LFE185:
				.section	".rodata"
				.align 8
		__PRETTY_FUNCTION__.5660:
				.asciz	"_imp_SELECTOUTPUT"
				.align 4
		CODE.6420:
				.long	138
				.long	2
				.long	42
				.long	34
				.long	10
				.long	50
				.long	58
				.long	40
				.long	56
				.long	48
				.long	224
				.long	232
				.long	136
				.long	141
				.align 8
		S.6386:
				.xword	.L32
				.xword	.L32
				.xword	.L32
				.xword	.L32
				.xword	.L32
				.xword	.L32
				.xword	.L32
				.xword	.L32
				.xword	.L32
				.xword	.L32
				.xword	.L32
				.xword	.L32
				.align 8
		S.6265:
				.xword	.L255
				.xword	.L255
				.xword	.L255
				.xword	.L255
				.xword	.L255
				.xword	.L255
				.xword	.L255
				.xword	.L255
				.xword	.L255
				.xword	.L255
				.xword	.L255
				.common	QUOTE.6110,4,4
				.common	SEMI.6109,4,4
				.align 8
		__PRETTY_FUNCTION__.5656:
				.asciz	"_imp_SELECTINPUT"
				.align 4
		N2.6089:
				.long	723
				.long	4
				.long	5
				.long	3
				.long	3
				.long	0
				.long	5
				.long	16
				.long	29429
				.long	10250
				.long	5
				.long	13032
				.long	449
				.long	6902
				.align 4
		N1.6088:
				.long	4676
				.long	32060
				.long	3683
				.long	26608
				.long	22585
				.long	7367
				.long	18374
				.long	14480
				.long	24847
				.long	22585
				.long	7308
				.long	8561
				.long	5035
				.long	24843
				.section	".text"
		.Letext0:
  866       %finish
  867       ifpos=0
				ba,pt	%xcc, .L549
				 st	%g0, [%i5+3412]
		.L465:
				ba,pt	%xcc, .L549
				 st	%g0, [%i5+3412]
		.L546:
  868    %finish
  869   nextatom; fault(form) %unless type=sep %and ifpos=0
				call	NEXTATOM.6237, 0
				 mov	%i5, %g5
		.LVL720:
  870 %repeat
				lduw	[%i5+204], %g1
				cmp	%g1, 14
				bne,pn	%icc, .L614
				 mov	%i5, %g5
  871 selectoutput(object); printsymbol(10)
				lduw	[%i5+3412], %g1
				cmp	%g1, 0
				be,pt	%icc, .L459
				 nop
		.L550:
		.L614:
  872 selectoutput(list); newline
  873 %endofprogram
				call	FAULT.6091, 0
				 mov	5, %o0
		.LVL721:
				ba,pt	%xcc, .L459
				 nop
		.LVL722:
		.L584:
				xor	%g1, -272, %g1
				add	%fp, 2047, %g2
				add	%g2, %g1, %g1
				ba,pt	%xcc, .L512
				 st	%g4, [%g1+8]
		.LVL723:
		.L560:
 1020 Statements compiled
