LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_elab_skipzedeclzeblockzx
static uint64_t mw_mirth_elab_skipzedeclzeblockzx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct std_maybe_Maybe_1 v6 = mw_mirth_token_Token_lcurlyzy(in_zaMirth_1, in_Token_2, &v5);
	struct mirth_mirth_zaMirth* v7;
	uint64_t v8 = mw_std_maybe_Maybe_1_else_1_sp3(v5, in_Token_2, v6, &v7);
	struct mirth_mirth_zaMirth* v9;
	uint64_t v10 = mw_mirth_token_Token_next(v7, v8, &v9);
	*out_zaMirth_3 = v9;
	return v10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x20(%rbp), %rdx
callq 0x9e8d0
movl %eax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x28(%rbp), %rcx
leaq -0x38(%rbp), %r8
callq 0x9e930
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x7b380
movq %rax, -0x50(%rbp)
movq -0x48(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x50(%rbp), %rax
addq $0x50, %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_mirth_zaMirth_definingzetyconzy
static struct std_maybe_Maybe_1 mw_mirth_mirth_zaMirth_definingzetyconzy (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_mirth_zaMirth* *out_zaMirth_2) {
	struct mirth_mirth_zaMirth* v4;
	struct std_maybe_Maybe_1 v5 = mw_mirth_mirth_zaMirth_definingzenamespacezy(in_zaMirth_1, &v4);
	struct mirth_mirth_zaMirth* branch_zaMirth_6;
	struct std_maybe_Maybe_1 branch_Maybe_7;
	switch ((v5).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v8 = mtp_std_maybe_Maybe_1_Some(v5);
			struct mirth_mirth_zaMirth* v9;
			struct std_maybe_Maybe_1 v10 = mw_mirth_name_Namespace_enclosingzetyconzy(v4, V_mirth_name_Namespace(v8), &v9);
			branch_Maybe_7 = v10;
			branch_zaMirth_6 = v9;
		} break;
		case std_maybe_Maybe_1_None: {
			struct std_maybe_Maybe_1 v11 = { .tag=std_maybe_Maybe_1_None };
			branch_Maybe_7 = v11;
			branch_zaMirth_6 = v4;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_2 = branch_zaMirth_6;
	return branch_Maybe_7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq -0x18(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x1b5f00
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movl -0x38(%rbp), %eax
movl %eax, -0x8c(%rbp)
testl %eax, %eax
je 0x1b5d12
jmp 0x1b5c96
movl -0x8c(%rbp), %eax
subl $0x1, %eax
jne 0x1b5d42
jmp 0x1b5ca7
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x174a0
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x59ad0
movq -0x98(%rbp), %rdi
movl %eax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movl -0x78(%rbp), %esi
movq -0x70(%rbp), %rdx
leaq -0x58(%rbp), %rcx
callq 0x1b6570
movl %eax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0x1b5d5b
leaq -0x88(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x88(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0x1b5d5b
leaq 0x19e138(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x40(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xa0, %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_tycon_Tycon_params
static struct std_list_List_1 mw_mirth_tycon_Tycon_params (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_tycon_Tycon in_Tycon_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* branch_zaMirth_5;
	struct std_list_List_1 branch_List_6;
	switch ((in_Tycon_2).tag) {
		case mirth_tycon_Tycon_Data: {
			uint64_t v7 = mtp_mirth_tycon_Tycon_Data(in_Tycon_2);
			struct mirth_mirth_zaMirth* v8;
			struct std_list_List_1 v9 = mw_mirth_data_Data_params(in_zaMirth_1, v7, &v8);
			branch_List_6 = v9;
			branch_zaMirth_5 = v8;
		} break;
		case mirth_tycon_Tycon_Table: {
			uint64_t v10 = mtp_mirth_tycon_Tycon_Table(in_Tycon_2);
			struct mirth_mirth_zaMirth* v11;
			struct std_list_List_1 v12 = mw_mirth_table_Table_params(in_zaMirth_1, v10, &v11);
			branch_List_6 = v12;
			branch_zaMirth_5 = v11;
		} break;
		case mirth_tycon_Tycon_Prim: {
			enum mirth_type_PrimType v13 = mtp_mirth_tycon_Tycon_Prim(in_Tycon_2);
			struct mirth_mirth_zaMirth* v14;
			struct std_list_List_1 v15 = mw_mirth_type_PrimType_params(in_zaMirth_1, v13, &v14);
			branch_List_6 = v15;
			branch_zaMirth_5 = v14;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_3 = branch_zaMirth_5;
	return branch_List_6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movl %esi, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x9c(%rbp)
testl %eax, %eax
je 0x1b5dca
jmp 0x1b5da9
movl -0x9c(%rbp), %eax
subl $0x1, %eax
je 0x1b5e0f
jmp 0x1b5db6
movl -0x9c(%rbp), %eax
subl $0x2, %eax
je 0x1b5e51
jmp 0x1b5ea3
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x5a440
movq %rax, -0x40(%rbp)
movq -0x28(%rbp), %rdi
movq -0x40(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x72fd0
movl %eax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x1b5ebc
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x5a490
movq %rax, -0x60(%rbp)
movq -0x28(%rbp), %rdi
movq -0x60(%rbp), %rsi
leaq -0x68(%rbp), %rdx
callq 0x1b6790
movl %eax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x1b5ebc
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x5a4e0
movl %eax, -0x7c(%rbp)
movq -0x28(%rbp), %rdi
movl -0x7c(%rbp), %esi
leaq -0x88(%rbp), %rdx
callq 0xf2d70
movl %eax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
movq -0x98(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x1b5ebc
leaq 0x19dfd7(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x38(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xa0, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_macro_MacroAction_Type
static struct mirth_macro_MacroAction mtw_mirth_macro_MacroAction_Type (VAL in__1) {
	struct mirth_macro_MacroAction_Type* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->m0 = in__1;
	struct mirth_macro_MacroAction v4 = { .tag=mirth_macro_MacroAction_Type, .ptr.Type=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x1, %edi
movl $0x18, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x1b6814
movl $0x2, %edi
leaq 0x1a5541(%rip), %rsi    # 0x35bd37
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1b6816
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
movq -0x28(%rbp), %rax
movups -0x20(%rbp), %xmm0
movups %xmm0, 0x8(%rax)
movl $0x1, -0x10(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_list_Nest_1_first
static VAL mw_std_list_Nest_1_first (struct std_list_Nest_1* in_Nest_1) {
	VAL v3 = in_Nest_1->mhead;
	incref(v3);
	decref(MK_std_list_Nest_1(in_Nest_1));
	return v3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rcx
movq %rcx, -0x10(%rbp)
movq 0x10(%rax), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1b6f35
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x10(%rbp), %rax
cmpq $0x0, %rax
je 0x1b6f35
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1b6f35
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x10(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1b6f37
jmp 0x1b6f39
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x1dafd8(%rip), %rax    # 0x391f20
orq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1b7009
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x1dafaf(%rip), %rax    # 0x391f20
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x1b7009
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x1daf84(%rip), %rax    # 0x391f20
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1b7009
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x1daf5f(%rip), %rax    # 0x391f20
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x1b7007
movq -0x18(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x1daf2e(%rip), %rax    # 0x391f20
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x1b7009
jmp 0x1b700b
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rdx
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_macro_MacroAction_Arrow
static struct mirth_macro_MacroAction mtw_mirth_macro_MacroAction_Arrow (VAL in__1) {
	struct mirth_macro_MacroAction_Arrow* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->m0 = in__1;
	struct mirth_macro_MacroAction v4 = { .tag=mirth_macro_MacroAction_Arrow, .ptr.Arrow=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x1, %edi
movl $0x18, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x1b7074
movl $0x2, %edi
leaq 0x1a4d59(%rip), %rsi    # 0x35bdaf
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1b7076
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
movq -0x28(%rbp), %rax
movups -0x20(%rbp), %xmm0
movups %xmm0, 0x8(%rax)
movl $0x2, -0x10(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_elab_expectzetokenzearrow
static uint64_t mw_mirth_elab_expectzetokenzearrow (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	bool v6 = mw_mirth_token_Token_arrowzy(in_zaMirth_1, in_Token_2, &v5);
	struct mirth_mirth_zaMirth* branch_zaMirth_7;
	uint64_t branch_Token_8;
	if (v6) {
		branch_Token_8 = in_Token_2;
		branch_zaMirth_7 = v5;
	} else {
		STR* v9;
		STRLIT(v9, "Expected arrow.", 15);
		mw_mirth_mirth_zaMirth_emitzefatalzeerrorzx(v5, in_Token_2, v9);
	}
	*out_zaMirth_3 = branch_zaMirth_7;
	return branch_Token_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x20(%rbp), %rdx
callq 0xacbd0
andb $0x1, %al
movb %al, -0x21(%rbp)
testb $0x1, -0x21(%rbp)
je 0x1b7bb8
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x1b7cad
jmp 0x1b7bba
cmpq $0x0, 0x11de976(%rip)   # 0x1396538
jne 0x1b7bdc
leaq 0x1a4216(%rip), %rdi    # 0x35bde1
movl $0xf, %esi
callq 0xb6c0
movq %rax, 0x11de95c(%rip)   # 0x1396538
jmp 0x1b7bde
movq 0x11de953(%rip), %rax   # 0x1396538
movq %rax, -0x50(%rbp)
leaq 0x1d9568(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1b7c8f
movq 0x11de927(%rip), %rax   # 0x1396538
movq %rax, -0x60(%rbp)
leaq 0x1d953c(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
cmpq $0x0, %rax
je 0x1b7c8f
movq 0x11de8f9(%rip), %rax   # 0x1396538
movq %rax, -0x70(%rbp)
leaq 0x1d950e(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1b7c8f
movq 0x11de8d1(%rip), %rax   # 0x1396538
movq %rax, -0x80(%rbp)
leaq 0x1d94e6(%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 0x1b7c91
movq 0x11de8a0(%rip), %rax   # 0x1396538
movq %rax, -0x40(%rbp)
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x40(%rbp), %rdx
callq 0x76b70
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
addq $0x80, %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_elab_zaAB_abzeerrorzx
static void mw_mirth_elab_zaAB_abzeerrorzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_arrow_Arrow* in_zaAB_2, STR* in_Str_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_arrow_Arrow* *out_zaAB_5) {
	struct mirth_arrow_Arrow* v6;
	uint64_t v7 = mw_mirth_elab_zaAB_abzetokenzo(in_zaAB_2, &v6);
	struct mirth_mirth_zaMirth* v8;
	mw_mirth_mirth_zaMirth_emitzeerrorzx(in_zaMirth_1, v7, in_Str_3, &v8);
	struct mirth_type_StackType v9 = { .tag=mirth_type_StackType_Error };
	struct mirth_mirth_zaMirth* v10;
	struct mirth_arrow_Arrow* v11;
	mw_mirth_elab_zaAB_abzeunifyzetypezx(v8, v6, v9, &v10, &v11);
	struct mirth_type_StackType v12 = { .tag=mirth_type_StackType_Error };
	struct mirth_arrow_Arrow* v13;
	mw_mirth_elab_zaAB_abzetypezx(v11, v12, &v13);
	*out_zaAB_5 = v13;
	*out_zaMirth_4 = v10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %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 0xe0b80
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
movq -0x38(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x40(%rbp), %rcx
callq 0x98c50
leaq -0x50(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x40(%rbp), %rdi
movq -0x30(%rbp), %rsi
movl -0x50(%rbp), %edx
movq -0x48(%rbp), %rcx
leaq -0x58(%rbp), %r8
leaq -0x60(%rbp), %r9
callq 0xe1bd0
leaq -0x70(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x60(%rbp), %rdi
movl -0x70(%rbp), %esi
movq -0x68(%rbp), %rdx
leaq -0x78(%rbp), %rcx
callq 0x113a00
movq -0x78(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x58(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x80, %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_package_Package_NewzeOrzePathzx
static uint64_t mw_mirth_package_Package_NewzeOrzePathzx (struct mirth_mirth_zaMirth* in_zaMirth_1, STR* in_Path_2, uint64_t in_Name_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* v6;
	struct std_maybe_Maybe_1 v7 = mw_mirth_package_Package_Findzy(in_zaMirth_1, in_Name_3, &v6);
	uint64_t branch_Package_8;
	struct mirth_mirth_zaMirth* branch_zaMirth_9;
	switch ((v7).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v10 = mtp_std_maybe_Maybe_1_Some(v7);
			incref(v10);
			struct mirth_mirth_zaMirth* v11;
			mw_mirth_package_Package_tryzepathzx(v6, in_Path_2, V_mirth_package_Package(v10), &v11);
			branch_zaMirth_9 = v11;
			branch_Package_8 = V_mirth_package_Package(v10);
		} break;
		case std_maybe_Maybe_1_None: {
			struct std_maybe_Maybe_1 v12 = mtw_std_maybe_Maybe_1_Some(MKSTR(in_Path_2));
			struct mirth_mirth_zaMirth* v13;
			uint64_t v14 = mw_mirth_package_Package_Newzx(v6, v12, in_Name_3, &v13);
			branch_zaMirth_9 = v13;
			branch_Package_8 = v14;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_4 = branch_zaMirth_9;
	return branch_Package_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x28(%rbp), %rdx
callq 0x1c2c20
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movl -0x38(%rbp), %eax
movl %eax, -0x94(%rbp)
testl %eax, %eax
je 0x1bf2d9
jmp 0x1bf246
movl -0x94(%rbp), %eax
subl $0x1, %eax
jne 0x1bf33e
jmp 0x1bf257
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x174a0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x50(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1bf2b0
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x1bf2b0
movq -0x58(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1bf2b0
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1bf2b2
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x58(%rbp), %rdx
leaq -0x60(%rbp), %rcx
callq 0x1c2d60
movq -0x60(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0x1bf357
movq -0x10(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0x1d1e70(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0xca10
movl %eax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rcx
movl -0x70(%rbp), %esi
movq -0x68(%rbp), %rdx
leaq -0x88(%rbp), %r8
callq 0x1c3850
movq %rax, -0x90(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0x1bf357
leaq 0x194b3c(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x48(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_prim_zaWorld_trace
static void mw_std_prim_zaWorld_trace (STR* in_Str_1) {
	STR* v4;
	STRLIT(v4, "\n", 1);
	STR* v5 = str_cat(in_Str_1, v4);
	mw_std_prim_zaWorld_traceze(v5);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, 0x11d4ef4(%rip)   # 0x1396928
jne 0x1c1a4e
leaq 0x1936f0(%rip), %rdi    # 0x35512d
movl $0x1, %esi
callq 0xb6c0
movq %rax, 0x11d4eda(%rip)   # 0x1396928
jmp 0x1c1a50
movq 0x11d4ed1(%rip), %rax   # 0x1396928
movq %rax, -0x20(%rbp)
leaq 0x1cf6f6(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1c1b01
movq 0x11d4ea5(%rip), %rax   # 0x1396928
movq %rax, -0x30(%rbp)
leaq 0x1cf6ca(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x30(%rbp), %rax
cmpq $0x0, %rax
je 0x1c1b01
movq 0x11d4e77(%rip), %rax   # 0x1396928
movq %rax, -0x40(%rbp)
leaq 0x1cf69c(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movq -0x40(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1c1b01
movq 0x11d4e4f(%rip), %rax   # 0x1396928
movq %rax, -0x50(%rbp)
leaq 0x1cf674(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1c1b03
movq 0x11d4e1e(%rip), %rax   # 0x1396928
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x1a680
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
callq 0xc100
addq $0x60, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_specializzer_runzespecializzerzx
static struct mirth_arrow_Arrow* mw_mirth_specializzer_runzespecializzerzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_arrow_Arrow* in_Arrow_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct std_list_List_1 v5;
	mw_mirth_specializzer_zaSPCheck_Initzx(&v5);
	struct mirth_mirth_zaMirth* v6;
	struct std_list_List_1 v7;
	struct mirth_arrow_Arrow* v8 = mw_mirth_specializzer_zaSPCheck_checkzearrowzx(in_zaMirth_1, v5, in_Arrow_2, &v6, &v7);
	struct mirth_mirth_zaMirth* v9;
	struct std_list_List_1 v10;
	mw_mirth_specializzer_zaSPCheck_checkzetransitivezx(v6, v7, &v9, &v10);
	mw_mirth_specializzer_zaSPCheck_quitzx(v10);
	*out_zaMirth_3 = v9;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x1f2d20
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rcx
movl -0x28(%rbp), %esi
movq -0x20(%rbp), %rdx
leaq -0x30(%rbp), %r8
leaq -0x40(%rbp), %r9
callq 0x1f2d60
movq %rax, -0x48(%rbp)
movq -0x30(%rbp), %rdi
movl -0x40(%rbp), %esi
movq -0x38(%rbp), %rdx
leaq -0x50(%rbp), %rcx
leaq -0x60(%rbp), %r8
callq 0x1f34e0
movl -0x60(%rbp), %edi
movq -0x58(%rbp), %rsi
callq 0x1f38d0
movq -0x50(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x48(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_C99zuOptions_C99zuOptions
static struct mirth_c99_C99zuOptions* mtw_mirth_c99_C99zuOptions_C99zuOptions (STR* in_Path_1, bool in_Bool_2) {
	struct mirth_c99_C99zuOptions* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->refs = 1;
	v4->memitzedebugzeinfo = in_Bool_2;
	v4->moutputzepath = in_Path_1;
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x8(%rbp)
andb $0x1, %al
movb %al, -0x9(%rbp)
movl $0x1, %edi
movl $0x18, %esi
callq 0x50c0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x1c1c08
movl $0x2, %edi
leaq 0x19b103(%rip), %rsi    # 0x35cced
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1c1c0a
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movb -0x9(%rbp), %cl
movq -0x18(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x10(%rax)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_path_Path_join
static STR* mw_std_path_Path_join (STR* in_Path_1, STR* in_Path_2) {
	int64_t v6 = RUNNING_OS;
	enum std_prelude_OS v7 = mw_std_prim_I64_zgOS(v6);
	VAL v8 = mw_std_prelude_OS_pathzeseparator(v7);
	STR* v9 = mw_std_path_Path_joinzewith(in_Path_1, value_str(v8), in_Path_2);
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x2, -0x18(%rbp)
movq -0x18(%rbp), %rdi
callq 0x1c2310
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %edi
callq 0x1c2340
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0xb980
movq -0x40(%rbp), %rdi
movq %rax, %rsi
movq -0x10(%rbp), %rdx
callq 0x1c25c0
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_prelude_OS_iszewindowszy
static bool mw_std_prelude_OS_iszewindowszy (enum std_prelude_OS in_OS_1) {
	enum std_prelude_OS v3 = std_prelude_OS_Windows;
	int64_t v4 = in_OS_1;
	INT v5 = i64_to_int(v4);
	int64_t v6 = v3;
	INT v7 = i64_to_int(v6);
	bool v8 = int_eq(v5, v7);
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x4(%rbp)
movl $0x1, -0x8(%rbp)
movl -0x4(%rbp), %eax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1a290
movq %rax, -0x18(%rbp)
movl -0x8(%rbp), %eax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x1a290
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x194b0
andb $0x1, %al
movb %al, -0x29(%rbp)
movb -0x29(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_package_Package_Findzy
static struct std_maybe_Maybe_1 mw_mirth_package_Package_Findzy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Name_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_name_Namespace v5 = { .tag=mirth_name_Namespace_Root };
	INT v6 = WRAP_I63(0LL);
	struct mirth_name_QName* v7 = mw_mirth_name_QName_Mk(v5, in_Name_2, v6);
	struct mirth_mirth_zaMirth* v8;
	struct std_maybe_Maybe_1 v9 = mw_mirth_name_QName_defzesoftzy(in_zaMirth_1, v7, &v8);
	struct std_maybe_Maybe_1 branch_Maybe_10;
	switch ((v9).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v11 = mtp_std_maybe_Maybe_1_Some(v9);
			struct std_maybe_Maybe_1 v12 = mw_mirth_def_Def_packagezy(V_mirth_def_Def(v11));
			branch_Maybe_10 = v12;
		} break;
		case std_maybe_Maybe_1_None: {
			struct std_maybe_Maybe_1 v13 = { .tag=std_maybe_Maybe_1_None };
			branch_Maybe_10 = v13;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_3 = v8;
	return branch_Maybe_10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x40(%rbp)
movq $0x1, -0x48(%rbp)
movq -0x20(%rbp), %rdx
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
movq -0x48(%rbp), %rcx
callq 0x470b0
movq %rax, -0x50(%rbp)
movq -0x18(%rbp), %rdi
movq -0x50(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0x57b20
movl %eax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movl -0x68(%rbp), %eax
movl %eax, -0xac(%rbp)
testl %eax, %eax
je 0x1c2cf5
jmp 0x1c2c85
movl -0xac(%rbp), %eax
subl $0x1, %eax
jne 0x1c2d20
jmp 0x1c2c96
movl -0x68(%rbp), %edi
movq -0x60(%rbp), %rsi
callq 0x174a0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0x452c0
movl %eax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
movl -0x98(%rbp), %edi
movq -0x90(%rbp), %rsi
callq 0x9c6d0
movl %eax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1c2d39
leaq -0xa8(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0xa8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1c2d39
leaq 0x19115a(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x58(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xb0, %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_package_Package_Newzx
static uint64_t mw_mirth_package_Package_Newzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_maybe_Maybe_1 in_Maybe_2, uint64_t in_Name_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* v6;
	uint64_t v7 = mw_mirth_package_Package_Makezx(in_zaMirth_1, in_Name_3, in_Maybe_2, &v6);
	struct mirth_def_Def v8 = mtw_mirth_def_Def_Package(v7);
	struct mirth_mirth_zaMirth* v9;
	mw_mirth_def_Def_register(v6, v8, &v9);
	*out_zaMirth_4 = v9;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movl -0x10(%rbp), %edx
movq -0x8(%rbp), %rcx
leaq -0x30(%rbp), %r8
callq 0x1c5b90
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
callq 0x3f270
movl %eax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x30(%rbp), %rdi
movl -0x48(%rbp), %esi
movq -0x40(%rbp), %rdx
leaq -0x50(%rbp), %rcx
callq 0x3f300
movq -0x50(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_byte_Byte_tozehexdigits
static enum std_byte_Byte mw_std_byte_Byte_tozehexdigits (enum std_byte_Byte in_Byte_1, enum std_byte_Byte *out_Byte_3) {
	int64_t v4 = in_Byte_1;
	INT v5 = i64_to_int(v4);
	uint64_t v6 = int_to_u64(v5);
	uint8_t v7 = (uint8_t)(v6);
	uint8_t v8 = 4;
	uint64_t v9 = (uint64_t)(v7);
	uint64_t v10 = (uint64_t)(v8);
	uint64_t v11 = u64_shr(v9, v10);
	uint8_t v12 = (uint8_t)(v11);
	enum std_byte_Byte v13 = mw_std_byte_Byte_OneHexDigit(v12);
	uint8_t v14 = 15;
	uint64_t v15 = (uint64_t)(v7);
	uint64_t v16 = (uint64_t)(v14);
	uint64_t v17 = (v15 & v16);
	uint8_t v18 = (uint8_t)(v17);
	enum std_byte_Byte v19 = mw_std_byte_Byte_OneHexDigit(v18);
	*out_Byte_3 = v19;
	return v13;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movl -0x4(%rbp), %eax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
callq 0x1a290
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x1b680
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movb %al, -0x29(%rbp)
movb $0x4, -0x2a(%rbp)
movzbl -0x29(%rbp), %eax
movq %rax, -0x38(%rbp)
movzbl -0x2a(%rbp), %eax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0x40c30
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movb %al, -0x49(%rbp)
movzbl -0x49(%rbp), %edi
callq 0x1c5ac0
movl %eax, -0x50(%rbp)
movb $0xf, -0x51(%rbp)
movzbl -0x29(%rbp), %eax
movq %rax, -0x60(%rbp)
movzbl -0x51(%rbp), %eax
movq %rax, -0x68(%rbp)
movq -0x60(%rbp), %rax
andq -0x68(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movb %al, -0x71(%rbp)
movzbl -0x71(%rbp), %edi
callq 0x1c5ac0
movl %eax, -0x78(%rbp)
movl -0x78(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
movl -0x50(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_byte_Byte_OneHexDigit
static enum std_byte_Byte mw_std_byte_Byte_OneHexDigit (uint8_t in_U8_1) {
	uint8_t v3 = 9;
	uint64_t v4 = (uint64_t)(in_U8_1);
	uint32_t v5 = (uint32_t)(v4);
	uint64_t v6 = (uint64_t)(v3);
	uint32_t v7 = (uint32_t)(v6);
	uint64_t v8 = (uint64_t)(v7);
	uint64_t v9 = (uint64_t)(v5);
	bool v10 = (v8 < v9);
	uint8_t branch_U8_11;
	uint8_t branch_U8_12;
	if (v10) {
		uint8_t v13 = 55;
		branch_U8_12 = v13;
		branch_U8_11 = in_U8_1;
	} else {
		uint8_t v14 = 48;
		branch_U8_12 = v14;
		branch_U8_11 = in_U8_1;
	}
	uint64_t v15 = (uint64_t)(branch_U8_11);
	uint64_t v16 = (uint64_t)(branch_U8_12);
	uint64_t v17 = (v15 + v16);
	uint8_t v18 = (uint8_t)(v17);
	uint64_t v19 = (uint64_t)(v18);
	INT v20 = u64_to_int(v19);
	int64_t v21 = int_to_i64(v20);
	return ((enum std_byte_Byte)v21);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
movb $0x9, -0x2(%rbp)
movzbl -0x1(%rbp), %eax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl %eax, -0x14(%rbp)
movzbl -0x2(%rbp), %eax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %eax
movq %rax, -0x30(%rbp)
movl -0x14(%rbp), %eax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x38(%rbp), %rax
setb %al
andb $0x1, %al
movb %al, -0x39(%rbp)
testb $0x1, -0x39(%rbp)
je 0x1c5b29
movb $0x37, -0x3c(%rbp)
movb -0x3c(%rbp), %al
movb %al, -0x3b(%rbp)
movb -0x1(%rbp), %al
movb %al, -0x3a(%rbp)
jmp 0x1c5b39
movb $0x30, -0x3d(%rbp)
movb -0x3d(%rbp), %al
movb %al, -0x3b(%rbp)
movb -0x1(%rbp), %al
movb %al, -0x3a(%rbp)
movzbl -0x3a(%rbp), %eax
movq %rax, -0x48(%rbp)
movzbl -0x3b(%rbp), %eax
movq %rax, -0x50(%rbp)
movq -0x48(%rbp), %rax
addq -0x50(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movb %al, -0x59(%rbp)
movzbl -0x59(%rbp), %eax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rdi
callq 0x1b520
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rdi
callq 0xc6c0
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_package_Package_Makezx
static uint64_t mw_mirth_package_Package_Makezx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Name_2, struct std_maybe_Maybe_1 in_Maybe_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* v6;
	uint64_t v7 = mw_mirth_package_Package_Alloczx(in_zaMirth_1, &v6);
	void* v8 = field_mut(&mfld_mirth_package_Package_name, v7);
	mut_set(MK_mirth_name_Name(in_Name_2), v8);
	void* v9 = field_mut(&mfld_mirth_package_Package_path, v7);
	mut_set(MK_std_maybe_Maybe_1(in_Maybe_3), v9);
	*out_zaMirth_4 = v6;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x18(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x3e420
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rsi
leaq 0x11cea59(%rip), %rdi   # 0x1394620
callq 0x40d30
movq %rax, -0x40(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x1cbba9(%rip), %rax    # 0x391788
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rdx
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x431a0
movq -0x38(%rbp), %rsi
leaq 0x11cea31(%rip), %rdi   # 0x1394630
callq 0x40d30
movq %rax, -0x58(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x133a0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x58(%rbp), %rdx
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x431a0
movq -0x30(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
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_module_Module_Newzx
static uint64_t mw_mirth_module_Module_Newzx (struct mirth_mirth_zaMirth* in_zaMirth_1, STR* in_Path_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	uint64_t v6 = mw_mirth_module_Module_Alloczx(in_zaMirth_1, &v5);
	struct mirth_mirth_zaMirth* v7;
	uint64_t v8 = mw_mirth_module_Module_Prim(v5, &v7);
	struct std_list_List_1 v9 = { .tag=std_list_List_1_Nil };
	struct std_list_List_1 v10 = mw_std_list_List_1_cons(MK_mirth_module_Module(v8), v9);
	struct mirth_mirth_zaMirth* v11;
	mw_mirth_module_Module_importszx(v7, v10, v6, &v11);
	struct mirth_mirth_zaMirth* v12;
	mw_mirth_module_Module_pathzx(v11, in_Path_2, v6, &v12);
	*out_zaMirth_3 = v12;
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x3e490
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x576e0
movq %rax, -0x38(%rbp)
leaq -0x48(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x38(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x1cc3e0(%rip), %rax    # 0x392088
movq %rax, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
movl -0x48(%rbp), %edx
movq -0x40(%rbp), %rcx
callq 0x12740
movl %eax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rcx
movl -0x58(%rbp), %esi
movq -0x50(%rbp), %rdx
leaq -0x70(%rbp), %r8
callq 0x64790
movq -0x70(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x78(%rbp), %rcx
callq 0x64800
movq -0x78(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
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_Startzx
static void mw_mirth_lexer_zaLexer_Startzx (struct mirth_mirth_zaMirth* in_zaMirth_1, STR* in_Str_2, uint64_t in_Module_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_lexer_zaLexer* *out_zaLexer_5) {
	INT v6 = WRAP_I63(0LL);
	INT v7 = WRAP_I63(1LL);
	INT v8 = WRAP_I63(1LL);
	struct std_maybe_Maybe_1 v9 = { .tag=std_maybe_Maybe_1_None };
	struct std_list_List_1 v10 = { .tag=std_list_List_1_Nil };
	struct mirth_mirth_zaMirth* v11;
	uint64_t v12 = mw_mirth_token_Token_alloczenonezx(in_zaMirth_1, &v11);
	struct mirth_lexer_zaLexer* v13;
	mtw_mirth_lexer_zaLexer_zaLexer(in_Module_3, v7, v8, v9, v10, v12, v12, in_Str_2, v6, &v13);
	*out_zaLexer_5 = v13;
	*out_zaMirth_4 = v11;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0xa8, %rsp
movq %rdi, -0x20(%rbp)
movq %rsi, -0x28(%rbp)
movq %rdx, -0x30(%rbp)
movq %rcx, -0x38(%rbp)
movq %r8, -0x40(%rbp)
movq 0x1a8a35(%rip), %rax    # 0x36ea50
movq %rax, -0x48(%rbp)
movq 0x1a8a32(%rip), %rax    # 0x36ea58
movq %rax, -0x50(%rbp)
movq 0x1a8a27(%rip), %rax    # 0x36ea58
movq %rax, -0x58(%rbp)
leaq -0x68(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
leaq -0x78(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x20(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x11c9d0
movq %rax, -0x88(%rbp)
movq -0x30(%rbp), %rdi
movq -0x88(%rbp), %r9
movq -0x88(%rbp), %rbx
movq -0x28(%rbp), %r11
movq -0x50(%rbp), %rsi
movq -0x58(%rbp), %rdx
movl -0x68(%rbp), %ecx
movq -0x60(%rbp), %r8
movq -0x48(%rbp), %r10
leaq -0x78(%rbp), %r14
leaq -0x90(%rbp), %rax
movq (%r14), %r15
movq %r15, (%rsp)
movq 0x8(%r14), %r14
movq %r14, 0x8(%rsp)
movq %rbx, 0x10(%rsp)
movq %r11, 0x18(%rsp)
movq %r10, 0x20(%rsp)
movq %rax, 0x28(%rsp)
callq 0x1c72e0
movq -0x90(%rbp), %rcx
movq -0x40(%rbp), %rax
movq %rcx, (%rax)
movq -0x80(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, (%rax)
addq $0xa8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_lexer_zaLexer_donezy
static bool mw_mirth_lexer_zaLexer_donezy (struct mirth_lexer_zaLexer* in_zaLexer_1, struct mirth_lexer_zaLexer* *out_zaLexer_2) {
	STR* v4 = in_zaLexer_1->mlexerzesource;
	incref(MKSTR(v4));
	uint64_t v5 = str_size(v4);
	INT v6 = u64_to_int(v5);
	INT v7 = in_zaLexer_1->mlexerzeoffset;
	incref(MKINT(v7));
	bool v8 = int_le(v6, v7);
	*out_zaLexer_2 = in_zaLexer_1;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x1cb03a(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1c61b0
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x1cb015(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x1c61b0
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x1cafea(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1c61b0
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x1cafc5(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1c61b2
movq -0x18(%rbp), %rdi
callq 0x1b3f0
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rdi
callq 0x1b520
movq %rax, -0x68(%rbp)
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0x1cb241(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1c6298
movq -0x70(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq 0x1cb215(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x90(%rbp), %rax
cmpq $0x0, %rax
je 0x1c6298
movq -0x70(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq 0x1cb1e1(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x98(%rbp)
movq -0xa0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1c6298
movq -0x70(%rbp), %rax
movq %rax, -0xb0(%rbp)
leaq 0x1cb1b3(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0xa8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xb0(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1c629a
movq -0x68(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0x1c1b0
andb $0x1, %al
movb %al, -0xb1(%rbp)
movq -0x8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movb -0xb1(%rbp), %al
andb $0x1, %al
addq $0xc0, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_lexer_zaLexer_zaLexer
static void mtw_mirth_lexer_zaLexer_zaLexer (uint64_t in_Module_1, INT in_Row_2, INT in_Col_3, struct std_maybe_Maybe_1 in_Maybe_4, struct std_list_List_1 in_List_5, uint64_t in_Token_6, uint64_t in_Token_7, STR* in_Str_8, INT in_Offset_9, struct mirth_lexer_zaLexer* *out_zaLexer_10) {
	struct mirth_lexer_zaLexer* v11 = calloc(1, sizeof *v11);
	ASSERT(v11);
	v11->mlexerzeoffset = in_Offset_9;
	v11->mlexerzesource = in_Str_8;
	v11->mlexerzelastzetoken = in_Token_7;
	v11->mlexerzefirstzetoken = in_Token_6;
	v11->mlexerzestack = in_List_5;
	v11->mlexerzedoc = in_Maybe_4;
	v11->mlexerzecol = in_Col_3;
	v11->mlexerzerow = in_Row_2;
	v11->mlexerzemodule = in_Module_1;
	*out_zaLexer_10 = v11;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq 0x38(%rbp), %rax
movq 0x30(%rbp), %rax
movq 0x28(%rbp), %r10
movq 0x20(%rbp), %r10
leaq 0x10(%rbp), %r10
movq %r10, -0x48(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movl %ecx, -0x20(%rbp)
movq %r8, -0x18(%rbp)
movq %rax, -0x28(%rbp)
movq %rdi, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movl $0x1, %edi
movl $0x58, %esi
callq 0x50c0
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
jne 0x1c735f
movl $0x2, %edi
leaq 0x194c7b(%rip), %rsi    # 0x35bfbc
movl $0x32, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x1c7361
movq -0x48(%rbp), %rcx
movq -0x40(%rbp), %rax
movq -0x28(%rbp), %rdx
movq %rdx, 0x50(%rax)
movq 0x28(%rbp), %rdx
movq -0x40(%rbp), %rax
movq %rdx, 0x48(%rax)
movq 0x20(%rbp), %rdx
movq -0x40(%rbp), %rax
movq %rdx, 0x40(%rax)
movq -0x38(%rbp), %rdx
movq -0x40(%rbp), %rax
movq %rdx, 0x38(%rax)
movq -0x40(%rbp), %rax
movq (%rcx), %rdx
movq %rdx, 0x28(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x30(%rax)
movq -0x40(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x20(%rax)
movq -0x40(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x40(%rbp), %rax
movq -0x8(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x30(%rbp), %rcx
movq -0x40(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq 0x38(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_lexer_zaLexer_peek
static enum std_byte_Byte mw_mirth_lexer_zaLexer_peek (struct mirth_lexer_zaLexer* in_zaLexer_1, struct mirth_lexer_zaLexer* *out_zaLexer_2) {
	INT v4 = in_zaLexer_1->mlexerzeoffset;
	incref(MKINT(v4));
	STR* v5 = in_zaLexer_1->mlexerzesource;
	incref(MKSTR(v5));
	enum std_byte_Byte v6 = mw_std_prim_Str_bytezo(v4, v5);
	*out_zaLexer_2 = in_zaLexer_1;
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x1ca00a(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1c74b0
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x1c9fe5(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x1c74b0
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x1c9fba(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1c74b0
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x1c9f95(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1c74b2
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x1c9c8b(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x1c7575
movq -0x60(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0x1c9c62(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x80(%rbp), %rax
cmpq $0x0, %rax
je 0x1c7575
movq -0x60(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq 0x1c9c34(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movq -0x90(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x1c7575
movq -0x60(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq 0x1c9c06(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x98(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xa0(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x1c7577
movq -0x60(%rbp), %rsi
movq -0x18(%rbp), %rdi
callq 0x1b8e0
movl %eax, -0xa4(%rbp)
movq -0x8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movl -0xa4(%rbp), %eax
addq $0xb0, %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_emitzx
static void mw_mirth_lexer_zaLexer_emitzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_lexer_zaLexer* in_zaLexer_2, struct mirth_token_TokenValue in_TokenValue_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_lexer_zaLexer* *out_zaLexer_5) {
	struct mirth_mirth_zaMirth* v6;
	struct mirth_lexer_zaLexer* v7;
	uint64_t v8 = mw_mirth_lexer_zaLexer_makezx(in_zaMirth_1, in_zaLexer_2, in_TokenValue_3, &v6, &v7);
	*out_zaLexer_5 = v7;
	*out_zaMirth_4 = v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movl -0x10(%rbp), %edx
movq -0x8(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x40(%rbp), %r9
callq 0x1cb7b0
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x28(%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_preparezeforzeargszx
static void mw_mirth_lexer_zaLexer_preparezeforzeargszx (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) {
	uint64_t v5 = in_zaLexer_2->mlexerzelastzetoken;
	struct mirth_mirth_zaMirth* v6;
	bool v7 = mw_mirth_token_Token_canzetakezeargszy(in_zaMirth_1, v5, &v6);
	struct mirth_lexer_zaLexer* branch_zaLexer_8;
	struct mirth_mirth_zaMirth* branch_zaMirth_9;
	if (v7) {
		branch_zaMirth_9 = v6;
		branch_zaLexer_8 = in_zaLexer_2;
	} else {
		struct mirth_mirth_zaMirth* v10;
		struct mirth_lexer_zaLexer* v11;
		mw_mirth_lexer_zaLexer_closezecolonszx(v6, in_zaLexer_2, &v10, &v11);
		branch_zaMirth_9 = v10;
		branch_zaLexer_8 = v11;
	}
	*out_zaLexer_4 = branch_zaLexer_8;
	*out_zaMirth_3 = branch_zaMirth_9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x795a0
andb $0x1, %al
movb %al, -0x31(%rbp)
testb $0x1, -0x31(%rbp)
je 0x1c9632
movq -0x30(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0x1c9657
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x50(%rbp), %rdx
leaq -0x58(%rbp), %rcx
callq 0x1c7f30
movq -0x50(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x48(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)