LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_lexer_zaLexer_emitzelcolonzx
static void mw_mirth_lexer_zaLexer_emitzelcolonzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_lexer_zaLexer* in_zaLexer_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_lexer_zaLexer* *out_zaLexer_4) {
	struct mirth_token_TokenValue v5 = { .tag=mirth_token_TokenValue_LColonOpen };
	struct mirth_mirth_zaMirth* v6;
	struct mirth_lexer_zaLexer* v7;
	uint64_t v8 = mw_mirth_lexer_zaLexer_makezx(in_zaMirth_1, in_zaLexer_2, v5, &v6, &v7);
	struct mirth_lexer_zaLexer* v9;
	mw_mirth_lexer_zaLexer_stackzepushzx(v7, v8, &v9);
	*out_zaLexer_4 = v9;
	*out_zaMirth_3 = v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq 0x1a5509(%rip), %rax    # 0x36eba8
movq %rax, -0x30(%rbp)
movq 0x1a5506(%rip), %rax    # 0x36ebb0
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x28(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x40(%rbp), %r9
callq 0x1cb7b0
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rdi
movq -0x48(%rbp), %rsi
leaq -0x50(%rbp), %rdx
callq 0x1cc550
movq -0x50(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_lexer_zaLexer_emitzelparenzx
static void mw_mirth_lexer_zaLexer_emitzelparenzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_lexer_zaLexer* in_zaLexer_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_lexer_zaLexer* *out_zaLexer_4) {
	struct mirth_token_TokenValue v5 = { .tag=mirth_token_TokenValue_LParenOpen };
	struct mirth_mirth_zaMirth* v6;
	struct mirth_lexer_zaLexer* v7;
	uint64_t v8 = mw_mirth_lexer_zaLexer_makezx(in_zaMirth_1, in_zaLexer_2, v5, &v6, &v7);
	struct mirth_lexer_zaLexer* v9;
	mw_mirth_lexer_zaLexer_stackzepushzx(v7, v8, &v9);
	*out_zaLexer_4 = v9;
	*out_zaMirth_3 = v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq 0x1a5439(%rip), %rax    # 0x36eb58
movq %rax, -0x30(%rbp)
movq 0x1a5436(%rip), %rax    # 0x36eb60
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x28(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x40(%rbp), %r9
callq 0x1cb7b0
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rdi
movq -0x48(%rbp), %rsi
leaq -0x50(%rbp), %rdx
callq 0x1cc550
movq -0x50(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_lexer_zaLexer_emitzelsquarezx
static void mw_mirth_lexer_zaLexer_emitzelsquarezx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_lexer_zaLexer* in_zaLexer_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_lexer_zaLexer* *out_zaLexer_4) {
	struct mirth_token_TokenValue v5 = { .tag=mirth_token_TokenValue_LSquareOpen };
	struct mirth_mirth_zaMirth* v6;
	struct mirth_lexer_zaLexer* v7;
	uint64_t v8 = mw_mirth_lexer_zaLexer_makezx(in_zaMirth_1, in_zaLexer_2, v5, &v6, &v7);
	struct mirth_lexer_zaLexer* v9;
	mw_mirth_lexer_zaLexer_stackzepushzx(v7, v8, &v9);
	*out_zaLexer_4 = v9;
	*out_zaMirth_3 = v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq 0x1a5329(%rip), %rax    # 0x36eb68
movq %rax, -0x30(%rbp)
movq 0x1a5326(%rip), %rax    # 0x36eb70
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x28(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x40(%rbp), %r9
callq 0x1cb7b0
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rdi
movq -0x48(%rbp), %rsi
leaq -0x50(%rbp), %rdx
callq 0x1cc550
movq -0x50(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_lexer_zaLexer_emitzelcurlyzx
static void mw_mirth_lexer_zaLexer_emitzelcurlyzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_lexer_zaLexer* in_zaLexer_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_lexer_zaLexer* *out_zaLexer_4) {
	struct mirth_token_TokenValue v5 = { .tag=mirth_token_TokenValue_LCurlyOpen };
	struct mirth_mirth_zaMirth* v6;
	struct mirth_lexer_zaLexer* v7;
	uint64_t v8 = mw_mirth_lexer_zaLexer_makezx(in_zaMirth_1, in_zaLexer_2, v5, &v6, &v7);
	struct mirth_lexer_zaLexer* v9;
	mw_mirth_lexer_zaLexer_stackzepushzx(v7, v8, &v9);
	*out_zaLexer_4 = v9;
	*out_zaMirth_3 = v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq 0x1a5289(%rip), %rax    # 0x36eb48
movq %rax, -0x30(%rbp)
movq 0x1a5286(%rip), %rax    # 0x36eb50
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x28(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x40(%rbp), %r9
callq 0x1cb7b0
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rdi
movq -0x48(%rbp), %rsi
leaq -0x50(%rbp), %rdx
callq 0x1cc550
movq -0x50(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_lexer_zaLexer_commentzeendzy
static bool mw_mirth_lexer_zaLexer_commentzeendzy (struct mirth_lexer_zaLexer* in_zaLexer_1, struct mirth_lexer_zaLexer* *out_zaLexer_2) {
	struct mirth_lexer_zaLexer* v4;
	bool v5 = mw_mirth_lexer_zaLexer_donezy(in_zaLexer_1, &v4);
	struct mirth_lexer_zaLexer* branch_zaLexer_6;
	bool branch_Bool_7;
	if (v5) {
		bool v8 = true;
		branch_Bool_7 = v8;
		branch_zaLexer_6 = v4;
	} else {
		struct mirth_lexer_zaLexer* v9;
		enum std_byte_Byte v10 = mw_mirth_lexer_zaLexer_peek(v4, &v9);
		enum std_byte_Byte v11 = std_byte_Byte_BLF;
		int64_t v12 = v10;
		INT v13 = i64_to_int(v12);
		uint64_t v14 = int_to_u64(v13);
		uint8_t v15 = (uint8_t)(v14);
		int64_t v16 = v11;
		INT v17 = i64_to_int(v16);
		uint64_t v18 = int_to_u64(v17);
		uint8_t v19 = (uint8_t)(v18);
		uint64_t v20 = (uint64_t)(v19);
		uint32_t v21 = (uint32_t)(v20);
		uint64_t v22 = (uint64_t)(v15);
		uint32_t v23 = (uint32_t)(v22);
		uint64_t v24 = (uint64_t)(v23);
		uint64_t v25 = (uint64_t)(v21);
		bool v26 = (v24 == v25);
		branch_Bool_7 = v26;
		branch_zaLexer_6 = v9;
	}
	*out_zaLexer_2 = branch_zaLexer_6;
	return branch_Bool_7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x1c60f0
andb $0x1, %al
movb %al, -0x19(%rbp)
testb $0x1, -0x19(%rbp)
je 0x1cb354
movb $0x1, -0x2a(%rbp)
movb -0x2a(%rbp), %al
andb $0x1, %al
movb %al, -0x29(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x1cb431
movq -0x18(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x1c73f0
movl %eax, -0x3c(%rbp)
movl $0xa, -0x40(%rbp)
movl -0x3c(%rbp), %eax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
callq 0x1a290
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
callq 0x1b680
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movb %al, -0x59(%rbp)
movl -0x40(%rbp), %eax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rdi
callq 0x1a290
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rdi
callq 0x1b680
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movb %al, -0x79(%rbp)
movzbl -0x79(%rbp), %eax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movl %eax, -0x8c(%rbp)
movzbl -0x59(%rbp), %eax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
movl %eax, -0x9c(%rbp)
movl -0x9c(%rbp), %eax
movq %rax, -0xa8(%rbp)
movl -0x8c(%rbp), %eax
movq %rax, -0xb0(%rbp)
movq -0xa8(%rbp), %rax
cmpq -0xb0(%rbp), %rax
sete %al
andb $0x1, %al
movb %al, -0xb1(%rbp)
movb -0xb1(%rbp), %al
andb $0x1, %al
movb %al, -0x29(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movb -0x29(%rbp), %al
andb $0x1, %al
addq $0xc0, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_lexer_zaLexer_stackzepeek
static struct std_maybe_Maybe_1 mw_mirth_lexer_zaLexer_stackzepeek (struct mirth_lexer_zaLexer* in_zaLexer_1, struct mirth_lexer_zaLexer* *out_zaLexer_2) {
	struct std_list_List_1 v4 = in_zaLexer_1->mlexerzestack;
	incref(MK_std_list_List_1(v4));
	struct std_maybe_Maybe_1 v5 = mw_std_list_List_1_head(v4);
	*out_zaLexer_2 = in_zaLexer_1;
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x28(%rax), %rcx
movq %rcx, -0x30(%rbp)
movq 0x30(%rax), %rax
movq %rax, -0x28(%rbp)
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x38(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1cb509
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rax
cmpq $0x0, %rax
je 0x1cb509
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x60(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1cb509
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1cb50b
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x1cbc40
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_lexer_zaLexer_stackzedrop
static void mw_mirth_lexer_zaLexer_stackzedrop (struct mirth_lexer_zaLexer* in_zaLexer_1, struct mirth_lexer_zaLexer* *out_zaLexer_2) {
	struct std_list_List_1 v3 = in_zaLexer_1->mlexerzestack;
	incref(MK_std_list_List_1(v3));
	struct std_list_List_1 v4 = mw_std_list_List_1_tail(v3);
	struct std_list_List_1 v5 = in_zaLexer_1->mlexerzestack;
	decref(MK_std_list_List_1(v5));
	in_zaLexer_1->mlexerzestack = v4;
	*out_zaLexer_2 = in_zaLexer_1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x30(%rax), %rax
movq %rax, -0x18(%rbp)
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1cb65c
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x1cb65c
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1cb65c
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1cb65e
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x11c800
movl %eax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rcx
movq %rcx, -0x80(%rbp)
movq 0x30(%rax), %rax
movq %rax, -0x78(%rbp)
movl -0x80(%rbp), %edi
movq -0x78(%rbp), %rsi
callq 0x12780
movq %rax, -0x90(%rbp)
movq %rdx, -0x88(%rbp)
movq -0x88(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1cb77a
movl -0x80(%rbp), %edi
movq -0x78(%rbp), %rsi
callq 0x12780
movq %rax, -0xa0(%rbp)
movq %rdx, -0x98(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xa0(%rbp), %rax
cmpq $0x0, %rax
je 0x1cb77a
movl -0x80(%rbp), %edi
movq -0x78(%rbp), %rsi
callq 0x12780
movq %rax, -0xb0(%rbp)
movq %rdx, -0xa8(%rbp)
movq -0xb0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1cb77a
movl -0x80(%rbp), %edi
movq -0x78(%rbp), %rsi
callq 0x12780
movq %rax, -0xc0(%rbp)
movq %rdx, -0xb8(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xc0(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1cb778
movl -0x80(%rbp), %edi
movq -0x78(%rbp), %rsi
callq 0x12780
movq %rax, -0xd0(%rbp)
movq %rdx, -0xc8(%rbp)
movq -0xd0(%rbp), %rdi
movq -0xc8(%rbp), %rsi
callq 0x127c0
jmp 0x1cb77a
jmp 0x1cb77c
movq -0x8(%rbp), %rax
movq -0x70(%rbp), %rcx
movq %rcx, 0x28(%rax)
movq -0x68(%rbp), %rcx
movq %rcx, 0x30(%rax)
movq -0x8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
addq $0xd0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_list_List_1_head
static struct std_maybe_Maybe_1 mw_std_list_List_1_head (struct std_list_List_1 in_List_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_List_1).tag) {
		case std_list_List_1_Nil: {
			struct std_maybe_Maybe_1 v4 = { .tag=std_maybe_Maybe_1_None };
			branch_Maybe_3 = v4;
		} break;
		case std_list_List_1_Cons: {
			struct std_list_List_1 v5;
			VAL v6 = mtp_std_list_List_1_Cons(in_List_1, &v5);
			decref(MK_std_list_List_1(v5));
			struct std_maybe_Maybe_1 v7 = mtw_std_maybe_Maybe_1_Some(v6);
			branch_Maybe_3 = v7;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	return branch_Maybe_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0xb4(%rbp)
testl %eax, %eax
je 0x1cbc71
jmp 0x1cbc61
movl -0xb4(%rbp), %eax
subl $0x1, %eax
je 0x1cbc96
jmp 0x1cbdbc
leaq -0x30(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x30(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1cbdd5
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x125e0
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x12780
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x58(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1cbd88
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x12780
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rax
cmpq $0x0, %rax
je 0x1cbd88
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x12780
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movq -0x80(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1cbd88
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x12780
movq %rax, -0x90(%rbp)
movq %rdx, -0x88(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x90(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1cbd86
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x12780
movq %rax, -0xa0(%rbp)
movq %rdx, -0x98(%rbp)
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rsi
callq 0x127c0
jmp 0x1cbd88
jmp 0x1cbd8a
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0xca10
movl %eax, -0xb0(%rbp)
movq %rdx, -0xa8(%rbp)
movq -0xb0(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0xa8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1cbdd5
leaq 0x1880be(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xc0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_TokenValue_lcolonzeopenzy
static bool mw_mirth_token_TokenValue_lcolonzeopenzy (struct mirth_token_TokenValue in_TokenValue_1) {
	bool branch_Bool_3;
	switch ((in_TokenValue_1).tag) {
		case mirth_token_TokenValue_LColonOpen: {
			bool v4 = true;
			branch_Bool_3 = v4;
		} break;
		default: {
			decref(MK_mirth_token_TokenValue(in_TokenValue_1));
			bool v5 = false;
			branch_Bool_3 = v5;
		} break;
	}
	return branch_Bool_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl -0x10(%rbp), %eax
subl $0x5, %eax
jne 0x1cbe1a
jmp 0x1cbe09
movb $0x1, -0x12(%rbp)
movb -0x12(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x1cbeeb
jmp 0x1cbe1c
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1cbedd
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x1cbedd
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1cbedd
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1cbedb
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x1cbedd
jmp 0x1cbedf
movb $0x0, -0x69(%rbp)
movb -0x69(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
movb -0x11(%rbp), %al
andb $0x1, %al
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_lexer_zaLexer_stackzepopzx
static struct std_maybe_Maybe_1 mw_mirth_lexer_zaLexer_stackzepopzx (struct mirth_lexer_zaLexer* in_zaLexer_1, struct mirth_lexer_zaLexer* *out_zaLexer_2) {
	struct std_list_List_1 v4 = in_zaLexer_1->mlexerzestack;
	incref(MK_std_list_List_1(v4));
	struct std_list_List_1 v5;
	struct std_maybe_Maybe_1 v6 = mw_std_list_List_1_uncons(v4, &v5);
	struct std_list_List_1 v7 = in_zaLexer_1->mlexerzestack;
	decref(MK_std_list_List_1(v7));
	in_zaLexer_1->mlexerzestack = v5;
	*out_zaLexer_2 = in_zaLexer_1;
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x28(%rax), %rcx
movq %rcx, -0x30(%rbp)
movq 0x30(%rax), %rax
movq %rax, -0x28(%rbp)
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x38(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1cc0ac
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rax
cmpq $0x0, %rax
je 0x1cc0ac
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x60(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1cc0ac
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1cc0ae
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
leaq -0x80(%rbp), %rdx
callq 0x2c490
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x18(%rbp), %rax
movq 0x28(%rax), %rcx
movq %rcx, -0x90(%rbp)
movq 0x30(%rax), %rax
movq %rax, -0x88(%rbp)
movl -0x90(%rbp), %edi
movq -0x88(%rbp), %rsi
callq 0x12780
movq %rax, -0xa0(%rbp)
movq %rdx, -0x98(%rbp)
movq -0x98(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1cc1f2
movl -0x90(%rbp), %edi
movq -0x88(%rbp), %rsi
callq 0x12780
movq %rax, -0xb0(%rbp)
movq %rdx, -0xa8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xb0(%rbp), %rax
cmpq $0x0, %rax
je 0x1cc1f2
movl -0x90(%rbp), %edi
movq -0x88(%rbp), %rsi
callq 0x12780
movq %rax, -0xc0(%rbp)
movq %rdx, -0xb8(%rbp)
movq -0xc0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1cc1f2
movl -0x90(%rbp), %edi
movq -0x88(%rbp), %rsi
callq 0x12780
movq %rax, -0xd0(%rbp)
movq %rdx, -0xc8(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xd0(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1cc1f0
movl -0x90(%rbp), %edi
movq -0x88(%rbp), %rsi
callq 0x12780
movq %rax, -0xe0(%rbp)
movq %rdx, -0xd8(%rbp)
movq -0xe0(%rbp), %rdi
movq -0xd8(%rbp), %rsi
callq 0x127c0
jmp 0x1cc1f2
jmp 0x1cc1f4
movq -0x18(%rbp), %rax
movups -0x80(%rbp), %xmm0
movups %xmm0, 0x28(%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xe0, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_TokenValue_lparenzeopenzy
static bool mw_mirth_token_TokenValue_lparenzeopenzy (struct mirth_token_TokenValue in_TokenValue_1) {
	bool branch_Bool_3;
	switch ((in_TokenValue_1).tag) {
		case mirth_token_TokenValue_LParenOpen: {
			bool v4 = true;
			branch_Bool_3 = v4;
		} break;
		default: {
			decref(MK_mirth_token_TokenValue(in_TokenValue_1));
			bool v5 = false;
			branch_Bool_3 = v5;
		} break;
	}
	return branch_Bool_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl -0x10(%rbp), %eax
subl $0x2, %eax
jne 0x1cc24a
jmp 0x1cc239
movb $0x1, -0x12(%rbp)
movb -0x12(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x1cc31b
jmp 0x1cc24c
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1cc30d
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x1cc30d
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1cc30d
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1cc30b
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x1cc30d
jmp 0x1cc30f
movb $0x0, -0x69(%rbp)
movb -0x69(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
movb -0x11(%rbp), %al
andb $0x1, %al
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_TokenValue_lsquarezeopenzy
static bool mw_mirth_token_TokenValue_lsquarezeopenzy (struct mirth_token_TokenValue in_TokenValue_1) {
	bool branch_Bool_3;
	switch ((in_TokenValue_1).tag) {
		case mirth_token_TokenValue_LSquareOpen: {
			bool v4 = true;
			branch_Bool_3 = v4;
		} break;
		default: {
			decref(MK_mirth_token_TokenValue(in_TokenValue_1));
			bool v5 = false;
			branch_Bool_3 = v5;
		} break;
	}
	return branch_Bool_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl -0x10(%rbp), %eax
subl $0x3, %eax
jne 0x1cc35a
jmp 0x1cc349
movb $0x1, -0x12(%rbp)
movb -0x12(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x1cc42b
jmp 0x1cc35c
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1cc41d
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x1cc41d
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1cc41d
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1cc41b
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x1cc41d
jmp 0x1cc41f
movb $0x0, -0x69(%rbp)
movb -0x69(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
movb -0x11(%rbp), %al
andb $0x1, %al
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_TokenValue_lcurlyzeopenzy
static bool mw_mirth_token_TokenValue_lcurlyzeopenzy (struct mirth_token_TokenValue in_TokenValue_1) {
	bool branch_Bool_3;
	switch ((in_TokenValue_1).tag) {
		case mirth_token_TokenValue_LCurlyOpen: {
			bool v4 = true;
			branch_Bool_3 = v4;
		} break;
		default: {
			decref(MK_mirth_token_TokenValue(in_TokenValue_1));
			bool v5 = false;
			branch_Bool_3 = v5;
		} break;
	}
	return branch_Bool_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl -0x10(%rbp), %eax
subl $0x4, %eax
jne 0x1cc46a
jmp 0x1cc459
movb $0x1, -0x12(%rbp)
movb -0x12(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x1cc53b
jmp 0x1cc46c
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1cc52d
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x1cc52d
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1cc52d
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1cc52b
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x1cc52d
jmp 0x1cc52f
movb $0x0, -0x69(%rbp)
movb -0x69(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
movb -0x11(%rbp), %al
andb $0x1, %al
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_byte_Byte_iszestringzeend
static bool mw_std_byte_Byte_iszestringzeend (enum std_byte_Byte in_Byte_1) {
	bool branch_Bool_3;
	switch (in_Byte_1) {
		case std_byte_Byte_BQUOTE: {
			bool v4 = true;
			branch_Bool_3 = v4;
		} break;
		case std_byte_Byte_BLF: {
			bool v5 = true;
			branch_Bool_3 = v5;
		} break;
		case std_byte_Byte_BNUL: {
			bool v6 = true;
			branch_Bool_3 = v6;
		} break;
		default: {
			bool v7 = false;
			branch_Bool_3 = v7;
		} break;
	}
	return branch_Bool_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x4(%rbp)
movl -0x4(%rbp), %eax
movl %eax, -0x10(%rbp)
testl %eax, %eax
je 0x1cc7e3
jmp 0x1cc7b3
movl -0x10(%rbp), %eax
subl $0xa, %eax
je 0x1cc7d5
jmp 0x1cc7bd
movl -0x10(%rbp), %eax
subl $0x22, %eax
jne 0x1cc7f1
jmp 0x1cc7c7
movb $0x1, -0x6(%rbp)
movb -0x6(%rbp), %al
andb $0x1, %al
movb %al, -0x5(%rbp)
jmp 0x1cc7fd
movb $0x1, -0x7(%rbp)
movb -0x7(%rbp), %al
andb $0x1, %al
movb %al, -0x5(%rbp)
jmp 0x1cc7fd
movb $0x1, -0x8(%rbp)
movb -0x8(%rbp), %al
andb $0x1, %al
movb %al, -0x5(%rbp)
jmp 0x1cc7fd
movb $0x0, -0x9(%rbp)
movb -0x9(%rbp), %al
andb $0x1, %al
movb %al, -0x5(%rbp)
movb -0x5(%rbp), %al
andb $0x1, %al
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_lexer_zaLexer_pushzestringzebytezx
static void mw_mirth_lexer_zaLexer_pushzestringzebytezx (struct mirth_mirth_zaMirth* in_zaMirth_1, STR* in_zaStr_2, struct mirth_lexer_zaLexer* in_zaLexer_3, enum std_byte_Byte in_Byte_4, struct mirth_mirth_zaMirth* *out_zaMirth_5, STR* *out_zaStr_6, struct mirth_lexer_zaLexer* *out_zaLexer_7) {
	struct mirth_mirth_zaMirth* branch_zaMirth_8;
	STR* branch_zaStr_9;
	struct mirth_lexer_zaLexer* branch_zaLexer_10;
	switch (in_Byte_4) {
		case std_byte_Byte_Bzqzbzq: {
			struct mirth_lexer_zaLexer* v11;
			mw_mirth_lexer_zaLexer_movezx(in_zaLexer_3, &v11);
			struct mirth_lexer_zaLexer* v12;
			enum std_byte_Byte v13 = mw_mirth_lexer_zaLexer_peek(v11, &v12);
			struct mirth_mirth_zaMirth* v14;
			STR* v15;
			struct mirth_lexer_zaLexer* v16;
			mw_mirth_lexer_zaLexer_pushzestringzeescapezebytezx(in_zaMirth_1, in_zaStr_2, v12, v13, &v14, &v15, &v16);
			branch_zaLexer_10 = v16;
			branch_zaStr_9 = v15;
			branch_zaMirth_8 = v14;
		} break;
		default: {
			STR* v17;
			mw_std_str_zaStr_pushzebytezeunsafezx(in_Byte_4, in_zaStr_2, &v17);
			branch_zaLexer_10 = in_zaLexer_3;
			branch_zaStr_9 = v17;
			branch_zaMirth_8 = in_zaMirth_1;
		} break;
	}
	*out_zaLexer_7 = branch_zaLexer_10;
	*out_zaStr_6 = branch_zaStr_9;
	*out_zaMirth_5 = branch_zaMirth_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq 0x10(%rbp), %rax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl -0x1c(%rbp), %eax
subl $0x5c, %eax
jne 0x1cc89b
jmp 0x1cc840
movq -0x18(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1c7900
movq -0x50(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x1c73f0
movl %eax, -0x5c(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x58(%rbp), %rdx
movl -0x5c(%rbp), %ecx
leaq -0x68(%rbp), %r8
leaq -0x70(%rbp), %r9
leaq -0x78(%rbp), %rax
movq %rax, (%rsp)
callq 0x1cc980
movq -0x78(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x1cc8c3
movl -0x1c(%rbp), %edi
movq -0x10(%rbp), %rsi
leaq -0x80(%rbp), %rdx
callq 0x32870
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x48(%rbp), %rcx
movq 0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_token_TokenValue_Str
static struct mirth_token_TokenValue mtw_mirth_token_TokenValue_Str (STR* in_Str_1) {
	struct mirth_token_TokenValue_Str* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mStr = in_Str_1;
	struct mirth_token_TokenValue v4 = { .tag=mirth_token_TokenValue_Str, .ptr.Str=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x1cc940
movl $0x2, %edi
leaq 0x18f799(%rip), %rsi    # 0x35c0bb
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1cc942
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x1a, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_lexer_zaLexer_lexerzewarningzx
static void mw_mirth_lexer_zaLexer_lexerzewarningzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_lexer_zaLexer* in_zaLexer_2, STR* in_Str_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_lexer_zaLexer* *out_zaLexer_5) {
	struct mirth_lexer_zaLexer* v6;
	struct mirth_location_Location* v7 = mw_mirth_lexer_zaLexer_lexerzelocation(in_zaLexer_2, &v6);
	struct mirth_mirth_zaMirth* v8;
	mw_mirth_mirth_zaMirth_emitzewarningzeatzx(in_zaMirth_1, v7, in_Str_3, &v8);
	*out_zaLexer_5 = v6;
	*out_zaMirth_4 = v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x1ccd40
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
movq -0x38(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x40(%rbp), %rcx
callq 0x9e880
movq -0x30(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_lexer_zaLexer_lexerzelocation
static struct mirth_location_Location* mw_mirth_lexer_zaLexer_lexerzelocation (struct mirth_lexer_zaLexer* in_zaLexer_1, struct mirth_lexer_zaLexer* *out_zaLexer_2) {
	uint64_t v4 = in_zaLexer_1->mlexerzemodule;
	INT v5 = in_zaLexer_1->mlexerzerow;
	incref(MKINT(v5));
	INT v6 = in_zaLexer_1->mlexerzecol;
	incref(MKINT(v6));
	struct mirth_location_Location* v7 = mtw_mirth_location_Location_Location(v4, v5, v6);
	*out_zaLexer_2 = in_zaLexer_1;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x1c46af(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1cce0b
movq -0x20(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x1c468a(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x1cce0b
movq -0x20(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x1c465f(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1cce0b
movq -0x20(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x1c463a(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1cce0d
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x1c4600(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1cced6
movq -0x68(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x1c45d4(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
cmpq $0x0, %rax
je 0x1cced6
movq -0x68(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x1c45a3(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movq -0x98(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1cced6
movq -0x68(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x1c4575(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0xa0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xa8(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1cced8
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x68(%rbp), %rdx
callq 0x615d0
movq %rax, -0xb0(%rbp)
movq -0x8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0xb0(%rbp), %rax
addq $0xb0, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_lexer_zaLexer_iszedoczestartzy
static bool mw_mirth_lexer_zaLexer_iszedoczestartzy (STR* in_zaStr_1, struct mirth_lexer_zaLexer* in_zaLexer_2, STR* *out_zaStr_3, struct mirth_lexer_zaLexer* *out_zaLexer_4) {
	incref(MKSTR(in_zaStr_1));
	STR* v6;
	STRLIT(v6, "|||", 3);
	bool v7 = (str_cmp(in_zaStr_1, v6) == 0);
	*out_zaLexer_4 = in_zaLexer_2;
	*out_zaStr_3 = in_zaStr_1;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x1c421e(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1ccfcc
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x1c41f9(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x1ccfcc
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x1c41ce(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1ccfcc
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x1c41a9(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1ccfce
jmp 0x1ccfd0
cmpq $0x0, 0x11c9748(%rip)   # 0x1396720
jne 0x1ccff2
leaq 0x18f10c(%rip), %rdi    # 0x35c0ed
movl $0x3, %esi
callq 0xb6c0
movq %rax, 0x11c972e(%rip)   # 0x1396720
jmp 0x1ccff4
movq 0x11c9725(%rip), %rax   # 0x1396720
movq %rax, -0x78(%rbp)
leaq 0x1c4152(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1cd0bd
movq 0x11c96f9(%rip), %rax   # 0x1396720
movq %rax, -0x88(%rbp)
leaq 0x1c4123(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
cmpq $0x0, %rax
je 0x1cd0bd
movq 0x11c96c5(%rip), %rax   # 0x1396720
movq %rax, -0x98(%rbp)
leaq 0x1c40ef(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movq -0x98(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1cd0bd
movq 0x11c9694(%rip), %rax   # 0x1396720
movq %rax, -0xa8(%rbp)
leaq 0x1c40be(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0xa0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xa8(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1cd0bf
movq 0x11c965a(%rip), %rax   # 0x1396720
movq %rax, -0x68(%rbp)
movq -0x8(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x19ad0
cmpl $0x0, %eax
sete %al
andb $0x1, %al
movb %al, -0xa9(%rbp)
movq -0x10(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movb -0xa9(%rbp), %al
andb $0x1, %al
addq $0xb0, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_maybe_Maybe_1_map_1_sp20
static struct std_maybe_Maybe_1 mw_std_maybe_Maybe_1_map_1_sp20 (struct std_maybe_Maybe_1 in_Maybe_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_Maybe_1).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v4 = mtp_std_maybe_Maybe_1_Some(in_Maybe_1);
			struct std_result_Result_2 v5 = mtw_std_result_Result_2_Ok(v4);
			struct std_maybe_Maybe_1 v6 = mtw_std_maybe_Maybe_1_Some(MK_std_result_Result_2(v5));
			branch_Maybe_3 = v6;
		} break;
		case std_maybe_Maybe_1_None: {
			struct std_maybe_Maybe_1 v7 = { .tag=std_maybe_Maybe_1_None };
			branch_Maybe_3 = v7;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	return branch_Maybe_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x74(%rbp)
testl %eax, %eax
je 0x1cdd0e
jmp 0x1cdc9e
movl -0x74(%rbp), %eax
subl $0x1, %eax
jne 0x1cdd30
jmp 0x1cdcac
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x174a0
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x29b40
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x1d1540
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0xca10
movl %eax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1cdd49
leaq -0x70(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x70(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1cdd49
leaq 0x18614a(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_lexer_zaLexer_namezetoken
static struct mirth_token_TokenValue mw_mirth_lexer_zaLexer_namezetoken (struct mirth_mirth_zaMirth* in_zaMirth_1, STR* in_zaStr_2, struct mirth_lexer_zaLexer* in_zaLexer_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, STR* *out_zaStr_5, struct mirth_lexer_zaLexer* *out_zaLexer_6) {
	incref(MKSTR(in_zaStr_2));
	struct mirth_mirth_zaMirth* v8;
	uint64_t v9 = mw_mirth_name_Name_Name(in_zaMirth_1, in_zaStr_2, &v8);
	struct mirth_token_TokenValue v10 = mtw_mirth_token_TokenValue_Name(v9);
	*out_zaLexer_6 = in_zaLexer_3;
	*out_zaStr_5 = in_zaStr_2;
	*out_zaMirth_4 = v8;
	return v10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movq %r8, -0x38(%rbp)
movq %r9, -0x40(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x1c1eb6(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1cf334
movq -0x20(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x1c1e91(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
cmpq $0x0, %rax
je 0x1cf334
movq -0x20(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x1c1e66(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1cf334
movq -0x20(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0x1c1e41(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x80(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1cf336
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x88(%rbp), %rdx
callq 0x3ed80
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rdi
callq 0x1e8180
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x28(%rbp), %rcx
movq -0x40(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, (%rax)
movq -0x88(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_token_TokenValue_F64
static struct mirth_token_TokenValue mtw_mirth_token_TokenValue_F64 (double in_F64_1) {
	struct mirth_token_TokenValue_F64* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mF64 = in_F64_1;
	struct mirth_token_TokenValue v4 = { .tag=mirth_token_TokenValue_F64, .ptr.F64=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movsd %xmm0, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x1d1031
movl $0x2, %edi
leaq 0x18b259(%rip), %rsi    # 0x35c26c
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1d1033
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movsd -0x18(%rbp), %xmm0
movq -0x20(%rbp), %rax
movsd %xmm0, 0x8(%rax)
movl $0x18, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: str_to_f64
static double str_to_f64 (STR* in, STR** out) {
    ASSERT(in); ASSERT(out);
    ASSERT(in->data[in->size] == 0);
    char *endptr = NULL;
    double val = strtod(in->data, &endptr);
    ASSERT(endptr);
    ASSERT(endptr >= in->data);
    size_t consumed = endptr - in->data;
    *out = str_drop(in, consumed);
    return val;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x1d1121
movl $0x2, %edi
leaq 0x18b019(%rip), %rsi    # 0x35c11c
movl $0x2f, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1d1123
jmp 0x1d1125
cmpq $0x0, -0x10(%rbp)
jne 0x1d1156
movl $0x2, %edi
leaq 0x18b014(%rip), %rsi    # 0x35c14c
movl $0x30, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1d1158
jmp 0x1d115a
movq -0x8(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0x10(%rcx), %rcx
movsbl 0x18(%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x1d119a
movl $0x2, %edi
leaq 0x18b001(%rip), %rsi    # 0x35c17d
movl $0x44, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1d119c
movq $0x0, -0x18(%rbp)
movq -0x8(%rbp), %rdi
addq $0x18, %rdi
leaq -0x18(%rbp), %rsi
callq 0x5050
movsd %xmm0, -0x20(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x1d11eb
movl $0x2, %edi
leaq 0x18aff5(%rip), %rsi    # 0x35c1c2
movl $0x33, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1d11ed
jmp 0x1d11ef
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
addq $0x18, %rcx
cmpq %rcx, %rax
jae 0x1d122a
movl $0x2, %edi
leaq 0x18afea(%rip), %rsi    # 0x35c1f6
movl $0x3f, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1d122c
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
addq $0x18, %rcx
subq %rcx, %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x1d1270
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movsd -0x20(%rbp), %xmm0
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)