LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_name_QName_namezj
static void mw_mirth_name_QName_namezj (struct mirth_mirth_zaMirth* in_zaMirth_1, STR* in_zaStr_2, struct mirth_name_QName* in_QName_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, STR* *out_zaStr_5) {
	uint64_t v6 = in_QName_3->mname;
	decref(MK_mirth_name_QName(in_QName_3));
	struct mirth_mirth_zaMirth* v7;
	STR* v8;
	mw_mirth_name_Name_namezj(in_zaMirth_1, in_zaStr_2, v6, &v7, &v8);
	*out_zaStr_5 = v8;
	*out_zaMirth_4 = v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x32fd36(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x61b5b
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x32fd0d(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x50(%rbp), %rax
cmpq $0x0, %rax
je 0x61b5b
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x32fce2(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movq -0x60(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x61b5b
movq -0x18(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x32fcbd(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x61b59
movq -0x18(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0x32fc8c(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x127c0
jmp 0x61b5b
jmp 0x61b5d
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x30(%rbp), %rdx
leaq -0x88(%rbp), %rcx
leaq -0x90(%rbp), %r8
callq 0x5b230
movq -0x90(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x88(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x90, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_mirth_zaMirth_defaultzeerrorzelocation
static struct mirth_location_Location* mw_mirth_mirth_zaMirth_defaultzeerrorzelocation (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_mirth_zaMirth* *out_zaMirth_2) {
	struct mirth_mirth_zaMirth* v4;
	struct mirth_mirth_Builtin* v5 = mw_mirth_mirth_zaMirth_builtin(in_zaMirth_1, &v4);
	uint64_t v6 = v5->mprim;
	decref(MK_mirth_mirth_Builtin(v5));
	INT v7 = WRAP_I63(0LL);
	INT v8 = WRAP_I63(0LL);
	struct mirth_location_Location* v9 = mtw_mirth_location_Location_Location(v6, v7, v8);
	*out_zaMirth_2 = v4;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x3eb20
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x32f791(%rip), %rax    # 0x391740
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x62070
movq -0x20(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x32f768(%rip), %rax    # 0x391740
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x48(%rbp), %rax
cmpq $0x0, %rax
je 0x62070
movq -0x20(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x32f73d(%rip), %rax    # 0x391740
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x58(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x62070
movq -0x20(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x32f718(%rip), %rax    # 0x391740
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x6206e
movq -0x20(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x32f6e7(%rip), %rax    # 0x391740
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0x127c0
jmp 0x62070
jmp 0x62072
movq 0x30c9d7(%rip), %rax    # 0x36ea50
movq %rax, -0x80(%rbp)
movq 0x30c9cc(%rip), %rax    # 0x36ea50
movq %rax, -0x88(%rbp)
movq -0x28(%rbp), %rdi
movq -0x80(%rbp), %rsi
movq -0x88(%rbp), %rdx
callq 0x615d0
movq %rax, -0x90(%rbp)
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x90(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_mirth_zaMirth_emitzeerrorzeatzx
static void mw_mirth_mirth_zaMirth_emitzeerrorzeatzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_location_Location* in_Location_2, STR* in_Str_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	enum mirth_mirth_Severity v5 = mirth_mirth_Severity_Error;
	struct mirth_mirth_zaMirth* v6;
	mw_mirth_mirth_zaMirth_emitzediagnosticzeatzx(in_zaMirth_1, in_Location_2, in_Str_3, v5, &v6);
	*out_zaMirth_4 = v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl $0x2, -0x24(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl -0x24(%rbp), %ecx
leaq -0x30(%rbp), %r8
callq 0x62820
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%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_mirth_Diagnostic_Diagnostic
static struct mirth_mirth_Diagnostic* mtw_mirth_mirth_Diagnostic_Diagnostic (enum mirth_mirth_Severity in_Severity_1, struct mirth_location_Location* in_Location_2, STR* in_Str_3) {
	struct mirth_mirth_Diagnostic* v5 = calloc(1, sizeof *v5);
	ASSERT(v5);
	v5->refs = 1;
	v5->mmessage = in_Str_3;
	v5->mlocation = in_Location_2;
	v5->mseverity = in_Severity_1;
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x1, %edi
movl $0x18, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x62e97
movl $0x2, %edi
leaq 0x2f4045(%rip), %rsi    # 0x356ebe
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x62e99
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl -0x4(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x20(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_mirth_zaMirth_popzediagnosticszx
static struct std_list_List_1 mw_mirth_mirth_zaMirth_popzediagnosticszx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_mirth_zaMirth* *out_zaMirth_2) {
	struct std_list_List_1 r4 = in_zaMirth_1->mzadiagnostics;
	struct std_list_List_1 v5;
	struct std_list_List_1 v6 = mw_std_list_zaLister_1_popzeallzx(r4, &v5);
	in_zaMirth_1->mzadiagnostics = v5;
	*out_zaMirth_2 = in_zaMirth_1;
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq -0x18(%rbp), %rax
movups 0x58(%rax), %xmm0
movaps %xmm0, -0x30(%rbp)
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x638d0
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x18(%rbp), %rax
movups -0x40(%rbp), %xmm0
movups %xmm0, 0x58(%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_list_zaLister_1_popzeallzx
static struct std_list_List_1 mw_std_list_zaLister_1_popzeallzx (struct std_list_List_1 in_zaLister_1, struct std_list_List_1 *out_zaLister_3) {
	incref(MK_std_list_List_1(in_zaLister_1));
	struct std_list_List_1 v4 = { .tag=std_list_List_1_Nil };
	decref(MK_std_list_List_1(in_zaLister_1));
	struct std_list_List_1 v5 = mw_std_list_List_1_reverse(in_zaLister_1);
	*out_zaLister_3 = v4;
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x28(%rbp)
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x30(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x6397b
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x48(%rbp), %rax
cmpq $0x0, %rax
je 0x6397b
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x58(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x6397b
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
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 0x6397d
leaq -0x78(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
movq %rax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
movq -0x80(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x63a7c
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
movq %rax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x98(%rbp), %rax
cmpq $0x0, %rax
je 0x63a7c
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
movq %rax, -0xa8(%rbp)
movq %rdx, -0xa0(%rbp)
movq -0xa8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x63a7c
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
movq %rax, -0xb8(%rbp)
movq %rdx, -0xb0(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xb8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x63a7a
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x12780
movq %rax, -0xc8(%rbp)
movq %rdx, -0xc0(%rbp)
movq -0xc8(%rbp), %rdi
movq -0xc0(%rbp), %rsi
callq 0x127c0
jmp 0x63a7c
jmp 0x63a7e
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x122b0
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x28(%rbp), %rax
movups -0x78(%rbp), %xmm0
movups %xmm0, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xd0, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_mirth_Diagnostic_Diagnostic
static void mtp_mirth_mirth_Diagnostic_Diagnostic (struct mirth_mirth_Diagnostic* in_Diagnostic_1, enum mirth_mirth_Severity *out_Severity_2, struct mirth_location_Location* *out_Location_3, STR* *out_Str_4) {
	struct mirth_mirth_Diagnostic v5 = *in_Diagnostic_1;
	if (!--(in_Diagnostic_1->refs)) {
		free(in_Diagnostic_1);
	} else {
		incref(MK_mirth_location_Location(v5.mlocation));
		incref(MKSTR(v5.mmessage));
	}
	*out_Str_4 = v5.mmessage;
	*out_Location_3 = v5.mlocation;
	*out_Severity_2 = v5.mseverity;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x38(%rbp)
movq 0x8(%rax), %rcx
movq %rcx, -0x30(%rbp)
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x63b04
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x63c72
jmp 0x63b06
movq -0x30(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x32df8b(%rip), %rax    # 0x391aa0
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x63ba7
movq -0x30(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x32df66(%rip), %rax    # 0x391aa0
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x63ba7
movq -0x30(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x32df3b(%rip), %rax    # 0x391aa0
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x63ba7
movq -0x30(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x32df16(%rip), %rax    # 0x391aa0
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 0x63ba9
jmp 0x63bab
movq -0x28(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x32d59b(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x63c6e
movq -0x28(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x32d56f(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x98(%rbp), %rax
cmpq $0x0, %rax
je 0x63c6e
movq -0x28(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x32d53b(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0xa0(%rbp)
movq -0xa8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x63c6e
movq -0x28(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq 0x32d50d(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xb8(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x63c70
jmp 0x63c72
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movl -0x34(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, (%rax)
addq $0xc0, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mirth_name_QName_free
static void mirth_name_QName_free (VAL vself) {
	ASSERT(vself.tag == TAG_mirth_name_QName);
	struct mirth_name_QName* self = vself.data.ptr;
	decref(MK_mirth_name_Namespace(self->mnamespace));
	decref(MKINT(self->marity));
	free(self);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
leaq 0x32d792(%rip), %rcx    # 0x3917d0
orq $0x1, %rcx
cmpq %rcx, %rax
je 0x64071
movl $0x2, %edi
leaq 0x2f2fa9(%rip), %rsi    # 0x356ffc
movl $0x50, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x64073
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x59830
movq %rax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x64150
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x59830
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x64150
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x59830
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x64150
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x59830
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 0x6414e
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x59830
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x64150
jmp 0x64152
jmp 0x64154
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x78(%rbp)
leaq 0x32d2c1(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x64260
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x88(%rbp)
leaq 0x32d291(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
cmpq $0x0, %rax
je 0x64260
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x98(%rbp)
leaq 0x32d258(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movq -0x98(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x64260
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0xa8(%rbp)
leaq 0x32d226(%rip), %rax    # 0x391428
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 0x6425e
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0xb8(%rbp)
leaq 0x32d1e8(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rsi
callq 0x127c0
jmp 0x64260
jmp 0x64262
movq -0x18(%rbp), %rdi
callq 0x5030
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: mw_mirth_alias_Alias_name
static uint64_t mw_mirth_alias_Alias_name (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Alias_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_alias_Alias_name, in_Alias_2);
	VAL v6 = mut_get(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return V_mirth_name_Name(v6);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x1330cb9(%rip), %rdi   # 0x1395048
callq 0x40d30
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x40f30
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_prim_Prim_name
static uint64_t mw_mirth_prim_Prim_name (struct mirth_mirth_zaMirth* in_zaMirth_1, enum mirth_prim_Prim in_Prim_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	STR* v5 = mw_mirth_prim_Prim_str(in_Prim_2);
	struct mirth_mirth_zaMirth* v6;
	uint64_t v7 = mw_mirth_name_Name_Name(in_zaMirth_1, v5, &v6);
	*out_zaMirth_3 = v6;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movl -0xc(%rbp), %edi
callq 0x64690
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x28(%rbp), %rdx
callq 0x3ed80
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%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: mw_mirth_data_Data_name
static uint64_t mw_mirth_data_Data_name (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Data_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_data_Data_name, in_Data_2);
	VAL v6 = mut_get(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return V_mirth_name_Name(v6);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x1330be9(%rip), %rdi   # 0x1395068
callq 0x40d30
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x40f30
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_macro_Macro_name
static uint64_t mw_mirth_macro_Macro_name (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Macro_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_macro_Macro_name, in_Macro_2);
	VAL v6 = mut_get(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return V_mirth_name_Name(v6);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x1330a69(%rip), %rdi   # 0x13950c8
callq 0x40d30
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x40f30
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_prim_Prim_str
static STR* mw_mirth_prim_Prim_str (enum mirth_prim_Prim in_Prim_1) {
	INT v3;
	STR* v4 = mw_mirth_prim_Prim_strzearity(in_Prim_1, &v3);
	decref(MKINT(v3));
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl %edi, -0x4(%rbp)
movl -0x4(%rbp), %edi
leaq -0x10(%rbp), %rsi
callq 0x48820
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x32cd6e(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x6477b
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x32cd45(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x6477b
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x32cd1a(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x6477b
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x32ccf5(%rip), %rax    # 0x391428
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 0x64779
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x32ccc4(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x6477b
jmp 0x6477d
movq -0x18(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_package_Package_Std
static uint64_t mw_mirth_package_Package_Std (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_mirth_zaMirth* *out_zaMirth_2) {
	struct mirth_mirth_zaMirth* v4;
	struct mirth_mirth_Builtin* v5 = mw_mirth_mirth_zaMirth_builtin(in_zaMirth_1, &v4);
	uint64_t v6 = v5->mstd;
	decref(MK_mirth_mirth_Builtin(v5));
	*out_zaMirth_2 = v4;
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x3eb20
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x32ce91(%rip), %rax    # 0x391740
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x64970
movq -0x20(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x32ce68(%rip), %rax    # 0x391740
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x48(%rbp), %rax
cmpq $0x0, %rax
je 0x64970
movq -0x20(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x32ce3d(%rip), %rax    # 0x391740
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x58(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x64970
movq -0x20(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x32ce18(%rip), %rax    # 0x391740
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x6496e
movq -0x20(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x32cde7(%rip), %rax    # 0x391740
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0x127c0
jmp 0x64970
jmp 0x64972
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x80, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_def_Def_Module
static struct mirth_def_Def mtw_mirth_def_Def_Module (uint64_t in_Module_1) {
	struct mirth_def_Def_Module* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mModule = in_Module_1;
	struct mirth_def_Def v4 = { .tag=mirth_def_Def_Module, .ptr.Module=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 0x64b30
movl $0x2, %edi
leaq 0x2f2560(%rip), %rsi    # 0x357072
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x64b32
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: mw_mirth_mirth_zaMirth_defzeprimzetypezx
static void mw_mirth_mirth_zaMirth_defzeprimzetypezx (struct mirth_mirth_zaMirth* in_zaMirth_1, enum mirth_type_PrimType in_PrimType_2, struct std_list_List_1 in_List_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_name_QName* v6 = mw_mirth_type_PrimType_tyconzeqname(in_zaMirth_1, in_PrimType_2, &v5);
	uint64_t v7 = v6->mname;
	decref(MK_mirth_name_QName(v6));
	struct mirth_mirth_zaMirth* v8;
	STR* v9 = mw_mirth_name_Name_str(v5, v7, &v8);
	struct mirth_mirth_zaMirth* v10;
	mw_mirth_mirth_zaMirth_defzeprimzetypezealiaszx(v8, in_PrimType_2, v9, in_List_3, &v10);
	*out_zaMirth_4 = v10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movl %esi, -0x1c(%rbp)
movq %r8, -0x28(%rbp)
movq -0x18(%rbp), %rdi
movl -0x1c(%rbp), %esi
leaq -0x30(%rbp), %rdx
callq 0x5b350
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x32cae4(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x64dbd
movq -0x38(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x32cabb(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
cmpq $0x0, %rax
je 0x64dbd
movq -0x38(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x32ca8c(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x64dbd
movq -0x38(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0x32ca67(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0x78(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x80(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x64dbb
movq -0x38(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq 0x32ca33(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rsi
callq 0x127c0
jmp 0x64dbd
jmp 0x64dbf
movq -0x30(%rbp), %rdi
movq -0x40(%rbp), %rsi
leaq -0x98(%rbp), %rdx
callq 0x40c70
movq %rax, -0xa0(%rbp)
movq -0x98(%rbp), %rdi
movl -0x1c(%rbp), %esi
movq -0xa0(%rbp), %rdx
movl -0x10(%rbp), %ecx
movq -0x8(%rbp), %r8
leaq -0xa8(%rbp), %r9
callq 0x6cef0
movq -0xa8(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%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: mw_mirth_var_Var_Newzx
static uint64_t mw_mirth_var_Var_Newzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_type_Type in_Type_2, uint64_t in_Name_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct std_maybe_Maybe_1 v6 = { .tag=std_maybe_Maybe_1_None };
	struct mirth_mirth_zaMirth* v7;
	uint64_t v8 = mw_mirth_var_Var_Makezx(in_zaMirth_1, in_Name_3, in_Type_2, v6, &v7);
	*out_zaMirth_4 = v7;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
leaq -0x38(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movl -0x10(%rbp), %edx
movq -0x8(%rbp), %rcx
movl -0x38(%rbp), %r8d
movq -0x30(%rbp), %r9
leaq -0x40(%rbp), %rax
movq %rax, (%rsp)
callq 0x6e610
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x48(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_type_Type_Prim
static struct mirth_type_Type mtw_mirth_type_Type_Prim (enum mirth_type_PrimType in_PrimType_1) {
	struct mirth_type_Type_Prim* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mPrimType = in_PrimType_1;
	struct mirth_type_Type v4 = { .tag=mirth_type_Type_Prim, .ptr.Prim=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x14(%rbp)
movl $0x1, %edi
movl $0x8, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x6dd8f
movl $0x2, %edi
leaq 0x2e9467(%rip), %rsi    # 0x3571d8
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x6dd91
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movl -0x14(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x4(%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_name_Name_head
static enum std_byte_Byte mw_mirth_name_Name_head (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Name_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	STR* v6 = mw_mirth_name_Name_zgStr(in_zaMirth_1, in_Name_2, &v5);
	INT v7 = WRAP_I63(0LL);
	enum std_byte_Byte v8 = mw_std_prim_Str_bytezo(v7, v6);
	*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 0x6e5d0
movq %rax, -0x28(%rbp)
movq 0x300510(%rip), %rax    # 0x36ea50
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rsi
movq -0x30(%rbp), %rdi
callq 0x1b8e0
movl %eax, -0x34(%rbp)
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movl -0x34(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_name_Name_tailzehead
static enum std_byte_Byte mw_mirth_name_Name_tailzehead (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Name_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	STR* v6 = mw_mirth_name_Name_zgStr(in_zaMirth_1, in_Name_2, &v5);
	INT v7 = WRAP_I63(1LL);
	enum std_byte_Byte v8 = mw_std_prim_Str_bytezo(v7, v6);
	*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 0x6e5d0
movq %rax, -0x28(%rbp)
movq 0x3004b8(%rip), %rax    # 0x36ea58
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rsi
movq -0x30(%rbp), %rdi
callq 0x1b8e0
movl %eax, -0x34(%rbp)
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movl -0x34(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_var_Var_Makezx
static uint64_t mw_mirth_var_Var_Makezx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Name_2, struct mirth_type_Type in_Type_3, struct std_maybe_Maybe_1 in_Maybe_4, struct mirth_mirth_zaMirth* *out_zaMirth_5) {
	struct mirth_mirth_zaMirth* v7;
	uint64_t v8 = mw_mirth_var_Var_Alloczx(in_zaMirth_1, &v7);
	void* v9 = field_mut(&mfld_mirth_var_Var_name, v8);
	mut_set(MK_mirth_name_Name(in_Name_2), v9);
	void* v10 = field_mut(&mfld_mirth_var_Var_type, v8);
	mut_set(MK_mirth_type_Type(in_Type_3), v10);
	void* v11 = field_mut(&mfld_mirth_var_Var_autozerunzy, v8);
	mut_set(MK_std_maybe_Maybe_1(in_Maybe_4), v11);
	*out_zaMirth_5 = v7;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq 0x10(%rbp), %rax
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movl %r8d, -0x20(%rbp)
movq %r9, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %rsi, -0x30(%rbp)
movq -0x28(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x6e710
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rsi
leaq 0x1326ace(%rip), %rdi   # 0x1395120
callq 0x40d30
movq %rax, -0x48(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x32311e(%rip), %rax    # 0x391788
movq %rax, -0x50(%rbp)
movq -0x48(%rbp), %rdx
movq -0x58(%rbp), %rdi
movq -0x50(%rbp), %rsi
callq 0x431a0
movq -0x40(%rbp), %rsi
leaq 0x1326aa6(%rip), %rdi   # 0x1395130
callq 0x40d30
movq %rax, -0x60(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x6e780
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x60(%rbp), %rdx
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x431a0
movq -0x40(%rbp), %rsi
leaq 0x1326a7d(%rip), %rdi   # 0x1395140
callq 0x40d30
movq %rax, -0x78(%rbp)
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x133a0
movq %rax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
movq -0x78(%rbp), %rdx
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x431a0
movq -0x38(%rbp), %rcx
movq 0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_var_Var_Alloczx
static uint64_t mw_mirth_var_Var_Alloczx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_mirth_zaMirth* *out_zaMirth_2) {
	void* v4 = mbuf_mirth_var_Var_NumBuffer;
	uint64_t v5 = *(uint64_t*)v4;
	uint64_t v6 = 1ULL;
	uint64_t v7 = (v5 + v6);
	void* v8 = mbuf_mirth_var_Var_NumBuffer;
	*(uint64_t*)v8 = v7;
	uint64_t v9 = v7;
	*out_zaMirth_2 = in_zaMirth_1;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0x1326a2d(%rip), %rax   # 0x1395150
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq $0x1, -0x28(%rbp)
movq -0x20(%rbp), %rax
addq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x1326a03(%rip), %rax   # 0x1395150
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mirth_type_ArrowType_free
static void mirth_type_ArrowType_free (VAL vself) {
	ASSERT(vself.tag == TAG_mirth_type_ArrowType);
	struct mirth_type_ArrowType* self = vself.data.ptr;
	decref(MK_mirth_type_StackType(self->mdom));
	decref(MK_mirth_type_StackType(self->mcod));
	free(self);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
leaq 0x321eaa(%rip), %rcx    # 0x391c08
orq $0x1, %rcx
cmpq %rcx, %rax
je 0x6fd91
movl $0x2, %edi
leaq 0x2e73c1(%rip), %rsi    # 0x357134
movl $0x53, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x6fd93
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x6f140
movq %rax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x6fe70
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x6f140
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0x6fe70
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x6f140
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x6fe70
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x6f140
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 0x6fe6e
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq 0x10(%rax), %rsi
callq 0x6f140
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0x6fe70
jmp 0x6fe72
jmp 0x6fe74
movq -0x18(%rbp), %rax
movl 0x18(%rax), %edi
movq 0x20(%rax), %rsi
callq 0x6f140
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x70(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x6ff71
movq -0x18(%rbp), %rax
movl 0x18(%rax), %edi
movq 0x20(%rax), %rsi
callq 0x6f140
movq %rax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rax
cmpq $0x0, %rax
je 0x6ff71
movq -0x18(%rbp), %rax
movl 0x18(%rax), %edi
movq 0x20(%rax), %rsi
callq 0x6f140
movq %rax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
movq -0x98(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x6ff71
movq -0x18(%rbp), %rax
movl 0x18(%rax), %edi
movq 0x20(%rax), %rsi
callq 0x6f140
movq %rax, -0xa8(%rbp)
movq %rdx, -0xa0(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xa8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x6ff6f
movq -0x18(%rbp), %rax
movl 0x18(%rax), %edi
movq 0x20(%rax), %rsi
callq 0x6f140
movq %rax, -0xb8(%rbp)
movq %rdx, -0xb0(%rbp)
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rsi
callq 0x127c0
jmp 0x6ff71
jmp 0x6ff73
movq -0x18(%rbp), %rdi
callq 0x5030
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_type_Type_Var
static struct mirth_type_Type mtw_mirth_type_Type_Var (uint64_t in_Var_1) {
	struct mirth_type_Type_Var* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mVar = in_Var_1;
	struct mirth_type_Type v4 = { .tag=mirth_type_Type_Var, .ptr.Var=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 0x705c0
movl $0x2, %edi
leaq 0x2e6c68(%rip), %rsi    # 0x35720a
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x705c2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x5, -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_type_Type_App
static struct mirth_type_Type mtw_mirth_type_Type_App (struct mirth_type_Type in_Type_1, struct mirth_type_Type in_Type_2) {
	struct mirth_type_Type_App* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->refs = 1;
	v4->mType = in_Type_2;
	v4->mType_1 = in_Type_1;
	struct mirth_type_Type v5 = { .tag=mirth_type_Type_App, .ptr.App=v4 };
	return v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x30(%rbp)
movq %rcx, -0x28(%rbp)
movl $0x1, %edi
movl $0x28, %esi
callq 0x50c0
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x7065a
movl $0x2, %edi
leaq 0x2e6c00(%rip), %rsi    # 0x35723c
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x7065c
movq -0x38(%rbp), %rax
movl $0x1, (%rax)
movq -0x38(%rbp), %rax
movups -0x30(%rbp), %xmm0
movups %xmm0, 0x18(%rax)
movq -0x38(%rbp), %rax
movups -0x20(%rbp), %xmm0
movups %xmm0, 0x8(%rax)
movl $0xb, -0x10(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_typedef_TypeDef_Newzx
static uint64_t mw_mirth_typedef_TypeDef_Newzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_maybe_Maybe_1 in_Maybe_2, struct std_maybe_Maybe_1 in_Maybe_3, uint64_t in_Name_4, struct mirth_mirth_PropState_1 in_PropState_5, struct mirth_mirth_zaMirth* *out_zaMirth_6) {
	struct mirth_mirth_zaMirth* v8;
	uint64_t v9 = mw_mirth_typedef_TypeDef_Makezx(in_zaMirth_1, in_Maybe_2, in_Maybe_3, in_Name_4, &v8);
	struct mirth_mirth_PropLabel v10 = mtw_mirth_mirth_PropLabel_TypeDefQName(v9);
	struct mirth_mirth_Prop_1* v11 = mtw_mirth_mirth_Prop_1_Prop(v10, in_PropState_5);
	void* v12 = field_mut(&mfld_mirth_typedef_TypeDef_ztqname, v9);
	mut_set(MK_mirth_mirth_Prop_1(v11), v12);
	struct mirth_def_Def v13 = mtw_mirth_def_Def_Type(v9);
	struct mirth_mirth_zaMirth* v14;
	mw_mirth_def_Def_register(v8, v13, &v14);
	*out_zaMirth_6 = v14;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq 0x20(%rbp), %rax
leaq 0x10(%rbp), %rax
movq %rax, -0x90(%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)
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %r9
movl -0x10(%rbp), %esi
movq -0x8(%rbp), %rdx
movl -0x20(%rbp), %ecx
movq -0x18(%rbp), %r8
leaq -0x38(%rbp), %rax
movq %rax, (%rsp)
callq 0x70930
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
callq 0x70a30
movl %eax, %ecx
movq -0x90(%rbp), %rax
movl %ecx, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movl -0x50(%rbp), %edi
movq -0x48(%rbp), %rsi
movl (%rax), %edx
movq 0x8(%rax), %rcx
callq 0x70ac0
movq %rax, -0x58(%rbp)
movq -0x40(%rbp), %rsi
leaq 0x13245af(%rip), %rdi   # 0x1394ce0
callq 0x40d30
movq %rax, -0x60(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x321117(%rip), %rax    # 0x391860
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movq -0x60(%rbp), %rdx
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x431a0
movq -0x40(%rbp), %rdi
callq 0x70b60
movl %eax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movq -0x38(%rbp), %rdi
movl -0x80(%rbp), %esi
movq -0x78(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x3f300
movq -0x88(%rbp), %rcx
movq 0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_mirth_PropLabel_TypeDefTarget
static struct mirth_mirth_PropLabel mtw_mirth_mirth_PropLabel_TypeDefTarget (uint64_t in_TypeDef_1) {
	struct mirth_mirth_PropLabel_TypeDefTarget* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mTypeDef = in_TypeDef_1;
	struct mirth_mirth_PropLabel v4 = { .tag=mirth_mirth_PropLabel_TypeDefTarget, .ptr.TypeDefTarget=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 0x70800
movl $0x2, %edi
leaq 0x2e6b22(%rip), %rsi    # 0x357304
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x70802
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x8, -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_mirth_PropLabel_prop
static struct mirth_mirth_Prop_1* mw_mirth_mirth_PropLabel_prop (struct mirth_mirth_zaMirth* in_zaMirth_1, VAL in_b_2, struct mirth_mirth_PropLabel in_PropLabel_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_PropState_1 v6 = mtw_mirth_mirth_PropState_1_Ready(in_b_2);
	struct mirth_mirth_Prop_1* v7 = mtw_mirth_mirth_Prop_1_Prop(in_PropLabel_3, v6);
	*out_zaMirth_4 = in_zaMirth_1;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rsi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl %ecx, -0x20(%rbp)
movq %r8, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x48490
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
movl -0x40(%rbp), %edx
movq -0x38(%rbp), %rcx
callq 0x70ac0
movq %rax, -0x48(%rbp)
movq -0x28(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x48(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_mirth_PropLabel_TypeDefParams
static struct mirth_mirth_PropLabel mtw_mirth_mirth_PropLabel_TypeDefParams (uint64_t in_TypeDef_1) {
	struct mirth_mirth_PropLabel_TypeDefParams* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mTypeDef = in_TypeDef_1;
	struct mirth_mirth_PropLabel v4 = { .tag=mirth_mirth_PropLabel_TypeDefParams, .ptr.TypeDefParams=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 0x708f0
movl $0x2, %edi
leaq 0x2e6a64(%rip), %rsi    # 0x357336
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x708f2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x7, -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_typedef_TypeDef_Makezx
static uint64_t mw_mirth_typedef_TypeDef_Makezx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_maybe_Maybe_1 in_Maybe_2, struct std_maybe_Maybe_1 in_Maybe_3, uint64_t in_Name_4, struct mirth_mirth_zaMirth* *out_zaMirth_5) {
	struct mirth_mirth_zaMirth* v7;
	uint64_t v8 = mw_mirth_typedef_TypeDef_Alloczx(in_zaMirth_1, &v7);
	void* v9 = field_mut(&mfld_mirth_typedef_TypeDef_doc, v8);
	mut_set(MK_std_maybe_Maybe_1(in_Maybe_2), v9);
	void* v10 = field_mut(&mfld_mirth_typedef_TypeDef_headzy, v8);
	mut_set(MK_std_maybe_Maybe_1(in_Maybe_3), v10);
	void* v11 = field_mut(&mfld_mirth_typedef_TypeDef_name, v8);
	mut_set(MK_mirth_name_Name(in_Name_4), v11);
	*out_zaMirth_5 = v7;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq 0x10(%rbp), %rax
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl %ecx, -0x20(%rbp)
movq %r8, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x28(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x70bf0
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rsi
leaq 0x1324817(%rip), %rdi   # 0x1395188
callq 0x40d30
movq %rax, -0x48(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x133a0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x48(%rbp), %rdx
movq -0x58(%rbp), %rdi
movq -0x50(%rbp), %rsi
callq 0x431a0
movq -0x40(%rbp), %rsi
leaq 0x1324526(%rip), %rdi   # 0x1394ed0
callq 0x40d30
movq %rax, -0x60(%rbp)
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x133a0
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x60(%rbp), %rdx
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x431a0
movq -0x40(%rbp), %rsi
leaq 0x13246a5(%rip), %rdi   # 0x1395088
callq 0x40d30
movq %rax, -0x78(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x320d8a(%rip), %rax    # 0x391788
movq %rax, -0x80(%rbp)
movq -0x78(%rbp), %rdx
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x431a0
movq -0x38(%rbp), %rcx
movq 0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_mirth_PropLabel_TypeDefQName
static struct mirth_mirth_PropLabel mtw_mirth_mirth_PropLabel_TypeDefQName (uint64_t in_TypeDef_1) {
	struct mirth_mirth_PropLabel_TypeDefQName* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mTypeDef = in_TypeDef_1;
	struct mirth_mirth_PropLabel v4 = { .tag=mirth_mirth_PropLabel_TypeDefQName, .ptr.TypeDefQName=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 0x70a80
movl $0x2, %edi
leaq 0x2e680c(%rip), %rsi    # 0x35726e
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x70a82
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x6, -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)