LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_number_Base_lastzedigit
static INT mw_std_number_Base_lastzedigit (INT in_Nat_1, INT in_Base_2, enum std_byte_Byte *out_Byte_4) {
	INT v5 = in_Nat_1;
	INT v6 = in_Base_2;
	INT v7;
	INT v8 = int_divmod(v5, v6, &v7);
	INT v9 = v7;
	INT v10 = v8;
	INT v11 = v9;
	uint64_t v12 = int_to_u64(v11);
	uint8_t v13 = (uint8_t)(v12);
	uint8_t v14 = 10;
	uint64_t v15 = (uint64_t)(v14);
	uint32_t v16 = (uint32_t)(v15);
	uint64_t v17 = (uint64_t)(v13);
	uint32_t v18 = (uint32_t)(v17);
	uint64_t v19 = (uint64_t)(v18);
	uint64_t v20 = (uint64_t)(v16);
	bool v21 = (v19 < v20);
	INT branch_Nat_22;
	uint8_t branch_U8_23;
	uint8_t branch_U8_24;
	if (v21) {
		uint8_t v25 = 48;
		branch_U8_24 = v25;
		branch_U8_23 = v13;
		branch_Nat_22 = v10;
	} else {
		uint8_t v26 = 55;
		branch_U8_24 = v26;
		branch_U8_23 = v13;
		branch_Nat_22 = v10;
	}
	uint64_t v27 = (uint64_t)(branch_U8_23);
	uint64_t v28 = (uint64_t)(branch_U8_24);
	uint64_t v29 = (v27 + v28);
	uint8_t v30 = (uint8_t)(v29);
	uint64_t v31 = (uint64_t)(v30);
	INT v32 = u64_to_int(v31);
	int64_t v33 = int_to_i64(v32);
	*out_Byte_4 = ((enum std_byte_Byte)v33);
	return branch_Nat_22;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0x41390
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
callq 0x1b680
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movb %al, -0x61(%rbp)
movb $0xa, -0x62(%rbp)
movzbl -0x62(%rbp), %eax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movl %eax, -0x74(%rbp)
movzbl -0x61(%rbp), %eax
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
movl %eax, -0x84(%rbp)
movl -0x84(%rbp), %eax
movq %rax, -0x90(%rbp)
movl -0x74(%rbp), %eax
movq %rax, -0x98(%rbp)
movq -0x90(%rbp), %rax
cmpq -0x98(%rbp), %rax
setb %al
andb $0x1, %al
movb %al, -0x99(%rbp)
testb $0x1, -0x99(%rbp)
je 0x24c53c
movb $0x30, -0x9c(%rbp)
movb -0x9c(%rbp), %al
movb %al, -0x9b(%rbp)
movb -0x61(%rbp), %al
movb %al, -0x9a(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x24c560
movb $0x37, -0x9d(%rbp)
movb -0x9d(%rbp), %al
movb %al, -0x9b(%rbp)
movb -0x61(%rbp), %al
movb %al, -0x9a(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
movzbl -0x9a(%rbp), %eax
movq %rax, -0xa8(%rbp)
movzbl -0x9b(%rbp), %eax
movq %rax, -0xb0(%rbp)
movq -0xa8(%rbp), %rax
addq -0xb0(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0xb8(%rbp), %rax
movb %al, -0xb9(%rbp)
movzbl -0xb9(%rbp), %eax
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rdi
callq 0x1b520
movq %rax, -0xd0(%rbp)
movq -0xd0(%rbp), %rdi
callq 0xc6c0
movq %rax, -0xd8(%rbp)
movq -0xd8(%rbp), %rax
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
addq $0xe0, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_C99DataTransRepr_needszerefcountingzy
static bool mw_mirth_c99_C99DataTransRepr_needszerefcountingzy (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99DataTransRepr* in_C99DataTransRepr_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_c99_C99ReprType v5 = in_C99DataTransRepr_2->mc99zerepr;
	incref(MK_mirth_c99_C99ReprType(v5));
	decref(MK_mirth_c99_C99DataTransRepr(in_C99DataTransRepr_2));
	struct mirth_mirth_zaMirth* v6;
	bool v7 = mw_mirth_c99_C99ReprType_needszerefcountingzy(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 0x30(%rax), %rcx
movq %rcx, -0x28(%rbp)
movq 0x38(%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 0x24c6b0
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 0x24c6b0
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 0x24c6b0
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 0x24c6b2
jmp 0x24c6b4
movq -0x10(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x1468ad(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x24c7ac
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x146881(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
cmpq $0x0, %rax
je 0x24c7ac
movq -0x10(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x14684c(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movq -0x98(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x24c7ac
movq -0x10(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x14681e(%rip), %rax    # 0x392f70
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 0x24c7aa
movq -0x10(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq 0x1467e4(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rsi
callq 0x127c0
jmp 0x24c7ac
jmp 0x24c7ae
movq -0x8(%rbp), %rdi
movl -0x28(%rbp), %esi
movq -0x20(%rbp), %rdx
leaq -0xc0(%rbp), %rcx
callq 0x24c9f0
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: mw_mirth_c99_C99DataTransRepr_stride
static STR* mw_mirth_c99_C99DataTransRepr_stride (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99DataTransRepr* in_C99DataTransRepr_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_tycon_Tycon v5 = in_C99DataTransRepr_2->minputzetycon;
	incref(MK_mirth_tycon_Tycon(v5));
	decref(MK_mirth_c99_C99DataTransRepr(in_C99DataTransRepr_2));
	struct mirth_mirth_zaMirth* v6;
	STR* v7 = mw_mirth_tycon_Tycon_c99zereprzestride(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 0x20(%rax), %rcx
movq %rcx, -0x28(%rbp)
movq 0x28(%rax), %rax
movq %rax, -0x20(%rbp)
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x59b10
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x30(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x24c8b0
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x59b10
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x48(%rbp), %rax
cmpq $0x0, %rax
je 0x24c8b0
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x59b10
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x58(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x24c8b0
movl -0x28(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x59b10
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 0x24c8b2
jmp 0x24c8b4
movq -0x10(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x1466ad(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x24c9ac
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x146681(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
cmpq $0x0, %rax
je 0x24c9ac
movq -0x10(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x14664c(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movq -0x98(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x24c9ac
movq -0x10(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x14661e(%rip), %rax    # 0x392f70
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 0x24c9aa
movq -0x10(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq 0x1465e4(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rsi
callq 0x127c0
jmp 0x24c9ac
jmp 0x24c9ae
movq -0x8(%rbp), %rdi
movl -0x28(%rbp), %esi
movq -0x20(%rbp), %rdx
leaq -0xc0(%rbp), %rcx
callq 0x24d280
movq %rax, -0xc8(%rbp)
movq -0xc0(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0xc8(%rbp), %rax
addq $0xd0, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_c99_C99ReprType_Table
static uint64_t mtp_mirth_c99_C99ReprType_Table (struct mirth_c99_C99ReprType in_C99ReprType_1) {
	struct mirth_c99_C99ReprType_Table v3 = *in_C99ReprType_1.ptr.Table;
	if (!--(in_C99ReprType_1.ptr.Table->refs)) {
		free(in_C99ReprType_1.ptr.Table);
	} else {
	}
	return v3.mTable;
}

// 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 0x24cd0d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x24cd0f
jmp 0x24cd0f
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: mtp_mirth_c99_C99ReprType_Data
static uint64_t mtp_mirth_c99_C99ReprType_Data (struct mirth_c99_C99ReprType in_C99ReprType_1) {
	struct mirth_c99_C99ReprType_Data v3 = *in_C99ReprType_1.ptr.Data;
	if (!--(in_C99ReprType_1.ptr.Data->refs)) {
		free(in_C99ReprType_1.ptr.Data);
	} else {
	}
	return v3.mData;
}

// 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 0x24cd5d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x24cd5f
jmp 0x24cd5f
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_c99_C99DataStructRepr_needszerefcountingzy
static bool mw_mirth_c99_C99DataStructRepr_needszerefcountingzy (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99DataStructRepr* in_C99DataStructRepr_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	uint64_t v5 = in_C99DataStructRepr_2->mtag;
	decref(MK_mirth_c99_C99DataStructRepr(in_C99DataStructRepr_2));
	struct mirth_mirth_zaMirth* v6;
	bool v7 = mw_mirth_data_Tag_outputszeresourcezy(in_zaMirth_1, v5, &v6);
	bool v8 = !v7;
	*out_zaMirth_3 = v6;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x145f66(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x24d113
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x145f3d(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x24d113
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x145f12(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x24d113
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x145eed(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x24d111
movq -0x10(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x145ebc(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x127c0
jmp 0x24d113
jmp 0x24d115
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x19fc10
andb $0x1, %al
movb %al, -0x79(%rbp)
movb -0x79(%rbp), %al
xorb $-0x1, %al
andb $0x1, %al
movb %al, -0x7a(%rbp)
movq -0x78(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movb -0x7a(%rbp), %al
andb $0x1, %al
addq $0x80, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_C99DataSumRepr_needszerefcountingzy
static bool mw_mirth_c99_C99DataSumRepr_needszerefcountingzy (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99DataSumRepr* in_C99DataSumRepr_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	uint64_t v5 = in_C99DataSumRepr_2->mdata;
	decref(MK_mirth_c99_C99DataSumRepr(in_C99DataSumRepr_2));
	struct mirth_mirth_zaMirth* v6;
	bool v7 = mw_mirth_data_Data_iszeresourcezy(in_zaMirth_1, v5, &v6);
	bool v8 = !v7;
	*out_zaMirth_3 = v6;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x145e7e(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x24d243
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x145e55(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x24d243
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x145e2a(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x24d243
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x145e05(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x24d241
movq -0x10(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x145dd4(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x127c0
jmp 0x24d243
jmp 0x24d245
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x74100
andb $0x1, %al
movb %al, -0x79(%rbp)
movb -0x79(%rbp), %al
xorb $-0x1, %al
andb $0x1, %al
movb %al, -0x7a(%rbp)
movq -0x78(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movb -0x7a(%rbp), %al
andb $0x1, %al
addq $0x80, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_C99DataStructRepr_stride
static VAL mw_mirth_c99_C99DataStructRepr_stride (struct mirth_c99_C99DataStructRepr* in_C99DataStructRepr_1) {
	decref(MK_mirth_c99_C99DataStructRepr(in_C99DataStructRepr_1));
	STR* v3;
	STRLIT(v3, "sizeof(void*)", 13);
	return MKSTR(v3);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x143fca(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x24f0af
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x143fa1(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x24f0af
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x143f76(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x24f0af
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x143f51(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x24f0ad
movq -0x18(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x143f20(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x24f0af
jmp 0x24f0b1
jmp 0x24f0b3
cmpq $0x0, 0x1147ebd(%rip)   # 0x1396f78
jne 0x24f0d5
leaq 0x11de19(%rip), %rdi    # 0x36cedd
movl $0xd, %esi
callq 0xb6c0
movq %rax, 0x1147ea3(%rip)   # 0x1396f78
jmp 0x24f0d7
movq 0x1147e9a(%rip), %rax   # 0x1396f78
movq %rax, -0x80(%rbp)
leaq 0x14206f(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x24f1a3
movq 0x1147e6e(%rip), %rax   # 0x1396f78
movq %rax, -0x90(%rbp)
leaq 0x142040(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x90(%rbp), %rax
cmpq $0x0, %rax
je 0x24f1a3
movq 0x1147e37(%rip), %rax   # 0x1396f78
movq %rax, -0xa0(%rbp)
leaq 0x142009(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x98(%rbp)
movq -0xa0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x24f1a3
movq 0x1147e06(%rip), %rax   # 0x1396f78
movq %rax, -0xb0(%rbp)
leaq 0x141fd8(%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 0x24f1a5
movq 0x1147dcc(%rip), %rax   # 0x1396f78
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x141f99(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rdx
addq $0xb0, %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_C99DataSumRepr_stride
static VAL mw_mirth_c99_C99DataSumRepr_stride (struct mirth_c99_C99DataSumRepr* in_C99DataSumRepr_1) {
	decref(MK_mirth_c99_C99DataSumRepr(in_C99DataSumRepr_1));
	STR* v3;
	STRLIT(v3, "8", 1);
	return MKSTR(v3);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x143e02(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x24f2bf
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x143dd9(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x24f2bf
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x143dae(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x24f2bf
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x143d89(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x24f2bd
movq -0x18(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x143d58(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x24f2bf
jmp 0x24f2c1
jmp 0x24f2c3
cmpq $0x0, 0x1147cb5(%rip)   # 0x1396f80
jne 0x24f2e5
leaq 0x11de6c(%rip), %rdi    # 0x36d140
movl $0x1, %esi
callq 0xb6c0
movq %rax, 0x1147c9b(%rip)   # 0x1396f80
jmp 0x24f2e7
movq 0x1147c92(%rip), %rax   # 0x1396f80
movq %rax, -0x80(%rbp)
leaq 0x141e5f(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x24f3b3
movq 0x1147c66(%rip), %rax   # 0x1396f80
movq %rax, -0x90(%rbp)
leaq 0x141e30(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x90(%rbp), %rax
cmpq $0x0, %rax
je 0x24f3b3
movq 0x1147c2f(%rip), %rax   # 0x1396f80
movq %rax, -0xa0(%rbp)
leaq 0x141df9(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x98(%rbp)
movq -0xa0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x24f3b3
movq 0x1147bfe(%rip), %rax   # 0x1396f80
movq %rax, -0xb0(%rbp)
leaq 0x141dc8(%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 0x24f3b5
movq 0x1147bc4(%rip), %rax   # 0x1396f80
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x141d89(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rdx
addq $0xb0, %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_C99DataStructRepr_data
static uint64_t mw_mirth_c99_C99DataStructRepr_data (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99DataStructRepr* in_C99DataStructRepr_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	uint64_t v5 = in_C99DataStructRepr_2->mtag;
	decref(MK_mirth_c99_C99DataStructRepr(in_C99DataStructRepr_2));
	struct mirth_mirth_zaMirth* v6;
	uint64_t v7 = mw_mirth_data_Tag_data(in_zaMirth_1, v5, &v6);
	*out_zaMirth_3 = v6;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x143b96(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x24f4e3
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x143b6d(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x24f4e3
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x143b42(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x24f4e3
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x143b1d(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x24f4e1
movq -0x10(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x143aec(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x127c0
jmp 0x24f4e3
jmp 0x24f4e5
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x57890
movq %rax, -0x80(%rbp)
movq -0x78(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x80(%rbp), %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_C99DataSumRepr_cname
static STR* mw_mirth_c99_C99DataSumRepr_cname (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99DataSumRepr* in_C99DataSumRepr_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	uint64_t v5 = in_C99DataSumRepr_2->mdata;
	decref(MK_mirth_c99_C99DataSumRepr(in_C99DataSumRepr_2));
	struct mirth_mirth_zaMirth* v6;
	STR* v7 = mw_mirth_data_Data_cname(in_zaMirth_1, v5, &v6);
	*out_zaMirth_3 = v6;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x14314e(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x24ff73
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x143125(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x24ff73
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x1430fa(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x24ff73
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x1430d5(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x24ff71
movq -0x10(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x1430a4(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x127c0
jmp 0x24ff73
jmp 0x24ff75
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x230390
movq %rax, -0x80(%rbp)
movq -0x78(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x80(%rbp), %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_tycon_Tycon_c99zereprzeprefix
static STR* mw_mirth_tycon_Tycon_c99zereprzeprefix (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_tycon_Tycon in_Tycon_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* branch_zaMirth_5;
	STR* branch_Str_6;
	switch ((in_Tycon_2).tag) {
		case mirth_tycon_Tycon_Prim: {
			enum mirth_type_PrimType v7 = mtp_mirth_tycon_Tycon_Prim(in_Tycon_2);
			struct mirth_mirth_zaMirth* v8;
			STR* v9 = mw_mirth_type_PrimType_c99zereprzeprefix(in_zaMirth_1, v7, &v8);
			branch_Str_6 = v9;
			branch_zaMirth_5 = v8;
		} break;
		case mirth_tycon_Tycon_Data: {
			uint64_t v10 = mtp_mirth_tycon_Tycon_Data(in_Tycon_2);
			struct mirth_mirth_zaMirth* v11;
			STR* v12 = mw_mirth_data_Data_cname(in_zaMirth_1, v10, &v11);
			branch_Str_6 = v12;
			branch_zaMirth_5 = v11;
		} break;
		case mirth_tycon_Tycon_Table: {
			uint64_t v13 = mtp_mirth_tycon_Tycon_Table(in_Tycon_2);
			struct mirth_mirth_zaMirth* v14;
			STR* v15 = mw_mirth_table_Table_cname(in_zaMirth_1, v13, &v14);
			branch_Str_6 = v15;
			branch_zaMirth_5 = v14;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_3 = branch_zaMirth_5;
	return branch_Str_6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl -0x10(%rbp), %eax
movl %eax, -0x7c(%rbp)
testl %eax, %eax
je 0x2683d6
jmp 0x268386
movl -0x7c(%rbp), %eax
subl $0x1, %eax
je 0x26840d
jmp 0x268390
movl -0x7c(%rbp), %eax
subl $0x2, %eax
jne 0x268444
jmp 0x26839e
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x5a4e0
movl %eax, -0x34(%rbp)
movq -0x18(%rbp), %rdi
movl -0x34(%rbp), %esi
leaq -0x40(%rbp), %rdx
callq 0x268dd0
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x26845d
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x5a440
movq %rax, -0x50(%rbp)
movq -0x18(%rbp), %rdi
movq -0x50(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0x230390
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x26845d
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x5a490
movq %rax, -0x68(%rbp)
movq -0x18(%rbp), %rdi
movq -0x68(%rbp), %rsi
leaq -0x70(%rbp), %rdx
callq 0x22a9d0
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x26845d
leaq 0xeba36(%rip), %rdi     # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %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_C99DataStructField_labelzy
static struct std_maybe_Maybe_1 mw_mirth_c99_C99DataStructField_labelzy (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99DataStructField* in_C99DataStructField_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_type_StackTypePart v5 = in_C99DataStructField_2->minput;
	incref(MK_mirth_type_StackTypePart(v5));
	decref(MK_mirth_c99_C99DataStructField(in_C99DataStructField_2));
	struct std_maybe_Maybe_1 v6 = mw_mirth_type_StackTypePart_label(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rcx
movq %rcx, -0x38(%rbp)
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x72dd0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2701a0
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x72dd0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x2701a0
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x72dd0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x2701a0
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x72dd0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x78(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x2701a2
jmp 0x2701a4
movq -0x20(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x122eda(%rip), %rax    # 0x393090
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2702a2
movq -0x20(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x122eae(%rip), %rax    # 0x393090
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x98(%rbp), %rax
cmpq $0x0, %rax
je 0x2702a2
movq -0x20(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x122e76(%rip), %rax    # 0x393090
orq $0x1, %rax
movq %rax, -0xa0(%rbp)
movq -0xa8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x2702a2
movq -0x20(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq 0x122e48(%rip), %rax    # 0x393090
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xb8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x2702a0
movq -0x20(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq 0x122e0e(%rip), %rax    # 0x393090
orq $0x1, %rax
movq %rax, -0xc0(%rbp)
movq -0xc8(%rbp), %rdi
movq -0xc0(%rbp), %rsi
callq 0x127c0
jmp 0x2702a2
jmp 0x2702a4
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x276150
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
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_C99DataStructField_iszephysicalzy
static bool mw_mirth_c99_C99DataStructField_iszephysicalzy (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99DataStructField* in_C99DataStructField_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_c99_C99ReprType v5 = in_C99DataStructField_2->mc99zerepr;
	incref(MK_mirth_c99_C99ReprType(v5));
	decref(MK_mirth_c99_C99DataStructField(in_C99DataStructField_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 0x2705b0
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 0x2705b0
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 0x2705b0
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 0x2705b2
jmp 0x2705b4
movq -0x10(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x122acd(%rip), %rax    # 0x393090
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2706ac
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x122aa1(%rip), %rax    # 0x393090
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
cmpq $0x0, %rax
je 0x2706ac
movq -0x10(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x122a6c(%rip), %rax    # 0x393090
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movq -0x98(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x2706ac
movq -0x10(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x122a3e(%rip), %rax    # 0x393090
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 0x2706aa
movq -0x10(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq 0x122a04(%rip), %rax    # 0x393090
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rsi
callq 0x127c0
jmp 0x2706ac
jmp 0x2706ae
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: mw_std_either_Either_2_iszerightzy
static bool mw_std_either_Either_2_iszerightzy (struct std_either_Either_2 in_Either_1) {
	bool branch_Bool_3;
	switch ((in_Either_1).tag) {
		case std_either_Either_2_Right: {
			VAL v4 = mtp_std_either_Either_2_Right(in_Either_1);
			decref(v4);
			bool v5 = true;
			branch_Bool_3 = v5;
		} break;
		case std_either_Either_2_Left: {
			VAL v6 = mtp_std_either_Either_2_Left(in_Either_1);
			decref(v6);
			bool v7 = false;
			branch_Bool_3 = v7;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	return branch_Bool_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl -0x10(%rbp), %eax
movl %eax, -0x48(%rbp)
testl %eax, %eax
je 0x2767dd
jmp 0x27674f
movl -0x48(%rbp), %eax
subl $0x1, %eax
jne 0x27685a
jmp 0x27675d
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x748f0
movq %rax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2767ca
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x28(%rbp), %rax
cmpq $0x0, %rax
je 0x2767ca
movq -0x28(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x2767ca
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x28(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x2767c8
movq -0x28(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x127c0
jmp 0x2767ca
jmp 0x2767cc
movb $0x1, -0x29(%rbp)
movb -0x29(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x276873
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x74840
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x38(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x27684a
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x27684a
movq -0x40(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x27684a
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x276848
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x127c0
jmp 0x27684a
jmp 0x27684c
movb $0x0, -0x41(%rbp)
movb -0x41(%rbp), %al
andb $0x1, %al
movb %al, -0x11(%rbp)
jmp 0x276873
leaq 0xdd620(%rip), %rdi     # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movb -0x11(%rbp), %al
andb $0x1, %al
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_C99ReprType_iszephysicalzy
static bool mw_mirth_c99_C99ReprType_iszephysicalzy (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99ReprType in_C99ReprType_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* branch_zaMirth_5;
	bool branch_Bool_6;
	switch ((in_C99ReprType_2).tag) {
		case mirth_c99_C99ReprType_Void: {
			bool v7 = false;
			branch_Bool_6 = v7;
			branch_zaMirth_5 = in_zaMirth_1;
		} break;
		case mirth_c99_C99ReprType_Data: {
			uint64_t v8 = mtp_mirth_c99_C99ReprType_Data(in_C99ReprType_2);
			struct mirth_mirth_zaMirth* v9;
			bool v10 = mw_mirth_data_Data_iszephysicalzy(in_zaMirth_1, v8, &v9);
			branch_Bool_6 = v10;
			branch_zaMirth_5 = v9;
		} break;
		default: {
			decref(MK_mirth_c99_C99ReprType(in_C99ReprType_2));
			bool v11 = true;
			branch_Bool_6 = v11;
			branch_zaMirth_5 = in_zaMirth_1;
		} break;
	}
	*out_zaMirth_3 = branch_zaMirth_5;
	return branch_Bool_6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl -0x10(%rbp), %eax
movl %eax, -0xa0(%rbp)
testl %eax, %eax
je 0x2768b6
jmp 0x2768a9
movl -0xa0(%rbp), %eax
subl $0x15, %eax
je 0x2768cf
jmp 0x27690a
movb $0x0, -0x2a(%rbp)
movb -0x2a(%rbp), %al
andb $0x1, %al
movb %al, -0x29(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x2769ff
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x24cd20
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rdi
movq -0x38(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x276a20
andb $0x1, %al
movb %al, -0x41(%rbp)
movb -0x41(%rbp), %al
andb $0x1, %al
movb %al, -0x29(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x2769ff
jmp 0x27690c
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x50(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2769e3
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
cmpq $0x0, %rax
je 0x2769e3
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x78(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x2769e3
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x2315b0
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 0x2769e1
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x2315b0
movq %rax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
callq 0x127c0
jmp 0x2769e3
jmp 0x2769e5
movb $0x1, -0x99(%rbp)
movb -0x99(%rbp), %al
andb $0x1, %al
movb %al, -0x29(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movb -0x29(%rbp), %al
andb $0x1, %al
addq $0xa0, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_Data_iszephysicalzy
static bool mw_mirth_data_Data_iszephysicalzy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Data_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct std_maybe_Maybe_1 v6 = mw_mirth_data_Data_physicalzebitszy(in_zaMirth_1, in_Data_2, &v5);
	bool v7 = mw_std_maybe_Maybe_1_has_1_sp1(v6);
	bool v8 = !v7;
	*out_zaMirth_3 = v5;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %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 0x200f00
movl %eax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x2002e0
andb $0x1, %al
movb %al, -0x31(%rbp)
movb -0x31(%rbp), %al
xorb $-0x1, %al
andb $0x1, %al
movb %al, -0x32(%rbp)
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movb -0x32(%rbp), %al
andb $0x1, %al
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_C99DataUnitRepr_underlyingzec99zetype
static VAL mw_mirth_c99_C99DataUnitRepr_underlyingzec99zetype (struct mirth_c99_C99DataUnitRepr* in_C99DataUnitRepr_1) {
	decref(MK_mirth_c99_C99DataUnitRepr(in_C99DataUnitRepr_1));
	STR* v3;
	STRLIT(v3, "void", 4);
	return MKSTR(v3);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x11c282(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x276d1f
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x11c259(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x276d1f
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x11c22e(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x276d1f
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x11c209(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x276d1d
movq -0x18(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x11c1d8(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x276d1f
jmp 0x276d21
jmp 0x276d23
cmpq $0x0, 0x11209b5(%rip)   # 0x13976e0
jne 0x276d45
leaq 0xe065a(%rip), %rdi     # 0x35738e
movl $0x4, %esi
callq 0xb6c0
movq %rax, 0x112099b(%rip)   # 0x13976e0
jmp 0x276d47
movq 0x1120992(%rip), %rax   # 0x13976e0
movq %rax, -0x80(%rbp)
leaq 0x11a3ff(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x276e13
movq 0x1120966(%rip), %rax   # 0x13976e0
movq %rax, -0x90(%rbp)
leaq 0x11a3d0(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x90(%rbp), %rax
cmpq $0x0, %rax
je 0x276e13
movq 0x112092f(%rip), %rax   # 0x13976e0
movq %rax, -0xa0(%rbp)
leaq 0x11a399(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x98(%rbp)
movq -0xa0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x276e13
movq 0x11208fe(%rip), %rax   # 0x13976e0
movq %rax, -0xb0(%rbp)
leaq 0x11a368(%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 0x276e15
movq 0x11208c4(%rip), %rax   # 0x13976e0
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x11a329(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rdx
addq $0xb0, %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_C99DataTransRepr_underlyingzec99zetype
static STR* mw_mirth_c99_C99DataTransRepr_underlyingzec99zetype (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99DataTransRepr* in_C99DataTransRepr_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_c99_C99ReprType v5 = in_C99DataTransRepr_2->mc99zerepr;
	incref(MK_mirth_c99_C99ReprType(v5));
	decref(MK_mirth_c99_C99DataTransRepr(in_C99DataTransRepr_2));
	struct mirth_mirth_zaMirth* v6;
	STR* v7 = mw_mirth_c99_C99ReprType_underlyingzec99zetype(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 0x30(%rax), %rcx
movq %rcx, -0x28(%rbp)
movq 0x38(%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 0x277170
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 0x277170
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 0x277170
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 0x277172
jmp 0x277174
movq -0x10(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x11bded(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x27726c
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x11bdc1(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
cmpq $0x0, %rax
je 0x27726c
movq -0x10(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x11bd8c(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movq -0x98(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x27726c
movq -0x10(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x11bd5e(%rip), %rax    # 0x392f70
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 0x27726a
movq -0x10(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq 0x11bd24(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rsi
callq 0x127c0
jmp 0x27726c
jmp 0x27726e
movq -0x8(%rbp), %rdi
movl -0x28(%rbp), %esi
movq -0x20(%rbp), %rdx
leaq -0xc0(%rbp), %rcx
callq 0x2706f0
movq %rax, -0xc8(%rbp)
movq -0xc0(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0xc8(%rbp), %rax
addq $0xd0, %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_C99DataEnumRepr_mkzemacro
static STR* mw_mirth_c99_C99DataEnumRepr_mkzemacro (STR* in_Str_1, struct mirth_mirth_zaMirth* in_zaMirth_2, uint64_t in_C99DataEnumRepr_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* v6;
	STR* v7 = mw_mirth_c99_C99DataEnumRepr_cname(in_zaMirth_2, in_C99DataEnumRepr_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 0x24b120
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)