LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_type_Type_Stack
static struct mirth_type_StackType mtp_mirth_type_Type_Stack (struct mirth_type_Type in_Type_1) {
	struct mirth_type_Type_Stack v3 = *in_Type_1.ptr.Stack;
	if (!--(in_Type_1.ptr.Stack->refs)) {
		free(in_Type_1.ptr.Stack);
	} else {
		incref(MK_mirth_type_StackType(v3.mStackType));
	}
	return v3.mStackType;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%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 -0x18(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x8777b
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x87816
jmp 0x8777d
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x6f140
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x87812
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x6f140
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x87812
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x6f140
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x87812
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x6f140
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x78(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x87814
jmp 0x87816
movups -0x30(%rbp), %xmm0
movaps %xmm0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x80, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_type_Type_App
static struct mirth_type_Type mtp_mirth_type_Type_App (struct mirth_type_Type in_Type_1, struct mirth_type_Type *out_Type_3) {
	struct mirth_type_Type_App v4 = *in_Type_1.ptr.App;
	if (!--(in_Type_1.ptr.App->refs)) {
		free(in_Type_1.ptr.App);
	} else {
		incref(MK_mirth_type_Type(v4.mType_1));
		incref(MK_mirth_type_Type(v4.mType));
	}
	*out_Type_3 = v4.mType;
	return v4.mType_1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x50(%rbp), %rdi
movl $0x28, %edx
callq 0x50e0
movq -0x18(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x87876
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x879db
jmp 0x87878
movl -0x48(%rbp), %edi
movq -0x40(%rbp), %rsi
callq 0x6e780
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x58(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x87916
movl -0x48(%rbp), %edi
movq -0x40(%rbp), %rsi
callq 0x6e780
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rax
cmpq $0x0, %rax
je 0x87916
movl -0x48(%rbp), %edi
movq -0x40(%rbp), %rsi
callq 0x6e780
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movq -0x80(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x87916
movl -0x48(%rbp), %edi
movq -0x40(%rbp), %rsi
callq 0x6e780
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 0x87918
jmp 0x8791a
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x6e780
movq %rax, -0xa0(%rbp)
movq %rdx, -0x98(%rbp)
movq -0x98(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x879d7
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x6e780
movq %rax, -0xb0(%rbp)
movq %rdx, -0xa8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xb0(%rbp), %rax
cmpq $0x0, %rax
je 0x879d7
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x6e780
movq %rax, -0xc0(%rbp)
movq %rdx, -0xb8(%rbp)
movq -0xc0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x879d7
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x6e780
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 0x879d9
jmp 0x879db
movq -0x28(%rbp), %rax
movups -0x38(%rbp), %xmm0
movups %xmm0, (%rax)
movups -0x48(%rbp), %xmm0
movaps %xmm0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xd0, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_type_Type_Value
static struct mirth_type_Value mtp_mirth_type_Type_Value (struct mirth_type_Type in_Type_1) {
	struct mirth_type_Type_Value v3 = *in_Type_1.ptr.Value;
	if (!--(in_Type_1.ptr.Value->refs)) {
		free(in_Type_1.ptr.Value);
	} else {
		incref(MK_mirth_type_Value(v3.mValue));
	}
	return v3.mValue;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%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 -0x18(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x87b4b
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x87be6
jmp 0x87b4d
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x6f180
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x87be2
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x6f180
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x87be2
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x6f180
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x87be2
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x6f180
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x78(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x87be4
jmp 0x87be6
movups -0x30(%rbp), %xmm0
movaps %xmm0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x80, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_type_Type_Meta
static struct mirth_type_Type mtw_mirth_type_Type_Meta (uint64_t in_MetaVar_1) {
	struct mirth_type_Type_Meta* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mMetaVar = in_MetaVar_1;
	struct mirth_type_Type v4 = { .tag=mirth_type_Type_Meta, .ptr.Meta=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 0x882d0
movl $0x2, %edi
leaq 0x2cf915(%rip), %rsi    # 0x357bc7
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x882d2
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: mtp_mirth_type_Value_Int
static INT mtp_mirth_type_Value_Int (struct mirth_type_Value in_Value_1) {
	struct mirth_type_Value_Int v3 = *in_Value_1.ptr.Int;
	if (!--(in_Value_1.ptr.Int->refs)) {
		free(in_Value_1.ptr.Int);
	} else {
		incref(MKINT(v3.mInt));
	}
	return v3.mInt;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl %edi, -0x18(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x28(%rbp)
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x88350
movq -0x10(%rbp), %rdi
callq 0x5030
jmp 0x883f7
jmp 0x88352
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x3090c7(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x883f3
movq -0x20(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x3090a2(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x48(%rbp), %rax
cmpq $0x0, %rax
je 0x883f3
movq -0x20(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x309077(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x58(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x883f3
movq -0x20(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0x309052(%rip), %rax    # 0x391428
orq $0x1, %rax
movq %rax, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x883f5
jmp 0x883f7
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_type_Value_F64
static double mtp_mirth_type_Value_F64 (struct mirth_type_Value in_Value_1) {
	struct mirth_type_Value_F64 v3 = *in_Value_1.ptr.F64;
	if (!--(in_Value_1.ptr.F64->refs)) {
		free(in_Value_1.ptr.F64);
	} else {
	}
	return v3.mF64;
}

// 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 0x8844d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x8844f
jmp 0x8844f
movsd -0x18(%rbp), %xmm0
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_type_Value_Str
static STR* mtp_mirth_type_Value_Str (struct mirth_type_Value in_Value_1) {
	struct mirth_type_Value_Str v3 = *in_Value_1.ptr.Str;
	if (!--(in_Value_1.ptr.Str->refs)) {
		free(in_Value_1.ptr.Str);
	} else {
		incref(MKSTR(v3.mStr));
	}
	return v3.mStr;
}

// 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 0x884a0
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x88547
jmp 0x884a2
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x308ca7(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x88543
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x308c82(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x88543
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x308c57(%rip), %rax    # 0x391158
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x88543
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x308c32(%rip), %rax    # 0x391158
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 0x88545
jmp 0x88547
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_type_Value_Block
static uint64_t mtp_mirth_type_Value_Block (struct mirth_type_Value in_Value_1) {
	struct mirth_type_Value_Block v3 = *in_Value_1.ptr.Block;
	if (!--(in_Value_1.ptr.Block->refs)) {
		free(in_Value_1.ptr.Block);
	} else {
	}
	return v3.mBlock;
}

// 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 0x8859d
movq -0x8(%rbp), %rdi
callq 0x5030
jmp 0x8859f
jmp 0x8859f
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: mtw_mirth_elab_RejectedDef_WrongQualifier
static struct mirth_elab_RejectedDef mtw_mirth_elab_RejectedDef_WrongQualifier (struct mirth_def_Def in_Def_1) {
	struct mirth_elab_RejectedDef_WrongQualifier* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mDef = in_Def_1;
	struct mirth_elab_RejectedDef v4 = { .tag=mirth_elab_RejectedDef_WrongQualifier, .ptr.WrongQualifier=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x1, %edi
movl $0x18, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x8a6e3
movl $0x2, %edi
leaq 0x2cd601(%rip), %rsi    # 0x357cc6
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x8a6e5
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
movq -0x28(%rbp), %rax
movups -0x20(%rbp), %xmm0
movups %xmm0, 0x8(%rax)
movl $0x4, -0x10(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_TokenValue_dnamezy
static struct std_maybe_Maybe_1 mw_mirth_token_TokenValue_dnamezy (struct mirth_token_TokenValue in_TokenValue_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_TokenValue_1).tag) {
		case mirth_token_TokenValue_DName: {
			struct mirth_name_DName* v4 = mtp_mirth_token_TokenValue_DName(in_TokenValue_1);
			struct std_maybe_Maybe_1 v5 = mtw_std_maybe_Maybe_1_Some(MK_mirth_name_DName(v4));
			branch_Maybe_3 = v5;
		} break;
		default: {
			decref(MK_mirth_token_TokenValue(in_TokenValue_1));
			struct std_maybe_Maybe_1 v6 = { .tag=std_maybe_Maybe_1_None };
			branch_Maybe_3 = v6;
		} break;
	}
	return branch_Maybe_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl -0x20(%rbp), %eax
subl $0x1c, %eax
jne 0x8a78c
jmp 0x8a73c
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79a30
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x30777d(%rip), %rax    # 0x391ed8
orq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0xca10
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x8a890
jmp 0x8a78e
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x50(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x8a865
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
cmpq $0x0, %rax
je 0x8a865
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x78(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x8a865
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x88(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x8a863
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x79bd0
movq %rax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
callq 0x127c0
jmp 0x8a865
jmp 0x8a867
leaq -0xa8(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0xa8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xb0, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_name_DName_rootzy
static struct std_maybe_Maybe_1 mw_mirth_name_DName_rootzy (struct mirth_name_DName* in_DName_1) {
	struct std_list_Nest_1* v3;
	struct std_maybe_Maybe_1 v4 = mtp_mirth_name_DName_DName(in_DName_1, &v3);
	decref(MK_std_list_Nest_1(v3));
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x18(%rbp)
movq -0x18(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x851b0
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x307411(%rip), %rax    # 0x391f20
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x8abd0
movq -0x20(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x3073e8(%rip), %rax    # 0x391f20
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x8abd0
movq -0x20(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x3073bd(%rip), %rax    # 0x391f20
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x8abd0
movq -0x20(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x307398(%rip), %rax    # 0x391f20
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 0x8abce
movq -0x20(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x307367(%rip), %rax    # 0x391f20
orq $0x1, %rax
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x127c0
jmp 0x8abd0
jmp 0x8abd2
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x70, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_maybe_Maybe_1_zgList
static struct std_list_List_1 mw_std_maybe_Maybe_1_zgList (struct std_maybe_Maybe_1 in_Maybe_1) {
	struct std_list_List_1 branch_List_3;
	switch ((in_Maybe_1).tag) {
		case std_maybe_Maybe_1_None: {
			struct std_list_List_1 v4 = { .tag=std_list_List_1_Nil };
			branch_List_3 = v4;
		} break;
		case std_maybe_Maybe_1_Some: {
			VAL v5 = mtp_std_maybe_Maybe_1_Some(in_Maybe_1);
			struct std_list_List_1 v6 = { .tag=std_list_List_1_Nil };
			struct std_list_List_1 v7 = mw_std_list_List_1_cons(v5, v6);
			branch_List_3 = v7;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	return branch_List_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x64(%rbp)
testl %eax, %eax
je 0x8ac05
jmp 0x8abfb
movl -0x64(%rbp), %eax
subl $0x1, %eax
je 0x8ac27
jmp 0x8ac78
leaq -0x30(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x30(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x8ac91
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x174a0
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
leaq -0x50(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rsi
movl -0x50(%rbp), %edx
movq -0x48(%rbp), %rcx
callq 0x12740
movl %eax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x8ac91
leaq 0x2c9202(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x70, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_list_List_1_unsnoc
static struct std_list_List_1 mw_std_list_List_1_unsnoc (struct std_list_List_1 in_List_1, struct std_maybe_Maybe_1 *out_Maybe_3) {
	struct std_list_List_1 v4 = mw_std_list_List_1_reverse(in_List_1);
	struct std_list_List_1 v5;
	struct std_maybe_Maybe_1 v6 = mw_std_list_List_1_uncons(v4, &v5);
	struct std_list_List_1 v7 = mw_std_list_List_1_reverse(v5);
	*out_Maybe_3 = v6;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x28(%rbp)
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x122b0
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x2c490
movl %eax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movl -0x48(%rbp), %edi
movq -0x40(%rbp), %rsi
callq 0x122b0
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x28(%rbp), %rax
movups -0x58(%rbp), %xmm0
movups %xmm0, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_alias_Alias_namespace
static struct mirth_name_Namespace mw_mirth_alias_Alias_namespace (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Alias_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_name_QName* v6 = mw_mirth_alias_Alias_qnamezehard(in_zaMirth_1, in_Alias_2, &v5);
	struct mirth_name_Namespace v7 = v6->mnamespace;
	incref(MK_mirth_name_Namespace(v7));
	decref(MK_mirth_name_QName(v6));
	*out_zaMirth_3 = v5;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x8a8a0
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rcx
movq %rcx, -0x10(%rbp)
movq 0x10(%rax), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x59830
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x8c855
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x59830
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x8c855
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x59830
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x8c855
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x59830
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x78(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x8c857
jmp 0x8c859
movq -0x38(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x304f65(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x8c957
movq -0x38(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x304f39(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x98(%rbp), %rax
cmpq $0x0, %rax
je 0x8c957
movq -0x38(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x304f01(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0xa0(%rbp)
movq -0xa8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x8c957
movq -0x38(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq 0x304ed3(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xb8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x8c955
movq -0x38(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq 0x304e99(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0xc0(%rbp)
movq -0xc8(%rbp), %rdi
movq -0xc0(%rbp), %rsi
callq 0x127c0
jmp 0x8c957
jmp 0x8c959
movq -0x30(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xd0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_typedef_TypeDef_namespace
static struct mirth_name_Namespace mw_mirth_typedef_TypeDef_namespace (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_TypeDef_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_name_QName* v6 = mw_mirth_typedef_TypeDef_qnamezehard(in_zaMirth_1, in_TypeDef_2, &v5);
	struct mirth_name_Namespace v7 = v6->mnamespace;
	incref(MK_mirth_name_Namespace(v7));
	decref(MK_mirth_name_QName(v6));
	*out_zaMirth_3 = v5;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x8a960
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rcx
movq %rcx, -0x10(%rbp)
movq 0x10(%rax), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x59830
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x8ca55
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x59830
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x8ca55
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x59830
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x8ca55
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0x59830
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x78(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x8ca57
jmp 0x8ca59
movq -0x38(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x304d65(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x8cb57
movq -0x38(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq 0x304d39(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0x90(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x98(%rbp), %rax
cmpq $0x0, %rax
je 0x8cb57
movq -0x38(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq 0x304d01(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0xa0(%rbp)
movq -0xa8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x8cb57
movq -0x38(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq 0x304cd3(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0xb0(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xb8(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x8cb55
movq -0x38(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq 0x304c99(%rip), %rax    # 0x3917d0
orq $0x1, %rax
movq %rax, -0xc0(%rbp)
movq -0xc8(%rbp), %rdi
movq -0xc0(%rbp), %rsi
callq 0x127c0
jmp 0x8cb57
jmp 0x8cb59
movq -0x30(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xd0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_elab_RejectedDef_MethodNotAvailable
static struct mirth_elab_RejectedDef mtw_mirth_elab_RejectedDef_MethodNotAvailable (struct mirth_def_Def in_Def_1) {
	struct mirth_elab_RejectedDef_MethodNotAvailable* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mDef = in_Def_1;
	struct mirth_elab_RejectedDef v4 = { .tag=mirth_elab_RejectedDef_MethodNotAvailable, .ptr.MethodNotAvailable=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x1, %edi
movl $0x18, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x8e503
movl $0x2, %edi
leaq 0x2c9822(%rip), %rsi    # 0x357d07
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x8e505
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
movq -0x28(%rbp), %rax
movups -0x20(%rbp), %xmm0
movups %xmm0, 0x8(%rax)
movl $0x6, -0x10(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_elab_RejectedDef_MethodWrongType
static struct mirth_elab_RejectedDef mtw_mirth_elab_RejectedDef_MethodWrongType (struct mirth_def_Def in_Def_1, struct std_list_List_1 in_List_2) {
	struct mirth_elab_RejectedDef_MethodWrongType* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->refs = 1;
	v4->mList = in_List_2;
	v4->mDef = in_Def_1;
	struct mirth_elab_RejectedDef v5 = { .tag=mirth_elab_RejectedDef_MethodWrongType, .ptr.MethodWrongType=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 0x8e59a
movl $0x2, %edi
leaq 0x2c97bd(%rip), %rsi    # 0x357d39
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x8e59c
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 $0x7, -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: mtw_mirth_elab_RejectedDef_NotImported
static struct mirth_elab_RejectedDef mtw_mirth_elab_RejectedDef_NotImported (struct mirth_def_Def in_Def_1) {
	struct mirth_elab_RejectedDef_NotImported* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mDef = in_Def_1;
	struct mirth_elab_RejectedDef v4 = { .tag=mirth_elab_RejectedDef_NotImported, .ptr.NotImported=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x1, %edi
movl $0x18, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x8e633
movl $0x2, %edi
leaq 0x2c9756(%rip), %rsi    # 0x357d6b
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x8e635
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
movq -0x28(%rbp), %rax
movups -0x20(%rbp), %xmm0
movups %xmm0, 0x8(%rax)
movl $0x3, -0x10(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_name_DName_iszerelativezy
static bool mw_mirth_name_DName_iszerelativezy (struct mirth_name_DName* in_DName_1) {
	struct std_maybe_Maybe_1 v3 = mw_mirth_name_DName_rootzy(in_DName_1);
	int64_t v4 = (v3).tag;
	decref(MK_std_maybe_Maybe_1(v3));
	INT v5 = WRAP_I63(0LL);
	INT v6 = v5;
	INT v7 = i64_to_int(v4);
	bool v8 = int_eq(v7, v6);
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8aae0
movl %eax, -0x18(%rbp)
movq %rdx, -0x10(%rbp)
movl -0x18(%rbp), %eax
movq %rax, -0x20(%rbp)
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x133a0
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x8e757
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x133a0
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0x8e757
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x133a0
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x8e757
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x133a0
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x8e755
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x133a0
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x127c0
jmp 0x8e757
jmp 0x8e759
movq 0x2e02f0(%rip), %rax    # 0x36ea50
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x20(%rbp), %rdi
callq 0x1a290
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x194b0
andb $0x1, %al
movb %al, -0x89(%rbp)
movb -0x89(%rbp), %al
andb $0x1, %al
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_elab_modulezevisiblezefromzetokenzy
static bool mw_mirth_elab_modulezevisiblezefromzetokenzy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, uint64_t in_Module_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* v6;
	uint64_t v7 = mw_mirth_token_Token_module(in_zaMirth_1, in_Token_2, &v6);
	struct mirth_mirth_zaMirth* v8;
	bool v9 = mw_mirth_module_Module_visible(v6, in_Module_3, v7, &v8);
	*out_zaMirth_4 = v8;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x28(%rbp), %rdx
callq 0x614c0
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x30(%rbp), %rdx
leaq -0x38(%rbp), %rcx
callq 0x8ee40
andb $0x1, %al
movb %al, -0x39(%rbp)
movq -0x38(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movb -0x39(%rbp), %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_def_Def_punningzy
static bool mw_mirth_def_Def_punningzy (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_def_Def in_Def_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_name_QName* v6 = mw_mirth_def_Def_qnamezehard(in_zaMirth_1, in_Def_2, &v5);
	struct mirth_mirth_zaMirth* v7;
	bool v8 = mw_mirth_name_QName_punningzy(v5, v6, &v7);
	*out_zaMirth_3 = v7;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x18(%rbp), %rdi
movl -0x10(%rbp), %esi
movq -0x8(%rbp), %rdx
leaq -0x28(%rbp), %rcx
callq 0x89230
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0x8f990
andb $0x1, %al
movb %al, -0x39(%rbp)
movq -0x38(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movb -0x39(%rbp), %al
andb $0x1, %al
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_module_Module_imports
static struct std_list_List_1 mw_mirth_module_Module_imports (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Module_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_module_Module_imports, in_Module_2);
	VAL v6 = mut_get(v5);
	*out_zaMirth_3 = in_zaMirth_1;
	return V_std_list_List_1(v6);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x20(%rbp), %rsi
leaq 0x13058e9(%rip), %rdi   # 0x13950f8
callq 0x40d30
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
callq 0x40f30
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x12c80
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_def_Def_samezeresolvedzy
static bool mw_mirth_def_Def_samezeresolvedzy (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_def_Def in_Def_2, struct mirth_def_Def in_Def_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	struct mirth_mirth_zaMirth* v6;
	struct mirth_def_Def v7 = mw_mirth_def_Def_resolve(in_zaMirth_1, in_Def_2, &v6);
	struct mirth_mirth_zaMirth* v8;
	struct mirth_def_Def v9 = mw_mirth_def_Def_resolve(v6, in_Def_3, &v8);
	struct mirth_mirth_zaMirth* v10;
	bool v11 = mw_mirth_def_Def_zd(v8, v7, v9, &v10);
	*out_zaMirth_4 = v10;
	return v11;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
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
movl -0x10(%rbp), %esi
movq -0x8(%rbp), %rdx
leaq -0x38(%rbp), %rcx
callq 0x990c0
movl %eax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x38(%rbp), %rdi
movl -0x20(%rbp), %esi
movq -0x18(%rbp), %rdx
leaq -0x50(%rbp), %rcx
callq 0x990c0
movl %eax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x50(%rbp), %rdi
movl -0x48(%rbp), %esi
movq -0x40(%rbp), %rdx
movl -0x60(%rbp), %ecx
movq -0x58(%rbp), %r8
leaq -0x68(%rbp), %r9
callq 0x99550
andb $0x1, %al
movb %al, -0x69(%rbp)
movq -0x68(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movb -0x69(%rbp), %al
andb $0x1, %al
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_def_Def_qnamezj
static void mw_mirth_def_Def_qnamezj (struct mirth_mirth_zaMirth* in_zaMirth_1, STR* in_zaStr_2, struct mirth_def_Def in_Def_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, STR* *out_zaStr_5) {
	struct mirth_mirth_zaMirth* v6;
	struct mirth_name_QName* v7 = mw_mirth_def_Def_qnamezehard(in_zaMirth_1, in_Def_3, &v6);
	struct mirth_mirth_zaMirth* v8;
	STR* v9;
	mw_mirth_name_QName_qnamezj(v6, in_zaStr_2, v7, &v8, &v9);
	*out_zaStr_5 = v9;
	*out_zaMirth_4 = v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl %edx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x18(%rbp), %rdi
movl -0x10(%rbp), %esi
movq -0x8(%rbp), %rdx
leaq -0x38(%rbp), %rcx
callq 0x89230
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x40(%rbp), %rdx
leaq -0x48(%rbp), %rcx
leaq -0x50(%rbp), %r8
callq 0x44650
movq -0x50(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x48(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_elab_RejectedDef_NotImported
static struct mirth_def_Def mtp_mirth_elab_RejectedDef_NotImported (struct mirth_elab_RejectedDef in_RejectedDef_1) {
	struct mirth_elab_RejectedDef_NotImported v3 = *in_RejectedDef_1.ptr.NotImported;
	if (!--(in_RejectedDef_1.ptr.NotImported->refs)) {
		free(in_RejectedDef_1.ptr.NotImported);
	} else {
		incref(MK_mirth_def_Def(v3.mDef));
	}
	return v3.mDef;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%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 -0x18(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x97cbb
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x97d56
jmp 0x97cbd
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x97d52
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x97d52
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x97d52
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x78(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x97d54
jmp 0x97d56
movups -0x30(%rbp), %xmm0
movaps %xmm0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x80, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_elab_RejectedDef_WrongArity
static struct mirth_def_Def mtp_mirth_elab_RejectedDef_WrongArity (struct mirth_elab_RejectedDef in_RejectedDef_1) {
	struct mirth_elab_RejectedDef_WrongArity v3 = *in_RejectedDef_1.ptr.WrongArity;
	if (!--(in_RejectedDef_1.ptr.WrongArity->refs)) {
		free(in_RejectedDef_1.ptr.WrongArity);
	} else {
		incref(MK_mirth_def_Def(v3.mDef));
	}
	return v3.mDef;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%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 -0x18(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x97dbb
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x97e56
jmp 0x97dbd
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x97e52
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x97e52
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x97e52
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x78(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x97e54
jmp 0x97e56
movups -0x30(%rbp), %xmm0
movaps %xmm0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x80, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_elab_RejectedDef_WrongQualifier
static struct mirth_def_Def mtp_mirth_elab_RejectedDef_WrongQualifier (struct mirth_elab_RejectedDef in_RejectedDef_1) {
	struct mirth_elab_RejectedDef_WrongQualifier v3 = *in_RejectedDef_1.ptr.WrongQualifier;
	if (!--(in_RejectedDef_1.ptr.WrongQualifier->refs)) {
		free(in_RejectedDef_1.ptr.WrongQualifier);
	} else {
		incref(MK_mirth_def_Def(v3.mDef));
	}
	return v3.mDef;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%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 -0x18(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x97ebb
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x97f56
jmp 0x97ebd
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x97f52
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x97f52
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x97f52
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x78(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x97f54
jmp 0x97f56
movups -0x30(%rbp), %xmm0
movaps %xmm0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x80, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_elab_RejectedDef_WrongConstructor
static struct mirth_def_Def mtp_mirth_elab_RejectedDef_WrongConstructor (struct mirth_elab_RejectedDef in_RejectedDef_1) {
	struct mirth_elab_RejectedDef_WrongConstructor v3 = *in_RejectedDef_1.ptr.WrongConstructor;
	if (!--(in_RejectedDef_1.ptr.WrongConstructor->refs)) {
		free(in_RejectedDef_1.ptr.WrongConstructor);
	} else {
		incref(MK_mirth_def_Def(v3.mDef));
	}
	return v3.mDef;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%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 -0x18(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x97fbb
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x98056
jmp 0x97fbd
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x98052
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0x98052
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x98052
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x78(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x98054
jmp 0x98056
movups -0x30(%rbp), %xmm0
movaps %xmm0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x80, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_elab_RejectedDef_MethodWrongType
static struct mirth_def_Def mtp_mirth_elab_RejectedDef_MethodWrongType (struct mirth_elab_RejectedDef in_RejectedDef_1, struct std_list_List_1 *out_List_3) {
	struct mirth_elab_RejectedDef_MethodWrongType v4 = *in_RejectedDef_1.ptr.MethodWrongType;
	if (!--(in_RejectedDef_1.ptr.MethodWrongType->refs)) {
		free(in_RejectedDef_1.ptr.MethodWrongType);
	} else {
		incref(MK_mirth_def_Def(v4.mDef));
		incref(MK_std_list_List_1(v4.mList));
	}
	*out_List_3 = v4.mList;
	return v4.mDef;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x50(%rbp), %rdi
movl $0x28, %edx
callq 0x50e0
movq -0x18(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0x980b6
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x9821b
jmp 0x980b8
movl -0x48(%rbp), %edi
movq -0x40(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x58(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x98156
movl -0x48(%rbp), %edi
movq -0x40(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x70(%rbp), %rax
cmpq $0x0, %rax
je 0x98156
movl -0x48(%rbp), %edi
movq -0x40(%rbp), %rsi
callq 0x43ec0
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movq -0x80(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x98156
movl -0x48(%rbp), %edi
movq -0x40(%rbp), %rsi
callq 0x43ec0
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 0x98158
jmp 0x9815a
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x12780
movq %rax, -0xa0(%rbp)
movq %rdx, -0x98(%rbp)
movq -0x98(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x98217
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x12780
movq %rax, -0xb0(%rbp)
movq %rdx, -0xa8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xb0(%rbp), %rax
cmpq $0x0, %rax
je 0x98217
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x12780
movq %rax, -0xc0(%rbp)
movq %rdx, -0xb8(%rbp)
movq -0xc0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x98217
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x12780
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 0x98219
jmp 0x9821b
movq -0x28(%rbp), %rax
movups -0x38(%rbp), %xmm0
movups %xmm0, (%rax)
movups -0x48(%rbp), %xmm0
movaps %xmm0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xd0, %rsp
popq %rbp
retq
nop