LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_C99DataTransRepr_mkzemacro
static STR* mw_mirth_c99_C99DataTransRepr_mkzemacro (struct mirth_mirth_zaMirth* in_zaMirth_1, STR* in_Str_2, struct mirth_c99_C99DataTransRepr* in_C99DataTransRepr_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_c99_C99ReprType v6 = in_C99DataTransRepr_3->mc99zerepr;
	incref(MK_mirth_c99_C99ReprType(v6));
	decref(MK_mirth_c99_C99DataTransRepr(in_C99DataTransRepr_3));
	struct mirth_mirth_zaMirth* v7;
	STR* v8 = mw_mirth_c99_C99ReprType_mkzemacro(in_zaMirth_1, in_Str_2, v6, &v7);
	*out_zaMirth_4 = v7;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x30(%rax), %rcx
movq %rcx, -0x30(%rbp)
movq 0x38(%rax), %rax
movq %rax, -0x28(%rbp)
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x38(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x277ee4
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rax
cmpq $0x0, %rax
je 0x277ee4
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x60(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x277ee4
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x277ee6
jmp 0x277ee8
movq -0x18(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0x11b079(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x277fe3
movq -0x18(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq 0x11b04d(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x90(%rbp), %rax
cmpq $0x0, %rax
je 0x277fe3
movq -0x18(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq 0x11b015(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0x98(%rbp)
movq -0xa0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x277fe3
movq -0x18(%rbp), %rax
movq %rax, -0xb0(%rbp)
leaq 0x11afe7(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0xa8(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xb0(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x277fe1
movq -0x18(%rbp), %rax
movq %rax, -0xc0(%rbp)
leaq 0x11afad(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0xb8(%rbp)
movq -0xc0(%rbp), %rdi
movq -0xb8(%rbp), %rsi
callq 0x127c0
jmp 0x277fe3
jmp 0x277fe5
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x28(%rbp), %rcx
leaq -0xc8(%rbp), %r8
callq 0x271fa0
movq %rax, -0xd0(%rbp)
movq -0xc8(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0xd0(%rbp), %rax
addq $0xd0, %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_c99_C99DataSumRepr_mkzemacro
static STR* mw_mirth_c99_C99DataSumRepr_mkzemacro (STR* in_Str_1, struct mirth_mirth_zaMirth* in_zaMirth_2, struct mirth_c99_C99DataSumRepr* in_C99DataSumRepr_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* v6;
	STR* v7 = mw_mirth_c99_C99DataSumRepr_cname(in_zaMirth_2, in_C99DataSumRepr_3, &v6);
	STR* v8 = mw_std_prim_Str_Str_1_sp24(in_Str_1, v7);
	*out_zaMirth_4 = v6;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x28(%rbp), %rdx
callq 0x24fe80
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x278720
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
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_c99_C99DataSumTagRepr_structzy
static struct std_maybe_Maybe_1 mw_mirth_c99_C99DataSumTagRepr_structzy (struct mirth_c99_C99DataSumTagRepr in_C99DataSumTagRepr_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_C99DataSumTagRepr_1).tag) {
		case mirth_c99_C99DataSumTagRepr_Struct: {
			struct mirth_c99_C99DataStructRepr* v4 = mtp_mirth_c99_C99DataSumTagRepr_Struct(in_C99DataSumTagRepr_1);
			struct std_maybe_Maybe_1 v5 = mtw_std_maybe_Maybe_1_Some(MK_mirth_c99_C99DataStructRepr(v4));
			branch_Maybe_3 = v5;
		} break;
		default: {
			decref(MK_mirth_c99_C99DataSumTagRepr(in_C99DataSumTagRepr_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 $0x1, %eax
jne 0x27944c
jmp 0x2793fc
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x2797e0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x119b9d(%rip), %rax    # 0x392fb8
orq $0x1, %rax
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 0x279550
jmp 0x27944e
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x236ab0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x50(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x279525
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x236ab0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
cmpq $0x0, %rax
je 0x279525
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x236ab0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x78(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x279525
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x236ab0
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 0x279523
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x236ab0
movq %rax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
callq 0x127c0
jmp 0x279525
jmp 0x279527
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
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99_c99zeline_1_sp30
static void mw_mirth_c99_zaC99_c99zeline_1_sp30 (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, "} break;", 8);
	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
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x28(%rbp), %rdx
leaq -0x30(%rbp), %rcx
callq 0x22a120
cmpq $0x0, 0x111e448(%rip)   # 0x13979e0
jne 0x2795b2
leaq 0xf3ded(%rip), %rdi     # 0x36d38e
movl $0x8, %esi
callq 0xb6c0
movq %rax, 0x111e42e(%rip)   # 0x13979e0
jmp 0x2795b4
movq 0x111e425(%rip), %rax   # 0x13979e0
movq %rax, -0x48(%rbp)
leaq 0x117b92(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x279665
movq 0x111e3f9(%rip), %rax   # 0x13979e0
movq %rax, -0x58(%rbp)
leaq 0x117b66(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x279665
movq 0x111e3cb(%rip), %rax   # 0x13979e0
movq %rax, -0x68(%rbp)
leaq 0x117b38(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x279665
movq 0x111e3a3(%rip), %rax   # 0x13979e0
movq %rax, -0x78(%rbp)
leaq 0x117b10(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x78(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x279667
movq 0x111e372(%rip), %rax   # 0x13979e0
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rdx
leaq -0x80(%rbp), %rcx
leaq -0x88(%rbp), %r8
callq 0x220040
movq -0x80(%rbp), %rdi
movq -0x88(%rbp), %rsi
leaq -0x90(%rbp), %rdx
leaq -0x98(%rbp), %rcx
callq 0x2201d0
movq -0x98(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x90(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
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: mtp_mirth_c99_C99DataSumTagRepr_Unit
static struct mirth_c99_C99DataUnitRepr* mtp_mirth_c99_C99DataSumTagRepr_Unit (struct mirth_c99_C99DataSumTagRepr in_C99DataSumTagRepr_1) {
	struct mirth_c99_C99DataSumTagRepr_Unit v3 = *in_C99DataSumTagRepr_1.ptr.Unit;
	if (!--(in_C99DataSumTagRepr_1.ptr.Unit->refs)) {
		free(in_C99DataSumTagRepr_1.ptr.Unit);
	} else {
		incref(MK_mirth_c99_C99DataUnitRepr(v3.mC99DataUnitRepr));
	}
	return v3.mC99DataUnitRepr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x279720
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x2797c7
jmp 0x279722
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x1197af(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2797c3
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x11978a(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x2797c3
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x11975f(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x2797c3
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x11973a(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x2797c5
jmp 0x2797c7
movq -0x18(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_c99_C99DataSumTagRepr_Struct
static struct mirth_c99_C99DataStructRepr* mtp_mirth_c99_C99DataSumTagRepr_Struct (struct mirth_c99_C99DataSumTagRepr in_C99DataSumTagRepr_1) {
	struct mirth_c99_C99DataSumTagRepr_Struct v3 = *in_C99DataSumTagRepr_1.ptr.Struct;
	if (!--(in_C99DataSumTagRepr_1.ptr.Struct->refs)) {
		free(in_C99DataSumTagRepr_1.ptr.Struct);
	} else {
		incref(MK_mirth_c99_C99DataStructRepr(v3.mC99DataStructRepr));
	}
	return v3.mC99DataStructRepr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x279820
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x2798c7
jmp 0x279822
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x119787(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2798c3
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x119762(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x2798c3
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x119737(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x2798c3
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x119712(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x2798c5
jmp 0x2798c7
movq -0x18(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_c99zetagzebodyzx
static void mw_mirth_c99_c99zetagzebodyzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, uint64_t in_Tag_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99Branch* *out_zaC99Branch_5) {
	struct mirth_mirth_zaMirth* v6;
	struct mirth_c99_C99DataTagRepr v7 = mw_mirth_data_Tag_c99zerepr(in_zaMirth_1, in_Tag_3, &v6);
	struct mirth_mirth_zaMirth* v8;
	struct mirth_c99_zaC99Branch* v9;
	struct std_either_zaEither_2 v10;
	mw_mirth_c99_C99DataTagRepr_constructzx(v6, in_zaC99Branch_2, v7, &v8, &v9, &v10);
	struct mirth_mirth_zaMirth* v11;
	struct mirth_c99_zaC99Branch* v12;
	mw_mirth_c99_zaC99ValuezfResource_pushzevaluezfresourcezx(v8, v9, v10, &v11, &v12);
	*out_zaC99Branch_5 = v12;
	*out_zaMirth_4 = v11;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x28d1c0
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x40(%rbp), %edx
movq -0x38(%rbp), %rcx
leaq -0x48(%rbp), %r8
leaq -0x50(%rbp), %r9
leaq -0x60(%rbp), %rax
movq %rax, (%rsp)
callq 0x28d380
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rsi
movl -0x60(%rbp), %edx
movq -0x58(%rbp), %rcx
leaq -0x68(%rbp), %r8
leaq -0x70(%rbp), %r9
callq 0x28d630
movq -0x70(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x68(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_c99zereversezetagzebodyzx
static void mw_mirth_c99_c99zereversezetagzebodyzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, uint64_t in_Tag_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99Branch* *out_zaC99Branch_5) {
	struct mirth_mirth_zaMirth* v6;
	uint64_t v7 = mw_mirth_data_Tag_data(in_zaMirth_1, in_Tag_3, &v6);
	struct mirth_mirth_zaMirth* v8;
	struct mirth_c99_zaC99Branch* v9;
	struct std_either_zaEither_2 v10;
	mw_mirth_c99_zaC99Branch_popzedatazx(v6, in_zaC99Branch_2, v7, &v8, &v9, &v10);
	struct mirth_mirth_zaMirth* v11;
	struct mirth_c99_C99DataTagRepr v12 = mw_mirth_data_Tag_c99zerepr(v8, in_Tag_3, &v11);
	struct mirth_mirth_zaMirth* v13;
	struct mirth_c99_zaC99Branch* v14;
	mw_mirth_c99_C99DataTagRepr_destructzx(v11, v9, v10, v12, &v13, &v14);
	*out_zaC99Branch_5 = v14;
	*out_zaMirth_4 = v13;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x57890
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x38(%rbp), %rdx
leaq -0x40(%rbp), %rcx
leaq -0x48(%rbp), %r8
leaq -0x58(%rbp), %r9
callq 0x2ab170
movq -0x40(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x60(%rbp), %rdx
callq 0x28d1c0
movl %eax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x60(%rbp), %rdi
movq -0x48(%rbp), %rsi
movl -0x58(%rbp), %edx
movq -0x50(%rbp), %rcx
movl -0x70(%rbp), %r8d
movq -0x68(%rbp), %r9
leaq -0x78(%rbp), %r10
leaq -0x80(%rbp), %rax
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x2ab550
movq -0x80(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x78(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x90, %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_data_Tag_wordzecnamezetype
static STR* mw_mirth_data_Tag_wordzecnamezetype (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Tag_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_type_ArrowType* *out_ArrowType_5) {
	struct mirth_mirth_zaMirth* v6;
	STR* v7 = mw_mirth_data_Tag_wordzecname(in_zaMirth_1, in_Tag_2, &v6);
	struct mirth_mirth_zaMirth* v8;
	struct mirth_type_ArrowType* v9 = mw_mirth_data_Tag_type(v6, in_Tag_2, &v8);
	*out_ArrowType_5 = v9;
	*out_zaMirth_3 = v8;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x28(%rbp), %rdx
callq 0x27ffc0
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0x1043a0
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
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_c99_zaC99_stackzetypezetozec99zeapizeparams
static struct std_list_List_1 mw_mirth_c99_zaC99_stackzetypezetozec99zeapizeparams (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99* in_zaC99_2, struct mirth_type_StackType in_StackType_3, enum mirth_c99_C99APIArgMode in_C99APIArgMode_4, struct mirth_mirth_zaMirth* *out_zaMirth_5, struct mirth_c99_zaC99* *out_zaC99_6, bool *out_Bool_7) {
	struct mirth_mirth_zaMirth* v9;
	struct mirth_c99_zaC99* v10;
	enum mirth_c99_C99APIArgMode v11;
	bool v12;
	struct std_list_List_1 v13 = mw_mirth_c99_zaC99_stackzetypezetozec99zeapizeparamszeaux(in_zaMirth_1, in_zaC99_2, in_C99APIArgMode_4, in_StackType_3, &v9, &v10, &v11, &v12);
	struct std_list_List_1 v14 = mw_std_list_List_1_reverse(v13);
	*out_Bool_7 = v12;
	*out_zaC99_6 = v10;
	*out_zaMirth_5 = v9;
	return v14;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq 0x18(%rbp), %rax
movq 0x10(%rbp), %rax
movl %edx, -0x20(%rbp)
movq %rcx, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %rsi, -0x30(%rbp)
movl %r8d, -0x34(%rbp)
movq %r9, -0x40(%rbp)
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rsi
movl -0x34(%rbp), %edx
movl -0x20(%rbp), %ecx
movq -0x18(%rbp), %r8
movq %rsp, %rax
leaq -0x55(%rbp), %r9
movq %r9, 0x10(%rax)
leaq -0x54(%rbp), %r9
movq %r9, 0x8(%rax)
leaq -0x50(%rbp), %r9
movq %r9, (%rax)
leaq -0x48(%rbp), %r9
callq 0x281710
movl %eax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movl -0x68(%rbp), %edi
movq -0x60(%rbp), %rsi
callq 0x122b0
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movb -0x55(%rbp), %cl
movq 0x18(%rbp), %rax
andb $0x1, %cl
movb %cl, (%rax)
movq -0x50(%rbp), %rcx
movq 0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x48(%rbp), %rcx
movq -0x40(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_C99API_C99API
static struct mirth_c99_C99API* mtw_mirth_c99_C99API_C99API (STR* in_Str_1, struct mirth_type_ArrowType* in_ArrowType_2, struct std_list_List_1 in_List_3, struct std_list_List_1 in_List_4, struct std_maybe_Maybe_1 in_Maybe_5, struct std_list_List_1 in_List_6, bool in_Bool_7, bool in_Bool_8) {
	struct mirth_c99_C99API* v10 = calloc(1, sizeof *v10);
	ASSERT(v10);
	v10->refs = 1;
	v10->mdoesntzereturn = in_Bool_8;
	v10->mmustzeflush = in_Bool_7;
	v10->moutzeparamsze2 = in_List_6;
	v10->mreturnzeparam = in_Maybe_5;
	v10->moutzeparamsze1 = in_List_4;
	v10->minzeparams = in_List_3;
	v10->mtype = in_ArrowType_2;
	v10->mcname = in_Str_1;
	return v10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rcx, -0x58(%rbp)
movl %edx, %r10d
movq -0x58(%rbp), %rdx
movb 0x38(%rbp), %al
movb 0x30(%rbp), %cl
leaq 0x20(%rbp), %r11
movq %r11, -0x50(%rbp)
leaq 0x10(%rbp), %r11
movq %r11, -0x48(%rbp)
movl %r10d, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl %r8d, -0x20(%rbp)
movq %r9, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %rsi, -0x30(%rbp)
andb $0x1, %cl
movb %cl, -0x31(%rbp)
andb $0x1, %al
movb %al, -0x32(%rbp)
movl $0x1, %edi
movl $0x60, %esi
callq 0x50c0
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
jne 0x281660
movl $0x2, %edi
leaq 0xebf11(%rip), %rsi     # 0x36d553
movl $0x32, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x281662
movq -0x48(%rbp), %rcx
movq -0x50(%rbp), %rdx
movq -0x40(%rbp), %rax
movl $0x1, (%rax)
movb -0x32(%rbp), %sil
movq -0x40(%rbp), %rax
andb $0x1, %sil
movb %sil, 0x59(%rax)
movb -0x31(%rbp), %sil
movq -0x40(%rbp), %rax
andb $0x1, %sil
movb %sil, 0x58(%rax)
movq -0x40(%rbp), %rax
movq (%rdx), %rsi
movq %rsi, 0x48(%rax)
movq 0x8(%rdx), %rdx
movq %rdx, 0x50(%rax)
movq -0x40(%rbp), %rax
movq (%rcx), %rdx
movq %rdx, 0x38(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x40(%rax)
movq -0x40(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, 0x28(%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x30(%rax)
movq -0x40(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x20(%rax)
movq -0x30(%rbp), %rcx
movq -0x40(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x28(%rbp), %rcx
movq -0x40(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x40(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_C99APIArgSource_ValueLabel
static struct mirth_c99_C99APIArgSource mtw_mirth_c99_C99APIArgSource_ValueLabel (uint64_t in_Label_1) {
	struct mirth_c99_C99APIArgSource_ValueLabel* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mLabel = in_Label_1;
	struct mirth_c99_C99APIArgSource v4 = { .tag=mirth_c99_C99APIArgSource_ValueLabel, .ptr.ValueLabel=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 0x2824d0
movl $0x2, %edi
leaq 0xeb031(%rip), %rsi     # 0x36d4e3
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x2824d2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x1, -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_c99_C99APIArgSource_ResourceLabel
static struct mirth_c99_C99APIArgSource mtw_mirth_c99_C99APIArgSource_ResourceLabel (uint64_t in_Label_1) {
	struct mirth_c99_C99APIArgSource_ResourceLabel* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mLabel = in_Label_1;
	struct mirth_c99_C99APIArgSource v4 = { .tag=mirth_c99_C99APIArgSource_ResourceLabel, .ptr.ResourceLabel=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 0x282560
movl $0x2, %edi
leaq 0xeafd3(%rip), %rsi     # 0x36d515
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x282562
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x3, -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_c99_C99APIArg_C99APIArg
static struct mirth_c99_C99APIArg* mtw_mirth_c99_C99APIArg_C99APIArg (enum mirth_c99_C99APIArgMode in_C99APIArgMode_1, struct mirth_c99_C99APIArgSource in_C99APIArgSource_2, struct mirth_c99_C99ReprType in_C99ReprType_3, STR* in_Str_4) {
	struct mirth_c99_C99APIArg* v6 = calloc(1, sizeof *v6);
	ASSERT(v6);
	v6->refs = 1;
	v6->margzename = in_Str_4;
	v6->margzerepr = in_C99ReprType_3;
	v6->margzesource = in_C99APIArgSource_2;
	v6->margzemode = in_C99APIArgMode_1;
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl %ecx, -0x20(%rbp)
movq %r8, -0x18(%rbp)
movl %edi, -0x24(%rbp)
movq %r9, -0x30(%rbp)
movl $0x1, %edi
movl $0x30, %esi
callq 0x50c0
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x282a91
movl $0x2, %edi
leaq 0xea9b2(%rip), %rsi     # 0x36d425
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x282a93
movq -0x38(%rbp), %rax
movl $0x1, (%rax)
movq -0x30(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x38(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x20(%rax)
movq -0x38(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x10(%rax)
movl -0x24(%rbp), %ecx
movq -0x38(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x38(%rbp), %rax
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_c99_zaC99_freshzenamezeonzx
static STR* mw_mirth_c99_zaC99_freshzenamezeonzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99* in_zaC99_2, STR* in_Str_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99* *out_zaC99_5) {
	struct mirth_mirth_zaMirth* v7;
	struct mirth_c99_zaC99* v8;
	INT v9 = mw_mirth_c99_zaC99_freshzenatzx(in_zaMirth_1, in_zaC99_2, &v7, &v8);
	INT v10 = v9;
	STR* v11 = int_to_str(v10);
	STR* v12 = str_cat(in_Str_3, v11);
	*out_zaC99_5 = v8;
	*out_zaMirth_4 = v7;
	return v12;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x30(%rbp), %rdx
leaq -0x38(%rbp), %rcx
callq 0x285c00
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
callq 0x211e0
movq %rax, -0x50(%rbp)
movq -0x18(%rbp), %rdi
movq -0x50(%rbp), %rsi
callq 0x1a680
movq %rax, -0x58(%rbp)
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x58(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_namezeargzeprefix
static STR* mw_mirth_c99_namezeargzeprefix (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Name_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	STR* v6 = mw_mirth_name_Name_mangled(in_zaMirth_1, in_Name_2, &v5);
	STR* v7;
	STRLIT(v7, "_", 1);
	STR* v8 = str_cat(v6, v7);
	*out_zaMirth_3 = v5;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x20(%rbp), %rdx
callq 0x223090
movq %rax, -0x28(%rbp)
cmpq $0x0, 0x1112014(%rip)   # 0x1397b08
jne 0x285b0e
leaq 0xd2d8c(%rip), %rdi     # 0x358889
movl $0x1, %esi
callq 0xb6c0
movq %rax, 0x1111ffa(%rip)   # 0x1397b08
jmp 0x285b10
movq 0x1111ff1(%rip), %rax   # 0x1397b08
movq %rax, -0x40(%rbp)
leaq 0x10b636(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x285bc1
movq 0x1111fc5(%rip), %rax   # 0x1397b08
movq %rax, -0x50(%rbp)
leaq 0x10b60a(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rax
cmpq $0x0, %rax
je 0x285bc1
movq 0x1111f97(%rip), %rax   # 0x1397b08
movq %rax, -0x60(%rbp)
leaq 0x10b5dc(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movq -0x60(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x285bc1
movq 0x1111f6f(%rip), %rax   # 0x1397b08
movq %rax, -0x70(%rbp)
leaq 0x10b5b4(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x285bc3
movq 0x1111f3e(%rip), %rax   # 0x1397b08
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x1a680
movq %rax, -0x78(%rbp)
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x78(%rbp), %rax
addq $0x80, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mirth_c99_C99APIArgSource_free
void mirth_c99_C99APIArgSource_free (VAL v) {
	struct mirth_c99_C99APIArgSource self = V_mirth_c99_C99APIArgSource(v);
	switch (self.tag) {
		case mirth_c99_C99APIArgSource_Value: break;
		case mirth_c99_C99APIArgSource_ValueLabel: {
			free(self.ptr.ValueLabel);
		} break;
		case mirth_c99_C99APIArgSource_Resource: break;
		case mirth_c99_C99APIArgSource_ResourceLabel: {
			free(self.ptr.ResourceLabel);
		} break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x286530
movl %eax, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movl -0x20(%rbp), %eax
movq %rax, -0x28(%rbp)
subq $0x3, %rax
ja 0x28642d
movq -0x28(%rbp), %rax
leaq 0xcd164(%rip), %rcx     # 0x353570
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x28642d
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x28642d
jmp 0x28642d
movq -0x18(%rbp), %rdi
callq 0x5030
addq $0x30, %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_c99_C99APIArg_iszephysicalzy
static bool mw_mirth_c99_C99APIArg_iszephysicalzy (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99APIArg* in_C99APIArg_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_c99_C99ReprType v5 = in_C99APIArg_2->margzerepr;
	incref(MK_mirth_c99_C99ReprType(v5));
	decref(MK_mirth_c99_C99APIArg(in_C99APIArg_2));
	struct mirth_mirth_zaMirth* v6;
	bool v7 = mw_mirth_c99_C99ReprType_iszephysicalzy(in_zaMirth_1, v5, &v6);
	*out_zaMirth_3 = v6;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rcx
movq %rcx, -0x28(%rbp)
movq 0x20(%rax), %rax
movq %rax, -0x20(%rbp)
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x30(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x286630
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x48(%rbp), %rax
cmpq $0x0, %rax
je 0x286630
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x58(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x286630
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x286632
jmp 0x286634
movq -0x10(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x10cb6d(%rip), %rax    # 0x3931b0
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x28672c
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x10cb41(%rip), %rax    # 0x3931b0
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
cmpq $0x0, %rax
je 0x28672c
movq -0x10(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x10cb0c(%rip), %rax    # 0x3931b0
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movq -0x98(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x28672c
movq -0x10(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x10cade(%rip), %rax    # 0x3931b0
orq $0x1, %rax
movq %rax, -0xa0(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xa8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x28672a
movq -0x10(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq 0x10caa4(%rip), %rax    # 0x3931b0
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rsi
callq 0x127c0
jmp 0x28672c
jmp 0x28672e
movq -0x8(%rbp), %rdi
movl -0x28(%rbp), %esi
movq -0x20(%rbp), %rdx
leaq -0xc0(%rbp), %rcx
callq 0x276880
andb $0x1, %al
movb %al, -0xc1(%rbp)
movq -0xc0(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movb -0xc1(%rbp), %al
andb $0x1, %al
addq $0xd0, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_c99_C99APIArgSource_ValueLabel
static uint64_t mtp_mirth_c99_C99APIArgSource_ValueLabel (struct mirth_c99_C99APIArgSource in_C99APIArgSource_1) {
	struct mirth_c99_C99APIArgSource_ValueLabel v3 = *in_C99APIArgSource_1.ptr.ValueLabel;
	if (!--(in_C99APIArgSource_1.ptr.ValueLabel->refs)) {
		free(in_C99APIArgSource_1.ptr.ValueLabel);
	} else {
	}
	return v3.mLabel;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x2867ad
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x2867af
jmp 0x2867af
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_type_MetaVar_haszevarzy
static bool mw_mirth_type_MetaVar_haszevarzy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Var_2, uint64_t in_MetaVar_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* v6;
	struct std_maybe_Maybe_1 v7 = mw_mirth_type_MetaVar_typezy(in_zaMirth_1, in_MetaVar_3, &v6);
	struct mirth_mirth_zaMirth* branch_zaMirth_8;
	bool branch_Bool_9;
	switch ((v7).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v10 = mtp_std_maybe_Maybe_1_Some(v7);
			struct mirth_mirth_zaMirth* v11;
			bool v12 = mw_mirth_type_Type_haszevarzy(v6, in_Var_2, V_mirth_type_Type(v10), &v11);
			branch_Bool_9 = v12;
			branch_zaMirth_8 = v11;
		} break;
		case std_maybe_Maybe_1_None: {
			bool v13 = false;
			branch_Bool_9 = v13;
			branch_zaMirth_8 = v6;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_4 = branch_zaMirth_8;
	return branch_Bool_9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x28(%rbp), %rdx
callq 0x87130
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movl -0x38(%rbp), %eax
movl %eax, -0x80(%rbp)
testl %eax, %eax
je 0x287544
jmp 0x2874c3
movl -0x80(%rbp), %eax
subl $0x1, %eax
jne 0x28755a
jmp 0x2874d1
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x174a0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x58(%rbp), %rdi
movq -0x50(%rbp), %rsi
callq 0x6f100
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rsi
movl %eax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movl -0x78(%rbp), %edx
movq -0x70(%rbp), %rcx
leaq -0x60(%rbp), %r8
callq 0x286f70
andb $0x1, %al
movb %al, -0x61(%rbp)
movb -0x61(%rbp), %al
andb $0x1, %al
movb %al, -0x41(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0x287573
movb $0x0, -0x79(%rbp)
movb -0x79(%rbp), %al
andb $0x1, %al
movb %al, -0x41(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0x287573
leaq 0xcc920(%rip), %rdi     # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x40(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movb -0x41(%rbp), %al
andb $0x1, %al
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_type_ArrowType_haszevarzy
static bool mw_mirth_type_ArrowType_haszevarzy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Var_2, struct mirth_type_ArrowType* in_ArrowType_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_type_StackType v6;
	struct mirth_type_StackType v7;
	mtp_mirth_type_ArrowType_ArrowType(in_ArrowType_3, &v6, &v7);
	struct mirth_mirth_zaMirth* v8;
	bool v9 = mw_mirth_type_StackType_haszevarzy(in_zaMirth_1, in_Var_2, v6, &v8);
	struct mirth_mirth_zaMirth* branch_zaMirth_10;
	bool branch_Bool_11;
	if (v9) {
		decref(MK_mirth_type_StackType(v7));
		bool v12 = true;
		branch_Bool_11 = v12;
		branch_zaMirth_10 = v8;
	} else {
		struct mirth_mirth_zaMirth* v13;
		bool v14 = mw_mirth_type_StackType_haszevarzy(v8, in_Var_2, v7, &v13);
		branch_Bool_11 = v14;
		branch_zaMirth_10 = v13;
	}
	*out_zaMirth_4 = branch_zaMirth_10;
	return branch_Bool_11;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x18(%rbp), %rdi
leaq -0x30(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0xc1010
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x28(%rbp), %rcx
leaq -0x48(%rbp), %r8
callq 0x287590
andb $0x1, %al
movb %al, -0x49(%rbp)
testb $0x1, -0x49(%rbp)
je 0x288006
jmp 0x287f05
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x6f140
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x68(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x287fe8
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x6f140
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x80(%rbp), %rax
cmpq $0x0, %rax
je 0x287fe8
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x6f140
movq %rax, -0x90(%rbp)
movq %rdx, -0x88(%rbp)
movq -0x90(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x287fe8
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x6f140
movq %rax, -0xa0(%rbp)
movq %rdx, -0x98(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xa0(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x287fe6
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x6f140
movq %rax, -0xb0(%rbp)
movq %rdx, -0xa8(%rbp)
movq -0xb0(%rbp), %rdi
movq -0xa8(%rbp), %rsi
callq 0x127c0
jmp 0x287fe8
jmp 0x287fea
movb $0x1, -0xb1(%rbp)
movb -0xb1(%rbp), %al
andb $0x1, %al
movb %al, -0x59(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x58(%rbp)
jmp 0x28803f
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x40(%rbp), %edx
movq -0x38(%rbp), %rcx
leaq -0xc0(%rbp), %r8
callq 0x287590
andb $0x1, %al
movb %al, -0xc1(%rbp)
movb -0xc1(%rbp), %al
andb $0x1, %al
movb %al, -0x59(%rbp)
movq -0xc0(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movb -0x59(%rbp), %al
andb $0x1, %al
addq $0xd0, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_type_Type_haszevar2zy
static bool mw_mirth_type_Type_haszevar2zy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Var_2, struct mirth_type_Type in_Type_3, struct mirth_type_Type in_Type_4, struct mirth_mirth_zaMirth* *out_zaMirth_5) {
	struct mirth_mirth_zaMirth* v7;
	bool v8 = mw_mirth_type_Type_haszevarzy(in_zaMirth_1, in_Var_2, in_Type_4, &v7);
	struct mirth_mirth_zaMirth* branch_zaMirth_9;
	bool branch_Bool_10;
	if (v8) {
		decref(MK_mirth_type_Type(in_Type_3));
		bool v11 = true;
		branch_Bool_10 = v11;
		branch_zaMirth_9 = v7;
	} else {
		struct mirth_mirth_zaMirth* v12;
		bool v13 = mw_mirth_type_Type_haszevarzy(v7, in_Var_2, in_Type_3, &v12);
		branch_Bool_10 = v13;
		branch_zaMirth_9 = v12;
	}
	*out_zaMirth_5 = branch_zaMirth_9;
	return branch_Bool_10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq 0x10(%rbp), %rax
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movl %r8d, -0x20(%rbp)
movq %r9, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %rsi, -0x30(%rbp)
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rsi
movl -0x20(%rbp), %edx
movq -0x18(%rbp), %rcx
leaq -0x38(%rbp), %r8
callq 0x286f70
andb $0x1, %al
movb %al, -0x39(%rbp)
testb $0x1, -0x39(%rbp)
je 0x2881a7
jmp 0x2880af
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x6e780
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x58(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x288189
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x6e780
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rax
cmpq $0x0, %rax
je 0x288189
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x6e780
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movq -0x80(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x288189
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x6e780
movq %rax, -0x90(%rbp)
movq %rdx, -0x88(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x90(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x288187
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x6e780
movq %rax, -0xa0(%rbp)
movq %rdx, -0x98(%rbp)
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rsi
callq 0x127c0
jmp 0x288189
jmp 0x28818b
movb $0x1, -0xa1(%rbp)
movb -0xa1(%rbp), %al
andb $0x1, %al
movb %al, -0x49(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
jmp 0x2881e0
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
movl -0x10(%rbp), %edx
movq -0x8(%rbp), %rcx
leaq -0xb0(%rbp), %r8
callq 0x286f70
andb $0x1, %al
movb %al, -0xb1(%rbp)
movb -0xb1(%rbp), %al
andb $0x1, %al
movb %al, -0x49(%rbp)
movq -0xb0(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rcx
movq 0x10(%rbp), %rax
movq %rcx, (%rax)
movb -0x49(%rbp), %al
andb $0x1, %al
addq $0xc0, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99_startzebranchzx
static void mw_mirth_c99_zaC99_startzebranchzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99* in_zaC99_2, bool in_Bool_3, struct std_list_List_1 in_List_4, struct mirth_mirth_zaMirth* *out_zaMirth_5, struct mirth_c99_zaC99Branch* *out_zaC99Branch_6) {
	struct mirth_c99_zaC99Stack v7 = { .tag=mirth_c99_zaC99Stack_zaNil };
	struct mirth_c99_zaC99Branch* v8;
	mtw_mirth_c99_zaC99Branch_zaC99Branch(in_zaC99_2, v7, in_List_4, in_Bool_3, &v8);
	*out_zaC99Branch_6 = v8;
	*out_zaMirth_5 = in_zaMirth_1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb %dl, %al
movq 0x10(%rbp), %rdx
movl %ecx, -0x10(%rbp)
movq %r8, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
andb $0x1, %al
movb %al, -0x21(%rbp)
movq %r9, -0x30(%rbp)
leaq -0x40(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x20(%rbp), %rdi
movb -0x21(%rbp), %r9b
movl -0x40(%rbp), %esi
movq -0x38(%rbp), %rdx
movl -0x10(%rbp), %ecx
movq -0x8(%rbp), %r8
leaq -0x48(%rbp), %rax
andb $0x1, %r9b
movzbl %r9b, %r9d
movq %rax, (%rsp)
callq 0x28c550
movq -0x48(%rbp), %rcx
movq 0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_zaC99Branch_zaC99Branch
static void mtw_mirth_c99_zaC99Branch_zaC99Branch (struct mirth_c99_zaC99* in_zaC99_1, struct mirth_c99_zaC99Stack in_zaC99Stack_2, struct std_list_List_1 in_List_3, bool in_Bool_4, struct mirth_c99_zaC99Branch* *out_zaC99Branch_5) {
	struct mirth_c99_zaC99Branch* v6 = calloc(1, sizeof *v6);
	ASSERT(v6);
	v6->mreachable = in_Bool_4;
	v6->menv = in_List_3;
	v6->mzastack = in_zaC99Stack_2;
	v6->mzac99 = in_zaC99_1;
	*out_zaC99Branch_5 = v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movb %r9b, %al
movq 0x10(%rbp), %r9
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl %ecx, -0x20(%rbp)
movq %r8, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
andb $0x1, %al
movb %al, -0x29(%rbp)
movl $0x1, %edi
movl $0x30, %esi
callq 0x50c0
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x28c5ba
movl $0x2, %edi
leaq 0xe104b(%rip), %rsi     # 0x36d5e7
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x28c5bc
movb -0x29(%rbp), %cl
movq -0x38(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x28(%rax)
movq -0x38(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x20(%rax)
movq -0x38(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x28(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq 0x10(%rbp), %rax
movq %rcx, (%rax)
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_c99_zaC99Value_zaC99Value
static void mtw_mirth_c99_zaC99Value_zaC99Value (struct mirth_c99_C99ReprType in_C99ReprType_1, STR* in_Str_2, struct mirth_c99_zaC99Value* *out_zaC99Value_3) {
	struct mirth_c99_zaC99Value* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->mvaluezename = in_Str_2;
	v4->mvaluezerepr = in_C99ReprType_1;
	*out_zaC99Value_3 = v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl $0x1, %edi
movl $0x18, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x28cb1b
movl $0x2, %edi
leaq 0xe0b1c(%rip), %rsi     # 0x36d619
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x28cb1d
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, (%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x28(%rbp), %rcx
movq -0x20(%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: mw_mirth_c99_zaC99Value_pushzevaluezx
static void mw_mirth_c99_zaC99Value_pushzevaluezx (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_zaC99Stack r6 = in_zaC99Branch_2->mzastack;
	struct mirth_c99_zaC99Stack v7;
	mtw_mirth_c99_zaC99Stack_zaCons(r6, in_zaC99Value_3, &v7);
	in_zaC99Branch_2->mzastack = v7;
	*out_zaC99Branch_5 = in_zaC99Branch_2;
	*out_zaMirth_4 = in_zaMirth_1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
movq %rcx, -0x38(%rbp)
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rdx
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
leaq -0x48(%rbp), %rcx
callq 0x28cdf0
movq -0x10(%rbp), %rax
movq -0x48(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x40(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)