LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_macro_MacroAction_declzy
static struct std_maybe_Maybe_1 mw_mirth_macro_MacroAction_declzy (struct mirth_macro_MacroAction in_MacroAction_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_MacroAction_1).tag) {
		case mirth_macro_MacroAction_Decl: {
			VAL v4 = mtp_mirth_macro_MacroAction_Decl(in_MacroAction_1);
			struct std_maybe_Maybe_1 v5 = mtw_std_maybe_Maybe_1_Some(v4);
			branch_Maybe_3 = v5;
		} break;
		default: {
			decref(MK_mirth_macro_MacroAction(in_MacroAction_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
subq $0xa0, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl -0x20(%rbp), %eax
testl %eax, %eax
jne 0x9ff78
jmp 0x9ff3b
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0xa0490
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0xca10
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa0072
jmp 0x9ff7a
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x77280
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x48(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xa0047
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x77280
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
cmpq $0x0, %rax
je 0xa0047
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x77280
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x70(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xa0047
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x77280
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x80(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xa0045
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x77280
movq %rax, -0x90(%rbp)
movq %rdx, -0x88(%rbp)
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rsi
callq 0x127c0
jmp 0xa0047
jmp 0xa0049
leaq -0xa0(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0xa0(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x98(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_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
subq $0xb0, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl -0x20(%rbp), %eax
subl $0x1b, %eax
jne 0xa0378
jmp 0xa032c
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x799e0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x2f143d(%rip), %rax    # 0x391788
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0xca10
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa047c
jmp 0xa037a
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x50(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xa0451
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
cmpq $0x0, %rax
je 0xa0451
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x78(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xa0451
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xa044f
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
callq 0x127c0
jmp 0xa0451
jmp 0xa0453
leaq -0xa8(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0xa8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xb0, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_macro_MacroAction_Decl
static VAL mtp_mirth_macro_MacroAction_Decl (struct mirth_macro_MacroAction in_MacroAction_1) {
	struct mirth_macro_MacroAction_Decl v3 = *in_MacroAction_1.ptr.Decl;
	if (!--(in_MacroAction_1.ptr.Decl->refs)) {
		free(in_MacroAction_1.ptr.Decl);
	} else {
		incref(v3.m0);
	}
	return v3.m0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x38(%rbp)
movq 0x8(%rax), %rcx
movq %rcx, -0x30(%rbp)
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xa04d5
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0xa0520
jmp 0xa04d7
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xa051c
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x30(%rbp), %rax
cmpq $0x0, %rax
je 0xa051c
movq -0x30(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xa051c
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x30(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xa051e
jmp 0xa0520
movups -0x30(%rbp), %xmm0
movaps %xmm0, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rdx
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_TokenValue_rcurlyzy
static struct std_maybe_Maybe_1 mw_mirth_token_TokenValue_rcurlyzy (struct mirth_token_TokenValue in_TokenValue_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_TokenValue_1).tag) {
		case mirth_token_TokenValue_RCurly: {
			uint64_t v4 = mtp_mirth_token_TokenValue_RCurly(in_TokenValue_1);
			struct std_maybe_Maybe_1 v5 = mtw_std_maybe_Maybe_1_Some(MK_mirth_token_Token(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
subq $0xb0, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl -0x20(%rbp), %eax
subl $0xb, %eax
jne 0xa05a8
jmp 0xa055c
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x7b280
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x2f18cd(%rip), %rax    # 0x391e48
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0xca10
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa06ac
jmp 0xa05aa
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x50(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xa0681
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
cmpq $0x0, %rax
je 0xa0681
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x78(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xa0681
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xa067f
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
callq 0x127c0
jmp 0xa0681
jmp 0xa0683
leaq -0xa8(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0xa8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xb0, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_alias_Alias_Makezx
static uint64_t mw_mirth_alias_Alias_Makezx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_maybe_Maybe_1 in_Maybe_2, uint64_t in_Token_3, uint64_t in_Name_4, INT in_Int_5, struct mirth_mirth_zaMirth* *out_zaMirth_6) {
	struct mirth_mirth_zaMirth* v8;
	uint64_t v9 = mw_mirth_alias_Alias_Alloczx(in_zaMirth_1, &v8);
	void* v10 = field_mut(&mfld_mirth_alias_Alias_doc, v9);
	mut_set(MK_std_maybe_Maybe_1(in_Maybe_2), v10);
	void* v11 = field_mut(&mfld_mirth_alias_Alias_head, v9);
	mut_set(MK_mirth_token_Token(in_Token_3), v11);
	void* v12 = field_mut(&mfld_mirth_alias_Alias_name, v9);
	mut_set(MK_mirth_name_Name(in_Name_4), v12);
	void* v13 = field_mut(&mfld_mirth_alias_Alias_arity, v9);
	mut_set(MKINT(in_Int_5), v13);
	*out_zaMirth_6 = v8;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq 0x10(%rbp), %rax
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %r9, -0x18(%rbp)
movq %rdi, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq -0x20(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0xa7be0
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rsi
leaq 0x12f3b16(%rip), %rdi   # 0x1395788
callq 0x40d30
movq %rax, -0x48(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x133a0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x48(%rbp), %rdx
movq -0x58(%rbp), %rdi
movq -0x50(%rbp), %rsi
callq 0x431a0
movq -0x40(%rbp), %rsi
leaq 0x12f3255(%rip), %rdi   # 0x1394f00
callq 0x40d30
movq %rax, -0x60(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x2f0185(%rip), %rax    # 0x391e48
movq %rax, -0x68(%rbp)
movq -0x60(%rbp), %rdx
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x431a0
movq -0x40(%rbp), %rsi
leaq 0x12f3365(%rip), %rdi   # 0x1395048
callq 0x40d30
movq %rax, -0x78(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x2efa8a(%rip), %rax    # 0x391788
movq %rax, -0x80(%rbp)
movq -0x78(%rbp), %rdx
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x431a0
movq -0x40(%rbp), %rsi
leaq 0x12f3a77(%rip), %rdi   # 0x1395798
callq 0x40d30
movq %rax, -0x90(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq 0x2ef6e9(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x98(%rbp)
movq -0x90(%rbp), %rdx
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rsi
callq 0x431a0
movq -0x38(%rbp), %rcx
movq 0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_alias_Alias_registerzx
static void mw_mirth_alias_Alias_registerzx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Alias_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_def_Def v4 = mtw_mirth_def_Def_Alias(in_Alias_2);
	struct mirth_mirth_zaMirth* v5;
	mw_mirth_def_Def_register(in_zaMirth_1, v4, &v5);
	*out_zaMirth_3 = v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0xa7c50
movl %eax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movl -0x28(%rbp), %esi
movq -0x20(%rbp), %rdx
leaq -0x30(%rbp), %rcx
callq 0x3f300
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_mirth_PropLabel_AliasQName
static struct mirth_mirth_PropLabel mtw_mirth_mirth_PropLabel_AliasQName (uint64_t in_Alias_1) {
	struct mirth_mirth_PropLabel_AliasQName* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mAlias = in_Alias_1;
	struct mirth_mirth_PropLabel v4 = { .tag=mirth_mirth_PropLabel_AliasQName, .ptr.AliasQName=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0xa1e20
movl $0x2, %edi
leaq 0x2b6557(%rip), %rsi    # 0x358359
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0xa1e22
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0xe, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_mirth_PropLabel_AliasTarget
static struct mirth_mirth_PropLabel mtw_mirth_mirth_PropLabel_AliasTarget (uint64_t in_Alias_1) {
	struct mirth_mirth_PropLabel_AliasTarget* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mAlias = in_Alias_1;
	struct mirth_mirth_PropLabel v4 = { .tag=mirth_mirth_PropLabel_AliasTarget, .ptr.AliasTarget=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0xa1eb0
movl $0x2, %edi
leaq 0x2b64f9(%rip), %rsi    # 0x35838b
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0xa1eb2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0xf, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_TokenValue_lparenzy
static struct std_maybe_Maybe_1 mw_mirth_token_TokenValue_lparenzy (struct mirth_token_TokenValue in_TokenValue_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_TokenValue_1).tag) {
		case mirth_token_TokenValue_LParen: {
			uint64_t v4 = mtp_mirth_token_TokenValue_LParen(in_TokenValue_1);
			struct std_maybe_Maybe_1 v5 = mtw_std_maybe_Maybe_1_Some(MK_mirth_token_Token(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
subq $0xb0, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl -0x20(%rbp), %eax
subl $0x6, %eax
jne 0xa43c8
jmp 0xa437c
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x7ab30
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x2edaad(%rip), %rax    # 0x391e48
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0xca10
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa44cc
jmp 0xa43ca
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x50(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xa44a1
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
cmpq $0x0, %rax
je 0xa44a1
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x78(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xa44a1
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xa449f
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
callq 0x127c0
jmp 0xa44a1
jmp 0xa44a3
leaq -0xa8(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0xa8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xb0, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/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
subq $0x60, %rsp
callq 0x13920
movq %rax, -0x18(%rbp)
movq %rdx, -0x10(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
callq 0x138a0
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0xa4580
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x2ed44a(%rip), %rax    # 0x391980
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x5b40
movq -0x40(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x2ed27a(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x12cc0
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: 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
subq $0xb0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x20(%rbp), %rdx
callq 0x57b20
movl %eax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movl -0x30(%rbp), %eax
movq %rax, -0x38(%rbp)
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x133a0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xa59fd
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x133a0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0xa59fd
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x133a0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xa59fd
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x133a0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x78(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xa59fb
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x133a0
movq %rax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x127c0
jmp 0xa59fd
jmp 0xa59ff
movq 0x2c904a(%rip), %rax    # 0x36ea50
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1a290
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rsi
callq 0x194b0
andb $0x1, %al
movb %al, -0xa1(%rbp)
movb -0xa1(%rbp), %al
xorb $-0x1, %al
andb $0x1, %al
movb %al, -0xa2(%rbp)
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movb -0xa2(%rbp), %al
andb $0x1, %al
addq $0xb0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_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
subq $0x50, %rsp
movl %esi, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x4c(%rbp)
testl %eax, %eax
je 0xa7b9b
jmp 0xa7b63
movl -0x4c(%rbp), %eax
subl $0x1, %eax
jne 0xa7ba6
jmp 0xa7b6d
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x174a0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xa7bbf
movq -0x28(%rbp), %rdi
callq 0x62120
jmp 0xa7bbf
leaq 0x2ac2d4(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x38(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rdx
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_alias_Alias_Alloczx
static uint64_t mw_mirth_alias_Alias_Alloczx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_mirth_zaMirth* *out_zaMirth_2) {
	void* v4 = mbuf_mirth_alias_Alias_NumBuffer;
	uint64_t v5 = *(uint64_t*)v4;
	uint64_t v6 = 1ULL;
	uint64_t v7 = (v5 + v6);
	void* v8 = mbuf_mirth_alias_Alias_NumBuffer;
	*(uint64_t*)v8 = v7;
	uint64_t v9 = v7;
	*out_zaMirth_2 = in_zaMirth_1;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0x12edbb5(%rip), %rax   # 0x13957a8
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq $0x1, -0x28(%rbp)
movq -0x20(%rbp), %rax
addq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x12edb8b(%rip), %rax   # 0x13957a8
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_def_Def_Alias
static struct mirth_def_Def mtw_mirth_def_Def_Alias (uint64_t in_Alias_1) {
	struct mirth_def_Def_Alias* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mAlias = in_Alias_1;
	struct mirth_def_Def v4 = { .tag=mirth_def_Def_Alias, .ptr.Alias=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0xa7ca0
movl $0x2, %edi
leaq 0x2b06a5(%rip), %rsi    # 0x358327
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0xa7ca2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x0, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_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
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x2e9329(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xa8191
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x2e9304(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x30(%rbp), %rax
cmpq $0x0, %rax
je 0xa8191
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x2e92d9(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movq -0x40(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xa8191
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x2e92b4(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xa8193
movq 0x2c68d6(%rip), %rax    # 0x36ea70
movq %rax, -0x58(%rbp)
movq -0x10(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x194b0
andb $0x1, %al
movb %al, -0x59(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x194b0
andb $0x1, %al
movb %al, -0x5a(%rbp)
movb $0x1, %al
testb $0x1, -0x5a(%rbp)
movb %al, -0x5c(%rbp)
jne 0xa81d3
movb -0x59(%rbp), %al
movb %al, -0x5c(%rbp)
movb -0x5c(%rbp), %al
andb $0x1, %al
movb %al, -0x5b(%rbp)
movb -0x5b(%rbp), %al
andb $0x1, %al
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_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
subq $0x30, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x1, %edi
movl $0x18, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0xa8243
movl $0x2, %edi
leaq 0x2b0209(%rip), %rsi    # 0x35842e
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0xa8245
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
movq -0x28(%rbp), %rax
movups -0x20(%rbp), %xmm0
movups %xmm0, 0x8(%rax)
movl $0x1, -0x10(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_prim_Prim_arity
static INT mw_mirth_prim_Prim_arity (enum mirth_prim_Prim in_Prim_1) {
	INT v3;
	STR* v4 = mw_mirth_prim_Prim_strzearity(in_Prim_1, &v3);
	decref(MKSTR(v4));
	return v3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl %edi, -0xc(%rbp)
movl -0xc(%rbp), %edi
leaq -0x8(%rbp), %rsi
callq 0x48820
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x2e8eae(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xa836b
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x2e8e85(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0xa836b
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x2e8e5a(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xa836b
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x2e8e35(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xa8369
movq -0x18(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x2e8e04(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0xa836b
jmp 0xa836d
movq -0x8(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_Data_arity
static INT mw_mirth_data_Data_arity (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Data_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_data_Data_arity, in_Data_2);
	VAL v6 = mut_get(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return value_int(v6);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rsi
leaq 0x12ecfe9(%rip), %rdi   # 0x1395388
callq 0x40d30
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x40f30
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x10(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x2ac40
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_word_Word_arity
static INT mw_mirth_word_Word_arity (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Word_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_word_Word_arity, in_Word_2);
	VAL v6 = mut_get(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return value_nat(v6);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rsi
leaq 0x12ed371(%rip), %rdi   # 0x13957d0
callq 0x40d30
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x40f30
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x10(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0xa84a0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_elab_elabzeinlinezx
static uint64_t mw_mirth_elab_elabzeinlinezx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	bool v7 = true;
	bool v8 = in_zaMirth_1->mpreferzeinlinezedefs;
	in_zaMirth_1->mpreferzeinlinezedefs = v7;
	struct mirth_mirth_zaMirth* v9;
	INT v10 = mw_mirth_token_Token_numzeargs(in_zaMirth_1, in_Token_2, &v9);
	INT v11 = WRAP_I63(0LL);
	INT v12 = v10;
	INT v13 = v11;
	bool v14 = int_lt(v13, v12);
	uint64_t branch_Token_15;
	struct mirth_mirth_zaMirth* branch_zaMirth_16;
	if (v14) {
		struct mirth_mirth_zaMirth* v17;
		uint64_t v18 = mw_mirth_token_Token_next(v9, in_Token_2, &v17);
		struct mirth_mirth_zaMirth* v19;
		uint64_t v20 = mw_mirth_token_Token_argsze1(v17, in_Token_2, &v19);
		struct mirth_mirth_zaMirth* v21;
		uint64_t v22 = mw_mirth_elab_elabzedeclszx(v19, v20, &v21);
		branch_zaMirth_16 = v21;
		branch_Token_15 = v18;
	} else {
		struct mirth_mirth_zaMirth* v23;
		uint64_t v24 = mw_mirth_token_Token_succ(v9, in_Token_2, &v23);
		struct mirth_mirth_zaMirth* v25;
		uint64_t v26 = mw_mirth_elab_elabzedeclzeorzedeclzeblockzx(v23, v24, &v25);
		branch_zaMirth_16 = v25;
		branch_Token_15 = v26;
	}
	branch_zaMirth_16->mpreferzeinlinezedefs = v8;
	*out_zaMirth_3 = branch_zaMirth_16;
	return branch_Token_15;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movb $0x1, -0x19(%rbp)
movq -0x8(%rbp), %rax
movb 0x40(%rax), %al
andb $0x1, %al
movb %al, -0x1a(%rbp)
movb -0x19(%rbp), %cl
movq -0x8(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x40(%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x28(%rbp), %rdx
callq 0x78f50
movq %rax, -0x30(%rbp)
movq 0x2c64f0(%rip), %rax    # 0x36ea50
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0xae20
andb $0x1, %al
movb %al, -0x49(%rbp)
testb $0x1, -0x49(%rbp)
je 0xa85e6
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x68(%rbp), %rdx
callq 0x7b380
movq %rax, -0x70(%rbp)
movq -0x68(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0xa8660
movq %rax, -0x80(%rbp)
movq -0x78(%rbp), %rdi
movq -0x80(%rbp), %rsi
leaq -0x88(%rbp), %rdx
callq 0x9ebd0
movq %rax, -0x90(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x58(%rbp)
jmp 0xa8638
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x98(%rbp), %rdx
callq 0x78490
movq %rax, -0xa0(%rbp)
movq -0x98(%rbp), %rdi
movq -0xa0(%rbp), %rsi
leaq -0xa8(%rbp), %rdx
callq 0xa89d0
movq %rax, -0xb0(%rbp)
movq -0xa8(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0xb0(%rbp), %rax
movq %rax, -0x58(%rbp)
movb -0x1a(%rbp), %cl
movq -0x60(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x40(%rax)
movq -0x60(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x58(%rbp), %rax
addq $0xb0, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_elab_SyntaxDef_SyntaxDef
static void mtp_mirth_elab_SyntaxDef_SyntaxDef (struct mirth_elab_SyntaxDef* in_SyntaxDef_1, struct std_maybe_Maybe_1 *out_Maybe_2, uint64_t *out_Token_3, struct std_maybe_Maybe_1 *out_Maybe_4, uint64_t *out_Token_5) {
	struct mirth_elab_SyntaxDef v6 = *in_SyntaxDef_1;
	if (!--(in_SyntaxDef_1->refs)) {
		free(in_SyntaxDef_1);
	} else {
		incref(MK_std_maybe_Maybe_1(v6.mdoc));
		incref(MK_std_maybe_Maybe_1(v6.msigzy));
	}
	*out_Token_5 = v6.mbody;
	*out_Maybe_4 = v6.msigzy;
	*out_Token_3 = v6.mhead;
	*out_Maybe_2 = v6.mdoc;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rsi
leaq -0x60(%rbp), %rdi
movl $0x38, %edx
callq 0x50e0
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xaa6ef
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0xaa861
jmp 0xaa6f1
movl -0x58(%rbp), %edi
movq -0x50(%rbp), %rsi
callq 0x133a0
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x68(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xaa79c
movl -0x58(%rbp), %edi
movq -0x50(%rbp), %rsi
callq 0x133a0
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x80(%rbp), %rax
cmpq $0x0, %rax
je 0xaa79c
movl -0x58(%rbp), %edi
movq -0x50(%rbp), %rsi
callq 0x133a0
movq %rax, -0x90(%rbp)
movq %rdx, -0x88(%rbp)
movq -0x90(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xaa79c
movl -0x58(%rbp), %edi
movq -0x50(%rbp), %rsi
callq 0x133a0
movq %rax, -0xa0(%rbp)
movq %rdx, -0x98(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xa0(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xaa79e
jmp 0xaa7a0
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x133a0
movq %rax, -0xb0(%rbp)
movq %rdx, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xaa85d
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x133a0
movq %rax, -0xc0(%rbp)
movq %rdx, -0xb8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xc0(%rbp), %rax
cmpq $0x0, %rax
je 0xaa85d
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x133a0
movq %rax, -0xd0(%rbp)
movq %rdx, -0xc8(%rbp)
movq -0xd0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xaa85d
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x133a0
movq %rax, -0xe0(%rbp)
movq %rdx, -0xd8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xe0(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xaa85f
jmp 0xaa861
movq -0x30(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rax
movq -0x40(%rbp), %rcx
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x48(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq -0x58(%rbp), %rcx
movq %rcx, (%rax)
movq -0x50(%rbp), %rcx
movq %rcx, 0x8(%rax)
addq $0xe0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_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
subq $0x90, %rsp
movq %rcx, -0x68(%rbp)
movl %edx, %r10d
movq -0x68(%rbp), %rdx
movq 0x28(%rbp), %rax
leaq 0x18(%rbp), %rax
movq 0x10(%rbp), %rcx
movl %r10d, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rcx, -0x18(%rbp)
movq %rdi, -0x20(%rbp)
movq %rsi, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movq -0x20(%rbp), %rdi
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %r9
movq -0x30(%rbp), %r11
movl (%rax), %esi
movq 0x8(%rax), %rdx
movq -0x18(%rbp), %r8
leaq -0x10(%rbp), %r10
leaq -0x40(%rbp), %rax
movq %r11, (%rsp)
movq (%r10), %r11
movq %r11, 0x8(%rsp)
movq 0x8(%r10), %r10
movq %r10, 0x10(%rsp)
movq %rax, 0x18(%rsp)
callq 0xad090
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
callq 0xad290
movl %eax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x40(%rbp), %rdi
movl -0x58(%rbp), %esi
movq -0x50(%rbp), %rdx
leaq -0x60(%rbp), %rcx
callq 0x3f300
movq -0x60(%rbp), %rcx
movq 0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x48(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/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
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0xaa9c0
movl $0x2, %edi
leaq 0x2adbe8(%rip), %rsi    # 0x35858a
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0xaa9c2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x9, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: 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
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0xaaac0
movl $0x2, %edi
leaq 0x2adb1a(%rip), %rsi    # 0x3585bc
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0xaaac2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0xa, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: 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
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0xaafa0
movl $0x2, %edi
leaq 0x2ae0e4(%rip), %rsi    # 0x359066
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0xaafa2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0xb, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mb_mirth_mirth_PropLabel_prop_1_sp51_0
static void mb_mirth_mirth_PropLabel_prop_1_sp51_0 (void) {
	uint64_t v0 = V_mirth_word_Word(pop_value());
	struct mirth_mirth_zaMirth* r1 = V_mirth_mirth_zaMirth(pop_resource());
	struct mirth_mirth_zaMirth* v2;
	struct std_list_List_1 v3 = mw_mirth_elab_elabzedefzeparamszx(r1, v0, &v2);
	push_resource(MK_mirth_mirth_zaMirth(v2));
	push_value(MK_std_list_List_1(v3));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
callq 0x138a0
movq %rax, -0x18(%rbp)
movq %rdx, -0x10(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
callq 0x13920
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movq -0x8(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0xddf30
movl %eax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x2e6947(%rip), %rax    # 0x391980
movq %rax, -0x50(%rbp)
movq -0x58(%rbp), %rdi
movq -0x50(%rbp), %rsi
callq 0x5b40
movl -0x48(%rbp), %edi
movq -0x40(%rbp), %rsi
callq 0x12780
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x12cc0
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: 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
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0xab0d0
movl $0x2, %edi
leaq 0x2ae0ea(%rip), %rsi    # 0x35919c
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0xab0d2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0xc, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_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
subq $0x40, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x34(%rbp)
testl %eax, %eax
je 0xabfeb
jmp 0xabfbb
movl -0x34(%rbp), %eax
subl $0x1, %eax
jne 0xabff2
jmp 0xabfc5
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x174a0
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xac00b
callq 0x98b50
jmp 0xac00b
leaq 0x2a7e88(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rdx
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_elab_SyntaxDef_SyntaxDef
static struct mirth_elab_SyntaxDef* mtw_mirth_elab_SyntaxDef_SyntaxDef (struct std_maybe_Maybe_1 in_Maybe_1, uint64_t in_Token_2, struct std_maybe_Maybe_1 in_Maybe_3, uint64_t in_Token_4) {
	struct mirth_elab_SyntaxDef* v6 = calloc(1, sizeof *v6);
	ASSERT(v6);
	v6->refs = 1;
	v6->mbody = in_Token_4;
	v6->msigzy = in_Maybe_3;
	v6->mhead = in_Token_2;
	v6->mdoc = in_Maybe_1;
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl %ecx, -0x20(%rbp)
movq %r8, -0x18(%rbp)
movq %rdx, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl $0x1, %edi
movl $0x38, %esi
callq 0x50c0
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0xac832
movl $0x2, %edi
leaq 0x2abd12(%rip), %rsi    # 0x358526
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0xac834
movq -0x38(%rbp), %rax
movl $0x1, (%rax)
movq -0x30(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x30(%rax)
movq -0x38(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, 0x20(%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x28(%rax)
movq -0x28(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x38(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x38(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)