LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_elab_RejectedDef_MethodWrongType
static struct mirth_def_Def mtp_mirth_elab_RejectedDef_MethodWrongType (struct mirth_elab_RejectedDef in_RejectedDef_1, struct std_list_List_1 *out_List_3) {
	struct mirth_elab_RejectedDef_MethodWrongType v4 = *in_RejectedDef_1.ptr.MethodWrongType;
	if (!--(in_RejectedDef_1.ptr.MethodWrongType->refs)) {
		free(in_RejectedDef_1.ptr.MethodWrongType);
	} else {
		incref(MK_mirth_def_Def(v4.mDef));
		incref(MK_std_list_List_1(v4.mList));
	}
	*out_List_3 = v4.mList;
	return v4.mDef;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movl 0x8(%rdi), %eax
movq 0x10(%rdi), %r15
movl 0x18(%rdi), %r12d
movl 0x1c(%rdi), %r13d
movq 0x20(%rdi), %r14
decl (%rdi)
je 0x3021b
movabsq $0xfffffffffffc, %rdi   # imm = 0xFFFFFFFFFFFC
movq %r15, %rcx
andq %rdi, %rcx
sete %dl
testb $0x3, %r15b
setne %sil
orb %dl, %sil
jne 0x30206
incl (%rcx)
andq %r14, %rdi
sete %cl
testb $0x3, %r14b
setne %dl
orb %cl, %dl
jne 0x30226
incl (%rdi)
jmp 0x30226
movl %eax, -0x2c(%rbp)
callq 0x5030
movl -0x2c(%rbp), %eax
movl %r12d, (%rbx)
movl %r13d, 0x4(%rbx)
movq %r14, 0x8(%rbx)
movq %r15, %rdx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_elab_RejectedDef_MethodNotAvailable
static struct mirth_def_Def mtp_mirth_elab_RejectedDef_MethodNotAvailable (struct mirth_elab_RejectedDef in_RejectedDef_1) {
	struct mirth_elab_RejectedDef_MethodNotAvailable v3 = *in_RejectedDef_1.ptr.MethodNotAvailable;
	if (!--(in_RejectedDef_1.ptr.MethodNotAvailable->refs)) {
		free(in_RejectedDef_1.ptr.MethodNotAvailable);
	} else {
		incref(MK_mirth_def_Def(v3.mDef));
	}
	return v3.mDef;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movl 0x8(%rdi), %ebx
movq 0x10(%rdi), %r14
decl (%rdi)
je 0x3042b
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %r14, %rax
sete %cl
testb $0x3, %r14b
setne %dl
orb %cl, %dl
jne 0x30430
incl (%rax)
jmp 0x30430
callq 0x5030
movl %ebx, %eax
movq %r14, %rdx
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_maybe_Maybe_1_for_1_sp2
static void mw_std_maybe_Maybe_1_for_1_sp2 (struct std_list_List_1 in_zaLister_1, struct std_maybe_Maybe_1 in_Maybe_2, struct std_list_List_1 *out_zaLister_3) {
	struct std_list_List_1 branch_zaLister_4;
	switch ((in_Maybe_2).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v5 = mtp_std_maybe_Maybe_1_Some(in_Maybe_2);
			struct std_list_List_1 v6;
			mw_std_list_zaLister_1_pushzx(v5, in_zaLister_1, &v6);
			branch_zaLister_4 = v6;
		} break;
		case std_maybe_Maybe_1_None: {
			branch_zaLister_4 = in_zaLister_1;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaLister_3 = branch_zaLister_4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %r8, %rbx
movq %rsi, %r14
movl %edi, %r15d
testl %edx, %edx
je 0x3048b
cmpl $0x1, %edx
jne 0x304a2
movq %rcx, %rdi
callq 0xdaeb
leaq -0x30(%rbp), %r12
movq %rax, %rdi
movq %rdx, %rsi
movl %r15d, %edx
movq %r14, %rcx
movq %r12, %r8
callq 0x9741
movl (%r12), %r15d
movl 0x4(%r12), %eax
movq 0x8(%r12), %r14
jmp 0x3048b
movl %r15d, (%rbx)
movl %eax, 0x4(%rbx)
movq %r14, 0x8(%rbx)
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0xf9f7
movq $0x20, 0x10(%rax)
movups 0xb4292(%rip), %xmm0    # 0xe474d
movups %xmm0, 0x18(%rax)
movups 0xb4297(%rip), %xmm0    # 0xe475d
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x95a5
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_either_Either_2_left_1_sp1
static uint64_t mw_std_either_Either_2_left_1_sp1 (struct std_either_Either_2 in_Either_1) {
	uint64_t branch_Name_3;
	switch ((in_Either_1).tag) {
		case std_either_Either_2_Left: {
			VAL v4 = mtp_std_either_Either_2_Left(in_Either_1);
			branch_Name_3 = V_mirth_name_Name(v4);
		} break;
		case std_either_Either_2_Right: {
			VAL v5 = mtp_std_either_Either_2_Right(in_Either_1);
			uint64_t v6 = mw_mirth_name_DName_lastzename(V_mirth_name_DName(v5));
			branch_Name_3 = v6;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	return branch_Name_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
cmpl $0x1, %edi
je 0x304e8
testl %edi, %edi
jne 0x30501
movq %rsi, %rdi
popq %rbp
jmp 0x20fc5
movq %rsi, %rdi
callq 0x2100c
movq %rax, %rdi
callq 0x2d8fc
movq %rax, %rdi
popq %rbp
jmp 0x2d7f3
movl $0x20, %edi
callq 0xf9f7
movq $0x20, 0x10(%rax)
movups 0xb4233(%rip), %xmm0    # 0xe474d
movups %xmm0, 0x18(%rax)
movups 0xb4238(%rip), %xmm0    # 0xe475d
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x95a5
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_mirth_zaMirth_emitzeerrorzx
static void mw_mirth_mirth_zaMirth_emitzeerrorzx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, STR* in_Str_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_location_Location* v6 = mw_mirth_token_Token_location(in_zaMirth_1, in_Token_2, &v5);
	struct mirth_mirth_zaMirth* v7;
	mw_mirth_mirth_zaMirth_emitzeerrorzeatzx(v5, v6, in_Str_3, &v7);
	*out_zaMirth_4 = v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rcx, %rbx
movq %rdx, %r14
leaq -0x20(%rbp), %r15
movq %r15, %rdx
callq 0x1b861
movq (%r15), %rdi
leaq -0x28(%rbp), %r15
movq %rax, %rsi
movq %r14, %rdx
movl $0x2, %ecx
movq %r15, %r8
callq 0x1bf3a
movq (%r15), %rax
movq %rax, (%rbx)
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_def_Def_aliaszy
static struct std_maybe_Maybe_1 mw_mirth_def_Def_aliaszy (struct mirth_def_Def in_Def_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_Def_1).tag) {
		case mirth_def_Def_Alias: {
			uint64_t v4 = mtp_mirth_def_Def_Alias(in_Def_1);
			struct std_maybe_Maybe_1 v5 = mtw_std_maybe_Maybe_1_Some(MK_mirth_alias_Alias(v4));
			branch_Maybe_3 = v5;
		} break;
		default: {
			decref(MK_mirth_def_Def(in_Def_1));
			struct std_maybe_Maybe_1 v6 = { .tag=std_maybe_Maybe_1_None };
			branch_Maybe_3 = v6;
		} break;
	}
	return branch_Maybe_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
testl %edi, %edi
je 0x3090f
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x30909
decl (%rax)
jne 0x30909
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0xe4e85(%rip), %rsi     # 0x115789
callq 0xd4e3
xorl %eax, %eax
xorl %edx, %edx
jmp 0x30933
movq 0x8(%rsi), %rbx
decl (%rsi)
jne 0x3091f
movq %rsi, %rdi
callq 0x5030
leaq 0xe571a(%rip), %rsi     # 0x116040
movq %rbx, %rdi
callq 0x95f6
movl $0x1, %eax
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_def_Def_packagezy
static struct std_maybe_Maybe_1 mw_mirth_def_Def_packagezy (struct mirth_def_Def in_Def_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_Def_1).tag) {
		case mirth_def_Def_Package: {
			uint64_t v4 = mtp_mirth_def_Def_Package(in_Def_1);
			struct std_maybe_Maybe_1 v5 = mtw_std_maybe_Maybe_1_Some(MK_mirth_package_Package(v4));
			branch_Maybe_3 = v5;
		} break;
		default: {
			decref(MK_mirth_def_Def(in_Def_1));
			struct std_maybe_Maybe_1 v6 = { .tag=std_maybe_Maybe_1_None };
			branch_Maybe_3 = v6;
		} break;
	}
	return branch_Maybe_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
cmpl $0x2, %edi
jne 0x309e0
movq 0x8(%rsi), %rbx
decl (%rsi)
jne 0x309ca
movq %rsi, %rdi
callq 0x5030
leaq 0xe5087(%rip), %rsi     # 0x115a58
movq %rbx, %rdi
callq 0x95f6
movl $0x1, %eax
jmp 0x30a16
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x30a12
decl (%rax)
jne 0x30a12
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0xe4d7c(%rip), %rsi     # 0x115789
callq 0xd4e3
xorl %eax, %eax
xorl %edx, %edx
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_def_Def_modulezy
static struct std_maybe_Maybe_1 mw_mirth_def_Def_modulezy (struct mirth_def_Def in_Def_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_Def_1).tag) {
		case mirth_def_Def_Module: {
			uint64_t v4 = mtp_mirth_def_Def_Module(in_Def_1);
			struct std_maybe_Maybe_1 v5 = mtw_std_maybe_Maybe_1_Some(MK_mirth_module_Module(v4));
			branch_Maybe_3 = v5;
		} break;
		default: {
			decref(MK_mirth_def_Def(in_Def_1));
			struct std_maybe_Maybe_1 v6 = { .tag=std_maybe_Maybe_1_None };
			branch_Maybe_3 = v6;
		} break;
	}
	return branch_Maybe_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
cmpl $0x1, %edi
jne 0x30a4e
movq 0x8(%rsi), %rbx
decl (%rsi)
jne 0x30a38
movq %rsi, %rdi
callq 0x5030
leaq 0xe55b9(%rip), %rsi     # 0x115ff8
movq %rbx, %rdi
callq 0x95f6
movl $0x1, %eax
jmp 0x30a84
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x30a80
decl (%rax)
jne 0x30a80
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0xe4d0e(%rip), %rsi     # 0x115789
callq 0xd4e3
xorl %eax, %eax
xorl %edx, %edx
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_def_Def_tagzy
static struct std_maybe_Maybe_1 mw_mirth_def_Def_tagzy (struct mirth_def_Def in_Def_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_Def_1).tag) {
		case mirth_def_Def_Tag: {
			uint64_t v4 = mtp_mirth_def_Def_Tag(in_Def_1);
			struct std_maybe_Maybe_1 v5 = mtw_std_maybe_Maybe_1_Some(MK_mirth_data_Tag(v4));
			branch_Maybe_3 = v5;
		} break;
		default: {
			decref(MK_mirth_def_Def(in_Def_1));
			struct std_maybe_Maybe_1 v6 = { .tag=std_maybe_Maybe_1_None };
			branch_Maybe_3 = v6;
		} break;
	}
	return branch_Maybe_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
cmpl $0x6, %edi
jne 0x30abc
movq 0x8(%rsi), %rbx
decl (%rsi)
jne 0x30aa6
movq %rsi, %rdi
callq 0x5030
leaq 0xe51a3(%rip), %rsi     # 0x115c50
movq %rbx, %rdi
callq 0x95f6
movl $0x1, %eax
jmp 0x30af2
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x30aee
decl (%rax)
jne 0x30aee
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0xe4ca0(%rip), %rsi     # 0x115789
callq 0xd4e3
xorl %eax, %eax
xorl %edx, %edx
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_def_Def_wordzy
static struct std_maybe_Maybe_1 mw_mirth_def_Def_wordzy (struct mirth_def_Def in_Def_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_Def_1).tag) {
		case mirth_def_Def_Word: {
			uint64_t v4 = mtp_mirth_def_Def_Word(in_Def_1);
			struct std_maybe_Maybe_1 v5 = mtw_std_maybe_Maybe_1_Some(MK_mirth_word_Word(v4));
			branch_Maybe_3 = v5;
		} break;
		default: {
			decref(MK_mirth_def_Def(in_Def_1));
			struct std_maybe_Maybe_1 v6 = { .tag=std_maybe_Maybe_1_None };
			branch_Maybe_3 = v6;
		} break;
	}
	return branch_Maybe_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
cmpl $0x8, %edi
jne 0x30b2a
movq 0x8(%rsi), %rbx
decl (%rsi)
jne 0x30b14
movq %rsi, %rdi
callq 0x5030
leaq 0xe5645(%rip), %rsi     # 0x116160
movq %rbx, %rdi
callq 0x95f6
movl $0x1, %eax
jmp 0x30b60
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x30b5c
decl (%rax)
jne 0x30b5c
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0xe4c32(%rip), %rsi     # 0x115789
callq 0xd4e3
xorl %eax, %eax
xorl %edx, %edx
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_def_Def_macrozy
static struct std_maybe_Maybe_1 mw_mirth_def_Def_macrozy (struct mirth_def_Def in_Def_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_Def_1).tag) {
		case mirth_def_Def_Macro: {
			uint64_t v4 = mtp_mirth_def_Def_Macro(in_Def_1);
			struct std_maybe_Maybe_1 v5 = mtw_std_maybe_Maybe_1_Some(MK_mirth_macro_Macro(v4));
			branch_Maybe_3 = v5;
		} break;
		default: {
			decref(MK_mirth_def_Def(in_Def_1));
			struct std_maybe_Maybe_1 v6 = { .tag=std_maybe_Maybe_1_None };
			branch_Maybe_3 = v6;
		} break;
	}
	return branch_Maybe_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
cmpl $0xc, %edi
jne 0x30b98
movq 0x8(%rsi), %rbx
decl (%rsi)
jne 0x30b82
movq %rsi, %rdi
callq 0x5030
leaq 0xe56f7(%rip), %rsi     # 0x116280
movq %rbx, %rdi
callq 0x95f6
movl $0x1, %eax
jmp 0x30bce
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x30bca
decl (%rax)
jne 0x30bca
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0xe4bc4(%rip), %rsi     # 0x115789
callq 0xd4e3
xorl %eax, %eax
xorl %edx, %edx
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_lcurlyzy
static struct std_maybe_Maybe_1 mw_mirth_token_Token_lcurlyzy (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 mirth_token_TokenValue v6 = mw_mirth_token_Token_value(in_zaMirth_1, in_Token_2, &v5);
	struct std_maybe_Maybe_1 v7 = mw_mirth_token_TokenValue_lcurlyzy(v6);
	*out_zaMirth_3 = v5;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rdi, %r14
leaq 0x10e82d4(%rip), %rdi   # 0x11193e8
callq 0x13ff0
movq %rax, %rdi
callq 0x140f0
movabsq $0xfffffffffffc, %rdi   # imm = 0xFFFFFFFFFFFC
andq %rax, %rdi
movq %rax, %rcx
shrq $0x30, %rcx
cmpl $0xa, %ecx
jne 0x3115d
movq 0x8(%rdi), %r15
decl (%rdi)
jne 0x31147
callq 0x5030
leaq 0xe4c6a(%rip), %rsi     # 0x115db8
movq %r15, %rdi
callq 0x95f6
movl $0x1, %eax
jmp 0x3117d
testq %rdi, %rdi
je 0x31179
decl (%rdi)
jne 0x31179
andq $-0x4, %rax
leaq 0xe4d68(%rip), %rsi     # 0x115ed9
movq %rax, %rdi
callq 0xd4e3
xorl %eax, %eax
xorl %edx, %edx
movq %r14, (%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_maybe_Maybe_1_else_1_sp3
static uint64_t mw_std_maybe_Maybe_1_else_1_sp3 (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct std_maybe_Maybe_1 in_Maybe_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	int64_t v6 = (in_Maybe_3).tag;
	decref(MK_std_maybe_Maybe_1(in_Maybe_3));
	INT v7 = WRAP_I63(0LL);
	INT v8 = v7;
	INT v9 = i64_to_int(v6);
	bool v10 = int_eq(v9, v8);
	bool v11 = !v10;
	struct mirth_mirth_zaMirth* branch_zaMirth_12;
	uint64_t branch_Token_13;
	if (v11) {
		branch_Token_13 = in_Token_2;
		branch_zaMirth_12 = in_zaMirth_1;
	} else {
		STR* v14;
		STRLIT(v14, "Expected { ... }", 16);
		mw_mirth_mirth_zaMirth_emitzefatalzeerrorzx(in_zaMirth_1, in_Token_2, v14);
	}
	*out_zaMirth_4 = branch_zaMirth_12;
	return branch_Token_13;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %r15
movq %rsi, %rbx
movq %rdi, %r14
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
movl %edx, %r13d
movq %rcx, %rax
andq %r12, %rax
sete %dl
testb $0x3, %cl
setne %sil
orb %dl, %sil
jne 0x311de
decl (%rax)
jne 0x311de
movq %r13, %rdi
shlq $0x30, %rdi
orq %rcx, %rdi
leaq 0xe40e8(%rip), %rsi     # 0x1152c1
callq 0xd4e3
leaq 0x1(,%r13,2), %rdi
movl $0x1, %esi
callq 0xec04
testl %eax, %eax
je 0x31209
movq %r14, (%r15)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpq $0x0, 0x10e83b7(%rip)   # 0x11195c8
jne 0x31237
movl $0x10, %edi
callq 0xf9f7
movq $0x10, 0x10(%rax)
movups 0xb761a(%rip), %xmm0    # 0xe8846
movups %xmm0, 0x18(%rax)
movq %rax, 0x10e8391(%rip)   # 0x11195c8
movq 0x10e838a(%rip), %rdx   # 0x11195c8
andq %rdx, %r12
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x31252
incl (%r12)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2778c
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_elab_elabzedeclszx
static uint64_t mw_mirth_elab_elabzedeclszx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v7;
	bool v8 = mw_mirth_token_Token_argzeendzy(in_zaMirth_1, in_Token_2, &v7);
	bool v9 = !v8;
	struct mirth_mirth_zaMirth* v10;
	bool v11 = mw_mirth_token_Token_modulezeendzy(v7, in_Token_2, &v10);
	bool v12 = !v11;
	bool v13 = (v9 && v12);
	uint64_t v14 = in_Token_2;
	struct mirth_mirth_zaMirth* r15 = v10;
	bool v16 = v13;
	while (v16) {
		uint64_t v17 = v14;
		struct mirth_mirth_zaMirth* r18 = r15;
		struct mirth_mirth_zaMirth* v19;
		uint64_t v20 = mw_mirth_elab_elabzedeclzx(r18, v17, &v19);
		struct mirth_mirth_zaMirth* v21;
		bool v22 = mw_mirth_token_Token_argzeendzy(v19, v20, &v21);
		bool v23 = !v22;
		struct mirth_mirth_zaMirth* v24;
		bool v25 = mw_mirth_token_Token_modulezeendzy(v21, v20, &v24);
		bool v26 = !v25;
		bool v27 = (v23 && v26);
		v16 = v27;
		r15 = v24;
		v14 = v20;
	}
	*out_zaMirth_3 = r15;
	return v14;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdx, -0x30(%rbp)
movq %rsi, %r14
leaq -0x58(%rbp), %r15
movq %r15, %rdx
callq 0x28899
movl %eax, %r12d
movq (%r15), %rdi
leaq -0x50(%rbp), %r15
movq %r14, %rsi
movq %r15, %rdx
callq 0x3138f
movq (%r15), %rdi
testb %r12b, %r12b
jne 0x312e8
testb %al, %al
jne 0x312e8
leaq -0x48(%rbp), %r15
leaq -0x40(%rbp), %r12
leaq -0x38(%rbp), %r13
movq %r14, %rsi
movq %r15, %rdx
callq 0x313f8
movq %rax, %r14
movq -0x48(%rbp), %rdi
movq %rax, %rsi
movq %r12, %rdx
callq 0x28899
movl %eax, %ebx
movq -0x40(%rbp), %rdi
movq %r14, %rsi
movq %r13, %rdx
callq 0x3138f
movq -0x38(%rbp), %rdi
testb %bl, %bl
jne 0x312e8
testb %al, %al
je 0x312ae
movq -0x30(%rbp), %rax
movq %rdi, (%rax)
movq %r14, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_rcurlyzy
static struct std_maybe_Maybe_1 mw_mirth_token_Token_rcurlyzy (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 mirth_token_TokenValue v6 = mw_mirth_token_Token_value(in_zaMirth_1, in_Token_2, &v5);
	struct std_maybe_Maybe_1 v7 = mw_mirth_token_TokenValue_rcurlyzy(v6);
	*out_zaMirth_3 = v5;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rdi, %r14
leaq 0x10e80d0(%rip), %rdi   # 0x11193e8
callq 0x13ff0
movq %rax, %rdi
callq 0x140f0
movabsq $0xfffffffffffc, %rdi   # imm = 0xFFFFFFFFFFFC
andq %rax, %rdi
movq %rax, %rcx
shrq $0x30, %rcx
cmpl $0xb, %ecx
jne 0x31361
movq 0x8(%rdi), %r15
decl (%rdi)
jne 0x3134b
callq 0x5030
leaq 0xe4a66(%rip), %rsi     # 0x115db8
movq %r15, %rdi
callq 0x95f6
movl $0x1, %eax
jmp 0x31381
testq %rdi, %rdi
je 0x3137d
decl (%rdi)
jne 0x3137d
andq $-0x4, %rax
leaq 0xe4b64(%rip), %rsi     # 0x115ed9
movq %rax, %rdi
callq 0xd4e3
xorl %eax, %eax
xorl %edx, %edx
movq %r14, (%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_modulezeendzy
static bool mw_mirth_token_Token_modulezeendzy (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_nonezy(in_zaMirth_1, in_Token_2, &v5);
	*out_zaMirth_3 = v5;
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdx, %rbx
movq %rdi, %r14
leaq 0x10e8041(%rip), %rdi   # 0x11193e8
callq 0x13ff0
movq %rax, %rdi
callq 0x140f0
movq %rax, %r15
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
leaq 0x4(%rax), %r12
cmpq %r12, %r15
jb 0x313e6
andq %r15, %rax
je 0x313e6
decl (%rax)
jne 0x313e6
movq %r15, %rdi
andq $-0x4, %rdi
leaq 0xe4af8(%rip), %rsi     # 0x115ed9
callq 0xd4e3
cmpq %r12, %r15
setb %al
movq %r14, (%rbx)
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_mirth_zaMirth_errorzetokenzx
static void mw_mirth_mirth_zaMirth_errorzetokenzx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct std_maybe_Maybe_1 v4 = mtw_std_maybe_Maybe_1_Some(MK_mirth_token_Token(in_Token_2));
	struct mirth_mirth_LexicalState* v5 = in_zaMirth_1->mlexicalzestate;
	incref(MK_mirth_mirth_LexicalState(v5));
	struct mirth_mirth_LexicalState* v6 = mirth_mirth_LexicalState_set_errorzetoken(v5, v4);
	struct mirth_mirth_LexicalState* v7 = in_zaMirth_1->mlexicalzestate;
	decref(MK_mirth_mirth_LexicalState(v7));
	in_zaMirth_1->mlexicalzestate = v6;
	*out_zaMirth_3 = in_zaMirth_1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdx, %rbx
movq %rsi, %rax
movq %rdi, %r14
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
leaq 0xe46b1(%rip), %rsi     # 0x115db8
movq %rax, %rdi
callq 0x95f6
movq 0x48(%r14), %rdi
movq %rdi, %rax
andq %r12, %rax
sete %cl
testb $0x3, %dil
setne %sil
orb %cl, %sil
jne 0x3172b
incl (%rax)
movl $0x1, %esi
callq 0x31886
movq %rax, %r15
movq 0x48(%r14), %rdi
andq %rdi, %r12
sete %al
testb $0x3, %dil
setne %cl
orb %al, %cl
jne 0x3175f
decl (%r12)
jne 0x3175f
leaq 0xe4107(%rip), %rsi     # 0x115861
callq 0xd4e3
movq %r15, 0x48(%r14)
movq %r14, (%rbx)
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_namezy
static struct std_maybe_Maybe_1 mw_mirth_token_Token_namezy (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 mirth_token_TokenValue v6 = mw_mirth_token_Token_value(in_zaMirth_1, in_Token_2, &v5);
	struct std_maybe_Maybe_1 v7 = mw_mirth_token_TokenValue_namezy(v6);
	*out_zaMirth_3 = v5;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rdx, %rbx
movq %rdi, %r14
leaq 0x10e7c65(%rip), %rdi   # 0x11193e8
callq 0x13ff0
movq %rax, %rdi
callq 0x140f0
movabsq $0xfffffffffffc, %rsi   # imm = 0xFFFFFFFFFFFC
andq %rax, %rsi
movq %rax, %rdi
shrq $0x30, %rdi
callq 0x3196d
movq %r14, (%rbx)
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_maybe_Maybe_1_unwrap_1_sp27
static uint64_t mw_std_maybe_Maybe_1_unwrap_1_sp27 (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct std_maybe_Maybe_1 in_Maybe_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, VAL *out_zux1_6) {
	struct mirth_mirth_zaMirth* branch_zaMirth_7;
	uint64_t branch_Token_8;
	VAL branch_zux1_9;
	switch ((in_Maybe_3).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v10 = mtp_std_maybe_Maybe_1_Some(in_Maybe_3);
			branch_zux1_9 = v10;
			branch_Token_8 = in_Token_2;
			branch_zaMirth_7 = in_zaMirth_1;
		} break;
		case std_maybe_Maybe_1_None: {
			STR* v11;
			STRLIT(v11, "unknown declaration", 19);
			mw_mirth_mirth_zaMirth_emitzefatalzeerrorzx(in_zaMirth_1, in_Token_2, v11);
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zux1_6 = branch_zux1_9;
	*out_zaMirth_4 = branch_zaMirth_7;
	return branch_Token_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
cmpl $0x1, %edx
jne 0x317ed
movq %r9, %r12
movq %r8, %r15
movq %rcx, %rdi
callq 0xdaeb
movq %rax, (%r12)
movq %rdx, 0x8(%r12)
movq %r14, (%r15)
movq %rbx, %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
testl %edx, %edx
jne 0x31856
cmpq $0x0, 0x10e7dd7(%rip)   # 0x11195d0
jne 0x31826
movl $0x13, %edi
callq 0xf9f7
movq $0x13, 0x10(%rax)
movups 0xb7078(%rip), %xmm0    # 0xe888c
movups %xmm0, 0x18(%rax)
movl $0x6e6f6974, 0x27(%rax) # imm = 0x6E6F6974
movq %rax, 0x10e7daa(%rip)   # 0x11195d0
movq 0x10e7da3(%rip), %rdx   # 0x11195d0
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0x3184b
incl (%rax)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2778c
movl $0x20, %edi
callq 0xf9f7
movq $0x20, 0x10(%rax)
movups 0xb2ede(%rip), %xmm0    # 0xe474d
movups %xmm0, 0x18(%rax)
movups 0xb2ee3(%rip), %xmm0    # 0xe475d
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x95a5
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mirth_mirth_LexicalState_set_errorzetoken
static struct mirth_mirth_LexicalState* mirth_mirth_LexicalState_set_errorzetoken(struct mirth_mirth_LexicalState* self, struct std_maybe_Maybe_1 x) {
	if (self->refs > 1) {
		struct mirth_mirth_LexicalState* self2 = calloc(1, sizeof * self2);
		ASSERT(self2); memcpy(self2, self, sizeof * self2);
		self2->merrorzetoken = x;
		incref(MK_std_maybe_Maybe_1(self2->mdefiningzenamespace));
		self->refs--;
		return self2;
	}
	decref(MK_std_maybe_Maybe_1(self->merrorzetoken));
	self->merrorzetoken = x;
	return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdx, %r14
movl %esi, %r15d
movq %rdi, %rbx
cmpl $0x2, (%rdi)
jb 0x318f9
movl $0x1, %edi
movl $0x28, %esi
callq 0x50c0
testq %rax, %rax
je 0x31948
movups (%rbx), %xmm0
movups 0x10(%rbx), %xmm1
movups %xmm0, (%rax)
movups %xmm1, 0x10(%rax)
movq 0x20(%rbx), %rdx
movq %rdx, 0x20(%rax)
movl %r15d, 0x8(%rax)
movq %r14, 0x10(%rax)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rcx
sete %sil
testb $0x3, %dl
setne %dl
orb %sil, %dl
jne 0x318f2
incl (%rcx)
decl (%rbx)
movq %rax, %rbx
jmp 0x3193a
movq 0x10(%rbx), %rcx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %dl
testb $0x3, %cl
setne %cl
orb %dl, %cl
jne 0x31932
decl (%rax)
jne 0x31932
leaq 0xe399f(%rip), %rsi     # 0x1152c1
movl 0x8(%rbx), %edi
shlq $0x30, %rdi
orq 0x10(%rbx), %rdi
callq 0xd4e3
movl %r15d, 0x8(%rbx)
movq %r14, 0x10(%rbx)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
leaq 0xb6f08(%rip), %rsi     # 0xe8857
movl $0x34, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52be
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_TokenValue_namezy
static struct std_maybe_Maybe_1 mw_mirth_token_TokenValue_namezy (struct mirth_token_TokenValue in_TokenValue_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_TokenValue_1).tag) {
		case mirth_token_TokenValue_Name: {
			uint64_t v4 = mtp_mirth_token_TokenValue_Name(in_TokenValue_1);
			struct std_maybe_Maybe_1 v5 = mtw_std_maybe_Maybe_1_Some(MK_mirth_name_Name(v4));
			branch_Maybe_3 = v5;
		} break;
		default: {
			decref(MK_mirth_token_TokenValue(in_TokenValue_1));
			struct std_maybe_Maybe_1 v6 = { .tag=std_maybe_Maybe_1_None };
			branch_Maybe_3 = v6;
		} break;
	}
	return branch_Maybe_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
cmpl $0x1b, %edi
jne 0x3199e
movq 0x8(%rsi), %rbx
decl (%rsi)
jne 0x31988
movq %rsi, %rdi
callq 0x5030
leaq 0xe3d69(%rip), %rsi     # 0x1156f8
movq %rbx, %rdi
callq 0x95f6
movl $0x1, %eax
jmp 0x319d4
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x319d0
decl (%rax)
jne 0x319d0
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0xe450e(%rip), %rsi     # 0x115ed9
callq 0xd4e3
xorl %eax, %eax
xorl %edx, %edx
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_lparenzy
static struct std_maybe_Maybe_1 mw_mirth_token_Token_lparenzy (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 mirth_token_TokenValue v6 = mw_mirth_token_Token_value(in_zaMirth_1, in_Token_2, &v5);
	struct std_maybe_Maybe_1 v7 = mw_mirth_token_TokenValue_lparenzy(v6);
	*out_zaMirth_3 = v5;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rdi, %r14
leaq 0x10e6ea4(%rip), %rdi   # 0x11193e8
callq 0x13ff0
movq %rax, %rdi
callq 0x140f0
movabsq $0xfffffffffffc, %rdi   # imm = 0xFFFFFFFFFFFC
andq %rax, %rdi
movq %rax, %rcx
shrq $0x30, %rcx
cmpl $0x6, %ecx
jne 0x3258d
movq 0x8(%rdi), %r15
decl (%rdi)
jne 0x32577
callq 0x5030
leaq 0xe383a(%rip), %rsi     # 0x115db8
movq %r15, %rdi
callq 0x95f6
movl $0x1, %eax
jmp 0x325ad
testq %rdi, %rdi
je 0x325a9
decl (%rdi)
jne 0x325a9
andq $-0x4, %rax
leaq 0xe3938(%rip), %rsi     # 0x115ed9
movq %rax, %rdi
callq 0xd4e3
xorl %eax, %eax
xorl %edx, %edx
movq %r14, (%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mb_mirth_elab_elabzedefzehead_0
static void mb_mirth_elab_elabzedefzehead_0 (void) {
	struct mirth_mirth_zaMirth* r0 = V_mirth_mirth_zaMirth(pop_resource());
	uint64_t v1 = V_mirth_token_Token(pop_value());
	struct mirth_mirth_zaMirth* v2;
	struct mirth_name_QName* v3 = mw_mirth_elab_elabzedefzeqnamezeundefined(r0, v1, &v2);
	push_resource(MK_mirth_mirth_zaMirth(v2));
	push_value(MK_mirth_name_QName(v3));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movabsq $0xfffffffffffc, %r15   # imm = 0xFFFFFFFFFFFC
callq 0xda98
movq %rax, %r14
callq 0xda3f
movq %rax, %rbx
leaq -0x40(%rbp), %rdx
movq %r14, %rdi
movq %rax, %rsi
callq 0x32836
movq %rax, %r14
movq %rax, %r13
movq %r15, -0x30(%rbp)
andq %r15, %r13
setne %al
testb $0x3, %r14b
sete %r15b
andb %al, %r15b
cmpb $0x1, %r15b
jne 0x3277d
incl (%r13)
leaq 0xe2fbd(%rip), %r12     # 0x115741
movq -0x40(%rbp), %rdi
leaq -0x38(%rbp), %rdx
movq %r14, %rsi
callq 0x33063
testb %al, %al
jne 0x327c1
movq -0x38(%rbp), %rdi
leaq 0xe314d(%rip), %rsi     # 0x1158f0
callq 0x9116
movq %r14, %rdi
movq %r12, %rsi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd6f1
testb %r15b, %r15b
je 0x327d7
decl (%r13)
jne 0x327d7
movq %r14, %rdi
movq %r12, %rsi
callq 0xd4e3
cmpq $0x0, 0x10e6e41(%rip)   # 0x1119620
jne 0x3280c
movl $0x14, %edi
callq 0xf9f7
movq $0x14, 0x10(%rax)
movups 0xb617c(%rip), %xmm0    # 0xe8976
movups %xmm0, 0x18(%rax)
movl $0x64656e69, 0x28(%rax) # imm = 0x64656E69
movq %rax, 0x10e6e14(%rip)   # 0x1119620
movq 0x10e6e0d(%rip), %rdx   # 0x1119620
andq %rdx, -0x30(%rbp)
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x3282a
movq -0x30(%rbp), %rax
incl (%rax)
movq -0x38(%rbp), %rdi
movq %rbx, %rsi
callq 0x2778c
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_name_QName_definedzesoftzy
static bool mw_mirth_name_QName_definedzesoftzy (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_name_QName* in_QName_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct std_maybe_Maybe_1 v6 = mw_mirth_name_QName_defzesoftzy(in_zaMirth_1, in_QName_2, &v5);
	int64_t v7 = (v6).tag;
	decref(MK_std_maybe_Maybe_1(v6));
	INT v8 = WRAP_I63(0LL);
	INT v9 = v8;
	INT v10 = i64_to_int(v7);
	bool v11 = int_eq(v10, v9);
	bool v12 = !v11;
	*out_zaMirth_3 = v5;
	return v12;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdx, %rbx
leaq -0x18(%rbp), %rdx
callq 0x1973b
movl %eax, %r14d
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0x330b3
decl (%rax)
jne 0x330b3
movq %r14, %rdi
shlq $0x30, %rdi
orq %rdx, %rdi
leaq 0xe2213(%rip), %rsi     # 0x1152c1
callq 0xd4e3
leaq 0x1(,%r14,2), %rdi
movl $0x1, %esi
callq 0xec04
testl %eax, %eax
setne %al
movq -0x18(%rbp), %rcx
movq %rcx, (%rbx)
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_args
static struct std_list_List_1 mw_mirth_token_Token_args (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	uint64_t v6 = mw_mirth_token_Token_argszestart(in_zaMirth_1, in_Token_2, &v5);
	struct mirth_mirth_zaMirth* v7;
	bool v8 = mw_mirth_token_Token_leftzeenclosurezy(v5, v6, &v7);
	struct mirth_mirth_zaMirth* branch_zaMirth_9;
	struct std_list_List_1 branch_List_10;
	if (v8) {
		struct std_list_List_1 v11 = { .tag=std_list_List_1_Nil };
		struct std_list_List_1 v12;
		mw_std_list_List_1_buildzx(v11, &v12);
		struct mirth_mirth_zaMirth* v13;
		bool v14 = mw_mirth_token_Token_argszeendzy(v7, v6, &v13);
		bool v15 = !v14;
		uint64_t v16 = v6;
		struct mirth_mirth_zaMirth* r17 = v13;
		struct std_list_List_1 r18 = v12;
		bool v19 = v15;
		while (v19) {
			uint64_t v20 = v16;
			struct mirth_mirth_zaMirth* r21 = r17;
			struct std_list_List_1 r22 = r18;
			struct mirth_mirth_zaMirth* v23;
			uint64_t v24 = mw_mirth_token_Token_succ(r21, v20, &v23);
			struct mirth_mirth_zaMirth* v25;
			uint64_t v26 = mw_mirth_token_Token_nextzeargzeend(v23, v24, &v25);
			struct std_list_List_1 v27;
			mw_std_list_zaLister_1_pushzx(MK_mirth_token_Token(v24), r22, &v27);
			struct mirth_mirth_zaMirth* v28;
			bool v29 = mw_mirth_token_Token_argszeendzy(v25, v26, &v28);
			bool v30 = !v29;
			v19 = v30;
			r18 = v27;
			r17 = v28;
			v16 = v26;
		}
		struct std_list_List_1 v31 = mw_std_list_zaLister_1_donezx(r18);
		branch_List_10 = v31;
		branch_zaMirth_9 = r17;
	} else {
		struct std_list_List_1 v32 = { .tag=std_list_List_1_Nil };
		branch_List_10 = v32;
		branch_zaMirth_9 = v7;
	}
	*out_zaMirth_3 = branch_zaMirth_9;
	return branch_List_10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdx, %r15
leaq -0x68(%rbp), %rbx
movq %rbx, %rdx
callq 0x280ef
movq %rax, %r14
movq (%rbx), %rdi
leaq -0x30(%rbp), %rdx
movq %rax, %rsi
callq 0x281ac
testb %al, %al
je 0x331a2
movq %r15, -0x38(%rbp)
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0xd37c
movl %eax, %r15d
movq %rdx, %r12
movq -0x30(%rbp), %rdi
leaq -0x60(%rbp), %rbx
movq %r14, %rsi
movq %rbx, %rdx
callq 0x2823a
movq (%rbx), %r13
testb %al, %al
jne 0x331ac
cmpq %r14, 0x10e62ac(%rip)   # 0x11193f8
leaq 0x1(%r14), %rbx
movl $0x0, %eax
cmovbeq %rax, %rbx
movq %r13, %rdi
movq %rbx, %rsi
leaq -0x48(%rbp), %rdx
callq 0x282ee
movq %rax, %r14
movq %rbx, %rdi
leaq 0xe2c43(%rip), %rsi     # 0x115db8
movl %r15d, %edx
movq %r12, %rcx
leaq -0x58(%rbp), %r8
callq 0x9741
movq -0x48(%rbp), %rdi
movq %r14, %rsi
leaq -0x40(%rbp), %rdx
callq 0x2823a
movl -0x58(%rbp), %r15d
movq -0x50(%rbp), %r12
movq -0x40(%rbp), %r13
jmp 0x33141
xorl %eax, %eax
movq -0x30(%rbp), %r13
xorl %edx, %edx
jmp 0x331bf
xorl %edi, %edi
xorl %esi, %esi
movl %r15d, %edx
movq %r12, %rcx
callq 0xd37c
movq -0x38(%rbp), %r15
movq %r13, (%r15)
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_maybe_Maybe_1_unwrap_1_sp45
static VAL mw_std_maybe_Maybe_1_unwrap_1_sp45 (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_maybe_Maybe_1 in_Maybe_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* branch_zaMirth_5;
	VAL branch_zux1_6;
	switch ((in_Maybe_2).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v7 = mtp_std_maybe_Maybe_1_Some(in_Maybe_2);
			branch_zux1_6 = v7;
			branch_zaMirth_5 = in_zaMirth_1;
		} break;
		case std_maybe_Maybe_1_None: {
			mw_mirth_mirth_zaMirth_paniczediagnosticszx(in_zaMirth_1);
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_3 = branch_zaMirth_5;
	return branch_zux1_6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rdi, %rbx
cmpl $0x1, %esi
jne 0x3345f
movq %rcx, %r14
movq %rdx, %rdi
callq 0xdaeb
movq %rbx, (%r14)
popq %rbx
popq %r14
popq %rbp
retq
testl %esi, %esi
jne 0x3346b
movq %rbx, %rdi
callq 0x1bd48
movl $0x20, %edi
callq 0xf9f7
movq $0x20, 0x10(%rax)
movups 0xb12c9(%rip), %xmm0    # 0xe474d
movups %xmm0, 0x18(%rax)
movups 0xb12ce(%rip), %xmm0    # 0xe475d
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x95a5
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_elab_arityzecompatiblezy
static bool mw_mirth_elab_arityzecompatiblezy (INT in_Int_1, INT in_Int_2) {
	incref(MKINT(in_Int_2));
	INT v4 = WRAP_I63(-1LL);
	bool v5 = int_eq(in_Int_2, v4);
	bool v6 = int_eq(in_Int_1, in_Int_2);
	bool v7 = (v6 || v5);
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0x334c7
incl (%rax)
movq %rbx, %rdi
movq $-0x1, %rsi
callq 0xec04
testl %eax, %eax
sete %r15b
movq %r14, %rdi
movq %rbx, %rsi
callq 0xec04
testl %eax, %eax
sete %al
orb %r15b, %al
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_elab_RejectedDef_WrongArity
static struct mirth_elab_RejectedDef mtw_mirth_elab_RejectedDef_WrongArity (struct mirth_def_Def in_Def_1) {
	struct mirth_elab_RejectedDef_WrongArity* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mDef = in_Def_1;
	struct mirth_elab_RejectedDef v4 = { .tag=mirth_elab_RejectedDef_WrongArity, .ptr.WrongArity=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rsi, %rbx
movl %edi, %r14d
movl $0x1, %edi
movl $0x18, %esi
callq 0x50c0
testq %rax, %rax
je 0x3352e
movl $0x1, (%rax)
movl %r14d, 0x8(%rax)
movq %rbx, 0x10(%rax)
popq %rbx
popq %r14
popq %rbp
retq
leaq 0xb55cb(%rip), %rsi     # 0xe8b00
movl $0x31, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52be
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_argsze1
static uint64_t mw_mirth_token_Token_argsze1 (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	INT v6 = mw_mirth_token_Token_numzeargs(in_zaMirth_1, in_Token_2, &v5);
	INT v7 = WRAP_I63(1LL);
	INT v8 = v7;
	INT v9 = v6;
	bool v10 = int_eq(v9, v8);
	struct mirth_mirth_zaMirth* branch_zaMirth_11;
	uint64_t branch_Token_12;
	if (v10) {
		struct mirth_mirth_zaMirth* v13;
		uint64_t v14 = mw_mirth_token_Token_argszestart(v5, in_Token_2, &v13);
		struct mirth_mirth_zaMirth* v15;
		uint64_t v16 = mw_mirth_token_Token_succ(v13, v14, &v15);
		branch_Token_12 = v16;
		branch_zaMirth_11 = v15;
	} else {
		struct mirth_mirth_zaMirth* v17;
		INT v18 = mw_mirth_token_Token_numzeargs(v5, in_Token_2, &v17);
		INT v19 = WRAP_I63(1LL);
		INT v20 = v19;
		INT v21 = v18;
		bool v22 = int_lt(v21, v20);
		struct mirth_mirth_zaMirth* branch_zaMirth_23;
		uint64_t branch_Token_24;
		if (v22) {
			STR* v25;
			STRLIT(v25, "expected 1 arg, got none", 24);
			mw_mirth_mirth_zaMirth_emitzefatalzeerrorzx(v17, in_Token_2, v25);
		} else {
			STR* v28;
			STRLIT(v28, "expected 1 arg, got too many", 28);
			mw_mirth_mirth_zaMirth_emitzefatalzeerrorzx(v17, in_Token_2, v28);
		}
	}
	*out_zaMirth_3 = branch_zaMirth_11;
	return branch_Token_12;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdx, %r14
movq %rsi, %rbx
leaq -0x28(%rbp), %rdx
callq 0x2801e
movl $0x3, %esi
movq %rax, %rdi
callq 0xec04
testl %eax, %eax
jne 0x33609
movq -0x28(%rbp), %rdi
leaq -0x20(%rbp), %r15
movq %rbx, %rsi
movq %r15, %rdx
callq 0x280ef
xorl %ecx, %ecx
cmpq %rax, 0x10e5e0b(%rip)   # 0x11193f8
leaq 0x1(%rax), %rax
cmovaq %rax, %rcx
movq (%r15), %rax
movq %rax, (%r14)
movq %rcx, %rax
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movabsq $0xfffffffffffc, %r14   # imm = 0xFFFFFFFFFFFC
movq -0x28(%rbp), %rdi
leaq -0x20(%rbp), %rdx
movq %rbx, %rsi
callq 0x2801e
movl $0x3, %esi
movq %rax, %rdi
callq 0xec04
testl %eax, %eax
jns 0x33679
cmpq $0x0, 0x10e6064(%rip)   # 0x11196a0
jne 0x33670
movl $0x18, %edi
callq 0xf9f7
movq $0x18, 0x10(%rax)
movabsq $0x656e6f6e20746f67, %rcx # imm = 0x656E6F6E20746F67
movq %rcx, 0x28(%rax)
movups 0xb54cd(%rip), %xmm0    # 0xe8b32
movups %xmm0, 0x18(%rax)
movq %rax, 0x10e6030(%rip)   # 0x11196a0
movq 0x10e6029(%rip), %rdx   # 0x11196a0
jmp 0x336b9
cmpq $0x0, 0x10e6027(%rip)   # 0x11196a8
jne 0x336b2
movl $0x1c, %edi
callq 0xf9f7
movq $0x1c, 0x10(%rax)
movups 0xb54af(%rip), %xmm0    # 0xe8b4b
movups %xmm0, 0x18(%rax)
movups 0xb54b0(%rip), %xmm0    # 0xe8b57
movups %xmm0, 0x24(%rax)
movq %rax, 0x10e5ff6(%rip)   # 0x11196a8
movq 0x10e5fef(%rip), %rdx   # 0x11196a8
andq %rdx, %r14
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x336cc
incl (%r14)
movq -0x20(%rbp), %rdi
movq %rbx, %rsi
callq 0x2778c
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_word_Word_Newzx
static uint64_t mw_mirth_word_Word_Newzx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct std_maybe_Maybe_1 in_Maybe_3, uint64_t in_Token_4, uint64_t in_Name_5, INT in_Nat_6, struct std_maybe_Maybe_1 in_Maybe_7, struct mirth_mirth_zaMirth* *out_zaMirth_8) {
	struct mirth_mirth_zaMirth* v10;
	uint64_t v11 = mw_mirth_word_Word_Makezx(in_zaMirth_1, in_Maybe_7, in_Name_5, in_Nat_6, in_Token_2, in_Token_4, in_Maybe_3, &v10);
	struct mirth_def_Def v12 = mtw_mirth_def_Def_Word(v11);
	struct mirth_mirth_zaMirth* v13;
	mw_mirth_def_Def_register(v10, v12, &v13);
	*out_zaMirth_8 = v13;
	return v11;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %r9, %r12
movq %r8, -0x38(%rbp)
movq %rcx, -0x40(%rbp)
movl %edx, %r15d
movq %rsi, %r14
movq %rdi, -0x30(%rbp)
movq 0x10e575a(%rip), %rbx   # 0x1119740
incq %rbx
movq %rbx, 0x10e5750(%rip)   # 0x1119740
movl 0x18(%rbp), %r13d
shlq $0x30, %r13
orq 0x20(%rbp), %r13
leaq 0x10e570d(%rip), %rdi   # 0x1119710
movq %rbx, %rsi
callq 0x13ff0
leaq 0xe12af(%rip), %rsi     # 0x1152c1
movq %r13, %rdi
movq %rsi, %r13
movq %rax, %rdx
callq 0x14ab5
leaq 0x10e4f41(%rip), %rdi   # 0x1118f68
movq %rbx, %rsi
callq 0x13ff0
leaq 0xe16c2(%rip), %rsi     # 0x1156f8
movq %r12, %rdi
movq %rax, %rdx
callq 0x14ab5
leaq 0x10e5648(%rip), %rdi   # 0x1119690
movq %rbx, %rsi
callq 0x13ff0
leaq 0xe10ba(%rip), %rsi     # 0x115111
movq 0x10(%rbp), %rdi
movq %rax, %rdx
callq 0x14ab5
leaq 0x10e4d36(%rip), %rdi   # 0x1118da0
movq %rbx, %rsi
callq 0x13ff0
leaq 0xe1d3f(%rip), %r12     # 0x115db8
movq %r14, %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0x14ab5
leaq 0x10e5692(%rip), %rdi   # 0x1119720
movq %rbx, %rsi
callq 0x13ff0
movq -0x38(%rbp), %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0x14ab5
leaq 0x10e5684(%rip), %rdi   # 0x1119730
movq %rbx, %rsi
callq 0x13ff0
shlq $0x30, %r15
orq -0x40(%rbp), %r15
movq %r15, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x14ab5
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
testq %rax, %rax
je 0x3411c
movq 0x28(%rbp), %r15
movl $0x1, (%rax)
movq %rbx, 0x8(%rax)
leaq -0x48(%rbp), %r14
movq -0x30(%rbp), %rdi
movl $0x8, %esi
movq %rax, %rdx
movq %r14, %rcx
callq 0x13817
movq (%r14), %rax
movq %rax, (%r15)
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xb4b07(%rip), %rsi     # 0xe8c2a
movl $0x31, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52be
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_mirth_PropLabel_WordQName
static struct mirth_mirth_PropLabel mtw_mirth_mirth_PropLabel_WordQName (uint64_t in_Word_1) {
	struct mirth_mirth_PropLabel_WordQName* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mWord = in_Word_1;
	struct mirth_mirth_PropLabel v4 = { .tag=mirth_mirth_PropLabel_WordQName, .ptr.WordQName=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
testq %rax, %rax
je 0x3416f
movl $0x1, (%rax)
movq %rbx, 0x8(%rax)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
leaq 0xb4ae6(%rip), %rsi     # 0xe8c5c
movl $0x31, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52be
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_mirth_PropLabel_WordType
static struct mirth_mirth_PropLabel mtw_mirth_mirth_PropLabel_WordType (uint64_t in_Word_1) {
	struct mirth_mirth_PropLabel_WordType* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mWord = in_Word_1;
	struct mirth_mirth_PropLabel v4 = { .tag=mirth_mirth_PropLabel_WordType, .ptr.WordType=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
testq %rax, %rax
je 0x341c2
movl $0x1, (%rax)
movq %rbx, 0x8(%rax)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
leaq 0xb4ac5(%rip), %rsi     # 0xe8c8e
movl $0x31, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52be
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_mirth_PropLabel_WordParams
static struct mirth_mirth_PropLabel mtw_mirth_mirth_PropLabel_WordParams (uint64_t in_Word_1) {
	struct mirth_mirth_PropLabel_WordParams* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mWord = in_Word_1;
	struct mirth_mirth_PropLabel v4 = { .tag=mirth_mirth_PropLabel_WordParams, .ptr.WordParams=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
testq %rax, %rax
je 0x34401
movl $0x1, (%rax)
movq %rbx, 0x8(%rax)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
leaq 0xb5324(%rip), %rsi     # 0xe972c
movl $0x31, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52be
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_mirth_PropLabel_WordArrow
static struct mirth_mirth_PropLabel mtw_mirth_mirth_PropLabel_WordArrow (uint64_t in_Word_1) {
	struct mirth_mirth_PropLabel_WordArrow* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mWord = in_Word_1;
	struct mirth_mirth_PropLabel v4 = { .tag=mirth_mirth_PropLabel_WordArrow, .ptr.WordArrow=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
testq %rax, %rax
je 0x349ee
movl $0x1, (%rax)
movq %rbx, 0x8(%rax)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
leaq 0xb4e6d(%rip), %rsi     # 0xe9862
movl $0x31, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52be
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_lsquarezy
static struct std_maybe_Maybe_1 mw_mirth_token_Token_lsquarezy (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 mirth_token_TokenValue v6 = mw_mirth_token_Token_value(in_zaMirth_1, in_Token_2, &v5);
	struct std_maybe_Maybe_1 v7 = mw_mirth_token_TokenValue_lsquarezy(v6);
	*out_zaMirth_3 = v5;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rdi, %r14
leaq 0x10e4514(%rip), %rdi   # 0x11193e8
callq 0x13ff0
movq %rax, %rdi
callq 0x140f0
movabsq $0xfffffffffffc, %rdi   # imm = 0xFFFFFFFFFFFC
andq %rax, %rdi
movq %rax, %rcx
shrq $0x30, %rcx
cmpl $0x8, %ecx
jne 0x34f1d
movq 0x8(%rdi), %r15
decl (%rdi)
jne 0x34f07
callq 0x5030
leaq 0xe0eaa(%rip), %rsi     # 0x115db8
movq %r15, %rdi
callq 0x95f6
movl $0x1, %eax
jmp 0x34f3d
testq %rdi, %rdi
je 0x34f39
decl (%rdi)
jne 0x34f39
andq $-0x4, %rax
leaq 0xe0fa8(%rip), %rsi     # 0x115ed9
movq %rax, %rdi
callq 0xd4e3
xorl %eax, %eax
xorl %edx, %edx
movq %r14, (%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq