LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Resource_convertzeresourcezx
static void mw_mirth_c99_zaC99Resource_convertzeresourcezx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct mirth_c99_zaC99Resource* in_zaC99Resource_3, struct mirth_c99_C99ReprType in_C99ReprType_4, struct mirth_mirth_zaMirth* *out_zaMirth_5, struct mirth_c99_zaC99Branch* *out_zaC99Branch_6, struct mirth_c99_zaC99Resource* *out_zaC99Resource_7) {
	incref(MK_mirth_c99_C99ReprType(in_C99ReprType_4));
	struct mirth_mirth_zaMirth* v8;
	STR* v9 = mw_mirth_c99_zaC99Resource_consumezeas(in_zaMirth_1, in_C99ReprType_4, in_zaC99Resource_3, &v8);
	struct mirth_c99_zaC99Resource* v10;
	mtw_mirth_c99_zaC99Resource_zaC99Resource(in_C99ReprType_4, v9, &v10);
	*out_zaC99Resource_7 = v10;
	*out_zaC99Branch_6 = in_zaC99Branch_2;
	*out_zaMirth_5 = v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %r9, -0x30(%rbp)
movq %r8, %r15
movl %ecx, %r12d
movq %rdx, %rcx
movq %rsi, %r14
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %r8, %rax
sete %dl
testb $0x3, %r15b
setne %sil
orb %dl, %sil
jne 0xb60f4
incl (%rax)
leaq -0x40(%rbp), %r13
movl %r12d, %esi
movq %r15, %rdx
movq %r13, %r8
callq 0xb6eb3
leaq -0x38(%rbp), %rbx
movl %r12d, %edi
movq %r15, %rsi
movq %rax, %rdx
movq %rbx, %rcx
callq 0xb1525
movq (%rbx), %rax
movq 0x18(%rbp), %rcx
movq %rax, (%rcx)
movq 0x10(%rbp), %rax
movq %r14, (%rax)
movq (%r13), %rax
movq -0x30(%rbp), %rcx
movq %rax, (%rcx)
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Value_consumezeaszeVAL
static STR* mw_mirth_c99_zaC99Value_consumezeaszeVAL (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Value* in_zaC99Value_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_c99_C99ReprType v5;
	STR* v6;
	mtp_mirth_c99_zaC99Value_zaC99Value(in_zaC99Value_2, &v5, &v6);
	struct mirth_mirth_zaMirth* v7;
	STR* v8 = mw_mirth_c99_C99ReprType_mkzemacro(in_zaMirth_1, v6, v5, &v7);
	*out_zaMirth_3 = v7;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdx, -0x30(%rbp)
movq %rdi, %r14
movl (%rsi), %r15d
movq 0x8(%rsi), %r12
movq 0x10(%rsi), %r13
movq %rsi, %rdi
callq 0x5030
leaq -0x38(%rbp), %rbx
movq %r14, %rdi
movq %r13, %rsi
movl %r15d, %edx
movq %r12, %rcx
movq %rbx, %r8
callq 0xa8c22
movq (%rbx), %rcx
movq -0x30(%rbp), %rdx
movq %rcx, (%rdx)
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Resource_consumezeas
static STR* mw_mirth_c99_zaC99Resource_consumezeas (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99ReprType in_C99ReprType_2, struct mirth_c99_zaC99Resource* in_zaC99Resource_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_c99_zaC99Value* v6;
	mw_mirth_c99_zaC99Resource_turnzeintozevaluezx(in_zaC99Resource_3, &v6);
	struct mirth_mirth_zaMirth* v7;
	STR* v8 = mw_mirth_c99_zaC99Value_consumezeas(in_zaMirth_1, in_C99ReprType_2, v6, &v7);
	*out_zaMirth_4 = v7;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %r8, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movl %esi, -0x2c(%rbp)
movq %rdi, %r12
movl (%rcx), %r13d
movq 0x8(%rcx), %rbx
movq 0x10(%rcx), %r14
movq %rcx, %rdi
callq 0x5030
leaq -0x48(%rbp), %r15
movl %r13d, %edi
movq %rbx, %rsi
movq %r14, %rdx
movq %r15, %rcx
callq 0xb13d2
movq (%r15), %rcx
leaq -0x48(%rbp), %rbx
movq %r12, %rdi
movl -0x2c(%rbp), %esi
movq -0x38(%rbp), %rdx
movq %rbx, %r8
callq 0xb6146
movq (%rbx), %rcx
movq -0x40(%rbp), %rdx
movq %rcx, (%rdx)
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99ValuezfResource_consumezeas
static STR* mw_mirth_c99_zaC99ValuezfResource_consumezeas (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99ReprType in_C99ReprType_2, struct std_either_zaEither_2 in_zaC99ValuezfResource_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* branch_zaMirth_6;
	STR* branch_Str_7;
	switch ((in_zaC99ValuezfResource_3).tag) {
		case std_either_zaEither_2_zaLeft: {
			VAL v8;
			mtp_std_either_zaEither_2_zaLeft(in_zaC99ValuezfResource_3, &v8);
			struct mirth_mirth_zaMirth* v9;
			STR* v10 = mw_mirth_c99_zaC99Value_consumezeas(in_zaMirth_1, in_C99ReprType_2, V_mirth_c99_zaC99Value(v8), &v9);
			branch_Str_7 = v10;
			branch_zaMirth_6 = v9;
		} break;
		case std_either_zaEither_2_zaRight: {
			VAL v11;
			mtp_std_either_zaEither_2_zaRight(in_zaC99ValuezfResource_3, &v11);
			struct mirth_mirth_zaMirth* v12;
			STR* v13 = mw_mirth_c99_zaC99Resource_consumezeas(in_zaMirth_1, in_C99ReprType_2, V_mirth_c99_zaC99Resource(v11), &v12);
			branch_Str_7 = v13;
			branch_zaMirth_6 = v12;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_4 = branch_zaMirth_6;
	return branch_Str_7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %r9, %rbx
movq %rdx, %r14
movl %esi, %r15d
movq %rdi, %r12
cmpl $0x1, %ecx
je 0xb7bf5
testl %ecx, %ecx
jne 0xb7c2d
movq (%r8), %r13
movq %r8, %rdi
callq 0x5030
leaq -0x30(%rbp), %r8
movq %r12, %rdi
movl %r15d, %esi
movq %r14, %rdx
movq %r13, %rcx
movq %r8, %r14
callq 0xb6146
jmp 0xb7c18
movq (%r8), %r13
movq %r8, %rdi
callq 0x5030
leaq -0x30(%rbp), %r8
movq %r12, %rdi
movl %r15d, %esi
movq %r14, %rdx
movq %r13, %rcx
movq %r8, %r14
callq 0xb6eb3
movq (%r14), %rcx
movq %rcx, (%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0xf9f7
movq $0x20, 0x10(%rax)
movups 0x2cb07(%rip), %xmm0    # 0xe474d
movups %xmm0, 0x18(%rax)
movups 0x2cb0c(%rip), %xmm0    # 0xe475d
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x95a5
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Branch_endzebranchzx
static void mw_mirth_c99_zaC99Branch_endzebranchzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_c99_zaC99* *out_zaC99_4, bool *out_Bool_5, struct std_list_List_1 *out_List_6) {
	struct mirth_c99_zaC99Stack r7 = in_zaC99Branch_2->mzastack;
	struct mirth_c99_zaC99Stack v8 = { .tag=mirth_c99_zaC99Stack_zaNil };
	in_zaC99Branch_2->mzastack = v8;
	struct mirth_mirth_zaMirth* v9;
	struct mirth_c99_zaC99Branch* v10;
	mw_mirth_c99_zaC99Stack_pushzestackzedirectzx(in_zaMirth_1, in_zaC99Branch_2, r7, &v9, &v10);
	struct mirth_c99_zaC99* v11;
	struct mirth_c99_zaC99Stack v12;
	struct std_list_List_1 v13;
	bool v14;
	mtp_mirth_c99_zaC99Branch_zaC99Branch(v10, &v11, &v12, &v13, &v14);
	mw_mirth_c99_zaC99Stack_rdrop(v12);
	*out_List_6 = v13;
	*out_Bool_5 = v14;
	*out_zaC99_4 = v11;
	*out_zaMirth_3 = v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %r9, %r12
movq %r8, -0x30(%rbp)
movq %rcx, -0x38(%rbp)
movq %rdx, -0x40(%rbp)
movl 0x8(%rsi), %edx
movq 0x10(%rsi), %rcx
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rsi)
leaq -0x48(%rbp), %r8
leaq -0x68(%rbp), %r13
movq %r13, %r9
callq 0xb84a3
movq (%r13), %rdi
movq (%rdi), %r14
movl 0x8(%rdi), %r13d
movq 0x10(%rdi), %rbx
movups 0x18(%rdi), %xmm0
movaps %xmm0, -0x60(%rbp)
movb 0x28(%rdi), %r15b
callq 0x5030
andb $0x1, %r15b
movl %r13d, %edi
movq %rbx, %rsi
callq 0xb890a
movaps -0x60(%rbp), %xmm0
movups %xmm0, (%r12)
movq -0x30(%rbp), %rax
movb %r15b, (%rax)
movq -0x38(%rbp), %rax
movq %r14, (%rax)
leaq -0x48(%rbp), %rax
movq (%rax), %rax
movq -0x40(%rbp), %rcx
movq %rax, (%rcx)
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_C99APIArg_popzeconsumezephysicalzx
static struct std_maybe_Maybe_1 mw_mirth_c99_C99APIArg_popzeconsumezephysicalzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct mirth_c99_C99APIArg* in_C99APIArg_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99Branch* *out_zaC99Branch_5) {
	incref(MK_mirth_c99_C99APIArg(in_C99APIArg_3));
	struct mirth_mirth_zaMirth* v7;
	struct mirth_c99_zaC99Branch* v8;
	STR* v9 = mw_mirth_c99_C99APIArg_popzeconsumezx(in_zaMirth_1, in_zaC99Branch_2, in_C99APIArg_3, &v7, &v8);
	struct mirth_mirth_zaMirth* v10;
	bool v11 = mw_mirth_c99_C99APIArg_iszephysicalzy(v7, in_C99APIArg_3, &v10);
	struct mirth_c99_zaC99Branch* branch_zaC99Branch_12;
	struct mirth_mirth_zaMirth* branch_zaMirth_13;
	struct std_maybe_Maybe_1 branch_Maybe_14;
	if (v11) {
		struct std_maybe_Maybe_1 v15 = mtw_std_maybe_Maybe_1_Some(MKSTR(v9));
		branch_Maybe_14 = v15;
		branch_zaMirth_13 = v10;
		branch_zaC99Branch_12 = v8;
	} else {
		decref(MKSTR(v9));
		struct std_maybe_Maybe_1 v16 = { .tag=std_maybe_Maybe_1_None };
		branch_Maybe_14 = v16;
		branch_zaMirth_13 = v10;
		branch_zaC99Branch_12 = v8;
	}
	*out_zaC99Branch_5 = branch_zaC99Branch_12;
	*out_zaMirth_4 = branch_zaMirth_13;
	return branch_Maybe_14;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %r8, %r14
movq %rcx, -0x30(%rbp)
movq %rdx, %r12
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq %rdx, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r12b
setne %dl
orb %cl, %dl
jne 0xb8417
incl (%rax)
leaq -0x48(%rbp), %r13
leaq -0x40(%rbp), %r8
movq %r12, %rdx
movq %r13, %rcx
callq 0xb8028
movq %rax, %r15
movq (%r13), %rdi
leaq -0x38(%rbp), %rdx
movq %r12, %rsi
callq 0xaf87a
testb %al, %al
je 0xb8457
leaq 0x5cd11(%rip), %rsi     # 0x115159
movq %r15, %rdi
callq 0x95f6
movl $0x1, %eax
jmp 0xb8482
movq %r15, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r15b
setne %dl
orb %cl, %dl
jne 0xb847e
decl (%rax)
jne 0xb847e
leaq 0x5cce3(%rip), %rsi     # 0x115159
movq %r15, %rdi
callq 0xd4e3
xorl %eax, %eax
xorl %edx, %edx
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rsi
movq %rcx, (%r14)
movq -0x30(%rbp), %rcx
movq %rsi, (%rcx)
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Stack_rdrop
static void mw_mirth_c99_zaC99Stack_rdrop (struct mirth_c99_zaC99Stack in_zaC99Stack_1) {
	switch ((in_zaC99Stack_1).tag) {
		case mirth_c99_zaC99Stack_zaNil: {
		} break;
		case mirth_c99_zaC99Stack_zaCons: {
			struct mirth_c99_zaC99Stack v2;
			struct mirth_c99_zaC99Value* v3;
			mtp_mirth_c99_zaC99Stack_zaCons(in_zaC99Stack_1, &v2, &v3);
			mw_mirth_c99_zaC99Value_rdrop(v3);
			mw_mirth_c99_zaC99Stack_rdrop(v2);
		} break;
		case mirth_c99_zaC99Stack_zaWith: {
			struct mirth_c99_zaC99Stack v4;
			struct mirth_c99_zaC99Resource* v5;
			mtp_mirth_c99_zaC99Stack_zaWith(in_zaC99Stack_1, &v4, &v5);
			mw_mirth_c99_zaC99Resource_rdrop(v5);
			mw_mirth_c99_zaC99Stack_rdrop(v4);
		} break;
		case mirth_c99_zaC99Stack_zaConsLabel: {
			struct mirth_c99_zaC99Stack v6;
			struct mirth_c99_zaC99Value* v7;
			uint64_t v8 = mtp_mirth_c99_zaC99Stack_zaConsLabel(in_zaC99Stack_1, &v6, &v7);
			mw_mirth_c99_zaC99Value_rdrop(v7);
			mw_mirth_c99_zaC99Stack_rdrop(v6);
		} break;
		case mirth_c99_zaC99Stack_zaWithLabel: {
			struct mirth_c99_zaC99Stack v9;
			struct mirth_c99_zaC99Resource* v10;
			uint64_t v11 = mtp_mirth_c99_zaC99Stack_zaWithLabel(in_zaC99Stack_1, &v9, &v10);
			mw_mirth_c99_zaC99Resource_rdrop(v10);
			mw_mirth_c99_zaC99Stack_rdrop(v9);
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl %edi, %ebx
leaq 0x2b6f2(%rip), %r15     # 0xe4010
cmpl $0x4, %ebx
ja 0xb8975
movl %ebx, %eax
movslq (%r15,%rax,4), %rax
addq %r15, %rax
jmpq *%rax
movl (%rsi), %ebx
movq 0x8(%rsi), %r12
movq 0x10(%rsi), %r14
movq %rsi, %rdi
callq 0x5030
movq %r14, %rdi
callq 0xb5c57
movq %r12, %rsi
jmp 0xb891e
movl (%rsi), %ebx
movq 0x8(%rsi), %r12
movq 0x10(%rsi), %r14
movq %rsi, %rdi
callq 0x5030
movq %r14, %rdi
callq 0xb5cdf
movq %r12, %rsi
jmp 0xb891e
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0xf9f7
movq $0x20, 0x10(%rax)
movups 0x2bdbf(%rip), %xmm0    # 0xe474d
movups %xmm0, 0x18(%rax)
movups 0x2bdc4(%rip), %xmm0    # 0xe475d
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x95a5
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_C99ReprType_cast
static STR* mw_mirth_c99_C99ReprType_cast (struct mirth_mirth_zaMirth* in_zaMirth_1, STR* in_Str_2, struct mirth_c99_C99ReprType in_C99ReprType_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	STR* v6;
	STRLIT(v6, "", 0);
	STR* v7;
	STRLIT(v7, "((", 2);
	STR* v8;
	mw_std_str_zaStr_pushzestrzx(v7, v6, &v8);
	struct mirth_mirth_zaMirth* v9;
	STR* v10 = mw_mirth_c99_C99ReprType_underlyingzec99zetype(in_zaMirth_1, in_C99ReprType_3, &v9);
	STR* v11;
	mw_std_str_zaStr_pushzestrzx(v10, v8, &v11);
	STR* v12;
	STRLIT(v12, ")(", 2);
	STR* v13;
	mw_std_str_zaStr_pushzestrzx(v12, v11, &v13);
	STR* v14;
	mw_std_str_zaStr_pushzestrzx(in_Str_2, v13, &v14);
	STR* v15;
	STRLIT(v15, "))", 2);
	STR* v16;
	mw_std_str_zaStr_pushzestrzx(v15, v14, &v16);
	*out_zaMirth_4 = v9;
	return v16;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %r8, -0x38(%rbp)
movq %rcx, %r15
movl %edx, %r12d
movq %rsi, -0x30(%rbp)
movq %rdi, %r13
cmpq $0x0, 0x1062d3f(%rip)   # 0x111bf70
jne 0xb9249
xorl %edi, %edi
callq 0xf9f7
movq $0x0, 0x10(%rax)
movq %rax, 0x1062d27(%rip)   # 0x111bf70
movabsq $0xfffffffffffc, %r14   # imm = 0xFFFFFFFFFFFC
movq 0x1062d16(%rip), %rbx   # 0x111bf70
movq %rbx, %rax
andq %r14, %rax
sete %cl
testb $0x3, %bl
setne %dl
orb %cl, %dl
jne 0xb926f
incl (%rax)
cmpq $0x0, 0x1062d01(%rip)   # 0x111bf78
jne 0xb9298
movl $0x2, %edi
callq 0xf9f7
movq $0x2, 0x10(%rax)
movw $0x2828, 0x18(%rax)     # imm = 0x2828
movq %rax, 0x1062ce0(%rip)   # 0x111bf78
movq 0x1062cd9(%rip), %rsi   # 0x111bf78
movq %rsi, %rax
andq %r14, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0xb92b5
incl (%rax)
movq %rbx, %rdi
callq 0xe43c
movq %rax, %rbx
leaq -0x40(%rbp), %rcx
movq %r13, %rdi
movl %r12d, %esi
movq %r15, %rdx
callq 0xa85ed
movq %rbx, %rdi
movq %rax, %rsi
callq 0xe43c
movq %rax, %rbx
cmpq $0x0, 0x1062c98(%rip)   # 0x111bf80
jne 0xb9309
movl $0x2, %edi
callq 0xf9f7
movq $0x2, 0x10(%rax)
movw $0x2829, 0x18(%rax)     # imm = 0x2829
movq %rax, 0x1062c77(%rip)   # 0x111bf80
movq 0x1062c70(%rip), %rsi   # 0x111bf80
movq %rsi, %rax
andq %r14, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0xb9326
incl (%rax)
movq %rbx, %rdi
callq 0xe43c
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0xe43c
movq %rax, %rbx
cmpq $0x0, 0x1062c43(%rip)   # 0x111bf88
jne 0xb9366
movl $0x2, %edi
callq 0xf9f7
movq $0x2, 0x10(%rax)
movw $0x2929, 0x18(%rax)     # imm = 0x2929
movq %rax, 0x1062c22(%rip)   # 0x111bf88
movq 0x1062c1b(%rip), %rsi   # 0x111bf88
andq %rsi, %r14
sete %al
testb $0x3, %sil
setne %cl
orb %al, %cl
jne 0xb9381
incl (%r14)
movq %rbx, %rdi
callq 0xe43c
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rdx
movq %rcx, (%rdx)
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99ValuezfResource_consumezeaszedata
static STR* mw_mirth_c99_zaC99ValuezfResource_consumezeaszedata (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Data_2, struct std_either_zaEither_2 in_zaC99ValuezfResource_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* branch_zaMirth_6;
	STR* branch_Str_7;
	switch ((in_zaC99ValuezfResource_3).tag) {
		case std_either_zaEither_2_zaLeft: {
			VAL v8;
			mtp_std_either_zaEither_2_zaLeft(in_zaC99ValuezfResource_3, &v8);
			struct mirth_mirth_zaMirth* v9;
			STR* v10 = mw_mirth_c99_zaC99Value_consumezeaszedata(in_zaMirth_1, V_mirth_c99_zaC99Value(v8), in_Data_2, &v9);
			branch_Str_7 = v10;
			branch_zaMirth_6 = v9;
		} break;
		case std_either_zaEither_2_zaRight: {
			VAL v11;
			mtp_std_either_zaEither_2_zaRight(in_zaC99ValuezfResource_3, &v11);
			struct mirth_mirth_zaMirth* v12;
			STR* v13 = mw_mirth_c99_zaC99Resource_consumezeaszedata(in_zaMirth_1, V_mirth_c99_zaC99Resource(v11), in_Data_2, &v12);
			branch_Str_7 = v13;
			branch_zaMirth_6 = v12;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_4 = branch_zaMirth_6;
	return branch_Str_7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %r8, %rbx
movq %rsi, %r15
movq %rdi, %r14
cmpl $0x1, %edx
je 0xb9648
testl %edx, %edx
jne 0xb9688
movq (%rcx), %r12
movq %rcx, %rdi
callq 0x5030
movq %r15, %rdi
callq 0x9ef13
leaq -0x28(%rbp), %r15
movq %r14, %rdi
movl $0x15, %esi
movq %rax, %rdx
movq %r12, %rcx
movq %r15, %r8
callq 0xb6146
jmp 0xb9675
movq (%rcx), %r12
movq %rcx, %rdi
callq 0x5030
movq %r15, %rdi
callq 0x9ef13
leaq -0x28(%rbp), %r15
movq %r14, %rdi
movl $0x15, %esi
movq %rax, %rdx
movq %r12, %rcx
movq %r15, %r8
callq 0xb6eb3
movq (%r15), %rcx
movq %rcx, (%rbx)
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0xf9f7
movq $0x20, 0x10(%rax)
movups 0x2b0ac(%rip), %xmm0    # 0xe474d
movups %xmm0, 0x18(%rax)
movups 0x2b0b1(%rip), %xmm0    # 0xe475d
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x95a5
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_prim_Str_Str_1_sp46
static STR* mw_std_prim_Str_Str_1_sp46 (struct mirth_c99_C99DataStructField* in_C99DataStructField_1, STR* in_Str_2, STR* *out_Str_3, struct mirth_c99_C99DataStructField* *out_C99DataStructField_4) {
	STR* v6;
	STRLIT(v6, "", 0);
	incref(MKSTR(in_Str_2));
	STR* v7;
	mw_std_str_zaStr_pushzestrzx(in_Str_2, v6, &v7);
	STR* v8;
	STRLIT(v8, ".", 1);
	STR* v9;
	mw_std_str_zaStr_pushzestrzx(v8, v7, &v9);
	incref(MK_mirth_c99_C99DataStructField(in_C99DataStructField_1));
	STR* v10 = in_C99DataStructField_1->mcname;
	incref(MKSTR(v10));
	decref(MK_mirth_c99_C99DataStructField(in_C99DataStructField_1));
	STR* v11;
	mw_std_str_zaStr_pushzestrzx(v10, v9, &v11);
	*out_C99DataStructField_4 = in_C99DataStructField_1;
	*out_Str_3 = in_Str_2;
	return v11;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rcx, -0x30(%rbp)
movq %rdx, -0x38(%rbp)
movq %rsi, %r15
movq %rdi, %r12
cmpq $0x0, 0x10618a9(%rip)   # 0x111bfe0
jne 0xba74f
xorl %edi, %edi
callq 0xf9f7
movq $0x0, 0x10(%rax)
movq %rax, 0x1061891(%rip)   # 0x111bfe0
movabsq $0xfffffffffffc, %r14   # imm = 0xFFFFFFFFFFFC
movq 0x1061880(%rip), %rdi   # 0x111bfe0
movq %rdi, %rax
andq %r14, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0xba776
incl (%rax)
movq %r15, %rax
andq %r14, %rax
sete %cl
testb $0x3, %r15b
setne %dl
orb %cl, %dl
jne 0xba78c
incl (%rax)
movq %r15, %rsi
callq 0xe43c
movq %rax, %rbx
cmpq $0x0, 0x1061849(%rip)   # 0x111bfe8
jne 0xba7be
movl $0x1, %edi
callq 0xf9f7
movq $0x1, 0x10(%rax)
movb $0x2e, 0x18(%rax)
movq %rax, 0x106182a(%rip)   # 0x111bfe8
movq 0x1061823(%rip), %rsi   # 0x111bfe8
movq %rsi, %rax
andq %r14, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0xba7db
incl (%rax)
movq %rbx, %rdi
callq 0xe43c
movq %rax, %r13
movq %r12, %rax
andq %r14, %rax
setne %dl
testb $0x3, %r12b
sete %cl
andb %dl, %cl
cmpb $0x1, %cl
jne 0xba7ff
incl (%rax)
movq 0x28(%r12), %rbx
andq %rbx, %r14
sete %dl
testb $0x3, %bl
setne %sil
orb %dl, %sil
jne 0xba819
incl (%r14)
testb %cl, %cl
je 0xba830
decl (%rax)
jne 0xba830
leaq 0x5c749(%rip), %rsi     # 0x116f71
movq %r12, %rdi
callq 0xd4e3
movq %r13, %rdi
movq %rbx, %rsi
callq 0xe43c
movq -0x30(%rbp), %rcx
movq %r12, (%rcx)
movq -0x38(%rbp), %rcx
movq %r15, (%rcx)
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99_c99zelinezeif_1_sp34
static void mw_mirth_c99_zaC99_c99zelinezeif_1_sp34 (struct mirth_mirth_zaMirth* in_zaMirth_1, bool in_Bool_2, struct mirth_c99_zaC99* in_zaC99_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99* *out_zaC99_5) {
	bool v6 = in_zaC99_3->mputzeenabled;
	bool v7 = (in_Bool_2 && v6);
	in_zaC99_3->mputzeenabled = v7;
	struct mirth_mirth_zaMirth* v8;
	struct mirth_c99_zaC99* v9;
	mw_mirth_c99_zaC99_indent(in_zaMirth_1, in_zaC99_3, &v8, &v9);
	STR* v10;
	STRLIT(v10, "} else {", 8);
	struct mirth_mirth_zaMirth* v11;
	struct mirth_c99_zaC99* v12;
	mw_mirth_c99_zaC99_put(v8, v9, v10, &v11, &v12);
	struct mirth_mirth_zaMirth* v13;
	struct mirth_c99_zaC99* v14;
	mw_mirth_c99_zaC99_line(v11, v12, &v13, &v14);
	v14->mputzeenabled = v6;
	*out_zaC99_5 = v14;
	*out_zaMirth_4 = v13;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %r8, %r14
movq %rcx, -0x30(%rbp)
movl 0x18(%rdx), %r13d
testl %esi, %esi
cmovnel %r13d, %esi
movb %sil, 0x18(%rdx)
leaq -0x40(%rbp), %rax
leaq -0x38(%rbp), %rcx
movq %rdx, %rsi
movq %rax, %rdx
callq 0x95d84
cmpq $0x0, 0x10615c8(%rip)   # 0x111c000
jne 0xbaa61
movl $0x8, %edi
callq 0xf9f7
movq $0x8, 0x10(%rax)
movabsq $0x7b2065736c65207d, %rcx # imm = 0x7B2065736C65207D
movq %rcx, 0x18(%rax)
movq %rax, 0x106159f(%rip)   # 0x111c000
movq 0x1061598(%rip), %rdx   # 0x111c000
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xbaa86
incl (%rax)
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rsi
leaq -0x50(%rbp), %r15
leaq -0x48(%rbp), %r12
movq %r15, %rcx
movq %r12, %r8
callq 0x94972
movq (%r15), %rbx
movq (%r12), %r12
cmpb $0x1, 0x18(%r12)
jne 0xbaace
movq 0x28(%r12), %rsi
leaq -0x58(%rbp), %r15
movl $0xa, %edi
movq %r15, %rdx
callq 0x95160
movq (%r15), %rax
movq %rax, 0x28(%r12)
movb %r13b, 0x18(%r12)
movq %r12, (%r14)
movq -0x30(%rbp), %rax
movq %rbx, (%rax)
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Branch_c99zeline_1_sp24
static void mw_mirth_c99_zaC99Branch_c99zeline_1_sp24 (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_c99_zaC99Branch* *out_zaC99Branch_4) {
	bool v5 = in_zaC99Branch_2->mreachable;
	struct mirth_c99_zaC99* r6 = in_zaC99Branch_2->mzac99;
	struct mirth_mirth_zaMirth* v7;
	struct mirth_c99_zaC99* v8;
	mw_mirth_c99_zaC99_c99zelinezeif_1_sp23(in_zaMirth_1, v5, r6, &v7, &v8);
	in_zaC99Branch_2->mzac99 = v8;
	*out_zaC99Branch_4 = in_zaC99Branch_2;
	*out_zaMirth_3 = v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rcx, -0x30(%rbp)
movq %rdx, %r14
movq %rsi, %r15
movq (%rsi), %rsi
xorl %eax, %eax
cmpb $0x0, 0x28(%r15)
movl 0x18(%rsi), %ebx
cmovnel %ebx, %eax
movb %al, 0x18(%rsi)
leaq -0x40(%rbp), %r12
leaq -0x38(%rbp), %r13
movq %r12, %rdx
movq %r13, %rcx
callq 0x96495
movq (%r13), %rax
movb %bl, 0x18(%rax)
movq (%r12), %rcx
movq %rax, (%r15)
movq -0x30(%rbp), %rax
movq %r15, (%rax)
movq %rcx, (%r14)
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_buffer_Buffer_cname
static STR* mw_mirth_buffer_Buffer_cname (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Buffer_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_buffer_Buffer_cname, in_Buffer_2);
	bool v6 = mut_is_set(v5);
	struct mirth_mirth_zaMirth* branch_zaMirth_7;
	STR* branch_Str_8;
	if (v6) {
		VAL v9 = mut_get(v5);
		branch_Str_8 = value_str(v9);
		branch_zaMirth_7 = in_zaMirth_1;
	} else {
		STR* v10;
		STRLIT(v10, "", 0);
		STR* v11;
		STRLIT(v11, "mbuf_", 5);
		STR* v12;
		mw_std_str_zaStr_pushzestrzx(v11, v10, &v12);
		struct mirth_mirth_zaMirth* v13;
		struct mirth_name_QName* v14 = mw_mirth_buffer_Buffer_qnamezehard(in_zaMirth_1, in_Buffer_2, &v13);
		struct mirth_mirth_zaMirth* v15;
		STR* v16;
		mw_mirth_name_QName_mangledzj(v13, v12, v14, &v15, &v16);
		incref(MKSTR(v16));
		mut_set(MKSTR(v16), v5);
		branch_Str_8 = v16;
		branch_zaMirth_7 = v15;
	}
	*out_zaMirth_3 = branch_zaMirth_7;
	return branch_Str_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdx, %rbx
movq %rsi, %r12
movq %rdi, %r15
leaq 0x10614c3(%rip), %rdi   # 0x111c038
callq 0x13ff0
movq %rax, %r14
movq %rax, %rdi
callq 0x153b0
testb %al, %al
je 0xbaba4
movq %r14, %rdi
callq 0x140f0
movq %rax, %rdi
movq %rdx, %rsi
callq 0x942c
movq %rax, %r12
jmp 0xbacb0
movq %rbx, -0x38(%rbp)
cmpq $0x0, 0x1061498(%rip)   # 0x111c048
jne 0xbabc8
xorl %edi, %edi
callq 0xf9f7
movq $0x0, 0x10(%rax)
movq %rax, 0x1061480(%rip)   # 0x111c048
movabsq $0xfffffffffffc, %rbx   # imm = 0xFFFFFFFFFFFC
movq 0x106146f(%rip), %r13   # 0x111c048
movq %r13, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %r13b
setne %dl
orb %cl, %dl
jne 0xbabef
incl (%rax)
cmpq $0x0, 0x1061459(%rip)   # 0x111c050
jne 0xbac1d
movl $0x5, %edi
callq 0xf9f7
movq $0x5, 0x10(%rax)
movl $0x6675626d, 0x18(%rax) # imm = 0x6675626D
movb $0x5f, 0x1c(%rax)
movq %rax, 0x1061433(%rip)   # 0x111c050
movq 0x106142c(%rip), %rsi   # 0x111c050
movq %rsi, %rax
andq %rbx, %rax
sete %cl
testb $0x3, %sil
setne %dl
orb %cl, %dl
jne 0xbac3a
incl (%rax)
movq %r13, %rdi
callq 0xe43c
movq %rax, %r13
leaq 0x105d8f4(%rip), %rdi   # 0x1118540
movq %r12, %rsi
callq 0x13ff0
leaq -0x30(%rbp), %r12
movq %r15, %rdi
movq %rax, %rsi
movq %r12, %rdx
callq 0x1a972
movq (%r12), %rdi
leaq -0x30(%rbp), %rcx
leaq -0x40(%rbp), %r15
movq %r13, %rsi
movq %rax, %rdx
movq %r15, %r8
callq 0x965f3
movq (%r15), %r12
andq %r12, %rbx
sete %al
testb $0x3, %r12b
setne %cl
orb %al, %cl
jne 0xbac96
incl (%rbx)
movq %r12, %rdi
leaq 0x5a4b9(%rip), %rsi     # 0x115159
movq %r14, %rdx
callq 0x14ab5
movq -0x30(%rbp), %r15
movq -0x38(%rbp), %rbx
movq %r15, (%rbx)
movq %r12, %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_type_StackType_parts
static struct std_list_List_1 mw_mirth_type_StackType_parts (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_type_StackType in_StackType_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct std_list_List_1 v6;
	struct mirth_type_StackTypeBase v7 = mw_mirth_type_StackType_splitzeparts(in_zaMirth_1, in_StackType_2, &v5, &v6);
	decref(MK_mirth_type_StackTypeBase(v7));
	*out_zaMirth_3 = v5;
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x18, %rsp
movq %rcx, %rbx
leaq -0x10(%rbp), %rcx
leaq -0x20(%rbp), %r8
callq 0x363c1
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rcx
sete %sil
testb $0x3, %dl
setne %dil
orb %sil, %dil
jne 0xbd107
decl (%rcx)
jne 0xbd107
shlq $0x30, %rax
orq %rdx, %rax
leaq 0x59212(%rip), %rsi     # 0x116311
movq %rax, %rdi
callq 0xd4e3
movq -0x10(%rbp), %rax
movq %rax, (%rbx)
movl -0x20(%rbp), %eax
movq -0x18(%rbp), %rdx
addq $0x18, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_c99zeblockzesigzeput
static void mw_mirth_c99_c99zeblockzesigzeput (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99* in_zaC99_2, uint64_t in_Block_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99* *out_zaC99_5) {
	STR* v6;
	STRLIT(v6, "static void ", 12);
	struct mirth_mirth_zaMirth* v7;
	struct mirth_c99_zaC99* v8;
	mw_mirth_c99_zaC99_put(in_zaMirth_1, in_zaC99_2, v6, &v7, &v8);
	struct mirth_mirth_zaMirth* v9;
	STR* v10 = mw_mirth_arrow_Block_cname(v7, in_Block_3, &v9);
	struct mirth_mirth_zaMirth* v11;
	struct mirth_c99_zaC99* v12;
	mw_mirth_c99_zaC99_put(v9, v8, v10, &v11, &v12);
	STR* v13;
	STRLIT(v13, " (void)", 7);
	struct mirth_mirth_zaMirth* v14;
	struct mirth_c99_zaC99* v15;
	mw_mirth_c99_zaC99_put(v11, v12, v13, &v14, &v15);
	*out_zaC99_5 = v15;
	*out_zaMirth_4 = v14;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq %r8, -0x38(%rbp)
movq %rcx, -0x40(%rbp)
movq %rdx, -0x30(%rbp)
movq %rsi, %r12
movq %rdi, %r13
cmpq $0x0, 0x105ec70(%rip)   # 0x111c168
jne 0xbd528
movl $0xc, %edi
callq 0xf9f7
movq $0xc, 0x10(%rax)
movabsq $0x7620636974617473, %rcx # imm = 0x7620636974617473
movq %rcx, 0x18(%rax)
movl $0x2064696f, 0x20(%rax) # imm = 0x2064696F
movq %rax, 0x105ec40(%rip)   # 0x111c168
movabsq $0xfffffffffffc, %r15   # imm = 0xFFFFFFFFFFFC
movq 0x105ec2f(%rip), %rdx   # 0x111c168
movq %rdx, %rax
andq %r15, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xbd550
incl (%rax)
leaq -0x78(%rbp), %rbx
leaq -0x70(%rbp), %r14
movq %r13, %rdi
movq %r12, %rsi
movq %rbx, %rcx
movq %r14, %r8
callq 0x94972
movq (%rbx), %rdi
leaq -0x68(%rbp), %rbx
movq -0x30(%rbp), %rsi
movq %rbx, %rdx
callq 0xbd61b
movq (%rbx), %rdi
movq (%r14), %rsi
leaq -0x50(%rbp), %rcx
leaq -0x48(%rbp), %r8
movq %rax, %rdx
callq 0x94972
cmpq $0x0, 0x105ebd6(%rip)   # 0x111c170
jne 0xbd5c3
movl $0x7, %edi
callq 0xf9f7
movq $0x7, 0x10(%rax)
movl $0x6f762820, 0x18(%rax) # imm = 0x6F762820
movl $0x2964696f, 0x1b(%rax) # imm = 0x2964696F
movq %rax, 0x105ebad(%rip)   # 0x111c170
movq 0x105eba6(%rip), %rdx   # 0x111c170
andq %rdx, %r15
sete %al
testb $0x3, %dl
setne %cl
orb %al, %cl
jne 0xbd5dd
incl (%r15)
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
leaq -0x60(%rbp), %rbx
leaq -0x58(%rbp), %r14
movq %rbx, %rcx
movq %r14, %r8
callq 0x94972
movq (%r14), %rax
movq -0x38(%rbp), %rcx
movq %rax, (%rcx)
movq (%rbx), %rax
movq -0x40(%rbp), %rcx
movq %rax, (%rcx)
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99_resetzefreshzecounterzx
static void mw_mirth_c99_zaC99_resetzefreshzecounterzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99* in_zaC99_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_c99_zaC99* *out_zaC99_4) {
	INT v5 = WRAP_I63(0LL);
	INT v6 = in_zaC99_2->mfreshzecounter;
	decref(MKNAT(v6));
	in_zaC99_2->mfreshzecounter = v5;
	*out_zaC99_4 = in_zaC99_2;
	*out_zaMirth_3 = in_zaMirth_1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rcx, %r14
movq %rdx, %rbx
movq %rsi, %r12
movq %rdi, %r15
movq 0x10(%rsi), %rdi
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdi, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0xbdb99
decl (%rax)
jne 0xbdb99
leaq 0x5757d(%rip), %rsi     # 0x115111
callq 0xd4e3
movq $0x1, 0x10(%r12)
movq %r12, (%r14)
movq %r15, (%rbx)
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99_c99zeline_1_sp3
static void mw_mirth_c99_zaC99_c99zeline_1_sp3 (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99* in_zaC99_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_c99_zaC99* *out_zaC99_4) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_c99_zaC99* v6;
	mw_mirth_c99_zaC99_indent(in_zaMirth_1, in_zaC99_2, &v5, &v6);
	STR* v7;
	STRLIT(v7, "WORD_EXIT;", 10);
	struct mirth_mirth_zaMirth* v8;
	struct mirth_c99_zaC99* v9;
	mw_mirth_c99_zaC99_put(v5, v6, v7, &v8, &v9);
	struct mirth_mirth_zaMirth* v10;
	struct mirth_c99_zaC99* v11;
	mw_mirth_c99_zaC99_line(v8, v9, &v10, &v11);
	*out_zaC99_4 = v11;
	*out_zaMirth_3 = v10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rcx, %r14
movq %rdx, %rbx
leaq -0x38(%rbp), %rdx
leaq -0x30(%rbp), %rcx
callq 0x95d84
cmpq $0x0, 0x105f0a8(%rip)   # 0x111d770
jne 0xbe6f7
movl $0xa, %edi
callq 0xf9f7
movq $0xa, 0x10(%rax)
movabsq $0x4958455f44524f57, %rcx # imm = 0x4958455F44524F57
movq %rcx, 0x18(%rax)
movw $0x3b54, 0x20(%rax)     # imm = 0x3B54
movq %rax, 0x105f079(%rip)   # 0x111d770
movq 0x105f072(%rip), %rdx   # 0x111d770
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdx, %rax
sete %cl
testb $0x3, %dl
setne %sil
orb %cl, %sil
jne 0xbe71c
incl (%rax)
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
leaq -0x48(%rbp), %r15
leaq -0x40(%rbp), %r12
movq %r15, %rcx
movq %r12, %r8
callq 0x94972
movq (%r15), %r13
movq (%r12), %r12
cmpb $0x1, 0x18(%r12)
jne 0xbe764
movq 0x28(%r12), %rsi
leaq -0x50(%rbp), %r15
movl $0xa, %edi
movq %r15, %rdx
callq 0x95160
movq (%r15), %rax
movq %rax, 0x28(%r12)
movq %r12, (%r14)
movq %r13, (%rbx)
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_c99zeblockzerunzx
static void mw_mirth_c99_c99zeblockzerunzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, uint64_t in_Block_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99Branch* *out_zaC99Branch_5) {
	struct mirth_mirth_zaMirth* v6;
	struct mirth_arrow_Arrow* v7 = mw_mirth_arrow_Block_arrow(in_zaMirth_1, in_Block_3, &v6);
	struct mirth_mirth_zaMirth* v8;
	struct mirth_c99_zaC99Branch* v9;
	mw_mirth_c99_c99zecodipzearrowzx(v6, in_zaC99Branch_2, v7, &v8, &v9);
	*out_zaC99Branch_5 = v9;
	*out_zaMirth_4 = v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %r8, %r14
movq %rcx, %rbx
movq %rsi, %r15
movq %rdi, %r12
leaq 0x1042b41(%rip), %rdi   # 0x11198b8
movq %rdx, %rsi
callq 0x13ff0
leaq -0x30(%rbp), %r13
movq %r12, %rdi
movq %rax, %rsi
movq %r13, %rdx
callq 0x1a972
movq (%r13), %rdi
leaq -0x30(%rbp), %r12
leaq -0x38(%rbp), %r13
movq %r15, %rsi
movq %rax, %rdx
movq %r12, %rcx
movq %r13, %r8
callq 0xd80af
movq (%r13), %rax
movq %rax, (%r14)
movq (%r12), %rax
movq %rax, (%rbx)
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_c99zeargszepushzx
static void mw_mirth_c99_c99zeargszepushzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct std_list_List_1 in_List_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99Branch* *out_zaC99Branch_5) {
	bool v6 = true;
	struct mirth_mirth_zaMirth* r7 = in_zaMirth_1;
	struct mirth_c99_zaC99Branch* r8 = in_zaC99Branch_2;
	struct std_list_List_1 v9 = in_List_3;
	bool v10 = v6;
	bool v11 = v6;
	while (v11) {
		struct mirth_mirth_zaMirth* r12 = r7;
		struct mirth_c99_zaC99Branch* r13 = r8;
		struct std_list_List_1 v14 = v9;
		bool v15 = v10;
		struct mirth_mirth_zaMirth* branch_zaMirth_16;
		struct mirth_c99_zaC99Branch* branch_zaC99Branch_17;
		struct std_list_List_1 branch_List_18;
		bool branch_Bool_19;
		switch ((v14).tag) {
			case std_list_List_1_Cons: {
				struct std_list_List_1 v20;
				VAL v21 = mtp_std_list_List_1_Cons(v14, &v20);
				struct mirth_mirth_zaMirth* v22;
				struct mirth_c99_zaC99Branch* v23;
				mw_mirth_c99_c99zeargzepushzx(r12, r13, V_mirth_arrow_Block(v21), &v22, &v23);
				bool v24 = true;
				branch_Bool_19 = v24;
				branch_List_18 = v20;
				branch_zaC99Branch_17 = v23;
				branch_zaMirth_16 = v22;
			} break;
			case std_list_List_1_Nil: {
				struct std_list_List_1 v25 = { .tag=std_list_List_1_Nil };
				bool v26 = false;
				branch_Bool_19 = v26;
				branch_List_18 = v25;
				branch_zaC99Branch_17 = r13;
				branch_zaMirth_16 = r12;
			} break;
			default: {
				do_panic(str_make("unexpected fallthrough in match\n", 32));
			}
		}
		v11 = branch_Bool_19;
		v10 = branch_Bool_19;
		v9 = branch_List_18;
		r8 = branch_zaC99Branch_17;
		r7 = branch_zaMirth_16;
	}
	decref(MK_std_list_List_1(v9));
	*out_zaC99Branch_5 = r8;
	*out_zaMirth_4 = r7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %r9, -0x30(%rbp)
movq %r8, -0x38(%rbp)
movq %rsi, %r15
movq %rdi, %r12
leaq -0x58(%rbp), %r13
leaq -0x48(%rbp), %rbx
leaq -0x40(%rbp), %r14
testl %edx, %edx
je 0xd8023
cmpl $0x1, %edx
jne 0xd807f
movq %rcx, %rdi
movq %r13, %rsi
callq 0xd450
movq %r12, %rdi
movq %r15, %rsi
movq %rax, %rdx
movq %rbx, %rcx
movq %r14, %r8
callq 0xd6689
movq -0x40(%rbp), %r15
movq -0x48(%rbp), %r12
movl -0x58(%rbp), %edx
movq -0x50(%rbp), %rcx
movb $0x1, %al
jmp 0xd8027
xorl %eax, %eax
xorl %ecx, %ecx
testb %al, %al
jne 0xd7fe4
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rcx, %rax
sete %sil
testb $0x3, %cl
setne %dil
orb %sil, %dil
jne 0xd8062
decl (%rax)
jne 0xd8062
shlq $0x30, %rdx
orq %rcx, %rdx
leaq 0x3d21f(%rip), %rsi     # 0x115279
movq %rdx, %rdi
callq 0xd4e3
movq -0x30(%rbp), %rax
movq %r15, (%rax)
movq -0x38(%rbp), %rax
movq %r12, (%rax)
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0xf9f7
movq $0x20, 0x10(%rax)
movups 0xc6b5(%rip), %xmm0     # 0xe474d
movups %xmm0, 0x18(%rax)
movups 0xc6ba(%rip), %xmm0     # 0xe475d
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x95a5
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Stack_pushzestackzx
static void mw_mirth_c99_zaC99Stack_pushzestackzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct mirth_c99_zaC99Stack in_zaC99Stack_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99Branch* *out_zaC99Branch_5) {
	struct mirth_c99_zaC99Stack r6 = in_zaC99Branch_2->mzastack;
	struct mirth_mirth_zaMirth* v7;
	struct mirth_c99_zaC99Stack v8;
	mw_mirth_c99_zaC99Stack_reversezecatzx(in_zaMirth_1, r6, in_zaC99Stack_3, &v7, &v8);
	in_zaC99Branch_2->mzastack = v8;
	*out_zaC99Branch_5 = in_zaC99Branch_2;
	*out_zaMirth_4 = v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %r9, -0x58(%rbp)
movq %r8, -0x60(%rbp)
movl %edx, %r13d
movq %rdi, -0x50(%rbp)
movl 0x8(%rsi), %r14d
movq %rsi, -0x48(%rbp)
movq 0x10(%rsi), %r15
cmpl $0x4, %r13d
ja 0xd97a8
movl %r13d, %eax
leaq 0xaded(%rip), %rdx      # 0xe446c
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
jmpq *%rax
xorl %eax, %eax
xorl %ecx, %ecx
jmp 0xd9764
movl (%rcx), %r13d
movq 0x8(%rcx), %rax
movq %rax, -0x40(%rbp)
movq 0x10(%rcx), %rbx
movq 0x18(%rcx), %r12
movq %rcx, %rdi
callq 0x5030
movl %r14d, %edi
movq %r15, %rsi
movq %rbx, %rdx
movq %r12, %rcx
leaq -0x38(%rbp), %r8
callq 0xb15fa
jmp 0xd971a
movl (%rcx), %r13d
movq 0x8(%rcx), %rbx
movq 0x10(%rcx), %r12
movq %rcx, %rdi
callq 0x5030
movl %r14d, %edi
movq %r15, %rsi
movq %r12, %rdx
leaq -0x38(%rbp), %rcx
callq 0xb158c
jmp 0xd9753
movl (%rcx), %r13d
movq 0x8(%rcx), %rax
movq %rax, -0x40(%rbp)
movq 0x10(%rcx), %r12
movq 0x18(%rcx), %rbx
movq %rcx, %rdi
callq 0x5030
movl %r14d, %edi
movq %r15, %rsi
movq %r12, %rdx
movq %rbx, %rcx
leaq -0x38(%rbp), %r8
callq 0xb14a7
movl -0x38(%rbp), %r14d
movl -0x34(%rbp), %r12d
movq -0x30(%rbp), %r15
movb $0x1, %al
movq -0x40(%rbp), %rcx
jmp 0xd9764
movl (%rcx), %r13d
movq 0x8(%rcx), %rbx
movq 0x10(%rcx), %r12
movq %rcx, %rdi
callq 0x5030
movl %r14d, %edi
movq %r15, %rsi
movq %r12, %rdx
leaq -0x38(%rbp), %rcx
callq 0xb1439
movl -0x38(%rbp), %r14d
movl -0x34(%rbp), %r12d
movq -0x30(%rbp), %r15
movb $0x1, %al
movq %rbx, %rcx
testb %al, %al
jne 0xd966b
movl %r13d, %edi
movq %rcx, %rsi
callq 0xb890a
movq -0x48(%rbp), %rcx
movl %r14d, 0x8(%rcx)
movl %r12d, 0xc(%rcx)
movq %r15, 0x10(%rcx)
movq -0x58(%rbp), %rax
movq %rcx, (%rax)
movq -0x60(%rbp), %rax
movq -0x50(%rbp), %rcx
movq %rcx, (%rax)
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0xf9f7
movq $0x20, 0x10(%rax)
movups 0xaf8c(%rip), %xmm0     # 0xe474d
movups %xmm0, 0x18(%rax)
movups 0xaf91(%rip), %xmm0     # 0xe475d
movups %xmm0, 0x28(%rax)
movq %rax, %rdi
callq 0x95a5
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Branch_flushzecachezx
static void mw_mirth_c99_zaC99Branch_flushzecachezx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_c99_zaC99Branch* *out_zaC99Branch_4) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_c99_zaC99* v6;
	bool v7;
	struct std_list_List_1 v8;
	mw_mirth_c99_zaC99Branch_endzebranchzx(in_zaMirth_1, in_zaC99Branch_2, &v5, &v6, &v7, &v8);
	struct mirth_mirth_zaMirth* v9;
	struct mirth_c99_zaC99Branch* v10;
	mw_mirth_c99_zaC99_startzebranchzx(v5, v6, v7, v8, &v9, &v10);
	*out_zaC99Branch_4 = v10;
	*out_zaMirth_3 = v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rcx, %r14
movq %rdx, -0x38(%rbp)
leaq -0x48(%rbp), %r15
leaq -0x40(%rbp), %r12
leaq -0x29(%rbp), %r13
leaq -0x60(%rbp), %rbx
movq %r15, %rdx
movq %r12, %rcx
movq %r13, %r8
movq %rbx, %r9
callq 0xb833b
movq (%r15), %r15
movq (%r12), %rdi
movzbl (%r13), %r9d
movl (%rbx), %ecx
movq 0x8(%rbx), %r8
leaq -0x50(%rbp), %rbx
movq %rbx, (%rsp)
xorl %esi, %esi
xorl %edx, %edx
callq 0xb1133
movq (%rbx), %rax
movq %rax, (%r14)
movq -0x38(%rbp), %rax
movq %r15, (%rax)
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mirth_c99_C99APIArg_set_argzename
static struct mirth_c99_C99APIArg* mirth_c99_C99APIArg_set_argzename(struct mirth_c99_C99APIArg* self, STR* x) {
	if (self->refs > 1) {
		struct mirth_c99_C99APIArg* self2 = calloc(1, sizeof * self2);
		ASSERT(self2); memcpy(self2, self, sizeof * self2);
		incref(MK_mirth_c99_C99APIArgSource(self2->margzesource));
		incref(MK_mirth_c99_C99ReprType(self2->margzerepr));
		self2->margzename = x;
		self->refs--;
		return self2;
	}
	decref(MKSTR(self->margzename));
	self->margzename = x;
	return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rsi, %r14
movq %rdi, %rbx
cmpl $0x2, (%rdi)
jb 0xd9b63
movl $0x1, %edi
movl $0x30, %esi
callq 0x50c0
testq %rax, %rax
je 0xd9b9e
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
movups (%rbx), %xmm0
movups 0x10(%rbx), %xmm1
movups 0x20(%rbx), %xmm2
movups %xmm1, 0x10(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm0, (%rax)
movq 0x10(%rax), %rsi
movq %rsi, %rdx
andq %rcx, %rdx
sete %dil
testb $0x3, %sil
setne %sil
orb %dil, %sil
jne 0xd9b40
incl (%rdx)
movq 0x20(%rax), %rdx
andq %rdx, %rcx
sete %sil
testb $0x3, %dl
setne %dl
orb %sil, %dl
jne 0xd9b58
incl (%rcx)
movq %r14, 0x28(%rax)
decl (%rbx)
movq %rax, %rbx
jmp 0xd9b96
movq 0x28(%rbx), %rdi
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq %rdi, %rax
sete %cl
testb $0x3, %dil
setne %dl
orb %cl, %dl
jne 0xd9b92
decl (%rax)
jne 0xd9b92
leaq 0x3b5cc(%rip), %rsi     # 0x115159
callq 0xd4e3
movq %r14, 0x28(%rbx)
movq %rbx, %rax
popq %rbx
popq %r14
popq %rbp
retq
leaq 0x245fc(%rip), %rsi     # 0xfe1a1
movl $0x34, %edx
movl $0x2, %edi
callq 0x5060
callq 0x52be
movl $0x1, %edi
callq 0x5130
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Branch_popzevaluezefromzestackzetypezx
static struct mirth_type_StackType mw_mirth_c99_zaC99Branch_popzevaluezefromzestackzetypezx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct mirth_type_StackType in_StackType_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99Branch* *out_zaC99Branch_5, struct mirth_c99_zaC99Value* *out_zaC99Value_7) {
	struct mirth_mirth_zaMirth* v8;
	struct std_maybe_Maybe_1 v9 = mw_mirth_type_StackType_forcezeconszyzx(in_zaMirth_1, in_StackType_3, &v8);
	struct mirth_mirth_zaMirth* v10;
	VAL v11 = mw_std_maybe_Maybe_1_unwrap_1_sp5(v8, v9, &v10);
	VAL v12 = ((TUP*)PTRPTR(value_tup(v11)))->cells[0];
	VAL v13 = ((TUP*)PTRPTR(value_tup(v11)))->cells[1];
	tup_decref_outer(value_tup(v11));
	struct mirth_mirth_zaMirth* v14;
	struct mirth_c99_zaC99Branch* v15;
	struct mirth_c99_C99ReprType v16 = mw_mirth_c99_zaC99Branch_typezetozec99zerepr(v10, in_zaC99Branch_2, V_mirth_type_Type(v13), &v14, &v15);
	struct mirth_mirth_zaMirth* v17;
	struct mirth_c99_zaC99Branch* v18;
	struct mirth_c99_zaC99Value* v19;
	mw_mirth_c99_zaC99Branch_popzevaluezx(v14, v15, v16, &v17, &v18, &v19);
	*out_zaC99Value_7 = v19;
	*out_zaC99Branch_5 = v18;
	*out_zaMirth_4 = v17;
	return V_mirth_type_StackType(v12);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %r9, -0x38(%rbp)
movq %r8, -0x40(%rbp)
movq %rsi, -0x30(%rbp)
leaq -0x68(%rbp), %r12
movl %edx, %esi
movq %rcx, %rdx
movq %r12, %rcx
callq 0x3d0f2
movq (%r12), %rdi
leaq -0x48(%rbp), %rcx
movl %eax, %esi
callq 0xdcfe9
movq %rax, %rbx
movq %rdx, %r14
movq %rax, %rdi
movq %rdx, %rsi
callq 0x9363
movabsq $0xfffffffffffc, %r13   # imm = 0xFFFFFFFFFFFC
movq %rbx, %r15
andq %r13, %r15
movq 0x8(%r15), %r12
movq %rbx, %rdi
movq %r14, %rsi
callq 0x9363
movq 0x18(%r15), %r15
movq %rbx, %rdi
movq %r14, %rsi
callq 0x9363
movq %rbx, %rdi
callq 0x93b4
leaq -0x48(%rbp), %rax
movq (%rax), %rdi
movq %r15, %rsi
shrq $0x30, %rsi
andq %r13, %r15
leaq -0x50(%rbp), %rbx
movq %r15, %rdx
movq %rbx, %rcx
callq 0x9e91b
movq %rdx, %rcx
movq (%rbx), %rdi
leaq -0x58(%rbp), %r15
movq %r15, (%rsp)
leaq -0x60(%rbp), %r14
movq -0x30(%rbp), %rsi
movl %eax, %edx
movq %rbx, %r8
movq %r14, %r9
callq 0xb2d9d
movq (%r15), %rax
movq 0x10(%rbp), %rcx
movq %rax, (%rcx)
movq (%r14), %rax
movq -0x38(%rbp), %rcx
movq %rax, (%rcx)
movq (%rbx), %rax
movq -0x40(%rbp), %rcx
movq %rax, (%rcx)
movq %r12, %rax
shrq $0x30, %rax
andq %r13, %r12
movq %r12, %rdx
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Value_dupzevaluezx
static void mw_mirth_c99_zaC99Value_dupzevaluezx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct mirth_c99_zaC99Value* in_zaC99Value_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99Branch* *out_zaC99Branch_5, struct mirth_c99_zaC99Value* *out_zaC99Value_6, struct mirth_c99_zaC99Value* *out_zaC99Value_7) {
	struct mirth_mirth_zaMirth* v8;
	struct mirth_c99_zaC99Branch* v9;
	struct mirth_c99_zaC99Value* v10;
	mw_mirth_c99_zaC99Value_keepzevaluezx(in_zaMirth_1, in_zaC99Branch_2, in_zaC99Value_3, &v8, &v9, &v10);
	struct mirth_c99_zaC99Value* v11;
	struct mirth_c99_zaC99Value* v12;
	mw_mirth_c99_zaC99Value_rdup(v10, &v11, &v12);
	*out_zaC99Value_7 = v12;
	*out_zaC99Value_6 = v11;
	*out_zaC99Branch_5 = v9;
	*out_zaMirth_4 = v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %r9, %r15
movq %r8, %r14
movq %rcx, %rbx
leaq -0x38(%rbp), %rcx
leaq -0x30(%rbp), %r8
leaq -0x50(%rbp), %r12
movq %r12, %r9
callq 0xdd0af
movq (%r12), %rdi
leaq -0x48(%rbp), %r12
leaq -0x40(%rbp), %r13
movq %r12, %rsi
movq %r13, %rdx
callq 0xdb2d5
movq (%r13), %rax
movq 0x10(%rbp), %rcx
movq %rax, (%rcx)
movq (%r12), %rax
movq %rax, (%r15)
leaq -0x30(%rbp), %rax
movq (%rax), %rax
movq %rax, (%r14)
leaq -0x38(%rbp), %rax
movq (%rax), %rax
movq %rax, (%rbx)
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq