	.file	"247018717.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
.LC0:
	.string	"Error Occurred!"
	.align 8
.LC1:
	.string	"\nPress Enter key to continue..."
	.text
	.globl	raise_error
	.type	raise_error, @function
raise_error:
.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, 752
	mov	QWORD PTR -744[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L2
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L2:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -732[rbp], 0
	jmp	.L3
.L4:
	mov	eax, DWORD PTR -732[rbp]
	cdqe
	mov	BYTE PTR -704[rbp+rax], 0
	add	DWORD PTR -732[rbp], 1
.L3:
	cmp	DWORD PTR -732[rbp], 511
	jle	.L4
	mov	DWORD PTR -728[rbp], 8
	mov	DWORD PTR -724[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -720[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -712[rbp], rax
	lea	rdx, -728[rbp]
	mov	rcx, QWORD PTR -744[rbp]
	lea	rax, -704[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	vsprintf@PLT
	lea	rdi, .LC0[rip]
	call	puts@PLT
	mov	rax, QWORD PTR stderr[rip]
	lea	rdx, -728[rbp]
	mov	rcx, QWORD PTR -744[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	vfprintf@PLT
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR stdin[rip]
	mov	rdi, rax
	call	fgetc@PLT
	mov	edi, -1
	call	exit@PLT
	.cfi_endproc
.LFE6:
	.size	raise_error, .-raise_error
	.globl	create_string
	.type	create_string, @function
create_string:
.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	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	mov	rdi, rax
	call	malloc@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	create_string, .-create_string
	.globl	create_string2
	.type	create_string2, @function
create_string2:
.LFB8:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	create_string
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncpy@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	create_string2, .-create_string2
	.section	.rodata
.LC2:
	.string	""
	.text
	.globl	create_string3
	.type	create_string3, @function
create_string3:
.LFB9:
	.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], 0
	jne	.L11
	mov	esi, 0
	lea	rdi, .LC2[rip]
	call	create_string2
	jmp	.L12
.L11:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	create_string2
.L12:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	create_string3, .-create_string3
	.globl	destroy_string
	.type	destroy_string, @function
destroy_string:
.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	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	destroy_string, .-destroy_string
	.section	.rodata
.LC3:
	.string	"%d"
	.text
	.globl	create_string_from
	.type	create_string_from, @function
create_string_from:
.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, 32
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	ecx, eax
	lea	rdx, .LC3[rip]
	mov	esi, 0
	mov	edi, 0
	mov	eax, 0
	call	snprintf@PLT
	cdqe
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	create_string
	mov	QWORD PTR -8[rbp], rax
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC3[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	create_string_from, .-create_string_from
	.section	.rodata
.LC4:
	.string	"%lf"
	.text
	.globl	create_string_from2
	.type	create_string_from2, @function
create_string_from2:
.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, 32
	movsd	QWORD PTR -24[rbp], xmm0
	mov	rax, QWORD PTR -24[rbp]
	movq	xmm0, rax
	lea	rdx, .LC4[rip]
	mov	esi, 0
	mov	edi, 0
	mov	eax, 1
	call	snprintf@PLT
	cdqe
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	create_string
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	movq	xmm0, rdx
	lea	rsi, .LC4[rip]
	mov	rdi, rax
	mov	eax, 1
	call	sprintf@PLT
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	create_string_from2, .-create_string_from2
	.globl	tol
	.type	tol, @function
tol:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	BYTE PTR -4[rbp], al
	cmp	BYTE PTR -4[rbp], 64
	jle	.L19
	cmp	BYTE PTR -4[rbp], 90
	jg	.L19
	movsx	eax, BYTE PTR -4[rbp]
	add	eax, 32
	jmp	.L20
.L19:
	movsx	eax, BYTE PTR -4[rbp]
.L20:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	tol, .-tol
	.globl	string_equal_igcase
	.type	string_equal_igcase, @function
string_equal_igcase:
.LFB14:
	.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, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -32[rbp], rdi
	mov	QWORD PTR -40[rbp], rsi
	mov	DWORD PTR -44[rbp], edx
	mov	DWORD PTR -12[rbp], 0
.L30:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L22
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L23
.L22:
	cmp	DWORD PTR -44[rbp], 0
	jns	.L24
	mov	rax, QWORD PTR -32[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	je	.L31
	mov	eax, 0
	jmp	.L26
.L24:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L27
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	je	.L31
.L27:
	mov	eax, 0
	jmp	.L26
.L23:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	tol
	mov	ebx, eax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	tol
	cmp	ebx, eax
	je	.L29
	mov	eax, 0
	jmp	.L26
.L29:
	add	QWORD PTR -32[rbp], 1
	add	QWORD PTR -40[rbp], 1
	add	DWORD PTR -12[rbp], 1
	jmp	.L30
.L31:
	nop
	mov	eax, 1
.L26:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	string_equal_igcase, .-string_equal_igcase
	.globl	clear_value
	.type	clear_value, @function
clear_value:
.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	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	jne	.L35
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	destroy_string
	jmp	.L34
.L35:
	nop
.L34:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	clear_value, .-clear_value
	.globl	search_label
	.type	search_label, @function
search_label:
.LFB16:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L37
.L40:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR -32[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	string_equal_igcase
	test	al, al
	je	.L38
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	jmp	.L39
.L38:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L37:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L40
	mov	eax, 0
.L39:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	search_label, .-search_label
	.section	.rodata
.LC5:
	.string	"mes: Invalid argument."
.LC6:
	.string	"mes: Invalid value."
	.text
	.globl	command_mes
	.type	command_mes, @function
command_mes:
.LFB17:
	.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 -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	cmp	DWORD PTR -36[rbp], 1
	je	.L42
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	raise_error
.L42:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, -1
	mov	rdi, rax
	call	stack_peek
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	value_isolate
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	je	.L43
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	raise_error
.L43:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	puts@PLT
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	stack_pop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	command_mes, .-command_mes
	.section	.rodata
.LC7:
	.string	"rnd: Invalid argument."
	.align 8
.LC8:
	.string	"rnd: Please specify 1 or more.@@ %d"
	.text
	.globl	function_rnd
	.type	function_rnd, @function
function_rnd:
.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, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	cmp	DWORD PTR -36[rbp], 1
	je	.L45
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	raise_error
.L45:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, -1
	mov	rdi, rax
	call	stack_peek
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	value_calc_int
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 0
	jg	.L46
	mov	eax, DWORD PTR -16[rbp]
	mov	esi, eax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	raise_error
.L46:
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	stack_pop
	call	rand@PLT
	cdq
	idiv	DWORD PTR -16[rbp]
	mov	DWORD PTR -12[rbp], edx
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	create_value
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	stack_push
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	function_rnd, .-function_rnd
	.globl	create_list_node
	.type	create_list_node, @function
create_list_node:
.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	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	create_list_node, .-create_list_node
	.globl	destroy_list_node
	.type	destroy_list_node, @function
destroy_list_node:
.LFB20:
	.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 -8[rbp]
	mov	rdi, rax
	call	unlink_list_node
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	destroy_list_node, .-destroy_list_node
	.section	.rodata
.LC9:
	.string	"the_stack_data/247018717.c"
	.align 8
.LC10:
	.string	"node->prev_ == NULL && node->next_ == NULL"
	.text
	.globl	link_next
	.type	link_next, @function
link_next:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L51
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L53
.L51:
	lea	rcx, __PRETTY_FUNCTION__.50[rip]
	mov	edx, 618
	lea	rsi, .LC9[rip]
	lea	rdi, .LC10[rip]
	call	__assert_fail@PLT
.L53:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	link_next, .-link_next
	.globl	link_prev
	.type	link_prev, @function
link_prev:
.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
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L55
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L57
.L55:
	lea	rcx, __PRETTY_FUNCTION__.49[rip]
	mov	edx, 627
	lea	rsi, .LC9[rip]
	lea	rdi, .LC10[rip]
	call	__assert_fail@PLT
.L57:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	link_prev, .-link_prev
	.globl	unlink_list_node
	.type	unlink_list_node, @function
unlink_list_node:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L59
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L59
	mov	eax, 0
	jmp	.L60
.L59:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L61
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rdx]
	mov	QWORD PTR 8[rax], rdx
.L61:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L62
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rdx]
	mov	QWORD PTR [rax], rdx
.L62:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
.L60:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	unlink_list_node, .-unlink_list_node
	.globl	create_list
	.type	create_list, @function
create_list:
.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	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	create_list, .-create_list
	.globl	destroy_list
	.type	destroy_list, @function
destroy_list:
.LFB25:
	.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 -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	destroy_list, .-destroy_list
	.section	.rodata
.LC11:
	.string	"list->tail_ == NULL"
	.text
	.globl	list_prepend
	.type	list_prepend, @function
list_prepend:
.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
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L67
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L68
	lea	rcx, __PRETTY_FUNCTION__.48[rip]
	mov	edx, 667
	lea	rsi, .LC9[rip]
	lea	rdi, .LC11[rip]
	call	__assert_fail@PLT
.L68:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L66
.L67:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	link_prev
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
.L66:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	list_prepend, .-list_prepend
	.section	.rodata
.LC12:
	.string	"list->head_ == NULL"
	.text
	.globl	list_append
	.type	list_append, @function
list_append:
.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	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L71
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L72
	lea	rcx, __PRETTY_FUNCTION__.47[rip]
	mov	edx, 679
	lea	rsi, .LC9[rip]
	lea	rdi, .LC12[rip]
	call	__assert_fail@PLT
.L72:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L70
.L71:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	link_next
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
.L70:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	list_append, .-list_append
	.globl	list_erase
	.type	list_erase, @function
list_erase:
.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	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -16[rbp], rax
	jne	.L75
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
.L75:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -16[rbp], rax
	jne	.L76
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
.L76:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	unlink_list_node
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	list_erase, .-list_erase
	.globl	list_find
	.type	list_find, @function
list_find:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L78
.L81:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -32[rbp], rax
	jne	.L79
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L80
.L79:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L78:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L81
	mov	eax, 0
.L80:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	list_find, .-list_find
	.globl	list_free_all
	.type	list_free_all, @function
list_free_all:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L83
.L84:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	list_erase
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
.L83:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L84
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	list_free_all, .-list_free_all
	.globl	query_keyword
	.type	query_keyword, @function
query_keyword:
.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, 24
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L86
.L89:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, table.46[rip+8]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	string_equal_igcase
	test	al, al
	je	.L87
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, table.46[rip]
	mov	eax, DWORD PTR [rdx+rax]
	jmp	.L88
.L87:
	add	DWORD PTR -4[rbp], 1
.L86:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, table.46[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, -1
	jne	.L89
	mov	eax, -1
.L88:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	query_keyword, .-query_keyword
	.globl	query_token_shadow
	.type	query_token_shadow, @function
query_token_shadow:
.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	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L91
.L94:
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, shadows.45[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rcx, QWORD PTR -24[rbp]
	mov	edx, esi
	mov	rsi, rcx
	mov	rdi, rax
	call	string_equal_igcase
	test	al, al
	je	.L92
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, shadows.45[rip]
	mov	eax, DWORD PTR [rdx+rax]
	jmp	.L93
.L92:
	add	DWORD PTR -4[rbp], 1
.L91:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, shadows.45[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, -1
	jne	.L94
	mov	eax, -1
.L93:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	query_token_shadow, .-query_token_shadow
	.globl	initialize_tokenize_context
	.type	initialize_tokenize_context, @function
initialize_tokenize_context:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	initialize_tokenize_context, .-initialize_tokenize_context
	.globl	uninitialize_tokenize_context
	.type	uninitialize_tokenize_context, @function
uninitialize_tokenize_context:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	uninitialize_tokenize_context, .-uninitialize_tokenize_context
	.globl	is_space
	.type	is_space, @function
is_space:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	BYTE PTR -4[rbp], al
	cmp	BYTE PTR -4[rbp], 32
	je	.L98
	cmp	BYTE PTR -4[rbp], 9
	jne	.L99
.L98:
	mov	eax, 1
	jmp	.L100
.L99:
	mov	eax, 0
.L100:
	and	eax, 1
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	is_space, .-is_space
	.globl	is_number
	.type	is_number, @function
is_number:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	BYTE PTR -4[rbp], al
	cmp	BYTE PTR -4[rbp], 47
	jle	.L103
	cmp	BYTE PTR -4[rbp], 57
	jg	.L103
	mov	eax, 1
	jmp	.L104
.L103:
	mov	eax, 0
.L104:
	and	eax, 1
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	is_number, .-is_number
	.globl	is_alpha
	.type	is_alpha, @function
is_alpha:
.LFB37:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	BYTE PTR -4[rbp], al
	cmp	BYTE PTR -4[rbp], 96
	jle	.L107
	cmp	BYTE PTR -4[rbp], 122
	jle	.L108
.L107:
	cmp	BYTE PTR -4[rbp], 64
	jle	.L109
	cmp	BYTE PTR -4[rbp], 90
	jg	.L109
.L108:
	mov	eax, 1
	jmp	.L110
.L109:
	mov	eax, 0
.L110:
	and	eax, 1
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	is_alpha, .-is_alpha
	.globl	is_rest_ident
	.type	is_rest_ident, @function
is_rest_ident:
.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, 8
	mov	eax, edi
	mov	BYTE PTR -4[rbp], al
	movsx	eax, BYTE PTR -4[rbp]
	mov	edi, eax
	call	is_number
	test	al, al
	jne	.L113
	movsx	eax, BYTE PTR -4[rbp]
	mov	edi, eax
	call	is_alpha
	test	al, al
	jne	.L113
	cmp	BYTE PTR -4[rbp], 95
	jne	.L114
.L113:
	mov	eax, 1
	jmp	.L115
.L114:
	mov	eax, 0
.L115:
	and	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	is_rest_ident, .-is_rest_ident
	.section	.rodata
	.align 8
.LC13:
	.string	"EOF detected in string.@@ %d Row"
	.align 8
.LC14:
	.string	"Unknown character[%c]@@ %d Row"
	.text
	.globl	get_token
	.type	get_token, @function
get_token:
.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, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	edi, 32
	call	malloc@PLT
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], -1
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR 28[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR 29[rax], 0
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rax, rdx
	mov	QWORD PTR -48[rbp], rax
.L118:
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, rdx
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 125
	ja	.L119
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L121[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L121[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L121:
	.long	.L142-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L141-.L121
	.long	.L119-.L121
	.long	.L140-.L121
	.long	.L140-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L139-.L121
	.long	.L138-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L137-.L121
	.long	.L119-.L121
	.long	.L136-.L121
	.long	.L135-.L121
	.long	.L134-.L121
	.long	.L133-.L121
	.long	.L132-.L121
	.long	.L131-.L121
	.long	.L119-.L121
	.long	.L130-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L129-.L121
	.long	.L128-.L121
	.long	.L127-.L121
	.long	.L126-.L121
	.long	.L125-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L124-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L119-.L121
	.long	.L123-.L121
	.long	.L122-.L121
	.long	.L120-.L121
	.text
.L142:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 0
	jmp	.L143
.L140:
	add	QWORD PTR -48[rbp], 1
	jmp	.L118
.L141:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 12[rax], edx
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 1
	jmp	.L143
.L129:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 2
	jmp	.L143
.L123:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 3
	jmp	.L143
.L120:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 4
	jmp	.L143
.L136:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 5
	jmp	.L143
.L135:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 6
	jmp	.L143
.L132:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 7
	jmp	.L143
.L122:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 11
	jmp	.L143
.L137:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 12
	jmp	.L143
.L139:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	jne	.L144
	add	QWORD PTR -48[rbp], 1
.L144:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 14
	jmp	.L143
.L125:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	jne	.L145
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 16
	jmp	.L143
.L145:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 15
	jmp	.L143
.L127:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	jne	.L147
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 18
	jmp	.L143
.L147:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 17
	jmp	.L143
.L133:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 19
	jmp	.L143
.L131:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 20
	jmp	.L143
.L134:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 21
	jmp	.L143
.L130:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 22
	jmp	.L143
.L124:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 23
	jmp	.L143
.L126:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 61
	jne	.L149
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 13
	jmp	.L143
.L149:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 24
	jmp	.L143
.L138:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L151
.L154:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L152
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	esi, eax
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	raise_error
.L152:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L153
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	jne	.L153
	add	QWORD PTR -48[rbp], 1
.L153:
	add	QWORD PTR -48[rbp], 1
.L151:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	jne	.L154
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR -16[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	create_token_string
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 10
	add	QWORD PTR -48[rbp], 1
	jmp	.L143
.L128:
	add	QWORD PTR -48[rbp], 1
	jmp	.L155
.L157:
	add	QWORD PTR -48[rbp], 1
.L155:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L118
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L157
	jmp	.L118
.L119:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	is_space
	test	al, al
	je	.L158
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR 28[rax], 1
	jmp	.L159
.L160:
	add	QWORD PTR -48[rbp], 1
.L159:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	is_space
	test	al, al
	jne	.L160
	jmp	.L118
.L158:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	is_number
	test	al, al
	je	.L161
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 48
	jne	.L164
	add	QWORD PTR -48[rbp], 1
	jmp	.L163
.L165:
	add	QWORD PTR -48[rbp], 1
.L164:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	is_number
	test	al, al
	jne	.L165
.L163:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L166
	add	QWORD PTR -48[rbp], 1
	jmp	.L167
.L168:
	add	QWORD PTR -48[rbp], 1
.L167:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	is_number
	test	al, al
	jne	.L168
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 9
	jmp	.L176
.L166:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 8
	jmp	.L176
.L161:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	is_alpha
	test	al, al
	je	.L170
	add	QWORD PTR -48[rbp], 1
	jmp	.L171
.L172:
	add	QWORD PTR -48[rbp], 1
.L171:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	is_rest_ident
	test	al, al
	jne	.L172
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 25
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	add	rax, rcx
	mov	rsi, rdx
	mov	rdi, rax
	call	query_token_shadow
	mov	DWORD PTR -56[rbp], eax
	cmp	DWORD PTR -56[rbp], -1
	je	.L176
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -56[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L176
.L170:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, eax
	lea	rdi, .LC14[rip]
	mov	eax, 0
	call	raise_error
.L176:
	nop
.L143:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	is_space
	test	al, al
	je	.L173
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR 29[rax], 1
.L173:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, QWORD PTR -32[rbp]
	add	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -60[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L174
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR 16[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	mov	rdi, rax
	call	create_string
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	cdqe
	add	rcx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	add	rax, rdx
	mov	BYTE PTR [rax], 0
.L174:
	mov	rax, QWORD PTR -40[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	get_token, .-get_token
	.globl	destroy_token
	.type	destroy_token, @function
destroy_token:
.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	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L178
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	destroy_string
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
.L178:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	destroy_token, .-destroy_token
	.section	.rodata
	.align 8
.LC15:
	.string	"Unknown escape sequence@@ %c%c"
	.text
	.globl	create_token_string
	.type	create_token_string, @function
create_token_string:
.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, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	create_string
	mov	QWORD PTR -8[rbp], rax
	mov	QWORD PTR -24[rbp], 0
	mov	QWORD PTR -16[rbp], 0
	jmp	.L180
.L188:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L181
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	cmp	QWORD PTR -48[rbp], rax
	jbe	.L181
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 116
	je	.L182
	cmp	eax, 116
	jg	.L183
	cmp	eax, 34
	je	.L184
	cmp	eax, 110
	je	.L185
	jmp	.L183
.L182:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 9
	jmp	.L186
.L185:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 10
	jmp	.L186
.L184:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 34
	jmp	.L186
.L183:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, eax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	raise_error
	nop
.L186:
	add	QWORD PTR -16[rbp], 1
	jmp	.L187
.L181:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
.L187:
	add	QWORD PTR -16[rbp], 1
	add	QWORD PTR -24[rbp], 1
.L180:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jb	.L188
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	create_token_string, .-create_token_string
	.globl	create_parse_context
	.type	create_parse_context, @function
create_parse_context:
.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	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	create_parse_context, .-create_parse_context
	.globl	destroy_parse_context
	.type	destroy_parse_context, @function
destroy_parse_context:
.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	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	destroy_parse_context, .-destroy_parse_context
	.globl	initialize_parse_context
	.type	initialize_parse_context, @function
initialize_parse_context:
.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	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	eax, 0
	call	create_list
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	initialize_parse_context, .-initialize_parse_context
	.globl	uninitialize_parse_context
	.type	uninitialize_parse_context, @function
uninitialize_parse_context:
.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, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L195
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L196
.L197:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	destroy_token
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	destroy_list_node
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -24[rbp], rax
.L196:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L197
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	destroy_list
.L195:
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	uninitialize_parse_context, .-uninitialize_parse_context
	.section	.rodata
.LC16:
	.string	"c->token_current_ != NULL"
	.text
	.globl	read_token
	.type	read_token, @function
read_token:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L199
	mov	eax, 0
	call	create_list_node
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	get_token
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	list_append
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
.L199:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L200
	lea	rcx, __PRETTY_FUNCTION__.44[rip]
	mov	edx, 1129
	lea	rsi, .LC9[rip]
	lea	rdi, .LC16[rip]
	call	__assert_fail@PLT
.L200:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	read_token, .-read_token
	.globl	unread_token
	.type	unread_token, @function
unread_token:
.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	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	cmp	QWORD PTR -16[rbp], 0
	je	.L209
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L206
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	sub	QWORD PTR -16[rbp], 1
	jmp	.L206
.L208:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L207
	lea	rcx, __PRETTY_FUNCTION__.43[rip]
	mov	edx, 1146
	lea	rsi, .LC9[rip]
	lea	rdi, .LC16[rip]
	call	__assert_fail@PLT
.L207:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
.L206:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, -1[rax]
	mov	QWORD PTR -16[rbp], rdx
	test	rax, rax
	jne	.L208
	jmp	.L202
.L209:
	nop
.L202:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	unread_token, .-unread_token
	.section	.rodata
.LC17:
	.string	"current != NULL"
	.text
	.globl	prev_token
	.type	prev_token, @function
prev_token:
.LFB48:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L212
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L212
.L214:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L213
	lea	rcx, __PRETTY_FUNCTION__.42[rip]
	mov	edx, 1159
	lea	rsi, .LC9[rip]
	lea	rdi, .LC17[rip]
	call	__assert_fail@PLT
.L213:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
.L212:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, -1[rax]
	mov	QWORD PTR -32[rbp], rdx
	test	rax, rax
	jne	.L214
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	prev_token, .-prev_token
	.globl	create_ast_node
	.type	create_ast_node, @function
create_ast_node:
.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, 48
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	create_ast_node, .-create_ast_node
	.globl	create_ast_node2
	.type	create_ast_node2, @function
create_ast_node2:
.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, 48
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	edi, 48
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	create_ast_node2, .-create_ast_node2
	.section	.rodata
.LC18:
	.string	"node != NULL"
	.text
	.globl	destroy_ast_node
	.type	destroy_ast_node, @function
destroy_ast_node:
.LFB51:
	.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], 0
	jne	.L221
	lea	rcx, __PRETTY_FUNCTION__.41[rip]
	mov	edx, 1194
	lea	rsi, .LC9[rip]
	lea	rdi, .LC18[rip]
	call	__assert_fail@PLT
.L221:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L222
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	destroy_ast_node
.L222:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L223
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	destroy_ast_node
.L223:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	destroy_ast_node, .-destroy_ast_node
	.globl	is_eos_like_token
	.type	is_eos_like_token, @function
is_eos_like_token:
.LFB52:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 0
	je	.L225
	cmp	DWORD PTR -4[rbp], 1
	je	.L225
	cmp	DWORD PTR -4[rbp], 2
	je	.L225
	cmp	DWORD PTR -4[rbp], 4
	jne	.L226
.L225:
	mov	eax, 1
	jmp	.L227
.L226:
	mov	eax, 0
.L227:
	and	eax, 1
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	is_eos_like_token, .-is_eos_like_token
	.section	.rodata
	.align 8
.LC19:
	.string	"Script couldn't be parsed successfully.@@ %d Row"
	.text
	.globl	parse_script
	.type	parse_script, @function
parse_script:
.LFB53:
	.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 -40[rbp], rdi
	mov	eax, 0
	call	create_list
	mov	QWORD PTR -32[rbp], rax
.L232:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_statement
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L236
	mov	eax, 0
	call	create_list_node
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	list_append
	jmp	.L232
.L236:
	nop
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L233
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	raise_error
.L233:
	mov	rax, QWORD PTR -32[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	parse_script, .-parse_script
	.globl	destroy_ast
	.type	destroy_ast, @function
destroy_ast:
.LFB54:
	.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	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L238
.L239:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	destroy_ast_node
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L238:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L239
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	list_free_all
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	destroy_list
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	destroy_ast, .-destroy_ast
	.section	.rodata
	.align 8
.LC20:
	.string	"Statement cannot be parsed.@@ %d Row"
	.align 8
.LC21:
	.string	"Statement couldn't be parsed successfully.@@ %d Row"
	.text
	.globl	parse_statement
	.type	parse_statement, @function
parse_statement:
.LFB55:
	.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 -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L241
	mov	eax, 0
	jmp	.L242
.L241:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	is_eos_like_token
	test	al, al
	je	.L243
	mov	edx, 0
	mov	esi, 0
	mov	edi, 0
	call	create_ast_node
	jmp	.L242
.L243:
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	QWORD PTR -32[rbp], 0
	cmp	QWORD PTR -32[rbp], 0
	jne	.L244
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_label_safe
	mov	QWORD PTR -32[rbp], rax
.L244:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L245
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_control_safe
	mov	QWORD PTR -32[rbp], rax
.L245:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L246
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_command_safe
	mov	QWORD PTR -32[rbp], rax
.L246:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L247
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_assign_safe
	mov	QWORD PTR -32[rbp], rax
.L247:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L248
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC20[rip]
	mov	eax, 0
	call	raise_error
.L248:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	is_eos_like_token
	xor	eax, 1
	test	al, al
	je	.L249
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	raise_error
.L249:
	mov	rax, QWORD PTR -32[rbp]
.L242:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	parse_statement, .-parse_statement
	.globl	parse_label_safe
	.type	parse_label_safe, @function
parse_label_safe:
.LFB56:
	.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	read_token
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 21
	je	.L251
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	eax, 0
	jmp	.L252
.L251:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 25
	je	.L253
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	unread_token
	mov	eax, 0
	jmp	.L252
.L253:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 1
	call	create_ast_node2
.L252:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	parse_label_safe, .-parse_label_safe
	.globl	is_else_token
	.type	is_else_token, @function
is_else_token:
.LFB57:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 25
	jne	.L255
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	query_keyword
	cmp	eax, 9
	jne	.L255
	mov	eax, 1
	jmp	.L256
.L255:
	mov	eax, 0
.L256:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	is_else_token, .-is_else_token
	.section	.rodata
	.align 8
.LC22:
	.string	"Labels must be specified for goto or gosub.@@ %d Row"
	.align 8
.LC23:
	.string	"if contains statements that cannot be parsed.@@ %d to %d Row"
	.align 8
.LC24:
	.string	"After if conditional, only { or : @@ %d Row"
	.align 8
.LC25:
	.string	"else contains statements that cannot be parsed.@@ %d to %d Row"
	.align 8
.LC26:
	.string	"After else, only { or : @@ %d Row"
	.align 8
.LC27:
	.string	"Detected an unprocessed else.@@ %d Row"
	.text
	.globl	parse_control_safe
	.type	parse_control_safe, @function
parse_control_safe:
.LFB58:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 240
	mov	QWORD PTR -232[rbp], rdi
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 25
	je	.L258
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	eax, 0
	jmp	.L259
.L258:
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	query_keyword
	mov	DWORD PTR -208[rbp], eax
	cmp	DWORD PTR -208[rbp], 0
	jns	.L260
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	eax, 0
	jmp	.L259
.L260:
	cmp	DWORD PTR -208[rbp], 9
	ja	.L261
	mov	eax, DWORD PTR -208[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L263[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L263[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L263:
	.long	.L271-.L263
	.long	.L270-.L263
	.long	.L269-.L263
	.long	.L269-.L263
	.long	.L268-.L263
	.long	.L267-.L263
	.long	.L266-.L263
	.long	.L265-.L263
	.long	.L264-.L263
	.long	.L262-.L263
	.text
.L271:
	mov	edx, 0
	mov	esi, 0
	mov	edi, 24
	call	create_ast_node
	jmp	.L259
.L270:
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	QWORD PTR -200[rbp], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	is_eos_like_token
	xor	eax, 1
	test	al, al
	je	.L272
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	parse_expression
	mov	QWORD PTR -200[rbp], rax
.L272:
	mov	rax, QWORD PTR -200[rbp]
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 25
	call	create_ast_node
	jmp	.L259
.L269:
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	parse_label_safe
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L273
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	raise_error
.L273:
	cmp	DWORD PTR -208[rbp], 2
	jne	.L274
	mov	eax, 26
	jmp	.L275
.L274:
	mov	eax, 27
.L275:
	mov	DWORD PTR -204[rbp], eax
	mov	rcx, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR -204[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	create_ast_node
	jmp	.L259
.L268:
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	QWORD PTR -192[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	is_eos_like_token
	xor	eax, 1
	test	al, al
	je	.L276
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	parse_expression
	mov	QWORD PTR -192[rbp], rax
.L276:
	mov	rax, QWORD PTR -192[rbp]
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 28
	call	create_ast_node
	jmp	.L259
.L267:
	mov	edx, 0
	mov	esi, 0
	mov	edi, 30
	call	create_ast_node
	jmp	.L259
.L266:
	mov	edx, 0
	mov	esi, 0
	mov	edi, 31
	call	create_ast_node
	jmp	.L259
.L265:
	mov	edx, 0
	mov	esi, 0
	mov	edi, 32
	call	create_ast_node
	jmp	.L259
.L264:
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	parse_expression
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -152[rbp], rax
	mov	BYTE PTR -209[rbp], 0
	mov	edx, 0
	mov	esi, 0
	mov	edi, 2
	call	create_ast_node
	mov	QWORD PTR -184[rbp], rax
	mov	QWORD PTR -176[rbp], 0
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	jne	.L277
.L281:
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	prev_token
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	je	.L302
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	parse_statement
	mov	QWORD PTR -104[rbp], rax
	cmp	QWORD PTR -104[rbp], 0
	jne	.L280
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	raise_error
.L280:
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rax
	mov	edi, 2
	call	create_ast_node
	mov	QWORD PTR -184[rbp], rax
	jmp	.L281
.L277:
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	je	.L287
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC24[rip]
	mov	eax, 0
	call	raise_error
.L287:
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	prev_token
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L284
	mov	BYTE PTR -209[rbp], 1
	jmp	.L282
.L284:
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	rax, QWORD PTR -128[rbp]
	mov	rdi, rax
	call	is_else_token
	test	al, al
	jne	.L303
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	parse_statement
	mov	QWORD PTR -120[rbp], rax
	cmp	QWORD PTR -120[rbp], 0
	jne	.L286
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	raise_error
.L286:
	mov	rdx, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rax
	mov	edi, 2
	call	create_ast_node
	mov	QWORD PTR -184[rbp], rax
	jmp	.L287
.L302:
	nop
	jmp	.L282
.L303:
	nop
.L282:
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	is_else_token
	test	al, al
	je	.L288
	mov	BYTE PTR -209[rbp], 0
	mov	edx, 0
	mov	esi, 0
	mov	edi, 2
	call	create_ast_node
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	jne	.L289
.L293:
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	prev_token
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	je	.L304
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	parse_statement
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L292
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	raise_error
.L292:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -176[rbp]
	mov	rsi, rax
	mov	edi, 2
	call	create_ast_node
	mov	QWORD PTR -176[rbp], rax
	jmp	.L293
.L289:
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	je	.L299
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	raise_error
.L299:
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	prev_token
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L296
	mov	BYTE PTR -209[rbp], 1
	jmp	.L300
.L296:
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	is_else_token
	test	al, al
	jne	.L305
	mov	rax, QWORD PTR -232[rbp]
	mov	rdi, rax
	call	parse_statement
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	jne	.L298
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	raise_error
.L298:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -176[rbp]
	mov	rsi, rax
	mov	edi, 2
	call	create_ast_node
	mov	QWORD PTR -176[rbp], rax
	jmp	.L299
.L288:
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	jmp	.L300
.L304:
	nop
	jmp	.L300
.L305:
	nop
.L300:
	cmp	BYTE PTR -209[rbp], 0
	je	.L301
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
.L301:
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rax
	mov	edi, 34
	call	create_ast_node
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -160[rbp]
	mov	rsi, rax
	mov	edi, 33
	call	create_ast_node
	jmp	.L259
.L262:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	raise_error
	nop
.L261:
	mov	rax, QWORD PTR -232[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	eax, 0
.L259:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	parse_control_safe, .-parse_control_safe
	.globl	parse_command_safe
	.type	parse_command_safe, @function
parse_command_safe:
.LFB59:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 25
	je	.L307
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	eax, 0
	jmp	.L308
.L307:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -16[rbp], rax
	mov	BYTE PTR -33[rbp], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 24
	jne	.L309
	mov	BYTE PTR -33[rbp], 1
.L309:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 29[rax]
	xor	eax, 1
	test	al, al
	je	.L310
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 5
	jne	.L310
	mov	BYTE PTR -33[rbp], 1
.L310:
	cmp	BYTE PTR -33[rbp], 0
	je	.L311
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	unread_token
	mov	eax, 0
	jmp	.L308
.L311:
	mov	QWORD PTR -32[rbp], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	is_eos_like_token
	xor	eax, 1
	test	al, al
	je	.L312
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	parse_arguments
	mov	QWORD PTR -32[rbp], rax
	jmp	.L313
.L312:
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
.L313:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 3
	call	create_ast_node2
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
.L308:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	parse_command_safe, .-parse_command_safe
	.globl	parse_arguments
	.type	parse_arguments, @function
parse_arguments:
.LFB60:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	parse_expression
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 4
	call	create_ast_node
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -40[rbp], rax
.L317:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 7
	je	.L315
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	jmp	.L319
.L315:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	parse_expression
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 4
	call	create_ast_node
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L317
.L319:
	mov	rax, QWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	parse_arguments, .-parse_arguments
	.section	.rodata
	.align 8
.LC28:
	.string	"Value substitution: = is required.@@ %d Row"
	.text
	.globl	parse_assign_safe
	.type	parse_assign_safe, @function
parse_assign_safe:
.LFB61:
	.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 -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_variable_safe
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L321
	mov	eax, 0
	jmp	.L322
.L321:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 24
	je	.L323
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	raise_error
.L323:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_expression
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	edi, 5
	call	create_ast_node
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
.L322:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	parse_assign_safe, .-parse_assign_safe
	.section	.rodata
	.align 8
.LC29:
	.string	"Array variable is one dimension only.@@ %d Row"
	.align 8
.LC30:
	.string	"Array variable: Parentheses are not closed.@@ %d Row"
	.text
	.globl	parse_variable_safe
	.type	parse_variable_safe, @function
parse_variable_safe:
.LFB62:
	.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 -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 25
	je	.L325
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	eax, 0
	jmp	.L326
.L325:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 5
	je	.L327
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 6
	call	create_ast_node2
	jmp	.L326
.L327:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_expression
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 6
	je	.L328
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 7
	jne	.L329
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	raise_error
.L329:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	raise_error
.L328:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	edi, 6
	call	create_ast_node2
.L326:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	parse_variable_safe, .-parse_variable_safe
	.globl	parse_expression
	.type	parse_expression, @function
parse_expression:
.LFB63:
	.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 -8[rbp]
	mov	rdi, rax
	call	parse_borand
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	parse_expression, .-parse_expression
	.section	.rodata
	.align 8
.LC31:
	.string	"|,& Operator analysis failed.@@ %d Row"
.LC32:
	.string	"false"
	.text
	.globl	parse_borand
	.type	parse_borand, @function
parse_borand:
.LFB64:
	.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 -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_eqneq
	mov	QWORD PTR -24[rbp], rax
.L342:
	mov	BYTE PTR -25[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	sub	eax, 11
	cmp	eax, 1
	ja	.L333
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_eqneq
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L334
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	raise_error
.L334:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 11
	je	.L335
	cmp	eax, 12
	je	.L336
	jmp	.L344
.L335:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 8
	call	create_ast_node
	mov	QWORD PTR -24[rbp], rax
	jmp	.L338
.L336:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 9
	call	create_ast_node
	mov	QWORD PTR -24[rbp], rax
	jmp	.L338
.L344:
	lea	rcx, __PRETTY_FUNCTION__.40[rip]
	mov	edx, 1604
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L338:
	jmp	.L339
.L333:
	mov	BYTE PTR -25[rbp], 0
	nop
.L339:
	movzx	eax, BYTE PTR -25[rbp]
	xor	eax, 1
	test	al, al
	je	.L342
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	nop
	mov	rax, QWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	parse_borand, .-parse_borand
	.section	.rodata
	.align 8
.LC33:
	.string	"==,!= Operator analysis failed.@@ %d Row"
	.text
	.globl	parse_eqneq
	.type	parse_eqneq, @function
parse_eqneq:
.LFB65:
	.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 -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_gtlt
	mov	QWORD PTR -24[rbp], rax
.L358:
	mov	BYTE PTR -25[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 14
	jg	.L347
	cmp	eax, 13
	jge	.L348
	jmp	.L349
.L347:
	cmp	eax, 24
	jne	.L349
.L348:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_gtlt
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L350
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	raise_error
.L350:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 24
	je	.L351
	cmp	eax, 24
	jg	.L352
	cmp	eax, 13
	je	.L351
	cmp	eax, 14
	je	.L353
	jmp	.L352
.L351:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	create_ast_node
	mov	QWORD PTR -24[rbp], rax
	jmp	.L354
.L353:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 11
	call	create_ast_node
	mov	QWORD PTR -24[rbp], rax
	jmp	.L354
.L352:
	lea	rcx, __PRETTY_FUNCTION__.39[rip]
	mov	edx, 1645
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L354:
	jmp	.L355
.L349:
	mov	BYTE PTR -25[rbp], 0
	nop
.L355:
	movzx	eax, BYTE PTR -25[rbp]
	xor	eax, 1
	test	al, al
	je	.L358
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	nop
	mov	rax, QWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	parse_eqneq, .-parse_eqneq
	.section	.rodata
	.align 8
.LC34:
	.string	">,>=,<,<= Operator analysis failed.@@ %d Row"
	.text
	.globl	parse_gtlt
	.type	parse_gtlt, @function
parse_gtlt:
.LFB66:
	.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 -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_addsub
	mov	QWORD PTR -24[rbp], rax
.L373:
	mov	BYTE PTR -25[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	sub	eax, 15
	cmp	eax, 3
	ja	.L362
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_addsub
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L363
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	raise_error
.L363:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 18
	je	.L364
	cmp	eax, 18
	jg	.L365
	cmp	eax, 17
	je	.L366
	cmp	eax, 17
	jg	.L365
	cmp	eax, 15
	je	.L367
	cmp	eax, 16
	je	.L368
	jmp	.L365
.L367:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 12
	call	create_ast_node
	mov	QWORD PTR -24[rbp], rax
	jmp	.L369
.L368:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 13
	call	create_ast_node
	mov	QWORD PTR -24[rbp], rax
	jmp	.L369
.L366:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 14
	call	create_ast_node
	mov	QWORD PTR -24[rbp], rax
	jmp	.L369
.L364:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 15
	call	create_ast_node
	mov	QWORD PTR -24[rbp], rax
	jmp	.L369
.L365:
	lea	rcx, __PRETTY_FUNCTION__.38[rip]
	mov	edx, 1692
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L369:
	jmp	.L370
.L362:
	mov	BYTE PTR -25[rbp], 0
	nop
.L370:
	movzx	eax, BYTE PTR -25[rbp]
	xor	eax, 1
	test	al, al
	je	.L373
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	nop
	mov	rax, QWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	parse_gtlt, .-parse_gtlt
	.section	.rodata
	.align 8
.LC35:
	.string	"+- Operator analysis failed.@@ %d Row"
	.text
	.globl	parse_addsub
	.type	parse_addsub, @function
parse_addsub:
.LFB67:
	.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 -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_muldivmod
	mov	QWORD PTR -24[rbp], rax
.L386:
	mov	BYTE PTR -25[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	sub	eax, 19
	cmp	eax, 1
	ja	.L377
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_muldivmod
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L378
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	raise_error
.L378:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 19
	je	.L379
	cmp	eax, 20
	je	.L380
	jmp	.L388
.L379:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 16
	call	create_ast_node
	mov	QWORD PTR -24[rbp], rax
	jmp	.L382
.L380:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 17
	call	create_ast_node
	mov	QWORD PTR -24[rbp], rax
	jmp	.L382
.L388:
	lea	rcx, __PRETTY_FUNCTION__.37[rip]
	mov	edx, 1731
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L382:
	jmp	.L383
.L377:
	mov	BYTE PTR -25[rbp], 0
	nop
.L383:
	movzx	eax, BYTE PTR -25[rbp]
	xor	eax, 1
	test	al, al
	je	.L386
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	nop
	mov	rax, QWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	parse_addsub, .-parse_addsub
	.section	.rodata
	.align 8
.LC36:
	.string	"*/\\ Operator analysis failed.@@ %d Row"
	.text
	.globl	parse_muldivmod
	.type	parse_muldivmod, @function
parse_muldivmod:
.LFB68:
	.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 -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_term
	mov	QWORD PTR -24[rbp], rax
.L401:
	mov	BYTE PTR -25[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	sub	eax, 21
	cmp	eax, 2
	ja	.L391
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	parse_term
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L392
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC36[rip]
	mov	eax, 0
	call	raise_error
.L392:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 23
	je	.L393
	cmp	eax, 23
	jg	.L394
	cmp	eax, 21
	je	.L395
	cmp	eax, 22
	je	.L396
	jmp	.L394
.L395:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 18
	call	create_ast_node
	mov	QWORD PTR -24[rbp], rax
	jmp	.L397
.L396:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 19
	call	create_ast_node
	mov	QWORD PTR -24[rbp], rax
	jmp	.L397
.L393:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 20
	call	create_ast_node
	mov	QWORD PTR -24[rbp], rax
	jmp	.L397
.L394:
	lea	rcx, __PRETTY_FUNCTION__.36[rip]
	mov	edx, 1774
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L397:
	jmp	.L398
.L391:
	mov	BYTE PTR -25[rbp], 0
	nop
.L398:
	movzx	eax, BYTE PTR -25[rbp]
	xor	eax, 1
	test	al, al
	je	.L401
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	nop
	mov	rax, QWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	parse_muldivmod, .-parse_muldivmod
	.globl	parse_term
	.type	parse_term, @function
parse_term:
.LFB69:
	.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	read_token
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 20
	jne	.L408
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	parse_primitive
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 21
	call	create_ast_node
	jmp	.L406
.L408:
	nop
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	parse_primitive
.L406:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	parse_term, .-parse_term
	.section	.rodata
	.align 8
.LC37:
	.string	"Parentheses are not closed.@@ %d Row"
	.align 8
.LC38:
	.string	"Label cannot be parsed.@@ %d Row"
	.align 8
.LC39:
	.string	"Labels cannot be used for expressions.@@ %d Row"
	.align 8
.LC40:
	.string	"Function or Variable cannot be parsed.@@ %d Row"
	.align 8
.LC41:
	.string	"Primitive values cannot be acquired.@@ %d Row[%s]"
	.text
	.globl	parse_primitive
	.type	parse_primitive, @function
parse_primitive:
.LFB70:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 25
	je	.L410
	cmp	eax, 25
	jg	.L421
	cmp	eax, 21
	je	.L412
	cmp	eax, 21
	jg	.L421
	cmp	eax, 5
	je	.L413
	cmp	eax, 5
	jl	.L421
	sub	eax, 8
	cmp	eax, 2
	ja	.L421
	jmp	.L420
.L413:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	parse_expression
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 6
	je	.L415
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	raise_error
.L415:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 7
	call	create_ast_node
	jmp	.L416
.L420:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 22
	call	create_ast_node2
	jmp	.L416
.L412:
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	parse_label_safe
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L417
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	raise_error
.L417:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	raise_error
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L416
.L410:
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	parse_identifier_expression
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L418
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	raise_error
.L418:
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L416
.L421:
	nop
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC41[rip]
	mov	eax, 0
	call	raise_error
	mov	eax, 0
.L416:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	parse_primitive, .-parse_primitive
	.section	.rodata
	.align 8
.LC42:
	.string	"Function or Array variable: Parentheses are not closed.@@ %d Row"
	.text
	.globl	parse_identifier_expression
	.type	parse_identifier_expression, @function
parse_identifier_expression:
.LFB71:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 25
	je	.L423
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	eax, 0
	jmp	.L424
.L423:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 5
	je	.L425
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 23
	call	create_ast_node2
	jmp	.L424
.L425:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 6
	jne	.L426
	mov	edx, 0
	mov	esi, 0
	mov	edi, 4
	call	create_ast_node
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	mov	edi, 23
	call	create_ast_node2
	jmp	.L424
.L426:
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	unread_token
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	parse_arguments
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	read_token
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 6
	je	.L427
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, eax
	lea	rdi, .LC42[rip]
	mov	eax, 0
	call	raise_error
.L427:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	mov	edi, 23
	call	create_ast_node2
.L424:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	parse_identifier_expression, .-parse_identifier_expression
	.globl	create_variable
	.type	create_variable, @function
create_variable:
.LFB72:
	.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	edi, 32
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	create_string3
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 512
	mov	edx, 64
	mov	esi, 1
	mov	rdi, rax
	call	prepare_variable
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	create_variable, .-create_variable
	.globl	destroy_variable
	.type	destroy_variable, @function
destroy_variable:
.LFB73:
	.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 -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	destroy_variable, .-destroy_variable
	.section	.rodata
.LC43:
	.string	"areasize > 0"
	.text
	.globl	prepare_variable
	.type	prepare_variable, @function
prepare_variable:
.LFB74:
	.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 -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	DWORD PTR -36[rbp], ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L432
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], 0
.L432:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	QWORD PTR -8[rbp], 0
	cmp	DWORD PTR -28[rbp], 3
	je	.L433
	cmp	DWORD PTR -28[rbp], 3
	ja	.L434
	cmp	DWORD PTR -28[rbp], 1
	je	.L435
	cmp	DWORD PTR -28[rbp], 2
	je	.L436
	jmp	.L434
.L435:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	cdqe
	sal	rax, 2
	mov	QWORD PTR -8[rbp], rax
	jmp	.L437
.L436:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	cdqe
	sal	rax, 3
	mov	QWORD PTR -8[rbp], rax
	jmp	.L437
.L433:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	cdqe
	imul	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	jmp	.L437
.L434:
	lea	rcx, __PRETTY_FUNCTION__.35[rip]
	mov	edx, 1920
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L437:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L438
	lea	rcx, __PRETTY_FUNCTION__.35[rip]
	mov	edx, 1923
	lea	rsi, .LC9[rip]
	lea	rdi, .LC43[rip]
	call	__assert_fail@PLT
.L438:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	prepare_variable, .-prepare_variable
	.globl	create_variable_table
	.type	create_variable_table, @function
create_variable_table:
.LFB75:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, 0
	call	create_list
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	create_variable_table, .-create_variable_table
	.globl	destroy_variable_table
	.type	destroy_variable_table, @function
destroy_variable_table:
.LFB76:
	.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	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L442
.L443:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	destroy_variable
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L442:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L443
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	list_free_all
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	destroy_list
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	destroy_variable_table, .-destroy_variable_table
	.globl	search_variable
	.type	search_variable, @function
search_variable:
.LFB77:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L445
.L449:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L446
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, -1
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	call	string_equal_igcase
	test	al, al
	je	.L447
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L448
.L446:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR -32[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	string_equal_igcase
	test	al, al
	je	.L447
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L448
.L447:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L445:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L449
	mov	eax, 0
.L448:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE77:
	.size	search_variable, .-search_variable
	.section	.rodata
.LC44:
	.string	"var != NULL"
	.align 8
.LC45:
	.string	"Variable type is different.@@ %s(%d)"
.LC46:
	.string	"Invalid value.@@ %s(%d)"
.LC47:
	.string	"var->type_ == v->type_"
	.text
	.globl	variable_set
	.type	variable_set, @function
variable_set:
.LFB78:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	DWORD PTR -92[rbp], ecx
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	search_variable
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L451
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	create_variable
	mov	QWORD PTR -48[rbp], rax
	mov	eax, 0
	call	create_list_node
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	list_append
.L451:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L452
	lea	rcx, __PRETTY_FUNCTION__.34[rip]
	mov	edx, 1978
	lea	rsi, .LC9[rip]
	lea	rdi, .LC44[rip]
	call	__assert_fail@PLT
.L452:
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	je	.L453
	cmp	DWORD PTR -92[rbp], 0
	jle	.L454
	mov	edx, DWORD PTR -92[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	lea	rdi, .LC45[rip]
	mov	eax, 0
	call	raise_error
.L454:
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, DWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	ecx, 512
	mov	edx, 64
	mov	rdi, rax
	call	prepare_variable
.L453:
	mov	BYTE PTR -57[rbp], 0
	mov	DWORD PTR -56[rbp], 0
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	jne	.L455
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	mov	DWORD PTR -56[rbp], eax
.L455:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	DWORD PTR -56[rbp], eax
	jle	.L456
	mov	BYTE PTR -57[rbp], 1
.L456:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -92[rbp], 0
	js	.L457
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, DWORD PTR -92[rbp]
	jg	.L458
.L457:
	mov	edx, DWORD PTR -92[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	lea	rdi, .LC46[rip]
	mov	eax, 0
	call	raise_error
.L458:
	cmp	BYTE PTR -57[rbp], 0
	je	.L459
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, DWORD PTR [rax]
	mov	ecx, DWORD PTR -52[rbp]
	mov	edx, DWORD PTR -56[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	prepare_variable
.L459:
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	je	.L460
	lea	rcx, __PRETTY_FUNCTION__.34[rip]
	mov	edx, 2000
	lea	rsi, .LC9[rip]
	lea	rdi, .LC47[rip]
	call	__assert_fail@PLT
.L460:
	mov	edx, DWORD PTR -92[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	variable_data_ptr
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 3
	je	.L461
	cmp	eax, 3
	ja	.L462
	cmp	eax, 1
	je	.L463
	cmp	eax, 2
	je	.L464
	jmp	.L462
.L463:
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L465
.L464:
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	movsd	QWORD PTR [rax], xmm0
	jmp	.L465
.L461:
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	jmp	.L465
.L462:
	lea	rcx, __PRETTY_FUNCTION__.34[rip]
	mov	edx, 2019
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L465:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE78:
	.size	variable_set, .-variable_set
	.section	.rodata
.LC48:
	.string	"???"
	.align 8
.LC49:
	.string	"Variable is out of range.@@ %s(%d)"
	.text
	.globl	variable_data_ptr
	.type	variable_data_ptr, @function
variable_data_ptr:
.LFB79:
	.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
	cmp	QWORD PTR -8[rbp], 0
	jne	.L467
	cmp	DWORD PTR -12[rbp], 0
	js	.L468
	cmp	DWORD PTR -12[rbp], 0
	js	.L469
.L468:
	mov	eax, DWORD PTR -12[rbp]
	mov	edx, eax
	lea	rsi, .LC48[rip]
	lea	rdi, .LC49[rip]
	mov	eax, 0
	call	raise_error
	jmp	.L469
.L467:
	cmp	DWORD PTR -12[rbp], 0
	js	.L470
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L469
.L470:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -12[rbp]
	mov	rsi, rax
	lea	rdi, .LC49[rip]
	mov	eax, 0
	call	raise_error
.L469:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 3
	je	.L471
	cmp	eax, 3
	ja	.L472
	cmp	eax, 1
	je	.L473
	cmp	eax, 2
	je	.L474
	jmp	.L472
.L473:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	jmp	.L475
.L474:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	jmp	.L475
.L471:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	imul	eax, DWORD PTR -12[rbp]
	cdqe
	add	rax, rdx
	jmp	.L475
.L472:
	lea	rcx, __PRETTY_FUNCTION__.33[rip]
	mov	edx, 2048
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L475:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE79:
	.size	variable_data_ptr, .-variable_data_ptr
	.globl	variable_calc_int
	.type	variable_calc_int, @function
variable_calc_int:
.LFB80:
	.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	DWORD PTR -28[rbp], esi
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	variable_data_ptr
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 3
	je	.L477
	cmp	eax, 3
	ja	.L478
	cmp	eax, 1
	je	.L479
	cmp	eax, 2
	je	.L480
	jmp	.L478
.L479:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	jmp	.L481
.L480:
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR [rax]
	cvttsd2si	eax, xmm0
	jmp	.L481
.L477:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	atoi@PLT
	jmp	.L481
.L478:
	lea	rcx, __PRETTY_FUNCTION__.32[rip]
	mov	edx, 2066
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L481:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE80:
	.size	variable_calc_int, .-variable_calc_int
	.globl	variable_calc_double
	.type	variable_calc_double, @function
variable_calc_double:
.LFB81:
	.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	DWORD PTR -28[rbp], esi
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	variable_data_ptr
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 3
	je	.L483
	cmp	eax, 3
	ja	.L484
	cmp	eax, 1
	je	.L485
	cmp	eax, 2
	je	.L486
	jmp	.L484
.L485:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	movq	rax, xmm1
	jmp	.L487
.L486:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L487
.L483:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	atof@PLT
	movq	rax, xmm0
	jmp	.L487
.L484:
	lea	rcx, __PRETTY_FUNCTION__.31[rip]
	mov	edx, 2084
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L487:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE81:
	.size	variable_calc_double, .-variable_calc_double
	.globl	variable_calc_string
	.type	variable_calc_string, @function
variable_calc_string:
.LFB82:
	.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	DWORD PTR -28[rbp], esi
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	variable_data_ptr
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 3
	je	.L489
	cmp	eax, 3
	ja	.L490
	cmp	eax, 1
	je	.L491
	cmp	eax, 2
	je	.L492
	jmp	.L490
.L491:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	create_string_from
	jmp	.L493
.L492:
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR [rax]
	cvttsd2si	eax, xmm0
	mov	edi, eax
	call	create_string_from
	jmp	.L493
.L489:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	create_string3
	jmp	.L493
.L490:
	lea	rcx, __PRETTY_FUNCTION__.30[rip]
	mov	edx, 2102
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L493:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE82:
	.size	variable_calc_string, .-variable_calc_string
	.type	alloc_value, @function
alloc_value:
.LFB83:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edi, 24
	call	malloc@PLT
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE83:
	.size	alloc_value, .-alloc_value
	.globl	create_value
	.type	create_value, @function
create_value:
.LFB84:
	.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	eax, 0
	call	alloc_value
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE84:
	.size	create_value, .-create_value
	.globl	create_value2
	.type	create_value2, @function
create_value2:
.LFB85:
	.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
	movsd	QWORD PTR -24[rbp], xmm0
	mov	eax, 0
	call	alloc_value
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 2
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR 8[rax], xmm0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE85:
	.size	create_value2, .-create_value2
	.globl	create_value3
	.type	create_value3, @function
create_value3:
.LFB86:
	.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	eax, 0
	call	alloc_value
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 3
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	create_string3
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE86:
	.size	create_value3, .-create_value3
	.globl	create_value4
	.type	create_value4, @function
create_value4:
.LFB87:
	.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	DWORD PTR -28[rbp], esi
	mov	eax, 0
	call	alloc_value
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 4
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE87:
	.size	create_value4, .-create_value4
	.section	.rodata
	.align 8
.LC50:
	.string	"Copying an empty value and failed.@@ ptr=%p"
	.text
	.globl	create_value5
	.type	create_value5, @function
create_value5:
.LFB88:
	.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	eax, 0
	call	alloc_value
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	je	.L505
	cmp	eax, 4
	ja	.L506
	cmp	eax, 3
	je	.L507
	cmp	eax, 3
	ja	.L506
	cmp	eax, 1
	je	.L508
	cmp	eax, 2
	je	.L509
	jmp	.L506
.L508:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L510
.L509:
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	movsd	QWORD PTR 8[rax], xmm0
	jmp	.L510
.L507:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	create_string3
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	jmp	.L510
.L505:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	jmp	.L510
.L506:
	lea	rax, -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC50[rip]
	mov	eax, 0
	call	raise_error
.L510:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE88:
	.size	create_value5, .-create_value5
	.globl	create_value_move
	.type	create_value_move, @function
create_value_move:
.LFB89:
	.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	eax, 0
	call	alloc_value
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 3
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE89:
	.size	create_value_move, .-create_value_move
	.globl	destroy_value
	.type	destroy_value, @function
destroy_value:
.LFB90:
	.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 -8[rbp]
	mov	rdi, rax
	call	clear_value
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE90:
	.size	destroy_value, .-destroy_value
	.globl	value_set
	.type	value_set, @function
value_set:
.LFB91:
	.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	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	clear_value
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 8[rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE91:
	.size	value_set, .-value_set
	.globl	value_set2
	.type	value_set2, @function
value_set2:
.LFB92:
	.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
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	clear_value
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 2
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR 8[rax], xmm0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE92:
	.size	value_set2, .-value_set2
	.globl	value_set3
	.type	value_set3, @function
value_set3:
.LFB93:
	.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	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	clear_value
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 3
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	create_string3
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE93:
	.size	value_set3, .-value_set3
	.globl	value_move
	.type	value_move, @function
value_move:
.LFB94:
	.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	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	clear_value
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 3
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE94:
	.size	value_move, .-value_move
	.globl	value_move2
	.type	value_move2, @function
value_move2:
.LFB95:
	.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	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	clear_value
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE95:
	.size	value_move2, .-value_move2
	.globl	value_get_primitive_tag
	.type	value_get_primitive_tag, @function
value_get_primitive_tag:
.LFB96:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	jne	.L521
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	eax, DWORD PTR 8[rax]
	jmp	.L522
.L521:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
.L522:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE96:
	.size	value_get_primitive_tag, .-value_get_primitive_tag
	.globl	value_calc_boolean
	.type	value_calc_boolean, @function
value_calc_boolean:
.LFB97:
	.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 -8[rbp]
	mov	rdi, rax
	call	value_get_primitive_tag
	cmp	eax, 3
	je	.L524
	cmp	eax, 3
	ja	.L525
	cmp	eax, 1
	je	.L526
	cmp	eax, 2
	je	.L527
	jmp	.L525
.L526:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	value_calc_int
	test	eax, eax
	setne	al
	jmp	.L528
.L527:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	value_calc_double
	movq	rax, xmm0
	pxor	xmm0, xmm0
	movq	xmm1, rax
	ucomisd	xmm1, xmm0
	setp	dl
	mov	ecx, 1
	pxor	xmm0, xmm0
	movq	xmm2, rax
	ucomisd	xmm2, xmm0
	mov	eax, ecx
	cmove	eax, edx
	jmp	.L528
.L524:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	value_calc_int
	test	eax, eax
	setne	al
	jmp	.L528
.L525:
	lea	rcx, __PRETTY_FUNCTION__.29[rip]
	mov	edx, 2257
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L528:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE97:
	.size	value_calc_boolean, .-value_calc_boolean
	.globl	value_calc_int
	.type	value_calc_int, @function
value_calc_int:
.LFB98:
	.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 -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	je	.L530
	cmp	eax, 4
	ja	.L531
	cmp	eax, 3
	je	.L532
	cmp	eax, 3
	ja	.L531
	cmp	eax, 1
	je	.L533
	cmp	eax, 2
	je	.L534
	jmp	.L531
.L533:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	jmp	.L535
.L534:
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	cvttsd2si	eax, xmm0
	jmp	.L535
.L532:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	atoi@PLT
	jmp	.L535
.L530:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, edx
	mov	rdi, rax
	call	variable_calc_int
	jmp	.L535
.L531:
	lea	rcx, __PRETTY_FUNCTION__.28[rip]
	mov	edx, 2277
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L535:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE98:
	.size	value_calc_int, .-value_calc_int
	.globl	value_calc_double
	.type	value_calc_double, @function
value_calc_double:
.LFB99:
	.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 -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	je	.L537
	cmp	eax, 4
	ja	.L538
	cmp	eax, 3
	je	.L539
	cmp	eax, 3
	ja	.L538
	cmp	eax, 1
	je	.L540
	cmp	eax, 2
	je	.L541
	jmp	.L538
.L540:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	movq	rax, xmm1
	jmp	.L542
.L541:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	jmp	.L542
.L539:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	atof@PLT
	movq	rax, xmm0
	jmp	.L542
.L537:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, edx
	mov	rdi, rax
	call	variable_calc_double
	movq	rax, xmm0
	jmp	.L542
.L538:
	lea	rcx, __PRETTY_FUNCTION__.27[rip]
	mov	edx, 2297
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L542:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE99:
	.size	value_calc_double, .-value_calc_double
	.globl	value_calc_string
	.type	value_calc_string, @function
value_calc_string:
.LFB100:
	.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	QWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	je	.L544
	cmp	eax, 4
	ja	.L545
	cmp	eax, 3
	je	.L546
	cmp	eax, 3
	ja	.L545
	cmp	eax, 1
	je	.L547
	cmp	eax, 2
	je	.L548
	jmp	.L545
.L547:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	edi, eax
	call	create_string_from
	mov	QWORD PTR -8[rbp], rax
	jmp	.L549
.L548:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	movq	xmm0, rax
	call	create_string_from2
	mov	QWORD PTR -8[rbp], rax
	jmp	.L549
.L546:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	create_string3
	mov	QWORD PTR -8[rbp], rax
	jmp	.L549
.L544:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, edx
	mov	rdi, rax
	call	variable_calc_string
	mov	QWORD PTR -8[rbp], rax
	jmp	.L549
.L545:
	lea	rcx, __PRETTY_FUNCTION__.26[rip]
	mov	edx, 2321
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L549:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE100:
	.size	value_calc_string, .-value_calc_string
	.globl	value_convert_type
	.type	value_convert_type, @function
value_convert_type:
.LFB101:
	.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	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -20[rbp], eax
	jne	.L552
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	create_value5
	jmp	.L553
.L552:
	cmp	DWORD PTR -20[rbp], 3
	je	.L554
	cmp	DWORD PTR -20[rbp], 3
	ja	.L555
	cmp	DWORD PTR -20[rbp], 1
	je	.L556
	cmp	DWORD PTR -20[rbp], 2
	je	.L557
	jmp	.L555
.L556:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	value_calc_int
	mov	edi, eax
	call	create_value
	jmp	.L553
.L557:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	value_calc_double
	movq	rax, xmm0
	movq	xmm0, rax
	call	create_value2
	jmp	.L553
.L554:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	value_calc_string
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	create_value_move
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L553
.L555:
	lea	rcx, __PRETTY_FUNCTION__.25[rip]
	mov	edx, 2344
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L553:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE101:
	.size	value_convert_type, .-value_convert_type
	.globl	value_isolate
	.type	value_isolate, @function
value_isolate:
.LFB102:
	.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 -8[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	jne	.L565
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L558
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 3
	je	.L561
	cmp	eax, 3
	ja	.L562
	cmp	eax, 1
	je	.L563
	cmp	eax, 2
	je	.L564
	jmp	.L562
.L563:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, edx
	mov	rdi, rax
	call	variable_calc_int
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L558
.L564:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, edx
	mov	rdi, rax
	call	variable_calc_double
	movq	rax, xmm0
	mov	rdx, QWORD PTR -8[rbp]
	movq	xmm0, rax
	mov	rdi, rdx
	call	value_set2
	jmp	.L558
.L561:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, edx
	mov	rdi, rax
	call	variable_calc_string
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	value_move
	jmp	.L558
.L562:
	lea	rcx, __PRETTY_FUNCTION__.24[rip]
	mov	edx, 2368
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L565:
	nop
.L558:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE102:
	.size	value_isolate, .-value_isolate
	.section	.rodata
	.align 8
.LC52:
	.string	"| operator for the floating point is not defined."
	.align 8
.LC53:
	.string	"| operator for the string is not defined."
	.text
	.globl	value_bor
	.type	value_bor, @function
value_bor:
.LFB103:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	value_convert_type
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	je	.L567
	cmp	eax, 3
	ja	.L568
	cmp	eax, 1
	je	.L569
	cmp	eax, 2
	je	.L570
	jmp	.L568
.L569:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	or	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L571
.L570:
	lea	rdi, .LC52[rip]
	mov	eax, 0
	call	raise_error
	jmp	.L571
.L567:
	lea	rdi, .LC53[rip]
	mov	eax, 0
	call	raise_error
	jmp	.L571
.L568:
	lea	rcx, __PRETTY_FUNCTION__.23[rip]
	mov	edx, 2391
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L571:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	destroy_value
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE103:
	.size	value_bor, .-value_bor
	.section	.rodata
	.align 8
.LC54:
	.string	"& operator for the floating point is not defined."
	.align 8
.LC55:
	.string	"& operator for the string is not defined."
	.text
	.globl	value_band
	.type	value_band, @function
value_band:
.LFB104:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	value_convert_type
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	je	.L573
	cmp	eax, 3
	ja	.L574
	cmp	eax, 1
	je	.L575
	cmp	eax, 2
	je	.L576
	jmp	.L574
.L575:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	and	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L577
.L576:
	lea	rdi, .LC54[rip]
	mov	eax, 0
	call	raise_error
	jmp	.L577
.L573:
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	raise_error
	jmp	.L577
.L574:
	lea	rcx, __PRETTY_FUNCTION__.22[rip]
	mov	edx, 2414
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L577:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	destroy_value
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE104:
	.size	value_band, .-value_band
	.globl	value_eq
	.type	value_eq, @function
value_eq:
.LFB105:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	value_convert_type
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	je	.L579
	cmp	eax, 3
	ja	.L580
	cmp	eax, 1
	je	.L581
	cmp	eax, 2
	je	.L582
	jmp	.L580
.L581:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L583
.L582:
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR 8[rax]
	ucomisd	xmm0, xmm1
	setnp	al
	mov	edx, 0
	ucomisd	xmm0, xmm1
	cmovne	eax, edx
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L583
.L579:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L583
.L580:
	lea	rcx, __PRETTY_FUNCTION__.21[rip]
	mov	edx, 2435
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L583:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	destroy_value
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE105:
	.size	value_eq, .-value_eq
	.globl	value_neq
	.type	value_neq, @function
value_neq:
.LFB106:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	value_convert_type
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	je	.L585
	cmp	eax, 3
	ja	.L586
	cmp	eax, 1
	je	.L587
	cmp	eax, 2
	je	.L588
	jmp	.L586
.L587:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	setne	al
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L589
.L588:
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR 8[rax]
	ucomisd	xmm0, xmm1
	setp	al
	mov	edx, 1
	ucomisd	xmm0, xmm1
	cmovne	eax, edx
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L589
.L585:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	setne	al
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L589
.L586:
	lea	rcx, __PRETTY_FUNCTION__.20[rip]
	mov	edx, 2456
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L589:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	destroy_value
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE106:
	.size	value_neq, .-value_neq
	.section	.rodata
	.align 8
.LC56:
	.string	"> operator for the string is not defined."
	.text
	.globl	value_gt
	.type	value_gt, @function
value_gt:
.LFB107:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	value_convert_type
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	je	.L591
	cmp	eax, 3
	ja	.L592
	cmp	eax, 1
	je	.L593
	cmp	eax, 2
	je	.L594
	jmp	.L592
.L593:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	setg	al
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L595
.L594:
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR 8[rax]
	comisd	xmm0, xmm1
	seta	al
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L595
.L591:
	lea	rdi, .LC56[rip]
	mov	eax, 0
	call	raise_error
	jmp	.L595
.L592:
	lea	rcx, __PRETTY_FUNCTION__.19[rip]
	mov	edx, 2478
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L595:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	destroy_value
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE107:
	.size	value_gt, .-value_gt
	.section	.rodata
	.align 8
.LC57:
	.string	">= operator for the string is not defined."
	.text
	.globl	value_gtoe
	.type	value_gtoe, @function
value_gtoe:
.LFB108:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	value_convert_type
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	je	.L597
	cmp	eax, 3
	ja	.L598
	cmp	eax, 1
	je	.L599
	cmp	eax, 2
	je	.L600
	jmp	.L598
.L599:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	setge	al
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L601
.L600:
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR 8[rax]
	comisd	xmm0, xmm1
	setnb	al
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L601
.L597:
	lea	rdi, .LC57[rip]
	mov	eax, 0
	call	raise_error
	jmp	.L601
.L598:
	lea	rcx, __PRETTY_FUNCTION__.18[rip]
	mov	edx, 2500
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L601:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	destroy_value
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE108:
	.size	value_gtoe, .-value_gtoe
	.section	.rodata
	.align 8
.LC58:
	.string	"< operator for the string is not defined."
	.text
	.globl	value_lt
	.type	value_lt, @function
value_lt:
.LFB109:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	value_convert_type
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	je	.L603
	cmp	eax, 3
	ja	.L604
	cmp	eax, 1
	je	.L605
	cmp	eax, 2
	je	.L606
	jmp	.L604
.L605:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	setl	al
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L607
.L606:
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	comisd	xmm0, xmm1
	seta	al
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L607
.L603:
	lea	rdi, .LC58[rip]
	mov	eax, 0
	call	raise_error
	jmp	.L607
.L604:
	lea	rcx, __PRETTY_FUNCTION__.17[rip]
	mov	edx, 2522
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L607:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	destroy_value
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE109:
	.size	value_lt, .-value_lt
	.section	.rodata
	.align 8
.LC59:
	.string	"<= operator for the string is not defined."
	.text
	.globl	value_ltoe
	.type	value_ltoe, @function
value_ltoe:
.LFB110:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	value_convert_type
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	je	.L609
	cmp	eax, 3
	ja	.L610
	cmp	eax, 1
	je	.L611
	cmp	eax, 2
	je	.L612
	jmp	.L610
.L611:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	setle	al
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L613
.L612:
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	comisd	xmm0, xmm1
	setnb	al
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	value_set
	jmp	.L613
.L609:
	lea	rdi, .LC59[rip]
	mov	eax, 0
	call	raise_error
	jmp	.L613
.L610:
	lea	rcx, __PRETTY_FUNCTION__.16[rip]
	mov	edx, 2544
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L613:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	destroy_value
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE110:
	.size	value_ltoe, .-value_ltoe
	.section	.rodata
.LC60:
	.string	"%s%s"
	.text
	.globl	value_add
	.type	value_add, @function
value_add:
.LFB111:
	.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 -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	value_convert_type
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	je	.L615
	cmp	eax, 3
	ja	.L616
	cmp	eax, 1
	je	.L617
	cmp	eax, 2
	je	.L618
	jmp	.L616
.L617:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L619
.L618:
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -40[rbp]
	movsd	QWORD PTR 8[rax], xmm0
	jmp	.L619
.L615:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	r8, rdx
	mov	rcx, rax
	lea	rdx, .LC60[rip]
	mov	esi, 0
	mov	edi, 0
	mov	eax, 0
	call	snprintf@PLT
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	mov	rdi, rax
	call	create_string
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC60[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	destroy_string
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L619
.L616:
	lea	rcx, __PRETTY_FUNCTION__.15[rip]
	mov	edx, 2571
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L619:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	destroy_value
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE111:
	.size	value_add, .-value_add
	.section	.rodata
	.align 8
.LC61:
	.string	"- operator for the string is not defined."
	.text
	.globl	value_sub
	.type	value_sub, @function
value_sub:
.LFB112:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	value_convert_type
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	je	.L621
	cmp	eax, 3
	ja	.L622
	cmp	eax, 1
	je	.L623
	cmp	eax, 2
	je	.L624
	jmp	.L622
.L623:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	sub	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L625
.L624:
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR 8[rax]
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -24[rbp]
	movsd	QWORD PTR 8[rax], xmm0
	jmp	.L625
.L621:
	lea	rdi, .LC61[rip]
	mov	eax, 0
	call	raise_error
	jmp	.L625
.L622:
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 2593
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L625:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	destroy_value
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE112:
	.size	value_sub, .-value_sub
	.section	.rodata
	.align 8
.LC62:
	.string	"* operator for the string is not defined."
	.text
	.globl	value_mul
	.type	value_mul, @function
value_mul:
.LFB113:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	value_convert_type
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	je	.L627
	cmp	eax, 3
	ja	.L628
	cmp	eax, 1
	je	.L629
	cmp	eax, 2
	je	.L630
	jmp	.L628
.L629:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	imul	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L631
.L630:
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	mulsd	xmm0, xmm1
	mov	rax, QWORD PTR -24[rbp]
	movsd	QWORD PTR 8[rax], xmm0
	jmp	.L631
.L627:
	lea	rdi, .LC62[rip]
	mov	eax, 0
	call	raise_error
	jmp	.L631
.L628:
	lea	rcx, __PRETTY_FUNCTION__.13[rip]
	mov	edx, 2615
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L631:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	destroy_value
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE113:
	.size	value_mul, .-value_mul
	.section	.rodata
	.align 8
.LC63:
	.string	"/ operator for the string is not defined."
	.text
	.globl	value_div
	.type	value_div, @function
value_div:
.LFB114:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	value_convert_type
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	je	.L633
	cmp	eax, 3
	ja	.L634
	cmp	eax, 1
	je	.L635
	cmp	eax, 2
	je	.L636
	jmp	.L634
.L635:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	ecx, DWORD PTR 8[rdx]
	cdq
	idiv	ecx
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L637
.L636:
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR 8[rax]
	divsd	xmm0, xmm1
	mov	rax, QWORD PTR -24[rbp]
	movsd	QWORD PTR 8[rax], xmm0
	jmp	.L637
.L633:
	lea	rdi, .LC63[rip]
	mov	eax, 0
	call	raise_error
	jmp	.L637
.L634:
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 2637
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L637:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	destroy_value
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE114:
	.size	value_div, .-value_div
	.section	.rodata
	.align 8
.LC64:
	.string	"\\ operator for the double is not defined."
	.align 8
.LC65:
	.string	"\\ operator for the string is not defined."
	.text
	.globl	value_mod
	.type	value_mod, @function
value_mod:
.LFB115:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	value_convert_type
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	je	.L639
	cmp	eax, 3
	ja	.L640
	cmp	eax, 1
	je	.L641
	cmp	eax, 2
	je	.L642
	jmp	.L640
.L641:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	ecx, DWORD PTR 8[rdx]
	cdq
	idiv	ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L643
.L642:
	lea	rdi, .LC64[rip]
	mov	eax, 0
	call	raise_error
	jmp	.L643
.L639:
	lea	rdi, .LC65[rip]
	mov	eax, 0
	call	raise_error
	jmp	.L643
.L640:
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 2660
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L643:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	destroy_value
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE115:
	.size	value_mod, .-value_mod
	.globl	create_value_stack
	.type	create_value_stack, @function
create_value_stack:
.LFB116:
	.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	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	initialize_value_stack
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE116:
	.size	create_value_stack, .-create_value_stack
	.globl	destroy_value_stack
	.type	destroy_value_stack, @function
destroy_value_stack:
.LFB117:
	.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 -8[rbp]
	mov	rdi, rax
	call	uninitialize_value_stack
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE117:
	.size	destroy_value_stack, .-destroy_value_stack
	.globl	initialize_value_stack
	.type	initialize_value_stack, @function
initialize_value_stack:
.LFB118:
	.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	DWORD PTR -4[rbp], 16
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR 12[rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE118:
	.size	initialize_value_stack, .-initialize_value_stack
	.globl	uninitialize_value_stack
	.type	uninitialize_value_stack, @function
uninitialize_value_stack:
.LFB119:
	.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 -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stack_pop
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE119:
	.size	uninitialize_value_stack, .-uninitialize_value_stack
	.globl	stack_push
	.type	stack_push, @function
stack_push:
.LFB120:
	.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	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	edx, eax
	jl	.L650
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, [rax+rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
.L650:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE120:
	.size	stack_push, .-stack_push
	.globl	stack_push2
	.type	stack_push2, @function
stack_push2:
.LFB121:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	create_value5
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stack_push
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE121:
	.size	stack_push2, .-stack_push2
	.section	.rodata
.LC66:
	.string	"idx >= 0 && idx < st->top_"
	.text
	.globl	stack_peek
	.type	stack_peek, @function
stack_peek:
.LFB122:
	.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	DWORD PTR -28[rbp], esi
	cmp	DWORD PTR -28[rbp], 0
	jns	.L653
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, DWORD PTR -28[rbp]
	add	eax, edx
	jmp	.L654
.L653:
	mov	eax, DWORD PTR -28[rbp]
.L654:
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	js	.L655
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L658
.L655:
	lea	rcx, __PRETTY_FUNCTION__.10[rip]
	mov	edx, 2723
	lea	rsi, .LC9[rip]
	lea	rdi, .LC66[rip]
	call	__assert_fail@PLT
.L658:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE122:
	.size	stack_peek, .-stack_peek
	.section	.rodata
.LC67:
	.string	"n <= (size_t)st->top_"
.LC68:
	.string	"st->stack_[st->top_] != NULL"
	.text
	.globl	stack_pop
	.type	stack_pop, @function
stack_pop:
.LFB123:
	.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	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	cmp	QWORD PTR -16[rbp], rax
	jbe	.L661
	lea	rcx, __PRETTY_FUNCTION__.9[rip]
	mov	edx, 2730
	lea	rsi, .LC9[rip]
	lea	rdi, .LC67[rip]
	call	__assert_fail@PLT
.L663:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L662
	lea	rcx, __PRETTY_FUNCTION__.9[rip]
	mov	edx, 2733
	lea	rsi, .LC9[rip]
	lea	rdi, .LC68[rip]
	call	__assert_fail@PLT
.L662:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	destroy_value
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR [rax], 0
.L661:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, -1[rax]
	mov	QWORD PTR -16[rbp], rdx
	test	rax, rax
	jne	.L663
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE123:
	.size	stack_pop, .-stack_pop
	.globl	query_sysvar
	.type	query_sysvar, @function
query_sysvar:
.LFB124:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L665
.L668:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, table.8[rip+8]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	string_equal_igcase
	test	al, al
	je	.L666
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, table.8[rip]
	mov	eax, DWORD PTR [rdx+rax]
	jmp	.L667
.L666:
	add	DWORD PTR -4[rbp], 1
.L665:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, table.8[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, -1
	jne	.L668
	mov	eax, -1
.L667:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE124:
	.size	query_sysvar, .-query_sysvar
	.globl	create_execute_environment
	.type	create_execute_environment, @function
create_execute_environment:
.LFB125:
	.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	edi, 40
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	eax, 0
	call	create_list
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, 0
	call	create_list
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	eax, 0
	call	create_list
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	eax, 0
	call	create_list
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	eax, 0
	call	create_variable_table
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE125:
	.size	create_execute_environment, .-create_execute_environment
	.globl	destroy_execute_environment
	.type	destroy_execute_environment, @function
destroy_execute_environment:
.LFB126:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L672
.L674:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	and	eax, 1
	test	eax, eax
	je	.L673
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	destroy_ast_node
.L673:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -64[rbp], rax
.L672:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L674
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	list_free_all
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	destroy_list
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L675
.L676:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	uninitialize_parse_context
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	destroy_parse_context
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
.L675:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L676
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	list_free_all
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	destroy_list
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L677
.L678:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	destroy_ast
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -48[rbp], rax
.L677:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L678
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	list_free_all
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	destroy_list
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L679
.L680:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -40[rbp], rax
.L679:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L680
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	list_free_all
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	destroy_list
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	destroy_variable_table
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE126:
	.size	destroy_execute_environment, .-destroy_execute_environment
	.globl	initialize_execute_status
	.type	initialize_execute_status, @function
initialize_execute_status:
.LFB127:
	.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, 0
	call	create_value_stack
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 144[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 536[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 160[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 164[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 168[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR 540[rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE127:
	.size	initialize_execute_status, .-initialize_execute_status
	.globl	uninitialize_execute_status
	.type	uninitialize_execute_status, @function
uninitialize_execute_status:
.LFB128:
	.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 -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	destroy_value_stack
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE128:
	.size	uninitialize_execute_status, .-uninitialize_execute_status
	.globl	_cl
	.type	_cl, @function
_cl:
.LFB129:
	.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	edx, 0
	mov	esi, 0
	mov	edi, 36
	call	create_ast_node
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE129:
	.size	_cl, .-_cl
	.globl	_cj
	.type	_cj, @function
_cj:
.LFB130:
	.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	edx, 0
	mov	esi, 0
	mov	edi, 37
	call	create_ast_node
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE130:
	.size	_cj, .-_cj
	.globl	_aj
	.type	_aj, @function
_aj:
.LFB131:
	.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	QWORD PTR -32[rbp], rsi
	mov	eax, 0
	call	_cj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	eax, 0
	call	create_list_node
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	list_append
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE131:
	.size	_aj, .-_aj
	.section	.rodata
	.align 8
.LC69:
	.string	"dispatcher->tag_ == NODE_IF_DISPATCHER"
	.text
	.type	flatten, @function
flatten:
.LFB132:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	BYTE PTR -89[rbp], 1
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	jne	.L689
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L690
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	flatten
.L690:
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L691
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	flatten
.L691:
	mov	BYTE PTR -89[rbp], 0
	jmp	.L692
.L689:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 33
	jne	.L692
	mov	eax, 0
	call	create_list_node
	mov	QWORD PTR -88[rbp], rax
	mov	edx, 0
	mov	esi, 0
	mov	edi, 35
	call	create_ast_node
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 32[rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	list_append
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 34
	je	.L693
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 2899
	lea	rsi, .LC9[rip]
	lea	rdi, .LC69[rip]
	call	__assert_fail@PLT
.L693:
	mov	eax, 0
	call	create_list_node
	mov	QWORD PTR -64[rbp], rax
	mov	eax, 0
	call	_cl
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	eax, 0
	call	create_list_node
	mov	QWORD PTR -56[rbp], rax
	mov	eax, 0
	call	_cl
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	eax, 0
	call	create_list_node
	mov	QWORD PTR -48[rbp], rax
	mov	eax, 0
	call	_cl
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	_aj
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	_aj
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	list_append
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	flatten
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	_aj
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	list_append
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L694
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	flatten
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	_aj
.L694:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	list_append
	mov	BYTE PTR -89[rbp], 0
.L692:
	cmp	BYTE PTR -89[rbp], 0
	je	.L697
	mov	eax, 0
	call	create_list_node
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	list_append
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L696
	mov	eax, 0
	call	create_list_node
	mov	QWORD PTR -16[rbp], rax
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	create_string3
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	list_append
	jmp	.L697
.L696:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 28
	jne	.L697
	mov	eax, 0
	call	create_list_node
	mov	QWORD PTR -32[rbp], rax
	mov	edx, 0
	mov	esi, 0
	mov	edi, 29
	call	create_ast_node
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	list_append
.L697:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE132:
	.size	flatten, .-flatten
	.type	walk, @function
walk:
.LFB133:
	.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	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 6
	je	.L699
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 23
	jne	.L700
.L699:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	search_variable
	test	rax, rax
	jne	.L700
	mov	esi, 24
	mov	edi, 1
	call	calloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	esi, 32
	mov	edi, 1
	call	calloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	variable_set
.L700:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L701
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	walk
.L701:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L703
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	walk
.L703:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE133:
	.size	walk, .-walk
	.globl	load_script
	.type	load_script, @function
load_script:
.LFB134:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR -112[rbp]
	lea	rax, -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	initialize_tokenize_context
	mov	eax, 0
	call	create_parse_context
	mov	QWORD PTR -80[rbp], rax
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	initialize_parse_context
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	parse_script
	mov	QWORD PTR -72[rbp], rax
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	uninitialize_tokenize_context
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
	jmp	.L705
.L706:
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	flatten
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -96[rbp], rax
.L705:
	cmp	QWORD PTR -96[rbp], 0
	jne	.L706
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	jmp	.L707
.L708:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	walk
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -88[rbp], rax
.L707:
	cmp	QWORD PTR -88[rbp], 0
	jne	.L708
	mov	eax, 0
	call	create_list_node
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	list_append
	mov	eax, 0
	call	create_list_node
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	list_append
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L709
	call	__stack_chk_fail@PLT
.L709:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE134:
	.size	load_script, .-load_script
	.section	.rodata
	.align 8
.LC70:
	.string	"n->token_->tag_ == TOKEN_IDENTIFIER"
.LC71:
	.string	"Command not found:%s"
.LC72:
	.string	"delegate != NULL"
.LC73:
	.string	"s->stack_->top_ == top"
	.align 8
.LC74:
	.string	"Substitution: Please specify a variable."
.LC75:
	.string	"n->left_ != NULL"
	.align 8
.LC77:
	.string	"no minus value in the string.[%s]"
.LC78:
	.string	"s->stack_->top_ == top + 1"
	.align 8
.LC79:
	.string	"cannot arrays in the system variable."
	.align 8
.LC80:
	.string	"System variable(cnt): cannot refer outside the repeat-loop."
	.align 8
.LC81:
	.string	"Function not found, Array variable is one dimension only.@@ %s"
	.align 8
.LC82:
	.string	"Return from outside the subroutine is invalid."
.LC83:
	.string	"label_node != NULL"
	.align 8
.LC84:
	.string	"label_node->tag_ == NODE_LABEL"
.LC85:
	.string	"goto: Label not found.@@ %s"
.LC86:
	.string	"gosub: Label not found.@@ %s"
.LC87:
	.string	"gosub: Nesting is too deep."
.LC88:
	.string	"repeat: Nesting is too deep."
.LC89:
	.string	"s->current_loop_frame_ > 0"
.LC90:
	.string	"s->node_cur_ != NULL"
	.align 8
.LC91:
	.string	"loop,continue: is not in repeat-loop."
.LC92:
	.string	"break: is not in repeat-loop."
	.align 8
.LC93:
	.string	"break: couldn't repeat-loop in goto, and break."
.LC94:
	.string	"n->right_ != NULL"
.LC95:
	.string	"n->ext_ != NULL"
	.text
	.globl	evaluate
	.type	evaluate, @function
evaluate:
.LFB135:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 336
	mov	QWORD PTR -312[rbp], rdi
	mov	QWORD PTR -320[rbp], rsi
	mov	QWORD PTR -328[rbp], rdx
	mov	rax, QWORD PTR -320[rbp]
	movzx	eax, BYTE PTR 540[rax]
	test	al, al
	jne	.L837
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 37
	ja	.L834
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L715[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L715[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L715:
	.long	.L838-.L715
	.long	.L838-.L715
	.long	.L737-.L715
	.long	.L736-.L715
	.long	.L735-.L715
	.long	.L734-.L715
	.long	.L733-.L715
	.long	.L732-.L715
	.long	.L731-.L715
	.long	.L731-.L715
	.long	.L731-.L715
	.long	.L731-.L715
	.long	.L731-.L715
	.long	.L731-.L715
	.long	.L731-.L715
	.long	.L731-.L715
	.long	.L731-.L715
	.long	.L731-.L715
	.long	.L731-.L715
	.long	.L731-.L715
	.long	.L731-.L715
	.long	.L730-.L715
	.long	.L729-.L715
	.long	.L728-.L715
	.long	.L727-.L715
	.long	.L726-.L715
	.long	.L725-.L715
	.long	.L724-.L715
	.long	.L723-.L715
	.long	.L722-.L715
	.long	.L721-.L715
	.long	.L721-.L715
	.long	.L720-.L715
	.long	.L719-.L715
	.long	.L835-.L715
	.long	.L717-.L715
	.long	.L838-.L715
	.long	.L714-.L715
	.text
.L737:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L740
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
.L740:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L839
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
	jmp	.L839
.L736:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 25
	je	.L742
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3031
	lea	rsi, .LC9[rip]
	lea	rdi, .LC70[rip]
	call	__assert_fail@PLT
.L742:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	query_command
	mov	DWORD PTR -260[rbp], eax
	cmp	DWORD PTR -260[rbp], -1
	jne	.L743
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC71[rip]
	mov	eax, 0
	call	raise_error
.L743:
	mov	eax, DWORD PTR -260[rbp]
	mov	edi, eax
	call	get_command_delegate
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L744
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3038
	lea	rsi, .LC9[rip]
	lea	rdi, .LC72[rip]
	call	__assert_fail@PLT
.L744:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -256[rbp], eax
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L745
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
.L745:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	sub	eax, DWORD PTR -256[rbp]
	mov	DWORD PTR -252[rbp], eax
	mov	edx, DWORD PTR -252[rbp]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	r8, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -256[rbp], eax
	je	.L840
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3045
	lea	rsi, .LC9[rip]
	lea	rdi, .LC73[rip]
	call	__assert_fail@PLT
.L735:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L747
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
.L747:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L841
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
	jmp	.L841
.L734:
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, -2
	mov	rdi, rax
	call	stack_peek
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	je	.L749
	lea	rdi, .LC74[rip]
	mov	eax, 0
	call	raise_error
.L749:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, -1
	mov	rdi, rax
	call	stack_peek
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	value_isolate
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L750
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rsi, QWORD PTR -24[rbp]
	mov	ecx, edx
	mov	edx, 0
	mov	rdi, rax
	call	variable_set
	jmp	.L751
.L750:
	mov	rax, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	variable_set
.L751:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 2
	mov	rdi, rax
	call	stack_pop
	jmp	.L739
.L733:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	search_variable
	mov	QWORD PTR -64[rbp], rax
	cmp	QWORD PTR -64[rbp], 0
	jne	.L752
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3079
	lea	rsi, .LC9[rip]
	lea	rdi, .LC44[rip]
	call	__assert_fail@PLT
.L752:
	mov	DWORD PTR -296[rbp], 0
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	je	.L753
	mov	rdx, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, -1
	mov	rdi, rax
	call	stack_peek
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	value_calc_int
	mov	DWORD PTR -296[rbp], eax
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 1
	mov	rdi, rax
	call	stack_pop
.L753:
	mov	edx, DWORD PTR -296[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	create_value4
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stack_push
	jmp	.L739
.L732:
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
	jmp	.L739
.L731:
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, -2
	mov	rdi, rax
	call	stack_peek
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, -1
	mov	rdi, rax
	call	stack_peek
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	value_isolate
	mov	rax, QWORD PTR -328[rbp]
	mov	eax, DWORD PTR [rax]
	sub	eax, 8
	cmp	eax, 12
	ja	.L836
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L756[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L756[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L756:
	.long	.L768-.L756
	.long	.L767-.L756
	.long	.L766-.L756
	.long	.L765-.L756
	.long	.L764-.L756
	.long	.L763-.L756
	.long	.L762-.L756
	.long	.L761-.L756
	.long	.L760-.L756
	.long	.L759-.L756
	.long	.L758-.L756
	.long	.L757-.L756
	.long	.L755-.L756
	.text
.L768:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	value_bor
	jmp	.L769
.L767:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	value_band
	jmp	.L769
.L766:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	value_eq
	jmp	.L769
.L765:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	value_neq
	jmp	.L769
.L764:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	value_gt
	jmp	.L769
.L763:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	value_gtoe
	jmp	.L769
.L762:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	value_lt
	jmp	.L769
.L761:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	value_ltoe
	jmp	.L769
.L760:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	value_add
	jmp	.L769
.L759:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	value_sub
	jmp	.L769
.L758:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	value_mul
	jmp	.L769
.L757:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	value_div
	jmp	.L769
.L755:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	value_mod
	jmp	.L769
.L836:
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3154
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L769:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 1
	mov	rdi, rax
	call	stack_pop
	jmp	.L739
.L730:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L770
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3161
	lea	rsi, .LC9[rip]
	lea	rdi, .LC75[rip]
	call	__assert_fail@PLT
.L770:
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, -1
	mov	rdi, rax
	call	stack_peek
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	value_isolate
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 3
	je	.L771
	cmp	eax, 3
	ja	.L772
	cmp	eax, 1
	je	.L773
	cmp	eax, 2
	je	.L774
	jmp	.L772
.L773:
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 8[rax]
	neg	eax
	mov	edx, eax
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L775
.L774:
	mov	rax, QWORD PTR -96[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	movq	xmm1, QWORD PTR .LC76[rip]
	xorpd	xmm0, xmm1
	mov	rax, QWORD PTR -96[rbp]
	movsd	QWORD PTR 8[rax], xmm0
	jmp	.L775
.L771:
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rsi, rax
	lea	rdi, .LC77[rip]
	mov	eax, 0
	call	raise_error
	jmp	.L775
.L772:
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3176
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L775:
	jmp	.L739
.L729:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 10
	je	.L776
	cmp	eax, 10
	jg	.L777
	cmp	eax, 8
	je	.L778
	cmp	eax, 9
	je	.L779
	jmp	.L777
.L778:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	atoi@PLT
	mov	edi, eax
	call	create_value
	mov	rdx, rax
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	stack_push
	jmp	.L780
.L779:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	atof@PLT
	movq	rax, xmm0
	movq	xmm0, rax
	call	create_value2
	mov	rdx, rax
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	stack_push
	jmp	.L780
.L776:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	create_value3
	mov	rdx, rax
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	stack_push
	jmp	.L780
.L777:
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3193
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L780:
	jmp	.L739
.L728:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 25
	je	.L781
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3199
	lea	rsi, .LC9[rip]
	lea	rdi, .LC70[rip]
	call	__assert_fail@PLT
.L781:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -276[rbp], eax
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L782
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
.L782:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	sub	eax, DWORD PTR -276[rbp]
	mov	DWORD PTR -272[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	query_function
	mov	DWORD PTR -268[rbp], eax
	cmp	DWORD PTR -268[rbp], 0
	js	.L783
	mov	eax, DWORD PTR -268[rbp]
	mov	edi, eax
	call	get_function_delegate
	mov	QWORD PTR -104[rbp], rax
	cmp	QWORD PTR -104[rbp], 0
	jne	.L784
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3211
	lea	rsi, .LC9[rip]
	lea	rdi, .LC72[rip]
	call	__assert_fail@PLT
.L784:
	mov	edx, DWORD PTR -272[rbp]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	r8, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	mov	edx, DWORD PTR -276[rbp]
	add	edx, 1
	cmp	eax, edx
	je	.L842
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3213
	lea	rsi, .LC9[rip]
	lea	rdi, .LC78[rip]
	call	__assert_fail@PLT
.L783:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	query_sysvar
	mov	DWORD PTR -264[rbp], eax
	cmp	DWORD PTR -264[rbp], 0
	js	.L786
	cmp	DWORD PTR -272[rbp], 0
	jle	.L787
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rax
	lea	rdi, .LC79[rip]
	mov	eax, 0
	call	raise_error
.L787:
	mov	eax, DWORD PTR -272[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	stack_pop
	cmp	DWORD PTR -264[rbp], 0
	jne	.L788
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	test	eax, eax
	jg	.L789
	lea	rdi, .LC80[rip]
	mov	eax, 0
	call	raise_error
.L789:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	sub	eax, 1
	mov	rcx, QWORD PTR -320[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	add	rax, 168
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	create_value
	mov	rdx, rax
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	stack_push
	nop
	jmp	.L842
.L788:
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3232
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L786:
	cmp	DWORD PTR -272[rbp], 1
	jle	.L791
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rax
	lea	rdi, .LC81[rip]
	mov	eax, 0
	call	raise_error
.L791:
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	search_variable
	mov	QWORD PTR -128[rbp], rax
	cmp	QWORD PTR -128[rbp], 0
	jne	.L792
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3243
	lea	rsi, .LC9[rip]
	lea	rdi, .LC44[rip]
	call	__assert_fail@PLT
.L792:
	mov	DWORD PTR -292[rbp], 0
	cmp	DWORD PTR -272[rbp], 0
	jle	.L793
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, -1
	mov	rdi, rax
	call	stack_peek
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	value_calc_int
	mov	DWORD PTR -292[rbp], eax
.L793:
	mov	edx, DWORD PTR -292[rbp]
	mov	rax, QWORD PTR -128[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	create_value4
	mov	QWORD PTR -112[rbp], rax
	mov	eax, DWORD PTR -272[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	stack_pop
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stack_push
	jmp	.L842
.L727:
	mov	rax, QWORD PTR -320[rbp]
	mov	BYTE PTR 540[rax], 1
	jmp	.L739
.L726:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 144[rax]
	test	eax, eax
	jg	.L794
	lea	rdi, .LC82[rip]
	mov	eax, 0
	call	raise_error
.L794:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L795
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, -1
	mov	rdi, rax
	call	stack_peek
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	value_get_primitive_tag
	cmp	eax, 3
	je	.L843
	cmp	eax, 3
	ja	.L797
	cmp	eax, 1
	je	.L844
	cmp	eax, 2
	je	.L845
.L797:
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3274
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L843:
	nop
	jmp	.L800
.L844:
	nop
	jmp	.L800
.L845:
	nop
.L800:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 1
	mov	rdi, rax
	call	stack_pop
.L795:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 144[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	DWORD PTR 144[rax], edx
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, DWORD PTR 144[rax]
	mov	rax, QWORD PTR -320[rbp]
	movsx	rdx, edx
	add	rdx, 2
	mov	rdx, QWORD PTR [rax+rdx*8]
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L739
.L725:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -168[rbp], rax
	cmp	QWORD PTR -168[rbp], 0
	jne	.L801
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3285
	lea	rsi, .LC9[rip]
	lea	rdi, .LC83[rip]
	call	__assert_fail@PLT
.L801:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	je	.L802
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3286
	lea	rsi, .LC9[rip]
	lea	rdi, .LC84[rip]
	call	__assert_fail@PLT
.L802:
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -160[rbp], rax
	mov	rdx, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	search_label
	mov	QWORD PTR -152[rbp], rax
	cmp	QWORD PTR -152[rbp], 0
	jne	.L803
	mov	rax, QWORD PTR -160[rbp]
	mov	rsi, rax
	lea	rdi, .LC85[rip]
	mov	eax, 0
	call	raise_error
.L803:
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, QWORD PTR -152[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L739
.L724:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -192[rbp], rax
	cmp	QWORD PTR -192[rbp], 0
	jne	.L804
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3297
	lea	rsi, .LC9[rip]
	lea	rdi, .LC83[rip]
	call	__assert_fail@PLT
.L804:
	mov	rax, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	je	.L805
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3298
	lea	rsi, .LC9[rip]
	lea	rdi, .LC84[rip]
	call	__assert_fail@PLT
.L805:
	mov	rax, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -184[rbp], rax
	mov	rdx, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	search_label
	mov	QWORD PTR -176[rbp], rax
	cmp	QWORD PTR -176[rbp], 0
	jne	.L806
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rax
	lea	rdi, .LC86[rip]
	mov	eax, 0
	call	raise_error
.L806:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 144[rax]
	cmp	eax, 14
	jle	.L807
	lea	rdi, .LC87[rip]
	mov	eax, 0
	call	raise_error
.L807:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 144[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	DWORD PTR 144[rax], edx
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 144[rax]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -320[rbp]
	movsx	rcx, ecx
	add	rcx, 2
	mov	QWORD PTR [rax+rcx*8], rdx
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, QWORD PTR -176[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L739
.L723:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	cmp	eax, 14
	jle	.L808
	lea	rdi, .LC88[rip]
	mov	eax, 0
	call	raise_error
.L808:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	DWORD PTR 536[rax], edx
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rsi, QWORD PTR -320[rbp]
	movsx	rcx, ecx
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 3
	add	rax, rsi
	add	rax, 152
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	sub	eax, 1
	mov	rcx, QWORD PTR -320[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	add	rax, 168
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	sub	eax, 1
	mov	rcx, QWORD PTR -320[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	add	rax, 160
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	sub	eax, 1
	mov	rcx, QWORD PTR -320[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	add	rax, 164
	mov	DWORD PTR [rax], 0
	mov	DWORD PTR -288[rbp], -1
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L809
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, -1
	mov	rdi, rax
	call	stack_peek
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	mov	rdi, rax
	call	value_calc_int
	mov	DWORD PTR -288[rbp], eax
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 1
	mov	rdi, rax
	call	stack_pop
.L809:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	sub	eax, 1
	mov	rcx, QWORD PTR -320[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	lea	rdx, 164[rax]
	mov	eax, DWORD PTR -288[rbp]
	mov	DWORD PTR [rdx], eax
	jmp	.L739
.L722:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	test	eax, eax
	jg	.L810
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3332
	lea	rsi, .LC9[rip]
	lea	rdi, .LC89[rip]
	call	__assert_fail@PLT
.L810:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	sub	eax, 1
	mov	rcx, QWORD PTR -320[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	add	rax, 164
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	js	.L846
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	sub	eax, 1
	mov	rcx, QWORD PTR -320[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	add	rax, 160
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	sub	eax, 1
	mov	rsi, QWORD PTR -320[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rsi
	add	rax, 164
	mov	eax, DWORD PTR [rax]
	cmp	ecx, eax
	jl	.L846
	mov	DWORD PTR -284[rbp], 0
	jmp	.L812
.L816:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 28
	jne	.L813
	add	DWORD PTR -284[rbp], 1
	jmp	.L814
.L813:
	mov	rax, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 30
	jne	.L814
	mov	eax, DWORD PTR -284[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -284[rbp], edx
	test	eax, eax
	je	.L847
.L814:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 8[rax], rdx
.L812:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L816
	jmp	.L815
.L847:
	nop
.L815:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L817
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3348
	lea	rsi, .LC9[rip]
	lea	rdi, .LC90[rip]
	call	__assert_fail@PLT
.L817:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	DWORD PTR 536[rax], edx
	jmp	.L846
.L721:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	test	eax, eax
	jg	.L818
	lea	rdi, .LC91[rip]
	mov	eax, 0
	call	raise_error
.L818:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	lea	edx, -1[rax]
	mov	rsi, QWORD PTR -320[rbp]
	movsx	rcx, edx
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 3
	add	rax, rsi
	add	rax, 160
	mov	eax, DWORD PTR [rax]
	lea	ecx, 1[rax]
	mov	rsi, QWORD PTR -320[rbp]
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rsi
	add	rax, 160
	mov	DWORD PTR [rax], ecx
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	lea	edx, -1[rax]
	mov	rsi, QWORD PTR -320[rbp]
	movsx	rcx, edx
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 3
	add	rax, rsi
	add	rax, 168
	mov	eax, DWORD PTR [rax]
	lea	ecx, 1[rax]
	mov	rsi, QWORD PTR -320[rbp]
	movsx	rdx, edx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rsi
	add	rax, 168
	mov	DWORD PTR [rax], ecx
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	sub	eax, 1
	mov	rcx, QWORD PTR -320[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	add	rax, 152
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L739
.L720:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	test	eax, eax
	jg	.L819
	lea	rdi, .LC92[rip]
	mov	eax, 0
	call	raise_error
.L819:
	mov	DWORD PTR -280[rbp], 0
	jmp	.L820
.L824:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 28
	jne	.L821
	add	DWORD PTR -280[rbp], 1
	jmp	.L822
.L821:
	mov	rax, QWORD PTR -216[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 30
	jne	.L822
	mov	eax, DWORD PTR -280[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -280[rbp], edx
	test	eax, eax
	je	.L848
.L822:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 8[rax], rdx
.L820:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L824
	jmp	.L823
.L848:
	nop
.L823:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L825
	lea	rdi, .LC93[rip]
	mov	eax, 0
	call	raise_error
.L825:
	mov	rax, QWORD PTR -320[rbp]
	mov	eax, DWORD PTR 536[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	DWORD PTR 536[rax], edx
	jmp	.L739
.L719:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L826
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3387
	lea	rsi, .LC9[rip]
	lea	rdi, .LC75[rip]
	call	__assert_fail@PLT
.L826:
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	jne	.L827
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3389
	lea	rsi, .LC9[rip]
	lea	rdi, .LC94[rip]
	call	__assert_fail@PLT
.L827:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 34
	je	.L828
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3391
	lea	rsi, .LC9[rip]
	lea	rdi, .LC69[rip]
	call	__assert_fail@PLT
.L828:
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, -1
	mov	rdi, rax
	call	stack_peek
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	rdi, rax
	call	value_calc_boolean
	mov	BYTE PTR -297[rbp], al
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 1
	mov	rdi, rax
	call	stack_pop
	cmp	BYTE PTR -297[rbp], 0
	je	.L829
	mov	rax, QWORD PTR -232[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
	jmp	.L849
.L829:
	mov	rax, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L849
	mov	rax, QWORD PTR -232[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
	jmp	.L849
.L835:
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3406
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L717:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	jne	.L831
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3409
	lea	rsi, .LC9[rip]
	lea	rdi, .LC95[rip]
	call	__assert_fail@PLT
.L831:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -248[rbp], rax
	mov	rdx, QWORD PTR -248[rbp]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, -1
	mov	rdi, rax
	call	stack_peek
	mov	QWORD PTR -240[rbp], rax
	mov	rax, QWORD PTR -240[rbp]
	mov	rdi, rax
	call	value_calc_boolean
	mov	BYTE PTR -298[rbp], al
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 1
	mov	rdi, rax
	call	stack_pop
	movzx	eax, BYTE PTR -298[rbp]
	xor	eax, 1
	test	al, al
	je	.L850
	mov	rax, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L850
.L714:
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	jne	.L833
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3423
	lea	rsi, .LC9[rip]
	lea	rdi, .LC95[rip]
	call	__assert_fail@PLT
.L833:
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -320[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L739
.L834:
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 3427
	lea	rsi, .LC9[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L838:
	nop
	jmp	.L710
.L839:
	nop
	jmp	.L710
.L840:
	nop
	jmp	.L710
.L841:
	nop
	jmp	.L710
.L842:
	nop
	jmp	.L710
.L846:
	nop
	jmp	.L710
.L849:
	nop
	jmp	.L710
.L850:
	nop
.L739:
	jmp	.L710
.L837:
	nop
.L710:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE135:
	.size	evaluate, .-evaluate
	.section	.rodata
.LC96:
	.string	"No executable node.@@ [%p]"
.LC97:
	.string	"top == s.stack_->top_"
	.text
	.globl	execute
	.type	execute, @function
execute:
.LFB136:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 592
	mov	QWORD PTR -584[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -560[rbp]
	mov	rdi, rax
	call	initialize_execute_status
	mov	rax, QWORD PTR -584[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -552[rbp], rax
	mov	rax, QWORD PTR -552[rbp]
	test	rax, rax
	jne	.L857
	mov	rax, QWORD PTR -584[rbp]
	mov	rsi, rax
	lea	rdi, .LC96[rip]
	mov	eax, 0
	call	raise_error
.L857:
	mov	rax, QWORD PTR -552[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -568[rbp], rax
	mov	rax, QWORD PTR -560[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -572[rbp], eax
	mov	rdx, QWORD PTR -568[rbp]
	lea	rcx, -560[rbp]
	mov	rax, QWORD PTR -584[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	evaluate
	mov	rax, QWORD PTR -560[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -572[rbp], eax
	je	.L853
	lea	rcx, __PRETTY_FUNCTION__.5[rip]
	mov	edx, 3446
	lea	rsi, .LC9[rip]
	lea	rdi, .LC97[rip]
	call	__assert_fail@PLT
.L853:
	movzx	eax, BYTE PTR -20[rbp]
	test	al, al
	jne	.L859
	mov	rax, QWORD PTR -552[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -552[rbp], rax
	mov	rax, QWORD PTR -552[rbp]
	test	rax, rax
	je	.L860
	jmp	.L857
.L859:
	nop
	jmp	.L855
.L860:
	nop
.L855:
	lea	rax, -560[rbp]
	mov	rdi, rax
	call	uninitialize_execute_status
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L858
	call	__stack_chk_fail@PLT
.L858:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE136:
	.size	execute, .-execute
	.globl	query_command
	.type	query_command, @function
query_command:
.LFB137:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L862
.L865:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, table.4[rip+8]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	string_equal_igcase
	test	al, al
	je	.L863
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, table.4[rip]
	mov	eax, DWORD PTR [rdx+rax]
	jmp	.L864
.L863:
	add	DWORD PTR -4[rbp], 1
.L862:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, table.4[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, -1
	jne	.L865
	mov	eax, -1
.L864:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE137:
	.size	query_command, .-query_command
	.globl	get_command_delegate
	.type	get_command_delegate, @function
get_command_delegate:
.LFB138:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, commands.3[rip]
	mov	rax, QWORD PTR [rdx+rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE138:
	.size	get_command_delegate, .-get_command_delegate
	.globl	query_function
	.type	query_function, @function
query_function:
.LFB139:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L869
.L872:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, table.2[rip+8]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	string_equal_igcase
	test	al, al
	je	.L870
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, table.2[rip]
	mov	eax, DWORD PTR [rdx+rax]
	jmp	.L871
.L870:
	add	DWORD PTR -4[rbp], 1
.L869:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, table.2[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	eax, -1
	jne	.L872
	mov	eax, -1
.L871:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE139:
	.size	query_function, .-query_function
	.globl	get_function_delegate
	.type	get_function_delegate, @function
get_function_delegate:
.LFB140:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, functions.1[rip]
	mov	rax, QWORD PTR [rdx+rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE140:
	.size	get_function_delegate, .-get_function_delegate
	.section	.rodata
.LC98:
	.string	"start.hsp"
.LC99:
	.string	"r"
	.align 8
.LC100:
	.string	"ERROR : cannot read such file %s\n"
.LC101:
	.string	"script != NULL"
	.text
	.globl	main
	.type	main, @function
main:
.LFB141:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -84[rbp], edi
	mov	QWORD PTR -96[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -64[rbp], 0
	mov	QWORD PTR -56[rbp], 0
	cmp	DWORD PTR -84[rbp], 1
	jle	.L876
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L877
.L876:
	lea	rax, .LC98[rip]
	mov	QWORD PTR -56[rbp], rax
.L877:
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC99[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L878
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	lea	rdi, .LC100[rip]
	mov	eax, 0
	call	raise_error
	mov	eax, -1
	jmp	.L879
.L878:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 2
	mov	esi, 0
	mov	rdi, rax
	call	fseek@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	ftell@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 4
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	fseek@PLT
	mov	QWORD PTR -40[rbp], 0
.L883:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	fgetc@PLT
	mov	DWORD PTR -72[rbp], eax
	cmp	DWORD PTR -72[rbp], -1
	je	.L887
	mov	eax, DWORD PTR -72[rbp]
	mov	BYTE PTR -73[rbp], al
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	ja	.L882
	sal	QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -64[rbp], rax
.L882:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	rdx, QWORD PTR -64[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -73[rbp]
	mov	BYTE PTR [rdx], al
	jmp	.L883
.L887:
	nop
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	fclose@PLT
	cmp	QWORD PTR -64[rbp], 0
	jne	.L884
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 3561
	lea	rsi, .LC9[rip]
	lea	rdi, .LC101[rip]
	call	__assert_fail@PLT
.L884:
	mov	edi, 0
	call	time@PLT
	mov	DWORD PTR -68[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	mov	edi, eax
	call	srand@PLT
	mov	eax, 0
	call	create_execute_environment
	mov	QWORD PTR -16[rbp], rax
	lea	rdx, -74[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	load_script
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	execute
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	destroy_execute_environment
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
.L879:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L885
	call	__stack_chk_fail@PLT
.L885:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE141:
	.size	main, .-main
	.section	.rodata
	.align 8
	.type	__PRETTY_FUNCTION__.50, @object
	.size	__PRETTY_FUNCTION__.50, 10
__PRETTY_FUNCTION__.50:
	.string	"link_next"
	.align 8
	.type	__PRETTY_FUNCTION__.49, @object
	.size	__PRETTY_FUNCTION__.49, 10
__PRETTY_FUNCTION__.49:
	.string	"link_prev"
	.align 8
	.type	__PRETTY_FUNCTION__.48, @object
	.size	__PRETTY_FUNCTION__.48, 13
__PRETTY_FUNCTION__.48:
	.string	"list_prepend"
	.align 8
	.type	__PRETTY_FUNCTION__.47, @object
	.size	__PRETTY_FUNCTION__.47, 12
__PRETTY_FUNCTION__.47:
	.string	"list_append"
.LC102:
	.string	"end"
.LC103:
	.string	"return"
.LC104:
	.string	"goto"
.LC105:
	.string	"gosub"
.LC106:
	.string	"repeat"
.LC107:
	.string	"loop"
.LC108:
	.string	"continue"
.LC109:
	.string	"break"
.LC110:
	.string	"if"
.LC111:
	.string	"else"
	.section	.data.rel.ro.local,"aw"
	.align 32
	.type	table.46, @object
	.size	table.46, 176
table.46:
	.long	0
	.zero	4
	.quad	.LC102
	.long	1
	.zero	4
	.quad	.LC103
	.long	2
	.zero	4
	.quad	.LC104
	.long	3
	.zero	4
	.quad	.LC105
	.long	4
	.zero	4
	.quad	.LC106
	.long	5
	.zero	4
	.quad	.LC107
	.long	6
	.zero	4
	.quad	.LC108
	.long	7
	.zero	4
	.quad	.LC109
	.long	8
	.zero	4
	.quad	.LC110
	.long	9
	.zero	4
	.quad	.LC111
	.long	-1
	.zero	4
	.quad	0
	.section	.rodata
.LC112:
	.string	"and"
.LC113:
	.string	"or"
	.section	.data.rel.ro.local
	.align 32
	.type	shadows.45, @object
	.size	shadows.45, 48
shadows.45:
	.long	12
	.zero	4
	.quad	.LC112
	.long	11
	.zero	4
	.quad	.LC113
	.long	-1
	.zero	4
	.quad	0
	.section	.rodata
	.align 8
	.type	__PRETTY_FUNCTION__.44, @object
	.size	__PRETTY_FUNCTION__.44, 11
__PRETTY_FUNCTION__.44:
	.string	"read_token"
	.align 8
	.type	__PRETTY_FUNCTION__.43, @object
	.size	__PRETTY_FUNCTION__.43, 13
__PRETTY_FUNCTION__.43:
	.string	"unread_token"
	.align 8
	.type	__PRETTY_FUNCTION__.42, @object
	.size	__PRETTY_FUNCTION__.42, 11
__PRETTY_FUNCTION__.42:
	.string	"prev_token"
	.align 16
	.type	__PRETTY_FUNCTION__.41, @object
	.size	__PRETTY_FUNCTION__.41, 17
__PRETTY_FUNCTION__.41:
	.string	"destroy_ast_node"
	.align 8
	.type	__PRETTY_FUNCTION__.40, @object
	.size	__PRETTY_FUNCTION__.40, 13
__PRETTY_FUNCTION__.40:
	.string	"parse_borand"
	.align 8
	.type	__PRETTY_FUNCTION__.39, @object
	.size	__PRETTY_FUNCTION__.39, 12
__PRETTY_FUNCTION__.39:
	.string	"parse_eqneq"
	.align 8
	.type	__PRETTY_FUNCTION__.38, @object
	.size	__PRETTY_FUNCTION__.38, 11
__PRETTY_FUNCTION__.38:
	.string	"parse_gtlt"
	.align 8
	.type	__PRETTY_FUNCTION__.37, @object
	.size	__PRETTY_FUNCTION__.37, 13
__PRETTY_FUNCTION__.37:
	.string	"parse_addsub"
	.align 16
	.type	__PRETTY_FUNCTION__.36, @object
	.size	__PRETTY_FUNCTION__.36, 16
__PRETTY_FUNCTION__.36:
	.string	"parse_muldivmod"
	.align 16
	.type	__PRETTY_FUNCTION__.35, @object
	.size	__PRETTY_FUNCTION__.35, 17
__PRETTY_FUNCTION__.35:
	.string	"prepare_variable"
	.align 8
	.type	__PRETTY_FUNCTION__.34, @object
	.size	__PRETTY_FUNCTION__.34, 13
__PRETTY_FUNCTION__.34:
	.string	"variable_set"
	.align 16
	.type	__PRETTY_FUNCTION__.33, @object
	.size	__PRETTY_FUNCTION__.33, 18
__PRETTY_FUNCTION__.33:
	.string	"variable_data_ptr"
	.align 16
	.type	__PRETTY_FUNCTION__.32, @object
	.size	__PRETTY_FUNCTION__.32, 18
__PRETTY_FUNCTION__.32:
	.string	"variable_calc_int"
	.align 16
	.type	__PRETTY_FUNCTION__.31, @object
	.size	__PRETTY_FUNCTION__.31, 21
__PRETTY_FUNCTION__.31:
	.string	"variable_calc_double"
	.align 16
	.type	__PRETTY_FUNCTION__.30, @object
	.size	__PRETTY_FUNCTION__.30, 21
__PRETTY_FUNCTION__.30:
	.string	"variable_calc_string"
	.align 16
	.type	__PRETTY_FUNCTION__.29, @object
	.size	__PRETTY_FUNCTION__.29, 19
__PRETTY_FUNCTION__.29:
	.string	"value_calc_boolean"
	.align 8
	.type	__PRETTY_FUNCTION__.28, @object
	.size	__PRETTY_FUNCTION__.28, 15
__PRETTY_FUNCTION__.28:
	.string	"value_calc_int"
	.align 16
	.type	__PRETTY_FUNCTION__.27, @object
	.size	__PRETTY_FUNCTION__.27, 18
__PRETTY_FUNCTION__.27:
	.string	"value_calc_double"
	.align 16
	.type	__PRETTY_FUNCTION__.26, @object
	.size	__PRETTY_FUNCTION__.26, 18
__PRETTY_FUNCTION__.26:
	.string	"value_calc_string"
	.align 16
	.type	__PRETTY_FUNCTION__.25, @object
	.size	__PRETTY_FUNCTION__.25, 19
__PRETTY_FUNCTION__.25:
	.string	"value_convert_type"
	.align 8
	.type	__PRETTY_FUNCTION__.24, @object
	.size	__PRETTY_FUNCTION__.24, 14
__PRETTY_FUNCTION__.24:
	.string	"value_isolate"
	.align 8
	.type	__PRETTY_FUNCTION__.23, @object
	.size	__PRETTY_FUNCTION__.23, 10
__PRETTY_FUNCTION__.23:
	.string	"value_bor"
	.align 8
	.type	__PRETTY_FUNCTION__.22, @object
	.size	__PRETTY_FUNCTION__.22, 11
__PRETTY_FUNCTION__.22:
	.string	"value_band"
	.align 8
	.type	__PRETTY_FUNCTION__.21, @object
	.size	__PRETTY_FUNCTION__.21, 9
__PRETTY_FUNCTION__.21:
	.string	"value_eq"
	.align 8
	.type	__PRETTY_FUNCTION__.20, @object
	.size	__PRETTY_FUNCTION__.20, 10
__PRETTY_FUNCTION__.20:
	.string	"value_neq"
	.align 8
	.type	__PRETTY_FUNCTION__.19, @object
	.size	__PRETTY_FUNCTION__.19, 9
__PRETTY_FUNCTION__.19:
	.string	"value_gt"
	.align 8
	.type	__PRETTY_FUNCTION__.18, @object
	.size	__PRETTY_FUNCTION__.18, 11
__PRETTY_FUNCTION__.18:
	.string	"value_gtoe"
	.align 8
	.type	__PRETTY_FUNCTION__.17, @object
	.size	__PRETTY_FUNCTION__.17, 9
__PRETTY_FUNCTION__.17:
	.string	"value_lt"
	.align 8
	.type	__PRETTY_FUNCTION__.16, @object
	.size	__PRETTY_FUNCTION__.16, 11
__PRETTY_FUNCTION__.16:
	.string	"value_ltoe"
	.align 8
	.type	__PRETTY_FUNCTION__.15, @object
	.size	__PRETTY_FUNCTION__.15, 10
__PRETTY_FUNCTION__.15:
	.string	"value_add"
	.align 8
	.type	__PRETTY_FUNCTION__.14, @object
	.size	__PRETTY_FUNCTION__.14, 10
__PRETTY_FUNCTION__.14:
	.string	"value_sub"
	.align 8
	.type	__PRETTY_FUNCTION__.13, @object
	.size	__PRETTY_FUNCTION__.13, 10
__PRETTY_FUNCTION__.13:
	.string	"value_mul"
	.align 8
	.type	__PRETTY_FUNCTION__.12, @object
	.size	__PRETTY_FUNCTION__.12, 10
__PRETTY_FUNCTION__.12:
	.string	"value_div"
	.align 8
	.type	__PRETTY_FUNCTION__.11, @object
	.size	__PRETTY_FUNCTION__.11, 10
__PRETTY_FUNCTION__.11:
	.string	"value_mod"
	.align 8
	.type	__PRETTY_FUNCTION__.10, @object
	.size	__PRETTY_FUNCTION__.10, 11
__PRETTY_FUNCTION__.10:
	.string	"stack_peek"
	.align 8
	.type	__PRETTY_FUNCTION__.9, @object
	.size	__PRETTY_FUNCTION__.9, 10
__PRETTY_FUNCTION__.9:
	.string	"stack_pop"
.LC114:
	.string	"cnt"
	.section	.data.rel.ro.local
	.align 32
	.type	table.8, @object
	.size	table.8, 32
table.8:
	.long	0
	.zero	4
	.quad	.LC114
	.long	-1
	.zero	4
	.quad	0
	.section	.rodata
	.align 8
	.type	__PRETTY_FUNCTION__.7, @object
	.size	__PRETTY_FUNCTION__.7, 8
__PRETTY_FUNCTION__.7:
	.string	"flatten"
	.align 8
	.type	__PRETTY_FUNCTION__.6, @object
	.size	__PRETTY_FUNCTION__.6, 9
__PRETTY_FUNCTION__.6:
	.string	"evaluate"
	.align 8
	.type	__PRETTY_FUNCTION__.5, @object
	.size	__PRETTY_FUNCTION__.5, 8
__PRETTY_FUNCTION__.5:
	.string	"execute"
.LC115:
	.string	"mes"
	.section	.data.rel.ro.local
	.align 32
	.type	table.4, @object
	.size	table.4, 32
table.4:
	.long	0
	.zero	4
	.quad	.LC115
	.long	-1
	.zero	4
	.quad	0
	.align 16
	.type	commands.3, @object
	.size	commands.3, 16
commands.3:
	.quad	command_mes
	.quad	0
	.section	.rodata
.LC116:
	.string	"rnd"
	.section	.data.rel.ro.local
	.align 32
	.type	table.2, @object
	.size	table.2, 32
table.2:
	.long	0
	.zero	4
	.quad	.LC116
	.long	-1
	.zero	4
	.quad	0
	.align 16
	.type	functions.1, @object
	.size	functions.1, 16
functions.1:
	.quad	function_rnd
	.quad	0
	.section	.rodata
	.type	__PRETTY_FUNCTION__.0, @object
	.size	__PRETTY_FUNCTION__.0, 5
__PRETTY_FUNCTION__.0:
	.string	"main"
	.align 16
.LC76:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.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	"247018717.c"
	.text
	.section	.rodata
	.align	2
.LC0:
	.ascii	"Error Occurred!\000"
	.align	2
.LC1:
	.ascii	"\012Press Enter key to continue...\000"
	.align	2
.LC2:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	raise_error
	.syntax unified
	.arm
	.fpu softvfp
	.type	raise_error, %function
raise_error:
	@ args = 4, pretend = 16, frame = 536
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #536
	ldr	r3, [fp, #4]
	str	r3, [fp, #-536]
	ldr	r3, .L5
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-524]
	b	.L2
.L3:
	sub	r2, fp, #520
	ldr	r3, [fp, #-524]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-524]
	add	r3, r3, #1
	str	r3, [fp, #-524]
.L2:
	ldr	r3, [fp, #-524]
	cmp	r3, #512
	blt	.L3
	add	r3, fp, #8
	str	r3, [fp, #-528]
	sub	r3, fp, #520
	ldr	r2, [fp, #-528]
	ldr	r1, [fp, #-536]
	mov	r0, r3
	bl	vsprintf
	ldr	r0, .L5+4
	bl	puts
	ldr	r3, .L5+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-528]
	ldr	r1, [fp, #-536]
	mov	r0, r3
	bl	vfprintf
	ldr	r0, .L5+12
	bl	printf
	ldr	r3, .L5+16
	ldr	r3, [r3]
	mov	r0, r3
	bl	fgetc
	mvn	r0, #0
	bl	exit
.L6:
	.align	2
.L5:
	.word	.LC2
	.word	.LC0
	.word	stderr
	.word	.LC1
	.word	stdin
	.size	raise_error, .-raise_error
	.align	2
	.global	create_string
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_string, %function
create_string:
	@ 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]
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	create_string, .-create_string
	.align	2
	.global	create_string2
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_string2, %function
create_string2:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r0, [fp, #-20]
	bl	create_string
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	strncpy
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	create_string2, .-create_string2
	.section	.rodata
	.align	2
.LC3:
	.ascii	"\000"
	.text
	.align	2
	.global	create_string3
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_string3, %function
create_string3:
	@ 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, #0
	bne	.L12
	mov	r1, #0
	ldr	r0, .L14
	bl	create_string2
	mov	r3, r0
	b	.L13
.L12:
	ldr	r0, [fp, #-8]
	bl	strlen
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	create_string2
	mov	r3, r0
.L13:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L15:
	.align	2
.L14:
	.word	.LC3
	.size	create_string3, .-create_string3
	.align	2
	.global	destroy_string
	.syntax unified
	.arm
	.fpu softvfp
	.type	destroy_string, %function
destroy_string:
	@ 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	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	destroy_string, .-destroy_string
	.section	.rodata
	.align	2
.LC4:
	.ascii	"%d\000"
	.text
	.align	2
	.global	create_string_from
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_string_from, %function
create_string_from:
	@ 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	r3, [fp, #-16]
	ldr	r2, .L19
	mov	r1, #0
	mov	r0, #0
	bl	snprintf
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	create_string
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-16]
	ldr	r1, .L19
	ldr	r0, [fp, #-8]
	bl	sprintf
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L20:
	.align	2
.L19:
	.word	.LC4
	.size	create_string_from, .-create_string_from
	.section	.rodata
	.align	2
.LC5:
	.ascii	"%lf\000"
	.text
	.align	2
	.global	create_string_from2
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_string_from2, %function
create_string_from2:
	@ 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, #-20]
	str	r1, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldr	r2, .L23
	mov	r1, #0
	mov	r0, #0
	bl	snprintf
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	create_string
	str	r0, [fp, #-8]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	ldr	r1, .L23
	ldr	r0, [fp, #-8]
	bl	sprintf
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L24:
	.align	2
.L23:
	.word	.LC5
	.size	create_string_from2, .-create_string_from2
	.align	2
	.global	tol
	.syntax unified
	.arm
	.fpu softvfp
	.type	tol, %function
tol:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L26
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L26
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	add	r3, r3, #32
	b	.L27
.L26:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
.L27:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	tol, .-tol
	.align	2
	.global	string_equal_igcase
	.syntax unified
	.arm
	.fpu softvfp
	.type	string_equal_igcase, %function
string_equal_igcase:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-16]
.L37:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L29
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L30
.L29:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bge	.L31
	ldr	r3, [fp, #-24]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L38
	mov	r3, #0
	b	.L33
.L31:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L34
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	beq	.L38
.L34:
	mov	r3, #0
	b	.L33
.L30:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	tol
	mov	r4, r0
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	tol
	mov	r3, r0
	cmp	r4, r3
	beq	.L36
	mov	r3, #0
	b	.L33
.L36:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L37
.L38:
	nop
	mov	r3, #1
.L33:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	string_equal_igcase, .-string_equal_igcase
	.align	2
	.global	clear_value
	.syntax unified
	.arm
	.fpu softvfp
	.type	clear_value, %function
clear_value:
	@ 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]
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L42
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	destroy_string
	b	.L41
.L42:
	nop
.L41:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	clear_value, .-clear_value
	.align	2
	.global	search_label
	.syntax unified
	.arm
	.fpu softvfp
	.type	search_label, %function
search_label:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L44
.L47:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mvn	r2, #0
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	string_equal_igcase
	mov	r3, r0
	cmp	r3, #0
	beq	.L45
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	b	.L46
.L45:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L44:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L47
	mov	r3, #0
.L46:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	search_label, .-search_label
	.section	.rodata
	.align	2
.LC6:
	.ascii	"mes: Invalid argument.\000"
	.align	2
.LC7:
	.ascii	"mes: Invalid value.\000"
	.text
	.align	2
	.global	command_mes
	.syntax unified
	.arm
	.fpu softvfp
	.type	command_mes, %function
command_mes:
	@ 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]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	beq	.L49
	ldr	r0, .L51
	bl	raise_error
.L49:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mvn	r1, #0
	mov	r0, r3
	bl	stack_peek
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	value_isolate
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L50
	ldr	r0, .L51+4
	bl	raise_error
.L50:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	puts
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	mov	r1, r2
	mov	r0, r3
	bl	stack_pop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L52:
	.align	2
.L51:
	.word	.LC6
	.word	.LC7
	.size	command_mes, .-command_mes
	.section	.rodata
	.align	2
.LC8:
	.ascii	"rnd: Invalid argument.\000"
	.align	2
.LC9:
	.ascii	"rnd: Please specify 1 or more.@@ %d\000"
	.global	__aeabi_idivmod
	.text
	.align	2
	.global	function_rnd
	.syntax unified
	.arm
	.fpu softvfp
	.type	function_rnd, %function
function_rnd:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #1
	beq	.L54
	ldr	r0, .L56
	bl	raise_error
.L54:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	mvn	r1, #0
	mov	r0, r3
	bl	stack_peek
	str	r0, [fp, #-24]
	ldr	r0, [fp, #-24]
	bl	value_calc_int
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bgt	.L55
	ldr	r1, [fp, #-20]
	ldr	r0, .L56+4
	bl	raise_error
.L55:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	ldr	r2, [fp, #-40]
	mov	r1, r2
	mov	r0, r3
	bl	stack_pop
	bl	rand
	mov	r3, r0
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-36]
	ldr	r4, [r3]
	ldr	r0, [fp, #-16]
	bl	create_value
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	stack_push
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L57:
	.align	2
.L56:
	.word	.LC8
	.word	.LC9
	.size	function_rnd, .-function_rnd
	.align	2
	.global	create_list_node
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_list_node, %function
create_list_node:
	@ 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	r0, #12
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	create_list_node, .-create_list_node
	.align	2
	.global	destroy_list_node
	.syntax unified
	.arm
	.fpu softvfp
	.type	destroy_list_node, %function
destroy_list_node:
	@ 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	r0, [fp, #-8]
	bl	unlink_list_node
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	destroy_list_node, .-destroy_list_node
	.section	.rodata
	.align	2
.LC10:
	.ascii	"the_stack_data/247018717.c\000"
	.align	2
.LC11:
	.ascii	"node->prev_ == NULL && node->next_ == NULL\000"
	.text
	.align	2
	.global	link_next
	.syntax unified
	.arm
	.fpu softvfp
	.type	link_next, %function
link_next:
	@ 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, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L62
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L64
.L62:
	ldr	r3, .L65
	ldr	r2, .L65+4
	ldr	r1, .L65+8
	ldr	r0, .L65+12
	bl	__assert_fail
.L64:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L66:
	.align	2
.L65:
	.word	__PRETTY_FUNCTION__.7049
	.word	618
	.word	.LC10
	.word	.LC11
	.size	link_next, .-link_next
	.align	2
	.global	link_prev
	.syntax unified
	.arm
	.fpu softvfp
	.type	link_prev, %function
link_prev:
	@ 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, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L68
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L70
.L68:
	ldr	r3, .L71
	ldr	r2, .L71+4
	ldr	r1, .L71+8
	ldr	r0, .L71+12
	bl	__assert_fail
.L70:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L72:
	.align	2
.L71:
	.word	__PRETTY_FUNCTION__.7054
	.word	627
	.word	.LC10
	.word	.LC11
	.size	link_prev, .-link_prev
	.align	2
	.global	unlink_list_node
	.syntax unified
	.arm
	.fpu softvfp
	.type	unlink_list_node, %function
unlink_list_node:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L74
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L74
	mov	r3, #0
	b	.L75
.L74:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L76
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #4]
	str	r2, [r3, #4]
.L76:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L77
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2]
	str	r2, [r3]
.L77:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	mov	r3, #1
.L75:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	unlink_list_node, .-unlink_list_node
	.align	2
	.global	create_list
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_list, %function
create_list:
	@ 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	r0, #8
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	create_list, .-create_list
	.align	2
	.global	destroy_list
	.syntax unified
	.arm
	.fpu softvfp
	.type	destroy_list, %function
destroy_list:
	@ 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	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	destroy_list, .-destroy_list
	.section	.rodata
	.align	2
.LC12:
	.ascii	"list->tail_ == NULL\000"
	.text
	.align	2
	.global	list_prepend
	.syntax unified
	.arm
	.fpu softvfp
	.type	list_prepend, %function
list_prepend:
	@ 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, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L82
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L83
	ldr	r3, .L85
	ldr	r2, .L85+4
	ldr	r1, .L85+8
	ldr	r0, .L85+12
	bl	__assert_fail
.L83:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	b	.L81
.L82:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	link_prev
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
.L81:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L86:
	.align	2
.L85:
	.word	__PRETTY_FUNCTION__.7068
	.word	667
	.word	.LC10
	.word	.LC12
	.size	list_prepend, .-list_prepend
	.section	.rodata
	.align	2
.LC13:
	.ascii	"list->head_ == NULL\000"
	.text
	.align	2
	.global	list_append
	.syntax unified
	.arm
	.fpu softvfp
	.type	list_append, %function
list_append:
	@ 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, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L88
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L89
	ldr	r3, .L91
	ldr	r2, .L91+4
	ldr	r1, .L91+8
	ldr	r0, .L91+12
	bl	__assert_fail
.L89:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	b	.L87
.L88:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	link_next
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
.L87:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L92:
	.align	2
.L91:
	.word	__PRETTY_FUNCTION__.7073
	.word	679
	.word	.LC10
	.word	.LC13
	.size	list_append, .-list_append
	.align	2
	.global	list_erase
	.syntax unified
	.arm
	.fpu softvfp
	.type	list_erase, %function
list_erase:
	@ 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, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L94
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
.L94:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L95
	ldr	r3, [fp, #-12]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
.L95:
	ldr	r0, [fp, #-12]
	bl	unlink_list_node
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	list_erase, .-list_erase
	.align	2
	.global	list_find
	.syntax unified
	.arm
	.fpu softvfp
	.type	list_find, %function
list_find:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L97
.L100:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L98
	ldr	r3, [fp, #-8]
	b	.L99
.L98:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
.L97:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L100
	mov	r3, #0
.L99:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	list_find, .-list_find
	.align	2
	.global	list_free_all
	.syntax unified
	.arm
	.fpu softvfp
	.type	list_free_all, %function
list_free_all:
	@ 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	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L102
.L103:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	list_erase
	ldr	r0, [fp, #-12]
	bl	free
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
.L102:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L103
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	list_free_all, .-list_free_all
	.align	2
	.global	query_keyword
	.syntax unified
	.arm
	.fpu softvfp
	.type	query_keyword, %function
query_keyword:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L105
.L108:
	ldr	r2, .L109
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	string_equal_igcase
	mov	r3, r0
	cmp	r3, #0
	beq	.L106
	ldr	r2, .L109
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #3]
	b	.L107
.L106:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L105:
	ldr	r2, .L109
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #3]
	cmn	r3, #1
	bne	.L108
	mvn	r3, #0
.L107:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L110:
	.align	2
.L109:
	.word	table.7100
	.size	query_keyword, .-query_keyword
	.align	2
	.global	query_token_shadow
	.syntax unified
	.arm
	.fpu softvfp
	.type	query_token_shadow, %function
query_token_shadow:
	@ 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]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L112
.L115:
	ldr	r2, .L116
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	string_equal_igcase
	mov	r3, r0
	cmp	r3, #0
	beq	.L113
	ldr	r2, .L116
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #3]
	b	.L114
.L113:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L112:
	ldr	r2, .L116
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #3]
	cmn	r3, #1
	bne	.L115
	mvn	r3, #0
.L114:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L117:
	.align	2
.L116:
	.word	shadows.7112
	.size	query_token_shadow, .-query_token_shadow
	.align	2
	.global	initialize_tokenize_context
	.syntax unified
	.arm
	.fpu softvfp
	.type	initialize_tokenize_context, %function
initialize_tokenize_context:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #12]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	initialize_tokenize_context, .-initialize_tokenize_context
	.align	2
	.global	uninitialize_tokenize_context
	.syntax unified
	.arm
	.fpu softvfp
	.type	uninitialize_tokenize_context, %function
uninitialize_tokenize_context:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	uninitialize_tokenize_context, .-uninitialize_tokenize_context
	.align	2
	.global	is_space
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_space, %function
is_space:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L121
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #9
	bne	.L122
.L121:
	mov	r3, #1
	b	.L123
.L122:
	mov	r3, #0
.L123:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	is_space, .-is_space
	.align	2
	.global	is_number
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_number, %function
is_number:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L126
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L126
	mov	r3, #1
	b	.L127
.L126:
	mov	r3, #0
.L127:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	is_number, .-is_number
	.align	2
	.global	is_alpha
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_alpha, %function
is_alpha:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #96
	bls	.L130
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #122
	bls	.L131
.L130:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L132
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L132
.L131:
	mov	r3, #1
	b	.L133
.L132:
	mov	r3, #0
.L133:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	is_alpha, .-is_alpha
	.align	2
	.global	is_rest_ident
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_rest_ident, %function
is_rest_ident:
	@ 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	is_number
	mov	r3, r0
	cmp	r3, #0
	bne	.L136
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	mov	r0, r3
	bl	is_alpha
	mov	r3, r0
	cmp	r3, #0
	bne	.L136
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #95
	bne	.L137
.L136:
	mov	r3, #1
	b	.L138
.L137:
	mov	r3, #0
.L138:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	is_rest_ident, .-is_rest_ident
	.section	.rodata
	.align	2
.LC14:
	.ascii	"EOF detected in string.@@ %d Row\000"
	.align	2
.LC15:
	.ascii	"Unknown character[%c]@@ %d Row\000"
	.text
	.align	2
	.global	get_token
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_token, %function
get_token:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	mov	r0, #24
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	mov	r2, #0
	strb	r2, [r3, #20]
	ldr	r3, [fp, #-36]
	mov	r2, #0
	strb	r2, [r3, #21]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	ldr	r2, [r2, #4]
	add	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	ldr	r2, [r2, #4]
	add	r3, r3, r2
	str	r3, [fp, #-40]
.L141:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r2, [fp, #-40]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #125
	ldrls	pc, [pc, r3, asl #2]
	b	.L142
.L144:
	.word	.L165
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L164
	.word	.L142
	.word	.L163
	.word	.L163
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L162
	.word	.L161
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L160
	.word	.L142
	.word	.L159
	.word	.L158
	.word	.L157
	.word	.L156
	.word	.L155
	.word	.L154
	.word	.L142
	.word	.L153
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L152
	.word	.L151
	.word	.L150
	.word	.L149
	.word	.L148
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L147
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L142
	.word	.L146
	.word	.L145
	.word	.L143
.L165:
	ldr	r3, [fp, #-36]
	mov	r2, #0
	str	r2, [r3]
	b	.L166
.L163:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	b	.L141
.L164:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-40]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	mov	r2, #1
	str	r2, [r3]
	b	.L166
.L152:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #2
	str	r2, [r3]
	b	.L166
.L146:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #3
	str	r2, [r3]
	b	.L166
.L143:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #4
	str	r2, [r3]
	b	.L166
.L159:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #5
	str	r2, [r3]
	b	.L166
.L158:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #6
	str	r2, [r3]
	b	.L166
.L155:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #7
	str	r2, [r3]
	b	.L166
.L145:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #11
	str	r2, [r3]
	b	.L166
.L160:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #12
	str	r2, [r3]
	b	.L166
.L162:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L167
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L167:
	ldr	r3, [fp, #-36]
	mov	r2, #14
	str	r2, [r3]
	b	.L166
.L148:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L168
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #16
	str	r2, [r3]
	b	.L166
.L168:
	ldr	r3, [fp, #-36]
	mov	r2, #15
	str	r2, [r3]
	b	.L166
.L150:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L170
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #18
	str	r2, [r3]
	b	.L166
.L170:
	ldr	r3, [fp, #-36]
	mov	r2, #17
	str	r2, [r3]
	b	.L166
.L156:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #19
	str	r2, [r3]
	b	.L166
.L154:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #20
	str	r2, [r3]
	b	.L166
.L157:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #21
	str	r2, [r3]
	b	.L166
.L153:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #22
	str	r2, [r3]
	b	.L166
.L147:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #23
	str	r2, [r3]
	b	.L166
.L149:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L172
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #13
	str	r2, [r3]
	b	.L166
.L172:
	ldr	r3, [fp, #-36]
	mov	r2, #24
	str	r2, [r3]
	b	.L166
.L161:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-20]
	b	.L174
.L177:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L175
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, .L200
	bl	raise_error
.L175:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L176
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	bne	.L176
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L176:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L174:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	bne	.L177
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	create_token_string
	mov	r2, r0
	ldr	r3, [fp, #-36]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-36]
	mov	r2, #10
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	b	.L166
.L151:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	b	.L178
.L180:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L178:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L141
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L180
	b	.L141
.L142:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	is_space
	mov	r3, r0
	cmp	r3, #0
	beq	.L181
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r2, #1
	strb	r2, [r3, #20]
	b	.L182
.L183:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L182:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	is_space
	mov	r3, r0
	cmp	r3, #0
	bne	.L183
	b	.L141
.L181:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	is_number
	mov	r3, r0
	cmp	r3, #0
	beq	.L184
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #48
	bne	.L187
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	b	.L186
.L188:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L187:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	is_number
	mov	r3, r0
	cmp	r3, #0
	bne	.L188
.L186:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L189
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	b	.L190
.L191:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L190:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	is_number
	mov	r3, r0
	cmp	r3, #0
	bne	.L191
	ldr	r3, [fp, #-36]
	mov	r2, #9
	str	r2, [r3]
	b	.L199
.L189:
	ldr	r3, [fp, #-36]
	mov	r2, #8
	str	r2, [r3]
	b	.L199
.L184:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	is_alpha
	mov	r3, r0
	cmp	r3, #0
	beq	.L193
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
	b	.L194
.L195:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L194:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	is_rest_ident
	mov	r3, r0
	cmp	r3, #0
	bne	.L195
	ldr	r3, [fp, #-36]
	mov	r2, #25
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r0, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-28]
	sub	r3, r2, r3
	mov	r1, r3
	bl	query_token_shadow
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	beq	.L199
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	b	.L199
.L193:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r0, .L200+4
	bl	raise_error
.L199:
	nop
.L166:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	is_space
	mov	r3, r0
	cmp	r3, #0
	beq	.L196
	ldr	r3, [fp, #-36]
	mov	r2, #1
	strb	r2, [r3, #21]
.L196:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #4]
	ldr	r1, [fp, #-40]
	ldr	r3, [fp, #-32]
	sub	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L197
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	bl	create_string
	mov	r2, r0
	ldr	r3, [fp, #-36]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-36]
	ldr	r0, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r2, [fp, #-36]
	ldr	r2, [r2, #8]
	add	r3, r3, r2
	ldr	r2, [fp, #-8]
	mov	r1, r3
	bl	memcpy
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
.L197:
	ldr	r3, [fp, #-36]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L201:
	.align	2
.L200:
	.word	.LC14
	.word	.LC15
	.size	get_token, .-get_token
	.align	2
	.global	destroy_token
	.syntax unified
	.arm
	.fpu softvfp
	.type	destroy_token, %function
destroy_token:
	@ 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]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L203
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	destroy_string
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
.L203:
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	destroy_token, .-destroy_token
	.section	.rodata
	.align	2
.LC16:
	.ascii	"Unknown escape sequence@@ %c%c\000"
	.text
	.align	2
	.global	create_token_string
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_token_string, %function
create_token_string:
	@ 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, #-24]
	str	r1, [fp, #-28]
	ldr	r0, [fp, #-28]
	bl	create_string
	str	r0, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L205
.L213:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L206
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bls	.L206
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #116
	beq	.L207
	cmp	r3, #116
	bgt	.L208
	cmp	r3, #34
	beq	.L209
	cmp	r3, #110
	beq	.L210
	b	.L208
.L207:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #9
	strb	r2, [r3]
	b	.L211
.L210:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #10
	strb	r2, [r3]
	b	.L211
.L209:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #34
	strb	r2, [r3]
	b	.L211
.L208:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r0, .L215
	bl	raise_error
	nop
.L211:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L212
.L206:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r1, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
.L212:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L205:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bcc	.L213
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L216:
	.align	2
.L215:
	.word	.LC16
	.size	create_token_string, .-create_token_string
	.align	2
	.global	create_parse_context
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_parse_context, %function
create_parse_context:
	@ 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	r0, #12
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	create_parse_context, .-create_parse_context
	.align	2
	.global	destroy_parse_context
	.syntax unified
	.arm
	.fpu softvfp
	.type	destroy_parse_context, %function
destroy_parse_context:
	@ 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	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	destroy_parse_context, .-destroy_parse_context
	.align	2
	.global	initialize_parse_context
	.syntax unified
	.arm
	.fpu softvfp
	.type	initialize_parse_context, %function
initialize_parse_context:
	@ 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]
	bl	create_list
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	initialize_parse_context, .-initialize_parse_context
	.align	2
	.global	uninitialize_parse_context
	.syntax unified
	.arm
	.fpu softvfp
	.type	uninitialize_parse_context, %function
uninitialize_parse_context:
	@ 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, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L222
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L223
.L224:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	destroy_token
	ldr	r0, [fp, #-16]
	bl	destroy_list_node
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-16]
.L223:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L224
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r0, r3
	bl	destroy_list
.L222:
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #4]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	uninitialize_parse_context, .-uninitialize_parse_context
	.section	.rodata
	.align	2
.LC17:
	.ascii	"c->token_current_ != NULL\000"
	.text
	.align	2
	.global	read_token
	.syntax unified
	.arm
	.fpu softvfp
	.type	read_token, %function
read_token:
	@ 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	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L226
	bl	create_list_node
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	get_token
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	list_append
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
.L226:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L227
	ldr	r3, .L229
	ldr	r2, .L229+4
	ldr	r1, .L229+8
	ldr	r0, .L229+12
	bl	__assert_fail
.L227:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L230:
	.align	2
.L229:
	.word	__PRETTY_FUNCTION__.7233
	.word	1129
	.word	.LC10
	.word	.LC17
	.size	read_token, .-read_token
	.align	2
	.global	unread_token
	.syntax unified
	.arm
	.fpu softvfp
	.type	unread_token, %function
unread_token:
	@ 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, [fp, #-12]
	cmp	r3, #0
	beq	.L238
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L235
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L235
.L237:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L236
	ldr	r3, .L239
	ldr	r2, .L239+4
	ldr	r1, .L239+8
	ldr	r0, .L239+12
	bl	__assert_fail
.L236:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
.L235:
	ldr	r3, [fp, #-12]
	sub	r2, r3, #1
	str	r2, [fp, #-12]
	cmp	r3, #0
	bne	.L237
	b	.L231
.L238:
	nop
.L231:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L240:
	.align	2
.L239:
	.word	__PRETTY_FUNCTION__.7239
	.word	1146
	.word	.LC10
	.word	.LC17
	.size	unread_token, .-unread_token
	.section	.rodata
	.align	2
.LC18:
	.ascii	"current != NULL\000"
	.text
	.align	2
	.global	prev_token
	.syntax unified
	.arm
	.fpu softvfp
	.type	prev_token, %function
prev_token:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L243
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	b	.L243
.L245:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L244
	ldr	r3, .L247
	ldr	r2, .L247+4
	ldr	r1, .L247+8
	ldr	r0, .L247+12
	bl	__assert_fail
.L244:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
.L243:
	ldr	r3, [fp, #-20]
	sub	r2, r3, #1
	str	r2, [fp, #-20]
	cmp	r3, #0
	bne	.L245
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L248:
	.align	2
.L247:
	.word	__PRETTY_FUNCTION__.7248
	.word	1159
	.word	.LC10
	.word	.LC18
	.size	prev_token, .-prev_token
	.align	2
	.global	create_ast_node
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_ast_node, %function
create_ast_node:
	@ 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]
	str	r2, [fp, #-24]
	mov	r0, #24
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	create_ast_node, .-create_ast_node
	.align	2
	.global	create_ast_node2
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_ast_node2, %function
create_ast_node2:
	@ 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]
	str	r2, [fp, #-24]
	mov	r0, #24
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	create_ast_node2, .-create_ast_node2
	.section	.rodata
	.align	2
.LC19:
	.ascii	"node != NULL\000"
	.text
	.align	2
	.global	destroy_ast_node
	.syntax unified
	.arm
	.fpu softvfp
	.type	destroy_ast_node, %function
destroy_ast_node:
	@ 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, #0
	bne	.L254
	ldr	r3, .L257
	ldr	r2, .L257+4
	ldr	r1, .L257+8
	ldr	r0, .L257+12
	bl	__assert_fail
.L254:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L255
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	destroy_ast_node
.L255:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L256
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	destroy_ast_node
.L256:
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L258:
	.align	2
.L257:
	.word	__PRETTY_FUNCTION__.7267
	.word	1194
	.word	.LC10
	.word	.LC19
	.size	destroy_ast_node, .-destroy_ast_node
	.align	2
	.global	is_eos_like_token
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_eos_like_token, %function
is_eos_like_token:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L260
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	beq	.L260
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	beq	.L260
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L261
.L260:
	mov	r3, #1
	b	.L262
.L261:
	mov	r3, #0
.L262:
	and	r3, r3, #1
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	is_eos_like_token, .-is_eos_like_token
	.section	.rodata
	.align	2
.LC20:
	.ascii	"Script couldn't be parsed successfully.@@ %d Row\000"
	.text
	.align	2
	.global	parse_script
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_script, %function
parse_script:
	@ 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, #-24]
	bl	create_list
	str	r0, [fp, #-20]
.L267:
	ldr	r0, [fp, #-24]
	bl	parse_statement
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L271
	bl	create_list_node
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-20]
	bl	list_append
	b	.L267
.L271:
	nop
	ldr	r0, [fp, #-24]
	bl	read_token
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L268
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L272
	bl	raise_error
.L268:
	ldr	r3, [fp, #-20]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L273:
	.align	2
.L272:
	.word	.LC20
	.size	parse_script, .-parse_script
	.align	2
	.global	destroy_ast
	.syntax unified
	.arm
	.fpu softvfp
	.type	destroy_ast, %function
destroy_ast:
	@ 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	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L275
.L276:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	destroy_ast_node
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L275:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L276
	ldr	r0, [fp, #-16]
	bl	list_free_all
	ldr	r0, [fp, #-16]
	bl	destroy_list
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	destroy_ast, .-destroy_ast
	.section	.rodata
	.align	2
.LC21:
	.ascii	"Statement cannot be parsed.@@ %d Row\000"
	.align	2
.LC22:
	.ascii	"Statement couldn't be parsed successfully.@@ %d Row"
	.ascii	"\000"
	.text
	.align	2
	.global	parse_statement
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_statement, %function
parse_statement:
	@ 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, #-24]
	ldr	r0, [fp, #-24]
	bl	read_token
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L278
	mov	r3, #0
	b	.L279
.L278:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r0, r3
	bl	is_eos_like_token
	mov	r3, r0
	cmp	r3, #0
	beq	.L280
	mov	r2, #0
	mov	r1, #0
	mov	r0, #0
	bl	create_ast_node
	mov	r3, r0
	b	.L279
.L280:
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	unread_token
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L281
	ldr	r0, [fp, #-24]
	bl	parse_label_safe
	str	r0, [fp, #-20]
.L281:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L282
	ldr	r0, [fp, #-24]
	bl	parse_control_safe
	str	r0, [fp, #-20]
.L282:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L283
	ldr	r0, [fp, #-24]
	bl	parse_command_safe
	str	r0, [fp, #-20]
.L283:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L284
	ldr	r0, [fp, #-24]
	bl	parse_assign_safe
	str	r0, [fp, #-20]
.L284:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L285
	ldr	r0, [fp, #-24]
	bl	read_token
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L287
	bl	raise_error
.L285:
	ldr	r0, [fp, #-24]
	bl	read_token
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	is_eos_like_token
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L286
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L287+4
	bl	raise_error
.L286:
	ldr	r3, [fp, #-20]
.L279:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L288:
	.align	2
.L287:
	.word	.LC21
	.word	.LC22
	.size	parse_statement, .-parse_statement
	.align	2
	.global	parse_label_safe
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_label_safe, %function
parse_label_safe:
	@ 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	read_token
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #21
	beq	.L290
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	unread_token
	mov	r3, #0
	b	.L291
.L290:
	ldr	r0, [fp, #-16]
	bl	read_token
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #25
	beq	.L292
	mov	r1, #2
	ldr	r0, [fp, #-16]
	bl	unread_token
	mov	r3, #0
	b	.L291
.L292:
	mov	r2, #0
	ldr	r1, [fp, #-8]
	mov	r0, #1
	bl	create_ast_node2
	mov	r3, r0
.L291:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	parse_label_safe, .-parse_label_safe
	.align	2
	.global	is_else_token
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_else_token, %function
is_else_token:
	@ 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]
	ldr	r3, [r3]
	cmp	r3, #25
	bne	.L294
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	query_keyword
	mov	r3, r0
	cmp	r3, #9
	bne	.L294
	mov	r3, #1
	b	.L295
.L294:
	mov	r3, #0
.L295:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	is_else_token, .-is_else_token
	.section	.rodata
	.align	2
.LC23:
	.ascii	"Labels must be specified for goto or gosub.@@ %d Ro"
	.ascii	"w\000"
	.align	2
.LC24:
	.ascii	"if contains statements that cannot be parsed.@@ %d "
	.ascii	"to %d Row\000"
	.align	2
.LC25:
	.ascii	"After if conditional, only { or : @@ %d Row\000"
	.align	2
.LC26:
	.ascii	"else contains statements that cannot be parsed.@@ %"
	.ascii	"d to %d Row\000"
	.align	2
.LC27:
	.ascii	"After else, only { or : @@ %d Row\000"
	.align	2
.LC28:
	.ascii	"Detected an unprocessed else.@@ %d Row\000"
	.text
	.align	2
	.global	parse_control_safe
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_control_safe, %function
parse_control_safe:
	@ args = 0, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #120
	str	r0, [fp, #-120]
	ldr	r0, [fp, #-120]
	bl	read_token
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	cmp	r3, #25
	beq	.L297
	mov	r1, #1
	ldr	r0, [fp, #-120]
	bl	unread_token
	mov	r3, #0
	b	.L298
.L297:
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	query_keyword
	str	r0, [fp, #-92]
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bge	.L299
	mov	r1, #1
	ldr	r0, [fp, #-120]
	bl	unread_token
	mov	r3, #0
	b	.L298
.L299:
	ldr	r3, [fp, #-92]
	cmp	r3, #9
	ldrls	pc, [pc, r3, asl #2]
	b	.L300
.L302:
	.word	.L310
	.word	.L309
	.word	.L308
	.word	.L308
	.word	.L307
	.word	.L306
	.word	.L305
	.word	.L304
	.word	.L303
	.word	.L301
.L310:
	mov	r2, #0
	mov	r1, #0
	mov	r0, #24
	bl	create_ast_node
	mov	r3, r0
	b	.L298
.L309:
	ldr	r0, [fp, #-120]
	bl	read_token
	str	r0, [fp, #-8]
	mov	r1, #1
	ldr	r0, [fp, #-120]
	bl	unread_token
	mov	r3, #0
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	is_eos_like_token
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L311
	ldr	r0, [fp, #-120]
	bl	parse_expression
	str	r0, [fp, #-112]
.L311:
	mov	r2, #0
	ldr	r1, [fp, #-112]
	mov	r0, #25
	bl	create_ast_node
	mov	r3, r0
	b	.L298
.L308:
	ldr	r0, [fp, #-120]
	bl	parse_label_safe
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L312
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L345
	bl	raise_error
.L312:
	ldr	r3, [fp, #-92]
	cmp	r3, #2
	bne	.L313
	mov	r3, #26
	b	.L314
.L313:
	mov	r3, #27
.L314:
	str	r3, [fp, #-12]
	mov	r2, #0
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	create_ast_node
	mov	r3, r0
	b	.L298
.L307:
	ldr	r0, [fp, #-120]
	bl	read_token
	str	r0, [fp, #-20]
	mov	r1, #1
	ldr	r0, [fp, #-120]
	bl	unread_token
	mov	r3, #0
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r0, r3
	bl	is_eos_like_token
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L315
	ldr	r0, [fp, #-120]
	bl	parse_expression
	str	r0, [fp, #-108]
.L315:
	mov	r2, #0
	ldr	r1, [fp, #-108]
	mov	r0, #28
	bl	create_ast_node
	mov	r3, r0
	b	.L298
.L306:
	mov	r2, #0
	mov	r1, #0
	mov	r0, #30
	bl	create_ast_node
	mov	r3, r0
	b	.L298
.L305:
	mov	r2, #0
	mov	r1, #0
	mov	r0, #31
	bl	create_ast_node
	mov	r3, r0
	b	.L298
.L304:
	mov	r2, #0
	mov	r1, #0
	mov	r0, #32
	bl	create_ast_node
	mov	r3, r0
	b	.L298
.L303:
	ldr	r0, [fp, #-120]
	bl	parse_expression
	str	r0, [fp, #-88]
	ldr	r0, [fp, #-120]
	bl	read_token
	str	r0, [fp, #-84]
	mov	r3, #0
	strb	r3, [fp, #-113]
	mov	r2, #0
	mov	r1, #0
	mov	r0, #2
	bl	create_ast_node
	str	r0, [fp, #-104]
	mov	r3, #0
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L316
.L320:
	mov	r1, #0
	ldr	r0, [fp, #-120]
	bl	prev_token
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	cmp	r3, #4
	beq	.L341
	ldr	r0, [fp, #-120]
	bl	parse_statement
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L319
	ldr	r3, [fp, #-64]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #16]
	mov	r2, r3
	ldr	r0, .L345+4
	bl	raise_error
.L319:
	ldr	r2, [fp, #-60]
	ldr	r1, [fp, #-104]
	mov	r0, #2
	bl	create_ast_node
	str	r0, [fp, #-104]
	b	.L320
.L316:
	mov	r1, #1
	ldr	r0, [fp, #-120]
	bl	unread_token
	ldr	r0, [fp, #-120]
	bl	read_token
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	cmp	r3, #2
	beq	.L326
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L345+8
	bl	raise_error
.L326:
	mov	r1, #0
	ldr	r0, [fp, #-120]
	bl	prev_token
	str	r0, [fp, #-76]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L323
	mov	r3, #1
	strb	r3, [fp, #-113]
	b	.L321
.L323:
	ldr	r0, [fp, #-120]
	bl	read_token
	str	r0, [fp, #-72]
	mov	r1, #1
	ldr	r0, [fp, #-120]
	bl	unread_token
	ldr	r0, [fp, #-72]
	bl	is_else_token
	mov	r3, r0
	cmp	r3, #0
	bne	.L342
	ldr	r0, [fp, #-120]
	bl	parse_statement
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L325
	ldr	r3, [fp, #-72]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #16]
	mov	r2, r3
	ldr	r0, .L345+4
	bl	raise_error
.L325:
	ldr	r2, [fp, #-68]
	ldr	r1, [fp, #-104]
	mov	r0, #2
	bl	create_ast_node
	str	r0, [fp, #-104]
	b	.L326
.L341:
	nop
	b	.L321
.L342:
	nop
.L321:
	ldr	r0, [fp, #-120]
	bl	read_token
	str	r0, [fp, #-56]
	ldr	r0, [fp, #-56]
	bl	is_else_token
	mov	r3, r0
	cmp	r3, #0
	beq	.L327
	mov	r3, #0
	strb	r3, [fp, #-113]
	mov	r2, #0
	mov	r1, #0
	mov	r0, #2
	bl	create_ast_node
	str	r0, [fp, #-100]
	ldr	r0, [fp, #-120]
	bl	read_token
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L328
.L332:
	mov	r1, #0
	ldr	r0, [fp, #-120]
	bl	prev_token
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	cmp	r3, #4
	beq	.L343
	ldr	r0, [fp, #-120]
	bl	parse_statement
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L331
	ldr	r3, [fp, #-56]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #16]
	mov	r2, r3
	ldr	r0, .L345+12
	bl	raise_error
.L331:
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-100]
	mov	r0, #2
	bl	create_ast_node
	str	r0, [fp, #-100]
	b	.L332
.L328:
	mov	r1, #1
	ldr	r0, [fp, #-120]
	bl	unread_token
	ldr	r0, [fp, #-120]
	bl	read_token
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	cmp	r3, #2
	beq	.L338
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L345+16
	bl	raise_error
.L338:
	mov	r1, #0
	ldr	r0, [fp, #-120]
	bl	prev_token
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L335
	mov	r3, #1
	strb	r3, [fp, #-113]
	b	.L339
.L335:
	ldr	r0, [fp, #-120]
	bl	read_token
	str	r0, [fp, #-40]
	mov	r1, #1
	ldr	r0, [fp, #-120]
	bl	unread_token
	ldr	r0, [fp, #-40]
	bl	is_else_token
	mov	r3, r0
	cmp	r3, #0
	bne	.L344
	ldr	r0, [fp, #-120]
	bl	parse_statement
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L337
	ldr	r3, [fp, #-40]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #16]
	mov	r2, r3
	ldr	r0, .L345+12
	bl	raise_error
.L337:
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-100]
	mov	r0, #2
	bl	create_ast_node
	str	r0, [fp, #-100]
	b	.L338
.L327:
	mov	r1, #1
	ldr	r0, [fp, #-120]
	bl	unread_token
	b	.L339
.L343:
	nop
	b	.L339
.L344:
	nop
.L339:
	ldrb	r3, [fp, #-113]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L340
	mov	r1, #1
	ldr	r0, [fp, #-120]
	bl	unread_token
.L340:
	ldr	r2, [fp, #-100]
	ldr	r1, [fp, #-104]
	mov	r0, #34
	bl	create_ast_node
	str	r0, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-88]
	mov	r0, #33
	bl	create_ast_node
	mov	r3, r0
	b	.L298
.L301:
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L345+20
	bl	raise_error
	nop
.L300:
	mov	r1, #1
	ldr	r0, [fp, #-120]
	bl	unread_token
	mov	r3, #0
.L298:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L346:
	.align	2
.L345:
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.size	parse_control_safe, .-parse_control_safe
	.align	2
	.global	parse_command_safe
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_command_safe, %function
parse_command_safe:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	ldr	r0, [fp, #-32]
	bl	read_token
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #25
	beq	.L348
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	unread_token
	mov	r3, #0
	b	.L349
.L348:
	ldr	r0, [fp, #-32]
	bl	read_token
	str	r0, [fp, #-12]
	mov	r3, #0
	strb	r3, [fp, #-21]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #24
	bne	.L350
	mov	r3, #1
	strb	r3, [fp, #-21]
.L350:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #21]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L351
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #5
	bne	.L351
	mov	r3, #1
	strb	r3, [fp, #-21]
.L351:
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L352
	mov	r1, #2
	ldr	r0, [fp, #-32]
	bl	unread_token
	mov	r3, #0
	b	.L349
.L352:
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r0, r3
	bl	is_eos_like_token
	mov	r3, r0
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L353
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	unread_token
	ldr	r0, [fp, #-32]
	bl	parse_arguments
	str	r0, [fp, #-20]
	b	.L354
.L353:
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	unread_token
.L354:
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-16]
	mov	r0, #3
	bl	create_ast_node2
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L349:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	parse_command_safe, .-parse_command_safe
	.align	2
	.global	parse_arguments
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_arguments, %function
parse_arguments:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	ldr	r0, [fp, #-32]
	bl	parse_expression
	str	r0, [fp, #-20]
	mov	r2, #0
	ldr	r1, [fp, #-20]
	mov	r0, #4
	bl	create_ast_node
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-24]
.L358:
	ldr	r0, [fp, #-32]
	bl	read_token
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #7
	beq	.L356
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	unread_token
	b	.L360
.L356:
	ldr	r0, [fp, #-32]
	bl	parse_expression
	str	r0, [fp, #-8]
	mov	r2, #0
	ldr	r1, [fp, #-8]
	mov	r0, #4
	bl	create_ast_node
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-24]
	b	.L358
.L360:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	parse_arguments, .-parse_arguments
	.section	.rodata
	.align	2
.LC29:
	.ascii	"Value substitution: = is required.@@ %d Row\000"
	.text
	.align	2
	.global	parse_assign_safe
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_assign_safe, %function
parse_assign_safe:
	@ 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, #-24]
	ldr	r0, [fp, #-24]
	bl	parse_variable_safe
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L362
	mov	r3, #0
	b	.L363
.L362:
	ldr	r0, [fp, #-24]
	bl	read_token
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #24
	beq	.L364
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L365
	bl	raise_error
.L364:
	ldr	r0, [fp, #-24]
	bl	parse_expression
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-20]
	mov	r0, #5
	bl	create_ast_node
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L363:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L366:
	.align	2
.L365:
	.word	.LC29
	.size	parse_assign_safe, .-parse_assign_safe
	.section	.rodata
	.align	2
.LC30:
	.ascii	"Array variable is one dimension only.@@ %d Row\000"
	.align	2
.LC31:
	.ascii	"Array variable: Parentheses are not closed.@@ %d Ro"
	.ascii	"w\000"
	.text
	.align	2
	.global	parse_variable_safe
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_variable_safe, %function
parse_variable_safe:
	@ 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, #-24]
	ldr	r0, [fp, #-24]
	bl	read_token
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #25
	beq	.L368
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	unread_token
	mov	r3, #0
	b	.L369
.L368:
	ldr	r0, [fp, #-24]
	bl	read_token
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #5
	beq	.L370
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	unread_token
	mov	r2, #0
	ldr	r1, [fp, #-20]
	mov	r0, #6
	bl	create_ast_node2
	mov	r3, r0
	b	.L369
.L370:
	ldr	r0, [fp, #-24]
	bl	parse_expression
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	read_token
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #6
	beq	.L371
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #7
	bne	.L372
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L373
	bl	raise_error
.L372:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L373+4
	bl	raise_error
.L371:
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-20]
	mov	r0, #6
	bl	create_ast_node2
	mov	r3, r0
.L369:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L374:
	.align	2
.L373:
	.word	.LC30
	.word	.LC31
	.size	parse_variable_safe, .-parse_variable_safe
	.align	2
	.global	parse_expression
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_expression, %function
parse_expression:
	@ 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	r0, [fp, #-8]
	bl	parse_borand
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	parse_expression, .-parse_expression
	.section	.rodata
	.align	2
.LC32:
	.ascii	"|,& Operator analysis failed.@@ %d Row\000"
	.align	2
.LC33:
	.ascii	"false\000"
	.text
	.align	2
	.global	parse_borand
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_borand, %function
parse_borand:
	@ 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, #-24]
	ldr	r0, [fp, #-24]
	bl	parse_eqneq
	str	r0, [fp, #-16]
.L387:
	mov	r3, #1
	strb	r3, [fp, #-17]
	ldr	r0, [fp, #-24]
	bl	read_token
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	sub	r3, r3, #11
	cmp	r3, #1
	bhi	.L378
	ldr	r0, [fp, #-24]
	bl	parse_eqneq
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L379
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L391
	bl	raise_error
.L379:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #11
	beq	.L380
	cmp	r3, #12
	beq	.L381
	b	.L389
.L380:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	mov	r0, #8
	bl	create_ast_node
	str	r0, [fp, #-16]
	b	.L383
.L381:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	mov	r0, #9
	bl	create_ast_node
	str	r0, [fp, #-16]
	b	.L383
.L389:
	ldr	r3, .L391+4
	ldr	r2, .L391+8
	ldr	r1, .L391+12
	ldr	r0, .L391+16
	bl	__assert_fail
.L383:
	b	.L384
.L378:
	mov	r3, #0
	strb	r3, [fp, #-17]
	nop
.L384:
	ldrb	r3, [fp, #-17]
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L387
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	unread_token
	nop
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L392:
	.align	2
.L391:
	.word	.LC32
	.word	__PRETTY_FUNCTION__.7401
	.word	1604
	.word	.LC10
	.word	.LC33
	.size	parse_borand, .-parse_borand
	.section	.rodata
	.align	2
.LC34:
	.ascii	"==,!= Operator analysis failed.@@ %d Row\000"
	.text
	.align	2
	.global	parse_eqneq
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_eqneq, %function
parse_eqneq:
	@ 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, #-24]
	ldr	r0, [fp, #-24]
	bl	parse_gtlt
	str	r0, [fp, #-16]
.L405:
	mov	r3, #1
	strb	r3, [fp, #-17]
	ldr	r0, [fp, #-24]
	bl	read_token
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #14
	bgt	.L394
	cmp	r3, #13
	bge	.L395
	b	.L396
.L394:
	cmp	r3, #24
	bne	.L396
.L395:
	ldr	r0, [fp, #-24]
	bl	parse_gtlt
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L397
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L408
	bl	raise_error
.L397:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #24
	beq	.L398
	cmp	r3, #24
	bgt	.L399
	cmp	r3, #13
	beq	.L398
	cmp	r3, #14
	beq	.L400
	b	.L399
.L398:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	mov	r0, #10
	bl	create_ast_node
	str	r0, [fp, #-16]
	b	.L401
.L400:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	mov	r0, #11
	bl	create_ast_node
	str	r0, [fp, #-16]
	b	.L401
.L399:
	ldr	r3, .L408+4
	ldr	r2, .L408+8
	ldr	r1, .L408+12
	ldr	r0, .L408+16
	bl	__assert_fail
.L401:
	b	.L402
.L396:
	mov	r3, #0
	strb	r3, [fp, #-17]
	nop
.L402:
	ldrb	r3, [fp, #-17]
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L405
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	unread_token
	nop
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L409:
	.align	2
.L408:
	.word	.LC34
	.word	__PRETTY_FUNCTION__.7421
	.word	1645
	.word	.LC10
	.word	.LC33
	.size	parse_eqneq, .-parse_eqneq
	.section	.rodata
	.align	2
.LC35:
	.ascii	">,>=,<,<= Operator analysis failed.@@ %d Row\000"
	.text
	.align	2
	.global	parse_gtlt
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_gtlt, %function
parse_gtlt:
	@ 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, #-24]
	ldr	r0, [fp, #-24]
	bl	parse_addsub
	str	r0, [fp, #-16]
.L423:
	mov	r3, #1
	strb	r3, [fp, #-17]
	ldr	r0, [fp, #-24]
	bl	read_token
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	sub	r3, r3, #15
	cmp	r3, #3
	bhi	.L411
	ldr	r0, [fp, #-24]
	bl	parse_addsub
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L412
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L427
	bl	raise_error
.L412:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	sub	r3, r3, #15
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L425
.L415:
	.word	.L418
	.word	.L417
	.word	.L416
	.word	.L414
.L418:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	mov	r0, #12
	bl	create_ast_node
	str	r0, [fp, #-16]
	b	.L419
.L417:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	mov	r0, #13
	bl	create_ast_node
	str	r0, [fp, #-16]
	b	.L419
.L416:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	mov	r0, #14
	bl	create_ast_node
	str	r0, [fp, #-16]
	b	.L419
.L414:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	mov	r0, #15
	bl	create_ast_node
	str	r0, [fp, #-16]
	b	.L419
.L425:
	ldr	r3, .L427+4
	ldr	r2, .L427+8
	ldr	r1, .L427+12
	ldr	r0, .L427+16
	bl	__assert_fail
.L419:
	b	.L420
.L411:
	mov	r3, #0
	strb	r3, [fp, #-17]
	nop
.L420:
	ldrb	r3, [fp, #-17]
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L423
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	unread_token
	nop
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L428:
	.align	2
.L427:
	.word	.LC35
	.word	__PRETTY_FUNCTION__.7443
	.word	1692
	.word	.LC10
	.word	.LC33
	.size	parse_gtlt, .-parse_gtlt
	.section	.rodata
	.align	2
.LC36:
	.ascii	"+- Operator analysis failed.@@ %d Row\000"
	.text
	.align	2
	.global	parse_addsub
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_addsub, %function
parse_addsub:
	@ 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, #-24]
	ldr	r0, [fp, #-24]
	bl	parse_muldivmod
	str	r0, [fp, #-16]
.L439:
	mov	r3, #1
	strb	r3, [fp, #-17]
	ldr	r0, [fp, #-24]
	bl	read_token
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	sub	r3, r3, #19
	cmp	r3, #1
	bhi	.L430
	ldr	r0, [fp, #-24]
	bl	parse_muldivmod
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L431
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L443
	bl	raise_error
.L431:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #19
	beq	.L432
	cmp	r3, #20
	beq	.L433
	b	.L441
.L432:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	mov	r0, #16
	bl	create_ast_node
	str	r0, [fp, #-16]
	b	.L435
.L433:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	mov	r0, #17
	bl	create_ast_node
	str	r0, [fp, #-16]
	b	.L435
.L441:
	ldr	r3, .L443+4
	ldr	r2, .L443+8
	ldr	r1, .L443+12
	ldr	r0, .L443+16
	bl	__assert_fail
.L435:
	b	.L436
.L430:
	mov	r3, #0
	strb	r3, [fp, #-17]
	nop
.L436:
	ldrb	r3, [fp, #-17]
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L439
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	unread_token
	nop
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L444:
	.align	2
.L443:
	.word	.LC36
	.word	__PRETTY_FUNCTION__.7461
	.word	1731
	.word	.LC10
	.word	.LC33
	.size	parse_addsub, .-parse_addsub
	.section	.rodata
	.align	2
.LC37:
	.ascii	"*/\\ Operator analysis failed.@@ %d Row\000"
	.text
	.align	2
	.global	parse_muldivmod
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_muldivmod, %function
parse_muldivmod:
	@ 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, #-24]
	ldr	r0, [fp, #-24]
	bl	parse_term
	str	r0, [fp, #-16]
.L456:
	mov	r3, #1
	strb	r3, [fp, #-17]
	ldr	r0, [fp, #-24]
	bl	read_token
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	sub	r3, r3, #21
	cmp	r3, #2
	bhi	.L446
	ldr	r0, [fp, #-24]
	bl	parse_term
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L447
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L459
	bl	raise_error
.L447:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #23
	beq	.L448
	cmp	r3, #23
	bgt	.L449
	cmp	r3, #21
	beq	.L450
	cmp	r3, #22
	beq	.L451
	b	.L449
.L450:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	mov	r0, #18
	bl	create_ast_node
	str	r0, [fp, #-16]
	b	.L452
.L451:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	mov	r0, #19
	bl	create_ast_node
	str	r0, [fp, #-16]
	b	.L452
.L448:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	mov	r0, #20
	bl	create_ast_node
	str	r0, [fp, #-16]
	b	.L452
.L449:
	ldr	r3, .L459+4
	ldr	r2, .L459+8
	ldr	r1, .L459+12
	ldr	r0, .L459+16
	bl	__assert_fail
.L452:
	b	.L453
.L446:
	mov	r3, #0
	strb	r3, [fp, #-17]
	nop
.L453:
	ldrb	r3, [fp, #-17]
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L456
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	unread_token
	nop
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L460:
	.align	2
.L459:
	.word	.LC37
	.word	__PRETTY_FUNCTION__.7481
	.word	1774
	.word	.LC10
	.word	.LC33
	.size	parse_muldivmod, .-parse_muldivmod
	.align	2
	.global	parse_term
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_term, %function
parse_term:
	@ 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	read_token
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #20
	bne	.L465
	ldr	r0, [fp, #-16]
	bl	parse_primitive
	mov	r3, r0
	mov	r2, #0
	mov	r1, r3
	mov	r0, #21
	bl	create_ast_node
	mov	r3, r0
	b	.L463
.L465:
	nop
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	unread_token
	ldr	r0, [fp, #-16]
	bl	parse_primitive
	mov	r3, r0
.L463:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	parse_term, .-parse_term
	.section	.rodata
	.align	2
.LC38:
	.ascii	"Parentheses are not closed.@@ %d Row\000"
	.align	2
.LC39:
	.ascii	"Label cannot be parsed.@@ %d Row\000"
	.align	2
.LC40:
	.ascii	"Labels cannot be used for expressions.@@ %d Row\000"
	.align	2
.LC41:
	.ascii	"Function or Variable cannot be parsed.@@ %d Row\000"
	.align	2
.LC42:
	.ascii	"Primitive values cannot be acquired.@@ %d Row[%s]\000"
	.text
	.align	2
	.global	parse_primitive
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_primitive, %function
parse_primitive:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	ldr	r0, [fp, #-32]
	bl	read_token
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	sub	r3, r3, #5
	cmp	r3, #20
	ldrls	pc, [pc, r3, asl #2]
	b	.L478
.L469:
	.word	.L472
	.word	.L478
	.word	.L478
	.word	.L471
	.word	.L471
	.word	.L471
	.word	.L478
	.word	.L478
	.word	.L478
	.word	.L478
	.word	.L478
	.word	.L478
	.word	.L478
	.word	.L478
	.word	.L478
	.word	.L478
	.word	.L470
	.word	.L478
	.word	.L478
	.word	.L478
	.word	.L468
.L472:
	ldr	r0, [fp, #-32]
	bl	parse_expression
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-32]
	bl	read_token
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #6
	beq	.L473
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L479
	bl	raise_error
.L473:
	mov	r2, #0
	ldr	r1, [fp, #-12]
	mov	r0, #7
	bl	create_ast_node
	mov	r3, r0
	b	.L474
.L471:
	mov	r2, #0
	ldr	r1, [fp, #-24]
	mov	r0, #22
	bl	create_ast_node2
	mov	r3, r0
	b	.L474
.L470:
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	unread_token
	ldr	r0, [fp, #-32]
	bl	parse_label_safe
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L475
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L479+4
	bl	raise_error
.L475:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L479+8
	bl	raise_error
	ldr	r3, [fp, #-16]
	b	.L474
.L468:
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	unread_token
	ldr	r0, [fp, #-32]
	bl	parse_identifier_expression
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L476
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L479+12
	bl	raise_error
.L476:
	ldr	r3, [fp, #-20]
	b	.L474
.L478:
	nop
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r0, .L479+16
	bl	raise_error
	mov	r3, #0
.L474:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L480:
	.align	2
.L479:
	.word	.LC38
	.word	.LC39
	.word	.LC40
	.word	.LC41
	.word	.LC42
	.size	parse_primitive, .-parse_primitive
	.section	.rodata
	.align	2
.LC43:
	.ascii	"Function or Array variable: Parentheses are not clo"
	.ascii	"sed.@@ %d Row\000"
	.text
	.align	2
	.global	parse_identifier_expression
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_identifier_expression, %function
parse_identifier_expression:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	ldr	r0, [fp, #-32]
	bl	read_token
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #25
	beq	.L482
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	unread_token
	mov	r3, #0
	b	.L483
.L482:
	ldr	r0, [fp, #-32]
	bl	read_token
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #5
	beq	.L484
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	unread_token
	mov	r2, #0
	ldr	r1, [fp, #-24]
	mov	r0, #23
	bl	create_ast_node2
	mov	r3, r0
	b	.L483
.L484:
	ldr	r0, [fp, #-32]
	bl	read_token
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #6
	bne	.L485
	mov	r2, #0
	mov	r1, #0
	mov	r0, #4
	bl	create_ast_node
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-24]
	mov	r0, #23
	bl	create_ast_node2
	mov	r3, r0
	b	.L483
.L485:
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	unread_token
	ldr	r0, [fp, #-32]
	bl	parse_arguments
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-32]
	bl	read_token
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #6
	beq	.L486
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, .L487
	bl	raise_error
.L486:
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-24]
	mov	r0, #23
	bl	create_ast_node2
	mov	r3, r0
.L483:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L488:
	.align	2
.L487:
	.word	.LC43
	.size	parse_identifier_expression, .-parse_identifier_expression
	.align	2
	.global	create_variable
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_variable, %function
create_variable:
	@ 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]
	mov	r0, #20
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	create_string3
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	mov	r3, #512
	mov	r2, #64
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	prepare_variable
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	create_variable, .-create_variable
	.align	2
	.global	destroy_variable
	.syntax unified
	.arm
	.fpu softvfp
	.type	destroy_variable, %function
destroy_variable:
	@ 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]
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	destroy_variable, .-destroy_variable
	.section	.rodata
	.align	2
.LC44:
	.ascii	"areasize > 0\000"
	.text
	.align	2
	.global	prepare_variable
	.syntax unified
	.arm
	.fpu softvfp
	.type	prepare_variable, %function
prepare_variable:
	@ 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]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L493
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #16]
.L493:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #12]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	beq	.L494
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	bhi	.L495
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	beq	.L496
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	beq	.L497
	b	.L495
.L496:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	str	r3, [fp, #-8]
	b	.L498
.L497:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #3
	str	r3, [fp, #-8]
	b	.L498
.L494:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mul	r3, r2, r3
	str	r3, [fp, #-8]
	b	.L498
.L495:
	ldr	r3, .L500
	mov	r2, #1920
	ldr	r1, .L500+4
	ldr	r0, .L500+8
	bl	__assert_fail
.L498:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L499
	ldr	r3, .L500
	ldr	r2, .L500+12
	ldr	r1, .L500+4
	ldr	r0, .L500+16
	bl	__assert_fail
.L499:
	ldr	r0, [fp, #-8]
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-8]
	mov	r1, #0
	mov	r0, r3
	bl	memset
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L501:
	.align	2
.L500:
	.word	__PRETTY_FUNCTION__.7536
	.word	.LC10
	.word	.LC33
	.word	1923
	.word	.LC44
	.size	prepare_variable, .-prepare_variable
	.align	2
	.global	create_variable_table
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_variable_table, %function
create_variable_table:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	create_list
	mov	r3, r0
	mov	r0, r3
	pop	{fp, pc}
	.size	create_variable_table, .-create_variable_table
	.align	2
	.global	destroy_variable_table
	.syntax unified
	.arm
	.fpu softvfp
	.type	destroy_variable_table, %function
destroy_variable_table:
	@ 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	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L505
.L506:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	destroy_variable
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L505:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L506
	ldr	r0, [fp, #-16]
	bl	list_free_all
	ldr	r0, [fp, #-16]
	bl	destroy_list
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	destroy_variable_table, .-destroy_variable_table
	.align	2
	.global	search_variable
	.syntax unified
	.arm
	.fpu softvfp
	.type	search_variable, %function
search_variable:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L508
.L512:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L509
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mvn	r2, #0
	ldr	r1, .L513
	mov	r0, r3
	bl	string_equal_igcase
	mov	r3, r0
	cmp	r3, #0
	beq	.L510
	ldr	r3, [fp, #-8]
	b	.L511
.L509:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mvn	r2, #0
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	string_equal_igcase
	mov	r3, r0
	cmp	r3, #0
	beq	.L510
	ldr	r3, [fp, #-8]
	b	.L511
.L510:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L508:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L512
	mov	r3, #0
.L511:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L514:
	.align	2
.L513:
	.word	.LC3
	.size	search_variable, .-search_variable
	.section	.rodata
	.align	2
.LC45:
	.ascii	"var != NULL\000"
	.align	2
.LC46:
	.ascii	"Variable type is different.@@ %s(%d)\000"
	.align	2
.LC47:
	.ascii	"Invalid value.@@ %s(%d)\000"
	.align	2
.LC48:
	.ascii	"var->type_ == v->type_\000"
	.text
	.align	2
	.global	variable_set
	.syntax unified
	.arm
	.fpu softvfp
	.type	variable_set, %function
variable_set:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	str	r3, [fp, #-60]
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-48]
	bl	search_variable
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L516
	ldr	r0, [fp, #-56]
	bl	create_variable
	str	r0, [fp, #-36]
	bl	create_list_node
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #8]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-48]
	bl	list_append
.L516:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L517
	ldr	r3, .L531
	ldr	r2, .L531+4
	ldr	r1, .L531+8
	ldr	r0, .L531+12
	bl	__assert_fail
.L517:
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L518
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	ble	.L519
	ldr	r2, [fp, #-60]
	ldr	r1, [fp, #-56]
	ldr	r0, .L531+16
	bl	raise_error
.L519:
	ldr	r3, [fp, #-52]
	ldr	r1, [r3]
	mov	r3, #512
	mov	r2, #64
	ldr	r0, [fp, #-36]
	bl	prepare_variable
.L518:
	mov	r3, #0
	strb	r3, [fp, #-37]
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	cmp	r3, #3
	bne	.L520
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L520:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	ble	.L521
	mov	r3, #1
	strb	r3, [fp, #-37]
.L521:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	blt	.L522
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	bgt	.L523
.L522:
	ldr	r2, [fp, #-60]
	ldr	r1, [fp, #-56]
	ldr	r0, .L531+20
	bl	raise_error
.L523:
	ldrb	r3, [fp, #-37]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L524
	ldr	r3, [fp, #-52]
	ldr	r1, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-32]
	ldr	r0, [fp, #-36]
	bl	prepare_variable
.L524:
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L525
	ldr	r3, .L531
	mov	r2, #2000
	ldr	r1, .L531+8
	ldr	r0, .L531+24
	bl	__assert_fail
.L525:
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-36]
	bl	variable_data_ptr
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	beq	.L526
	cmp	r3, #3
	bhi	.L527
	cmp	r3, #1
	beq	.L528
	cmp	r3, #2
	beq	.L529
	b	.L527
.L528:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-52]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	b	.L530
.L529:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-52]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-12]
	stm	r1, {r2-r3}
	b	.L530
.L526:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	strcpy
	b	.L530
.L527:
	ldr	r3, .L531
	ldr	r2, .L531+28
	ldr	r1, .L531+8
	ldr	r0, .L531+32
	bl	__assert_fail
.L530:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L532:
	.align	2
.L531:
	.word	__PRETTY_FUNCTION__.7564
	.word	1978
	.word	.LC10
	.word	.LC45
	.word	.LC46
	.word	.LC47
	.word	.LC48
	.word	2019
	.word	.LC33
	.size	variable_set, .-variable_set
	.section	.rodata
	.align	2
.LC49:
	.ascii	"???\000"
	.align	2
.LC50:
	.ascii	"Variable is out of range.@@ %s(%d)\000"
	.text
	.align	2
	.global	variable_data_ptr
	.syntax unified
	.arm
	.fpu softvfp
	.type	variable_data_ptr, %function
variable_data_ptr:
	@ 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, [fp, #-8]
	cmp	r3, #0
	bne	.L534
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L535
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L536
.L535:
	ldr	r2, [fp, #-12]
	ldr	r1, .L543
	ldr	r0, .L543+4
	bl	raise_error
	b	.L536
.L534:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L537
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L536
.L537:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L543+4
	bl	raise_error
.L536:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	beq	.L538
	cmp	r3, #3
	bhi	.L539
	cmp	r3, #1
	beq	.L540
	cmp	r3, #2
	beq	.L541
	b	.L539
.L540:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	b	.L542
.L541:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #3
	add	r3, r2, r3
	b	.L542
.L538:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #8]
	ldr	r1, [fp, #-12]
	mul	r2, r1, r2
	add	r3, r3, r2
	b	.L542
.L539:
	ldr	r3, .L543+8
	mov	r2, #2048
	ldr	r1, .L543+12
	ldr	r0, .L543+16
	bl	__assert_fail
.L542:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L544:
	.align	2
.L543:
	.word	.LC49
	.word	.LC50
	.word	__PRETTY_FUNCTION__.7585
	.word	.LC10
	.word	.LC33
	.size	variable_data_ptr, .-variable_data_ptr
	.global	__aeabi_d2iz
	.align	2
	.global	variable_calc_int
	.syntax unified
	.arm
	.fpu softvfp
	.type	variable_calc_int, %function
variable_calc_int:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	variable_data_ptr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	beq	.L546
	cmp	r3, #3
	bhi	.L547
	cmp	r3, #1
	beq	.L548
	cmp	r3, #2
	beq	.L549
	b	.L547
.L548:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	b	.L550
.L549:
	ldr	r3, [fp, #-8]
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	b	.L550
.L546:
	ldr	r0, [fp, #-8]
	bl	atoi
	mov	r3, r0
	b	.L550
.L547:
	ldr	r3, .L551
	ldr	r2, .L551+4
	ldr	r1, .L551+8
	ldr	r0, .L551+12
	bl	__assert_fail
.L550:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L552:
	.align	2
.L551:
	.word	__PRETTY_FUNCTION__.7596
	.word	2066
	.word	.LC10
	.word	.LC33
	.size	variable_calc_int, .-variable_calc_int
	.global	__aeabi_i2d
	.align	2
	.global	variable_calc_double
	.syntax unified
	.arm
	.fpu softvfp
	.type	variable_calc_double, %function
variable_calc_double:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	variable_data_ptr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	beq	.L554
	cmp	r3, #3
	bhi	.L555
	cmp	r3, #1
	beq	.L556
	cmp	r3, #2
	beq	.L557
	b	.L555
.L556:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	b	.L558
.L557:
	ldr	r3, [fp, #-8]
	ldmia	r3, {r2-r3}
	b	.L558
.L554:
	ldr	r0, [fp, #-8]
	bl	atof
	mov	r2, r0
	mov	r3, r1
	b	.L558
.L555:
	ldr	r3, .L559
	ldr	r2, .L559+4
	ldr	r1, .L559+8
	ldr	r0, .L559+12
	bl	__assert_fail
.L558:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L560:
	.align	2
.L559:
	.word	__PRETTY_FUNCTION__.7607
	.word	2084
	.word	.LC10
	.word	.LC33
	.size	variable_calc_double, .-variable_calc_double
	.align	2
	.global	variable_calc_string
	.syntax unified
	.arm
	.fpu softvfp
	.type	variable_calc_string, %function
variable_calc_string:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	variable_data_ptr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	beq	.L562
	cmp	r3, #3
	bhi	.L563
	cmp	r3, #1
	beq	.L564
	cmp	r3, #2
	beq	.L565
	b	.L563
.L564:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	create_string_from
	mov	r3, r0
	b	.L566
.L565:
	ldr	r3, [fp, #-8]
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	mov	r0, r3
	bl	create_string_from
	mov	r3, r0
	b	.L566
.L562:
	ldr	r0, [fp, #-8]
	bl	create_string3
	mov	r3, r0
	b	.L566
.L563:
	ldr	r3, .L567
	ldr	r2, .L567+4
	ldr	r1, .L567+8
	ldr	r0, .L567+12
	bl	__assert_fail
.L566:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L568:
	.align	2
.L567:
	.word	__PRETTY_FUNCTION__.7618
	.word	2102
	.word	.LC10
	.word	.LC33
	.size	variable_calc_string, .-variable_calc_string
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	alloc_value, %function
alloc_value:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	mov	r0, #16
	bl	malloc
	mov	r3, r0
	mov	r0, r3
	pop	{fp, pc}
	.size	alloc_value, .-alloc_value
	.align	2
	.global	create_value
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_value, %function
create_value:
	@ 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]
	bl	alloc_value
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	create_value, .-create_value
	.align	2
	.global	create_value2
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_value2, %function
create_value2:
	@ 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, #-20]
	str	r1, [fp, #-16]
	bl	alloc_value
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3]
	ldr	r1, [fp, #-8]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	create_value2, .-create_value2
	.align	2
	.global	create_value3
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_value3, %function
create_value3:
	@ 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]
	bl	alloc_value
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #3
	str	r2, [r3]
	ldr	r0, [fp, #-16]
	bl	create_string3
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	create_value3, .-create_value3
	.align	2
	.global	create_value4
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_value4, %function
create_value4:
	@ 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]
	str	r1, [fp, #-20]
	bl	alloc_value
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #4
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	create_value4, .-create_value4
	.section	.rodata
	.align	2
.LC51:
	.ascii	"Copying an empty value and failed.@@ ptr=%p\000"
	.text
	.align	2
	.global	create_value5
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_value5, %function
create_value5:
	@ 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]
	bl	alloc_value
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L580
.L582:
	.word	.L585
	.word	.L584
	.word	.L583
	.word	.L581
.L585:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	b	.L586
.L584:
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-8]
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	b	.L586
.L583:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	create_string3
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	b	.L586
.L581:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	b	.L586
.L580:
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, .L588
	bl	raise_error
.L586:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L589:
	.align	2
.L588:
	.word	.LC51
	.size	create_value5, .-create_value5
	.align	2
	.global	create_value_move
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_value_move, %function
create_value_move:
	@ 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]
	bl	alloc_value
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	create_value_move, .-create_value_move
	.align	2
	.global	destroy_value
	.syntax unified
	.arm
	.fpu softvfp
	.type	destroy_value, %function
destroy_value:
	@ 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	r0, [fp, #-8]
	bl	clear_value
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r1, [fp, #-8]
	mov	r2, #0
	mov	r3, #0
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	destroy_value, .-destroy_value
	.align	2
	.global	value_set
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_set, %function
value_set:
	@ 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	r0, [fp, #-8]
	bl	clear_value
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	value_set, .-value_set
	.align	2
	.global	value_set2
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_set2, %function
value_set2:
	@ 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, #-8]
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	clear_value
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3]
	ldr	r1, [fp, #-8]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	value_set2, .-value_set2
	.align	2
	.global	value_set3
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_set3, %function
value_set3:
	@ 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	r0, [fp, #-8]
	bl	clear_value
	ldr	r3, [fp, #-8]
	mov	r2, #3
	str	r2, [r3]
	ldr	r0, [fp, #-12]
	bl	create_string3
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	value_set3, .-value_set3
	.align	2
	.global	value_move
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_move, %function
value_move:
	@ 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	r0, [fp, #-8]
	bl	clear_value
	ldr	r3, [fp, #-8]
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	value_move, .-value_move
	.align	2
	.global	value_move2
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_move2, %function
value_move2:
	@ 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	r0, [fp, #-8]
	bl	clear_value
	ldr	r3, [fp, #-12]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-8]
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3]
	ldr	r1, [fp, #-12]
	mov	r2, #0
	mov	r3, #0
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	value_move2, .-value_move2
	.align	2
	.global	value_get_primitive_tag
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_get_primitive_tag, %function
value_get_primitive_tag:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #4
	bne	.L599
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #4]
	b	.L600
.L599:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
.L600:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	value_get_primitive_tag, .-value_get_primitive_tag
	.global	__aeabi_dcmpeq
	.align	2
	.global	value_calc_boolean
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_calc_boolean, %function
value_calc_boolean:
	@ 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	r0, [fp, #-16]
	bl	value_get_primitive_tag
	mov	r3, r0
	cmp	r3, #3
	beq	.L602
	cmp	r3, #3
	bhi	.L603
	cmp	r3, #1
	beq	.L604
	cmp	r3, #2
	beq	.L605
	b	.L603
.L604:
	ldr	r0, [fp, #-16]
	bl	value_calc_int
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	b	.L606
.L605:
	ldr	r0, [fp, #-16]
	bl	value_calc_double
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L607
	mov	r3, #0
	mov	r4, r3
.L607:
	and	r3, r4, #255
	b	.L606
.L602:
	ldr	r0, [fp, #-16]
	bl	value_calc_int
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	b	.L606
.L603:
	ldr	r3, .L608
	ldr	r2, .L608+4
	ldr	r1, .L608+8
	ldr	r0, .L608+12
	bl	__assert_fail
.L606:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L609:
	.align	2
.L608:
	.word	__PRETTY_FUNCTION__.7686
	.word	2257
	.word	.LC10
	.word	.LC33
	.size	value_calc_boolean, .-value_calc_boolean
	.align	2
	.global	value_calc_int
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_calc_int, %function
value_calc_int:
	@ 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]
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L618
.L613:
	.word	.L616
	.word	.L615
	.word	.L614
	.word	.L612
.L616:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	b	.L617
.L615:
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	b	.L617
.L614:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	atoi
	mov	r3, r0
	b	.L617
.L612:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r1, r3
	mov	r0, r2
	bl	variable_calc_int
	mov	r3, r0
	b	.L617
.L618:
	ldr	r3, .L619
	ldr	r2, .L619+4
	ldr	r1, .L619+8
	ldr	r0, .L619+12
	bl	__assert_fail
.L617:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L620:
	.align	2
.L619:
	.word	__PRETTY_FUNCTION__.7696
	.word	2277
	.word	.LC10
	.word	.LC33
	.size	value_calc_int, .-value_calc_int
	.align	2
	.global	value_calc_double
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_calc_double, %function
value_calc_double:
	@ 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]
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L629
.L624:
	.word	.L627
	.word	.L626
	.word	.L625
	.word	.L623
.L627:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	b	.L628
.L626:
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	b	.L628
.L625:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	atof
	mov	r2, r0
	mov	r3, r1
	b	.L628
.L623:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r1, r3
	mov	r0, r2
	bl	variable_calc_double
	mov	r2, r0
	mov	r3, r1
	b	.L628
.L629:
	ldr	r3, .L630
	ldr	r2, .L630+4
	ldr	r1, .L630+8
	ldr	r0, .L630+12
	bl	__assert_fail
.L628:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L631:
	.align	2
.L630:
	.word	__PRETTY_FUNCTION__.7706
	.word	2297
	.word	.LC10
	.word	.LC33
	.size	value_calc_double, .-value_calc_double
	.align	2
	.global	value_calc_string
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_calc_string, %function
value_calc_string:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L641
.L635:
	.word	.L638
	.word	.L637
	.word	.L636
	.word	.L634
.L638:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	create_string_from
	str	r0, [fp, #-8]
	b	.L639
.L637:
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	create_string_from2
	str	r0, [fp, #-8]
	b	.L639
.L636:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	create_string3
	str	r0, [fp, #-8]
	b	.L639
.L634:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	mov	r1, r3
	mov	r0, r2
	bl	variable_calc_string
	str	r0, [fp, #-8]
	b	.L639
.L641:
	ldr	r3, .L642
	ldr	r2, .L642+4
	ldr	r1, .L642+8
	ldr	r0, .L642+12
	bl	__assert_fail
.L639:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L643:
	.align	2
.L642:
	.word	__PRETTY_FUNCTION__.7718
	.word	2321
	.word	.LC10
	.word	.LC33
	.size	value_calc_string, .-value_calc_string
	.align	2
	.global	value_convert_type
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_convert_type, %function
value_convert_type:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L645
	ldr	r0, [fp, #-20]
	bl	create_value5
	mov	r3, r0
	b	.L646
.L645:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	beq	.L647
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bhi	.L648
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	beq	.L649
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	beq	.L650
	b	.L648
.L649:
	ldr	r0, [fp, #-20]
	bl	value_calc_int
	mov	r3, r0
	mov	r0, r3
	bl	create_value
	mov	r3, r0
	b	.L646
.L650:
	ldr	r0, [fp, #-20]
	bl	value_calc_double
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	create_value2
	mov	r3, r0
	b	.L646
.L647:
	ldr	r0, [fp, #-20]
	bl	value_calc_string
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	create_value_move
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L646
.L648:
	ldr	r3, .L651
	ldr	r2, .L651+4
	ldr	r1, .L651+8
	ldr	r0, .L651+12
	bl	__assert_fail
.L646:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L652:
	.align	2
.L651:
	.word	__PRETTY_FUNCTION__.7729
	.word	2344
	.word	.LC10
	.word	.LC33
	.size	value_convert_type, .-value_convert_type
	.align	2
	.global	value_isolate
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_isolate, %function
value_isolate:
	@ 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]
	ldr	r3, [r3]
	cmp	r3, #4
	bne	.L660
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L653
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	beq	.L656
	cmp	r3, #3
	bhi	.L657
	cmp	r3, #1
	beq	.L658
	cmp	r3, #2
	beq	.L659
	b	.L657
.L658:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r1, r3
	mov	r0, r2
	bl	variable_calc_int
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	value_set
	b	.L653
.L659:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r1, r3
	mov	r0, r2
	bl	variable_calc_double
	mov	r2, r0
	mov	r3, r1
	ldr	r0, [fp, #-8]
	bl	value_set2
	b	.L653
.L656:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r1, r3
	mov	r0, r2
	bl	variable_calc_string
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	value_move
	b	.L653
.L657:
	ldr	r3, .L661
	mov	r2, #2368
	ldr	r1, .L661+4
	ldr	r0, .L661+8
	bl	__assert_fail
.L660:
	nop
.L653:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L662:
	.align	2
.L661:
	.word	__PRETTY_FUNCTION__.7739
	.word	.LC10
	.word	.LC33
	.size	value_isolate, .-value_isolate
	.section	.rodata
	.align	2
.LC52:
	.ascii	"| operator for the floating point is not defined.\000"
	.align	2
.LC53:
	.ascii	"| operator for the string is not defined.\000"
	.text
	.align	2
	.global	value_bor
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_bor, %function
value_bor:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	value_convert_type
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L664
	cmp	r3, #3
	bhi	.L665
	cmp	r3, #1
	beq	.L666
	cmp	r3, #2
	beq	.L667
	b	.L665
.L666:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	orr	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	value_set
	b	.L668
.L667:
	ldr	r0, .L669
	bl	raise_error
	b	.L668
.L664:
	ldr	r0, .L669+4
	bl	raise_error
	b	.L668
.L665:
	ldr	r3, .L669+8
	ldr	r2, .L669+12
	ldr	r1, .L669+16
	ldr	r0, .L669+20
	bl	__assert_fail
.L668:
	ldr	r0, [fp, #-8]
	bl	destroy_value
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L670:
	.align	2
.L669:
	.word	.LC52
	.word	.LC53
	.word	__PRETTY_FUNCTION__.7750
	.word	2391
	.word	.LC10
	.word	.LC33
	.size	value_bor, .-value_bor
	.section	.rodata
	.align	2
.LC54:
	.ascii	"& operator for the floating point is not defined.\000"
	.align	2
.LC55:
	.ascii	"& operator for the string is not defined.\000"
	.text
	.align	2
	.global	value_band
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_band, %function
value_band:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	value_convert_type
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L672
	cmp	r3, #3
	bhi	.L673
	cmp	r3, #1
	beq	.L674
	cmp	r3, #2
	beq	.L675
	b	.L673
.L674:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	and	r3, r3, r2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	value_set
	b	.L676
.L675:
	ldr	r0, .L677
	bl	raise_error
	b	.L676
.L672:
	ldr	r0, .L677+4
	bl	raise_error
	b	.L676
.L673:
	ldr	r3, .L677+8
	ldr	r2, .L677+12
	ldr	r1, .L677+16
	ldr	r0, .L677+20
	bl	__assert_fail
.L676:
	ldr	r0, [fp, #-8]
	bl	destroy_value
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L678:
	.align	2
.L677:
	.word	.LC54
	.word	.LC55
	.word	__PRETTY_FUNCTION__.7761
	.word	2414
	.word	.LC10
	.word	.LC33
	.size	value_band, .-value_band
	.align	2
	.global	value_eq
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_eq, %function
value_eq:
	@ 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]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	value_convert_type
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L680
	cmp	r3, #3
	bhi	.L681
	cmp	r3, #1
	beq	.L682
	cmp	r3, #2
	beq	.L683
	b	.L681
.L682:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	value_set
	b	.L684
.L683:
	ldr	r3, [fp, #-24]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r4, ip
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L685
	mov	r3, #0
	mov	r4, r3
.L685:
	and	r3, r4, #255
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	value_set
	b	.L684
.L680:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r1, r3
	mov	r0, r2
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	value_set
	b	.L684
.L681:
	ldr	r3, .L686
	ldr	r2, .L686+4
	ldr	r1, .L686+8
	ldr	r0, .L686+12
	bl	__assert_fail
.L684:
	ldr	r0, [fp, #-16]
	bl	destroy_value
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L687:
	.align	2
.L686:
	.word	__PRETTY_FUNCTION__.7772
	.word	2435
	.word	.LC10
	.word	.LC33
	.size	value_eq, .-value_eq
	.align	2
	.global	value_neq
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_neq, %function
value_neq:
	@ 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]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	value_convert_type
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L689
	cmp	r3, #3
	bhi	.L690
	cmp	r3, #1
	beq	.L691
	cmp	r3, #2
	beq	.L692
	b	.L690
.L691:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	value_set
	b	.L693
.L692:
	ldr	r3, [fp, #-24]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r4, ip
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L694
	mov	r3, #0
	mov	r4, r3
.L694:
	and	r3, r4, #255
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	value_set
	b	.L693
.L689:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r1, r3
	mov	r0, r2
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	value_set
	b	.L693
.L690:
	ldr	r3, .L695
	ldr	r2, .L695+4
	ldr	r1, .L695+8
	ldr	r0, .L695+12
	bl	__assert_fail
.L693:
	ldr	r0, [fp, #-16]
	bl	destroy_value
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L696:
	.align	2
.L695:
	.word	__PRETTY_FUNCTION__.7783
	.word	2456
	.word	.LC10
	.word	.LC33
	.size	value_neq, .-value_neq
	.global	__aeabi_dcmpgt
	.section	.rodata
	.align	2
.LC56:
	.ascii	"> operator for the string is not defined.\000"
	.text
	.align	2
	.global	value_gt
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_gt, %function
value_gt:
	@ 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]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	value_convert_type
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L698
	cmp	r3, #3
	bhi	.L699
	cmp	r3, #1
	beq	.L700
	cmp	r3, #2
	beq	.L701
	b	.L699
.L700:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	movgt	r3, #1
	movle	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	value_set
	b	.L702
.L701:
	ldr	r3, [fp, #-24]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r4, ip
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L703
	mov	r3, #0
	mov	r4, r3
.L703:
	and	r3, r4, #255
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	value_set
	b	.L702
.L698:
	ldr	r0, .L704
	bl	raise_error
	b	.L702
.L699:
	ldr	r3, .L704+4
	ldr	r2, .L704+8
	ldr	r1, .L704+12
	ldr	r0, .L704+16
	bl	__assert_fail
.L702:
	ldr	r0, [fp, #-16]
	bl	destroy_value
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L705:
	.align	2
.L704:
	.word	.LC56
	.word	__PRETTY_FUNCTION__.7794
	.word	2478
	.word	.LC10
	.word	.LC33
	.size	value_gt, .-value_gt
	.global	__aeabi_dcmpge
	.section	.rodata
	.align	2
.LC57:
	.ascii	">= operator for the string is not defined.\000"
	.text
	.align	2
	.global	value_gtoe
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_gtoe, %function
value_gtoe:
	@ 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]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	value_convert_type
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L707
	cmp	r3, #3
	bhi	.L708
	cmp	r3, #1
	beq	.L709
	cmp	r3, #2
	beq	.L710
	b	.L708
.L709:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	movge	r3, #1
	movlt	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	value_set
	b	.L711
.L710:
	ldr	r3, [fp, #-24]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r4, ip
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L712
	mov	r3, #0
	mov	r4, r3
.L712:
	and	r3, r4, #255
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	value_set
	b	.L711
.L707:
	ldr	r0, .L713
	bl	raise_error
	b	.L711
.L708:
	ldr	r3, .L713+4
	ldr	r2, .L713+8
	ldr	r1, .L713+12
	ldr	r0, .L713+16
	bl	__assert_fail
.L711:
	ldr	r0, [fp, #-16]
	bl	destroy_value
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L714:
	.align	2
.L713:
	.word	.LC57
	.word	__PRETTY_FUNCTION__.7805
	.word	2500
	.word	.LC10
	.word	.LC33
	.size	value_gtoe, .-value_gtoe
	.global	__aeabi_dcmplt
	.section	.rodata
	.align	2
.LC58:
	.ascii	"< operator for the string is not defined.\000"
	.text
	.align	2
	.global	value_lt
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_lt, %function
value_lt:
	@ 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]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	value_convert_type
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L716
	cmp	r3, #3
	bhi	.L717
	cmp	r3, #1
	beq	.L718
	cmp	r3, #2
	beq	.L719
	b	.L717
.L718:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	value_set
	b	.L720
.L719:
	ldr	r3, [fp, #-24]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r4, ip
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L721
	mov	r3, #0
	mov	r4, r3
.L721:
	and	r3, r4, #255
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	value_set
	b	.L720
.L716:
	ldr	r0, .L722
	bl	raise_error
	b	.L720
.L717:
	ldr	r3, .L722+4
	ldr	r2, .L722+8
	ldr	r1, .L722+12
	ldr	r0, .L722+16
	bl	__assert_fail
.L720:
	ldr	r0, [fp, #-16]
	bl	destroy_value
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L723:
	.align	2
.L722:
	.word	.LC58
	.word	__PRETTY_FUNCTION__.7816
	.word	2522
	.word	.LC10
	.word	.LC33
	.size	value_lt, .-value_lt
	.global	__aeabi_dcmple
	.section	.rodata
	.align	2
.LC59:
	.ascii	"<= operator for the string is not defined.\000"
	.text
	.align	2
	.global	value_ltoe
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_ltoe, %function
value_ltoe:
	@ 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]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	value_convert_type
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L725
	cmp	r3, #3
	bhi	.L726
	cmp	r3, #1
	beq	.L727
	cmp	r3, #2
	beq	.L728
	b	.L726
.L727:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	movle	r3, #1
	movgt	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	value_set
	b	.L729
.L728:
	ldr	r3, [fp, #-24]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r4, ip
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	bne	.L730
	mov	r3, #0
	mov	r4, r3
.L730:
	and	r3, r4, #255
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	value_set
	b	.L729
.L725:
	ldr	r0, .L731
	bl	raise_error
	b	.L729
.L726:
	ldr	r3, .L731+4
	mov	r2, #2544
	ldr	r1, .L731+8
	ldr	r0, .L731+12
	bl	__assert_fail
.L729:
	ldr	r0, [fp, #-16]
	bl	destroy_value
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L732:
	.align	2
.L731:
	.word	.LC59
	.word	__PRETTY_FUNCTION__.7827
	.word	.LC10
	.word	.LC33
	.size	value_ltoe, .-value_ltoe
	.global	__aeabi_dadd
	.section	.rodata
	.align	2
.LC60:
	.ascii	"%s%s\000"
	.text
	.align	2
	.global	value_add
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_add, %function
value_add:
	@ 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]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	value_convert_type
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L734
	cmp	r3, #3
	bhi	.L735
	cmp	r3, #1
	beq	.L736
	cmp	r3, #2
	beq	.L737
	b	.L735
.L736:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	b	.L738
.L737:
	ldr	r3, [fp, #-24]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-24]
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	b	.L738
.L734:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, .L739
	mov	r1, #0
	mov	r0, #0
	bl	snprintf
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	create_string
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r1, .L739
	ldr	r0, [fp, #-8]
	bl	sprintf
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	destroy_string
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #8]
	b	.L738
.L735:
	ldr	r3, .L739+4
	ldr	r2, .L739+8
	ldr	r1, .L739+12
	ldr	r0, .L739+16
	bl	__assert_fail
.L738:
	ldr	r0, [fp, #-16]
	bl	destroy_value
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L740:
	.align	2
.L739:
	.word	.LC60
	.word	__PRETTY_FUNCTION__.7840
	.word	2571
	.word	.LC10
	.word	.LC33
	.size	value_add, .-value_add
	.global	__aeabi_dsub
	.section	.rodata
	.align	2
.LC61:
	.ascii	"- operator for the string is not defined.\000"
	.text
	.align	2
	.global	value_sub
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_sub, %function
value_sub:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	value_convert_type
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L742
	cmp	r3, #3
	bhi	.L743
	cmp	r3, #1
	beq	.L744
	cmp	r3, #2
	beq	.L745
	b	.L743
.L744:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	sub	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	b	.L746
.L745:
	ldr	r3, [fp, #-16]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-16]
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	b	.L746
.L742:
	ldr	r0, .L747
	bl	raise_error
	b	.L746
.L743:
	ldr	r3, .L747+4
	ldr	r2, .L747+8
	ldr	r1, .L747+12
	ldr	r0, .L747+16
	bl	__assert_fail
.L746:
	ldr	r0, [fp, #-8]
	bl	destroy_value
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L748:
	.align	2
.L747:
	.word	.LC61
	.word	__PRETTY_FUNCTION__.7851
	.word	2593
	.word	.LC10
	.word	.LC33
	.size	value_sub, .-value_sub
	.global	__aeabi_dmul
	.section	.rodata
	.align	2
.LC62:
	.ascii	"* operator for the string is not defined.\000"
	.text
	.align	2
	.global	value_mul
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_mul, %function
value_mul:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	value_convert_type
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L750
	cmp	r3, #3
	bhi	.L751
	cmp	r3, #1
	beq	.L752
	cmp	r3, #2
	beq	.L753
	b	.L751
.L752:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #8]
	mul	r2, r3, r2
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	b	.L754
.L753:
	ldr	r3, [fp, #-16]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-16]
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	b	.L754
.L750:
	ldr	r0, .L755
	bl	raise_error
	b	.L754
.L751:
	ldr	r3, .L755+4
	ldr	r2, .L755+8
	ldr	r1, .L755+12
	ldr	r0, .L755+16
	bl	__assert_fail
.L754:
	ldr	r0, [fp, #-8]
	bl	destroy_value
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L756:
	.align	2
.L755:
	.word	.LC62
	.word	__PRETTY_FUNCTION__.7862
	.word	2615
	.word	.LC10
	.word	.LC33
	.size	value_mul, .-value_mul
	.global	__aeabi_idiv
	.global	__aeabi_ddiv
	.section	.rodata
	.align	2
.LC63:
	.ascii	"/ operator for the string is not defined.\000"
	.text
	.align	2
	.global	value_div
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_div, %function
value_div:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	value_convert_type
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L758
	cmp	r3, #3
	bhi	.L759
	cmp	r3, #1
	beq	.L760
	cmp	r3, #2
	beq	.L761
	b	.L759
.L760:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_idiv
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	b	.L762
.L761:
	ldr	r3, [fp, #-16]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-16]
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	b	.L762
.L758:
	ldr	r0, .L763
	bl	raise_error
	b	.L762
.L759:
	ldr	r3, .L763+4
	ldr	r2, .L763+8
	ldr	r1, .L763+12
	ldr	r0, .L763+16
	bl	__assert_fail
.L762:
	ldr	r0, [fp, #-8]
	bl	destroy_value
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L764:
	.align	2
.L763:
	.word	.LC63
	.word	__PRETTY_FUNCTION__.7873
	.word	2637
	.word	.LC10
	.word	.LC33
	.size	value_div, .-value_div
	.section	.rodata
	.align	2
.LC64:
	.ascii	"\\ operator for the double is not defined.\000"
	.align	2
.LC65:
	.ascii	"\\ operator for the string is not defined.\000"
	.text
	.align	2
	.global	value_mod
	.syntax unified
	.arm
	.fpu softvfp
	.type	value_mod, %function
value_mod:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	value_convert_type
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L766
	cmp	r3, #3
	bhi	.L767
	cmp	r3, #1
	beq	.L768
	cmp	r3, #2
	beq	.L769
	b	.L767
.L768:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_idivmod
	mov	r3, r1
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	b	.L770
.L769:
	ldr	r0, .L771
	bl	raise_error
	b	.L770
.L766:
	ldr	r0, .L771+4
	bl	raise_error
	b	.L770
.L767:
	ldr	r3, .L771+8
	ldr	r2, .L771+12
	ldr	r1, .L771+16
	ldr	r0, .L771+20
	bl	__assert_fail
.L770:
	ldr	r0, [fp, #-8]
	bl	destroy_value
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L772:
	.align	2
.L771:
	.word	.LC64
	.word	.LC65
	.word	__PRETTY_FUNCTION__.7884
	.word	2660
	.word	.LC10
	.word	.LC33
	.size	value_mod, .-value_mod
	.align	2
	.global	create_value_stack
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_value_stack, %function
create_value_stack:
	@ 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	r0, #12
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	initialize_value_stack
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	create_value_stack, .-create_value_stack
	.align	2
	.global	destroy_value_stack
	.syntax unified
	.arm
	.fpu softvfp
	.type	destroy_value_stack, %function
destroy_value_stack:
	@ 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	r0, [fp, #-8]
	bl	uninitialize_value_stack
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	destroy_value_stack, .-destroy_value_stack
	.align	2
	.global	initialize_value_stack
	.syntax unified
	.arm
	.fpu softvfp
	.type	initialize_value_stack, %function
initialize_value_stack:
	@ 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]
	mov	r3, #16
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #8]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	initialize_value_stack, .-initialize_value_stack
	.align	2
	.global	uninitialize_value_stack
	.syntax unified
	.arm
	.fpu softvfp
	.type	uninitialize_value_stack, %function
uninitialize_value_stack:
	@ 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]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	stack_pop
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	uninitialize_value_stack, .-uninitialize_value_stack
	.align	2
	.global	stack_push
	.syntax unified
	.arm
	.fpu softvfp
	.type	stack_push, %function
stack_push:
	@ 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, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r2, r3
	blt	.L779
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
.L779:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	stack_push, .-stack_push
	.align	2
	.global	stack_push2
	.syntax unified
	.arm
	.fpu softvfp
	.type	stack_push2, %function
stack_push2:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r0, [fp, #-20]
	bl	create_value5
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	stack_push
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	stack_push2, .-stack_push2
	.section	.rodata
	.align	2
.LC66:
	.ascii	"idx >= 0 && idx < st->top_\000"
	.text
	.align	2
	.global	stack_peek
	.syntax unified
	.arm
	.fpu softvfp
	.type	stack_peek, %function
stack_peek:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L782
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	b	.L783
.L782:
	ldr	r3, [fp, #-20]
.L783:
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L784
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L787
.L784:
	ldr	r3, .L788
	ldr	r2, .L788+4
	ldr	r1, .L788+8
	ldr	r0, .L788+12
	bl	__assert_fail
.L787:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L789:
	.align	2
.L788:
	.word	__PRETTY_FUNCTION__.7912
	.word	2723
	.word	.LC10
	.word	.LC66
	.size	stack_peek, .-stack_peek
	.section	.rodata
	.align	2
.LC67:
	.ascii	"n <= (size_t)st->top_\000"
	.align	2
.LC68:
	.ascii	"st->stack_[st->top_] != NULL\000"
	.text
	.align	2
	.global	stack_pop
	.syntax unified
	.arm
	.fpu softvfp
	.type	stack_pop, %function
stack_pop:
	@ 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, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	cmp	r3, r2
	bls	.L792
	ldr	r3, .L795
	ldr	r2, .L795+4
	ldr	r1, .L795+8
	ldr	r0, .L795+12
	bl	__assert_fail
.L794:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L793
	ldr	r3, .L795
	ldr	r2, .L795+16
	ldr	r1, .L795+8
	ldr	r0, .L795+20
	bl	__assert_fail
.L793:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	destroy_value
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
.L792:
	ldr	r3, [fp, #-12]
	sub	r2, r3, #1
	str	r2, [fp, #-12]
	cmp	r3, #0
	bne	.L794
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L796:
	.align	2
.L795:
	.word	__PRETTY_FUNCTION__.7917
	.word	2730
	.word	.LC10
	.word	.LC67
	.word	2733
	.word	.LC68
	.size	stack_pop, .-stack_pop
	.align	2
	.global	query_sysvar
	.syntax unified
	.arm
	.fpu softvfp
	.type	query_sysvar, %function
query_sysvar:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L798
.L801:
	ldr	r2, .L802
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	string_equal_igcase
	mov	r3, r0
	cmp	r3, #0
	beq	.L799
	ldr	r2, .L802
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #3]
	b	.L800
.L799:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L798:
	ldr	r2, .L802
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #3]
	cmn	r3, #1
	bne	.L801
	mvn	r3, #0
.L800:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L803:
	.align	2
.L802:
	.word	table.7927
	.size	query_sysvar, .-query_sysvar
	.align	2
	.global	create_execute_environment
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_execute_environment, %function
create_execute_environment:
	@ 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	r0, #20
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	bl	create_list
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	bl	create_list
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	bl	create_list
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	bl	create_list
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	bl	create_variable_table
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	create_execute_environment, .-create_execute_environment
	.align	2
	.global	destroy_execute_environment
	.syntax unified
	.arm
	.fpu softvfp
	.type	destroy_execute_environment, %function
destroy_execute_environment:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	b	.L807
.L809:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L808
	ldr	r0, [fp, #-8]
	bl	destroy_ast_node
.L808:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-36]
.L807:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L809
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	list_free_all
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	destroy_list
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	b	.L810
.L811:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	uninitialize_parse_context
	ldr	r0, [fp, #-12]
	bl	destroy_parse_context
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
.L810:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L811
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r0, r3
	bl	list_free_all
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r0, r3
	bl	destroy_list
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	b	.L812
.L813:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	destroy_ast
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-28]
.L812:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L813
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	list_free_all
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	destroy_list
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	b	.L814
.L815:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-20]
	bl	free
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-24]
.L814:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L815
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	list_free_all
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	destroy_list
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	destroy_variable_table
	ldr	r0, [fp, #-40]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	destroy_execute_environment, .-destroy_execute_environment
	.align	2
	.global	initialize_execute_status
	.syntax unified
	.arm
	.fpu softvfp
	.type	initialize_execute_status, %function
initialize_execute_status:
	@ 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]
	bl	create_value_stack
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #72]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #332]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #80]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #84]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #88]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	strb	r2, [r3, #336]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	initialize_execute_status, .-initialize_execute_status
	.align	2
	.global	uninitialize_execute_status
	.syntax unified
	.arm
	.fpu softvfp
	.type	uninitialize_execute_status, %function
uninitialize_execute_status:
	@ 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]
	ldr	r3, [r3]
	mov	r0, r3
	bl	destroy_value_stack
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	uninitialize_execute_status, .-uninitialize_execute_status
	.align	2
	.global	_cl
	.syntax unified
	.arm
	.fpu softvfp
	.type	_cl, %function
_cl:
	@ 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	r2, #0
	mov	r1, #0
	mov	r0, #36
	bl	create_ast_node
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	orr	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_cl, .-_cl
	.align	2
	.global	_cj
	.syntax unified
	.arm
	.fpu softvfp
	.type	_cj, %function
_cj:
	@ 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	r2, #0
	mov	r1, #0
	mov	r0, #37
	bl	create_ast_node
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	orr	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_cj, .-_cj
	.align	2
	.global	_aj
	.syntax unified
	.arm
	.fpu softvfp
	.type	_aj, %function
_aj:
	@ 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]
	str	r1, [fp, #-20]
	bl	_cj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #20]
	bl	create_list_node
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	list_append
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	_aj, .-_aj
	.section	.rodata
	.align	2
.LC69:
	.ascii	"dispatcher->tag_ == NODE_IF_DISPATCHER\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	flatten, %function
flatten:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	mov	r3, #1
	strb	r3, [fp, #-49]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	cmp	r3, #2
	bne	.L824
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L825
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	flatten
.L825:
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L826
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #12]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	flatten
.L826:
	mov	r3, #0
	strb	r3, [fp, #-49]
	b	.L827
.L824:
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	cmp	r3, #33
	bne	.L827
	bl	create_list_node
	str	r0, [fp, #-48]
	mov	r2, #0
	mov	r1, #0
	mov	r0, #35
	bl	create_ast_node
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #16]
	orr	r2, r3, #1
	ldr	r3, [fp, #-44]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-44]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-48]
	mov	r0, r3
	bl	list_append
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	cmp	r3, #34
	beq	.L828
	ldr	r3, .L833
	ldr	r2, .L833+4
	ldr	r1, .L833+8
	ldr	r0, .L833+12
	bl	__assert_fail
.L828:
	bl	create_list_node
	str	r0, [fp, #-36]
	bl	_cl
	mov	r2, r0
	ldr	r3, [fp, #-36]
	str	r2, [r3, #8]
	bl	create_list_node
	str	r0, [fp, #-32]
	bl	_cl
	mov	r2, r0
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	bl	create_list_node
	str	r0, [fp, #-28]
	bl	_cl
	mov	r2, r0
	ldr	r3, [fp, #-28]
	str	r2, [r3, #8]
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-36]
	bl	_aj
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-32]
	bl	_aj
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-36]
	mov	r0, r3
	bl	list_append
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	flatten
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-28]
	bl	_aj
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-32]
	mov	r0, r3
	bl	list_append
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L829
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	flatten
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-28]
	bl	_aj
.L829:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	list_append
	mov	r3, #0
	strb	r3, [fp, #-49]
.L827:
	ldrb	r3, [fp, #-49]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L832
	bl	create_list_node
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-60]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	list_append
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L831
	bl	create_list_node
	str	r0, [fp, #-12]
	mov	r0, #8
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	create_string3
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	list_append
	b	.L832
.L831:
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	cmp	r3, #28
	bne	.L832
	bl	create_list_node
	str	r0, [fp, #-20]
	mov	r2, #0
	mov	r1, #0
	mov	r0, #29
	bl	create_ast_node
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	orr	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	list_append
.L832:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L834:
	.align	2
.L833:
	.word	__PRETTY_FUNCTION__.7984
	.word	2899
	.word	.LC10
	.word	.LC69
	.size	flatten, .-flatten
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	walk, %function
walk:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #6
	beq	.L836
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #23
	bne	.L837
.L836:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	search_variable
	mov	r3, r0
	cmp	r3, #0
	bne	.L837
	mov	r1, #16
	mov	r0, #1
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-8]
	mov	r1, #20
	mov	r0, #1
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r0, [r3, #16]
	mov	r3, #0
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	bl	variable_set
.L837:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L838
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	walk
.L838:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L840
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	walk
.L840:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	walk, .-walk
	.section	.rodata
	.align	2
.LC70:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	load_script
	.syntax unified
	.arm
	.fpu softvfp
	.type	load_script, %function
load_script:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	ldr	r3, .L847
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #24
	ldr	r1, [fp, #-68]
	mov	r0, r3
	bl	initialize_tokenize_context
	bl	create_parse_context
	str	r0, [fp, #-48]
	sub	r3, fp, #24
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	initialize_parse_context
	ldr	r0, [fp, #-48]
	bl	parse_script
	str	r0, [fp, #-44]
	sub	r3, fp, #24
	mov	r0, r3
	bl	uninitialize_tokenize_context
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	b	.L842
.L843:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-28]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-64]
	bl	flatten
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-56]
.L842:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L843
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	str	r3, [fp, #-52]
	b	.L844
.L845:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-32]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-64]
	bl	walk
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-52]
.L844:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L845
	bl	create_list_node
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	list_append
	bl	create_list_node
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-44]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-36]
	mov	r0, r3
	bl	list_append
	nop
	ldr	r3, .L847
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L846
	bl	__stack_chk_fail
.L846:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L848:
	.align	2
.L847:
	.word	.LC70
	.size	load_script, .-load_script
	.section	.rodata
	.align	2
.LC71:
	.ascii	"n->token_->tag_ == TOKEN_IDENTIFIER\000"
	.align	2
.LC72:
	.ascii	"Command not found:%s\000"
	.align	2
.LC73:
	.ascii	"delegate != NULL\000"
	.align	2
.LC74:
	.ascii	"s->stack_->top_ == top\000"
	.align	2
.LC75:
	.ascii	"Substitution: Please specify a variable.\000"
	.align	2
.LC76:
	.ascii	"n->left_ != NULL\000"
	.align	2
.LC77:
	.ascii	"no minus value in the string.[%s]\000"
	.align	2
.LC78:
	.ascii	"s->stack_->top_ == top + 1\000"
	.align	2
.LC79:
	.ascii	"cannot arrays in the system variable.\000"
	.align	2
.LC80:
	.ascii	"System variable(cnt): cannot refer outside the repe"
	.ascii	"at-loop.\000"
	.align	2
.LC81:
	.ascii	"Function not found, Array variable is one dimension"
	.ascii	" only.@@ %s\000"
	.align	2
.LC82:
	.ascii	"Return from outside the subroutine is invalid.\000"
	.align	2
.LC83:
	.ascii	"label_node != NULL\000"
	.align	2
.LC84:
	.ascii	"label_node->tag_ == NODE_LABEL\000"
	.align	2
.LC85:
	.ascii	"goto: Label not found.@@ %s\000"
	.align	2
.LC86:
	.ascii	"gosub: Label not found.@@ %s\000"
	.align	2
.LC87:
	.ascii	"gosub: Nesting is too deep.\000"
	.align	2
.LC88:
	.ascii	"repeat: Nesting is too deep.\000"
	.align	2
.LC89:
	.ascii	"s->current_loop_frame_ > 0\000"
	.align	2
.LC90:
	.ascii	"s->node_cur_ != NULL\000"
	.align	2
.LC91:
	.ascii	"loop,continue: is not in repeat-loop.\000"
	.align	2
.LC92:
	.ascii	"break: is not in repeat-loop.\000"
	.align	2
.LC93:
	.ascii	"break: couldn't repeat-loop in goto, and break.\000"
	.align	2
.LC94:
	.ascii	"n->right_ != NULL\000"
	.align	2
.LC95:
	.ascii	"n->ext_ != NULL\000"
	.text
	.align	2
	.global	evaluate
	.syntax unified
	.arm
	.fpu softvfp
	.type	evaluate, %function
evaluate:
	@ args = 0, pretend = 0, frame = 192
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #192
	str	r0, [fp, #-192]
	str	r1, [fp, #-196]
	str	r2, [fp, #-200]
	ldr	r3, [fp, #-196]
	ldrb	r3, [r3, #336]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L976
	ldr	r3, [fp, #-200]
	ldr	r3, [r3]
	cmp	r3, #37
	ldrls	pc, [pc, r3, asl #2]
	b	.L973
.L854:
	.word	.L977
	.word	.L977
	.word	.L876
	.word	.L875
	.word	.L874
	.word	.L873
	.word	.L872
	.word	.L871
	.word	.L870
	.word	.L870
	.word	.L870
	.word	.L870
	.word	.L870
	.word	.L870
	.word	.L870
	.word	.L870
	.word	.L870
	.word	.L870
	.word	.L870
	.word	.L870
	.word	.L870
	.word	.L869
	.word	.L868
	.word	.L867
	.word	.L866
	.word	.L865
	.word	.L864
	.word	.L863
	.word	.L862
	.word	.L861
	.word	.L860
	.word	.L860
	.word	.L859
	.word	.L858
	.word	.L974
	.word	.L856
	.word	.L977
	.word	.L853
.L876:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L879
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
.L879:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L978
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
	b	.L978
.L875:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	cmp	r3, #25
	beq	.L881
	ldr	r3, .L990
	ldr	r2, .L990+4
	ldr	r1, .L990+8
	ldr	r0, .L990+12
	bl	__assert_fail
.L881:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	ldr	r0, [fp, #-32]
	bl	query_command
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	bne	.L882
	ldr	r1, [fp, #-32]
	ldr	r0, .L990+16
	bl	raise_error
.L882:
	ldr	r3, [fp, #-28]
	mov	r0, r3
	bl	get_command_delegate
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L883
	ldr	r3, .L990
	ldr	r2, .L990+20
	ldr	r1, .L990+8
	ldr	r0, .L990+24
	bl	__assert_fail
.L883:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L884
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
.L884:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	blx	r3
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	beq	.L979
	ldr	r3, .L990
	ldr	r2, .L990+28
	ldr	r1, .L990+8
	ldr	r0, .L990+32
	bl	__assert_fail
.L874:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L886
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
.L886:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L980
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
	b	.L980
.L873:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mvn	r1, #1
	mov	r0, r3
	bl	stack_peek
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	cmp	r3, #4
	beq	.L888
	ldr	r0, .L990+36
	bl	raise_error
.L888:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mvn	r1, #0
	mov	r0, r3
	bl	stack_peek
	str	r0, [fp, #-36]
	ldr	r0, [fp, #-36]
	bl	value_isolate
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L889
	ldr	r3, [fp, #-192]
	ldr	r0, [r3, #16]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	mov	r2, #0
	ldr	r1, [fp, #-36]
	bl	variable_set
	b	.L890
.L889:
	ldr	r3, [fp, #-192]
	ldr	r0, [r3, #16]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #12]
	ldr	r1, [fp, #-36]
	bl	variable_set
.L890:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mov	r1, #2
	mov	r0, r3
	bl	stack_pop
	b	.L878
.L872:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #16]
	ldr	r1, [fp, #-60]
	mov	r0, r3
	bl	search_variable
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L891
	ldr	r3, .L990
	ldr	r2, .L990+40
	ldr	r1, .L990+8
	ldr	r0, .L990+44
	bl	__assert_fail
.L891:
	mov	r3, #0
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L892
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mvn	r1, #0
	mov	r0, r3
	bl	stack_peek
	str	r0, [fp, #-48]
	ldr	r0, [fp, #-48]
	bl	value_calc_int
	str	r0, [fp, #-184]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	stack_pop
.L892:
	ldr	r1, [fp, #-184]
	ldr	r0, [fp, #-56]
	bl	create_value4
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	ldr	r1, [fp, #-44]
	mov	r0, r3
	bl	stack_push
	b	.L878
.L871:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
	b	.L878
.L870:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mvn	r1, #1
	mov	r0, r3
	bl	stack_peek
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mvn	r1, #0
	mov	r0, r3
	bl	stack_peek
	str	r0, [fp, #-64]
	ldr	r0, [fp, #-68]
	bl	value_isolate
	ldr	r3, [fp, #-200]
	ldr	r3, [r3]
	sub	r3, r3, #8
	cmp	r3, #12
	ldrls	pc, [pc, r3, asl #2]
	b	.L975
.L895:
	.word	.L907
	.word	.L906
	.word	.L905
	.word	.L904
	.word	.L903
	.word	.L902
	.word	.L901
	.word	.L900
	.word	.L899
	.word	.L898
	.word	.L897
	.word	.L896
	.word	.L894
.L907:
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-68]
	bl	value_bor
	b	.L908
.L906:
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-68]
	bl	value_band
	b	.L908
.L905:
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-68]
	bl	value_eq
	b	.L908
.L904:
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-68]
	bl	value_neq
	b	.L908
.L903:
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-68]
	bl	value_gt
	b	.L908
.L902:
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-68]
	bl	value_gtoe
	b	.L908
.L901:
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-68]
	bl	value_lt
	b	.L908
.L900:
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-68]
	bl	value_ltoe
	b	.L908
.L899:
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-68]
	bl	value_add
	b	.L908
.L898:
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-68]
	bl	value_sub
	b	.L908
.L897:
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-68]
	bl	value_mul
	b	.L908
.L896:
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-68]
	bl	value_div
	b	.L908
.L894:
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-68]
	bl	value_mod
	b	.L908
.L975:
	ldr	r3, .L990
	ldr	r2, .L990+48
	ldr	r1, .L990+8
	ldr	r0, .L990+224
	bl	__assert_fail
.L908:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	stack_pop
	b	.L878
.L869:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L909
	ldr	r3, .L990
	ldr	r2, .L990+52
	ldr	r1, .L990+8
	ldr	r0, .L990+180
	bl	__assert_fail
.L909:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mvn	r1, #0
	mov	r0, r3
	bl	stack_peek
	str	r0, [fp, #-72]
	ldr	r0, [fp, #-72]
	bl	value_isolate
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	cmp	r3, #3
	beq	.L910
	cmp	r3, #3
	bhi	.L911
	cmp	r3, #1
	beq	.L912
	cmp	r3, #2
	beq	.L913
	b	.L911
.L912:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #8]
	rsb	r2, r3, #0
	ldr	r3, [fp, #-72]
	str	r2, [r3, #8]
	b	.L914
.L913:
	ldr	r3, [fp, #-72]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	mov	r4, r2
	eor	r5, r3, #-2147483648
	ldr	r3, [fp, #-72]
	str	r4, [r3, #8]
	str	r5, [r3, #12]
	b	.L914
.L910:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, .L990+56
	bl	raise_error
	b	.L914
.L911:
	ldr	r3, .L990
	ldr	r2, .L990+60
	ldr	r1, .L990+8
	ldr	r0, .L990+224
	bl	__assert_fail
.L914:
	b	.L878
.L868:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	cmp	r3, #10
	beq	.L915
	cmp	r3, #10
	bgt	.L916
	cmp	r3, #8
	beq	.L917
	cmp	r3, #9
	beq	.L918
	b	.L916
.L917:
	ldr	r3, [fp, #-196]
	ldr	r4, [r3]
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	atoi
	mov	r3, r0
	mov	r0, r3
	bl	create_value
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	stack_push
	b	.L919
.L918:
	ldr	r3, [fp, #-196]
	ldr	r4, [r3]
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	atof
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	create_value2
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	stack_push
	b	.L919
.L915:
	ldr	r3, [fp, #-196]
	ldr	r4, [r3]
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	create_value3
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	stack_push
	b	.L919
.L916:
	ldr	r3, .L990
	ldr	r2, .L990+64
	ldr	r1, .L990+8
	ldr	r0, .L990+224
	bl	__assert_fail
.L919:
	b	.L878
.L867:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	cmp	r3, #25
	beq	.L920
	ldr	r3, .L990
	ldr	r2, .L990+68
	ldr	r1, .L990+8
	ldr	r0, .L990+12
	bl	__assert_fail
.L920:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L921
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
.L921:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-104]
	sub	r3, r2, r3
	str	r3, [fp, #-100]
	ldr	r0, [fp, #-108]
	bl	query_function
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	blt	.L922
	ldr	r3, [fp, #-96]
	mov	r0, r3
	bl	get_function_delegate
	str	r0, [fp, #-76]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L923
	ldr	r3, .L990
	ldr	r2, .L990+72
	ldr	r1, .L990+8
	ldr	r0, .L990+24
	bl	__assert_fail
.L923:
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-100]
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	blx	r3
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-104]
	add	r3, r3, #1
	cmp	r2, r3
	beq	.L981
	ldr	r3, .L990
	ldr	r2, .L990+76
	ldr	r1, .L990+8
	ldr	r0, .L990+80
	bl	__assert_fail
.L922:
	ldr	r0, [fp, #-108]
	bl	query_sysvar
	str	r0, [fp, #-92]
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	blt	.L925
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	ble	.L926
	ldr	r1, [fp, #-108]
	ldr	r0, .L990+84
	bl	raise_error
.L926:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	ldr	r2, [fp, #-100]
	mov	r1, r2
	mov	r0, r3
	bl	stack_pop
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L927
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	cmp	r3, #0
	bgt	.L928
	ldr	r0, .L990+88
	bl	raise_error
.L928:
	ldr	r3, [fp, #-196]
	ldr	r4, [r3]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	sub	r3, r3, #1
	ldr	r2, [fp, #-196]
	add	r3, r3, #5
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	create_value
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	stack_push
	nop
	b	.L981
.L927:
	ldr	r3, .L990
	mov	r2, #3232
	ldr	r1, .L990+8
	ldr	r0, .L990+224
	bl	__assert_fail
.L925:
	ldr	r3, [fp, #-100]
	cmp	r3, #1
	ble	.L930
	ldr	r1, [fp, #-108]
	ldr	r0, .L990+92
	bl	raise_error
.L930:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #16]
	ldr	r1, [fp, #-108]
	mov	r0, r3
	bl	search_variable
	str	r0, [fp, #-88]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L931
	ldr	r3, .L990
	ldr	r2, .L990+96
	ldr	r1, .L990+8
	ldr	r0, .L990+44
	bl	__assert_fail
.L931:
	mov	r3, #0
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	ble	.L932
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mvn	r1, #0
	mov	r0, r3
	bl	stack_peek
	str	r0, [fp, #-84]
	ldr	r0, [fp, #-84]
	bl	value_calc_int
	str	r0, [fp, #-180]
.L932:
	ldr	r1, [fp, #-180]
	ldr	r0, [fp, #-88]
	bl	create_value4
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	ldr	r2, [fp, #-100]
	mov	r1, r2
	mov	r0, r3
	bl	stack_pop
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	ldr	r1, [fp, #-80]
	mov	r0, r3
	bl	stack_push
	b	.L981
.L866:
	ldr	r3, [fp, #-196]
	mov	r2, #1
	strb	r2, [r3, #336]
	b	.L878
.L865:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #72]
	cmp	r3, #0
	bgt	.L933
	ldr	r0, .L990+100
	bl	raise_error
.L933:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L934
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mvn	r1, #0
	mov	r0, r3
	bl	stack_peek
	str	r0, [fp, #-112]
	ldr	r0, [fp, #-112]
	bl	value_get_primitive_tag
	mov	r3, r0
	cmp	r3, #3
	beq	.L982
	cmp	r3, #3
	bhi	.L936
	cmp	r3, #1
	beq	.L983
	cmp	r3, #2
	beq	.L984
.L936:
	ldr	r3, .L990
	ldr	r2, .L990+104
	ldr	r1, .L990+8
	ldr	r0, .L990+224
	bl	__assert_fail
.L982:
	nop
	b	.L939
.L983:
	nop
	b	.L939
.L984:
	nop
.L939:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	stack_pop
.L934:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #72]
	sub	r2, r3, #1
	ldr	r3, [fp, #-196]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-196]
	ldr	r2, [r3, #72]
	ldr	r3, [fp, #-196]
	add	r2, r2, #2
	ldr	r2, [r3, r2, lsl #2]
	ldr	r3, [fp, #-196]
	str	r2, [r3, #4]
	b	.L878
.L864:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	bne	.L940
	ldr	r3, .L990
	ldr	r2, .L990+108
	ldr	r1, .L990+8
	ldr	r0, .L990+112
	bl	__assert_fail
.L940:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L941
	ldr	r3, .L990
	ldr	r2, .L990+116
	ldr	r1, .L990+8
	ldr	r0, .L990+120
	bl	__assert_fail
.L941:
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-120]
	ldr	r1, [fp, #-120]
	ldr	r0, [fp, #-192]
	bl	search_label
	str	r0, [fp, #-116]
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	bne	.L942
	ldr	r1, [fp, #-120]
	ldr	r0, .L990+124
	bl	raise_error
.L942:
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-116]
	str	r2, [r3, #4]
	b	.L878
.L863:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bne	.L943
	ldr	r3, .L990
	ldr	r2, .L990+128
	ldr	r1, .L990+8
	ldr	r0, .L990+112
	bl	__assert_fail
.L943:
	ldr	r3, [fp, #-136]
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L944
	ldr	r3, .L990
	ldr	r2, .L990+132
	ldr	r1, .L990+8
	ldr	r0, .L990+120
	bl	__assert_fail
.L944:
	ldr	r3, [fp, #-136]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-132]
	ldr	r1, [fp, #-132]
	ldr	r0, [fp, #-192]
	bl	search_label
	str	r0, [fp, #-128]
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	bne	.L945
	ldr	r1, [fp, #-132]
	ldr	r0, .L990+136
	bl	raise_error
.L945:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #72]
	cmp	r3, #14
	ble	.L946
	ldr	r0, .L990+140
	bl	raise_error
.L946:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #72]
	add	r2, r3, #1
	ldr	r3, [fp, #-196]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #72]
	sub	r2, r3, #1
	ldr	r3, [fp, #-196]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-196]
	add	r2, r2, #2
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-128]
	str	r2, [r3, #4]
	b	.L878
.L862:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	cmp	r3, #14
	ble	.L947
	ldr	r0, .L990+144
	bl	raise_error
.L947:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	add	r2, r3, #1
	ldr	r3, [fp, #-196]
	str	r2, [r3, #332]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	sub	r3, r3, #1
	ldr	r2, [fp, #-196]
	ldr	r2, [r2, #4]
	ldr	r1, [fp, #-196]
	lsl	r3, r3, #4
	add	r3, r1, r3
	str	r2, [r3, #76]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	sub	r3, r3, #1
	ldr	r2, [fp, #-196]
	add	r3, r3, #5
	lsl	r3, r3, #4
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	sub	r3, r3, #1
	ldr	r2, [fp, #-196]
	lsl	r3, r3, #4
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #80]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	sub	r3, r3, #1
	ldr	r2, [fp, #-196]
	add	r3, r3, #5
	lsl	r3, r3, #4
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #4]
	mvn	r3, #0
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L948
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mvn	r1, #0
	mov	r0, r3
	bl	stack_peek
	str	r0, [fp, #-140]
	ldr	r0, [fp, #-140]
	bl	value_calc_int
	str	r0, [fp, #-176]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	stack_pop
.L948:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	sub	r3, r3, #1
	ldr	r2, [fp, #-196]
	add	r3, r3, #5
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-176]
	str	r2, [r3, #4]
	b	.L878
.L861:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	cmp	r3, #0
	bgt	.L949
	ldr	r3, .L990
	ldr	r2, .L990+148
	ldr	r1, .L990+8
	ldr	r0, .L990+152
	bl	__assert_fail
.L949:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	sub	r3, r3, #1
	ldr	r2, [fp, #-196]
	add	r3, r3, #5
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	blt	.L985
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	sub	r3, r3, #1
	ldr	r2, [fp, #-196]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r2, [r3, #80]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	sub	r3, r3, #1
	ldr	r1, [fp, #-196]
	add	r3, r3, #5
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r3, [r3, #4]
	cmp	r2, r3
	blt	.L985
	mov	r3, #0
	str	r3, [fp, #-172]
	b	.L951
.L955:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3]
	cmp	r3, #28
	bne	.L952
	ldr	r3, [fp, #-172]
	add	r3, r3, #1
	str	r3, [fp, #-172]
	b	.L953
.L952:
	ldr	r3, [fp, #-144]
	ldr	r3, [r3]
	cmp	r3, #30
	bne	.L953
	ldr	r3, [fp, #-172]
	sub	r2, r3, #1
	str	r2, [fp, #-172]
	cmp	r3, #0
	beq	.L986
.L953:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #4]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-196]
	str	r2, [r3, #4]
.L951:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L955
	b	.L954
.L986:
	nop
.L954:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L956
	ldr	r3, .L990
	ldr	r2, .L990+156
	ldr	r1, .L990+8
	ldr	r0, .L990+160
	bl	__assert_fail
.L956:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	sub	r2, r3, #1
	ldr	r3, [fp, #-196]
	str	r2, [r3, #332]
	b	.L985
.L860:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	cmp	r3, #0
	bgt	.L957
	ldr	r0, .L990+164
	bl	raise_error
.L957:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	sub	r2, r3, #1
	ldr	r1, [fp, #-196]
	lsl	r3, r2, #4
	add	r3, r1, r3
	ldr	r3, [r3, #80]
	add	r1, r3, #1
	ldr	r0, [fp, #-196]
	lsl	r3, r2, #4
	add	r3, r0, r3
	str	r1, [r3, #80]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	sub	r2, r3, #1
	ldr	r1, [fp, #-196]
	add	r3, r2, #5
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r3, [r3, #8]
	add	r1, r3, #1
	ldr	r0, [fp, #-196]
	add	r3, r2, #5
	lsl	r3, r3, #4
	add	r3, r0, r3
	str	r1, [r3, #8]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	sub	r3, r3, #1
	ldr	r2, [fp, #-196]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r2, [r3, #76]
	ldr	r3, [fp, #-196]
	str	r2, [r3, #4]
	b	.L878
.L859:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	cmp	r3, #0
	bgt	.L958
	ldr	r0, .L990+168
	bl	raise_error
.L958:
	mov	r3, #0
	str	r3, [fp, #-168]
	b	.L959
.L963:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-148]
	ldr	r3, [r3]
	cmp	r3, #28
	bne	.L960
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	b	.L961
.L960:
	ldr	r3, [fp, #-148]
	ldr	r3, [r3]
	cmp	r3, #30
	bne	.L961
	ldr	r3, [fp, #-168]
	sub	r2, r3, #1
	str	r2, [fp, #-168]
	cmp	r3, #0
	beq	.L987
.L961:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #4]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-196]
	str	r2, [r3, #4]
.L959:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L963
	b	.L962
.L991:
	.align	2
.L990:
	.word	__PRETTY_FUNCTION__.8029
	.word	3031
	.word	.LC10
	.word	.LC71
	.word	.LC72
	.word	3038
	.word	.LC73
	.word	3045
	.word	.LC74
	.word	.LC75
	.word	3079
	.word	.LC45
	.word	3154
	.word	3161
	.word	.LC77
	.word	3176
	.word	3193
	.word	3199
	.word	3211
	.word	3213
	.word	.LC78
	.word	.LC79
	.word	.LC80
	.word	.LC81
	.word	3243
	.word	.LC82
	.word	3274
	.word	3285
	.word	.LC83
	.word	3286
	.word	.LC84
	.word	.LC85
	.word	3297
	.word	3298
	.word	.LC86
	.word	.LC87
	.word	.LC88
	.word	3332
	.word	.LC89
	.word	3348
	.word	.LC90
	.word	.LC91
	.word	.LC92
	.word	.LC93
	.word	3387
	.word	.LC76
	.word	3389
	.word	.LC94
	.word	3391
	.word	.LC69
	.word	3406
	.word	3409
	.word	3423
	.word	.LC95
	.word	__PRETTY_FUNCTION__.8029
	.word	3427
	.word	.LC33
	.word	.LC10
.L987:
	nop
.L962:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L964
	ldr	r0, .L990+172
	bl	raise_error
.L964:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #332]
	sub	r2, r3, #1
	ldr	r3, [fp, #-196]
	str	r2, [r3, #332]
	b	.L878
.L858:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L965
	ldr	r3, .L990+216
	ldr	r2, .L990+176
	ldr	r1, .L990+228
	ldr	r0, .L990+180
	bl	__assert_fail
.L965:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L966
	ldr	r3, .L990+216
	ldr	r2, .L990+184
	ldr	r1, .L990+228
	ldr	r0, .L990+188
	bl	__assert_fail
.L966:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-156]
	ldr	r3, [r3]
	cmp	r3, #34
	beq	.L967
	ldr	r3, .L990+216
	ldr	r2, .L990+192
	ldr	r1, .L990+228
	ldr	r0, .L990+196
	bl	__assert_fail
.L967:
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mvn	r1, #0
	mov	r0, r3
	bl	stack_peek
	str	r0, [fp, #-152]
	ldr	r0, [fp, #-152]
	bl	value_calc_boolean
	mov	r3, r0
	strb	r3, [fp, #-185]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	stack_pop
	ldrb	r3, [fp, #-185]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L968
	ldr	r3, [fp, #-156]
	ldr	r3, [r3, #8]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
	b	.L988
.L968:
	ldr	r3, [fp, #-156]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L988
	ldr	r3, [fp, #-156]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
	b	.L988
.L974:
	ldr	r3, .L990+216
	ldr	r2, .L990+200
	ldr	r1, .L990+228
	ldr	r0, .L990+224
	bl	__assert_fail
.L856:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L970
	ldr	r3, .L990+216
	ldr	r2, .L990+204
	ldr	r1, .L990+228
	ldr	r0, .L990+212
	bl	__assert_fail
.L970:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-164]
	ldr	r2, [fp, #-164]
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	evaluate
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mvn	r1, #0
	mov	r0, r3
	bl	stack_peek
	str	r0, [fp, #-160]
	ldr	r0, [fp, #-160]
	bl	value_calc_boolean
	mov	r3, r0
	strb	r3, [fp, #-186]
	ldr	r3, [fp, #-196]
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	stack_pop
	ldrb	r3, [fp, #-186]
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	beq	.L989
	ldr	r3, [fp, #-196]
	ldr	r3, [r3, #4]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-196]
	str	r2, [r3, #4]
	b	.L989
.L853:
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L972
	ldr	r3, .L990+216
	ldr	r2, .L990+208
	ldr	r1, .L990+228
	ldr	r0, .L990+212
	bl	__assert_fail
.L972:
	ldr	r3, [fp, #-200]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-196]
	str	r2, [r3, #4]
	b	.L878
.L973:
	ldr	r3, .L990+216
	ldr	r2, .L990+220
	ldr	r1, .L990+228
	ldr	r0, .L990+224
	bl	__assert_fail
.L977:
	nop
	b	.L849
.L978:
	nop
	b	.L849
.L979:
	nop
	b	.L849
.L980:
	nop
	b	.L849
.L981:
	nop
	b	.L849
.L985:
	nop
	b	.L849
.L988:
	nop
	b	.L849
.L989:
	nop
.L878:
	b	.L849
.L976:
	nop
.L849:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	evaluate, .-evaluate
	.section	.rodata
	.align	2
.LC96:
	.ascii	"No executable node.@@ [%p]\000"
	.align	2
.LC97:
	.ascii	"top == s.stack_->top_\000"
	.align	2
.LC98:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	execute
	.syntax unified
	.arm
	.fpu softvfp
	.type	execute, %function
execute:
	@ args = 0, pretend = 0, frame = 360
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #360
	str	r0, [fp, #-360]
	ldr	r3, .L1002
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #348
	mov	r0, r3
	bl	initialize_execute_status
	ldr	r3, [fp, #-360]
	ldr	r3, [r3, #8]
	ldr	r3, [r3]
	str	r3, [fp, #-344]
	ldr	r3, [fp, #-344]
	cmp	r3, #0
	bne	.L998
	ldr	r1, [fp, #-360]
	ldr	r0, .L1002+4
	bl	raise_error
.L998:
	ldr	r3, [fp, #-344]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-356]
	ldr	r3, [fp, #-348]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-352]
	sub	r3, fp, #348
	ldr	r2, [fp, #-356]
	mov	r1, r3
	ldr	r0, [fp, #-360]
	bl	evaluate
	ldr	r3, [fp, #-348]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-352]
	cmp	r2, r3
	beq	.L994
	ldr	r3, .L1002+8
	ldr	r2, .L1002+12
	ldr	r1, .L1002+16
	ldr	r0, .L1002+20
	bl	__assert_fail
.L994:
	ldrb	r3, [fp, #-12]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1000
	ldr	r3, [fp, #-344]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-344]
	ldr	r3, [fp, #-344]
	cmp	r3, #0
	beq	.L1001
	b	.L998
.L1000:
	nop
	b	.L996
.L1001:
	nop
.L996:
	sub	r3, fp, #348
	mov	r0, r3
	bl	uninitialize_execute_status
	nop
	ldr	r3, .L1002
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L999
	bl	__stack_chk_fail
.L999:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1003:
	.align	2
.L1002:
	.word	.LC98
	.word	.LC96
	.word	__PRETTY_FUNCTION__.8155
	.word	3446
	.word	.LC10
	.word	.LC97
	.size	execute, .-execute
	.align	2
	.global	query_command
	.syntax unified
	.arm
	.fpu softvfp
	.type	query_command, %function
query_command:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1005
.L1008:
	ldr	r2, .L1009
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	string_equal_igcase
	mov	r3, r0
	cmp	r3, #0
	beq	.L1006
	ldr	r2, .L1009
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #3]
	b	.L1007
.L1006:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1005:
	ldr	r2, .L1009
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #3]
	cmn	r3, #1
	bne	.L1008
	mvn	r3, #0
.L1007:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1010:
	.align	2
.L1009:
	.word	table.8164
	.size	query_command, .-query_command
	.align	2
	.global	get_command_delegate
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_command_delegate, %function
get_command_delegate:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r2, .L1013
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1014:
	.align	2
.L1013:
	.word	commands.8172
	.size	get_command_delegate, .-get_command_delegate
	.align	2
	.global	query_function
	.syntax unified
	.arm
	.fpu softvfp
	.type	query_function, %function
query_function:
	@ 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]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1016
.L1019:
	ldr	r2, .L1020
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	string_equal_igcase
	mov	r3, r0
	cmp	r3, #0
	beq	.L1017
	ldr	r2, .L1020
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #3]
	b	.L1018
.L1017:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1016:
	ldr	r2, .L1020
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #3]
	cmn	r3, #1
	bne	.L1019
	mvn	r3, #0
.L1018:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1021:
	.align	2
.L1020:
	.word	table.8179
	.size	query_function, .-query_function
	.align	2
	.global	get_function_delegate
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_function_delegate, %function
get_function_delegate:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r2, .L1024
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1025:
	.align	2
.L1024:
	.word	functions.8187
	.size	get_function_delegate, .-get_function_delegate
	.section	.rodata
	.align	2
.LC99:
	.ascii	"start.hsp\000"
	.align	2
.LC100:
	.ascii	"r\000"
	.align	2
.LC101:
	.ascii	"ERROR : cannot read such file %s\012\000"
	.align	2
.LC102:
	.ascii	"script != NULL\000"
	.align	2
.LC103:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L1039
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-56]
	cmp	r3, #1
	ble	.L1027
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-40]
	b	.L1028
.L1027:
	ldr	r3, .L1039+4
	str	r3, [fp, #-40]
.L1028:
	ldr	r1, .L1039+8
	ldr	r0, [fp, #-40]
	bl	fopen
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1029
	ldr	r1, [fp, #-40]
	ldr	r0, .L1039+12
	bl	raise_error
	mvn	r3, #0
	b	.L1030
.L1029:
	mov	r2, #2
	mov	r1, #0
	ldr	r0, [fp, #-28]
	bl	fseek
	ldr	r0, [fp, #-28]
	bl	ftell
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-44]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-28]
	bl	fseek
	mov	r3, #0
	str	r3, [fp, #-32]
.L1034:
	ldr	r0, [fp, #-28]
	bl	fgetc
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmn	r3, #1
	beq	.L1038
	ldr	r3, [fp, #-20]
	strb	r3, [fp, #-45]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bhi	.L1033
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-44]
	bl	realloc
	str	r0, [fp, #-44]
.L1033:
	ldr	r3, [fp, #-32]
	add	r2, r3, #1
	str	r2, [fp, #-32]
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldrb	r2, [fp, #-45]
	strb	r2, [r3]
	b	.L1034
.L1038:
	nop
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r0, [fp, #-28]
	bl	fclose
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L1035
	ldr	r3, .L1039+16
	ldr	r2, .L1039+20
	ldr	r1, .L1039+24
	ldr	r0, .L1039+28
	bl	__assert_fail
.L1035:
	mov	r0, #0
	bl	time
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	srand
	bl	create_execute_environment
	str	r0, [fp, #-12]
	sub	r3, fp, #48
	mov	r2, r3
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-12]
	bl	load_script
	ldr	r0, [fp, #-12]
	bl	execute
	ldr	r0, [fp, #-12]
	bl	destroy_execute_environment
	ldr	r0, [fp, #-44]
	bl	free
	mov	r3, #0
.L1030:
	ldr	r2, .L1039
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1036
	bl	__stack_chk_fail
.L1036:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1040:
	.align	2
.L1039:
	.word	.LC103
	.word	.LC99
	.word	.LC100
	.word	.LC101
	.word	__PRETTY_FUNCTION__.8202
	.word	3561
	.word	.LC10
	.word	.LC102
	.size	main, .-main
	.section	.rodata
	.align	2
	.type	__PRETTY_FUNCTION__.7049, %object
	.size	__PRETTY_FUNCTION__.7049, 10
__PRETTY_FUNCTION__.7049:
	.ascii	"link_next\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7054, %object
	.size	__PRETTY_FUNCTION__.7054, 10
__PRETTY_FUNCTION__.7054:
	.ascii	"link_prev\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7068, %object
	.size	__PRETTY_FUNCTION__.7068, 13
__PRETTY_FUNCTION__.7068:
	.ascii	"list_prepend\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7073, %object
	.size	__PRETTY_FUNCTION__.7073, 12
__PRETTY_FUNCTION__.7073:
	.ascii	"list_append\000"
	.align	2
.LC104:
	.ascii	"end\000"
	.align	2
.LC105:
	.ascii	"return\000"
	.align	2
.LC106:
	.ascii	"goto\000"
	.align	2
.LC107:
	.ascii	"gosub\000"
	.align	2
.LC108:
	.ascii	"repeat\000"
	.align	2
.LC109:
	.ascii	"loop\000"
	.align	2
.LC110:
	.ascii	"continue\000"
	.align	2
.LC111:
	.ascii	"break\000"
	.align	2
.LC112:
	.ascii	"if\000"
	.align	2
.LC113:
	.ascii	"else\000"
	.align	2
	.type	table.7100, %object
	.size	table.7100, 88
table.7100:
	.word	0
	.word	.LC104
	.word	1
	.word	.LC105
	.word	2
	.word	.LC106
	.word	3
	.word	.LC107
	.word	4
	.word	.LC108
	.word	5
	.word	.LC109
	.word	6
	.word	.LC110
	.word	7
	.word	.LC111
	.word	8
	.word	.LC112
	.word	9
	.word	.LC113
	.word	-1
	.word	0
	.align	2
.LC114:
	.ascii	"and\000"
	.align	2
.LC115:
	.ascii	"or\000"
	.align	2
	.type	shadows.7112, %object
	.size	shadows.7112, 24
shadows.7112:
	.word	12
	.word	.LC114
	.word	11
	.word	.LC115
	.word	-1
	.word	0
	.align	2
	.type	__PRETTY_FUNCTION__.7233, %object
	.size	__PRETTY_FUNCTION__.7233, 11
__PRETTY_FUNCTION__.7233:
	.ascii	"read_token\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7239, %object
	.size	__PRETTY_FUNCTION__.7239, 13
__PRETTY_FUNCTION__.7239:
	.ascii	"unread_token\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7248, %object
	.size	__PRETTY_FUNCTION__.7248, 11
__PRETTY_FUNCTION__.7248:
	.ascii	"prev_token\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7267, %object
	.size	__PRETTY_FUNCTION__.7267, 17
__PRETTY_FUNCTION__.7267:
	.ascii	"destroy_ast_node\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7401, %object
	.size	__PRETTY_FUNCTION__.7401, 13
__PRETTY_FUNCTION__.7401:
	.ascii	"parse_borand\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7421, %object
	.size	__PRETTY_FUNCTION__.7421, 12
__PRETTY_FUNCTION__.7421:
	.ascii	"parse_eqneq\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7443, %object
	.size	__PRETTY_FUNCTION__.7443, 11
__PRETTY_FUNCTION__.7443:
	.ascii	"parse_gtlt\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7461, %object
	.size	__PRETTY_FUNCTION__.7461, 13
__PRETTY_FUNCTION__.7461:
	.ascii	"parse_addsub\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7481, %object
	.size	__PRETTY_FUNCTION__.7481, 16
__PRETTY_FUNCTION__.7481:
	.ascii	"parse_muldivmod\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7536, %object
	.size	__PRETTY_FUNCTION__.7536, 17
__PRETTY_FUNCTION__.7536:
	.ascii	"prepare_variable\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7564, %object
	.size	__PRETTY_FUNCTION__.7564, 13
__PRETTY_FUNCTION__.7564:
	.ascii	"variable_set\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7585, %object
	.size	__PRETTY_FUNCTION__.7585, 18
__PRETTY_FUNCTION__.7585:
	.ascii	"variable_data_ptr\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7596, %object
	.size	__PRETTY_FUNCTION__.7596, 18
__PRETTY_FUNCTION__.7596:
	.ascii	"variable_calc_int\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7607, %object
	.size	__PRETTY_FUNCTION__.7607, 21
__PRETTY_FUNCTION__.7607:
	.ascii	"variable_calc_double\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7618, %object
	.size	__PRETTY_FUNCTION__.7618, 21
__PRETTY_FUNCTION__.7618:
	.ascii	"variable_calc_string\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7686, %object
	.size	__PRETTY_FUNCTION__.7686, 19
__PRETTY_FUNCTION__.7686:
	.ascii	"value_calc_boolean\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7696, %object
	.size	__PRETTY_FUNCTION__.7696, 15
__PRETTY_FUNCTION__.7696:
	.ascii	"value_calc_int\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7706, %object
	.size	__PRETTY_FUNCTION__.7706, 18
__PRETTY_FUNCTION__.7706:
	.ascii	"value_calc_double\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7718, %object
	.size	__PRETTY_FUNCTION__.7718, 18
__PRETTY_FUNCTION__.7718:
	.ascii	"value_calc_string\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7729, %object
	.size	__PRETTY_FUNCTION__.7729, 19
__PRETTY_FUNCTION__.7729:
	.ascii	"value_convert_type\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7739, %object
	.size	__PRETTY_FUNCTION__.7739, 14
__PRETTY_FUNCTION__.7739:
	.ascii	"value_isolate\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7750, %object
	.size	__PRETTY_FUNCTION__.7750, 10
__PRETTY_FUNCTION__.7750:
	.ascii	"value_bor\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7761, %object
	.size	__PRETTY_FUNCTION__.7761, 11
__PRETTY_FUNCTION__.7761:
	.ascii	"value_band\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7772, %object
	.size	__PRETTY_FUNCTION__.7772, 9
__PRETTY_FUNCTION__.7772:
	.ascii	"value_eq\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7783, %object
	.size	__PRETTY_FUNCTION__.7783, 10
__PRETTY_FUNCTION__.7783:
	.ascii	"value_neq\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7794, %object
	.size	__PRETTY_FUNCTION__.7794, 9
__PRETTY_FUNCTION__.7794:
	.ascii	"value_gt\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7805, %object
	.size	__PRETTY_FUNCTION__.7805, 11
__PRETTY_FUNCTION__.7805:
	.ascii	"value_gtoe\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7816, %object
	.size	__PRETTY_FUNCTION__.7816, 9
__PRETTY_FUNCTION__.7816:
	.ascii	"value_lt\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7827, %object
	.size	__PRETTY_FUNCTION__.7827, 11
__PRETTY_FUNCTION__.7827:
	.ascii	"value_ltoe\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7840, %object
	.size	__PRETTY_FUNCTION__.7840, 10
__PRETTY_FUNCTION__.7840:
	.ascii	"value_add\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7851, %object
	.size	__PRETTY_FUNCTION__.7851, 10
__PRETTY_FUNCTION__.7851:
	.ascii	"value_sub\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7862, %object
	.size	__PRETTY_FUNCTION__.7862, 10
__PRETTY_FUNCTION__.7862:
	.ascii	"value_mul\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7873, %object
	.size	__PRETTY_FUNCTION__.7873, 10
__PRETTY_FUNCTION__.7873:
	.ascii	"value_div\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7884, %object
	.size	__PRETTY_FUNCTION__.7884, 10
__PRETTY_FUNCTION__.7884:
	.ascii	"value_mod\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7912, %object
	.size	__PRETTY_FUNCTION__.7912, 11
__PRETTY_FUNCTION__.7912:
	.ascii	"stack_peek\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7917, %object
	.size	__PRETTY_FUNCTION__.7917, 10
__PRETTY_FUNCTION__.7917:
	.ascii	"stack_pop\000"
	.align	2
.LC116:
	.ascii	"cnt\000"
	.align	2
	.type	table.7927, %object
	.size	table.7927, 16
table.7927:
	.word	0
	.word	.LC116
	.word	-1
	.word	0
	.align	2
	.type	__PRETTY_FUNCTION__.7984, %object
	.size	__PRETTY_FUNCTION__.7984, 8
__PRETTY_FUNCTION__.7984:
	.ascii	"flatten\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8029, %object
	.size	__PRETTY_FUNCTION__.8029, 9
__PRETTY_FUNCTION__.8029:
	.ascii	"evaluate\000"
	.align	2
	.type	__PRETTY_FUNCTION__.8155, %object
	.size	__PRETTY_FUNCTION__.8155, 8
__PRETTY_FUNCTION__.8155:
	.ascii	"execute\000"
	.align	2
.LC117:
	.ascii	"mes\000"
	.align	2
	.type	table.8164, %object
	.size	table.8164, 16
table.8164:
	.word	0
	.word	.LC117
	.word	-1
	.word	0
	.align	2
	.type	commands.8172, %object
	.size	commands.8172, 8
commands.8172:
	.word	command_mes
	.word	0
	.align	2
.LC118:
	.ascii	"rnd\000"
	.align	2
	.type	table.8179, %object
	.size	table.8179, 16
table.8179:
	.word	0
	.word	.LC118
	.word	-1
	.word	0
	.align	2
	.type	functions.8187, %object
	.size	functions.8187, 8
functions.8187:
	.word	function_rnd
	.word	0
	.align	2
	.type	__PRETTY_FUNCTION__.8202, %object
	.size	__PRETTY_FUNCTION__.8202, 5
__PRETTY_FUNCTION__.8202:
	.ascii	"main\000"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
