	.file	"82957.c"
	.intel_syntax noprefix
	.text
	.local	listing
	.comm	listing,8,8
	.local	inputs
	.comm	inputs,200,32
	.local	includelevel
	.comm	includelevel,8,8
	.local	adjustment
	.comm	adjustment,8,8
	.local	writelisting
	.comm	writelisting,8,8
	.local	must_repeat_line
	.comm	must_repeat_line,1,1
	.local	scantimevariables
	.comm	scantimevariables,208,32
	.local	alternative_radix
	.comm	alternative_radix,8,8
	.local	linenumber
	.comm	linenumber,8,8
	.local	line
	.comm	line,133,32
	.local	cc
	.comm	cc,8,8
	.local	ll
	.comm	ll,8,8
	.local	my_ch
	.comm	my_ch,4,4
	.local	ident
	.comm	ident,17,16
	.local	id
	.comm	id,4,4
	.local	specials_repeat
	.comm	specials_repeat,11,8
	.local	sym
	.comm	sym,4,4
	.local	num
	.comm	num,8,8
	.local	reswords
	.comm	reswords,176,32
	.local	lastresword
	.comm	lastresword,4,4
	.local	stdidents
	.comm	stdidents,792,32
	.local	laststdident
	.comm	laststdident,4,4
	.local	errorcount
	.comm	errorcount,8,8
	.local	outlinelength
	.comm	outlinelength,8,8
	.local	statistics
	.comm	statistics,8,8
	.local	start_clock
	.comm	start_clock,8,8
	.local	end_clock
	.comm	end_clock,8,8
	.section	.rodata
.LC0:
	.string	"    "
.LC1:
	.string	"%*ld%s"
.LC2:
	.string	"****    "
.LC3:
	.string	"^\n"
.LC4:
	.string	"%JOY"
.LC5:
	.string	"%s-%c  %-*.*s\n"
.LC6:
	.string	"execution aborted\n"
	.text
	.type	point_to_symbol, @function
point_to_symbol:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -32[rbp], rsi
	mov	eax, edx
	mov	QWORD PTR -40[rbp], rcx
	mov	edx, edi
	mov	BYTE PTR -20[rbp], dl
	mov	BYTE PTR -24[rbp], al
	cmp	BYTE PTR -20[rbp], 0
	je	.L2
	mov	rdx, QWORD PTR linenumber[rip]
	mov	rax, QWORD PTR -32[rbp]
	lea	r8, .LC0[rip]
	mov	rcx, rdx
	mov	edx, 4
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L3
.L4:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, line[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	putc@PLT
	add	DWORD PTR -8[rbp], 1
.L3:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR ll[rip]
	cmp	rdx, rax
	jb	.L4
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	putc@PLT
.L2:
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, rax
	mov	edx, 8
	mov	esi, 1
	lea	rdi, .LC2[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR cc[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	DWORD PTR -8[rbp], 0
	sub	DWORD PTR -4[rbp], 2
	jmp	.L5
.L8:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, line[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	mov	BYTE PTR -9[rbp], al
	cmp	BYTE PTR -9[rbp], 31
	jg	.L6
	movsx	eax, BYTE PTR -9[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	putc@PLT
	jmp	.L7
.L6:
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	edi, 32
	call	putc@PLT
.L7:
	add	DWORD PTR -8[rbp], 1
.L5:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	jl	.L8
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC3[rip]
	call	fwrite@PLT
	movsx	edx, BYTE PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	sub	rsp, 8
	push	QWORD PTR -40[rbp]
	mov	r9d, 30
	mov	r8d, 30
	mov	ecx, edx
	lea	rdx, .LC4[rip]
	lea	rsi, .LC5[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	rsp, 16
	cmp	BYTE PTR -24[rbp], 70
	jne	.L10
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, rax
	mov	edx, 18
	mov	esi, 1
	lea	rdi, .LC6[rip]
	call	fwrite@PLT
.L10:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	point_to_symbol, .-point_to_symbol
	.section	.rodata
.LC7:
	.string	"INCLUDE file : \"%-*.*s\"\n"
	.text
	.type	point, @function
point:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, edi
	mov	QWORD PTR -16[rbp], rsi
	mov	BYTE PTR -4[rbp], al
	cmp	BYTE PTR -4[rbp], 73
	je	.L12
	mov	rax, QWORD PTR errorcount[rip]
	add	rax, 1
	mov	QWORD PTR errorcount[rip], rax
.L12:
	mov	rax, QWORD PTR includelevel[rip]
	test	rax, rax
	jle	.L13
	mov	rax, QWORD PTR includelevel[rip]
	lea	rdx, -1[rax]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	lea	rdx, inputs[rip]
	add	rax, rdx
	add	rax, 8
	mov	rcx, rax
	mov	edx, 16
	mov	esi, 16
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
.L13:
	movsx	edx, BYTE PTR -4[rbp]
	mov	rax, QWORD PTR stdout[rip]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	point_to_symbol
	mov	rax, QWORD PTR writelisting[rip]
	test	rax, rax
	jle	.L14
	movsx	edx, BYTE PTR -4[rbp]
	mov	rsi, QWORD PTR listing[rip]
	movzx	eax, BYTE PTR must_repeat_line[rip]
	movzx	eax, al
	mov	rcx, QWORD PTR -16[rbp]
	mov	edi, eax
	call	point_to_symbol
	mov	BYTE PTR must_repeat_line[rip], 1
.L14:
	cmp	BYTE PTR -4[rbp], 70
	jne	.L16
	mov	edi, 0
	call	exit@PLT
.L16:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	point, .-point
	.type	closelisting, @function
closelisting:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR listing[rip]
	mov	rdi, rax
	call	fclose@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	closelisting, .-closelisting
	.section	.rodata
.LC8:
	.string	"w"
.LC9:
	.string	"42minjoy.lst"
.LC10:
	.string	"%s (not open for writing)\n"
	.text
	.type	iniscanner, @function
iniscanner:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rsi, .LC8[rip]
	lea	rdi, .LC9[rip]
	call	fopen@PLT
	mov	QWORD PTR listing[rip], rax
	mov	rax, QWORD PTR listing[rip]
	test	rax, rax
	jne	.L19
	mov	rax, QWORD PTR stderr[rip]
	lea	rdx, .LC9[rip]
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 0
	call	exit@PLT
.L19:
	lea	rdi, closelisting[rip]
	call	atexit@PLT
	mov	QWORD PTR writelisting[rip], 0
	mov	DWORD PTR my_ch[rip], 32
	mov	QWORD PTR linenumber[rip], 0
	mov	QWORD PTR cc[rip], 1
	mov	QWORD PTR ll[rip], 1
	mov	edx, 11
	mov	esi, 0
	lea	rdi, specials_repeat[rip]
	call	memset@PLT
	mov	QWORD PTR includelevel[rip], 0
	mov	QWORD PTR adjustment[rip], 0
	mov	QWORD PTR alternative_radix[rip], 2
	mov	DWORD PTR lastresword[rip], 0
	mov	DWORD PTR laststdident[rip], 0
	mov	QWORD PTR outlinelength[rip], 0
	mov	edx, 208
	mov	esi, 0
	lea	rdi, scantimevariables[rip]
	call	memset@PLT
	mov	QWORD PTR errorcount[rip], 0
	mov	BYTE PTR must_repeat_line[rip], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	iniscanner, .-iniscanner
	.section	.rodata
.LC11:
	.string	"too many reserved words"
	.text
	.type	erw, @function
erw:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	eax, DWORD PTR lastresword[rip]
	add	eax, 1
	mov	DWORD PTR lastresword[rip], eax
	mov	eax, DWORD PTR lastresword[rip]
	cmp	eax, 10
	jle	.L21
	lea	rsi, .LC11[rip]
	mov	edi, 70
	call	point
.L21:
	mov	eax, DWORD PTR lastresword[rip]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, reswords[rip]
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 8
	mov	rsi, rax
	mov	rdi, rcx
	call	strncpy@PLT
	mov	eax, DWORD PTR lastresword[rip]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, reswords[rip+8]
	mov	BYTE PTR [rdx+rax], 0
	mov	eax, DWORD PTR lastresword[rip]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rdx, reswords[rip+12]
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rcx+rdx], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	erw, .-erw
	.section	.rodata
.LC12:
	.string	"too many identifiers"
	.text
	.type	est, @function
est:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	eax, DWORD PTR laststdident[rip]
	add	eax, 1
	mov	DWORD PTR laststdident[rip], eax
	mov	eax, DWORD PTR laststdident[rip]
	cmp	eax, 32
	jle	.L23
	lea	rsi, .LC12[rip]
	mov	edi, 70
	call	point
.L23:
	mov	eax, DWORD PTR laststdident[rip]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	lea	rdx, stdidents[rip]
	lea	rcx, [rax+rdx]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 16
	mov	rsi, rax
	mov	rdi, rcx
	call	strncpy@PLT
	mov	eax, DWORD PTR laststdident[rip]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, stdidents[rip+16]
	mov	BYTE PTR [rdx+rax], 0
	mov	eax, DWORD PTR laststdident[rip]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rcx, rax
	lea	rdx, stdidents[rip+20]
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rcx+rdx], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	est, .-est
	.type	release, @function
release:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], 0
	jmp	.L25
.L27:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, inputs[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L26
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, inputs[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	fclose@PLT
.L26:
	add	DWORD PTR -4[rbp], 1
.L25:
	cmp	DWORD PTR -4[rbp], 4
	jle	.L27
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	release, .-release
	.section	.rodata
.LC13:
	.string	"r"
.LC14:
	.string	"%s (not open for reading)\n"
	.text
	.type	newfile, @function
newfile:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, DWORD PTR init.0[rip]
	test	eax, eax
	jne	.L29
	mov	DWORD PTR init.0[rip], 1
	lea	rdi, release[rip]
	call	atexit@PLT
.L29:
	mov	rdx, QWORD PTR includelevel[rip]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	lea	rdx, inputs[rip]
	add	rax, rdx
	lea	rcx, 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 16
	mov	rsi, rax
	mov	rdi, rcx
	call	strncpy@PLT
	mov	rdx, QWORD PTR includelevel[rip]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, inputs[rip+24]
	mov	BYTE PTR [rdx+rax], 0
	mov	rcx, QWORD PTR includelevel[rip]
	mov	rdx, QWORD PTR linenumber[rip]
	mov	rax, rcx
	sal	rax, 2
	add	rax, rcx
	sal	rax, 3
	mov	rcx, rax
	lea	rax, inputs[rip+32]
	mov	QWORD PTR [rcx+rax], rdx
	mov	rdx, QWORD PTR includelevel[rip]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, inputs[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	je	.L30
	mov	rdx, QWORD PTR includelevel[rip]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, inputs[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	fclose@PLT
	mov	rdx, QWORD PTR includelevel[rip]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, inputs[rip]
	mov	QWORD PTR [rdx+rax], 0
.L30:
	mov	rbx, QWORD PTR includelevel[rip]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC13[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	rdx, rax
	mov	rax, rbx
	sal	rax, 2
	add	rax, rbx
	sal	rax, 3
	mov	rcx, rax
	lea	rax, inputs[rip]
	mov	QWORD PTR [rcx+rax], rdx
	mov	rax, rbx
	sal	rax, 2
	add	rax, rbx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, inputs[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L31
	mov	rax, QWORD PTR stderr[rip]
	mov	rdx, QWORD PTR -24[rbp]
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 0
	call	exit@PLT
.L31:
	mov	QWORD PTR adjustment[rip], 1
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	newfile, .-newfile
	.section	.rodata
.LC15:
	.string	"%*ld"
	.text
	.type	perhapslisting, @function
perhapslisting:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR writelisting[rip]
	test	rax, rax
	jle	.L40
	mov	rdx, QWORD PTR linenumber[rip]
	mov	rax, QWORD PTR listing[rip]
	mov	rcx, rdx
	mov	edx, 4
	lea	rsi, .LC15[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR ll[rip]
	sub	rax, 1
	mov	QWORD PTR -16[rbp], rax
	jmp	.L34
.L36:
	sub	QWORD PTR -16[rbp], 1
.L34:
	cmp	QWORD PTR -16[rbp], 0
	je	.L35
	lea	rdx, line[rip]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	jle	.L36
.L35:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	mov	QWORD PTR -8[rbp], rax
	lea	rdx, line[rip]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L37
	mov	rax, QWORD PTR listing[rip]
	mov	rcx, rax
	mov	edx, 4
	mov	esi, 1
	lea	rdi, .LC0[rip]
	call	fwrite@PLT
	mov	QWORD PTR -16[rbp], 0
	jmp	.L38
.L39:
	mov	rdx, QWORD PTR listing[rip]
	lea	rcx, line[rip]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	rsi, rdx
	mov	edi, eax
	call	putc@PLT
	add	QWORD PTR -16[rbp], 1
.L38:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jb	.L39
.L37:
	mov	rax, QWORD PTR listing[rip]
	mov	rsi, rax
	mov	edi, 10
	call	putc@PLT
	mov	BYTE PTR must_repeat_line[rip], 0
	mov	rax, QWORD PTR listing[rip]
	mov	rdi, rax
	call	fflush@PLT
.L40:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	perhapslisting, .-perhapslisting
	.type	getch, @function
getch:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rdx, QWORD PTR cc[rip]
	mov	rax, QWORD PTR ll[rip]
	cmp	rdx, rax
	jne	.L42
	mov	rax, QWORD PTR adjustment[rip]
	test	rax, rax
	je	.L43
	mov	rax, QWORD PTR adjustment[rip]
	cmp	rax, -1
	jne	.L44
	mov	rax, QWORD PTR includelevel[rip]
	lea	rdx, -1[rax]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, inputs[rip+32]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR linenumber[rip], rax
	jmp	.L45
.L44:
	mov	QWORD PTR linenumber[rip], 0
.L45:
	mov	rdx, QWORD PTR includelevel[rip]
	mov	rax, QWORD PTR adjustment[rip]
	add	rax, rdx
	mov	QWORD PTR includelevel[rip], rax
	mov	QWORD PTR adjustment[rip], 0
.L43:
	mov	rax, QWORD PTR linenumber[rip]
	add	rax, 1
	mov	QWORD PTR linenumber[rip], rax
	mov	QWORD PTR ll[rip], 0
	mov	QWORD PTR cc[rip], 0
	mov	rax, QWORD PTR includelevel[rip]
	test	rax, rax
	jne	.L46
	mov	rax, QWORD PTR stdin[rip]
	mov	rdx, rax
	mov	esi, 132
	lea	rdi, line[rip]
	call	fgets@PLT
	test	rax, rax
	je	.L47
	lea	rdi, line[rip]
	call	strlen@PLT
	mov	QWORD PTR ll[rip], rax
	call	perhapslisting
	jmp	.L47
.L46:
	mov	rax, QWORD PTR includelevel[rip]
	lea	rdx, -1[rax]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, inputs[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	esi, 132
	lea	rdi, line[rip]
	call	fgets@PLT
	test	rax, rax
	je	.L48
	lea	rdi, line[rip]
	call	strlen@PLT
	mov	QWORD PTR ll[rip], rax
	call	perhapslisting
	jmp	.L47
.L48:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR includelevel[rip]
	lea	rdx, -1[rax]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, inputs[rip]
	mov	QWORD PTR [rdx+rax], 0
	mov	QWORD PTR adjustment[rip], -1
.L47:
	mov	rax, QWORD PTR ll[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR ll[rip], rdx
	lea	rdx, line[rip]
	mov	BYTE PTR [rax+rdx], 32
.L42:
	mov	rax, QWORD PTR cc[rip]
	lea	rdx, 1[rax]
	mov	QWORD PTR cc[rip], rdx
	lea	rdx, line[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	mov	DWORD PTR my_ch[rip], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	getch, .-getch
	.section	.rodata
.LC16:
	.string	"right parenthesis expected"
.LC17:
	.string	"%ld"
.LC18:
	.string	"illegal start of scan expr"
	.text
	.type	value, @function
value:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -32[rbp], 0
.L50:
	call	getch
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 32
	jle	.L50
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 39
	je	.L51
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 38
	je	.L51
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR my_ch[rip]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L52
.L51:
	call	getsym
	mov	rax, QWORD PTR num[rip]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L53
.L52:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR my_ch[rip]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	je	.L54
	mov	eax, DWORD PTR my_ch[rip]
	sub	eax, 65
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, scantimevariables[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L53
.L54:
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 40
	jne	.L55
	call	value
	mov	QWORD PTR -32[rbp], rax
	jmp	.L56
.L57:
	call	getch
.L56:
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 32
	jle	.L57
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 41
	jne	.L58
	call	getch
	jmp	.L53
.L58:
	lea	rsi, .LC16[rip]
	mov	edi, 69
	call	point
	jmp	.L53
.L55:
	mov	eax, DWORD PTR my_ch[rip]
	sub	eax, 42
	cmp	eax, 21
	ja	.L60
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L62[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L62[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L62:
	.long	.L69-.L62
	.long	.L68-.L62
	.long	.L60-.L62
	.long	.L67-.L62
	.long	.L60-.L62
	.long	.L66-.L62
	.long	.L60-.L62
	.long	.L60-.L62
	.long	.L60-.L62
	.long	.L60-.L62
	.long	.L60-.L62
	.long	.L60-.L62
	.long	.L60-.L62
	.long	.L60-.L62
	.long	.L60-.L62
	.long	.L60-.L62
	.long	.L60-.L62
	.long	.L60-.L62
	.long	.L65-.L62
	.long	.L64-.L62
	.long	.L63-.L62
	.long	.L61-.L62
	.text
.L68:
	call	value
	mov	rbx, rax
	call	value
	add	rax, rbx
	mov	QWORD PTR -32[rbp], rax
	jmp	.L53
.L67:
	call	value
	mov	QWORD PTR -32[rbp], rax
	call	value
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	jmp	.L53
.L69:
	call	value
	mov	rbx, rax
	call	value
	imul	rax, rbx
	mov	QWORD PTR -32[rbp], rax
	jmp	.L53
.L66:
	call	value
	mov	QWORD PTR -32[rbp], rax
	call	value
	mov	rcx, rax
	mov	rax, QWORD PTR -32[rbp]
	cqo
	idiv	rcx
	mov	QWORD PTR -32[rbp], rax
	jmp	.L53
.L64:
	call	value
	mov	rbx, rax
	call	value
	cmp	rbx, rax
	sete	al
	movzx	eax, al
	mov	QWORD PTR -32[rbp], rax
	jmp	.L53
.L63:
	call	value
	mov	QWORD PTR -32[rbp], rax
	call	value
	mov	rdx, QWORD PTR -32[rbp]
	cmp	rax, rdx
	setl	al
	movzx	eax, al
	mov	QWORD PTR -32[rbp], rax
	jmp	.L53
.L65:
	call	value
	mov	QWORD PTR -32[rbp], rax
	call	value
	mov	rdx, QWORD PTR -32[rbp]
	cmp	rax, rdx
	setg	al
	movzx	eax, al
	mov	QWORD PTR -32[rbp], rax
	jmp	.L53
.L61:
	lea	rax, -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	cmp	eax, 1
	je	.L73
	mov	QWORD PTR -32[rbp], 0
	jmp	.L73
.L60:
	lea	rsi, .LC18[rip]
	mov	edi, 70
	call	point
	jmp	.L53
.L73:
	nop
.L53:
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L72
	call	__stack_chk_fail@PLT
.L72:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	value, .-value
	.section	.rodata
.LC19:
	.string	"IF"
.LC20:
	.string	"INCLUDE"
.LC21:
	.string	"too many include files"
.LC22:
	.string	"PUT"
.LC23:
	.string	"SET"
.LC24:
	.string	"\"A\" .. \"Z\" expected"
.LC25:
	.string	"\"=\" expected"
.LC26:
	.string	"LISTING"
.LC27:
	.string	"STATISTICS"
.LC28:
	.string	"RADIX"
.LC29:
	.string	"unknown directive"
	.text
	.type	directive, @function
directive:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	call	getch
	mov	DWORD PTR -56[rbp], 0
.L76:
	cmp	DWORD PTR -56[rbp], 15
	jg	.L75
	mov	ecx, DWORD PTR my_ch[rip]
	mov	eax, DWORD PTR -56[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -56[rbp], edx
	mov	edx, ecx
	cdqe
	mov	BYTE PTR -48[rbp+rax], dl
.L75:
	call	getch
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 95
	je	.L76
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR my_ch[rip]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	jne	.L76
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	mov	BYTE PTR -48[rbp+rax], 0
	lea	rax, -48[rbp]
	lea	rsi, .LC19[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L77
	call	value
	test	rax, rax
	jg	.L78
	mov	rax, QWORD PTR ll[rip]
	mov	QWORD PTR cc[rip], rax
	jmp	.L78
.L77:
	lea	rax, -48[rbp]
	lea	rsi, .LC20[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L79
	mov	rax, QWORD PTR includelevel[rip]
	cmp	rax, 5
	jne	.L81
	lea	rsi, .LC21[rip]
	mov	edi, 70
	call	point
	jmp	.L81
.L82:
	call	getch
.L81:
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 32
	jle	.L82
	mov	DWORD PTR -56[rbp], 0
.L84:
	cmp	DWORD PTR -56[rbp], 15
	jg	.L83
	mov	ecx, DWORD PTR my_ch[rip]
	mov	eax, DWORD PTR -56[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -56[rbp], edx
	cdqe
	lea	rdx, ident[rip]
	mov	BYTE PTR [rax+rdx], cl
.L83:
	call	getch
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 32
	jg	.L84
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, ident[rip]
	mov	BYTE PTR [rax+rdx], 0
	lea	rdi, ident[rip]
	call	newfile
	jmp	.L78
.L79:
	lea	rax, -48[rbp]
	lea	rsi, .LC22[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L85
	mov	rax, QWORD PTR ll[rip]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	sub	eax, 1
	mov	DWORD PTR -56[rbp], eax
	jmp	.L86
.L88:
	sub	DWORD PTR -56[rbp], 1
.L86:
	cmp	DWORD PTR -56[rbp], 0
	jle	.L87
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, line[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 32
	jle	.L88
.L87:
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 1
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR cc[rip]
	mov	DWORD PTR -56[rbp], eax
	sub	DWORD PTR -56[rbp], 1
	jmp	.L89
.L90:
	mov	rdx, QWORD PTR stderr[rip]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rcx, line[rip]
	movzx	eax, BYTE PTR [rax+rcx]
	movsx	eax, al
	mov	rsi, rdx
	mov	edi, eax
	call	fputc@PLT
	add	DWORD PTR -56[rbp], 1
.L89:
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jl	.L90
	mov	rax, QWORD PTR stderr[rip]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR ll[rip]
	mov	QWORD PTR cc[rip], rax
	jmp	.L78
.L85:
	lea	rax, -48[rbp]
	lea	rsi, .LC23[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L91
	jmp	.L92
.L93:
	call	getch
.L92:
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 32
	jle	.L93
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR my_ch[rip]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	jne	.L94
	lea	rsi, .LC24[rip]
	mov	edi, 69
	call	point
.L94:
	mov	eax, DWORD PTR my_ch[rip]
	mov	BYTE PTR -57[rbp], al
	call	getch
	jmp	.L95
.L96:
	call	getch
.L95:
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 32
	jle	.L96
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 61
	je	.L97
	lea	rsi, .LC25[rip]
	mov	edi, 69
	call	point
.L97:
	movsx	eax, BYTE PTR -57[rbp]
	lea	ebx, -65[rax]
	call	value
	movsx	rdx, ebx
	lea	rcx, 0[0+rdx*8]
	lea	rdx, scantimevariables[rip]
	mov	QWORD PTR [rcx+rdx], rax
	jmp	.L78
.L91:
	lea	rax, -48[rbp]
	lea	rsi, .LC26[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L98
	mov	rax, QWORD PTR writelisting[rip]
	mov	DWORD PTR -56[rbp], eax
	call	value
	mov	QWORD PTR writelisting[rip], rax
	cmp	DWORD PTR -56[rbp], 0
	jne	.L78
	call	perhapslisting
	jmp	.L78
.L98:
	lea	rax, -48[rbp]
	lea	rsi, .LC27[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L99
	call	value
	mov	QWORD PTR statistics[rip], rax
	jmp	.L78
.L99:
	lea	rax, -48[rbp]
	lea	rsi, .LC28[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L100
	call	value
	mov	QWORD PTR alternative_radix[rip], rax
	jmp	.L78
.L100:
	lea	rsi, .LC29[rip]
	mov	edi, 70
	call	point
.L78:
	call	getch
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L101
	call	__stack_chk_fail@PLT
.L101:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	directive, .-directive
	.section	.rodata
.LC30:
	.string	"exceeding alternative radix"
	.text
	.type	getsym, @function
getsym:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
.L103:
	mov	DWORD PTR -12[rbp], 0
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, ident[rip]
	mov	BYTE PTR [rax+rdx], 0
	jmp	.L104
.L105:
	call	getch
.L104:
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 32
	jle	.L105
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 57
	jg	.L106
	cmp	eax, 37
	jl	.L107
	sub	eax, 37
	cmp	eax, 20
	ja	.L107
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L109[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L109[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L109:
	.long	.L113-.L109
	.long	.L112-.L109
	.long	.L111-.L109
	.long	.L110-.L109
	.long	.L107-.L109
	.long	.L107-.L109
	.long	.L107-.L109
	.long	.L107-.L109
	.long	.L108-.L109
	.long	.L107-.L109
	.long	.L107-.L109
	.long	.L108-.L109
	.long	.L108-.L109
	.long	.L108-.L109
	.long	.L108-.L109
	.long	.L108-.L109
	.long	.L108-.L109
	.long	.L108-.L109
	.long	.L108-.L109
	.long	.L108-.L109
	.long	.L108-.L109
	.text
.L106:
	sub	eax, 97
	cmp	eax, 25
	ja	.L107
	jmp	.L145
.L111:
	call	getch
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 92
	jne	.L115
	call	value
	mov	QWORD PTR num[rip], rax
	jmp	.L116
.L115:
	mov	eax, DWORD PTR my_ch[rip]
	cdqe
	mov	QWORD PTR num[rip], rax
	call	getch
.L116:
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 39
	jne	.L117
	call	getch
.L117:
	mov	DWORD PTR sym[rip], 5
	jmp	.L118
.L110:
	call	getch
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 42
	jne	.L119
	call	getch
	jmp	.L120
.L121:
	call	getch
.L120:
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 42
	jne	.L121
	call	getch
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 41
	jne	.L120
	call	getch
	jmp	.L103
.L119:
	mov	DWORD PTR sym[rip], 8
	jmp	.L118
.L108:
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 45
	je	.L123
	mov	BYTE PTR -13[rbp], 0
	jmp	.L124
.L123:
	call	getch
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR my_ch[rip]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L125
	mov	eax, DWORD PTR -12[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -12[rbp], edx
	cdqe
	lea	rdx, ident[rip]
	mov	BYTE PTR [rax+rdx], 45
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, ident[rip]
	mov	BYTE PTR [rax+rdx], 0
	jmp	.L107
.L125:
	mov	BYTE PTR -13[rbp], 1
.L124:
	mov	DWORD PTR sym[rip], 7
	mov	QWORD PTR num[rip], 0
.L126:
	mov	rdx, QWORD PTR num[rip]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	mov	rdx, rax
	mov	eax, DWORD PTR my_ch[rip]
	cdqe
	add	rax, rdx
	sub	rax, 48
	mov	QWORD PTR num[rip], rax
	call	getch
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR my_ch[rip]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L126
	cmp	BYTE PTR -13[rbp], 0
	je	.L146
	mov	rax, QWORD PTR num[rip]
	neg	rax
	mov	QWORD PTR num[rip], rax
	jmp	.L146
.L112:
	mov	DWORD PTR sym[rip], 7
	mov	QWORD PTR num[rip], 0
	call	getch
	jmp	.L128
.L131:
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 64
	jle	.L129
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 90
	jg	.L129
	mov	eax, DWORD PTR my_ch[rip]
	sub	eax, 7
	mov	DWORD PTR my_ch[rip], eax
.L129:
	mov	rax, QWORD PTR alternative_radix[rip]
	lea	rdx, 47[rax]
	mov	eax, DWORD PTR my_ch[rip]
	cdqe
	cmp	rdx, rax
	jge	.L130
	lea	rsi, .LC30[rip]
	mov	edi, 69
	call	point
.L130:
	mov	rdx, QWORD PTR alternative_radix[rip]
	mov	rax, QWORD PTR num[rip]
	imul	rdx, rax
	mov	eax, DWORD PTR my_ch[rip]
	cdqe
	add	rax, rdx
	sub	rax, 48
	mov	QWORD PTR num[rip], rax
	call	getch
.L128:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR my_ch[rip]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	jne	.L131
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR my_ch[rip]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	jne	.L131
	jmp	.L118
.L145:
	mov	DWORD PTR sym[rip], 9
.L133:
	cmp	DWORD PTR -12[rbp], 15
	jg	.L132
	mov	ecx, DWORD PTR my_ch[rip]
	mov	eax, DWORD PTR -12[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -12[rbp], edx
	cdqe
	lea	rdx, ident[rip]
	mov	BYTE PTR [rax+rdx], cl
.L132:
	call	getch
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 95
	je	.L133
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR my_ch[rip]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L133
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, ident[rip]
	mov	BYTE PTR [rax+rdx], 0
	jmp	.L118
.L113:
	call	directive
	jmp	.L103
.L107:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR my_ch[rip]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 256
	test	eax, eax
	je	.L134
.L136:
	cmp	DWORD PTR -12[rbp], 15
	jg	.L135
	mov	ecx, DWORD PTR my_ch[rip]
	mov	eax, DWORD PTR -12[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -12[rbp], edx
	cdqe
	lea	rdx, ident[rip]
	mov	BYTE PTR [rax+rdx], cl
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, ident[rip]
	mov	BYTE PTR [rax+rdx], 0
.L135:
	call	getch
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 95
	je	.L136
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR my_ch[rip]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L136
	jmp	.L137
.L134:
	mov	eax, DWORD PTR my_ch[rip]
	cmp	eax, 32
	jle	.L137
.L139:
	cmp	DWORD PTR -12[rbp], 15
	jg	.L138
	mov	ecx, DWORD PTR my_ch[rip]
	mov	eax, DWORD PTR -12[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -12[rbp], edx
	cdqe
	lea	rdx, ident[rip]
	mov	BYTE PTR [rax+rdx], cl
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, ident[rip]
	mov	BYTE PTR [rax+rdx], 0
.L138:
	call	getch
	mov	eax, DWORD PTR my_ch[rip]
	mov	esi, eax
	lea	rdi, specials_repeat[rip]
	call	strchr@PLT
	test	rax, rax
	jne	.L139
.L137:
	mov	DWORD PTR -12[rbp], 1
	mov	eax, DWORD PTR lastresword[rip]
	mov	DWORD PTR -8[rbp], eax
.L142:
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, reswords[rip]
	add	rax, rdx
	mov	rsi, rax
	lea	rdi, ident[rip]
	call	strcmp@PLT
	test	eax, eax
	jg	.L140
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 1
	mov	DWORD PTR -8[rbp], eax
.L140:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, reswords[rip]
	add	rax, rdx
	mov	rsi, rax
	lea	rdi, ident[rip]
	call	strcmp@PLT
	test	eax, eax
	js	.L141
	mov	eax, DWORD PTR -4[rbp]
	add	eax, 1
	mov	DWORD PTR -12[rbp], eax
.L141:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jle	.L142
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 1
	cmp	DWORD PTR -8[rbp], eax
	jge	.L143
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, reswords[rip+12]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR sym[rip], eax
	jmp	.L118
.L143:
	mov	DWORD PTR sym[rip], 9
	jmp	.L118
.L146:
	nop
.L118:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	getsym, .-getsym
	.section	.rodata
.LC31:
	.string	"%s%s"
	.text
	.type	putch, @function
putch:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, edi
	mov	BYTE PTR -4[rbp], al
	movsx	eax, BYTE PTR -4[rbp]
	mov	edi, eax
	call	putchar@PLT
	mov	rax, QWORD PTR writelisting[rip]
	test	rax, rax
	jle	.L148
	mov	rax, QWORD PTR outlinelength[rip]
	test	rax, rax
	jne	.L149
	mov	rax, QWORD PTR listing[rip]
	lea	rcx, .LC0[rip]
	lea	rdx, .LC0[rip]
	lea	rsi, .LC31[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L149:
	mov	rdx, QWORD PTR listing[rip]
	movsx	eax, BYTE PTR -4[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	putc@PLT
.L148:
	cmp	BYTE PTR -4[rbp], 10
	jne	.L150
	mov	QWORD PTR outlinelength[rip], 0
	jmp	.L152
.L150:
	mov	rax, QWORD PTR outlinelength[rip]
	add	rax, 1
	mov	QWORD PTR outlinelength[rip], rax
.L152:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	putch, .-putch
	.type	writeline, @function
writeline:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edi, 10
	call	putchar@PLT
	mov	rax, QWORD PTR writelisting[rip]
	test	rax, rax
	jle	.L154
	mov	rax, QWORD PTR listing[rip]
	mov	rsi, rax
	mov	edi, 10
	call	putc@PLT
.L154:
	mov	QWORD PTR outlinelength[rip], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	writeline, .-writeline
	.type	writeident, @function
writeident:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR outlinelength[rip]
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	cmp	rax, 60
	jbe	.L156
	call	writeline
.L156:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L157
.L158:
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	putch
	add	DWORD PTR -12[rbp], 1
.L157:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	cmp	QWORD PTR -8[rbp], rax
	ja	.L158
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	writeident, .-writeident
	.type	writenatural, @function
writenatural:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 9
	jbe	.L160
	mov	rax, QWORD PTR -8[rbp]
	movabs	rdx, -3689348814741910323
	mul	rdx
	mov	rax, rdx
	shr	rax, 3
	mov	rdi, rax
	call	writenatural
.L160:
	mov	rcx, QWORD PTR -8[rbp]
	movabs	rdx, -3689348814741910323
	mov	rax, rcx
	mul	rdx
	shr	rdx, 3
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	sub	rcx, rax
	mov	rdx, rcx
	mov	eax, edx
	add	eax, 48
	movsx	eax, al
	mov	edi, eax
	call	putch
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	writenatural, .-writenatural
	.type	writeinteger, @function
writeinteger:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR outlinelength[rip]
	cmp	rax, 48
	jle	.L162
	call	writeline
.L162:
	cmp	QWORD PTR -8[rbp], 0
	js	.L163
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	writenatural
	jmp	.L165
.L163:
	mov	edi, 45
	call	putch
	mov	rax, QWORD PTR -8[rbp]
	neg	rax
	mov	rdi, rax
	call	writenatural
.L165:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	writeinteger, .-writeinteger
	.section	.rodata
.LC32:
	.string	"%ld error(s)\n"
.LC33:
	.string	"%ld microseconds CPU\n"
	.text
	.type	fin, @function
fin:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR errorcount[rip]
	test	rax, rax
	jle	.L167
	mov	rdx, QWORD PTR errorcount[rip]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC32[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L167:
	call	clock@PLT
	mov	rdx, QWORD PTR start_clock[rip]
	sub	rax, rdx
	mov	QWORD PTR end_clock[rip], rax
	mov	rdx, QWORD PTR end_clock[rip]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC33[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	fin, .-fin
	.type	finalise, @function
finalise:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR stderr[rip]
	mov	rdi, rax
	call	fin
	mov	rax, QWORD PTR writelisting[rip]
	test	rax, rax
	jle	.L170
	mov	rax, QWORD PTR listing[rip]
	mov	rdi, rax
	call	fin
.L170:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	finalise, .-finalise
	.section	.rodata
.LC34:
	.string	"."
.LC35:
	.string	";"
.LC36:
	.string	"=="
.LC37:
	.string	"["
.LC38:
	.string	"]"
.LC39:
	.string	"*"
.LC40:
	.string	"+"
.LC41:
	.string	"-"
.LC42:
	.string	"/"
.LC43:
	.string	"<"
.LC44:
	.string	"="
.LC45:
	.string	"and"
.LC46:
	.string	"body"
.LC47:
	.string	"cons"
.LC48:
	.string	"dip"
.LC49:
	.string	"dup"
.LC50:
	.string	"false"
.LC51:
	.string	"get"
.LC52:
	.string	"getch"
.LC53:
	.string	"i"
.LC54:
	.string	"index"
.LC55:
	.string	"not"
.LC56:
	.string	"nothing"
.LC57:
	.string	"or"
.LC58:
	.string	"pop"
.LC59:
	.string	"put"
.LC60:
	.string	"putch"
.LC61:
	.string	"sametype"
.LC62:
	.string	"select"
.LC63:
	.string	"stack"
.LC64:
	.string	"step"
.LC65:
	.string	"swap"
.LC66:
	.string	"true"
.LC67:
	.string	"uncons"
.LC68:
	.string	"unstack"
.LC69:
	.string	"bad order in standard idents"
	.text
	.type	initialise, @function
initialise:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	call	iniscanner
	mov	WORD PTR specials_repeat[rip], 15933
	mov	BYTE PTR specials_repeat[rip+2], 0
	mov	esi, 3
	lea	rdi, .LC34[rip]
	call	erw
	mov	esi, 2
	lea	rdi, .LC35[rip]
	call	erw
	mov	esi, 4
	lea	rdi, .LC36[rip]
	call	erw
	mov	esi, 0
	lea	rdi, .LC37[rip]
	call	erw
	mov	esi, 1
	lea	rdi, .LC38[rip]
	call	erw
	mov	esi, 1
	lea	rdi, .LC39[rip]
	call	est
	mov	esi, 2
	lea	rdi, .LC40[rip]
	call	est
	mov	esi, 3
	lea	rdi, .LC41[rip]
	call	est
	mov	esi, 4
	lea	rdi, .LC42[rip]
	call	est
	mov	esi, 5
	lea	rdi, .LC43[rip]
	call	est
	mov	esi, 6
	lea	rdi, .LC44[rip]
	call	est
	mov	esi, 7
	lea	rdi, .LC45[rip]
	call	est
	mov	esi, 8
	lea	rdi, .LC46[rip]
	call	est
	mov	esi, 9
	lea	rdi, .LC47[rip]
	call	est
	mov	esi, 10
	lea	rdi, .LC48[rip]
	call	est
	mov	esi, 11
	lea	rdi, .LC49[rip]
	call	est
	mov	esi, 12
	lea	rdi, .LC50[rip]
	call	est
	mov	esi, 13
	lea	rdi, .LC51[rip]
	call	est
	mov	esi, 14
	lea	rdi, .LC52[rip]
	call	est
	mov	esi, 15
	lea	rdi, .LC53[rip]
	call	est
	mov	esi, 16
	lea	rdi, .LC54[rip]
	call	est
	mov	esi, 17
	lea	rdi, .LC55[rip]
	call	est
	mov	esi, 18
	lea	rdi, .LC56[rip]
	call	est
	mov	esi, 19
	lea	rdi, .LC57[rip]
	call	est
	mov	esi, 20
	lea	rdi, .LC58[rip]
	call	est
	mov	esi, 21
	lea	rdi, .LC59[rip]
	call	est
	mov	esi, 22
	lea	rdi, .LC60[rip]
	call	est
	mov	esi, 23
	lea	rdi, .LC61[rip]
	call	est
	mov	esi, 24
	lea	rdi, .LC62[rip]
	call	est
	mov	esi, 25
	lea	rdi, .LC63[rip]
	call	est
	mov	esi, 26
	lea	rdi, .LC64[rip]
	call	est
	mov	esi, 27
	lea	rdi, .LC65[rip]
	call	est
	mov	esi, 28
	lea	rdi, .LC66[rip]
	call	est
	mov	esi, 29
	lea	rdi, .LC67[rip]
	call	est
	mov	esi, 30
	lea	rdi, .LC68[rip]
	call	est
	mov	DWORD PTR -4[rbp], 1
	jmp	.L172
.L174:
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, stdidents[rip+20]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	DWORD PTR -4[rbp], eax
	je	.L173
	lea	rsi, .LC69[rip]
	mov	edi, 70
	call	point
.L173:
	add	DWORD PTR -4[rbp], 1
.L172:
	cmp	DWORD PTR -4[rbp], 30
	jbe	.L174
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	initialise, .-initialise
	.local	table
	.comm	table,6020,32
	.local	lastlibloc
	.comm	lastlibloc,8,8
	.local	sentinel
	.comm	sentinel,8,8
	.local	lasttable
	.comm	lasttable,8,8
	.local	locatn
	.comm	locatn,8,8
	.local	m
	.comm	m,32000,32
	.local	firstusernode
	.comm	firstusernode,2,2
	.local	freelist
	.comm	freelist,2,2
	.local	programme
	.comm	programme,2,2
	.local	s
	.comm	s,2,2
	.local	dump
	.comm	dump,2,2
	.local	stat_kons
	.comm	stat_kons,8,8
	.local	stat_gc
	.comm	stat_gc,8,8
	.local	stat_ops
	.comm	stat_ops,8,8
	.local	stat_calls
	.comm	stat_calls,8,8
	.local	stat_lib
	.comm	stat_lib,8,8
	.section	.rodata
.LC70:
	.string	"LIB"
.LC71:
	.string	"BOOLEAN"
.LC72:
	.string	"CHAR"
.LC73:
	.string	"INTEGER"
.LC74:
	.string	"LIST"
.LC75:
	.string	"UNKNOWN"
	.section	.data.rel.local,"aw"
	.align 32
	.type	standardident_NAMES, @object
	.size	standardident_NAMES, 288
standardident_NAMES:
	.quad	.LC70
	.quad	.LC39
	.quad	.LC40
	.quad	.LC41
	.quad	.LC42
	.quad	.LC43
	.quad	.LC44
	.quad	.LC45
	.quad	.LC46
	.quad	.LC47
	.quad	.LC48
	.quad	.LC49
	.quad	.LC50
	.quad	.LC51
	.quad	.LC52
	.quad	.LC53
	.quad	.LC54
	.quad	.LC55
	.quad	.LC56
	.quad	.LC57
	.quad	.LC58
	.quad	.LC59
	.quad	.LC60
	.quad	.LC61
	.quad	.LC62
	.quad	.LC63
	.quad	.LC64
	.quad	.LC65
	.quad	.LC66
	.quad	.LC67
	.quad	.LC68
	.quad	.LC71
	.quad	.LC72
	.quad	.LC73
	.quad	.LC74
	.quad	.LC75
	.section	.rodata
.LC76:
	.string	"too many library symbols"
.LC77:
	.string	"lookup : %-*.*s at %ld\n"
	.text
	.type	lookup, @function
lookup:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR sentinel[rip]
	test	rax, rax
	jne	.L176
	mov	DWORD PTR id[rip], 35
	jmp	.L175
.L176:
	mov	QWORD PTR locatn[rip], 0
	mov	rax, QWORD PTR sentinel[rip]
	test	rax, rax
	jle	.L178
	mov	rdx, QWORD PTR sentinel[rip]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	lea	rdx, table[rip]
	add	rax, rdx
	lea	rsi, ident[rip]
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR lasttable[rip]
	mov	QWORD PTR locatn[rip], rax
	jmp	.L179
.L180:
	mov	rax, QWORD PTR locatn[rip]
	sub	rax, 1
	mov	QWORD PTR locatn[rip], rax
.L179:
	mov	rdx, QWORD PTR locatn[rip]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	lea	rdx, table[rip]
	add	rax, rdx
	lea	rsi, ident[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L180
.L178:
	mov	rdx, QWORD PTR locatn[rip]
	mov	rax, QWORD PTR sentinel[rip]
	cmp	rdx, rax
	jle	.L181
	mov	DWORD PTR id[rip], 0
	jmp	.L182
.L181:
	mov	DWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR lastlibloc[rip]
	mov	DWORD PTR -4[rbp], eax
.L185:
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	cdqe
	mov	QWORD PTR locatn[rip], rax
	mov	rdx, QWORD PTR locatn[rip]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	lea	rdx, table[rip]
	add	rax, rdx
	mov	rsi, rax
	lea	rdi, ident[rip]
	call	strcmp@PLT
	test	eax, eax
	jg	.L183
	mov	rax, QWORD PTR locatn[rip]
	sub	eax, 1
	mov	DWORD PTR -4[rbp], eax
.L183:
	mov	rdx, QWORD PTR locatn[rip]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	lea	rdx, table[rip]
	add	rax, rdx
	mov	rsi, rax
	lea	rdi, ident[rip]
	call	strcmp@PLT
	test	eax, eax
	js	.L184
	mov	rax, QWORD PTR locatn[rip]
	add	eax, 1
	mov	DWORD PTR -8[rbp], eax
.L184:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	jle	.L185
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, 1
	cmp	DWORD PTR -4[rbp], eax
	jge	.L186
	mov	DWORD PTR id[rip], 0
	jmp	.L182
.L186:
	mov	DWORD PTR -8[rbp], 1
	mov	eax, DWORD PTR laststdident[rip]
	mov	DWORD PTR -4[rbp], eax
.L189:
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	cdqe
	mov	QWORD PTR locatn[rip], rax
	mov	rdx, QWORD PTR locatn[rip]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	lea	rdx, stdidents[rip]
	add	rax, rdx
	mov	rsi, rax
	lea	rdi, ident[rip]
	call	strcmp@PLT
	test	eax, eax
	jg	.L187
	mov	rax, QWORD PTR locatn[rip]
	sub	eax, 1
	mov	DWORD PTR -4[rbp], eax
.L187:
	mov	rdx, QWORD PTR locatn[rip]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	lea	rdx, stdidents[rip]
	add	rax, rdx
	mov	rsi, rax
	lea	rdi, ident[rip]
	call	strcmp@PLT
	test	eax, eax
	js	.L188
	mov	rax, QWORD PTR locatn[rip]
	add	eax, 1
	mov	DWORD PTR -8[rbp], eax
.L188:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	jle	.L189
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, 1
	cmp	DWORD PTR -4[rbp], eax
	jge	.L190
	mov	rdx, QWORD PTR locatn[rip]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, stdidents[rip+20]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR id[rip], eax
	jmp	.L182
.L190:
	mov	rax, QWORD PTR lasttable[rip]
	cmp	rax, 300
	jne	.L191
	lea	rsi, .LC76[rip]
	mov	edi, 70
	call	point
.L191:
	mov	rax, QWORD PTR lasttable[rip]
	add	rax, 1
	mov	QWORD PTR lasttable[rip], rax
	mov	rdx, QWORD PTR lasttable[rip]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	lea	rdx, table[rip]
	add	rax, rdx
	lea	rsi, ident[rip]
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR lasttable[rip]
	mov	QWORD PTR locatn[rip], rax
	mov	rdx, QWORD PTR locatn[rip]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, table[rip+18]
	mov	WORD PTR [rdx+rax], 0
	mov	DWORD PTR id[rip], 0
.L182:
	mov	rax, QWORD PTR writelisting[rip]
	cmp	rax, 4
	jle	.L175
	mov	rcx, QWORD PTR locatn[rip]
	mov	eax, DWORD PTR id[rip]
	mov	eax, eax
	lea	rdx, 0[0+rax*8]
	lea	rax, standardident_NAMES[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR listing[rip]
	mov	r9, rcx
	mov	r8, rdx
	mov	ecx, 16
	mov	edx, 16
	lea	rsi, .LC77[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L175:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	lookup, .-lookup
	.section	.rodata
.LC78:
	.string	"%5ld %-*.*s %10ld %10ld %c"
.LC79:
	.string	"   %-*.*s %4ld"
	.text
	.type	wn, @function
wn:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, esi
	mov	WORD PTR -12[rbp], ax
	movsx	eax, WORD PTR -12[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+10]
	movzx	eax, BYTE PTR [rdx+rax]
	cmp	al, 35
	jne	.L193
	movsx	eax, WORD PTR -12[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+11]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	je	.L194
	mov	esi, 84
	jmp	.L195
.L194:
	mov	esi, 70
.L195:
	movsx	eax, WORD PTR -12[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+8]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	rcx, ax
	movsx	eax, WORD PTR -12[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	movsx	rdx, WORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	rsi
	push	rcx
	push	0
	mov	r9, rdi
	mov	r8d, 16
	mov	ecx, 16
	lea	rsi, .LC78[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	rsp, 32
	jmp	.L196
.L193:
	movsx	eax, WORD PTR -12[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+11]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	je	.L197
	mov	r8d, 84
	jmp	.L198
.L197:
	mov	r8d, 70
.L198:
	movsx	eax, WORD PTR -12[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+8]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	rsi, ax
	movsx	eax, WORD PTR -12[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	movsx	eax, WORD PTR -12[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+10]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, standardident_NAMES[rip]
	mov	rdi, QWORD PTR [rdx+rax]
	movsx	rdx, WORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	r8
	push	rsi
	push	rcx
	mov	r9, rdi
	mov	r8d, 16
	mov	ecx, 16
	lea	rsi, .LC78[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	rsp, 32
.L196:
	movsx	eax, WORD PTR -12[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+10]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L199
	movsx	eax, WORD PTR -12[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, table[rip+18]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	rcx, ax
	movsx	eax, WORD PTR -12[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	lea	rdx, table[rip]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	r9, rcx
	mov	r8, rdx
	mov	ecx, 16
	mov	edx, 16
	lea	rsi, .LC79[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L199:
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	putc@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	wn, .-wn
	.type	writenode, @function
writenode:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, edi
	mov	WORD PTR -4[rbp], ax
	movsx	edx, WORD PTR -4[rbp]
	mov	rax, QWORD PTR stdout[rip]
	mov	esi, edx
	mov	rdi, rax
	call	wn
	mov	rax, QWORD PTR writelisting[rip]
	test	rax, rax
	jle	.L202
	mov	rax, QWORD PTR listing[rip]
	mov	rsi, rax
	mov	edi, 9
	call	putc@PLT
	movsx	edx, WORD PTR -4[rbp]
	mov	rax, QWORD PTR listing[rip]
	mov	esi, edx
	mov	rdi, rax
	call	wn
.L202:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	writenode, .-writenode
	.type	mark, @function
mark:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, edi
	mov	WORD PTR -4[rbp], ax
	jmp	.L204
.L207:
	mov	rax, QWORD PTR writelisting[rip]
	cmp	rax, 4
	jle	.L205
	movsx	eax, WORD PTR -4[rbp]
	mov	edi, eax
	call	writenode
.L205:
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+10]
	movzx	eax, BYTE PTR [rdx+rax]
	cmp	al, 34
	jne	.L206
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+11]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L206
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cwde
	mov	edi, eax
	call	mark
.L206:
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+11]
	mov	BYTE PTR [rdx+rax], 1
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+8]
	movzx	eax, WORD PTR [rdx+rax]
	mov	WORD PTR -4[rbp], ax
.L204:
	cmp	WORD PTR -4[rbp], 0
	jg	.L207
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	mark, .-mark
	.section	.rodata
.LC80:
	.string	"GC start"
.LC81:
	.string	"finished marking"
	.align 8
.LC82:
	.string	"internal error - selfreference"
.LC83:
	.string	"nodes collected"
.LC84:
	.string	"dynamic memory exhausted"
.LC85:
	.string	"internal error - circular"
	.text
	.type	kons, @function
kons:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	eax, edx
	mov	WORD PTR -24[rbp], ax
	movzx	eax, WORD PTR freelist[rip]
	test	ax, ax
	jne	.L209
	mov	rax, QWORD PTR sentinel[rip]
	test	rax, rax
	je	.L225
	mov	rax, QWORD PTR writelisting[rip]
	cmp	rax, 2
	jle	.L212
	lea	rdi, .LC80[rip]
	call	writeident
	call	writeline
.L212:
	movzx	eax, WORD PTR programme[rip]
	cwde
	mov	edi, eax
	call	mark
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	mark
	movzx	eax, WORD PTR dump[rip]
	cwde
	mov	edi, eax
	call	mark
	movsx	eax, WORD PTR -24[rbp]
	mov	edi, eax
	call	mark
	cmp	DWORD PTR -20[rbp], 34
	jne	.L213
	mov	rax, QWORD PTR -32[rbp]
	cwde
	mov	edi, eax
	call	mark
.L213:
	mov	rax, QWORD PTR writelisting[rip]
	cmp	rax, 3
	jle	.L214
	lea	rdi, .LC81[rip]
	call	writeident
	call	writeline
.L214:
	mov	QWORD PTR -8[rbp], 0
	movzx	eax, WORD PTR firstusernode[rip]
	mov	WORD PTR -10[rbp], ax
	jmp	.L215
.L218:
	movsx	eax, WORD PTR -10[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+11]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L216
	movsx	edx, WORD PTR -10[rbp]
	movzx	eax, WORD PTR freelist[rip]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 4
	lea	rdx, m[rip+8]
	mov	WORD PTR [rcx+rdx], ax
	movzx	eax, WORD PTR -10[rbp]
	mov	WORD PTR freelist[rip], ax
	add	QWORD PTR -8[rbp], 1
.L216:
	movsx	eax, WORD PTR -10[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+11]
	mov	BYTE PTR [rdx+rax], 0
	movsx	eax, WORD PTR -10[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+8]
	movzx	eax, WORD PTR [rdx+rax]
	cmp	WORD PTR -10[rbp], ax
	jne	.L217
	lea	rsi, .LC82[rip]
	mov	edi, 70
	call	point
.L217:
	movzx	eax, WORD PTR -10[rbp]
	add	eax, 1
	mov	WORD PTR -10[rbp], ax
.L215:
	cmp	WORD PTR -10[rbp], 1999
	jle	.L218
	mov	rax, QWORD PTR writelisting[rip]
	cmp	rax, 2
	jle	.L219
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	writeinteger
	mov	edi, 32
	call	putch
	lea	rdi, .LC83[rip]
	call	writeident
	call	writeline
.L219:
	movzx	eax, WORD PTR freelist[rip]
	test	ax, ax
	jne	.L220
	jmp	.L211
.L225:
	nop
.L211:
	lea	rsi, .LC84[rip]
	mov	edi, 70
	call	point
.L220:
	mov	rax, QWORD PTR stat_gc[rip]
	add	rax, 1
	mov	QWORD PTR stat_gc[rip], rax
.L209:
	movzx	eax, WORD PTR freelist[rip]
	mov	WORD PTR -10[rbp], ax
	cmp	DWORD PTR -20[rbp], 34
	jne	.L221
	movsx	rax, WORD PTR -10[rbp]
	cmp	QWORD PTR -32[rbp], rax
	jne	.L221
	lea	rsi, .LC82[rip]
	mov	edi, 70
	call	point
.L221:
	movzx	eax, WORD PTR -10[rbp]
	cmp	ax, WORD PTR -24[rbp]
	jne	.L222
	lea	rsi, .LC85[rip]
	mov	edi, 70
	call	point
.L222:
	movsx	eax, WORD PTR -10[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+8]
	movzx	eax, WORD PTR [rdx+rax]
	mov	WORD PTR freelist[rip], ax
	movsx	eax, WORD PTR -10[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	ecx, edx
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+10]
	mov	BYTE PTR [rdx+rax], cl
	movsx	eax, WORD PTR -10[rbp]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rdx, m[rip]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rcx+rdx], rax
	movsx	eax, WORD PTR -10[rbp]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rdx, m[rip+8]
	movzx	eax, WORD PTR -24[rbp]
	mov	WORD PTR [rcx+rdx], ax
	mov	rax, QWORD PTR writelisting[rip]
	cmp	rax, 4
	jle	.L223
	movsx	eax, WORD PTR -10[rbp]
	mov	edi, eax
	call	writenode
.L223:
	mov	rax, QWORD PTR stat_kons[rip]
	add	rax, 1
	mov	QWORD PTR stat_kons[rip], rax
	movzx	eax, WORD PTR -10[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	kons, .-kons
	.type	my_strdup, @function
my_strdup:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L227
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
.L227:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	my_strdup, .-my_strdup
	.section	.rodata
.LC86:
	.string	"internal in readfactor"
	.text
	.type	readfactor, @function
readfactor:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR sym[rip]
	cmp	eax, 9
	je	.L230
	cmp	eax, 9
	ja	.L231
	cmp	eax, 7
	je	.L232
	cmp	eax, 7
	ja	.L231
	test	eax, eax
	je	.L233
	cmp	eax, 5
	je	.L234
	jmp	.L231
.L233:
	call	getsym
	mov	edx, 0
	mov	esi, 0
	mov	edi, 34
	call	kons
	mov	rdx, QWORD PTR -24[rbp]
	mov	WORD PTR [rdx], ax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR [rax]
	cwde
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+11]
	mov	BYTE PTR [rdx+rax], 1
	mov	eax, DWORD PTR sym[rip]
	test	eax, eax
	je	.L235
	mov	eax, DWORD PTR sym[rip]
	cmp	eax, 9
	je	.L235
	mov	eax, DWORD PTR sym[rip]
	cmp	eax, 5
	je	.L235
	mov	eax, DWORD PTR sym[rip]
	cmp	eax, 7
	jne	.L241
.L235:
	lea	rax, -10[rbp]
	mov	rdi, rax
	call	readterm
	movzx	ecx, WORD PTR -10[rbp]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR [rax]
	movsx	edx, ax
	movsx	rax, cx
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 4
	lea	rdx, m[rip]
	mov	QWORD PTR [rcx+rdx], rax
	jmp	.L241
.L230:
	call	lookup
	mov	eax, DWORD PTR id[rip]
	cmp	eax, 35
	jne	.L238
	lea	rdi, ident[rip]
	call	my_strdup
	mov	rcx, rax
	mov	eax, DWORD PTR id[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	kons
	mov	rdx, QWORD PTR -24[rbp]
	mov	WORD PTR [rdx], ax
	jmp	.L237
.L238:
	mov	rcx, QWORD PTR locatn[rip]
	mov	eax, DWORD PTR id[rip]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	kons
	mov	rdx, QWORD PTR -24[rbp]
	mov	WORD PTR [rdx], ax
	jmp	.L237
.L234:
	mov	rax, QWORD PTR num[rip]
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 32
	call	kons
	mov	rdx, QWORD PTR -24[rbp]
	mov	WORD PTR [rdx], ax
	jmp	.L237
.L232:
	mov	rax, QWORD PTR num[rip]
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 33
	call	kons
	mov	rdx, QWORD PTR -24[rbp]
	mov	WORD PTR [rdx], ax
	jmp	.L237
.L231:
	lea	rsi, .LC86[rip]
	mov	edi, 70
	call	point
	jmp	.L237
.L241:
	nop
.L237:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR [rax]
	cwde
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+11]
	mov	BYTE PTR [rdx+rax], 1
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L240
	call	__stack_chk_fail@PLT
.L240:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	readfactor, .-readfactor
	.type	readterm, @function
readterm:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	readfactor
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -2[rbp], ax
	call	getsym
	jmp	.L243
.L244:
	movsx	eax, WORD PTR -2[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	add	rax, rdx
	add	rax, 8
	mov	rdi, rax
	call	readfactor
	movsx	eax, WORD PTR -2[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+8]
	movzx	eax, WORD PTR [rdx+rax]
	mov	WORD PTR -2[rbp], ax
	call	getsym
.L243:
	mov	eax, DWORD PTR sym[rip]
	test	eax, eax
	je	.L244
	mov	eax, DWORD PTR sym[rip]
	cmp	eax, 9
	je	.L244
	mov	eax, DWORD PTR sym[rip]
	cmp	eax, 5
	je	.L244
	mov	eax, DWORD PTR sym[rip]
	cmp	eax, 7
	je	.L244
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	readterm, .-readterm
	.type	writeterm, @function
writeterm:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, edi
	mov	edx, esi
	mov	WORD PTR -4[rbp], ax
	mov	eax, edx
	mov	BYTE PTR -8[rbp], al
	jmp	.L246
.L248:
	movsx	eax, WORD PTR -4[rbp]
	mov	esi, 0
	mov	edi, eax
	call	writefactor
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+8]
	movzx	eax, WORD PTR [rdx+rax]
	test	ax, ax
	jle	.L247
	mov	edi, 32
	call	putch
.L247:
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+8]
	movzx	eax, WORD PTR [rdx+rax]
	mov	WORD PTR -4[rbp], ax
.L246:
	cmp	WORD PTR -4[rbp], 0
	jg	.L248
	cmp	BYTE PTR -8[rbp], 0
	je	.L250
	call	writeline
.L250:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	writeterm, .-writeterm
	.type	writefactor, @function
writefactor:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, edi
	mov	edx, esi
	mov	WORD PTR -4[rbp], ax
	mov	eax, edx
	mov	BYTE PTR -8[rbp], al
	cmp	WORD PTR -4[rbp], 0
	jle	.L266
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+10]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	cmp	eax, 35
	ja	.L253
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L255[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L255[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L255:
	.long	.L260-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L253-.L255
	.long	.L259-.L255
	.long	.L258-.L255
	.long	.L257-.L255
	.long	.L256-.L255
	.long	.L254-.L255
	.text
.L256:
	mov	edi, 91
	call	putch
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cwde
	mov	esi, 0
	mov	edi, eax
	call	writeterm
	mov	edi, 93
	call	putch
	jmp	.L252
.L259:
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cmp	rax, 1
	jne	.L261
	lea	rdi, .LC66[rip]
	call	writeident
	jmp	.L252
.L261:
	lea	rdi, .LC50[rip]
	call	writeident
	jmp	.L252
.L258:
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cmp	rax, 10
	jne	.L263
	call	writeline
	jmp	.L252
.L263:
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rax, QWORD PTR [rdx+rax]
	movsx	eax, al
	mov	edi, eax
	call	putch
	jmp	.L252
.L257:
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	writeinteger
	jmp	.L252
.L260:
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	lea	rdx, table[rip]
	add	rax, rdx
	mov	rdi, rax
	call	writeident
	jmp	.L252
.L254:
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	writeident
	jmp	.L252
.L253:
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	lea	rdx, stdidents[rip]
	add	rax, rdx
	mov	rdi, rax
	call	writeident
	jmp	.L252
.L266:
	nop
.L252:
	cmp	BYTE PTR -8[rbp], 0
	je	.L267
	call	writeline
.L267:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	writefactor, .-writefactor
	.type	patchterm, @function
patchterm:
.LFB37:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, edi
	mov	WORD PTR -4[rbp], ax
	jmp	.L269
.L270:
	movsx	eax, WORD PTR -4[rbp]
	mov	edi, eax
	call	patchfactor
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+8]
	movzx	eax, WORD PTR [rdx+rax]
	mov	WORD PTR -4[rbp], ax
.L269:
	cmp	WORD PTR -4[rbp], 0
	jg	.L270
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	patchterm, .-patchterm
	.type	patchfactor, @function
patchfactor:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, edi
	mov	WORD PTR -4[rbp], ax
	cmp	WORD PTR -4[rbp], 0
	jle	.L275
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+10]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	cmp	eax, 34
	je	.L273
	cmp	eax, 35
	je	.L274
	jmp	.L276
.L273:
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cwde
	mov	edi, eax
	call	patchterm
	jmp	.L272
.L274:
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	edx, 16
	mov	rsi, rax
	lea	rdi, ident[rip]
	call	strncpy@PLT
	mov	BYTE PTR ident[rip+16], 0
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	free@PLT
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	QWORD PTR [rdx+rax], 0
	call	lookup
	mov	edx, DWORD PTR id[rip]
	movsx	eax, WORD PTR -4[rbp]
	mov	ecx, edx
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+10]
	mov	BYTE PTR [rdx+rax], cl
	movsx	edx, WORD PTR -4[rbp]
	mov	rax, QWORD PTR locatn[rip]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 4
	lea	rdx, m[rip]
	mov	QWORD PTR [rcx+rdx], rax
	jmp	.L272
.L275:
	nop
.L272:
.L276:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	patchfactor, .-patchfactor
	.section	.rodata
.LC87:
	.string	"seen : %-*.*s\n"
.LC88:
	.string	"bad order in library"
.LC89:
	.string	"pass 2: \"==\" expected"
	.align 8
.LC90:
	.string	"firstusernode = %ld,  total memory = %ld\n"
	.text
	.type	readlibrary, @function
readlibrary:
.LFB39:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	newfile
	mov	QWORD PTR lastlibloc[rip], 0
	call	getsym
	jmp	.L278
.L284:
	mov	rax, QWORD PTR writelisting[rip]
	cmp	rax, 8
	jle	.L279
	mov	rax, QWORD PTR listing[rip]
	lea	r8, ident[rip]
	mov	ecx, 16
	mov	edx, 16
	lea	rsi, .LC87[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L279:
	mov	rax, QWORD PTR lastlibloc[rip]
	test	rax, rax
	jle	.L280
	mov	rdx, QWORD PTR lastlibloc[rip]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	lea	rdx, table[rip]
	add	rax, rdx
	mov	rsi, rax
	lea	rdi, ident[rip]
	call	strcmp@PLT
	test	eax, eax
	jg	.L280
	lea	rsi, .LC88[rip]
	mov	edi, 70
	call	point
.L280:
	mov	rax, QWORD PTR lastlibloc[rip]
	cmp	rax, 300
	jne	.L281
	lea	rsi, .LC76[rip]
	mov	edi, 70
	call	point
.L281:
	mov	rax, QWORD PTR lastlibloc[rip]
	add	rax, 1
	mov	QWORD PTR lastlibloc[rip], rax
	mov	rdx, QWORD PTR lastlibloc[rip]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	lea	rdx, table[rip]
	add	rax, rdx
	lea	rsi, ident[rip]
	mov	rdi, rax
	call	strcpy@PLT
	mov	rax, QWORD PTR lastlibloc[rip]
	mov	DWORD PTR -4[rbp], eax
	call	getsym
	mov	eax, DWORD PTR sym[rip]
	cmp	eax, 4
	je	.L282
	lea	rsi, .LC89[rip]
	mov	edi, 70
	call	point
.L282:
	call	getsym
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	lea	rdx, 16[rax]
	lea	rax, table[rip]
	add	rax, rdx
	add	rax, 2
	mov	rdi, rax
	call	readterm
	mov	rax, QWORD PTR writelisting[rip]
	cmp	rax, 8
	jle	.L283
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, table[rip+18]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	esi, 1
	mov	edi, eax
	call	writeterm
.L283:
	mov	eax, DWORD PTR sym[rip]
	cmp	eax, 3
	je	.L278
	call	getsym
.L278:
	mov	eax, DWORD PTR sym[rip]
	cmp	eax, 3
	jne	.L284
	movzx	eax, WORD PTR freelist[rip]
	mov	WORD PTR firstusernode[rip], ax
	mov	rax, QWORD PTR writelisting[rip]
	cmp	rax, 5
	jle	.L285
	movzx	eax, WORD PTR firstusernode[rip]
	movsx	rdx, ax
	mov	rax, QWORD PTR listing[rip]
	mov	ecx, 1999
	lea	rsi, .LC90[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L285:
	mov	rax, QWORD PTR ll[rip]
	mov	QWORD PTR cc[rip], rax
	mov	rax, QWORD PTR lastlibloc[rip]
	add	rax, 1
	mov	QWORD PTR sentinel[rip], rax
	mov	rax, QWORD PTR sentinel[rip]
	mov	QWORD PTR lasttable[rip], rax
	mov	DWORD PTR -4[rbp], 1
	jmp	.L286
.L287:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, table[rip+18]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	edi, eax
	call	patchterm
	add	DWORD PTR -4[rbp], 1
.L286:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR lasttable[rip]
	cmp	rdx, rax
	jl	.L287
	mov	QWORD PTR adjustment[rip], -1
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	readlibrary, .-readlibrary
	.local	JL10
	.comm	JL10,200,32
	.section	.rodata
.LC91:
	.string	"null address being referenced"
	.text
	.type	ok, @function
ok:
.LFB40:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, edi
	mov	WORD PTR -4[rbp], ax
	cmp	WORD PTR -4[rbp], 0
	jg	.L289
	lea	rsi, .LC91[rip]
	mov	edi, 70
	call	point
.L289:
	movzx	eax, WORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	ok, .-ok
	.type	o, @function
o:
.LFB41:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, edi
	mov	WORD PTR -4[rbp], ax
	movsx	eax, WORD PTR -4[rbp]
	mov	edi, eax
	call	ok
	cwde
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+10]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	o, .-o
	.section	.rodata
.LC92:
	.string	"integer value required"
	.text
	.type	i, @function
i:
.LFB42:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, edi
	mov	WORD PTR -4[rbp], ax
	movsx	eax, WORD PTR -4[rbp]
	mov	edi, eax
	call	o
	cmp	eax, 33
	jne	.L294
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rax, QWORD PTR [rdx+rax]
	jmp	.L296
.L294:
	lea	rsi, .LC92[rip]
	mov	edi, 82
	call	point
	mov	esi, 1
	lea	rdi, JL10[rip]
	call	longjmp@PLT
.L296:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	i, .-i
	.section	.rodata
.LC93:
	.string	"list value required"
	.text
	.type	l, @function
l:
.LFB43:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, edi
	mov	WORD PTR -4[rbp], ax
	movsx	eax, WORD PTR -4[rbp]
	mov	edi, eax
	call	o
	cmp	eax, 34
	jne	.L298
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rax, QWORD PTR [rdx+rax]
	jmp	.L300
.L298:
	lea	rsi, .LC93[rip]
	mov	edi, 82
	call	point
	mov	esi, 1
	lea	rdi, JL10[rip]
	call	longjmp@PLT
.L300:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	l, .-l
	.section	.rodata
.LC94:
	.string	"negative next value"
	.text
	.type	n, @function
n:
.LFB44:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, edi
	mov	WORD PTR -4[rbp], ax
	movsx	eax, WORD PTR -4[rbp]
	mov	edi, eax
	call	ok
	cwde
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+8]
	movzx	eax, WORD PTR [rdx+rax]
	test	ax, ax
	js	.L302
	movsx	eax, WORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+8]
	movzx	eax, WORD PTR [rdx+rax]
	jmp	.L304
.L302:
	lea	rsi, .LC94[rip]
	mov	edi, 82
	call	point
	mov	esi, 1
	lea	rdi, JL10[rip]
	call	longjmp@PLT
.L304:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	n, .-n
	.type	v, @function
v:
.LFB45:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, edi
	mov	WORD PTR -4[rbp], ax
	movsx	eax, WORD PTR -4[rbp]
	mov	edi, eax
	call	ok
	cwde
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rax, QWORD PTR [rdx+rax]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	v, .-v
	.type	b, @function
b:
.LFB46:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, edi
	mov	WORD PTR -4[rbp], ax
	movsx	eax, WORD PTR -4[rbp]
	mov	edi, eax
	call	v
	test	rax, rax
	setg	al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	b, .-b
	.type	binary, @function
binary:
.LFB47:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	n
	movsx	edx, ax
	mov	rcx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	kons
	mov	WORD PTR s[rip], ax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	binary, .-binary
	.section	.rodata
.LC95:
	.string	"joy:"
.LC96:
	.string	"stack:"
.LC97:
	.string	"dump:"
.LC98:
	.string	"internal error in interpreter"
	.text
	.type	joy, @function
joy:
.LFB48:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r13
	push	r12
	push	rbx
	sub	rsp, 40
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	mov	eax, edi
	mov	WORD PTR -52[rbp], ax
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -40[rbp], rax
	xor	eax, eax
	jmp	.L311
.L359:
	mov	rax, QWORD PTR writelisting[rip]
	cmp	rax, 3
	jle	.L312
	lea	rdi, .LC95[rip]
	call	writeident
	mov	edi, 32
	call	putch
	movsx	eax, WORD PTR -52[rbp]
	mov	esi, 1
	mov	edi, eax
	call	writefactor
.L312:
	mov	rax, QWORD PTR writelisting[rip]
	cmp	rax, 4
	jle	.L313
	lea	rdi, .LC96[rip]
	call	writeident
	mov	edi, 32
	call	putch
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	esi, 1
	mov	edi, eax
	call	writeterm
	lea	rdi, .LC97[rip]
	call	writeident
	mov	edi, 32
	call	putch
	movzx	eax, WORD PTR dump[rip]
	cwde
	mov	esi, 1
	mov	edi, eax
	call	writeterm
.L313:
	movsx	eax, WORD PTR -52[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+10]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	cmp	eax, 34
	ja	.L314
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L316[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L316[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L316:
	.long	.L345-.L316
	.long	.L344-.L316
	.long	.L343-.L316
	.long	.L342-.L316
	.long	.L341-.L316
	.long	.L340-.L316
	.long	.L339-.L316
	.long	.L338-.L316
	.long	.L337-.L316
	.long	.L336-.L316
	.long	.L335-.L316
	.long	.L334-.L316
	.long	.L319-.L316
	.long	.L333-.L316
	.long	.L332-.L316
	.long	.L331-.L316
	.long	.L330-.L316
	.long	.L329-.L316
	.long	.L315-.L316
	.long	.L328-.L316
	.long	.L327-.L316
	.long	.L326-.L316
	.long	.L325-.L316
	.long	.L324-.L316
	.long	.L323-.L316
	.long	.L322-.L316
	.long	.L321-.L316
	.long	.L320-.L316
	.long	.L319-.L316
	.long	.L318-.L316
	.long	.L317-.L316
	.long	.L314-.L316
	.long	.L315-.L316
	.long	.L315-.L316
	.long	.L315-.L316
	.text
.L315:
	movzx	eax, WORD PTR s[rip]
	movsx	edx, ax
	movsx	eax, WORD PTR -52[rbp]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, m[rip]
	mov	rcx, QWORD PTR [rcx+rax]
	movsx	eax, WORD PTR -52[rbp]
	cdqe
	sal	rax, 4
	mov	rsi, rax
	lea	rax, m[rip+10]
	movzx	eax, BYTE PTR [rsi+rax]
	movzx	eax, al
	mov	rsi, rcx
	mov	edi, eax
	call	kons
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L319:
	movzx	eax, WORD PTR s[rip]
	movsx	edx, ax
	movsx	eax, WORD PTR -52[rbp]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, m[rip+10]
	movzx	eax, BYTE PTR [rcx+rax]
	cmp	al, 28
	sete	al
	movzx	eax, al
	mov	rsi, rax
	mov	edi, 31
	call	kons
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L327:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L334:
	movzx	eax, WORD PTR s[rip]
	movsx	ebx, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	v
	mov	r12, rax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	o
	mov	edx, ebx
	mov	rsi, r12
	mov	edi, eax
	call	kons
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L320:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	n
	movsx	ebx, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	v
	mov	r12, rax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	o
	mov	edx, ebx
	mov	rsi, r12
	mov	edi, eax
	call	kons
	movsx	ebx, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	v
	mov	r12, rax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	o
	mov	edx, ebx
	mov	rsi, r12
	mov	edi, eax
	call	kons
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L322:
	movzx	eax, WORD PTR s[rip]
	movsx	edx, ax
	movzx	eax, WORD PTR s[rip]
	movsx	rax, ax
	mov	rsi, rax
	mov	edi, 34
	call	kons
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L317:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	l
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L329:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	movsx	ebx, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	b
	test	al, al
	sete	al
	movzx	eax, al
	mov	edx, ebx
	mov	rsi, rax
	mov	edi, 31
	call	kons
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L344:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	i
	mov	rbx, rax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	i
	imul	rax, rbx
	mov	rsi, rax
	mov	edi, 33
	call	binary
	jmp	.L346
.L343:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	i
	mov	rbx, rax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	i
	add	rax, rbx
	mov	rsi, rax
	mov	edi, 33
	call	binary
	jmp	.L346
.L342:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	i
	mov	rbx, rax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	i
	mov	rdx, rax
	mov	rax, rbx
	sub	rax, rdx
	mov	rsi, rax
	mov	edi, 33
	call	binary
	jmp	.L346
.L341:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	i
	mov	rbx, rax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	i
	mov	rcx, rax
	mov	rax, rbx
	cqo
	idiv	rcx
	mov	rsi, rax
	mov	edi, 33
	call	binary
	jmp	.L346
.L338:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	b
	mov	ebx, eax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	b
	and	eax, ebx
	movzx	eax, al
	mov	rsi, rax
	mov	edi, 31
	call	binary
	jmp	.L346
.L328:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	b
	mov	ebx, eax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	b
	or	eax, ebx
	movzx	eax, al
	mov	rsi, rax
	mov	edi, 31
	call	binary
	jmp	.L346
.L340:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	o
	test	eax, eax
	jne	.L347
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	v
	mov	rdx, rax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	lea	rdx, table[rip]
	lea	rbx, [rax+rdx]
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	v
	mov	rdx, rax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	lea	rdx, table[rip]
	add	rax, rdx
	mov	rsi, rbx
	mov	rdi, rax
	call	strcmp@PLT
	shr	eax, 31
	movzx	eax, al
	mov	rsi, rax
	mov	edi, 31
	call	binary
	jmp	.L346
.L347:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	v
	mov	rbx, rax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	v
	cmp	rbx, rax
	setl	al
	movzx	eax, al
	mov	rsi, rax
	mov	edi, 31
	call	binary
	jmp	.L346
.L339:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	v
	mov	rbx, rax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	v
	cmp	rbx, rax
	sete	al
	movzx	eax, al
	mov	rsi, rax
	mov	edi, 31
	call	binary
	jmp	.L346
.L324:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	o
	mov	ebx, eax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	o
	cmp	ebx, eax
	sete	al
	movzx	eax, al
	mov	rsi, rax
	mov	edi, 31
	call	binary
	jmp	.L346
.L336:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	o
	cmp	eax, 18
	jne	.L349
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	n
	movsx	ebx, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	l
	movsx	rax, ax
	mov	edx, ebx
	mov	rsi, rax
	mov	edi, 34
	call	kons
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L349:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	n
	movsx	ebx, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	v
	movsx	r12d, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	v
	mov	r13, rax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	o
	mov	edx, r12d
	mov	rsi, r13
	mov	edi, eax
	call	kons
	movsx	rax, ax
	mov	edx, ebx
	mov	rsi, rax
	mov	edi, 34
	call	kons
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L318:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	v
	test	rax, rax
	jne	.L351
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edx, eax
	mov	esi, 18
	mov	edi, 18
	call	kons
	cwde
	mov	edx, eax
	mov	esi, 0
	mov	edi, 34
	call	kons
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L351:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	movsx	ebx, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	l
	cwde
	mov	edi, eax
	call	v
	mov	r12, rax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	l
	cwde
	mov	edi, eax
	call	o
	mov	edx, ebx
	mov	rsi, r12
	mov	edi, eax
	call	kons
	movsx	ebx, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	l
	cwde
	mov	edi, eax
	call	n
	movsx	rax, ax
	mov	edx, ebx
	mov	rsi, rax
	mov	edi, 34
	call	kons
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L323:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	l
	mov	WORD PTR -44[rbp], ax
	jmp	.L353
.L354:
	movzx	eax, WORD PTR -44[rbp]
	cwde
	mov	edi, eax
	call	n
	mov	WORD PTR -44[rbp], ax
.L353:
	movzx	eax, WORD PTR -44[rbp]
	cwde
	mov	edi, eax
	call	l
	cwde
	mov	edi, eax
	call	o
	mov	ebx, eax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	o
	cmp	ebx, eax
	jne	.L354
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	movsx	ebx, ax
	movzx	eax, WORD PTR -44[rbp]
	cwde
	mov	edi, eax
	call	l
	cwde
	mov	edi, eax
	call	n
	movsx	rax, ax
	mov	edx, ebx
	mov	rsi, rax
	mov	edi, 34
	call	kons
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L330:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	v
	test	rax, rax
	jg	.L355
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	n
	movsx	ebx, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	l
	cwde
	mov	edi, eax
	call	v
	mov	r12, rax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	l
	cwde
	mov	edi, eax
	call	o
	mov	edx, ebx
	mov	rsi, r12
	mov	edi, eax
	call	kons
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L355:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	n
	movsx	ebx, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	l
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	v
	mov	r12, rax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	l
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	o
	mov	edx, ebx
	mov	rsi, r12
	mov	edi, eax
	call	kons
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L337:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	movsx	ebx, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	v
	mov	rdx, rax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, table[rip+18]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	rax, ax
	mov	edx, ebx
	mov	rsi, rax
	mov	edi, 34
	call	kons
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L326:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	esi, 0
	mov	edi, eax
	call	writefactor
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L325:
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	v
	movsx	eax, al
	mov	edi, eax
	call	putch
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L333:
	call	getsym
	lea	rax, -44[rbp]
	mov	rdi, rax
	call	readfactor
	movzx	eax, WORD PTR s[rip]
	movsx	ebx, ax
	movzx	eax, WORD PTR -44[rbp]
	cwde
	mov	edi, eax
	call	v
	mov	r12, rax
	movzx	eax, WORD PTR -44[rbp]
	cwde
	mov	edi, eax
	call	o
	mov	edx, ebx
	mov	rsi, r12
	mov	edi, eax
	call	kons
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L332:
	call	getch
	movzx	eax, WORD PTR s[rip]
	movsx	edx, ax
	mov	eax, DWORD PTR my_ch[rip]
	cdqe
	mov	rsi, rax
	mov	edi, 33
	call	kons
	mov	WORD PTR s[rip], ax
	jmp	.L346
.L331:
	movzx	eax, WORD PTR dump[rip]
	movsx	r12d, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	l
	movsx	rbx, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	o
	mov	edx, r12d
	mov	rsi, rbx
	mov	edi, eax
	call	kons
	mov	WORD PTR dump[rip], ax
	movzx	eax, WORD PTR s[rip]
	mov	WORD PTR -44[rbp], ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	mov	WORD PTR s[rip], ax
	movzx	eax, WORD PTR -44[rbp]
	cwde
	mov	edi, eax
	call	l
	cwde
	mov	edi, eax
	call	joy
	movzx	eax, WORD PTR dump[rip]
	cwde
	mov	edi, eax
	call	n
	mov	WORD PTR dump[rip], ax
	jmp	.L346
.L335:
	movzx	eax, WORD PTR dump[rip]
	movsx	ebx, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	v
	mov	r12, rax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	o
	mov	edx, ebx
	mov	rsi, r12
	mov	edi, eax
	call	kons
	mov	WORD PTR dump[rip], ax
	movzx	eax, WORD PTR dump[rip]
	movsx	ebx, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	l
	movsx	rax, ax
	mov	edx, ebx
	mov	rsi, rax
	mov	edi, 34
	call	kons
	mov	WORD PTR dump[rip], ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	n
	mov	WORD PTR s[rip], ax
	movzx	eax, WORD PTR dump[rip]
	cwde
	mov	edi, eax
	call	l
	cwde
	mov	edi, eax
	call	joy
	movzx	eax, WORD PTR dump[rip]
	cwde
	mov	edi, eax
	call	n
	mov	WORD PTR dump[rip], ax
	movzx	eax, WORD PTR s[rip]
	movsx	ebx, ax
	movzx	eax, WORD PTR dump[rip]
	cwde
	mov	edi, eax
	call	v
	mov	r12, rax
	movzx	eax, WORD PTR dump[rip]
	cwde
	mov	edi, eax
	call	o
	mov	edx, ebx
	mov	rsi, r12
	mov	edi, eax
	call	kons
	mov	WORD PTR s[rip], ax
	movzx	eax, WORD PTR dump[rip]
	cwde
	mov	edi, eax
	call	n
	mov	WORD PTR dump[rip], ax
	jmp	.L346
.L321:
	movzx	eax, WORD PTR dump[rip]
	movsx	r12d, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	l
	movsx	rbx, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	o
	mov	edx, r12d
	mov	rsi, rbx
	mov	edi, eax
	call	kons
	mov	WORD PTR dump[rip], ax
	movzx	eax, WORD PTR dump[rip]
	movsx	r12d, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	l
	movsx	rbx, ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	o
	mov	edx, r12d
	mov	rsi, rbx
	mov	edi, eax
	call	kons
	mov	WORD PTR dump[rip], ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	l
	mov	WORD PTR -44[rbp], ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	l
	mov	WORD PTR -42[rbp], ax
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	n
	mov	WORD PTR s[rip], ax
	jmp	.L357
.L358:
	movzx	eax, WORD PTR s[rip]
	movsx	edx, ax
	movsx	eax, WORD PTR -42[rbp]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, m[rip]
	mov	rcx, QWORD PTR [rcx+rax]
	movsx	eax, WORD PTR -42[rbp]
	cdqe
	sal	rax, 4
	mov	rsi, rax
	lea	rax, m[rip+10]
	movzx	eax, BYTE PTR [rsi+rax]
	movzx	eax, al
	mov	rsi, rcx
	mov	edi, eax
	call	kons
	mov	WORD PTR s[rip], ax
	movzx	eax, WORD PTR -44[rbp]
	cwde
	mov	edi, eax
	call	joy
	movsx	eax, WORD PTR -42[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+8]
	movzx	eax, WORD PTR [rdx+rax]
	mov	WORD PTR -42[rbp], ax
.L357:
	cmp	WORD PTR -42[rbp], 0
	jg	.L358
	movzx	eax, WORD PTR dump[rip]
	cwde
	mov	edi, eax
	call	n
	cwde
	mov	edi, eax
	call	n
	mov	WORD PTR dump[rip], ax
	jmp	.L346
.L345:
	movsx	eax, WORD PTR -52[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, table[rip+18]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	edi, eax
	call	joy
	jmp	.L346
.L314:
	lea	rsi, .LC98[rip]
	mov	edi, 70
	call	point
.L346:
	mov	rax, QWORD PTR stat_ops[rip]
	add	rax, 1
	mov	QWORD PTR stat_ops[rip], rax
	movsx	eax, WORD PTR -52[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+8]
	movzx	eax, WORD PTR [rdx+rax]
	mov	WORD PTR -52[rbp], ax
.L311:
	cmp	WORD PTR -52[rbp], 0
	jg	.L359
	mov	rax, QWORD PTR stat_calls[rip]
	add	rax, 1
	mov	QWORD PTR stat_calls[rip], rax
	nop
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L360
	call	__stack_chk_fail@PLT
.L360:
	add	rsp, 40
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	joy, .-joy
	.section	.rodata
	.align 8
.LC99:
	.string	"%lu microseconds CPU to read library\n"
	.align 8
.LC100:
	.string	"%lu microseconds CPU to execute\n"
.LC101:
	.string	"%lu user nodes available\n"
.LC102:
	.string	"%lu garbage collections\n"
.LC103:
	.string	"%lu nodes used\n"
.LC104:
	.string	"%lu calls to joy interpreter\n"
.LC105:
	.string	"%lu operations executed\n"
	.text
	.type	writestatistics, @function
writestatistics:
.LFB49:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rdx, QWORD PTR stat_lib[rip]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC99[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR end_clock[rip]
	mov	rcx, QWORD PTR stat_lib[rip]
	sub	rax, rcx
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC100[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	movzx	eax, WORD PTR firstusernode[rip]
	movsx	edx, ax
	mov	eax, 1999
	sub	eax, edx
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC101[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR stat_gc[rip]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC102[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR stat_kons[rip]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC103[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR stat_calls[rip]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC104[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rdx, QWORD PTR stat_ops[rip]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC105[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	writestatistics, .-writestatistics
	.section	.rodata
.LC106:
	.string	"42minjoy.lib"
.LC107:
	.string	"\"%-*.*s\" :\n"
.LC108:
	.string	"interpreting:"
.LC109:
	.string	"dump error: should be empty!"
	.text
	.globl	main
	.type	main, @function
main:
.LFB50:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -4[rbp], 1
	call	clock@PLT
	mov	QWORD PTR start_clock[rip], rax
	call	initialise
	lea	rdi, perhapsstatistics[rip]
	call	atexit@PLT
	mov	WORD PTR -10[rbp], 1
	jmp	.L363
.L364:
	movsx	eax, WORD PTR -10[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+11]
	mov	BYTE PTR [rdx+rax], 0
	movzx	eax, WORD PTR -10[rbp]
	lea	edx, 1[rax]
	movsx	eax, WORD PTR -10[rbp]
	mov	ecx, edx
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip+8]
	mov	WORD PTR [rdx+rax], cx
	movzx	eax, WORD PTR -10[rbp]
	add	eax, 1
	mov	WORD PTR -10[rbp], ax
.L363:
	cmp	WORD PTR -10[rbp], 1999
	jle	.L364
	mov	WORD PTR freelist[rip], 1
	mov	WORD PTR m[rip+31992], 0
	mov	QWORD PTR writelisting[rip], 0
	mov	QWORD PTR stat_kons[rip], 0
	mov	QWORD PTR stat_gc[rip], 0
	mov	QWORD PTR stat_ops[rip], 0
	mov	QWORD PTR stat_calls[rip], 0
	mov	QWORD PTR sentinel[rip], 0
	mov	WORD PTR firstusernode[rip], 0
	cmp	DWORD PTR -20[rbp], 1
	jne	.L365
	lea	rdi, .LC106[rip]
	call	readlibrary
	jmp	.L366
.L365:
	sub	DWORD PTR -20[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -4[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	readlibrary
.L366:
	call	clock@PLT
	mov	rdx, QWORD PTR start_clock[rip]
	sub	rax, rdx
	mov	QWORD PTR stat_lib[rip], rax
	mov	rax, QWORD PTR writelisting[rip]
	cmp	rax, 2
	jle	.L367
	mov	DWORD PTR -8[rbp], 1
	jmp	.L368
.L369:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	lea	rdx, table[rip]
	add	rdx, rax
	mov	rax, QWORD PTR listing[rip]
	mov	r8, rdx
	mov	ecx, 16
	mov	edx, 16
	lea	rsi, .LC107[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, table[rip+18]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	esi, 1
	mov	edi, eax
	call	writeterm
	add	DWORD PTR -8[rbp], 1
.L368:
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR lastlibloc[rip]
	cmp	rdx, rax
	jle	.L369
.L367:
	mov	rax, QWORD PTR lastlibloc[rip]
	add	rax, 1
	mov	QWORD PTR sentinel[rip], rax
	mov	rax, QWORD PTR sentinel[rip]
	mov	QWORD PTR lasttable[rip], rax
	mov	WORD PTR s[rip], 0
	mov	WORD PTR dump[rip], 0
	cmp	DWORD PTR -20[rbp], 1
	jle	.L370
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	newfile
.L370:
	lea	rdi, JL10[rip]
	call	_setjmp@PLT
	endbr64
.L371:
	call	getsym
	mov	eax, DWORD PTR sym[rip]
	cmp	eax, 3
	je	.L372
	mov	WORD PTR programme[rip], 0
	lea	rdi, programme[rip]
	call	readfactor
	mov	rax, QWORD PTR writelisting[rip]
	cmp	rax, 2
	jle	.L373
	lea	rdi, .LC108[rip]
	call	writeident
	call	writeline
	movzx	eax, WORD PTR programme[rip]
	cwde
	mov	esi, 1
	mov	edi, eax
	call	writefactor
.L373:
	movzx	eax, WORD PTR dump[rip]
	test	ax, ax
	je	.L374
	lea	rdi, .LC109[rip]
	call	puts@PLT
	movzx	eax, WORD PTR dump[rip]
	cwde
	mov	esi, 1
	mov	edi, eax
	call	writeterm
	mov	WORD PTR dump[rip], 0
.L374:
	mov	QWORD PTR outlinelength[rip], 0
	movzx	eax, WORD PTR programme[rip]
	cwde
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, m[rip]
	mov	rax, QWORD PTR [rdx+rax]
	cwde
	mov	edi, eax
	call	joy
	mov	rax, QWORD PTR outlinelength[rip]
	test	rax, rax
	jle	.L375
	call	writeline
.L375:
	mov	rax, QWORD PTR writelisting[rip]
	cmp	rax, 2
	jle	.L372
	lea	rdi, .LC96[rip]
	call	writeident
	call	writeline
	movzx	eax, WORD PTR s[rip]
	cwde
	mov	esi, 1
	mov	edi, eax
	call	writeterm
.L372:
	mov	eax, DWORD PTR sym[rip]
	cmp	eax, 3
	jne	.L371
	call	finalise
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	main, .-main
	.type	perhapsstatistics, @function
perhapsstatistics:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR statistics[rip]
	test	rax, rax
	jle	.L379
	mov	rax, QWORD PTR stderr[rip]
	mov	rdi, rax
	call	writestatistics
	mov	rax, QWORD PTR writelisting[rip]
	test	rax, rax
	jle	.L379
	mov	rax, QWORD PTR listing[rip]
	mov	rdi, rax
	call	writestatistics
.L379:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	perhapsstatistics, .-perhapsstatistics
	.local	init.0
	.comm	init.0,4,4
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"82957.c"
	.text
	.local	listing
	.comm	listing,4,4
	.local	inputs
	.comm	inputs,140,4
	.local	includelevel
	.comm	includelevel,4,4
	.local	adjustment
	.comm	adjustment,4,4
	.local	writelisting
	.comm	writelisting,4,4
	.local	must_repeat_line
	.comm	must_repeat_line,1,1
	.local	scantimevariables
	.comm	scantimevariables,104,4
	.local	alternative_radix
	.comm	alternative_radix,4,4
	.local	linenumber
	.comm	linenumber,4,4
	.local	line
	.comm	line,133,4
	.local	cc
	.comm	cc,4,4
	.local	ll
	.comm	ll,4,4
	.local	my_ch
	.comm	my_ch,4,4
	.local	ident
	.comm	ident,17,4
	.local	id
	.comm	id,4,4
	.local	specials_repeat
	.comm	specials_repeat,11,4
	.local	sym
	.comm	sym,4,4
	.local	num
	.comm	num,4,4
	.local	reswords
	.comm	reswords,176,4
	.local	lastresword
	.comm	lastresword,4,4
	.local	stdidents
	.comm	stdidents,792,4
	.local	laststdident
	.comm	laststdident,4,4
	.local	errorcount
	.comm	errorcount,4,4
	.local	outlinelength
	.comm	outlinelength,4,4
	.local	statistics
	.comm	statistics,4,4
	.local	start_clock
	.comm	start_clock,4,4
	.local	end_clock
	.comm	end_clock,4,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"%*ld%s\000"
	.align	2
.LC1:
	.ascii	"    \000"
	.align	2
.LC2:
	.ascii	"****    \000"
	.align	2
.LC3:
	.ascii	"^\012\000"
	.align	2
.LC4:
	.ascii	"%JOY\000"
	.align	2
.LC5:
	.ascii	"%s-%c  %-*.*s\012\000"
	.align	2
.LC6:
	.ascii	"execution aborted\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	point_to_symbol, %function
point_to_symbol:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r1, [fp, #-28]
	str	r3, [fp, #-32]
	mov	r3, r0
	strb	r3, [fp, #-21]
	mov	r3, r2
	strb	r3, [fp, #-22]
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2
	ldr	r3, .L11
	ldr	r3, [r3]
	ldr	r2, .L11+4
	str	r2, [sp]
	mov	r2, #4
	ldr	r1, .L11+8
	ldr	r0, [fp, #-28]
	bl	fprintf
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L3
.L4:
	ldr	r2, .L11+12
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	putc
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L3:
	ldr	r2, [fp, #-12]
	ldr	r3, .L11+16
	ldr	r3, [r3]
	cmp	r2, r3
	bcc	.L4
	ldr	r1, [fp, #-28]
	mov	r0, #10
	bl	putc
.L2:
	ldr	r3, [fp, #-28]
	mov	r2, #8
	mov	r1, #1
	ldr	r0, .L11+20
	bl	fwrite
	ldr	r3, .L11+24
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #2
	str	r3, [fp, #-8]
	b	.L5
.L8:
	ldr	r2, .L11+12
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #31
	bhi	.L6
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	putc
	b	.L7
.L6:
	ldr	r1, [fp, #-28]
	mov	r0, #32
	bl	putc
.L7:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L5:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	blt	.L8
	ldr	r3, [fp, #-28]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L11+28
	bl	fwrite
	ldrb	r2, [fp, #-22]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	str	r3, [sp, #8]
	mov	r3, #30
	str	r3, [sp, #4]
	mov	r3, #30
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L11+32
	ldr	r1, .L11+36
	ldr	r0, [fp, #-28]
	bl	fprintf
	ldrb	r3, [fp, #-22]	@ zero_extendqisi2
	cmp	r3, #70
	bne	.L10
	ldr	r3, [fp, #-28]
	mov	r2, #18
	mov	r1, #1
	ldr	r0, .L11+40
	bl	fwrite
.L10:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L12:
	.align	2
.L11:
	.word	linenumber
	.word	.LC1
	.word	.LC0
	.word	line
	.word	ll
	.word	.LC2
	.word	cc
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.size	point_to_symbol, .-point_to_symbol
	.section	.rodata
	.align	2
.LC7:
	.ascii	"INCLUDE file : \"%-*.*s\"\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	point, %function
point:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	str	r1, [fp, #-12]
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #73
	beq	.L14
	ldr	r3, .L19
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L19
	str	r3, [r2]
.L14:
	ldr	r3, .L19+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L15
	ldr	r3, .L19+4
	ldr	r3, [r3]
	sub	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L19+8
	add	r3, r3, r2
	add	r3, r3, #4
	mov	r2, #16
	mov	r1, #16
	ldr	r0, .L19+12
	bl	printf
.L15:
	ldr	r3, .L19+16
	ldr	r1, [r3]
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	mov	r0, #1
	bl	point_to_symbol
	ldr	r3, .L19+20
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L16
	ldr	r3, .L19+24
	ldrb	r0, [r3]	@ zero_extendqisi2
	ldr	r3, .L19+28
	ldr	r1, [r3]
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	bl	point_to_symbol
	ldr	r3, .L19+24
	mov	r2, #1
	strb	r2, [r3]
.L16:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #70
	bne	.L18
	mov	r0, #0
	bl	exit
.L18:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L20:
	.align	2
.L19:
	.word	errorcount
	.word	includelevel
	.word	inputs
	.word	.LC7
	.word	stdout
	.word	writelisting
	.word	must_repeat_line
	.word	listing
	.size	point, .-point
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	closelisting, %function
closelisting:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L22
	ldr	r3, [r3]
	mov	r0, r3
	bl	fclose
	nop
	pop	{fp, pc}
.L23:
	.align	2
.L22:
	.word	listing
	.size	closelisting, .-closelisting
	.section	.rodata
	.align	2
.LC8:
	.ascii	"w\000"
	.align	2
.LC9:
	.ascii	"42minjoy.lst\000"
	.align	2
.LC10:
	.ascii	"%s (not open for writing)\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	iniscanner, %function
iniscanner:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r1, .L26
	ldr	r0, .L26+4
	bl	fopen
	mov	r3, r0
	ldr	r2, .L26+8
	str	r3, [r2]
	ldr	r3, .L26+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L25
	ldr	r3, .L26+12
	ldr	r3, [r3]
	ldr	r2, .L26+4
	ldr	r1, .L26+16
	mov	r0, r3
	bl	fprintf
	mov	r0, #0
	bl	exit
.L25:
	ldr	r0, .L26+20
	bl	atexit
	ldr	r3, .L26+24
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L26+28
	mov	r2, #32
	str	r2, [r3]
	ldr	r3, .L26+32
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L26+36
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L26+40
	mov	r2, #1
	str	r2, [r3]
	mov	r2, #11
	mov	r1, #0
	ldr	r0, .L26+44
	bl	memset
	ldr	r3, .L26+48
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L26+52
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L26+56
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, .L26+60
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L26+64
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L26+68
	mov	r2, #0
	str	r2, [r3]
	mov	r2, #104
	mov	r1, #0
	ldr	r0, .L26+72
	bl	memset
	ldr	r3, .L26+76
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L26+80
	mov	r2, #0
	strb	r2, [r3]
	nop
	pop	{fp, pc}
.L27:
	.align	2
.L26:
	.word	.LC8
	.word	.LC9
	.word	listing
	.word	stderr
	.word	.LC10
	.word	closelisting
	.word	writelisting
	.word	my_ch
	.word	linenumber
	.word	cc
	.word	ll
	.word	specials_repeat
	.word	includelevel
	.word	adjustment
	.word	alternative_radix
	.word	lastresword
	.word	laststdident
	.word	outlinelength
	.word	scantimevariables
	.word	errorcount
	.word	must_repeat_line
	.size	iniscanner, .-iniscanner
	.section	.rodata
	.align	2
.LC11:
	.ascii	"too many reserved words\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	erw, %function
erw:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L30
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L30
	str	r3, [r2]
	ldr	r3, .L30
	ldr	r3, [r3]
	cmp	r3, #10
	ble	.L29
	ldr	r1, .L30+4
	mov	r0, #70
	bl	point
.L29:
	ldr	r3, .L30
	ldr	r3, [r3]
	lsl	r3, r3, #4
	ldr	r2, .L30+8
	add	r3, r3, r2
	mov	r2, #8
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	strncpy
	ldr	r3, .L30
	ldr	r3, [r3]
	ldr	r2, .L30+8
	lsl	r3, r3, #4
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #8]
	ldr	r3, .L30
	ldr	r3, [r3]
	ldr	r2, .L30+8
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3, #12]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L31:
	.align	2
.L30:
	.word	lastresword
	.word	.LC11
	.word	reswords
	.size	erw, .-erw
	.section	.rodata
	.align	2
.LC12:
	.ascii	"too many identifiers\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	est, %function
est:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L34
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L34
	str	r3, [r2]
	ldr	r3, .L34
	ldr	r3, [r3]
	cmp	r3, #32
	ble	.L33
	ldr	r1, .L34+4
	mov	r0, #70
	bl	point
.L33:
	ldr	r3, .L34
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	ldr	r2, .L34+8
	add	r3, r3, r2
	mov	r2, #16
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	strncpy
	ldr	r3, .L34
	ldr	r2, [r3]
	ldr	r1, .L34+8
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #16
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L34
	ldr	r2, [r3]
	ldr	r1, .L34+8
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #20
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L35:
	.align	2
.L34:
	.word	laststdident
	.word	.LC12
	.word	stdidents
	.size	est, .-est
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	release, %function
release:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L37
.L39:
	ldr	r1, .L40
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L38
	ldr	r1, .L40
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	fclose
.L38:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L37:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	ble	.L39
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L41:
	.align	2
.L40:
	.word	inputs
	.size	release, .-release
	.section	.rodata
	.align	2
.LC13:
	.ascii	"r\000"
	.align	2
.LC14:
	.ascii	"%s (not open for reading)\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	newfile, %function
newfile:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	ldr	r3, .L46
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L43
	ldr	r3, .L46
	mov	r2, #1
	str	r2, [r3]
	ldr	r0, .L46+4
	bl	atexit
.L43:
	ldr	r3, .L46+8
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L46+12
	add	r3, r3, r2
	add	r3, r3, #4
	mov	r2, #16
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	strncpy
	ldr	r3, .L46+8
	ldr	r2, [r3]
	ldr	r1, .L46+12
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #20
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L46+8
	ldr	r2, [r3]
	ldr	r3, .L46+16
	ldr	r1, [r3]
	ldr	r0, .L46+12
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, #24
	str	r1, [r3]
	ldr	r3, .L46+8
	ldr	r2, [r3]
	ldr	r1, .L46+12
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L44
	ldr	r3, .L46+8
	ldr	r2, [r3]
	ldr	r1, .L46+12
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	fclose
	ldr	r3, .L46+8
	ldr	r2, [r3]
	ldr	r1, .L46+12
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, #0
	str	r2, [r3]
.L44:
	ldr	r3, .L46+8
	ldr	r4, [r3]
	ldr	r1, .L46+20
	ldr	r0, [fp, #-16]
	bl	fopen
	mov	r2, r0
	ldr	r1, .L46+12
	mov	r3, r4
	lsl	r3, r3, #3
	sub	r3, r3, r4
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3]
	ldr	r2, .L46+12
	mov	r3, r4
	lsl	r3, r3, #3
	sub	r3, r3, r4
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L45
	ldr	r3, .L46+24
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	ldr	r1, .L46+28
	mov	r0, r3
	bl	fprintf
	mov	r0, #0
	bl	exit
.L45:
	ldr	r3, .L46+32
	mov	r2, #1
	str	r2, [r3]
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L47:
	.align	2
.L46:
	.word	init.5716
	.word	release
	.word	includelevel
	.word	inputs
	.word	linenumber
	.word	.LC13
	.word	stderr
	.word	.LC14
	.word	adjustment
	.size	newfile, .-newfile
	.section	.rodata
	.align	2
.LC15:
	.ascii	"%*ld\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	perhapslisting, %function
perhapslisting:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L57
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L56
	ldr	r3, .L57+4
	ldr	r0, [r3]
	ldr	r3, .L57+8
	ldr	r3, [r3]
	mov	r2, #4
	ldr	r1, .L57+12
	bl	fprintf
	ldr	r3, .L57+16
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L50
.L52:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L50:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L51
	ldr	r2, .L57+20
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	bls	.L52
.L51:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r2, .L57+20
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L53
	ldr	r3, .L57+4
	ldr	r3, [r3]
	mov	r2, #4
	mov	r1, #1
	ldr	r0, .L57+24
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L54
.L55:
	ldr	r2, .L57+20
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L57+4
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	putc
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L54:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bcc	.L55
.L53:
	ldr	r3, .L57+4
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	putc
	ldr	r3, .L57+28
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L57+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
.L56:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L58:
	.align	2
.L57:
	.word	writelisting
	.word	listing
	.word	linenumber
	.word	.LC15
	.word	ll
	.word	line
	.word	.LC1
	.word	must_repeat_line
	.size	perhapslisting, .-perhapslisting
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getch, %function
getch:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L67
	ldr	r2, [r3]
	ldr	r3, .L67+4
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L60
	ldr	r3, .L67+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L61
	ldr	r3, .L67+8
	ldr	r3, [r3]
	cmn	r3, #1
	bne	.L62
	ldr	r3, .L67+12
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r1, .L67+16
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #24
	ldr	r3, [r3]
	ldr	r2, .L67+20
	str	r3, [r2]
	b	.L63
.L62:
	ldr	r3, .L67+20
	mov	r2, #0
	str	r2, [r3]
.L63:
	ldr	r3, .L67+12
	ldr	r2, [r3]
	ldr	r3, .L67+8
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L67+12
	str	r3, [r2]
	ldr	r3, .L67+8
	mov	r2, #0
	str	r2, [r3]
.L61:
	ldr	r3, .L67+20
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L67+20
	str	r3, [r2]
	ldr	r3, .L67+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L67
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L67+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L64
	ldr	r3, .L67+24
	ldr	r3, [r3]
	mov	r2, r3
	mov	r1, #132
	ldr	r0, .L67+28
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	beq	.L65
	ldr	r0, .L67+28
	bl	strlen
	mov	r3, r0
	ldr	r2, .L67+4
	str	r3, [r2]
	bl	perhapslisting
	b	.L65
.L64:
	ldr	r3, .L67+12
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r1, .L67+16
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	mov	r1, #132
	ldr	r0, .L67+28
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	beq	.L66
	ldr	r0, .L67+28
	bl	strlen
	mov	r3, r0
	ldr	r2, .L67+4
	str	r3, [r2]
	bl	perhapslisting
	b	.L65
.L66:
	ldr	r0, [fp, #-8]
	bl	fclose
	ldr	r3, .L67+12
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r1, .L67+16
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L67+8
	mvn	r2, #0
	str	r2, [r3]
.L65:
	ldr	r3, .L67+4
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L67+4
	str	r2, [r1]
	ldr	r2, .L67+28
	mov	r1, #32
	strb	r1, [r2, r3]
.L60:
	ldr	r3, .L67
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L67
	str	r2, [r1]
	ldr	r2, .L67+28
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L67+32
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L68:
	.align	2
.L67:
	.word	cc
	.word	ll
	.word	adjustment
	.word	includelevel
	.word	inputs
	.word	linenumber
	.word	stdin
	.word	line
	.word	my_ch
	.size	getch, .-getch
	.section	.rodata
	.align	2
.LC16:
	.ascii	"right parenthesis expected\000"
	.global	__aeabi_idiv
	.align	2
.LC17:
	.ascii	"%ld\000"
	.align	2
.LC18:
	.ascii	"illegal start of scan expr\000"
	.align	2
.LC19:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	value, %function
value:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	ldr	r3, .L94
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-20]
.L70:
	bl	getch
	ldr	r3, .L94+4
	ldr	r3, [r3]
	cmp	r3, #32
	ble	.L70
	ldr	r3, .L94+4
	ldr	r3, [r3]
	cmp	r3, #39
	beq	.L71
	ldr	r3, .L94+4
	ldr	r3, [r3]
	cmp	r3, #38
	beq	.L71
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L94+4
	ldr	r3, [r3]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L72
.L71:
	bl	getsym
	ldr	r3, .L94+8
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	b	.L73
.L72:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L94+4
	ldr	r3, [r3]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L74
	ldr	r3, .L94+4
	ldr	r3, [r3]
	sub	r3, r3, #65
	ldr	r2, .L94+12
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-20]
	b	.L73
.L74:
	ldr	r3, .L94+4
	ldr	r3, [r3]
	cmp	r3, #40
	bne	.L75
	bl	value
	mov	r3, r0
	str	r3, [fp, #-20]
	b	.L76
.L77:
	bl	getch
.L76:
	ldr	r3, .L94+4
	ldr	r3, [r3]
	cmp	r3, #32
	ble	.L77
	ldr	r3, .L94+4
	ldr	r3, [r3]
	cmp	r3, #41
	bne	.L78
	bl	getch
	b	.L73
.L78:
	ldr	r1, .L94+16
	mov	r0, #69
	bl	point
	b	.L73
.L75:
	ldr	r3, .L94+4
	ldr	r3, [r3]
	sub	r3, r3, #42
	cmp	r3, #21
	ldrls	pc, [pc, r3, asl #2]
	b	.L80
.L82:
	.word	.L89
	.word	.L88
	.word	.L80
	.word	.L87
	.word	.L80
	.word	.L86
	.word	.L80
	.word	.L80
	.word	.L80
	.word	.L80
	.word	.L80
	.word	.L80
	.word	.L80
	.word	.L80
	.word	.L80
	.word	.L80
	.word	.L80
	.word	.L80
	.word	.L85
	.word	.L84
	.word	.L83
	.word	.L81
.L88:
	bl	value
	mov	r4, r0
	bl	value
	mov	r3, r0
	add	r3, r4, r3
	str	r3, [fp, #-20]
	b	.L73
.L87:
	bl	value
	mov	r3, r0
	str	r3, [fp, #-20]
	bl	value
	mov	r2, r0
	ldr	r3, [fp, #-20]
	sub	r3, r3, r2
	str	r3, [fp, #-20]
	b	.L73
.L89:
	bl	value
	mov	r4, r0
	bl	value
	mov	r3, r0
	mul	r3, r4, r3
	str	r3, [fp, #-20]
	b	.L73
.L86:
	bl	value
	mov	r3, r0
	str	r3, [fp, #-20]
	bl	value
	mov	r2, r0
	ldr	r3, [fp, #-20]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-20]
	b	.L73
.L84:
	bl	value
	mov	r4, r0
	bl	value
	mov	r3, r0
	cmp	r4, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-20]
	b	.L73
.L83:
	bl	value
	mov	r3, r0
	str	r3, [fp, #-20]
	bl	value
	mov	r2, r0
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-20]
	b	.L73
.L85:
	bl	value
	mov	r3, r0
	str	r3, [fp, #-20]
	bl	value
	mov	r2, r0
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	movgt	r3, #1
	movle	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-20]
	b	.L73
.L81:
	sub	r3, fp, #20
	mov	r1, r3
	ldr	r0, .L94+20
	bl	__isoc99_scanf
	mov	r3, r0
	cmp	r3, #1
	beq	.L93
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L93
.L80:
	ldr	r1, .L94+24
	mov	r0, #70
	bl	point
	b	.L73
.L93:
	nop
.L73:
	ldr	r3, [fp, #-20]
	ldr	r2, .L94
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L92
	bl	__stack_chk_fail
.L92:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L95:
	.align	2
.L94:
	.word	.LC19
	.word	my_ch
	.word	num
	.word	scantimevariables
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.size	value, .-value
	.section	.rodata
	.align	2
.LC20:
	.ascii	"IF\000"
	.align	2
.LC21:
	.ascii	"INCLUDE\000"
	.align	2
.LC22:
	.ascii	"too many include files\000"
	.align	2
.LC23:
	.ascii	"PUT\000"
	.align	2
.LC24:
	.ascii	"SET\000"
	.align	2
.LC25:
	.ascii	"\"A\" .. \"Z\" expected\000"
	.align	2
.LC26:
	.ascii	"\"=\" expected\000"
	.align	2
.LC27:
	.ascii	"LISTING\000"
	.align	2
.LC28:
	.ascii	"STATISTICS\000"
	.align	2
.LC29:
	.ascii	"RADIX\000"
	.align	2
.LC30:
	.ascii	"unknown directive\000"
	.align	2
.LC31:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	directive, %function
directive:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #44
	ldr	r3, .L124
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	bl	getch
	mov	r3, #0
	str	r3, [fp, #-44]
.L98:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bgt	.L97
	ldr	r3, .L124+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r1, r3, #1
	str	r1, [fp, #-44]
	and	r2, r2, #255
	sub	r1, fp, #12
	add	r3, r1, r3
	strb	r2, [r3, #-24]
.L97:
	bl	getch
	ldr	r3, .L124+4
	ldr	r3, [r3]
	cmp	r3, #95
	beq	.L98
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L124+4
	ldr	r3, [r3]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L98
	sub	r2, fp, #36
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #36
	ldr	r1, .L124+8
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L99
	bl	value
	mov	r3, r0
	cmp	r3, #0
	bgt	.L100
	ldr	r3, .L124+12
	ldr	r3, [r3]
	ldr	r2, .L124+16
	str	r3, [r2]
	b	.L100
.L99:
	sub	r3, fp, #36
	ldr	r1, .L124+20
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L101
	ldr	r3, .L124+24
	ldr	r3, [r3]
	cmp	r3, #5
	bne	.L103
	ldr	r1, .L124+28
	mov	r0, #70
	bl	point
	b	.L103
.L104:
	bl	getch
.L103:
	ldr	r3, .L124+4
	ldr	r3, [r3]
	cmp	r3, #32
	ble	.L104
	mov	r3, #0
	str	r3, [fp, #-44]
.L106:
	ldr	r3, [fp, #-44]
	cmp	r3, #15
	bgt	.L105
	ldr	r3, .L124+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r1, r3, #1
	str	r1, [fp, #-44]
	and	r1, r2, #255
	ldr	r2, .L124+32
	strb	r1, [r2, r3]
.L105:
	bl	getch
	ldr	r3, .L124+4
	ldr	r3, [r3]
	cmp	r3, #32
	bgt	.L106
	ldr	r2, .L124+32
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r0, .L124+32
	bl	newfile
	b	.L100
.L101:
	sub	r3, fp, #36
	ldr	r1, .L124+36
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L107
	ldr	r3, .L124+12
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
	b	.L108
.L110:
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
.L108:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	ble	.L109
	ldr	r2, .L124+40
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	bls	.L110
.L109:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, .L124+16
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
	b	.L111
.L112:
	ldr	r2, .L124+40
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L124+44
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	fputc
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L111:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L112
	ldr	r3, .L124+44
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	fputc
	ldr	r3, .L124+12
	ldr	r3, [r3]
	ldr	r2, .L124+16
	str	r3, [r2]
	b	.L100
.L107:
	sub	r3, fp, #36
	ldr	r1, .L124+48
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L113
	b	.L114
.L115:
	bl	getch
.L114:
	ldr	r3, .L124+4
	ldr	r3, [r3]
	cmp	r3, #32
	ble	.L115
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L124+4
	ldr	r3, [r3]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L116
	ldr	r1, .L124+52
	mov	r0, #69
	bl	point
.L116:
	ldr	r3, .L124+4
	ldr	r3, [r3]
	strb	r3, [fp, #-45]
	bl	getch
	b	.L117
.L118:
	bl	getch
.L117:
	ldr	r3, .L124+4
	ldr	r3, [r3]
	cmp	r3, #32
	ble	.L118
	ldr	r3, .L124+4
	ldr	r3, [r3]
	cmp	r3, #61
	beq	.L119
	ldr	r1, .L124+56
	mov	r0, #69
	bl	point
.L119:
	ldrb	r3, [fp, #-45]	@ zero_extendqisi2
	sub	r4, r3, #65
	bl	value
	mov	r3, r0
	ldr	r2, .L124+60
	str	r3, [r2, r4, lsl #2]
	b	.L100
.L113:
	sub	r3, fp, #36
	ldr	r1, .L124+64
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L120
	ldr	r3, .L124+68
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	bl	value
	mov	r3, r0
	ldr	r2, .L124+68
	str	r3, [r2]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L100
	bl	perhapslisting
	b	.L100
.L120:
	sub	r3, fp, #36
	ldr	r1, .L124+72
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L121
	bl	value
	mov	r3, r0
	ldr	r2, .L124+76
	str	r3, [r2]
	b	.L100
.L121:
	sub	r3, fp, #36
	ldr	r1, .L124+80
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L122
	bl	value
	mov	r3, r0
	ldr	r2, .L124+84
	str	r3, [r2]
	b	.L100
.L122:
	ldr	r1, .L124+88
	mov	r0, #70
	bl	point
.L100:
	bl	getch
	nop
	ldr	r3, .L124
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L123
	bl	__stack_chk_fail
.L123:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L125:
	.align	2
.L124:
	.word	.LC31
	.word	my_ch
	.word	.LC20
	.word	ll
	.word	cc
	.word	.LC21
	.word	includelevel
	.word	.LC22
	.word	ident
	.word	.LC23
	.word	line
	.word	stderr
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	scantimevariables
	.word	.LC27
	.word	writelisting
	.word	.LC28
	.word	statistics
	.word	.LC29
	.word	alternative_radix
	.word	.LC30
	.size	directive, .-directive
	.section	.rodata
	.align	2
.LC32:
	.ascii	"exceeding alternative radix\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	getsym, %function
getsym:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
.L127:
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r2, .L171
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	b	.L128
.L129:
	bl	getch
.L128:
	ldr	r3, .L171+4
	ldr	r3, [r3]
	cmp	r3, #32
	ble	.L129
	ldr	r3, .L171+4
	ldr	r3, [r3]
	cmp	r3, #57
	bgt	.L130
	cmp	r3, #37
	blt	.L131
	sub	r3, r3, #37
	cmp	r3, #20
	ldrls	pc, [pc, r3, asl #2]
	b	.L131
.L133:
	.word	.L137
	.word	.L136
	.word	.L135
	.word	.L134
	.word	.L131
	.word	.L131
	.word	.L131
	.word	.L131
	.word	.L132
	.word	.L131
	.word	.L131
	.word	.L132
	.word	.L132
	.word	.L132
	.word	.L132
	.word	.L132
	.word	.L132
	.word	.L132
	.word	.L132
	.word	.L132
	.word	.L132
.L130:
	sub	r3, r3, #97
	cmp	r3, #25
	bhi	.L131
	b	.L169
.L135:
	bl	getch
	ldr	r3, .L171+4
	ldr	r3, [r3]
	cmp	r3, #92
	bne	.L139
	bl	value
	mov	r3, r0
	ldr	r2, .L171+8
	str	r3, [r2]
	b	.L140
.L139:
	ldr	r3, .L171+4
	ldr	r3, [r3]
	ldr	r2, .L171+8
	str	r3, [r2]
	bl	getch
.L140:
	ldr	r3, .L171+4
	ldr	r3, [r3]
	cmp	r3, #39
	bne	.L141
	bl	getch
.L141:
	ldr	r3, .L171+12
	mov	r2, #5
	str	r2, [r3]
	b	.L142
.L134:
	bl	getch
	ldr	r3, .L171+4
	ldr	r3, [r3]
	cmp	r3, #42
	bne	.L143
	bl	getch
	b	.L144
.L145:
	bl	getch
.L144:
	ldr	r3, .L171+4
	ldr	r3, [r3]
	cmp	r3, #42
	bne	.L145
	bl	getch
	ldr	r3, .L171+4
	ldr	r3, [r3]
	cmp	r3, #41
	bne	.L144
	bl	getch
	b	.L127
.L143:
	ldr	r3, .L171+12
	mov	r2, #8
	str	r2, [r3]
	b	.L142
.L132:
	ldr	r3, .L171+4
	ldr	r3, [r3]
	cmp	r3, #45
	beq	.L147
	mov	r3, #0
	strb	r3, [fp, #-17]
	b	.L148
.L147:
	bl	getch
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L171+4
	ldr	r3, [r3]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L149
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldr	r2, .L171
	mov	r1, #45
	strb	r1, [r2, r3]
	ldr	r2, .L171
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	b	.L131
.L149:
	mov	r3, #1
	strb	r3, [fp, #-17]
.L148:
	ldr	r3, .L171+12
	mov	r2, #7
	str	r2, [r3]
	ldr	r3, .L171+8
	mov	r2, #0
	str	r2, [r3]
.L150:
	ldr	r3, .L171+8
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L171+4
	ldr	r3, [r3]
	add	r3, r2, r3
	sub	r3, r3, #48
	ldr	r2, .L171+8
	str	r3, [r2]
	bl	getch
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L171+4
	ldr	r3, [r3]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L150
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L170
	ldr	r3, .L171+8
	ldr	r3, [r3]
	rsb	r3, r3, #0
	ldr	r2, .L171+8
	str	r3, [r2]
	b	.L170
.L136:
	ldr	r3, .L171+12
	mov	r2, #7
	str	r2, [r3]
	ldr	r3, .L171+8
	mov	r2, #0
	str	r2, [r3]
	bl	getch
	b	.L152
.L155:
	ldr	r3, .L171+4
	ldr	r3, [r3]
	cmp	r3, #64
	ble	.L153
	ldr	r3, .L171+4
	ldr	r3, [r3]
	cmp	r3, #90
	bgt	.L153
	ldr	r3, .L171+4
	ldr	r3, [r3]
	sub	r3, r3, #7
	ldr	r2, .L171+4
	str	r3, [r2]
.L153:
	ldr	r3, .L171+16
	ldr	r3, [r3]
	add	r2, r3, #47
	ldr	r3, .L171+4
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L154
	ldr	r1, .L171+20
	mov	r0, #69
	bl	point
.L154:
	ldr	r3, .L171+16
	ldr	r3, [r3]
	ldr	r2, .L171+8
	ldr	r2, [r2]
	mul	r2, r3, r2
	ldr	r3, .L171+4
	ldr	r3, [r3]
	add	r3, r2, r3
	sub	r3, r3, #48
	ldr	r2, .L171+8
	str	r3, [r2]
	bl	getch
.L152:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L171+4
	ldr	r3, [r3]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	bne	.L155
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L171+4
	ldr	r3, [r3]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	bne	.L155
	b	.L142
.L169:
	ldr	r3, .L171+12
	mov	r2, #9
	str	r2, [r3]
.L157:
	ldr	r3, [fp, #-16]
	cmp	r3, #15
	bgt	.L156
	ldr	r3, .L171+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r1, r3, #1
	str	r1, [fp, #-16]
	and	r1, r2, #255
	ldr	r2, .L171
	strb	r1, [r2, r3]
.L156:
	bl	getch
	ldr	r3, .L171+4
	ldr	r3, [r3]
	cmp	r3, #95
	beq	.L157
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L171+4
	ldr	r3, [r3]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L157
	ldr	r2, .L171
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	b	.L142
.L137:
	bl	directive
	b	.L127
.L131:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L171+4
	ldr	r3, [r3]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L158
.L160:
	ldr	r3, [fp, #-16]
	cmp	r3, #15
	bgt	.L159
	ldr	r3, .L171+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r1, r3, #1
	str	r1, [fp, #-16]
	and	r1, r2, #255
	ldr	r2, .L171
	strb	r1, [r2, r3]
	ldr	r2, .L171
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
.L159:
	bl	getch
	ldr	r3, .L171+4
	ldr	r3, [r3]
	cmp	r3, #95
	beq	.L160
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, .L171+4
	ldr	r3, [r3]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L160
	b	.L161
.L158:
	ldr	r3, .L171+4
	ldr	r3, [r3]
	cmp	r3, #32
	ble	.L161
.L163:
	ldr	r3, [fp, #-16]
	cmp	r3, #15
	bgt	.L162
	ldr	r3, .L171+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r1, r3, #1
	str	r1, [fp, #-16]
	and	r1, r2, #255
	ldr	r2, .L171
	strb	r1, [r2, r3]
	ldr	r2, .L171
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
.L162:
	bl	getch
	ldr	r3, .L171+4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L171+24
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	bne	.L163
.L161:
	mov	r3, #1
	str	r3, [fp, #-16]
	ldr	r3, .L171+28
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L166:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #4
	ldr	r2, .L171+32
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, .L171
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bgt	.L164
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L164:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #4
	ldr	r2, .L171+32
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, .L171
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	blt	.L165
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L165:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	ble	.L166
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bge	.L167
	ldr	r2, .L171+32
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #12]
	ldr	r2, .L171+12
	str	r3, [r2]
	b	.L142
.L167:
	ldr	r3, .L171+12
	mov	r2, #9
	str	r2, [r3]
	b	.L142
.L170:
	nop
.L142:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L172:
	.align	2
.L171:
	.word	ident
	.word	my_ch
	.word	num
	.word	sym
	.word	alternative_radix
	.word	.LC32
	.word	specials_repeat
	.word	lastresword
	.word	reswords
	.size	getsym, .-getsym
	.section	.rodata
	.align	2
.LC33:
	.ascii	"%s%s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	putch, %function
putch:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	mov	r0, r3
	bl	putchar
	ldr	r3, .L179
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L174
	ldr	r3, .L179+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L175
	ldr	r3, .L179+8
	ldr	r0, [r3]
	ldr	r3, .L179+12
	ldr	r2, .L179+12
	ldr	r1, .L179+16
	bl	fprintf
.L175:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	ldr	r2, .L179+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	putc
.L174:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L176
	ldr	r3, .L179+4
	mov	r2, #0
	str	r2, [r3]
	b	.L178
.L176:
	ldr	r3, .L179+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L179+4
	str	r3, [r2]
.L178:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L180:
	.align	2
.L179:
	.word	writelisting
	.word	outlinelength
	.word	listing
	.word	.LC1
	.word	.LC33
	.size	putch, .-putch
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	writeline, %function
writeline:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	mov	r0, #10
	bl	putchar
	ldr	r3, .L183
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L182
	ldr	r3, .L183+4
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	putc
.L182:
	ldr	r3, .L183+8
	mov	r2, #0
	str	r2, [r3]
	nop
	pop	{fp, pc}
.L184:
	.align	2
.L183:
	.word	writelisting
	.word	listing
	.word	outlinelength
	.size	writeline, .-writeline
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	writeident, %function
writeident:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	strlen
	str	r0, [fp, #-8]
	ldr	r3, .L189
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	cmp	r3, #60
	bls	.L186
	bl	writeline
.L186:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L187
.L188:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	putch
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L187:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bhi	.L188
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L190:
	.align	2
.L189:
	.word	outlinelength
	.size	writeident, .-writeident
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	writenatural, %function
writenatural:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #9
	bls	.L192
	ldr	r3, [fp, #-8]
	ldr	r2, .L193
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	mov	r0, r3
	bl	writenatural
.L192:
	ldr	r1, [fp, #-8]
	ldr	r3, .L193
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	sub	r2, r1, r3
	and	r3, r2, #255
	add	r3, r3, #48
	and	r3, r3, #255
	mov	r0, r3
	bl	putch
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L194:
	.align	2
.L193:
	.word	-858993459
	.size	writenatural, .-writenatural
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	writeinteger, %function
writeinteger:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L200
	ldr	r3, [r3]
	cmp	r3, #48
	ble	.L196
	bl	writeline
.L196:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L197
	ldr	r3, [fp, #-8]
	mov	r0, r3
	bl	writenatural
	b	.L199
.L197:
	mov	r0, #45
	bl	putch
	ldr	r3, [fp, #-8]
	rsb	r3, r3, #0
	mov	r0, r3
	bl	writenatural
.L199:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L201:
	.align	2
.L200:
	.word	outlinelength
	.size	writeinteger, .-writeinteger
	.section	.rodata
	.align	2
.LC34:
	.ascii	"%ld error(s)\012\000"
	.align	2
.LC35:
	.ascii	"%ld microseconds CPU\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fin, %function
fin:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L204
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L203
	ldr	r3, .L204
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L204+4
	ldr	r0, [fp, #-8]
	bl	fprintf
.L203:
	bl	clock
	mov	r2, r0
	ldr	r3, .L204+8
	ldr	r3, [r3]
	sub	r3, r2, r3
	ldr	r2, .L204+12
	str	r3, [r2]
	ldr	r3, .L204+12
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L204+16
	ldr	r0, [fp, #-8]
	bl	fprintf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L205:
	.align	2
.L204:
	.word	errorcount
	.word	.LC34
	.word	start_clock
	.word	end_clock
	.word	.LC35
	.size	fin, .-fin
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	finalise, %function
finalise:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L209
	ldr	r3, [r3]
	mov	r0, r3
	bl	fin
	ldr	r3, .L209+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L208
	ldr	r3, .L209+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	fin
.L208:
	nop
	pop	{fp, pc}
.L210:
	.align	2
.L209:
	.word	stderr
	.word	writelisting
	.word	listing
	.size	finalise, .-finalise
	.section	.rodata
	.align	2
.LC36:
	.ascii	"=>\000"
	.align	2
.LC37:
	.ascii	".\000"
	.align	2
.LC38:
	.ascii	";\000"
	.align	2
.LC39:
	.ascii	"==\000"
	.align	2
.LC40:
	.ascii	"[\000"
	.align	2
.LC41:
	.ascii	"]\000"
	.align	2
.LC42:
	.ascii	"*\000"
	.align	2
.LC43:
	.ascii	"+\000"
	.align	2
.LC44:
	.ascii	"-\000"
	.align	2
.LC45:
	.ascii	"/\000"
	.align	2
.LC46:
	.ascii	"<\000"
	.align	2
.LC47:
	.ascii	"=\000"
	.align	2
.LC48:
	.ascii	"and\000"
	.align	2
.LC49:
	.ascii	"body\000"
	.align	2
.LC50:
	.ascii	"cons\000"
	.align	2
.LC51:
	.ascii	"dip\000"
	.align	2
.LC52:
	.ascii	"dup\000"
	.align	2
.LC53:
	.ascii	"false\000"
	.align	2
.LC54:
	.ascii	"get\000"
	.align	2
.LC55:
	.ascii	"getch\000"
	.align	2
.LC56:
	.ascii	"i\000"
	.align	2
.LC57:
	.ascii	"index\000"
	.align	2
.LC58:
	.ascii	"not\000"
	.align	2
.LC59:
	.ascii	"nothing\000"
	.align	2
.LC60:
	.ascii	"or\000"
	.align	2
.LC61:
	.ascii	"pop\000"
	.align	2
.LC62:
	.ascii	"put\000"
	.align	2
.LC63:
	.ascii	"putch\000"
	.align	2
.LC64:
	.ascii	"sametype\000"
	.align	2
.LC65:
	.ascii	"select\000"
	.align	2
.LC66:
	.ascii	"stack\000"
	.align	2
.LC67:
	.ascii	"step\000"
	.align	2
.LC68:
	.ascii	"swap\000"
	.align	2
.LC69:
	.ascii	"true\000"
	.align	2
.LC70:
	.ascii	"uncons\000"
	.align	2
.LC71:
	.ascii	"unstack\000"
	.align	2
.LC72:
	.ascii	"bad order in standard idents\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	initialise, %function
initialise:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	bl	iniscanner
	ldr	r3, .L215
	ldr	r2, .L215+4
	ldr	r2, [r2]
	strh	r2, [r3]	@ movhi
	add	r3, r3, #2
	lsr	r2, r2, #16
	strb	r2, [r3]
	mov	r1, #3
	ldr	r0, .L215+8
	bl	erw
	mov	r1, #2
	ldr	r0, .L215+12
	bl	erw
	mov	r1, #4
	ldr	r0, .L215+16
	bl	erw
	mov	r1, #0
	ldr	r0, .L215+20
	bl	erw
	mov	r1, #1
	ldr	r0, .L215+24
	bl	erw
	mov	r1, #1
	ldr	r0, .L215+28
	bl	est
	mov	r1, #2
	ldr	r0, .L215+32
	bl	est
	mov	r1, #3
	ldr	r0, .L215+36
	bl	est
	mov	r1, #4
	ldr	r0, .L215+40
	bl	est
	mov	r1, #5
	ldr	r0, .L215+44
	bl	est
	mov	r1, #6
	ldr	r0, .L215+48
	bl	est
	mov	r1, #7
	ldr	r0, .L215+52
	bl	est
	mov	r1, #8
	ldr	r0, .L215+56
	bl	est
	mov	r1, #9
	ldr	r0, .L215+60
	bl	est
	mov	r1, #10
	ldr	r0, .L215+64
	bl	est
	mov	r1, #11
	ldr	r0, .L215+68
	bl	est
	mov	r1, #12
	ldr	r0, .L215+72
	bl	est
	mov	r1, #13
	ldr	r0, .L215+76
	bl	est
	mov	r1, #14
	ldr	r0, .L215+80
	bl	est
	mov	r1, #15
	ldr	r0, .L215+84
	bl	est
	mov	r1, #16
	ldr	r0, .L215+88
	bl	est
	mov	r1, #17
	ldr	r0, .L215+92
	bl	est
	mov	r1, #18
	ldr	r0, .L215+96
	bl	est
	mov	r1, #19
	ldr	r0, .L215+100
	bl	est
	mov	r1, #20
	ldr	r0, .L215+104
	bl	est
	mov	r1, #21
	ldr	r0, .L215+108
	bl	est
	mov	r1, #22
	ldr	r0, .L215+112
	bl	est
	mov	r1, #23
	ldr	r0, .L215+116
	bl	est
	mov	r1, #24
	ldr	r0, .L215+120
	bl	est
	mov	r1, #25
	ldr	r0, .L215+124
	bl	est
	mov	r1, #26
	ldr	r0, .L215+128
	bl	est
	mov	r1, #27
	ldr	r0, .L215+132
	bl	est
	mov	r1, #28
	ldr	r0, .L215+136
	bl	est
	mov	r1, #29
	ldr	r0, .L215+140
	bl	est
	mov	r1, #30
	ldr	r0, .L215+144
	bl	est
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L212
.L214:
	ldr	r1, .L215+148
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #20
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L213
	ldr	r1, .L215+152
	mov	r0, #70
	bl	point
.L213:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L212:
	ldr	r3, [fp, #-8]
	cmp	r3, #30
	bls	.L214
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L216:
	.align	2
.L215:
	.word	specials_repeat
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.word	.LC40
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.word	.LC54
	.word	.LC55
	.word	.LC56
	.word	.LC57
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.word	.LC64
	.word	.LC65
	.word	.LC66
	.word	.LC67
	.word	.LC68
	.word	.LC69
	.word	.LC70
	.word	.LC71
	.word	stdidents
	.word	.LC72
	.size	initialise, .-initialise
	.local	table
	.comm	table,6020,4
	.local	lastlibloc
	.comm	lastlibloc,4,4
	.local	sentinel
	.comm	sentinel,4,4
	.local	lasttable
	.comm	lasttable,4,4
	.local	locatn
	.comm	locatn,4,4
	.local	m
	.comm	m,16000,4
	.local	firstusernode
	.comm	firstusernode,2,2
	.local	freelist
	.comm	freelist,2,2
	.local	programme
	.comm	programme,2,2
	.local	s
	.comm	s,2,2
	.local	dump
	.comm	dump,2,2
	.local	stat_kons
	.comm	stat_kons,4,4
	.local	stat_gc
	.comm	stat_gc,4,4
	.local	stat_ops
	.comm	stat_ops,4,4
	.local	stat_calls
	.comm	stat_calls,4,4
	.local	stat_lib
	.comm	stat_lib,4,4
	.section	.rodata
	.align	2
.LC73:
	.ascii	"LIB\000"
	.align	2
.LC74:
	.ascii	"BOOLEAN\000"
	.align	2
.LC75:
	.ascii	"CHAR\000"
	.align	2
.LC76:
	.ascii	"INTEGER\000"
	.align	2
.LC77:
	.ascii	"LIST\000"
	.align	2
.LC78:
	.ascii	"UNKNOWN\000"
	.data
	.align	2
	.type	standardident_NAMES, %object
	.size	standardident_NAMES, 144
standardident_NAMES:
	.word	.LC73
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.word	.LC54
	.word	.LC55
	.word	.LC56
	.word	.LC57
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.word	.LC64
	.word	.LC65
	.word	.LC66
	.word	.LC67
	.word	.LC68
	.word	.LC69
	.word	.LC70
	.word	.LC71
	.word	.LC74
	.word	.LC75
	.word	.LC76
	.word	.LC77
	.word	.LC78
	.section	.rodata
	.align	2
.LC79:
	.ascii	"too many library symbols\000"
	.align	2
.LC80:
	.ascii	"lookup : %-*.*s at %ld\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	lookup, %function
lookup:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L234
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L218
	ldr	r3, .L234+4
	mov	r2, #35
	str	r2, [r3]
	b	.L217
.L218:
	ldr	r3, .L234+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L234
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L220
	ldr	r3, .L234
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L234+12
	add	r3, r3, r2
	ldr	r1, .L234+16
	mov	r0, r3
	bl	strcpy
	ldr	r3, .L234+20
	ldr	r3, [r3]
	ldr	r2, .L234+8
	str	r3, [r2]
	b	.L221
.L222:
	ldr	r3, .L234+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L234+8
	str	r3, [r2]
.L221:
	ldr	r3, .L234+8
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L234+12
	add	r3, r3, r2
	ldr	r1, .L234+16
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L222
.L220:
	ldr	r3, .L234+8
	ldr	r2, [r3]
	ldr	r3, .L234
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L223
	ldr	r3, .L234+4
	mov	r2, #0
	str	r2, [r3]
	b	.L224
.L223:
	mov	r3, #1
	str	r3, [fp, #-12]
	ldr	r3, .L234+24
	ldr	r3, [r3]
	str	r3, [fp, #-8]
.L227:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L234+8
	str	r2, [r3]
	ldr	r3, .L234+8
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L234+12
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, .L234+16
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bgt	.L225
	ldr	r3, .L234+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
.L225:
	ldr	r3, .L234+8
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L234+12
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, .L234+16
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	blt	.L226
	ldr	r3, .L234+8
	ldr	r3, [r3]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L226:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	ble	.L227
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bge	.L228
	ldr	r3, .L234+4
	mov	r2, #0
	str	r2, [r3]
	b	.L224
.L228:
	mov	r3, #1
	str	r3, [fp, #-12]
	ldr	r3, .L234+28
	ldr	r3, [r3]
	str	r3, [fp, #-8]
.L231:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L234+8
	str	r2, [r3]
	ldr	r3, .L234+8
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	ldr	r2, .L234+32
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, .L234+16
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bgt	.L229
	ldr	r3, .L234+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
.L229:
	ldr	r3, .L234+8
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	ldr	r2, .L234+32
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, .L234+16
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	blt	.L230
	ldr	r3, .L234+8
	ldr	r3, [r3]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L230:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	ble	.L231
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bge	.L232
	ldr	r3, .L234+8
	ldr	r2, [r3]
	ldr	r1, .L234+32
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #20
	ldr	r3, [r3]
	ldr	r2, .L234+4
	str	r3, [r2]
	b	.L224
.L232:
	ldr	r3, .L234+20
	ldr	r3, [r3]
	cmp	r3, #300
	bne	.L233
	ldr	r1, .L234+36
	mov	r0, #70
	bl	point
.L233:
	ldr	r3, .L234+20
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L234+20
	str	r3, [r2]
	ldr	r3, .L234+20
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L234+12
	add	r3, r3, r2
	ldr	r1, .L234+16
	mov	r0, r3
	bl	strcpy
	ldr	r3, .L234+20
	ldr	r3, [r3]
	ldr	r2, .L234+8
	str	r3, [r2]
	ldr	r3, .L234+8
	ldr	r2, [r3]
	ldr	r1, .L234+12
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #18
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, .L234+4
	mov	r2, #0
	str	r2, [r3]
.L224:
	ldr	r3, .L234+40
	ldr	r3, [r3]
	cmp	r3, #4
	ble	.L217
	ldr	r3, .L234+44
	ldr	r0, [r3]
	ldr	r3, .L234+4
	ldr	r3, [r3]
	ldr	r2, .L234+48
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, .L234+8
	ldr	r2, [r2]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, #16
	mov	r2, #16
	ldr	r1, .L234+52
	bl	fprintf
.L217:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L235:
	.align	2
.L234:
	.word	sentinel
	.word	id
	.word	locatn
	.word	table
	.word	ident
	.word	lasttable
	.word	lastlibloc
	.word	laststdident
	.word	stdidents
	.word	.LC79
	.word	writelisting
	.word	listing
	.word	standardident_NAMES
	.word	.LC80
	.size	lookup, .-lookup
	.section	.rodata
	.align	2
.LC81:
	.ascii	"%5ld %-*.*s %10ld %10ld %c\000"
	.align	2
.LC82:
	.ascii	"   %-*.*s %4ld\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	wn, %function
wn:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-8]
	mov	r3, r1
	strh	r3, [fp, #-10]	@ movhi
	ldrsh	r3, [fp, #-10]
	ldr	r2, .L244
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	cmp	r3, #35
	bne	.L237
	ldrsh	r2, [fp, #-10]
	ldrsh	r3, [fp, #-10]
	ldr	r1, .L244
	ldr	r3, [r1, r3, lsl #3]
	mov	r0, r3
	ldrsh	r3, [fp, #-10]
	ldr	r1, .L244
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	ldrsh	r3, [r3]
	mov	ip, r3
	ldrsh	r3, [fp, #-10]
	ldr	r1, .L244
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldrb	r3, [r3, #7]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L238
	mov	r3, #84
	b	.L239
.L238:
	mov	r3, #70
.L239:
	str	r3, [sp, #16]
	str	ip, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	str	r0, [sp, #4]
	mov	r3, #16
	str	r3, [sp]
	mov	r3, #16
	ldr	r1, .L244+4
	ldr	r0, [fp, #-8]
	bl	fprintf
	b	.L240
.L237:
	ldrsh	r0, [fp, #-10]
	ldrsh	r3, [fp, #-10]
	ldr	r2, .L244
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L244+8
	ldr	r2, [r3, r2, lsl #2]
	ldrsh	r3, [fp, #-10]
	ldr	r1, .L244
	ldr	r1, [r1, r3, lsl #3]
	ldrsh	r3, [fp, #-10]
	ldr	ip, .L244
	lsl	r3, r3, #3
	add	r3, ip, r3
	add	r3, r3, #4
	ldrsh	r3, [r3]
	mov	lr, r3
	ldrsh	r3, [fp, #-10]
	ldr	ip, .L244
	lsl	r3, r3, #3
	add	r3, ip, r3
	ldrb	r3, [r3, #7]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L241
	mov	r3, #84
	b	.L242
.L241:
	mov	r3, #70
.L242:
	str	r3, [sp, #16]
	str	lr, [sp, #12]
	str	r1, [sp, #8]
	str	r2, [sp, #4]
	mov	r3, #16
	str	r3, [sp]
	mov	r3, #16
	mov	r2, r0
	ldr	r1, .L244+4
	ldr	r0, [fp, #-8]
	bl	fprintf
.L240:
	ldrsh	r3, [fp, #-10]
	ldr	r2, .L244
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L243
	ldrsh	r3, [fp, #-10]
	ldr	r2, .L244
	ldr	r2, [r2, r3, lsl #3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L244+12
	add	r1, r3, r2
	ldrsh	r3, [fp, #-10]
	ldr	r2, .L244
	ldr	r2, [r2, r3, lsl #3]
	ldr	r0, .L244+12
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r3, r3, #18
	ldrsh	r3, [r3]
	str	r3, [sp, #4]
	str	r1, [sp]
	mov	r3, #16
	mov	r2, #16
	ldr	r1, .L244+16
	ldr	r0, [fp, #-8]
	bl	fprintf
.L243:
	ldr	r1, [fp, #-8]
	mov	r0, #10
	bl	putc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L245:
	.align	2
.L244:
	.word	m
	.word	.LC81
	.word	standardident_NAMES
	.word	table
	.word	.LC82
	.size	wn, .-wn
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	writenode, %function
writenode:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	strh	r3, [fp, #-6]	@ movhi
	ldr	r3, .L249
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-6]
	mov	r1, r2
	mov	r0, r3
	bl	wn
	ldr	r3, .L249+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L248
	ldr	r3, .L249+8
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #9
	bl	putc
	ldr	r3, .L249+8
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-6]
	mov	r1, r2
	mov	r0, r3
	bl	wn
.L248:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L250:
	.align	2
.L249:
	.word	stdout
	.word	writelisting
	.word	listing
	.size	writenode, .-writenode
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mark, %function
mark:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	strh	r3, [fp, #-6]	@ movhi
	b	.L252
.L255:
	ldr	r3, .L256
	ldr	r3, [r3]
	cmp	r3, #4
	ble	.L253
	ldrsh	r3, [fp, #-6]
	mov	r0, r3
	bl	writenode
.L253:
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L256+4
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	cmp	r3, #34
	bne	.L254
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L256+4
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r3, [r3, #7]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L254
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L256+4
	ldr	r3, [r2, r3, lsl #3]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r0, r3
	bl	mark
.L254:
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L256+4
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3, #7]
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L256+4
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-6]	@ movhi
.L252:
	ldrsh	r3, [fp, #-6]
	cmp	r3, #0
	bgt	.L255
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L257:
	.align	2
.L256:
	.word	writelisting
	.word	m
	.size	mark, .-mark
	.section	.rodata
	.align	2
.LC83:
	.ascii	"GC start\000"
	.align	2
.LC84:
	.ascii	"finished marking\000"
	.align	2
.LC85:
	.ascii	"internal error - selfreference\000"
	.align	2
.LC86:
	.ascii	"nodes collected\000"
	.align	2
.LC87:
	.ascii	"dynamic memory exhausted\000"
	.align	2
.LC88:
	.ascii	"internal error - circular\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	kons, %function
kons:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, r2
	strh	r3, [fp, #-22]	@ movhi
	ldr	r3, .L276
	ldrsh	r3, [r3]
	cmp	r3, #0
	bne	.L259
	ldr	r3, .L276+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L275
	ldr	r3, .L276+8
	ldr	r3, [r3]
	cmp	r3, #2
	ble	.L262
	ldr	r0, .L276+12
	bl	writeident
	bl	writeline
.L262:
	ldr	r3, .L276+16
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	mark
	ldr	r3, .L276+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	mark
	ldr	r3, .L276+24
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	mark
	ldrsh	r3, [fp, #-22]
	mov	r0, r3
	bl	mark
	ldr	r3, [fp, #-16]
	cmp	r3, #34
	bne	.L263
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r0, r3
	bl	mark
.L263:
	ldr	r3, .L276+8
	ldr	r3, [r3]
	cmp	r3, #3
	ble	.L264
	ldr	r0, .L276+28
	bl	writeident
	bl	writeline
.L264:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, .L276+32
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-10]	@ movhi
	b	.L265
.L268:
	ldrsh	r3, [fp, #-10]
	ldr	r2, .L276+36
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r3, [r3, #7]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L266
	ldrsh	r3, [fp, #-10]
	ldr	r2, .L276
	ldrsh	r2, [r2]
	ldr	r1, .L276+36
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	strh	r2, [r3]	@ movhi
	ldr	r2, .L276
	ldrh	r3, [fp, #-10]	@ movhi
	strh	r3, [r2]	@ movhi
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L266:
	ldrsh	r3, [fp, #-10]
	ldr	r2, .L276+36
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #7]
	ldrsh	r3, [fp, #-10]
	ldr	r2, .L276+36
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #4
	ldrsh	r3, [r3]
	ldrsh	r2, [fp, #-10]
	cmp	r2, r3
	bne	.L267
	ldr	r1, .L276+40
	mov	r0, #70
	bl	point
.L267:
	ldrsh	r3, [fp, #-10]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-10]	@ movhi
.L265:
	ldrsh	r3, [fp, #-10]
	cmp	r3, #2000
	blt	.L268
	ldr	r3, .L276+8
	ldr	r3, [r3]
	cmp	r3, #2
	ble	.L269
	ldr	r0, [fp, #-8]
	bl	writeinteger
	mov	r0, #32
	bl	putch
	ldr	r0, .L276+44
	bl	writeident
	bl	writeline
.L269:
	ldr	r3, .L276
	ldrsh	r3, [r3]
	cmp	r3, #0
	bne	.L270
	b	.L261
.L275:
	nop
.L261:
	ldr	r1, .L276+48
	mov	r0, #70
	bl	point
.L270:
	ldr	r3, .L276+52
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L276+52
	str	r3, [r2]
.L259:
	ldr	r3, .L276
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-10]	@ movhi
	ldr	r3, [fp, #-16]
	cmp	r3, #34
	bne	.L271
	ldrsh	r3, [fp, #-10]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L271
	ldr	r1, .L276+40
	mov	r0, #70
	bl	point
.L271:
	ldrsh	r2, [fp, #-10]
	ldrsh	r3, [fp, #-22]
	cmp	r2, r3
	bne	.L272
	ldr	r1, .L276+56
	mov	r0, #70
	bl	point
.L272:
	ldrsh	r3, [fp, #-10]
	ldr	r2, .L276+36
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #4
	ldrsh	r3, [r3]
	ldr	r2, .L276
	strh	r3, [r2]	@ movhi
	ldrsh	r3, [fp, #-10]
	ldr	r2, [fp, #-16]
	and	r1, r2, #255
	ldr	r2, .L276+36
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #6]
	ldrsh	r3, [fp, #-10]
	ldr	r1, .L276+36
	ldr	r2, [fp, #-20]
	str	r2, [r1, r3, lsl #3]
	ldrsh	r3, [fp, #-10]
	ldr	r2, .L276+36
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r2, [fp, #-22]	@ movhi
	strh	r2, [r3]	@ movhi
	ldr	r3, .L276+8
	ldr	r3, [r3]
	cmp	r3, #4
	ble	.L273
	ldrsh	r3, [fp, #-10]
	mov	r0, r3
	bl	writenode
.L273:
	ldr	r3, .L276+60
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L276+60
	str	r3, [r2]
	ldrsh	r3, [fp, #-10]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L277:
	.align	2
.L276:
	.word	freelist
	.word	sentinel
	.word	writelisting
	.word	.LC83
	.word	programme
	.word	s
	.word	dump
	.word	.LC84
	.word	firstusernode
	.word	m
	.word	.LC85
	.word	.LC86
	.word	.LC87
	.word	stat_gc
	.word	.LC88
	.word	stat_kons
	.size	kons, .-kons
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	my_strdup, %function
my_strdup:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	strlen
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L279
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	strcpy
.L279:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	my_strdup, .-my_strdup
	.section	.rodata
	.align	2
.LC89:
	.ascii	"internal in readfactor\000"
	.align	2
.LC90:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	readfactor, %function
readfactor:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	ldr	r3, .L295
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, .L295+4
	ldr	r3, [r3]
	cmp	r3, #9
	ldrls	pc, [pc, r3, asl #2]
	b	.L282
.L284:
	.word	.L287
	.word	.L282
	.word	.L282
	.word	.L282
	.word	.L282
	.word	.L286
	.word	.L282
	.word	.L285
	.word	.L282
	.word	.L283
.L287:
	bl	getsym
	mov	r2, #0
	mov	r1, #0
	mov	r0, #34
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-24]
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-24]
	ldrsh	r3, [r3]
	ldr	r2, .L295+8
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3, #7]
	ldr	r3, .L295+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L288
	ldr	r3, .L295+4
	ldr	r3, [r3]
	cmp	r3, #9
	beq	.L288
	ldr	r3, .L295+4
	ldr	r3, [r3]
	cmp	r3, #5
	beq	.L288
	ldr	r3, .L295+4
	ldr	r3, [r3]
	cmp	r3, #7
	bne	.L294
.L288:
	sub	r3, fp, #18
	mov	r0, r3
	bl	readterm
	ldrsh	r1, [fp, #-18]
	ldr	r3, [fp, #-24]
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, .L295+8
	str	r1, [r3, r2, lsl #3]
	b	.L294
.L283:
	bl	lookup
	ldr	r3, .L295+12
	ldr	r3, [r3]
	cmp	r3, #35
	bne	.L291
	ldr	r3, .L295+12
	ldr	r4, [r3]
	ldr	r0, .L295+16
	bl	my_strdup
	mov	r3, r0
	mov	r2, #0
	mov	r1, r3
	mov	r0, r4
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-24]
	strh	r2, [r3]	@ movhi
	b	.L290
.L291:
	ldr	r3, .L295+12
	ldr	r3, [r3]
	ldr	r2, .L295+20
	ldr	r1, [r2]
	mov	r2, #0
	mov	r0, r3
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-24]
	strh	r2, [r3]	@ movhi
	b	.L290
.L286:
	ldr	r3, .L295+24
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	mov	r0, #32
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-24]
	strh	r2, [r3]	@ movhi
	b	.L290
.L285:
	ldr	r3, .L295+24
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	mov	r0, #33
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-24]
	strh	r2, [r3]	@ movhi
	b	.L290
.L282:
	ldr	r1, .L295+28
	mov	r0, #70
	bl	point
	b	.L290
.L294:
	nop
.L290:
	ldr	r3, [fp, #-24]
	ldrsh	r3, [r3]
	ldr	r2, .L295+8
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3, #7]
	nop
	ldr	r3, .L295
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L293
	bl	__stack_chk_fail
.L293:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L296:
	.align	2
.L295:
	.word	.LC90
	.word	sym
	.word	m
	.word	id
	.word	ident
	.word	locatn
	.word	num
	.word	.LC89
	.size	readfactor, .-readfactor
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	readterm, %function
readterm:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	readfactor
	ldr	r3, [fp, #-16]
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-6]	@ movhi
	bl	getsym
	b	.L298
.L299:
	ldrsh	r3, [fp, #-6]
	lsl	r3, r3, #3
	ldr	r2, .L300
	add	r3, r3, r2
	add	r3, r3, #4
	mov	r0, r3
	bl	readfactor
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L300
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-6]	@ movhi
	bl	getsym
.L298:
	ldr	r3, .L300+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L299
	ldr	r3, .L300+4
	ldr	r3, [r3]
	cmp	r3, #9
	beq	.L299
	ldr	r3, .L300+4
	ldr	r3, [r3]
	cmp	r3, #5
	beq	.L299
	ldr	r3, .L300+4
	ldr	r3, [r3]
	cmp	r3, #7
	beq	.L299
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L301:
	.align	2
.L300:
	.word	m
	.word	sym
	.size	readterm, .-readterm
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	writeterm, %function
writeterm:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	mov	r2, r1
	strh	r3, [fp, #-6]	@ movhi
	mov	r3, r2
	strb	r3, [fp, #-7]
	b	.L303
.L305:
	ldrsh	r3, [fp, #-6]
	mov	r1, #0
	mov	r0, r3
	bl	writefactor
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L308
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #4
	ldrsh	r3, [r3]
	cmp	r3, #0
	ble	.L304
	mov	r0, #32
	bl	putch
.L304:
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L308
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-6]	@ movhi
.L303:
	ldrsh	r3, [fp, #-6]
	cmp	r3, #0
	bgt	.L305
	ldrb	r3, [fp, #-7]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L307
	bl	writeline
.L307:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L309:
	.align	2
.L308:
	.word	m
	.size	writeterm, .-writeterm
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	writefactor, %function
writefactor:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	mov	r2, r1
	strh	r3, [fp, #-6]	@ movhi
	mov	r3, r2
	strb	r3, [fp, #-7]
	ldrsh	r3, [fp, #-6]
	cmp	r3, #0
	ble	.L325
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L327
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	cmp	r3, #35
	ldrls	pc, [pc, r3, asl #2]
	b	.L312
.L314:
	.word	.L319
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L312
	.word	.L318
	.word	.L317
	.word	.L316
	.word	.L315
	.word	.L313
.L315:
	mov	r0, #91
	bl	putch
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L327
	ldr	r3, [r2, r3, lsl #3]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r1, #0
	mov	r0, r3
	bl	writeterm
	mov	r0, #93
	bl	putch
	b	.L311
.L318:
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L327
	ldr	r3, [r2, r3, lsl #3]
	cmp	r3, #1
	bne	.L320
	ldr	r0, .L327+4
	bl	writeident
	b	.L311
.L320:
	ldr	r0, .L327+8
	bl	writeident
	b	.L311
.L317:
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L327
	ldr	r3, [r2, r3, lsl #3]
	cmp	r3, #10
	bne	.L322
	bl	writeline
	b	.L311
.L322:
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L327
	ldr	r3, [r2, r3, lsl #3]
	and	r3, r3, #255
	mov	r0, r3
	bl	putch
	b	.L311
.L316:
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L327
	ldr	r3, [r2, r3, lsl #3]
	mov	r0, r3
	bl	writeinteger
	b	.L311
.L319:
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L327
	ldr	r2, [r2, r3, lsl #3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L327+12
	add	r3, r3, r2
	mov	r0, r3
	bl	writeident
	b	.L311
.L313:
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L327
	ldr	r3, [r2, r3, lsl #3]
	mov	r0, r3
	bl	writeident
	b	.L311
.L312:
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L327
	ldr	r2, [r2, r3, lsl #3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	ldr	r2, .L327+16
	add	r3, r3, r2
	mov	r0, r3
	bl	writeident
	b	.L311
.L325:
	nop
.L311:
	ldrb	r3, [fp, #-7]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L326
	bl	writeline
.L326:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L328:
	.align	2
.L327:
	.word	m
	.word	.LC69
	.word	.LC53
	.word	table
	.word	stdidents
	.size	writefactor, .-writefactor
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	patchterm, %function
patchterm:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	strh	r3, [fp, #-6]	@ movhi
	b	.L330
.L331:
	ldrsh	r3, [fp, #-6]
	mov	r0, r3
	bl	patchfactor
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L332
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-6]	@ movhi
.L330:
	ldrsh	r3, [fp, #-6]
	cmp	r3, #0
	bgt	.L331
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L333:
	.align	2
.L332:
	.word	m
	.size	patchterm, .-patchterm
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	patchfactor, %function
patchfactor:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	strh	r3, [fp, #-6]	@ movhi
	ldrsh	r3, [fp, #-6]
	cmp	r3, #0
	ble	.L338
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L340
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	cmp	r3, #34
	beq	.L336
	cmp	r3, #35
	beq	.L337
	b	.L339
.L336:
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L340
	ldr	r3, [r2, r3, lsl #3]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r0, r3
	bl	patchterm
	b	.L335
.L337:
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L340
	ldr	r3, [r2, r3, lsl #3]
	mov	r2, #16
	mov	r1, r3
	ldr	r0, .L340+4
	bl	strncpy
	ldr	r3, .L340+4
	mov	r2, #0
	strb	r2, [r3, #16]
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L340
	ldr	r3, [r2, r3, lsl #3]
	mov	r0, r3
	bl	free
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L340
	mov	r1, #0
	str	r1, [r2, r3, lsl #3]
	bl	lookup
	ldr	r3, .L340+8
	ldr	r2, [r3]
	ldrsh	r3, [fp, #-6]
	and	r1, r2, #255
	ldr	r2, .L340
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3, #6]
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L340+12
	ldr	r2, [r2]
	ldr	r1, .L340
	str	r2, [r1, r3, lsl #3]
	b	.L335
.L338:
	nop
.L335:
.L339:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L341:
	.align	2
.L340:
	.word	m
	.word	ident
	.word	id
	.word	locatn
	.size	patchfactor, .-patchfactor
	.section	.rodata
	.align	2
.LC91:
	.ascii	"seen : %-*.*s\012\000"
	.align	2
.LC92:
	.ascii	"bad order in library\000"
	.align	2
.LC93:
	.ascii	"pass 2: \"==\" expected\000"
	.align	2
.LC94:
	.ascii	"firstusernode = %ld,  total memory = %ld\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	readlibrary, %function
readlibrary:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	newfile
	ldr	r3, .L353
	mov	r2, #0
	str	r2, [r3]
	bl	getsym
	b	.L343
.L349:
	ldr	r3, .L353+4
	ldr	r3, [r3]
	cmp	r3, #8
	ble	.L344
	ldr	r3, .L353+8
	ldr	r0, [r3]
	ldr	r3, .L353+12
	str	r3, [sp]
	mov	r3, #16
	mov	r2, #16
	ldr	r1, .L353+16
	bl	fprintf
.L344:
	ldr	r3, .L353
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L345
	ldr	r3, .L353
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L353+20
	add	r3, r3, r2
	mov	r1, r3
	ldr	r0, .L353+12
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bgt	.L345
	ldr	r1, .L353+24
	mov	r0, #70
	bl	point
.L345:
	ldr	r3, .L353
	ldr	r3, [r3]
	cmp	r3, #300
	bne	.L346
	ldr	r1, .L353+28
	mov	r0, #70
	bl	point
.L346:
	ldr	r3, .L353
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L353
	str	r3, [r2]
	ldr	r3, .L353
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L353+20
	add	r3, r3, r2
	ldr	r1, .L353+12
	mov	r0, r3
	bl	strcpy
	ldr	r3, .L353
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	bl	getsym
	ldr	r3, .L353+32
	ldr	r3, [r3]
	cmp	r3, #4
	beq	.L347
	ldr	r1, .L353+36
	mov	r0, #70
	bl	point
.L347:
	bl	getsym
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, #16
	ldr	r2, .L353+20
	add	r3, r3, r2
	add	r3, r3, #2
	mov	r0, r3
	bl	readterm
	ldr	r3, .L353+4
	ldr	r3, [r3]
	cmp	r3, #8
	ble	.L348
	ldr	r1, .L353+20
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #18
	ldrsh	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	writeterm
.L348:
	ldr	r3, .L353+32
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L343
	bl	getsym
.L343:
	ldr	r3, .L353+32
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L349
	ldr	r3, .L353+40
	ldrsh	r3, [r3]
	ldr	r2, .L353+44
	strh	r3, [r2]	@ movhi
	ldr	r3, .L353+4
	ldr	r3, [r3]
	cmp	r3, #5
	ble	.L350
	ldr	r3, .L353+8
	ldr	r0, [r3]
	ldr	r3, .L353+44
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, .L353+48
	ldr	r1, .L353+52
	bl	fprintf
.L350:
	ldr	r3, .L353+56
	ldr	r3, [r3]
	ldr	r2, .L353+60
	str	r3, [r2]
	ldr	r3, .L353
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L353+64
	str	r3, [r2]
	ldr	r3, .L353+64
	ldr	r3, [r3]
	ldr	r2, .L353+68
	str	r3, [r2]
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L351
.L352:
	ldr	r1, .L353+20
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #18
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	patchterm
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L351:
	ldr	r3, .L353+68
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L352
	ldr	r3, .L353+72
	mvn	r2, #0
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L354:
	.align	2
.L353:
	.word	lastlibloc
	.word	writelisting
	.word	listing
	.word	ident
	.word	.LC91
	.word	table
	.word	.LC92
	.word	.LC79
	.word	sym
	.word	.LC93
	.word	freelist
	.word	firstusernode
	.word	1999
	.word	.LC94
	.word	ll
	.word	cc
	.word	sentinel
	.word	lasttable
	.word	adjustment
	.size	readlibrary, .-readlibrary
	.local	JL10
	.comm	JL10,392,8
	.section	.rodata
	.align	2
.LC95:
	.ascii	"null address being referenced\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ok, %function
ok:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	strh	r3, [fp, #-6]	@ movhi
	ldrsh	r3, [fp, #-6]
	cmp	r3, #0
	bgt	.L356
	ldr	r1, .L358
	mov	r0, #70
	bl	point
.L356:
	ldrsh	r3, [fp, #-6]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L359:
	.align	2
.L358:
	.word	.LC95
	.size	ok, .-ok
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	o, %function
o:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	strh	r3, [fp, #-6]	@ movhi
	ldrsh	r3, [fp, #-6]
	mov	r0, r3
	bl	ok
	mov	r3, r0
	ldr	r2, .L362
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L363:
	.align	2
.L362:
	.word	m
	.size	o, .-o
	.section	.rodata
	.align	2
.LC96:
	.ascii	"integer value required\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	i, %function
i:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	strh	r3, [fp, #-6]	@ movhi
	ldrsh	r3, [fp, #-6]
	mov	r0, r3
	bl	o
	mov	r3, r0
	cmp	r3, #33
	bne	.L365
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L368
	ldr	r3, [r2, r3, lsl #3]
	b	.L367
.L365:
	ldr	r1, .L368+4
	mov	r0, #82
	bl	point
	mov	r1, #1
	ldr	r0, .L368+8
	bl	longjmp
.L367:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L369:
	.align	2
.L368:
	.word	m
	.word	.LC96
	.word	JL10
	.size	i, .-i
	.section	.rodata
	.align	2
.LC97:
	.ascii	"list value required\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	l, %function
l:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	strh	r3, [fp, #-6]	@ movhi
	ldrsh	r3, [fp, #-6]
	mov	r0, r3
	bl	o
	mov	r3, r0
	cmp	r3, #34
	bne	.L371
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L374
	ldr	r3, [r2, r3, lsl #3]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	b	.L373
.L371:
	ldr	r1, .L374+4
	mov	r0, #82
	bl	point
	mov	r1, #1
	ldr	r0, .L374+8
	bl	longjmp
.L373:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L375:
	.align	2
.L374:
	.word	m
	.word	.LC97
	.word	JL10
	.size	l, .-l
	.section	.rodata
	.align	2
.LC98:
	.ascii	"negative next value\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	n, %function
n:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	strh	r3, [fp, #-6]	@ movhi
	ldrsh	r3, [fp, #-6]
	mov	r0, r3
	bl	ok
	mov	r3, r0
	ldr	r2, .L380
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #4
	ldrsh	r3, [r3]
	cmp	r3, #0
	blt	.L377
	ldrsh	r3, [fp, #-6]
	ldr	r2, .L380
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #4
	ldrsh	r3, [r3]
	b	.L379
.L377:
	ldr	r1, .L380+4
	mov	r0, #82
	bl	point
	mov	r1, #1
	ldr	r0, .L380+8
	bl	longjmp
.L379:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L381:
	.align	2
.L380:
	.word	m
	.word	.LC98
	.word	JL10
	.size	n, .-n
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	v, %function
v:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	strh	r3, [fp, #-6]	@ movhi
	ldrsh	r3, [fp, #-6]
	mov	r0, r3
	bl	ok
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L384
	ldr	r3, [r3, r2, lsl #3]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L385:
	.align	2
.L384:
	.word	m
	.size	v, .-v
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	b, %function
b:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, r0
	strh	r3, [fp, #-6]	@ movhi
	ldrsh	r3, [fp, #-6]
	mov	r0, r3
	bl	v
	mov	r3, r0
	cmp	r3, #0
	movgt	r3, #1
	movle	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	b, .-b
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	binary, %function
binary:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L389
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L389
	strh	r2, [r3]	@ movhi
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L390:
	.align	2
.L389:
	.word	s
	.size	binary, .-binary
	.section	.rodata
	.align	2
.LC99:
	.ascii	"joy:\000"
	.align	2
.LC100:
	.ascii	"stack:\000"
	.align	2
.LC101:
	.ascii	"dump:\000"
	.align	2
.LC102:
	.ascii	"internal error in interpreter\000"
	.align	2
.LC103:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	joy, %function
joy:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #16
	mov	r3, r0
	strh	r3, [fp, #-30]	@ movhi
	ldr	r3, .L442+48
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	b	.L392
.L440:
	ldr	r3, .L442
	ldr	r3, [r3]
	cmp	r3, #3
	ble	.L393
	ldr	r0, .L442+4
	bl	writeident
	mov	r0, #32
	bl	putch
	ldrsh	r3, [fp, #-30]
	mov	r1, #1
	mov	r0, r3
	bl	writefactor
.L393:
	ldr	r3, .L442
	ldr	r3, [r3]
	cmp	r3, #4
	ble	.L394
	ldr	r0, .L442+8
	bl	writeident
	mov	r0, #32
	bl	putch
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	writeterm
	ldr	r0, .L442+12
	bl	writeident
	mov	r0, #32
	bl	putch
	ldr	r3, .L442+24
	ldrsh	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	writeterm
.L394:
	ldrsh	r3, [fp, #-30]
	ldr	r2, .L442+40
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	cmp	r3, #34
	ldrls	pc, [pc, r3, asl #2]
	b	.L395
.L397:
	.word	.L426
	.word	.L425
	.word	.L424
	.word	.L423
	.word	.L422
	.word	.L421
	.word	.L420
	.word	.L419
	.word	.L418
	.word	.L417
	.word	.L416
	.word	.L415
	.word	.L400
	.word	.L414
	.word	.L413
	.word	.L412
	.word	.L411
	.word	.L410
	.word	.L396
	.word	.L409
	.word	.L408
	.word	.L407
	.word	.L406
	.word	.L405
	.word	.L404
	.word	.L403
	.word	.L402
	.word	.L401
	.word	.L400
	.word	.L399
	.word	.L398
	.word	.L395
	.word	.L396
	.word	.L396
	.word	.L396
.L396:
	ldrsh	r3, [fp, #-30]
	ldr	r2, .L442+40
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	mov	r0, r3
	ldrsh	r3, [fp, #-30]
	ldr	r2, .L442+40
	ldr	r3, [r2, r3, lsl #3]
	ldr	r2, .L442+20
	ldrsh	r2, [r2]
	mov	r1, r3
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L400:
	ldrsh	r3, [fp, #-30]
	ldr	r2, .L442+40
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	cmp	r3, #28
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r0, #31
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L408:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L415:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	o
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	v
	mov	r1, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r0, r4
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L401:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	o
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	v
	mov	r5, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	o
	mov	r6, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	v
	mov	r7, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	mov	r1, r7
	mov	r0, r6
	bl	kons
	mov	r3, r0
	mov	r2, r3
	mov	r1, r5
	mov	r0, r4
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L403:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r1, r3
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r0, #34
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L398:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L410:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	b
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r4, r3
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	mov	r0, #31
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L425:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	i
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	i
	mov	r3, r0
	mul	r3, r4, r3
	mov	r1, r3
	mov	r0, #33
	bl	binary
	b	.L427
.L424:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	i
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	i
	mov	r3, r0
	add	r3, r4, r3
	mov	r1, r3
	mov	r0, #33
	bl	binary
	b	.L427
.L423:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	i
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	i
	mov	r3, r0
	sub	r3, r4, r3
	mov	r1, r3
	mov	r0, #33
	bl	binary
	b	.L427
.L422:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	i
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	i
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_idiv
	mov	r3, r0
	mov	r1, r3
	mov	r0, #33
	bl	binary
	b	.L427
.L419:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	b
	mov	r3, r0
	mov	r4, r3
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	b
	mov	r3, r0
	and	r3, r3, r4
	and	r3, r3, #255
	mov	r1, r3
	mov	r0, #31
	bl	binary
	b	.L427
.L409:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	b
	mov	r3, r0
	mov	r4, r3
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	b
	mov	r3, r0
	orr	r3, r4, r3
	and	r3, r3, #255
	mov	r1, r3
	mov	r0, #31
	bl	binary
	b	.L427
.L421:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	o
	mov	r3, r0
	cmp	r3, #0
	bne	.L428
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	v
	mov	r2, r0
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L442+28
	add	r4, r3, r2
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	v
	mov	r2, r0
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L442+28
	add	r3, r3, r2
	mov	r1, r3
	mov	r0, r4
	bl	strcmp
	mov	r3, r0
	lsr	r3, r3, #31
	and	r3, r3, #255
	mov	r1, r3
	mov	r0, #31
	bl	binary
	b	.L427
.L428:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	v
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	v
	mov	r3, r0
	cmp	r4, r3
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	mov	r0, #31
	bl	binary
	b	.L427
.L420:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	v
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	v
	mov	r3, r0
	cmp	r4, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	mov	r0, #31
	bl	binary
	b	.L427
.L405:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	o
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	o
	mov	r3, r0
	cmp	r4, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	mov	r0, #31
	bl	binary
	b	.L427
.L417:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	o
	mov	r3, r0
	cmp	r3, #18
	bne	.L430
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r4, r3
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	mov	r0, #34
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L430:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	o
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	v
	mov	r5, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	v
	mov	r3, r0
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r2, r3
	mov	r1, r5
	mov	r0, r4
	bl	kons
	mov	r3, r0
	mov	r4, r3
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	mov	r0, #34
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L399:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	v
	mov	r3, r0
	cmp	r3, #0
	bne	.L432
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	mov	r1, #18
	mov	r0, #18
	bl	kons
	mov	r3, r0
	mov	r2, r3
	mov	r1, #0
	mov	r0, #34
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L432:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r6, r3
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r0, r3
	bl	o
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r0, r3
	bl	v
	mov	r5, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	mov	r1, r5
	mov	r0, r4
	bl	kons
	mov	r3, r0
	mov	r2, r3
	mov	r1, r6
	mov	r0, #34
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L404:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	l
	mov	r3, r0
	strh	r3, [fp, #-28]	@ movhi
	b	.L434
.L435:
	ldrsh	r3, [fp, #-28]
	mov	r0, r3
	bl	n
	mov	r3, r0
	strh	r3, [fp, #-28]	@ movhi
.L434:
	ldrsh	r3, [fp, #-28]
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r0, r3
	bl	o
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	o
	mov	r3, r0
	cmp	r4, r3
	bne	.L435
	ldrsh	r3, [fp, #-28]
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r4, r3
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	mov	r0, #34
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L411:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	v
	mov	r3, r0
	cmp	r3, #0
	bgt	.L436
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r0, r3
	bl	o
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r0, r3
	bl	v
	mov	r5, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	mov	r1, r5
	mov	r0, r4
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L436:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	o
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	v
	mov	r5, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	mov	r1, r5
	mov	r0, r4
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L418:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	v
	mov	r2, r0
	ldr	r1, .L442+28
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #18
	ldrsh	r3, [r3]
	mov	r4, r3
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	mov	r0, #34
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L407:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r1, #0
	mov	r0, r3
	bl	writefactor
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L406:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	v
	mov	r3, r0
	and	r3, r3, #255
	mov	r0, r3
	bl	putch
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L414:
	bl	getsym
	sub	r3, fp, #28
	mov	r0, r3
	bl	readfactor
	ldrsh	r3, [fp, #-28]
	mov	r0, r3
	bl	o
	mov	r4, r0
	ldrsh	r3, [fp, #-28]
	mov	r0, r3
	bl	v
	mov	r1, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r0, r4
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L413:
	bl	getch
	ldr	r3, .L442+16
	ldr	r3, [r3]
	ldr	r2, .L442+20
	ldrsh	r2, [r2]
	mov	r1, r3
	mov	r0, #33
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L427
.L412:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	o
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r1, r3
	ldr	r3, .L442+24
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r0, r4
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+24
	strh	r2, [r3]	@ movhi
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	strh	r3, [fp, #-28]	@ movhi
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	ldrsh	r3, [fp, #-28]
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r0, r3
	bl	joy
	ldr	r3, .L442+24
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+24
	strh	r2, [r3]	@ movhi
	b	.L427
.L416:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	o
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	v
	mov	r1, r0
	ldr	r3, .L442+24
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r0, r4
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+24
	strh	r2, [r3]	@ movhi
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r1, r3
	ldr	r3, .L442+24
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r0, #34
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+24
	strh	r2, [r3]	@ movhi
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	ldr	r3, .L442+24
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r0, r3
	bl	joy
	ldr	r3, .L442+24
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+24
	strh	r2, [r3]	@ movhi
	ldr	r3, .L442+24
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	o
	mov	r4, r0
	ldr	r3, .L442+24
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	v
	mov	r1, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r0, r4
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	ldr	r3, .L442+24
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+24
	strh	r2, [r3]	@ movhi
	b	.L427
.L443:
	.align	2
.L442:
	.word	writelisting
	.word	.LC99
	.word	.LC100
	.word	.LC101
	.word	my_ch
	.word	s
	.word	dump
	.word	table
	.word	.LC102
	.word	stat_ops
	.word	m
	.word	stat_calls
	.word	.LC103
.L402:
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	o
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r1, r3
	ldr	r3, .L442+24
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r0, r4
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+24
	strh	r2, [r3]	@ movhi
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	o
	mov	r4, r0
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	l
	mov	r3, r0
	mov	r1, r3
	ldr	r3, .L442+24
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r0, r4
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+24
	strh	r2, [r3]	@ movhi
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	l
	mov	r3, r0
	strh	r3, [fp, #-28]	@ movhi
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	l
	mov	r3, r0
	strh	r3, [fp, #-26]	@ movhi
	ldr	r3, .L442+20
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	b	.L438
.L439:
	ldrsh	r3, [fp, #-26]
	ldr	r2, .L442+40
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrb	r3, [r3, #6]	@ zero_extendqisi2
	mov	r0, r3
	ldrsh	r3, [fp, #-26]
	ldr	r2, .L442+40
	ldr	r3, [r2, r3, lsl #3]
	ldr	r2, .L442+20
	ldrsh	r2, [r2]
	mov	r1, r3
	bl	kons
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+20
	strh	r2, [r3]	@ movhi
	ldrsh	r3, [fp, #-28]
	mov	r0, r3
	bl	joy
	ldrsh	r3, [fp, #-26]
	ldr	r2, .L442+40
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-26]	@ movhi
.L438:
	ldrsh	r3, [fp, #-26]
	cmp	r3, #0
	bgt	.L439
	ldr	r3, .L442+24
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r0, r3
	bl	n
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L442+24
	strh	r2, [r3]	@ movhi
	b	.L427
.L426:
	ldrsh	r3, [fp, #-30]
	ldr	r2, .L442+40
	ldr	r2, [r2, r3, lsl #3]
	ldr	r1, .L442+28
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #18
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	joy
	b	.L427
.L395:
	ldr	r1, .L442+32
	mov	r0, #70
	bl	point
.L427:
	ldr	r3, .L442+36
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L442+36
	str	r3, [r2]
	ldrsh	r3, [fp, #-30]
	ldr	r2, .L442+40
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-30]	@ movhi
.L392:
	ldrsh	r3, [fp, #-30]
	cmp	r3, #0
	bgt	.L440
	ldr	r3, .L442+44
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L442+44
	str	r3, [r2]
	nop
	ldr	r3, .L442+48
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L441
	bl	__stack_chk_fail
.L441:
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
	.size	joy, .-joy
	.section	.rodata
	.align	2
.LC104:
	.ascii	"%lu microseconds CPU to read library\012\000"
	.align	2
.LC105:
	.ascii	"%lu microseconds CPU to execute\012\000"
	.align	2
.LC106:
	.ascii	"%lu user nodes available\012\000"
	.align	2
.LC107:
	.ascii	"%lu garbage collections\012\000"
	.align	2
.LC108:
	.ascii	"%lu nodes used\012\000"
	.align	2
.LC109:
	.ascii	"%lu calls to joy interpreter\012\000"
	.align	2
.LC110:
	.ascii	"%lu operations executed\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	writestatistics, %function
writestatistics:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L445
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L445+4
	ldr	r0, [fp, #-8]
	bl	fprintf
	ldr	r3, .L445+8
	ldr	r2, [r3]
	ldr	r3, .L445
	ldr	r3, [r3]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, .L445+12
	ldr	r0, [fp, #-8]
	bl	fprintf
	ldr	r3, .L445+16
	ldrsh	r3, [r3]
	rsb	r3, r3, #2000
	mov	r2, r3
	ldr	r1, .L445+20
	ldr	r0, [fp, #-8]
	bl	fprintf
	ldr	r3, .L445+24
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L445+28
	ldr	r0, [fp, #-8]
	bl	fprintf
	ldr	r3, .L445+32
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L445+36
	ldr	r0, [fp, #-8]
	bl	fprintf
	ldr	r3, .L445+40
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L445+44
	ldr	r0, [fp, #-8]
	bl	fprintf
	ldr	r3, .L445+48
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L445+52
	ldr	r0, [fp, #-8]
	bl	fprintf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L446:
	.align	2
.L445:
	.word	stat_lib
	.word	.LC104
	.word	end_clock
	.word	.LC105
	.word	firstusernode
	.word	.LC106
	.word	stat_gc
	.word	.LC107
	.word	stat_kons
	.word	.LC108
	.word	stat_calls
	.word	.LC109
	.word	stat_ops
	.word	.LC110
	.size	writestatistics, .-writestatistics
	.section	.rodata
	.align	2
.LC111:
	.ascii	"42minjoy.lib\000"
	.align	2
.LC112:
	.ascii	"\"%-*.*s\" :\012\000"
	.align	2
.LC113:
	.ascii	"interpreting:\000"
	.align	2
.LC114:
	.ascii	"dump error: should be empty!\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-8]
	bl	clock
	mov	r3, r0
	ldr	r2, .L462
	str	r3, [r2]
	bl	initialise
	ldr	r0, .L462+4
	bl	atexit
	mov	r3, #1
	strh	r3, [fp, #-14]	@ movhi
	b	.L448
.L449:
	ldrsh	r3, [fp, #-14]
	ldr	r2, .L462+8
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #7]
	ldrh	r3, [fp, #-14]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrsh	r3, [fp, #-14]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, .L462+8
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	strh	r2, [r3]	@ movhi
	ldrsh	r3, [fp, #-14]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-14]	@ movhi
.L448:
	ldrsh	r3, [fp, #-14]
	cmp	r3, #2000
	blt	.L449
	ldr	r3, .L462+12
	mov	r2, #1
	strh	r2, [r3]	@ movhi
	ldr	r3, .L462+8
	add	r3, r3, #12288
	add	r3, r3, #3696
	add	r3, r3, #12
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, .L462+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L462+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L462+24
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L462+28
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L462+32
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L462+36
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L462+40
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L450
	ldr	r0, .L462+44
	bl	readlibrary
	b	.L451
.L450:
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	readlibrary
.L451:
	bl	clock
	mov	r2, r0
	ldr	r3, .L462
	ldr	r3, [r3]
	sub	r3, r2, r3
	ldr	r2, .L462+48
	str	r3, [r2]
	ldr	r3, .L462+16
	ldr	r3, [r3]
	cmp	r3, #2
	ble	.L452
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L453
.L454:
	ldr	r3, .L462+52
	ldr	r0, [r3]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L462+56
	add	r3, r3, r2
	str	r3, [sp]
	mov	r3, #16
	mov	r2, #16
	ldr	r1, .L462+60
	bl	fprintf
	ldr	r1, .L462+56
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #18
	ldrsh	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	writeterm
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L453:
	ldr	r3, .L462+64
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	ble	.L454
.L452:
	ldr	r3, .L462+64
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L462+36
	str	r3, [r2]
	ldr	r3, .L462+36
	ldr	r3, [r3]
	ldr	r2, .L462+68
	str	r3, [r2]
	ldr	r3, .L462+72
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, .L462+76
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	ble	.L455
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	newfile
.L455:
	ldr	r0, .L462+80
	bl	_setjmp
.L456:
	bl	getsym
	ldr	r3, .L462+84
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L457
	ldr	r3, .L462+88
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r0, .L462+88
	bl	readfactor
	ldr	r3, .L462+16
	ldr	r3, [r3]
	cmp	r3, #2
	ble	.L458
	ldr	r0, .L462+92
	bl	writeident
	bl	writeline
	ldr	r3, .L462+88
	ldrsh	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	writefactor
.L458:
	ldr	r3, .L462+76
	ldrsh	r3, [r3]
	cmp	r3, #0
	beq	.L459
	ldr	r0, .L462+96
	bl	puts
	ldr	r3, .L462+76
	ldrsh	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	writeterm
	ldr	r3, .L462+76
	mov	r2, #0
	strh	r2, [r3]	@ movhi
.L459:
	ldr	r3, .L462+100
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L462+88
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, .L462+8
	ldr	r3, [r3, r2, lsl #3]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	mov	r0, r3
	bl	joy
	ldr	r3, .L462+100
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L460
	bl	writeline
.L460:
	ldr	r3, .L462+16
	ldr	r3, [r3]
	cmp	r3, #2
	ble	.L457
	ldr	r0, .L462+104
	bl	writeident
	bl	writeline
	ldr	r3, .L462+72
	ldrsh	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	writeterm
.L457:
	ldr	r3, .L462+84
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L456
	bl	finalise
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L463:
	.align	2
.L462:
	.word	start_clock
	.word	perhapsstatistics
	.word	m
	.word	freelist
	.word	writelisting
	.word	stat_kons
	.word	stat_gc
	.word	stat_ops
	.word	stat_calls
	.word	sentinel
	.word	firstusernode
	.word	.LC111
	.word	stat_lib
	.word	listing
	.word	table
	.word	.LC112
	.word	lastlibloc
	.word	lasttable
	.word	s
	.word	dump
	.word	JL10
	.word	sym
	.word	programme
	.word	.LC113
	.word	.LC114
	.word	outlinelength
	.word	.LC100
	.size	main, .-main
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	perhapsstatistics, %function
perhapsstatistics:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L467
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L466
	ldr	r3, .L467+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	writestatistics
	ldr	r3, .L467+8
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L466
	ldr	r3, .L467+12
	ldr	r3, [r3]
	mov	r0, r3
	bl	writestatistics
.L466:
	nop
	pop	{fp, pc}
.L468:
	.align	2
.L467:
	.word	statistics
	.word	stderr
	.word	writelisting
	.word	listing
	.size	perhapsstatistics, .-perhapsstatistics
	.local	init.5716
	.comm	init.5716,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
