LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_Tag_cname
static STR* mw_mirth_data_Tag_cname (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_cname, in_Tag_2);
	bool v6 = mut_is_set(v5);
	struct mirth_mirth_zaMirth* branch_zaMirth_7;
	STR* branch_Str_8;
	if (v6) {
		VAL v9 = mut_get(v5);
		branch_Str_8 = value_str(v9);
		branch_zaMirth_7 = in_zaMirth_1;
	} else {
		struct mirth_mirth_zaMirth* v10;
		struct mirth_name_QName* v11 = mw_mirth_data_Tag_qname(in_zaMirth_1, in_Tag_2, &v10);
		struct mirth_mirth_zaMirth* v12;
		STR* v13 = mw_mirth_name_QName_mangled(v10, v11, &v12);
		incref(MKSTR(v13));
		mut_set(MKSTR(v13), v5);
		branch_Str_8 = v13;
		branch_zaMirth_7 = v12;
	}
	*out_zaMirth_3 = branch_zaMirth_7;
	return branch_Str_8;
}

// 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 0x1166786(%rip), %rdi   # 0x1396cf8
callq 0x40d30
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x45e40
andb $0x1, %al
movb %al, -0x21(%rbp)
testb $0x1, -0x21(%rbp)
je 0x2305be
movq -0x20(%rbp), %rdi
callq 0x40f30
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0xb980
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x2306eb
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x50(%rbp), %rdx
callq 0x45bb0
movq %rax, -0x58(%rbp)
movq -0x50(%rbp), %rdi
movq -0x58(%rbp), %rsi
leaq -0x60(%rbp), %rdx
callq 0x22c040
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x160b61(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2306a5
movq -0x68(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x160b35(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
cmpq $0x0, %rax
je 0x2306a5
movq -0x68(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x160b04(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movq -0x98(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x2306a5
movq -0x68(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x160ad6(%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 0x2306a7
movq -0x68(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq 0x160a9f(%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, -0x38(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
addq $0xc0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_C99DataUnitRepr_C99DataUnitRepr
static struct mirth_c99_C99DataUnitRepr* mtw_mirth_c99_C99DataUnitRepr_C99DataUnitRepr (uint64_t in_Tag_1, STR* in_Str_2) {
	struct mirth_c99_C99DataUnitRepr* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->refs = 1;
	v4->mcname = in_Str_2;
	v4->mtag = in_Tag_1;
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x1, %edi
movl $0x18, %esi
callq 0x50c0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x230764
movl $0x2, %edi
leaq 0x13c1b6(%rip), %rsi    # 0x36c8fc
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x230766
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movq -0x10(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mirth_c99_C99DataUnitRepr_free
static void mirth_c99_C99DataUnitRepr_free (VAL vself) {
	ASSERT(vself.tag == TAG_mirth_c99_C99DataUnitRepr);
	struct mirth_c99_C99DataUnitRepr* self = vself.data.ptr;
	decref(MKSTR(self->mcname));
	free(self);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
leaq 0x162725(%rip), %rcx    # 0x392ee0
orq $0x1, %rcx
cmpq %rcx, %rax
je 0x2307ee
movl $0x2, %edi
leaq 0x13c16e(%rip), %rsi    # 0x36c93e
movl $0x59, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x2307f0
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
leaq 0x16094d(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x2308e0
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x38(%rbp)
leaq 0x160920(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x2308e0
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x48(%rbp)
leaq 0x1608ed(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x2308e0
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x58(%rbp)
leaq 0x1608c4(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x2308de
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x68(%rbp)
leaq 0x16088f(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x2308e0
jmp 0x2308e2
movq -0x18(%rbp), %rdi
callq 0x5030
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_C99DataRepr_Unit
static struct mirth_c99_C99DataRepr mtw_mirth_c99_C99DataRepr_Unit (struct mirth_c99_C99DataUnitRepr* in_C99DataUnitRepr_1) {
	struct mirth_c99_C99DataRepr_Unit* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mC99DataUnitRepr = in_C99DataUnitRepr_1;
	struct mirth_c99_C99DataRepr v4 = { .tag=mirth_c99_C99DataRepr_Unit, .ptr.Unit=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x230a40
movl $0x2, %edi
leaq 0x13bf88(%rip), %rsi    # 0x36c9aa
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x230a42
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x0, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mirth_c99_C99ReprType_free
void mirth_c99_C99ReprType_free (VAL v) {
	struct mirth_c99_C99ReprType self = V_mirth_c99_C99ReprType(v);
	switch (self.tag) {
		case mirth_c99_C99ReprType_Void: break;
		case mirth_c99_C99ReprType_VAL: break;
		case mirth_c99_C99ReprType_STR: break;
		case mirth_c99_C99ReprType_ARR: break;
		case mirth_c99_C99ReprType_TUP: break;
		case mirth_c99_C99ReprType_Int: break;
		case mirth_c99_C99ReprType_Nat: break;
		case mirth_c99_C99ReprType_I64: break;
		case mirth_c99_C99ReprType_I32: break;
		case mirth_c99_C99ReprType_I16: break;
		case mirth_c99_C99ReprType_I8: break;
		case mirth_c99_C99ReprType_U64: break;
		case mirth_c99_C99ReprType_U32: break;
		case mirth_c99_C99ReprType_U16: break;
		case mirth_c99_C99ReprType_U8: break;
		case mirth_c99_C99ReprType_F64: break;
		case mirth_c99_C99ReprType_F32: break;
		case mirth_c99_C99ReprType_Bool: break;
		case mirth_c99_C99ReprType_PTR: break;
		case mirth_c99_C99ReprType_FNPTR: break;
		case mirth_c99_C99ReprType_Table: {
			free(self.ptr.Table);
		} break;
		case mirth_c99_C99ReprType_Data: {
			free(self.ptr.Data);
		} break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x231770
movl %eax, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movl -0x20(%rbp), %eax
movq %rax, -0x28(%rbp)
subq $0x15, %rax
ja 0x231671
movq -0x28(%rbp), %rax
leaq 0x121b00(%rip), %rcx    # 0x35312c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
jmp 0x231671
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x231671
movq -0x18(%rbp), %rdi
callq 0x5030
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mirth_c99_C99DataSumRepr_free
static void mirth_c99_C99DataSumRepr_free (VAL vself) {
	ASSERT(vself.tag == TAG_mirth_c99_C99DataSumRepr);
	struct mirth_c99_C99DataSumRepr* self = vself.data.ptr;
	decref(MK_std_list_List_1(self->mtags));
	free(self);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
leaq 0x1614e5(%rip), %rcx    # 0x393000
orq $0x1, %rcx
cmpq %rcx, %rax
je 0x231b4e
movl $0x2, %edi
leaq 0x13afe2(%rip), %rsi    # 0x36cb12
movl $0x58, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x231b50
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movl 0x10(%rax), %edi
movq 0x18(%rax), %rsi
callq 0x12780
movq %rax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x231c2d
movq -0x18(%rbp), %rax
movl 0x10(%rax), %edi
movq 0x18(%rax), %rsi
callq 0x12780
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x231c2d
movq -0x18(%rbp), %rax
movl 0x10(%rax), %edi
movq 0x18(%rax), %rsi
callq 0x12780
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x231c2d
movq -0x18(%rbp), %rax
movl 0x10(%rax), %edi
movq 0x18(%rax), %rsi
callq 0x12780
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x231c2b
movq -0x18(%rbp), %rax
movl 0x10(%rax), %edi
movq 0x18(%rax), %rsi
callq 0x12780
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x231c2d
jmp 0x231c2f
movq -0x18(%rbp), %rdi
callq 0x5030
addq $0x70, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_C99DataRepr_Enum
static struct mirth_c99_C99DataRepr mtw_mirth_c99_C99DataRepr_Enum (uint64_t in_C99DataEnumRepr_1) {
	struct mirth_c99_C99DataRepr_Enum* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mC99DataEnumRepr = in_C99DataEnumRepr_1;
	struct mirth_c99_C99DataRepr v4 = { .tag=mirth_c99_C99DataRepr_Enum, .ptr.Enum=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x231d80
movl $0x2, %edi
leaq 0x13ae28(%rip), %rsi    # 0x36cb8a
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x231d82
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x1, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_data_SemiTransparentData_SemiTransparentData
static void mtp_mirth_data_SemiTransparentData_SemiTransparentData (struct mirth_data_SemiTransparentData* in_SemiTransparentData_1, uint64_t *out_Tag_2, struct mirth_type_StackTypePart *out_StackTypePart_3, struct mirth_tycon_Tycon *out_Tycon_4) {
	struct mirth_data_SemiTransparentData v5 = *in_SemiTransparentData_1;
	if (!--(in_SemiTransparentData_1->refs)) {
		free(in_SemiTransparentData_1);
	} else {
		incref(MK_mirth_type_StackTypePart(v5.minput));
		incref(MK_mirth_tycon_Tycon(v5.minputzetycon));
	}
	*out_Tycon_4 = v5.minputzetycon;
	*out_StackTypePart_3 = v5.minput;
	*out_Tag_2 = v5.mtag;
}

// 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 -0x50(%rbp), %rdi
movl $0x30, %edx
callq 0x50e0
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x231e0b
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x231f70
jmp 0x231e0d
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x72dd0
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x58(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x231eab
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x72dd0
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rax
cmpq $0x0, %rax
je 0x231eab
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x72dd0
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movq -0x80(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x231eab
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x72dd0
movq %rax, -0x90(%rbp)
movq %rdx, -0x88(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x90(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x231ead
jmp 0x231eaf
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x59b10
movq %rax, -0xa0(%rbp)
movq %rdx, -0x98(%rbp)
movq -0x98(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x231f6c
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x59b10
movq %rax, -0xb0(%rbp)
movq %rdx, -0xa8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xb0(%rbp), %rax
cmpq $0x0, %rax
je 0x231f6c
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x59b10
movq %rax, -0xc0(%rbp)
movq %rdx, -0xb8(%rbp)
movq -0xc0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x231f6c
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x59b10
movq %rax, -0xd0(%rbp)
movq %rdx, -0xc8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xd0(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x231f6e
jmp 0x231f70
movq -0x20(%rbp), %rax
movq -0x30(%rbp), %rcx
movq %rcx, (%rax)
movq -0x28(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rax
movq -0x40(%rbp), %rcx
movq %rcx, (%rax)
movq -0x38(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x48(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%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: mtw_mirth_c99_C99DataTransRepr_C99DataTransRepr
static struct mirth_c99_C99DataTransRepr* mtw_mirth_c99_C99DataTransRepr_C99DataTransRepr (uint64_t in_Tag_1, struct mirth_type_StackTypePart in_StackTypePart_2, struct mirth_tycon_Tycon in_Tycon_3, struct mirth_c99_C99ReprType in_C99ReprType_4, STR* in_Str_5) {
	struct mirth_c99_C99DataTransRepr* v7 = calloc(1, sizeof *v7);
	ASSERT(v7);
	v7->refs = 1;
	v7->mcname = in_Str_5;
	v7->mc99zerepr = in_C99ReprType_4;
	v7->minputzetycon = in_Tycon_3;
	v7->minput = in_StackTypePart_2;
	v7->mtag = in_Tag_1;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl %ecx, -0x20(%rbp)
movq %r8, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl $0x1, %edi
movl $0x48, %esi
callq 0x50c0
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x232fea
movl $0x2, %edi
leaq 0x139c54(%rip), %rsi    # 0x36cc20
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x232fec
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rax
movl $0x1, (%rax)
movq -0x30(%rbp), %rdx
movq -0x38(%rbp), %rax
movq %rdx, 0x40(%rax)
movq -0x38(%rbp), %rax
movq (%rcx), %rdx
movq %rdx, 0x30(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x38(%rax)
movq -0x38(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, 0x20(%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x28(%rax)
movq -0x38(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x28(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x38(%rbp), %rax
addq $0x40, %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_C99ReprType_Table
static struct mirth_c99_C99ReprType mtw_mirth_c99_C99ReprType_Table (uint64_t in_Table_1) {
	struct mirth_c99_C99ReprType_Table* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mTable = in_Table_1;
	struct mirth_c99_C99ReprType v4 = { .tag=mirth_c99_C99ReprType_Table, .ptr.Table=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x233550
movl $0x2, %edi
leaq 0x13968a(%rip), %rsi    # 0x36cbbc
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x233552
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x14, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_C99ReprType_Data
static struct mirth_c99_C99ReprType mtw_mirth_c99_C99ReprType_Data (uint64_t in_Data_1) {
	struct mirth_c99_C99ReprType_Data* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mData = in_Data_1;
	struct mirth_c99_C99ReprType v4 = { .tag=mirth_c99_C99ReprType_Data, .ptr.Data=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x2335e0
movl $0x2, %edi
leaq 0x13962c(%rip), %rsi    # 0x36cbee
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x2335e2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x15, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_C99DataRepr_Trans
static struct mirth_c99_C99DataRepr mtw_mirth_c99_C99DataRepr_Trans (struct mirth_c99_C99DataTransRepr* in_C99DataTransRepr_1) {
	struct mirth_c99_C99DataRepr_Trans* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mC99DataTransRepr = in_C99DataTransRepr_1;
	struct mirth_c99_C99DataRepr v4 = { .tag=mirth_c99_C99DataRepr_Trans, .ptr.Trans=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x233c90
movl $0x2, %edi
leaq 0x138fe0(%rip), %rsi    # 0x36cc52
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x233c92
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x2, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_C99DataStructRepr_Make
static struct mirth_c99_C99DataStructRepr* mw_mirth_c99_C99DataStructRepr_Make (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Tag_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	bool v6 = mw_mirth_data_Tag_onlyzetagzy(in_zaMirth_1, in_Tag_2, &v5);
	uint64_t branch_Tag_7;
	struct mirth_mirth_zaMirth* branch_zaMirth_8;
	STR* branch_Str_9;
	if (v6) {
		struct mirth_mirth_zaMirth* v10;
		uint64_t v11 = mw_mirth_data_Tag_data(v5, in_Tag_2, &v10);
		struct mirth_mirth_zaMirth* v12;
		STR* v13 = mw_mirth_data_Data_cname(v10, v11, &v12);
		branch_Str_9 = v13;
		branch_zaMirth_8 = v12;
		branch_Tag_7 = in_Tag_2;
	} else {
		struct mirth_mirth_zaMirth* v14;
		STR* v15 = mw_mirth_data_Tag_cname(v5, in_Tag_2, &v14);
		branch_Str_9 = v15;
		branch_zaMirth_8 = v14;
		branch_Tag_7 = in_Tag_2;
	}
	struct mirth_mirth_zaMirth* v16;
	struct std_list_List_1 v17 = mw_mirth_data_Tag_inputs(branch_zaMirth_8, branch_Tag_7, &v16);
	struct mirth_mirth_zaMirth* v18;
	struct std_list_List_1 v19 = mw_mirth_c99_c99zeinputszetozestructzefields(v16, v17, &v18);
	struct mirth_c99_C99DataStructRepr* v20 = mtw_mirth_c99_C99DataStructRepr_C99DataStructRepr(branch_Tag_7, branch_Str_9, v19);
	*out_zaMirth_3 = v18;
	return v20;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x20(%rbp), %rdx
callq 0x2301d0
andb $0x1, %al
movb %al, -0x21(%rbp)
testb $0x1, -0x21(%rbp)
je 0x233d47
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x57890
movq %rax, -0x50(%rbp)
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0x230390
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x233d74
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x68(%rbp), %rdx
callq 0x230550
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x1add30
movl %eax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
movq -0x78(%rbp), %rdi
movl -0x88(%rbp), %esi
movq -0x80(%rbp), %rdx
leaq -0x90(%rbp), %rcx
callq 0x233e00
movl %eax, -0xa0(%rbp)
movq %rdx, -0x98(%rbp)
movq -0x30(%rbp), %rdi
movq -0x40(%rbp), %rsi
movl -0xa0(%rbp), %edx
movq -0x98(%rbp), %rcx
callq 0x235f80
movq %rax, -0xa8(%rbp)
movq -0x90(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0xa8(%rbp), %rax
addq $0xb0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_C99DataStructRepr_C99DataStructRepr
static struct mirth_c99_C99DataStructRepr* mtw_mirth_c99_C99DataStructRepr_C99DataStructRepr (uint64_t in_Tag_1, STR* in_Str_2, struct std_list_List_1 in_List_3) {
	struct mirth_c99_C99DataStructRepr* v5 = calloc(1, sizeof *v5);
	ASSERT(v5);
	v5->refs = 1;
	v5->mfields = in_List_3;
	v5->mcname = in_Str_2;
	v5->mtag = in_Tag_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 0x235fdb
movl $0x2, %edi
leaq 0x136d7e(%rip), %rsi    # 0x36cd3b
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x235fdd
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: mtw_mirth_c99_C99DataStructField_C99DataStructField
static struct mirth_c99_C99DataStructField* mtw_mirth_c99_C99DataStructField_C99DataStructField (struct mirth_type_StackTypePart in_StackTypePart_1, struct mirth_c99_C99ReprType in_C99ReprType_2, STR* in_Str_3) {
	struct mirth_c99_C99DataStructField* v5 = calloc(1, sizeof *v5);
	ASSERT(v5);
	v5->refs = 1;
	v5->mcname = in_Str_3;
	v5->mc99zerepr = in_C99ReprType_2;
	v5->minput = in_StackTypePart_1;
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl %edx, -0x20(%rbp)
movq %rcx, -0x18(%rbp)
movq %r8, -0x28(%rbp)
movl $0x1, %edi
movl $0x30, %esi
callq 0x50c0
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
jne 0x2362be
movl $0x2, %edi
leaq 0x1369e4(%rip), %rsi    # 0x36cc84
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x2362c0
movq -0x30(%rbp), %rax
movl $0x1, (%rax)
movq -0x28(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x30(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x20(%rax)
movq -0x30(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x30(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_C99DataRepr_Struct
static struct mirth_c99_C99DataRepr mtw_mirth_c99_C99DataRepr_Struct (struct mirth_c99_C99DataStructRepr* in_C99DataStructRepr_1) {
	struct mirth_c99_C99DataRepr_Struct* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mC99DataStructRepr = in_C99DataStructRepr_1;
	struct mirth_c99_C99DataRepr v4 = { .tag=mirth_c99_C99DataRepr_Struct, .ptr.Struct=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x2367c0
movl $0x2, %edi
leaq 0x1365cb(%rip), %rsi    # 0x36cd6d
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x2367c2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x3, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_C99DataSumRepr_C99DataSumRepr
static struct mirth_c99_C99DataSumRepr* mtw_mirth_c99_C99DataSumRepr_C99DataSumRepr (uint64_t in_Data_1, struct std_list_List_1 in_List_2) {
	struct mirth_c99_C99DataSumRepr* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->refs = 1;
	v4->mtags = in_List_2;
	v4->mdata = in_Data_1;
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x20, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x236b47
movl $0x2, %edi
leaq 0x136300(%rip), %rsi    # 0x36ce29
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x236b49
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x20(%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: mtw_mirth_c99_C99DataSumTagRepr_Unit
static struct mirth_c99_C99DataSumTagRepr mtw_mirth_c99_C99DataSumTagRepr_Unit (struct mirth_c99_C99DataUnitRepr* in_C99DataUnitRepr_1) {
	struct mirth_c99_C99DataSumTagRepr_Unit* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mC99DataUnitRepr = in_C99DataUnitRepr_1;
	struct mirth_c99_C99DataSumTagRepr v4 = { .tag=mirth_c99_C99DataSumTagRepr_Unit, .ptr.Unit=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x236c70
movl $0x2, %edi
leaq 0x13614d(%rip), %rsi    # 0x36cd9f
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x236c72
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x0, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_C99DataSumTagRepr_Struct
static struct mirth_c99_C99DataSumTagRepr mtw_mirth_c99_C99DataSumTagRepr_Struct (struct mirth_c99_C99DataStructRepr* in_C99DataStructRepr_1) {
	struct mirth_c99_C99DataSumTagRepr_Struct* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mC99DataStructRepr = in_C99DataStructRepr_1;
	struct mirth_c99_C99DataSumTagRepr v4 = { .tag=mirth_c99_C99DataSumTagRepr_Struct, .ptr.Struct=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x236d00
movl $0x2, %edi
leaq 0x1360ef(%rip), %rsi    # 0x36cdd1
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x236d02
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x1, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_c99_C99DataRepr_Sum
static struct mirth_c99_C99DataRepr mtw_mirth_c99_C99DataRepr_Sum (struct mirth_c99_C99DataSumRepr* in_C99DataSumRepr_1) {
	struct mirth_c99_C99DataRepr_Sum* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mC99DataSumRepr = in_C99DataSumRepr_1;
	struct mirth_c99_C99DataRepr v4 = { .tag=mirth_c99_C99DataRepr_Sum, .ptr.Sum=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x2370f0
movl $0x2, %edi
leaq 0x135d89(%rip), %rsi    # 0x36ce5b
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x2370f2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x4, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_c99_C99DataRepr_Unit
static struct mirth_c99_C99DataUnitRepr* mtp_mirth_c99_C99DataRepr_Unit (struct mirth_c99_C99DataRepr in_C99DataRepr_1) {
	struct mirth_c99_C99DataRepr_Unit v3 = *in_C99DataRepr_1.ptr.Unit;
	if (!--(in_C99DataRepr_1.ptr.Unit->refs)) {
		free(in_C99DataRepr_1.ptr.Unit);
	} else {
		incref(MK_mirth_c99_C99DataUnitRepr(v3.mC99DataUnitRepr));
	}
	return v3.mC99DataUnitRepr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x237170
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x237217
jmp 0x237172
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x15bd5f(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x237213
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x15bd3a(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x237213
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x15bd0f(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x237213
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x15bcea(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x237215
jmp 0x237217
movq -0x18(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_c99_C99DataRepr_Enum
static uint64_t mtp_mirth_c99_C99DataRepr_Enum (struct mirth_c99_C99DataRepr in_C99DataRepr_1) {
	struct mirth_c99_C99DataRepr_Enum v3 = *in_C99DataRepr_1.ptr.Enum;
	if (!--(in_C99DataRepr_1.ptr.Enum->refs)) {
		free(in_C99DataRepr_1.ptr.Enum);
	} else {
	}
	return v3.mC99DataEnumRepr;
}

// 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 0x2398bd
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x2398bf
jmp 0x2398bf
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_C99DataRepr_Trans
static struct mirth_c99_C99DataTransRepr* mtp_mirth_c99_C99DataRepr_Trans (struct mirth_c99_C99DataRepr in_C99DataRepr_1) {
	struct mirth_c99_C99DataRepr_Trans v3 = *in_C99DataRepr_1.ptr.Trans;
	if (!--(in_C99DataRepr_1.ptr.Trans->refs)) {
		free(in_C99DataRepr_1.ptr.Trans);
	} else {
		incref(MK_mirth_c99_C99DataTransRepr(v3.mC99DataTransRepr));
	}
	return v3.mC99DataTransRepr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x23bc10
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x23bcb7
jmp 0x23bc12
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x15734f(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x23bcb3
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x15732a(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x23bcb3
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x1572ff(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x23bcb3
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x1572da(%rip), %rax    # 0x392f70
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x23bcb5
jmp 0x23bcb7
movq -0x18(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_c99_C99DataRepr_Struct
static struct mirth_c99_C99DataStructRepr* mtp_mirth_c99_C99DataRepr_Struct (struct mirth_c99_C99DataRepr in_C99DataRepr_1) {
	struct mirth_c99_C99DataRepr_Struct v3 = *in_C99DataRepr_1.ptr.Struct;
	if (!--(in_C99DataRepr_1.ptr.Struct->refs)) {
		free(in_C99DataRepr_1.ptr.Struct);
	} else {
		incref(MK_mirth_c99_C99DataStructRepr(v3.mC99DataStructRepr));
	}
	return v3.mC99DataStructRepr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x23e0a0
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x23e147
jmp 0x23e0a2
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x154f07(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x23e143
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x154ee2(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x23e143
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x154eb7(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x23e143
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x154e92(%rip), %rax    # 0x392fb8
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x23e145
jmp 0x23e147
movq -0x18(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_c99_C99DataRepr_Sum
static struct mirth_c99_C99DataSumRepr* mtp_mirth_c99_C99DataRepr_Sum (struct mirth_c99_C99DataRepr in_C99DataRepr_1) {
	struct mirth_c99_C99DataRepr_Sum v3 = *in_C99DataRepr_1.ptr.Sum;
	if (!--(in_C99DataRepr_1.ptr.Sum->refs)) {
		free(in_C99DataRepr_1.ptr.Sum);
	} else {
		incref(MK_mirth_c99_C99DataSumRepr(v3.mC99DataSumRepr));
	}
	return v3.mC99DataSumRepr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x241b10
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x241bb7
jmp 0x241b12
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x1514df(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x241bb3
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x1514ba(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x241bb3
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x15148f(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x241bb3
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x15146a(%rip), %rax    # 0x393000
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x241bb5
jmp 0x241bb7
movq -0x18(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_c99_C99DataUnitRepr_data
static uint64_t mw_mirth_c99_C99DataUnitRepr_data (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_C99DataUnitRepr* in_C99DataUnitRepr_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	uint64_t v5 = in_C99DataUnitRepr_2->mtag;
	decref(MK_mirth_c99_C99DataUnitRepr(in_C99DataUnitRepr_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 0x148e8e(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x24a113
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x148e65(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x24a113
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x148e3a(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x24a113
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x148e15(%rip), %rax    # 0x392ee0
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 0x24a111
movq -0x10(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x148de4(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x127c0
jmp 0x24a113
jmp 0x24a115
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_C99DataUnitRepr_stride
static VAL mw_mirth_c99_C99DataUnitRepr_stride (struct mirth_c99_C99DataUnitRepr* in_C99DataUnitRepr_1) {
	decref(MK_mirth_c99_C99DataUnitRepr(in_C99DataUnitRepr_1));
	STR* v3;
	STRLIT(v3, "STRIDE_UNIT", 11);
	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 0x148d72(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x24a22f
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x148d49(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x24a22f
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x148d1e(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x24a22f
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x148cf9(%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 0x24a22d
movq -0x18(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x148cc8(%rip), %rax    # 0x392ee0
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x24a22f
jmp 0x24a231
jmp 0x24a233
cmpq $0x0, 0x114cb4d(%rip)   # 0x1396d88
jne 0x24a255
leaq 0x122c49(%rip), %rdi    # 0x36ce8d
movl $0xb, %esi
callq 0xb6c0
movq %rax, 0x114cb33(%rip)   # 0x1396d88
jmp 0x24a257
movq 0x114cb2a(%rip), %rax   # 0x1396d88
movq %rax, -0x80(%rbp)
leaq 0x146eef(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x24a323
movq 0x114cafe(%rip), %rax   # 0x1396d88
movq %rax, -0x90(%rbp)
leaq 0x146ec0(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x90(%rbp), %rax
cmpq $0x0, %rax
je 0x24a323
movq 0x114cac7(%rip), %rax   # 0x1396d88
movq %rax, -0xa0(%rbp)
leaq 0x146e89(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x98(%rbp)
movq -0xa0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x24a323
movq 0x114ca96(%rip), %rax   # 0x1396d88
movq %rax, -0xb0(%rbp)
leaq 0x146e58(%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 0x24a325
movq 0x114ca5c(%rip), %rax   # 0x1396d88
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x146e19(%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_zaC99_c99zeline_1_sp130
static void mw_mirth_c99_zaC99_c99zeline_1_sp130 (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_c99_zaC99* in_zaC99_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_c99_zaC99* *out_zaC99_4) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_c99_zaC99* v6;
	mw_mirth_c99_zaC99_indent(in_zaMirth_1, in_zaC99_2, &v5, &v6);
	STR* v7;
	STRLIT(v7, "};", 2);
	struct mirth_mirth_zaMirth* v8;
	struct mirth_c99_zaC99* v9;
	mw_mirth_c99_zaC99_put(v5, v6, v7, &v8, &v9);
	struct mirth_mirth_zaMirth* v10;
	struct mirth_c99_zaC99* v11;
	mw_mirth_c99_zaC99_line(v8, v9, &v10, &v11);
	*out_zaC99_4 = v11;
	*out_zaMirth_3 = v10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x28(%rbp), %rdx
leaq -0x30(%rbp), %rcx
callq 0x22a120
cmpq $0x0, 0x114be78(%rip)   # 0x1396e50
jne 0x24aff2
leaq 0x121fcd(%rip), %rdi    # 0x36cfae
movl $0x2, %esi
callq 0xb6c0
movq %rax, 0x114be5e(%rip)   # 0x1396e50
jmp 0x24aff4
movq 0x114be55(%rip), %rax   # 0x1396e50
movq %rax, -0x48(%rbp)
leaq 0x146152(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x24b0a5
movq 0x114be29(%rip), %rax   # 0x1396e50
movq %rax, -0x58(%rbp)
leaq 0x146126(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x24b0a5
movq 0x114bdfb(%rip), %rax   # 0x1396e50
movq %rax, -0x68(%rbp)
leaq 0x1460f8(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x24b0a5
movq 0x114bdd3(%rip), %rax   # 0x1396e50
movq %rax, -0x78(%rbp)
leaq 0x1460d0(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x78(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x24b0a7
movq 0x114bda2(%rip), %rax   # 0x1396e50
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rdx
leaq -0x80(%rbp), %rcx
leaq -0x88(%rbp), %r8
callq 0x220040
movq -0x80(%rbp), %rdi
movq -0x88(%rbp), %rsi
leaq -0x90(%rbp), %rdx
leaq -0x98(%rbp), %rcx
callq 0x2201d0
movq -0x98(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x90(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)