LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O3/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 0x2fae5
movq 0x8(%rsi), %rbx
decl (%rsi)
jne 0x2facf
movq %rsi, %rdi
callq 0x5030
leaq 0xe1f82(%rip), %rsi     # 0x111a58
movq %rbx, %rdi
callq 0x9353
movl $0x1, %eax
jmp 0x2fb1b
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x2fb17
decl (%rax)
jne 0x2fb17
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0xe1c77(%rip), %rsi     # 0x111789
callq 0xd13d
xorl %eax, %eax
xorl %edx, %edx
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x2fb53
movq 0x8(%rsi), %rbx
decl (%rsi)
jne 0x2fb3d
movq %rsi, %rdi
callq 0x5030
leaq 0xe24b4(%rip), %rsi     # 0x111ff8
movq %rbx, %rdi
callq 0x9353
movl $0x1, %eax
jmp 0x2fb89
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x2fb85
decl (%rax)
jne 0x2fb85
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0xe1c09(%rip), %rsi     # 0x111789
callq 0xd13d
xorl %eax, %eax
xorl %edx, %edx
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x2fbc1
movq 0x8(%rsi), %rbx
decl (%rsi)
jne 0x2fbab
movq %rsi, %rdi
callq 0x5030
leaq 0xe209e(%rip), %rsi     # 0x111c50
movq %rbx, %rdi
callq 0x9353
movl $0x1, %eax
jmp 0x2fbf7
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x2fbf3
decl (%rax)
jne 0x2fbf3
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0xe1b9b(%rip), %rsi     # 0x111789
callq 0xd13d
xorl %eax, %eax
xorl %edx, %edx
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x2fc2f
movq 0x8(%rsi), %rbx
decl (%rsi)
jne 0x2fc19
movq %rsi, %rdi
callq 0x5030
leaq 0xe2540(%rip), %rsi     # 0x112160
movq %rbx, %rdi
callq 0x9353
movl $0x1, %eax
jmp 0x2fc65
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x2fc61
decl (%rax)
jne 0x2fc61
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0xe1b2d(%rip), %rsi     # 0x111789
callq 0xd13d
xorl %eax, %eax
xorl %edx, %edx
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x2fc9d
movq 0x8(%rsi), %rbx
decl (%rsi)
jne 0x2fc87
movq %rsi, %rdi
callq 0x5030
leaq 0xe25f2(%rip), %rsi     # 0x112280
movq %rbx, %rdi
callq 0x9353
movl $0x1, %eax
jmp 0x2fcd3
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x2fccf
decl (%rax)
jne 0x2fccf
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0xe1abf(%rip), %rsi     # 0x111789
callq 0xd13d
xorl %eax, %eax
xorl %edx, %edx
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x10e5222(%rip), %rdi   # 0x11153e8
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movabsq $0xfffffffffffc, %rdi   # imm = 0xFFFFFFFFFFFC
andq %rax, %rdi
movq %rax, %rcx
shrq $0x30, %rcx
cmpl $0xa, %ecx
jne 0x3020f
movq 0x8(%rdi), %r15
decl (%rdi)
jne 0x301f9
callq 0x5030
leaq 0xe1bb8(%rip), %rsi     # 0x111db8
movq %r15, %rdi
callq 0x9353
movl $0x1, %eax
jmp 0x3022f
testq %rdi, %rdi
je 0x3022b
decl (%rdi)
jne 0x3022b
andq $-0x4, %rax
leaq 0xe1cb6(%rip), %rsi     # 0x111ed9
movq %rax, %rdi
callq 0xd13d
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_O3/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 0x30290
decl (%rax)
jne 0x30290
movq %r13, %rdi
shlq $0x30, %rdi
orq %rcx, %rdi
leaq 0xe1036(%rip), %rsi     # 0x1112c1
callq 0xd13d
leaq 0x1(,%r13,2), %rdi
movl $0x1, %esi
callq 0xe83a
testl %eax, %eax
je 0x302bb
movq %r14, (%r15)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x10e5306(%rip), %rdx   # 0x11155c8
testq %rdx, %rdx
jne 0x302ee
movl $0x10, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x10, 0x10(%rax)
movups 0xb4464(%rip), %xmm0    # 0xe4747
movups %xmm0, 0x18(%rax)
movq %rax, 0x10e52da(%rip)   # 0x11155c8
andq %rdx, %r12
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x30302
incl (%r12)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x27183
// File: /workspace/github_c_makefile_star2_O3/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 0x28295
movl %eax, %r12d
movq (%r15), %rdi
leaq -0x50(%rbp), %r15
movq %r14, %rsi
movq %r15, %rdx
callq 0x3043f
movq (%r15), %rdi
testb %r12b, %r12b
jne 0x30398
testb %al, %al
jne 0x30398
leaq -0x48(%rbp), %r15
leaq -0x40(%rbp), %r12
leaq -0x38(%rbp), %r13
movq %r14, %rsi
movq %r15, %rdx
callq 0x304a8
movq %rax, %r14
movq -0x48(%rbp), %rdi
movq %rax, %rsi
movq %r12, %rdx
callq 0x28295
movl %eax, %ebx
movq -0x40(%rbp), %rdi
movq %r14, %rsi
movq %r13, %rdx
callq 0x3043f
movq -0x38(%rbp), %rdi
testb %bl, %bl
jne 0x30398
testb %al, %al
je 0x3035e
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_O3/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 0x10e5020(%rip), %rdi   # 0x11153e8
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movabsq $0xfffffffffffc, %rdi   # imm = 0xFFFFFFFFFFFC
andq %rax, %rdi
movq %rax, %rcx
shrq $0x30, %rcx
cmpl $0xb, %ecx
jne 0x30411
movq 0x8(%rdi), %r15
decl (%rdi)
jne 0x303fb
callq 0x5030
leaq 0xe19b6(%rip), %rsi     # 0x111db8
movq %r15, %rdi
callq 0x9353
movl $0x1, %eax
jmp 0x30431
testq %rdi, %rdi
je 0x3042d
decl (%rdi)
jne 0x3042d
andq $-0x4, %rax
leaq 0xe1ab4(%rip), %rsi     # 0x111ed9
movq %rax, %rdi
callq 0xd13d
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_O3/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 0x10e4f91(%rip), %rdi   # 0x11153e8
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movq %rax, %r15
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
leaq 0x4(%rax), %r12
cmpq %r12, %r15
jb 0x30496
andq %r15, %rax
je 0x30496
decl (%rax)
jne 0x30496
movq %r15, %rdi
andq $-0x4, %rdi
leaq 0xe1a48(%rip), %rsi     # 0x111ed9
callq 0xd13d
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_O3/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 0xe15eb(%rip), %rsi     # 0x111db8
movq %rax, %rdi
callq 0x9353
movq 0x48(%r14), %rdi
movq %rdi, %rax
andq %r12, %rax
sete %cl
testb $0x3, %dil
setne %sil
orb %cl, %sil
jne 0x307f1
incl (%rax)
movl $0x1, %esi
callq 0x3094a
movq %rax, %r15
movq 0x48(%r14), %rdi
andq %rdi, %r12
sete %al
testb $0x3, %dil
setne %cl
orb %al, %cl
jne 0x30825
decl (%r12)
jne 0x30825
leaq 0xe1041(%rip), %rsi     # 0x111861
callq 0xd13d
movq %r15, 0x48(%r14)
movq %r14, (%rbx)
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x10e4b9f(%rip), %rdi   # 0x11153e8
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movabsq $0xfffffffffffc, %rsi   # imm = 0xFFFFFFFFFFFC
andq %rax, %rsi
movq %rax, %rdi
shrq $0x30, %rdi
callq 0x30a3b
movq %r14, (%rbx)
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x308b3
movq %r9, %r12
movq %r8, %r15
movq %rcx, %rdi
callq 0xd745
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 0x3091a
movq 0x10e4d12(%rip), %rdx   # 0x11155d0
testq %rdx, %rdx
jne 0x308f1
movl $0x13, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x13, 0x10(%rax)
movups 0xb3eae(%rip), %xmm0    # 0xe478d
movups %xmm0, 0x18(%rax)
movl $0x6e6f6974, 0x27(%rax) # imm = 0x6E6F6974
movq %rax, 0x10e4cdf(%rip)   # 0x11155d0
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0x3090f
incl (%rax)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x27183
movl $0x20, %edi
callq 0xf5e4
movq $0x20, 0x10(%rax)
movups 0xafd9a(%rip), %xmm0    # 0xe06cd
movups %xmm0, 0x18(%rax)
movups 0xafd9f(%rip), %xmm0    # 0xe06dd
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x9302
// File: /workspace/github_c_makefile_star2_O3/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 %r12
pushq %rbx
movq %rdx, %r14
movl %esi, %r15d
movq %rdi, %rbx
movl (%rdi), %r12d
cmpl $0x2, %r12d
jb 0x309c9
movl $0x1, %edi
movl $0x28, %esi
callq 0x50c0
testq %rax, %rax
je 0x30a16
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 0x309be
incl (%rcx)
movl (%rbx), %r12d
decl %r12d
movl %r12d, (%rbx)
movq %rax, %rbx
jmp 0x30a0a
movq 0x10(%rbx), %rcx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %dl
testb $0x3, %cl
setne %cl
orb %dl, %cl
jne 0x30a02
decl (%rax)
jne 0x30a02
leaq 0xe08cf(%rip), %rsi     # 0x1112c1
movl 0x8(%rbx), %edi
shlq $0x30, %rdi
orq 0x10(%rbx), %rdi
callq 0xd13d
movl %r15d, 0x8(%rbx)
movq %r14, 0x10(%rbx)
movq %rbx, %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0xb3d3b(%rip), %rsi     # 0xe4758
movl $0x34, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52b6
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O3/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 0x30a6c
movq 0x8(%rsi), %rbx
decl (%rsi)
jne 0x30a56
movq %rsi, %rdi
callq 0x5030
leaq 0xe0c9b(%rip), %rsi     # 0x1116f8
movq %rbx, %rdi
callq 0x9353
movl $0x1, %eax
jmp 0x30aa2
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rsi, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0x30a9e
decl (%rax)
jne 0x30a9e
shlq $0x30, %rdi
orq %rsi, %rdi
leaq 0xe1440(%rip), %rsi     # 0x111ed9
callq 0xd13d
xorl %eax, %eax
xorl %edx, %edx
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x10e3e7f(%rip), %rdi   # 0x11153e8
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movabsq $0xfffffffffffc, %rdi   # imm = 0xFFFFFFFFFFFC
andq %rax, %rdi
movq %rax, %rcx
shrq $0x30, %rcx
cmpl $0x6, %ecx
jne 0x315b2
movq 0x8(%rdi), %r15
decl (%rdi)
jne 0x3159c
callq 0x5030
leaq 0xe0815(%rip), %rsi     # 0x111db8
movq %r15, %rdi
callq 0x9353
movl $0x1, %eax
jmp 0x315d2
testq %rdi, %rdi
je 0x315ce
decl (%rdi)
jne 0x315ce
andq $-0x4, %rax
leaq 0xe0913(%rip), %rsi     # 0x111ed9
movq %rax, %rdi
callq 0xd13d
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_O3/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, %r12   # imm = 0xFFFFFFFFFFFC
callq 0xd6f2
movq %rax, %r14
callq 0xd699
movq %rax, %rbx
leaq -0x38(%rbp), %rdx
movq %r14, %rdi
movq %rax, %rsi
callq 0x31859
movq %rax, %r14
leaq 0xdffbe(%rip), %r15     # 0x111741
movq %rax, %r13
andq %r12, %r13
sete %al
testb $0x3, %r14b
setne %cl
orb %al, %cl
jne 0x317c2
incl (%r13)
movq -0x38(%rbp), %rdi
leaq -0x30(%rbp), %rdx
movq %r14, %rsi
callq 0x31fd5
testb %al, %al
je 0x317d6
decl (%r13)
jne 0x317ff
movq %r14, %rdi
movq %r15, %rsi
callq 0xd13d
jmp 0x317ff
movq -0x38(%rbp), %rdi
leaq -0x30(%rbp), %rdx
movq %r14, %rsi
callq 0x31fd5
testb %al, %al
jne 0x317ff
movq -0x30(%rbp), %rdi
leaq 0xe010f(%rip), %rsi     # 0x1118f0
callq 0x8e6d
movq %r14, %rdi
movq %r15, %rsi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd34b
movq 0x10e3e1a(%rip), %rdx   # 0x1115620
testq %rdx, %rdx
jne 0x31839
movl $0x14, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x14, 0x10(%rax)
movups 0xb3050(%rip), %xmm0    # 0xe4877
movups %xmm0, 0x18(%rax)
movl $0x64656e69, 0x28(%rax) # imm = 0x64656E69
movq %rax, 0x10e3de7(%rip)   # 0x1115620
andq %rdx, %r12
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x3184d
incl (%r12)
movq -0x30(%rbp), %rdi
movq %rbx, %rsi
callq 0x27183
// File: /workspace/github_c_makefile_star2_O3/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 0x194d7
movl %eax, %r14d
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0x32025
decl (%rax)
jne 0x32025
movq %r14, %rdi
shlq $0x30, %rdi
orq %rdx, %rdi
leaq 0xdf2a1(%rip), %rsi     # 0x1112c1
callq 0xd13d
leaq 0x1(,%r14,2), %rdi
movl $0x1, %esi
callq 0xe83a
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_O3/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 0x27aea
movq %rax, %r14
movq (%rbx), %rdi
leaq -0x30(%rbp), %rdx
movq %rax, %rsi
callq 0x27ba2
testb %al, %al
je 0x32114
movq %r15, -0x38(%rbp)
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0xd01b
movl %eax, %r15d
movq %rdx, %r12
movq -0x30(%rbp), %rdi
leaq -0x60(%rbp), %rbx
movq %r14, %rsi
movq %rbx, %rdx
callq 0x27c30
movq (%rbx), %r13
testb %al, %al
jne 0x3211e
cmpq %r14, 0x10e333a(%rip)   # 0x11153f8
leaq 0x1(%r14), %rbx
movl $0x0, %eax
cmovbeq %rax, %rbx
movq %r13, %rdi
movq %rbx, %rsi
leaq -0x48(%rbp), %rdx
callq 0x27ce4
movq %rax, %r14
movq %rbx, %rdi
leaq 0xdfcd1(%rip), %rsi     # 0x111db8
movl %r15d, %edx
movq %r12, %rcx
leaq -0x58(%rbp), %r8
callq 0x949e
movq -0x48(%rbp), %rdi
movq %r14, %rsi
leaq -0x40(%rbp), %rdx
callq 0x27c30
movl -0x58(%rbp), %r15d
movq -0x50(%rbp), %r12
movq -0x40(%rbp), %r13
jmp 0x320b3
xorl %eax, %eax
movq -0x30(%rbp), %r13
xorl %edx, %edx
jmp 0x32131
xorl %edi, %edi
xorl %esi, %esi
movl %r15d, %edx
movq %r12, %rcx
callq 0xd01b
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_O3/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 0x323cd
movq %rcx, %r14
movq %rdx, %rdi
callq 0xd745
movq %rbx, (%r14)
popq %rbx
popq %r14
popq %rbp
retq
testl %esi, %esi
jne 0x323d9
movq %rbx, %rdi
callq 0x1ba80
movl $0x20, %edi
callq 0xf5e4
movq $0x20, 0x10(%rax)
movups 0xae2db(%rip), %xmm0    # 0xe06cd
movups %xmm0, 0x18(%rax)
movups 0xae2e0(%rip), %xmm0    # 0xe06dd
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x9302
// File: /workspace/github_c_makefile_star2_O3/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 0x32435
incl (%rax)
movq %rbx, %rdi
movq $-0x1, %rsi
callq 0xe83a
testl %eax, %eax
sete %r15b
movq %r14, %rdi
movq %rbx, %rsi
callq 0xe83a
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_O3/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 0x3249c
movl $0x1, (%rax)
movl %r14d, 0x8(%rax)
movq %rbx, 0x10(%rax)
popq %rbx
popq %r14
popq %rbp
retq
leaq 0xb255e(%rip), %rsi     # 0xe4a01
movl $0x31, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52b6
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O3/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 0x27a19
movl $0x3, %esi
movq %rax, %rdi
callq 0xe83a
testl %eax, %eax
jne 0x32577
movq -0x28(%rbp), %rdi
leaq -0x20(%rbp), %r15
movq %rbx, %rsi
movq %r15, %rdx
callq 0x27aea
xorl %ecx, %ecx
cmpq %rax, 0x10e2e9d(%rip)   # 0x11153f8
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 0x27a19
movl $0x3, %esi
movq %rax, %rdi
callq 0xe83a
testl %eax, %eax
jns 0x325e5
movq 0x10e30f7(%rip), %rdx   # 0x11156a0
testq %rdx, %rdx
jne 0x32623
movl $0x18, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x18, 0x10(%rax)
movabsq $0x656e6f6e20746f67, %rax # imm = 0x656E6F6E20746F67
movq %rax, 0x28(%rdx)
movups 0xb245b(%rip), %xmm0    # 0xe4a33
movups %xmm0, 0x18(%rdx)
movq %rdx, 0x10e30bd(%rip)   # 0x11156a0
jmp 0x32623
movq 0x10e30bc(%rip), %rdx   # 0x11156a8
testq %rdx, %rdx
jne 0x32623
movl $0x1c, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x1c, 0x10(%rax)
movups 0xb243f(%rip), %xmm0    # 0xe4a4c
movups %xmm0, 0x18(%rax)
movups 0xb2440(%rip), %xmm0    # 0xe4a58
movups %xmm0, 0x24(%rax)
movq %rax, 0x10e3085(%rip)   # 0x11156a8
andq %rdx, %r14
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0x32636
incl (%r14)
movq -0x20(%rbp), %rdi
movq %rbx, %rsi
callq 0x27183
// File: /workspace/github_c_makefile_star2_O3/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 $0x18, %rsp
movq %r9, %r12
movq %r8, %r13
movq %rcx, -0x38(%rbp)
movl %edx, %r15d
movq %rsi, %r14
movq %rdi, -0x30(%rbp)
movq 0x10e284c(%rip), %rbx   # 0x1115740
incq %rbx
movq %rbx, 0x10e2842(%rip)   # 0x1115740
leaq 0x10e280b(%rip), %rdi   # 0x1115710
movq %rbx, %rsi
callq 0x13c85
movl 0x18(%rbp), %edi
shlq $0x30, %rdi
orq 0x20(%rbp), %rdi
leaq 0xde3a2(%rip), %rsi     # 0x1112c1
movq %rax, %rdx
callq 0x14766
leaq 0x10e203a(%rip), %rdi   # 0x1114f68
movq %rbx, %rsi
callq 0x13c85
leaq 0xde7bb(%rip), %rsi     # 0x1116f8
movq %r12, %rdi
movq %rax, %rdx
callq 0x14766
leaq 0x10e2741(%rip), %rdi   # 0x1115690
movq %rbx, %rsi
callq 0x13c85
leaq 0xde1b3(%rip), %rsi     # 0x111111
movq 0x10(%rbp), %rdi
movq %rax, %rdx
callq 0x14766
leaq 0x10e1e2f(%rip), %rdi   # 0x1114da0
movq %rbx, %rsi
callq 0x13c85
leaq 0xdee38(%rip), %r12     # 0x111db8
movq %r14, %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0x14766
leaq 0x10e278b(%rip), %rdi   # 0x1115720
movq %rbx, %rsi
callq 0x13c85
movq %r13, %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0x14766
leaq 0x10e277e(%rip), %rdi   # 0x1115730
movq %rbx, %rsi
callq 0x13c85
shlq $0x30, %r15
orq -0x38(%rbp), %r15
movq %r15, %rdi
leaq 0xde2f5(%rip), %rsi     # 0x1112c1
movq %rax, %rdx
callq 0x14766
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
testq %rax, %rax
je 0x33026
movq 0x28(%rbp), %r15
movl $0x1, (%rax)
movq %rbx, 0x8(%rax)
leaq -0x40(%rbp), %r14
movq -0x30(%rbp), %rdi
movl $0x8, %esi
movq %rax, %rdx
movq %r14, %rcx
callq 0x1346e
movq (%r14), %rax
movq %rax, (%r15)
movq %rbx, %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xb1acc(%rip), %rsi     # 0xe4af9
movl $0x31, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52b6
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O3/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 0x33079
movl $0x1, (%rax)
movq %rbx, 0x8(%rax)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
leaq 0xb1aab(%rip), %rsi     # 0xe4b2b
movl $0x31, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52b6
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O3/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 0x330cc
movl $0x1, (%rax)
movq %rbx, 0x8(%rax)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
leaq 0xb1a8a(%rip), %rsi     # 0xe4b5d
movl $0x31, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52b6
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O3/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 0x3330b
movl $0x1, (%rax)
movq %rbx, 0x8(%rax)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
leaq 0xb22e9(%rip), %rsi     # 0xe55fb
movl $0x31, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52b6
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O3/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 0x338a3
movl $0x1, (%rax)
movq %rbx, 0x8(%rax)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
leaq 0xb1e87(%rip), %rsi     # 0xe5731
movl $0x31, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52b6
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O3/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 0x10e1658(%rip), %rdi   # 0x11153e8
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movabsq $0xfffffffffffc, %rdi   # imm = 0xFFFFFFFFFFFC
andq %rax, %rdi
movq %rax, %rcx
shrq $0x30, %rcx
cmpl $0x8, %ecx
jne 0x33dd9
movq 0x8(%rdi), %r15
decl (%rdi)
jne 0x33dc3
callq 0x5030
leaq 0xddfee(%rip), %rsi     # 0x111db8
movq %r15, %rdi
callq 0x9353
movl $0x1, %eax
jmp 0x33df9
testq %rdi, %rdi
je 0x33df5
decl (%rdi)
jne 0x33df5
andq $-0x4, %rax
leaq 0xde0ec(%rip), %rsi     # 0x111ed9
movq %rax, %rdi
callq 0xd13d
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_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_argsza
static struct std_list_Nest_1* mw_mirth_token_Token_argsza (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_list_List_1 v6 = mw_mirth_token_Token_args(in_zaMirth_1, in_Token_2, &v5);
	struct std_maybe_Maybe_1 v7 = mw_std_list_List_1_zgNestzy(v6);
	struct mirth_mirth_zaMirth* branch_zaMirth_8;
	uint64_t branch_Token_9;
	VAL branch_zux1_10;
	switch ((v7).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v11 = mtp_std_maybe_Maybe_1_Some(v7);
			branch_zux1_10 = v11;
			branch_Token_9 = in_Token_2;
			branch_zaMirth_8 = v5;
		} break;
		case std_maybe_Maybe_1_None: {
			STR* v12;
			STRLIT(v12, "expected 1 or more args, got none", 33);
			mw_mirth_mirth_zaMirth_emitzefatalzeerrorzx(v5, in_Token_2, v12);
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_3 = branch_zaMirth_8;
	return V_std_list_Nest_1(branch_zux1_10);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdx, %r14
movq %rsi, %rbx
leaq -0x18(%rbp), %rdx
callq 0x3204c
movl %eax, %edi
movq %rdx, %rsi
callq 0x2cae6
cmpl $0x1, %eax
jne 0x33e48
movq %rdx, %rdi
callq 0xd745
movq -0x18(%rbp), %rcx
movq %rcx, (%r14)
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
retq
testl %eax, %eax
jne 0x33eb8
movq 0x10e18ad(%rip), %rdx   # 0x1115700
testq %rdx, %rdx
jne 0x33e8e
movl $0x21, %edi
callq 0xf5e4
movq %rax, %rdx
movq $0x21, 0x10(%rax)
movups 0xb0c63(%rip), %xmm0    # 0xe4ad7
movups %xmm0, 0x18(%rax)
movups 0xb0c68(%rip), %xmm0    # 0xe4ae7
movups %xmm0, 0x28(%rax)
movb $0x65, 0x38(%rax)
movq %rax, 0x10e1872(%rip)   # 0x1115700
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0x33eac
incl (%rax)
movq -0x18(%rbp), %rdi
movq %rbx, %rsi
callq 0x27183
movl $0x20, %edi
callq 0xf5e4
movq $0x20, 0x10(%rax)
movups 0xac7fc(%rip), %xmm0    # 0xe06cd
movups %xmm0, 0x18(%rax)
movups 0xac801(%rip), %xmm0    # 0xe06dd
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x9302
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_maybe_Maybe_1_unwrap_1_sp3
static VAL mw_std_maybe_Maybe_1_unwrap_1_sp3 (struct std_maybe_Maybe_1 in_Maybe_1) {
	VAL branch_zux1_3;
	switch ((in_Maybe_1).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v4 = mtp_std_maybe_Maybe_1_Some(in_Maybe_1);
			branch_zux1_3 = v4;
		} break;
		case std_maybe_Maybe_1_None: {
			mw_std_prelude_impossiblezx();
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	return branch_zux1_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
cmpl $0x1, %edi
jne 0x33efa
movq %rsi, %rdi
popq %rbp
jmp 0xd745
testl %edi, %edi
jne 0x33f03
callq 0x2f636
movl $0x20, %edi
callq 0xf5e4
movq $0x20, 0x10(%rax)
movups 0xac7b1(%rip), %xmm0    # 0xe06cd
movups %xmm0, 0x18(%rax)
movups 0xac7b6(%rip), %xmm0    # 0xe06dd
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x9302
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_runzetokens
static struct std_list_List_1 mw_mirth_token_Token_runzetokens (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct std_list_List_1 v5 = { .tag=std_list_List_1_Nil };
	struct std_list_List_1 v6;
	mw_std_list_List_1_buildzx(v5, &v6);
	struct mirth_mirth_zaMirth* v7;
	bool v8 = mw_mirth_token_Token_runzeendzy(in_zaMirth_1, in_Token_2, &v7);
	bool v9 = !v8;
	uint64_t v10 = in_Token_2;
	struct mirth_mirth_zaMirth* r11 = v7;
	struct std_list_List_1 r12 = v6;
	bool v13 = v9;
	while (v13) {
		uint64_t v14 = v10;
		struct mirth_mirth_zaMirth* r15 = r11;
		struct std_list_List_1 r16 = r12;
		struct mirth_mirth_zaMirth* v17;
		uint64_t v18 = mw_mirth_token_Token_next(r15, v14, &v17);
		struct std_list_List_1 v19;
		mw_std_list_zaLister_1_pushzx(MK_mirth_token_Token(v14), r16, &v19);
		struct mirth_mirth_zaMirth* v20;
		bool v21 = mw_mirth_token_Token_runzeendzy(v17, v18, &v20);
		bool v22 = !v21;
		v13 = v22;
		r12 = v19;
		r11 = v20;
		v10 = v18;
	}
	struct std_list_List_1 v23 = mw_std_list_zaLister_1_donezx(r12);
	*out_zaMirth_3 = r11;
	return v23;
}

// 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, %r13
movq %rdi, %rbx
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0xd01b
movl %eax, %r14d
movq %rdx, %r15
leaq -0x58(%rbp), %r12
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
callq 0x342b2
movq (%r12), %rbx
testb %al, %al
jne 0x341ba
movq %rbx, %rdi
movq %r13, %rsi
leaq -0x40(%rbp), %rdx
callq 0x28324
movq %rax, %r12
movq %r13, %rdi
leaq 0xddc2e(%rip), %rsi     # 0x111db8
movl %r14d, %edx
movq %r15, %rcx
leaq -0x50(%rbp), %r8
callq 0x949e
movq -0x40(%rbp), %rdi
movq %r12, %rsi
leaq -0x38(%rbp), %rdx
callq 0x342b2
movl -0x50(%rbp), %r14d
movq -0x48(%rbp), %r15
movq -0x38(%rbp), %rbx
movq %r12, %r13
jmp 0x3416a
xorl %edi, %edi
xorl %esi, %esi
movl %r14d, %edx
movq %r15, %rcx
callq 0xd01b
movq -0x30(%rbp), %rcx
movq %rbx, (%rcx)
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_arrowzy
static bool mw_mirth_token_Token_arrowzy (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 mirth_mirth_zaMirth* v7;
	bool v8 = mw_mirth_token_TokenValue_arrowzy(v5, v6, &v7);
	*out_zaMirth_3 = v7;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdx, %rbx
movq %rdi, %r14
movabsq $0xfffffffffffc, %r12   # imm = 0xFFFFFFFFFFFC
leaq 0x10e11e7(%rip), %rdi   # 0x11153e8
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movq %rax, %rdi
shrq $0x30, %rdi
andq %r12, %rax
movq %rax, %rsi
callq 0x30a3b
cmpl $0x1, %eax
jne 0x342a4
movq %rdx, %rdi
callq 0xd745
leaq 0x10e0294(%rip), %rdi   # 0x11144c8
movq %rax, %rsi
callq 0x13c85
movq %rax, %rdi
callq 0x13d82
movq %rax, %rdi
movq %rdx, %rsi
callq 0x9189
movq %rax, %r15
movq 0x10e14af(%rip), %rsi   # 0x1115708
testq %rsi, %rsi
jne 0x34280
movl $0x2, %edi
callq 0xf5e4
movq %rax, %rsi
movq $0x2, 0x10(%rax)
movw $0x3e2d, 0x18(%rax)     # imm = 0x3E2D
movq %rax, 0x10e1488(%rip)   # 0x1115708
andq %rsi, %r12
sete %al
testb $0x3, %sil
setne %cl
orb %al, %cl
jne 0x34295
incl (%r12)
movq %r15, %rdi
callq 0xdf18
testl %eax, %eax
sete %al
jmp 0x342a6
xorl %eax, %eax
movq %r14, (%rbx)
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq