LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Value_rdup
static void mw_mirth_c99_zaC99Value_rdup (struct mirth_c99_zaC99Value* in_zaC99Value_1, struct mirth_c99_zaC99Value* *out_zaC99Value_2, struct mirth_c99_zaC99Value* *out_zaC99Value_3) {
	struct mirth_c99_C99ReprType v4 = in_zaC99Value_1->mvaluezerepr;
	incref(MK_mirth_c99_C99ReprType(v4));
	STR* v5 = in_zaC99Value_1->mvaluezename;
	incref(MKSTR(v5));
	struct mirth_c99_zaC99Value* v6;
	mtw_mirth_c99_zaC99Value_zaC99Value(v4, v5, &v6);
	*out_zaC99Value_3 = v6;
	*out_zaC99Value_2 = in_zaC99Value_1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x28(%rbp)
movq 0x8(%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 0x32dbaf
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 0x32dbaf
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 0x32dbaf
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 0x32dbb1
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0x6358c(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x32dc7d
movq -0x70(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq 0x63560(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x90(%rbp), %rax
cmpq $0x0, %rax
je 0x32dc7d
movq -0x70(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq 0x6352c(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x98(%rbp)
movq -0xa0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x32dc7d
movq -0x70(%rbp), %rax
movq %rax, -0xb0(%rbp)
leaq 0x634fe(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0xa8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xb0(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x32dc7f
movq -0x70(%rbp), %rdx
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
leaq -0xb8(%rbp), %rcx
callq 0x28cac0
movq -0xb8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
addq $0xc0, %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_zaC99Resource_rdup
static void mw_mirth_c99_zaC99Resource_rdup (struct mirth_c99_zaC99Resource* in_zaC99Resource_1, struct mirth_c99_zaC99Resource* *out_zaC99Resource_2, struct mirth_c99_zaC99Resource* *out_zaC99Resource_3) {
	struct mirth_c99_C99ReprType v4 = in_zaC99Resource_1->mresourcezerepr;
	incref(MK_mirth_c99_C99ReprType(v4));
	STR* v5 = in_zaC99Resource_1->mresourcezename;
	incref(MKSTR(v5));
	struct mirth_c99_zaC99Resource* v6;
	mtw_mirth_c99_zaC99Resource_zaC99Resource(v4, v5, &v6);
	*out_zaC99Resource_3 = v6;
	*out_zaC99Resource_2 = in_zaC99Resource_1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x28(%rbp)
movq 0x8(%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 0x32e1af
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 0x32e1af
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 0x32e1af
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 0x32e1b1
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0x62f8c(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x32e27d
movq -0x70(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq 0x62f60(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x90(%rbp), %rax
cmpq $0x0, %rax
je 0x32e27d
movq -0x70(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq 0x62f2c(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x98(%rbp)
movq -0xa0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x32e27d
movq -0x70(%rbp), %rax
movq %rax, -0xb0(%rbp)
leaq 0x62efe(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0xa8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xb0(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x32e27f
movq -0x70(%rbp), %rdx
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
leaq -0xb8(%rbp), %rcx
callq 0x28cfc0
movq -0xb8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
addq $0xc0, %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_c99zetupzepackzx
static void mw_mirth_c99_c99zetupzepackzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, INT in_Nat_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99Branch* *out_zaC99Branch_5) {
	struct std_maybe_Maybe_1 v6 = { .tag=std_maybe_Maybe_1_None };
	struct std_list_List_1 v7 = mw_std_list_List_1_List_1_sp13(in_Nat_3);
	struct mirth_mirth_zaMirth* v8;
	struct mirth_c99_zaC99Branch* v9;
	struct mirth_c99_zaC99Resource* v10;
	mw_mirth_c99_c99zepackzetuplezx(in_zaMirth_1, in_zaC99Branch_2, v6, v7, &v8, &v9, &v10);
	struct mirth_c99_zaC99Value* v11;
	mw_mirth_c99_zaC99Resource_turnzeintozevaluezx(v10, &v11);
	struct mirth_mirth_zaMirth* v12;
	struct mirth_c99_zaC99Branch* v13;
	mw_mirth_c99_zaC99Value_pushzevaluezx(v8, v9, v11, &v12, &v13);
	*out_zaC99Branch_5 = v13;
	*out_zaMirth_4 = v12;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdx, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
leaq -0x38(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x8(%rbp), %rdi
callq 0x336030
movl %eax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl -0x38(%rbp), %edx
movq -0x30(%rbp), %rcx
movl -0x48(%rbp), %r8d
movq -0x40(%rbp), %r9
leaq -0x50(%rbp), %r11
leaq -0x58(%rbp), %r10
leaq -0x60(%rbp), %rax
movq %r11, (%rsp)
movq %r10, 0x8(%rsp)
movq %rax, 0x10(%rsp)
callq 0x336770
movq -0x60(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x2a3920
movq -0x50(%rbp), %rdi
movq -0x58(%rbp), %rsi
movq -0x68(%rbp), %rdx
leaq -0x70(%rbp), %rcx
leaq -0x78(%rbp), %r8
callq 0x28cb50
movq -0x78(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x70(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x90, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_c99zetupzeunpackzx
static void mw_mirth_c99_c99zetupzeunpackzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, INT in_Nat_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99Branch* *out_zaC99Branch_5) {
	struct std_maybe_Maybe_1 v6 = { .tag=std_maybe_Maybe_1_None };
	struct std_list_List_1 v7 = mw_std_list_List_1_List_1_sp13(in_Nat_3);
	struct mirth_c99_C99ReprType v8 = { .tag=mirth_c99_C99ReprType_TUP };
	struct mirth_mirth_zaMirth* v9;
	struct mirth_c99_zaC99Branch* v10;
	struct mirth_c99_zaC99Value* v11;
	mw_mirth_c99_zaC99Branch_popzevaluezx(in_zaMirth_1, in_zaC99Branch_2, v8, &v9, &v10, &v11);
	struct mirth_c99_zaC99Resource* v12;
	mw_mirth_c99_zaC99Value_turnzeintozeresourcezx(v11, &v12);
	struct mirth_mirth_zaMirth* v13;
	struct mirth_c99_zaC99Branch* v14;
	mw_mirth_c99_c99zeunpackzetuplezx(v9, v10, v12, v6, v7, &v13, &v14);
	*out_zaC99Branch_5 = v14;
	*out_zaMirth_4 = v13;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdx, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
leaq -0x38(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x8(%rbp), %rdi
callq 0x336030
movl %eax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq 0x3d7d2(%rip), %rax     # 0x36eb48
movq %rax, -0x58(%rbp)
movq 0x3d7cf(%rip), %rax     # 0x36eb50
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl -0x58(%rbp), %edx
movq -0x50(%rbp), %rcx
leaq -0x60(%rbp), %r8
leaq -0x68(%rbp), %r9
leaq -0x70(%rbp), %rax
movq %rax, (%rsp)
callq 0x294820
movq -0x70(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x28cc50
movq -0x60(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq -0x78(%rbp), %rdx
movl -0x38(%rbp), %ecx
movq -0x30(%rbp), %r8
leaq -0x48(%rbp), %r10
leaq -0x80(%rbp), %r9
leaq -0x88(%rbp), %rax
movq (%r10), %r11
movq %r11, (%rsp)
movq 0x8(%r10), %r10
movq %r10, 0x8(%rsp)
movq %rax, 0x10(%rsp)
callq 0x33a850
movq -0x88(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x80(%rbp), %rcx
movq -0x20(%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: mw_std_maybe_Maybe_1_unwrap_1_sp5
static VAL mw_std_maybe_Maybe_1_unwrap_1_sp5 (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_maybe_Maybe_1 in_Maybe_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* branch_zaMirth_5;
	VAL branch_zux1_6;
	switch ((in_Maybe_2).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v7 = mtp_std_maybe_Maybe_1_Some(in_Maybe_2);
			branch_zux1_6 = v7;
			branch_zaMirth_5 = in_zaMirth_1;
		} break;
		case std_maybe_Maybe_1_None: {
			STR* v8;
			STRLIT(v8, "c99 error: tried to pop from invalid stack type", 47);
			mw_mirth_mirth_zaMirth_fatalzeerrorzx(in_zaMirth_1, v8);
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_3 = branch_zaMirth_5;
	return branch_zux1_6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movl %esi, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x94(%rbp)
testl %eax, %eax
je 0x33148b
jmp 0x331449
movl -0x94(%rbp), %eax
subl $0x1, %eax
jne 0x331587
jmp 0x33145a
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x174a0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x3315a0
jmp 0x33148d
cmpq $0x0, 0x1068073(%rip)   # 0x1399508
jne 0x3314af
leaq 0x3ceb9(%rip), %rdi     # 0x36e357
movl $0x2f, %esi
callq 0xb6c0
movq %rax, 0x1068059(%rip)   # 0x1399508
jmp 0x3314b1
movq 0x1068050(%rip), %rax   # 0x1399508
movq %rax, -0x60(%rbp)
leaq 0x5fc95(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x33156b
movq 0x1068024(%rip), %rax   # 0x1399508
movq %rax, -0x70(%rbp)
leaq 0x5fc69(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rax
cmpq $0x0, %rax
je 0x33156b
movq 0x1067ff6(%rip), %rax   # 0x1399508
movq %rax, -0x80(%rbp)
leaq 0x5fc3b(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movq -0x80(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x33156b
movq 0x1067fce(%rip), %rax   # 0x1399508
movq %rax, -0x90(%rbp)
leaq 0x5fc10(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x90(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x33156d
movq 0x1067f94(%rip), %rax   # 0x1399508
movq %rax, -0x50(%rbp)
movq -0x28(%rbp), %rdi
movq -0x50(%rbp), %rsi
callq 0x44a80
jmp 0x3315a0
leaq 0x228f3(%rip), %rdi     # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x38(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rdx
addq $0xa0, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_zaC99BranchSplit_zaC99BranchSplit
static void mtw_mirth_c99_zaC99BranchSplit_zaC99BranchSplit (struct mirth_c99_zaC99* in_zaC99_1, struct mirth_c99_zaC99Stack in_zaC99Stack_2, struct std_list_List_1 in_List_3, struct std_list_List_1 in_List_4, bool in_Bool_5, bool in_Bool_6, struct mirth_c99_zaC99BranchSplit* *out_zaC99BranchSplit_7) {
	struct mirth_c99_zaC99BranchSplit* v8 = calloc(1, sizeof *v8);
	ASSERT(v8);
	v8->mreachablezeout = in_Bool_6;
	v8->mreachablezein = in_Bool_5;
	v8->mbranchzesplitzetarget = in_List_4;
	v8->menv = in_List_3;
	v8->mzastack = in_zaC99Stack_2;
	v8->mzac99 = in_zaC99_1;
	*out_zaC99BranchSplit_7 = v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl %r9d, %eax
movl %ecx, -0x4c(%rbp)
movq %rdx, %rcx
movl -0x4c(%rbp), %edx
movq %rcx, -0x48(%rbp)
movl %esi, %r9d
movq -0x48(%rbp), %rsi
movb %al, %cl
movq 0x28(%rbp), %rax
movb 0x20(%rbp), %al
leaq 0x10(%rbp), %r10
movq %r10, -0x40(%rbp)
movl %r9d, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl %edx, -0x20(%rbp)
movq %r8, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
andb $0x1, %cl
movb %cl, -0x29(%rbp)
andb $0x1, %al
movb %al, -0x2a(%rbp)
movl $0x1, %edi
movl $0x40, %esi
callq 0x50c0
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x332842
movl $0x2, %edi
leaq 0x3bb63(%rip), %rsi     # 0x36e387
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x332844
movq -0x40(%rbp), %rcx
movb -0x2a(%rbp), %dl
movq -0x38(%rbp), %rax
andb $0x1, %dl
movb %dl, 0x39(%rax)
movb -0x29(%rbp), %dl
movq -0x38(%rbp), %rax
andb $0x1, %dl
movb %dl, 0x38(%rax)
movq -0x38(%rbp), %rax
movq (%rcx), %rdx
movq %rdx, 0x28(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x30(%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 0x28(%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: mtp_mirth_c99_zaC99BranchSplit_zaC99BranchSplit
static void mtp_mirth_c99_zaC99BranchSplit_zaC99BranchSplit (struct mirth_c99_zaC99BranchSplit* in_zaC99BranchSplit_1, struct mirth_c99_zaC99* *out_zaC99_2, struct mirth_c99_zaC99Stack *out_zaC99Stack_3, struct std_list_List_1 *out_List_4, struct std_list_List_1 *out_List_5, bool *out_Bool_6, bool *out_Bool_7) {
	struct mirth_c99_zaC99BranchSplit v8 = *in_zaC99BranchSplit_1;
	free(in_zaC99BranchSplit_1);
	*out_Bool_7 = v8.mreachablezeout;
	*out_Bool_6 = v8.mreachablezein;
	*out_List_5 = v8.mbranchzesplitzetarget;
	*out_List_4 = v8.menv;
	*out_zaC99Stack_3 = v8.mzastack;
	*out_zaC99_2 = v8.mzac99;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq 0x10(%rbp), %rax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x8(%rbp), %rsi
leaq -0x70(%rbp), %rdi
movl $0x40, %edx
callq 0x50e0
movq -0x8(%rbp), %rdi
callq 0x5030
movb -0x37(%rbp), %cl
movq 0x10(%rbp), %rax
andb $0x1, %cl
movb %cl, (%rax)
movb -0x38(%rbp), %cl
movq -0x30(%rbp), %rax
andb $0x1, %cl
movb %cl, (%rax)
movq -0x28(%rbp), %rax
movq -0x48(%rbp), %rcx
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x20(%rbp), %rax
movq -0x58(%rbp), %rcx
movq %rcx, (%rax)
movq -0x50(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rax
movq -0x68(%rbp), %rcx
movq %rcx, (%rax)
movq -0x60(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x70(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_C99ReprType_vzemacro_1_sp4
static void mw_mirth_c99_C99ReprType_vzemacro_1_sp4 (STR* in_Str_1, struct mirth_c99_C99ReprType in_C99ReprType_2, struct mirth_mirth_zaMirth* in_zaMirth_3, struct mirth_c99_zaC99* in_zaC99_4, struct mirth_mirth_zaMirth* *out_zaMirth_5, struct mirth_c99_zaC99* *out_zaC99_6) {
	struct mirth_mirth_zaMirth* v7;
	STR* v8;
	STR* v9 = mw_mirth_c99_C99ReprType_vzemacrozeprefixzesuffix(in_zaMirth_3, in_C99ReprType_2, &v7, &v8);
	struct mirth_mirth_zaMirth* v10;
	struct mirth_c99_zaC99* v11;
	mw_mirth_c99_zaC99_put(v7, in_zaC99_4, v9, &v10, &v11);
	struct mirth_mirth_zaMirth* v12;
	struct mirth_c99_zaC99* v13;
	mw_mirth_c99_zaC99_put(v10, v11, in_Str_1, &v12, &v13);
	struct mirth_mirth_zaMirth* v14;
	struct mirth_c99_zaC99* v15;
	mw_mirth_c99_zaC99_put(v12, v13, v8, &v14, &v15);
	*out_zaC99_6 = v15;
	*out_zaMirth_5 = v14;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq 0x10(%rbp), %rax
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x20(%rbp), %rdi
movl -0x10(%rbp), %esi
movq -0x8(%rbp), %rdx
leaq -0x38(%rbp), %rcx
leaq -0x40(%rbp), %r8
callq 0x2965f0
movq %rax, -0x48(%rbp)
movq -0x38(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq -0x48(%rbp), %rdx
leaq -0x50(%rbp), %rcx
leaq -0x58(%rbp), %r8
callq 0x220040
movq -0x50(%rbp), %rdi
movq -0x58(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x60(%rbp), %rcx
leaq -0x68(%rbp), %r8
callq 0x220040
movq -0x60(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq -0x40(%rbp), %rdx
leaq -0x70(%rbp), %rcx
leaq -0x78(%rbp), %r8
callq 0x220040
movq -0x78(%rbp), %rcx
movq 0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x70(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_c99zereversezetagzx
static void mw_mirth_c99_c99zereversezetagzx (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;
	bool v7 = mw_mirth_data_Tag_preferzeinlinezy(in_zaMirth_1, in_Tag_3, &v6);
	struct mirth_mirth_zaMirth* branch_zaMirth_8;
	struct mirth_c99_zaC99Branch* branch_zaC99Branch_9;
	if (v7) {
		struct mirth_mirth_zaMirth* v10;
		struct mirth_c99_zaC99Branch* v11;
		mw_mirth_c99_c99zereversezetagzebodyzx(v6, in_zaC99Branch_2, in_Tag_3, &v10, &v11);
		branch_zaC99Branch_9 = v11;
		branch_zaMirth_8 = v10;
	} else {
		struct std_list_List_1 v12 = { .tag=std_list_List_1_Nil };
		struct mirth_c99_zaC99* r13 = in_zaC99Branch_2->mzac99;
		struct mirth_mirth_zaMirth* v14;
		struct mirth_c99_zaC99* v15;
		struct mirth_c99_C99API* v16 = mw_mirth_data_Tag_patzec99zeapi(v6, r13, in_Tag_3, &v14, &v15);
		in_zaC99Branch_2->mzac99 = v15;
		struct mirth_mirth_zaMirth* v17;
		struct mirth_c99_zaC99Branch* v18;
		mw_mirth_c99_c99zesmartzecallzx(v14, in_zaC99Branch_2, v12, v16, &v17, &v18);
		branch_zaC99Branch_9 = v18;
		branch_zaMirth_8 = v17;
	}
	*out_zaC99Branch_5 = branch_zaC99Branch_9;
	*out_zaMirth_4 = branch_zaMirth_8;
}

// 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 %r8, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x27acc0
andb $0x1, %al
movb %al, -0x31(%rbp)
testb $0x1, -0x31(%rbp)
je 0x341e79
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x50(%rbp), %rcx
leaq -0x58(%rbp), %r8
callq 0x27e4d0
movq -0x58(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0x341f02
leaq -0x68(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x70(%rbp)
movq -0x30(%rbp), %rdi
movq -0x70(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x78(%rbp), %rcx
leaq -0x80(%rbp), %r8
callq 0x27e2b0
movq %rax, -0x88(%rbp)
movq -0x80(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x78(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x88(%rbp), %r8
movl -0x68(%rbp), %edx
movq -0x60(%rbp), %rcx
leaq -0x90(%rbp), %r9
leaq -0x98(%rbp), %rax
movq %rax, (%rsp)
callq 0x324f80
movq -0x98(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq -0x20(%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: mw_mirth_c99_zaC99Value_peekzedatazetag
static STR* mw_mirth_c99_zaC99Value_peekzedatazetag (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Value* in_zaC99Value_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_c99_zaC99Value* *out_zaC99Value_4) {
	STR* v6 = in_zaC99Value_2->mvaluezename;
	incref(MKSTR(v6));
	struct mirth_c99_C99ReprType v7 = in_zaC99Value_2->mvaluezerepr;
	incref(MK_mirth_c99_C99ReprType(v7));
	struct mirth_mirth_zaMirth* v8;
	STR* v9 = mw_mirth_c99_C99ReprType_getzedatazetag(in_zaMirth_1, v6, v7, &v8);
	*out_zaC99Value_4 = in_zaC99Value_2;
	*out_zaMirth_3 = v8;
	return v9;
}

// 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 -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x4f1f2(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x341ff8
movq -0x28(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x4f1cd(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x48(%rbp), %rax
cmpq $0x0, %rax
je 0x341ff8
movq -0x28(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x4f1a2(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x58(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x341ff8
movq -0x28(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x4f17d(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x341ffa
movq -0x10(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x78(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x70(%rbp)
movl -0x78(%rbp), %edi
movq -0x70(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
movq -0x80(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x3420c4
movl -0x78(%rbp), %edi
movq -0x70(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x98(%rbp), %rax
cmpq $0x0, %rax
je 0x3420c4
movl -0x78(%rbp), %edi
movq -0x70(%rbp), %rsi
callq 0x2315b0
movq %rax, -0xa8(%rbp)
movq %rdx, -0xa0(%rbp)
movq -0xa8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x3420c4
movl -0x78(%rbp), %edi
movq -0x70(%rbp), %rsi
callq 0x2315b0
movq %rax, -0xb8(%rbp)
movq %rdx, -0xb0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xb8(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x3420c6
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rsi
movl -0x78(%rbp), %edx
movq -0x70(%rbp), %rcx
leaq -0xc0(%rbp), %r8
callq 0x342310
movq %rax, -0xc8(%rbp)
movq -0x10(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0xc0(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0xc8(%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_data_Tag_valuezeshow
static STR* mw_mirth_data_Tag_valuezeshow (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Tag_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_data_Tag_ztvaluezeshow, in_Tag_2);
	bool v6 = mut_is_set(v5);
	struct mirth_mirth_zaMirth* branch_zaMirth_7;
	uint64_t branch_Tag_8;
	STR* branch_Str_9;
	if (v6) {
		VAL v10 = mut_get(v5);
		branch_Str_9 = value_str(v10);
		branch_Tag_8 = in_Tag_2;
		branch_zaMirth_7 = in_zaMirth_1;
	} else {
		struct mirth_mirth_zaMirth* v11;
		INT v12 = mw_mirth_data_Tag_value(in_zaMirth_1, in_Tag_2, &v11);
		STR* v13 = int_to_str(v12);
		incref(MKSTR(v13));
		mut_set(MKSTR(v13), v5);
		branch_Str_9 = v13;
		branch_Tag_8 = in_Tag_2;
		branch_zaMirth_7 = v11;
	}
	*out_zaMirth_3 = branch_zaMirth_7;
	return branch_Str_9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x10555ee(%rip), %rdi   # 0x1399800
callq 0x40d30
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x45e40
andb $0x1, %al
movb %al, -0x21(%rbp)
testb $0x1, -0x21(%rbp)
je 0x344266
movq -0x20(%rbp), %rdi
callq 0x40f30
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0xb980
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x344393
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0x19fe30
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rdi
callq 0x211e0
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x4cec1(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x344345
movq -0x68(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x4ce95(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
cmpq $0x0, %rax
je 0x344345
movq -0x68(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x4ce64(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movq -0x98(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x344345
movq -0x68(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x4ce36(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0xa0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xa8(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x344347
movq -0x68(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq 0x4cdff(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movq -0x20(%rbp), %rdx
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rsi
callq 0x431a0
movq -0x68(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rax
addq $0xc0, %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_zaC99BranchSplit_c99zeline_1_sp6
static void mw_mirth_c99_zaC99BranchSplit_c99zeline_1_sp6 (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99BranchSplit* in_zaC99BranchSplit_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_c99_zaC99BranchSplit* *out_zaC99BranchSplit_4) {
	bool v5 = in_zaC99BranchSplit_2->mreachablezein;
	struct mirth_c99_zaC99* r6 = in_zaC99BranchSplit_2->mzac99;
	bool v7 = r6->mputzeenabled;
	bool v8 = (v5 && v7);
	r6->mputzeenabled = v8;
	struct mirth_mirth_zaMirth* v9;
	struct mirth_c99_zaC99* v10;
	mw_mirth_c99_zaC99_c99zeline_1_sp30(in_zaMirth_1, r6, &v9, &v10);
	v10->mputzeenabled = v7;
	in_zaC99BranchSplit_2->mzac99 = v10;
	*out_zaC99BranchSplit_4 = in_zaC99BranchSplit_2;
	*out_zaMirth_3 = v9;
}

// 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 -0x10(%rbp), %rax
movb 0x38(%rax), %al
andb $0x1, %al
movb %al, -0x21(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movb 0x18(%rax), %al
andb $0x1, %al
movb %al, -0x31(%rbp)
xorl %eax, %eax
testb $0x1, -0x21(%rbp)
movb %al, -0x49(%rbp)
je 0x3443fc
movb -0x31(%rbp), %al
movb %al, -0x49(%rbp)
movb -0x49(%rbp), %al
andb $0x1, %al
movb %al, -0x32(%rbp)
movb -0x32(%rbp), %cl
movq -0x30(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x18(%rax)
movq -0x8(%rbp), %rdi
movq -0x30(%rbp), %rsi
leaq -0x40(%rbp), %rdx
leaq -0x48(%rbp), %rcx
callq 0x279560
movb -0x31(%rbp), %cl
movq -0x48(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x18(%rax)
movq -0x48(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_popzevalueszetozeenvzx
static void mw_mirth_c99_popzevalueszetozeenvzx (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) {
	struct std_list_List_1 v6 = mw_std_list_List_1_reverse(in_List_3);
	struct mirth_mirth_zaMirth* v7;
	struct mirth_c99_zaC99Branch* v8;
	mw_mirth_c99_reversezepopzevalueszetozeenvzx(in_zaMirth_1, in_zaC99Branch_2, v6, &v7, &v8);
	*out_zaC99Branch_5 = v8;
	*out_zaMirth_4 = v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x122b0
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movl -0x40(%rbp), %edx
movq -0x38(%rbp), %rcx
leaq -0x48(%rbp), %r8
leaq -0x50(%rbp), %r9
callq 0x344800
movq -0x50(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x48(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_C99Var_C99Var
static struct mirth_c99_C99Var* mtw_mirth_c99_C99Var_C99Var (uint64_t in_Var_1, STR* in_Str_2, struct mirth_c99_C99ReprType in_C99ReprType_3) {
	struct mirth_c99_C99Var* v5 = calloc(1, sizeof *v5);
	ASSERT(v5);
	v5->refs = 1;
	v5->mvaluezerepr = in_C99ReprType_3;
	v5->mvaluezename = in_Str_2;
	v5->mvarzevar = in_Var_1;
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movl $0x1, %edi
movl $0x28, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x344cfb
movl $0x2, %edi
leaq 0x2997a(%rip), %rsi     # 0x36e657
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x344cfd
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x20(%rax)
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x28(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_c99_C99Var_C99Var
static void mtp_mirth_c99_C99Var_C99Var (struct mirth_c99_C99Var* in_C99Var_1, uint64_t *out_Var_2, STR* *out_Str_3, struct mirth_c99_C99ReprType *out_C99ReprType_4) {
	struct mirth_c99_C99Var v5 = *in_C99Var_1;
	if (!--(in_C99Var_1->refs)) {
		free(in_C99Var_1);
	} else {
		incref(MKSTR(v5.mvaluezename));
		incref(MK_mirth_c99_C99ReprType(v5.mvaluezerepr));
	}
	*out_C99ReprType_4 = v5.mvaluezerepr;
	*out_Str_3 = v5.mvaluezename;
	*out_Var_2 = v5.mvarzevar;
}

// 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 -0x8(%rbp), %rsi
leaq -0x48(%rbp), %rdi
movl $0x28, %edx
callq 0x50e0
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x3457ab
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x34591d
jmp 0x3457ad
movq -0x38(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x4b99c(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x345858
movq -0x38(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x4b973(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
cmpq $0x0, %rax
je 0x345858
movq -0x38(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x4b948(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x78(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x345858
movq -0x38(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x4b920(%rip), %rax     # 0x391158
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x34585a
jmp 0x34585c
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
movq -0x90(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x345919
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x2315b0
movq %rax, -0xa8(%rbp)
movq %rdx, -0xa0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xa8(%rbp), %rax
cmpq $0x0, %rax
je 0x345919
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x2315b0
movq %rax, -0xb8(%rbp)
movq %rdx, -0xb0(%rbp)
movq -0xb8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x345919
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x2315b0
movq %rax, -0xc8(%rbp)
movq %rdx, -0xc0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xc8(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x34591b
jmp 0x34591d
movq -0x20(%rbp), %rax
movq -0x30(%rbp), %rcx
movq %rcx, (%rax)
movq -0x28(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x38(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
addq $0xd0, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_c99zevarzerunzx
static void mw_mirth_c99_c99zevarzerunzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, uint64_t in_Var_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99Branch* *out_zaC99Branch_5) {
	struct mirth_mirth_zaMirth* v6;
	struct mirth_c99_zaC99Branch* v7;
	struct mirth_c99_zaC99Value* v8;
	mw_mirth_c99_zaC99Branch_varzedupzx(in_zaMirth_1, in_zaC99Branch_2, in_Var_3, &v6, &v7, &v8);
	struct mirth_mirth_zaMirth* v9;
	struct mirth_c99_zaC99Branch* v10;
	mw_mirth_c99_zaC99Value_runzevaluezx(v6, v7, v8, &v9, &v10);
	*out_zaC99Branch_5 = v10;
	*out_zaMirth_4 = v9;
}

// 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 -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x30(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x40(%rbp), %r9
callq 0x345a30
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %rdx
leaq -0x48(%rbp), %rcx
leaq -0x50(%rbp), %r8
callq 0x32e2c0
movq -0x50(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x48(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Branch_varzedupzx
static void mw_mirth_c99_zaC99Branch_varzedupzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, uint64_t in_Var_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99Branch* *out_zaC99Branch_5, struct mirth_c99_zaC99Value* *out_zaC99Value_6) {
	struct mirth_mirth_zaMirth* v7;
	struct mirth_c99_zaC99Branch* v8;
	struct mirth_c99_zaC99Value* v9;
	mw_mirth_c99_zaC99Branch_varzegetzx(in_zaMirth_1, in_zaC99Branch_2, in_Var_3, &v7, &v8, &v9);
	struct mirth_mirth_zaMirth* v10;
	struct mirth_c99_zaC99Branch* v11;
	struct mirth_c99_zaC99Value* v12;
	struct mirth_c99_zaC99Value* v13;
	mw_mirth_c99_zaC99Value_dupzevaluezx(v7, v8, v9, &v10, &v11, &v12, &v13);
	mw_mirth_c99_zaC99Value_rdrop(v13);
	*out_zaC99Value_6 = v12;
	*out_zaC99Branch_5 = v11;
	*out_zaMirth_4 = v10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x38(%rbp), %rcx
leaq -0x40(%rbp), %r8
leaq -0x48(%rbp), %r9
callq 0x345ad0
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
leaq -0x50(%rbp), %rcx
leaq -0x58(%rbp), %r8
leaq -0x60(%rbp), %r9
leaq -0x68(%rbp), %rax
movq %rax, (%rsp)
callq 0x32b4f0
movq -0x68(%rbp), %rdi
callq 0x29e110
movq -0x60(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x58(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x50(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99ValuezfResource_zafor_2_sp3
static void mw_mirth_c99_zaC99ValuezfResource_zafor_2_sp3 (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct std_either_zaEither_2 in_zaC99ValuezfResource_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99Branch* *out_zaC99Branch_5) {
	struct mirth_mirth_zaMirth* branch_zaMirth_6;
	struct mirth_c99_zaC99Branch* branch_zaC99Branch_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;
			struct mirth_c99_zaC99Branch* v10;
			mw_mirth_c99_zaC99Value_dropzevaluezx(in_zaMirth_1, in_zaC99Branch_2, V_mirth_c99_zaC99Value(v8), &v9, &v10);
			branch_zaC99Branch_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;
			struct mirth_c99_zaC99Branch* v13;
			mw_mirth_c99_zaC99Resource_pushzeresourcezx(in_zaMirth_1, in_zaC99Branch_2, V_mirth_c99_zaC99Resource(v11), &v12, &v13);
			branch_zaC99Branch_7 = v13;
			branch_zaMirth_6 = v12;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaC99Branch_5 = branch_zaC99Branch_7;
	*out_zaMirth_4 = branch_zaMirth_6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl -0x10(%rbp), %eax
movl %eax, -0x84(%rbp)
testl %eax, %eax
je 0x347dbe
jmp 0x347db1
movl -0x84(%rbp), %eax
subl $0x1, %eax
je 0x347df9
jmp 0x347e34
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x50(%rbp), %rdx
callq 0x29e0c0
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x50(%rbp), %rdx
leaq -0x58(%rbp), %rcx
leaq -0x60(%rbp), %r8
callq 0x32b090
movq -0x60(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x347e4d
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x70(%rbp), %rdx
callq 0x29e300
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x70(%rbp), %rdx
leaq -0x78(%rbp), %rcx
leaq -0x80(%rbp), %r8
callq 0x28cca0
movq -0x80(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x347e4d
leaq 0xc046(%rip), %rdi      # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x40(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
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_data_Tag_semizetransparentzy
static struct std_maybe_Maybe_1 mw_mirth_data_Tag_semizetransparentzy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Tag_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	uint64_t v6 = mw_mirth_data_Tag_data(in_zaMirth_1, in_Tag_2, &v5);
	struct mirth_mirth_zaMirth* v7;
	struct std_maybe_Maybe_1 v8 = mw_mirth_data_Data_semizetransparentzy(v5, v6, &v7);
	*out_zaMirth_3 = v7;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x57890
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x1ad2e0
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x40(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Resource_dupzeresourcezeaszevaluezx
static void mw_mirth_c99_zaC99Resource_dupzeresourcezeaszevaluezx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct mirth_c99_zaC99Resource* in_zaC99Resource_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99Branch* *out_zaC99Branch_5, struct mirth_c99_zaC99Resource* *out_zaC99Resource_6, struct mirth_c99_zaC99Value* *out_zaC99Value_7) {
	struct mirth_c99_zaC99Resource* v8;
	struct mirth_c99_zaC99Resource* v9;
	mw_mirth_c99_zaC99Resource_rdup(in_zaC99Resource_3, &v8, &v9);
	struct mirth_c99_zaC99Value* v10;
	mw_mirth_c99_zaC99Resource_turnzeintozevaluezx(v9, &v10);
	struct mirth_mirth_zaMirth* v11;
	struct mirth_c99_zaC99Branch* v12;
	struct mirth_c99_zaC99Value* v13;
	struct mirth_c99_zaC99Value* v14;
	mw_mirth_c99_zaC99Value_dupzevaluezx(in_zaMirth_1, in_zaC99Branch_2, v10, &v11, &v12, &v13, &v14);
	mw_mirth_c99_zaC99Value_rdrop(v14);
	*out_zaC99Value_7 = v13;
	*out_zaC99Resource_6 = v8;
	*out_zaC99Branch_5 = v12;
	*out_zaMirth_4 = v11;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq 0x10(%rbp), %rax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x18(%rbp), %rdi
leaq -0x38(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x32e0f0
movq -0x40(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2a3920
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x48(%rbp), %rdx
leaq -0x50(%rbp), %rcx
leaq -0x58(%rbp), %r8
leaq -0x60(%rbp), %r9
leaq -0x68(%rbp), %rax
movq %rax, (%rsp)
callq 0x32b4f0
movq -0x68(%rbp), %rdi
callq 0x29e110
movq -0x60(%rbp), %rcx
movq 0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x58(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x50(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_zaC99Resource_dropzeresourcezeaszevaluezx
static void mw_mirth_c99_zaC99Resource_dropzeresourcezeaszevaluezx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99Branch* in_zaC99Branch_2, struct mirth_c99_zaC99Resource* in_zaC99Resource_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct mirth_c99_zaC99Branch* *out_zaC99Branch_5) {
	struct mirth_c99_zaC99Value* v6;
	mw_mirth_c99_zaC99Resource_turnzeintozevaluezx(in_zaC99Resource_3, &v6);
	struct mirth_mirth_zaMirth* v7;
	struct mirth_c99_zaC99Branch* v8;
	mw_mirth_c99_zaC99Value_dropzevaluezx(in_zaMirth_1, in_zaC99Branch_2, v6, &v7, &v8);
	*out_zaC99Branch_5 = v8;
	*out_zaMirth_4 = 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 %r8, -0x28(%rbp)
movq -0x18(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x2a3920
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x30(%rbp), %rdx
leaq -0x38(%rbp), %rcx
leaq -0x40(%rbp), %r8
callq 0x32b090
movq -0x40(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_C99DataRepr_structzy
static struct std_maybe_Maybe_1 mw_mirth_c99_C99DataRepr_structzy (struct mirth_c99_C99DataRepr in_C99DataRepr_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_C99DataRepr_1).tag) {
		case mirth_c99_C99DataRepr_Struct: {
			struct mirth_c99_C99DataStructRepr* v4 = mtp_mirth_c99_C99DataRepr_Struct(in_C99DataRepr_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_C99DataRepr(in_C99DataRepr_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 $0x3, %eax
jne 0x348d0c
jmp 0x348cbc
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x23e060
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x4a2dd(%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 0x348e10
jmp 0x348d0e
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x22f3b0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x50(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x348de5
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x22f3b0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
cmpq $0x0, %rax
je 0x348de5
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x22f3b0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x78(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x348de5
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x22f3b0
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 0x348de3
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x22f3b0
movq %rax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
callq 0x127c0
jmp 0x348de5
jmp 0x348de7
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