LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_TokenValue_lcolonzy
static struct std_maybe_Maybe_1 mw_mirth_token_TokenValue_lcolonzy (struct mirth_token_TokenValue in_TokenValue_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_TokenValue_1).tag) {
		case mirth_token_TokenValue_LColon: {
			uint64_t v4 = mtp_mirth_token_TokenValue_LColon(in_TokenValue_1);
			struct std_maybe_Maybe_1 v5 = mtw_std_maybe_Maybe_1_Some(MK_mirth_token_Token(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 $0xc, %eax
jne 0xd2518
jmp 0xd24cc
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x7ab80
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x2bf95d(%rip), %rax    # 0x391e48
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 0xd261c
jmp 0xd251a
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 0xd25f1
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 0xd25f1
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 0xd25f1
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 0xd25ef
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 0xd25f1
jmp 0xd25f3
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
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_label_Label_Makezx
static uint64_t mw_mirth_label_Label_Makezx (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Name_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	uint64_t v6 = mw_mirth_label_Label_Alloczx(in_zaMirth_1, &v5);
	void* v7 = field_mut(&mfld_mirth_label_Label_name, v6);
	mut_set(MK_mirth_name_Name(in_Name_2), v7);
	*out_zaMirth_3 = v5;
	return v6;
}

// 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
leaq -0x20(%rbp), %rsi
callq 0xd26b0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rsi
leaq 0x12c3320(%rip), %rdi   # 0x1395980
callq 0x40d30
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x2bf110(%rip), %rax    # 0x391788
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdx
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x431a0
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
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_label_Label_iszeresourcezelabelzy
static bool mw_mirth_label_Label_iszeresourcezelabelzy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Label_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	uint64_t v6 = mw_mirth_label_Label_name(in_zaMirth_1, in_Label_2, &v5);
	struct mirth_mirth_zaMirth* v7;
	enum std_byte_Byte v8 = mw_mirth_name_Name_head(v5, v6, &v7);
	enum std_byte_Byte v9 = std_byte_Byte_Bzqzazq;
	int64_t v10 = v8;
	INT v11 = i64_to_int(v10);
	uint64_t v12 = int_to_u64(v11);
	uint8_t v13 = (uint8_t)(v12);
	int64_t v14 = v9;
	INT v15 = i64_to_int(v14);
	uint64_t v16 = int_to_u64(v15);
	uint8_t v17 = (uint8_t)(v16);
	uint64_t v18 = (uint64_t)(v17);
	uint32_t v19 = (uint32_t)(v18);
	uint64_t v20 = (uint64_t)(v13);
	uint32_t v21 = (uint32_t)(v20);
	uint64_t v22 = (uint64_t)(v21);
	uint64_t v23 = (uint64_t)(v19);
	bool v24 = (v22 == v23);
	*out_zaMirth_3 = v7;
	return v24;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x20(%rbp), %rdx
callq 0xc1dc0
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x6e510
movl %eax, -0x34(%rbp)
movl $0x2b, -0x38(%rbp)
movl -0x34(%rbp), %eax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
callq 0x1a290
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
callq 0x1b680
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movb %al, -0x51(%rbp)
movl -0x38(%rbp), %eax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rdi
callq 0x1a290
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rdi
callq 0x1b680
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movb %al, -0x71(%rbp)
movzbl -0x71(%rbp), %eax
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
movl %eax, -0x84(%rbp)
movzbl -0x51(%rbp), %eax
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
movl %eax, -0x94(%rbp)
movl -0x94(%rbp), %eax
movq %rax, -0xa0(%rbp)
movl -0x84(%rbp), %eax
movq %rax, -0xa8(%rbp)
movq -0xa0(%rbp), %rax
cmpq -0xa8(%rbp), %rax
sete %al
andb $0x1, %al
movb %al, -0xa9(%rbp)
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movb -0xa9(%rbp), %al
andb $0x1, %al
addq $0xb0, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_std_maybe_Maybe_1_ifzy_2_sp92
static struct mirth_type_Type mw_std_maybe_Maybe_1_ifzy_2_sp92 (struct std_maybe_Maybe_1 in_Maybe_1) {
	struct mirth_type_Type branch_Type_3;
	switch ((in_Maybe_1).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v4 = mtp_std_maybe_Maybe_1_Some(in_Maybe_1);
			struct mirth_type_Type v5 = mtw_mirth_type_Type_Var(V_mirth_var_Var(v4));
			branch_Type_3 = v5;
		} break;
		case std_maybe_Maybe_1_None: {
			struct mirth_type_Type v6 = { .tag=mirth_type_Type_Error };
			branch_Type_3 = v6;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	return branch_Type_3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x54(%rbp)
testl %eax, %eax
je 0xd419b
jmp 0xd415b
movl -0x54(%rbp), %eax
subl $0x1, %eax
jne 0xd41bd
jmp 0xd4165
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x174a0
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x30(%rbp), %rdi
callq 0x70570
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xd41d6
leaq -0x50(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0x50(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xd41d6
leaq 0x27fcbd(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_typedef_TypeDef_params
static struct std_list_List_1 mw_mirth_typedef_TypeDef_params (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_TypeDef_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_typedef_TypeDef_ztparams, in_TypeDef_2);
	struct mirth_mirth_zaMirth* v6;
	VAL v7 = mw_mirth_mirth_Prop_1_forcezx(in_zaMirth_1, v5, &v6);
	*out_zaMirth_3 = v6;
	return V_std_list_List_1(v7);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x20(%rbp), %rsi
leaq 0x12bc8e9(%rip), %rdi   # 0x1395178
callq 0x40d30
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rdi
movq -0x30(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0x5d130
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0x12c80
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_macro_MacroAction_defineszeazetypezy
static bool mw_mirth_macro_MacroAction_defineszeazetypezy (struct mirth_macro_MacroAction in_MacroAction_1) {
	struct std_maybe_Maybe_1 v3 = mw_mirth_macro_MacroAction_typezy(in_MacroAction_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);
	bool v9 = !v8;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0xd8d20
movl %eax, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movl -0x20(%rbp), %eax
movq %rax, -0x28(%rbp)
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x133a0
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x30(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xd8cad
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x133a0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x48(%rbp), %rax
cmpq $0x0, %rax
je 0xd8cad
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x133a0
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x58(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xd8cad
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x133a0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xd8cab
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x133a0
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0x127c0
jmp 0xd8cad
jmp 0xd8caf
movq 0x295d9a(%rip), %rax    # 0x36ea50
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x28(%rbp), %rdi
callq 0x1a290
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rsi
callq 0x194b0
andb $0x1, %al
movb %al, -0x91(%rbp)
movb -0x91(%rbp), %al
xorb $-0x1, %al
andb $0x1, %al
movb %al, -0x92(%rbp)
movb -0x92(%rbp), %al
andb $0x1, %al
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_macro_MacroAction_typezy
static struct std_maybe_Maybe_1 mw_mirth_macro_MacroAction_typezy (struct mirth_macro_MacroAction in_MacroAction_1) {
	struct std_maybe_Maybe_1 branch_Maybe_3;
	switch ((in_MacroAction_1).tag) {
		case mirth_macro_MacroAction_Type: {
			VAL v4 = mtp_mirth_macro_MacroAction_Type(in_MacroAction_1);
			struct std_maybe_Maybe_1 v5 = mtw_std_maybe_Maybe_1_Some(v4);
			branch_Maybe_3 = v5;
		} break;
		default: {
			decref(MK_mirth_macro_MacroAction(in_MacroAction_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 $0xa0, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl -0x20(%rbp), %eax
subl $0x1, %eax
jne 0xd8d79
jmp 0xd8d3c
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0xd8e90
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0xca10
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xd8e73
jmp 0xd8d7b
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x77280
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x48(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xd8e48
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x77280
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x60(%rbp), %rax
cmpq $0x0, %rax
je 0xd8e48
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x77280
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x70(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xd8e48
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x77280
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x80(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xd8e46
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x77280
movq %rax, -0x90(%rbp)
movq %rdx, -0x88(%rbp)
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rsi
callq 0x127c0
jmp 0xd8e48
jmp 0xd8e4a
leaq -0xa0(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x5080
movq -0xa0(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x98(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
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: mtp_mirth_macro_MacroAction_Type
static VAL mtp_mirth_macro_MacroAction_Type (struct mirth_macro_MacroAction in_MacroAction_1) {
	struct mirth_macro_MacroAction_Type v3 = *in_MacroAction_1.ptr.Type;
	if (!--(in_MacroAction_1.ptr.Type->refs)) {
		free(in_MacroAction_1.ptr.Type);
	} else {
		incref(v3.m0);
	}
	return v3.m0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %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 0xd8ed5
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0xd8f20
jmp 0xd8ed7
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xd8f1c
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x30(%rbp), %rax
cmpq $0x0, %rax
je 0xd8f1c
movq -0x30(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xd8f1c
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x30(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xd8f1e
jmp 0xd8f20
movups -0x30(%rbp), %xmm0
movaps %xmm0, -0x10(%rbp)
movq -0x10(%rbp), %rax
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_var_Var_sortzy
static struct std_maybe_Maybe_1 mw_mirth_var_Var_sortzy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Var_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_type_Type v6 = mw_mirth_var_Var_type(in_zaMirth_1, in_Var_2, &v5);
	struct mirth_mirth_zaMirth* v7;
	struct std_maybe_Maybe_1 v8 = mw_mirth_type_Type_zgSortzy(v5, v6, &v7);
	*out_zaMirth_3 = v7;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %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 0xb2770
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x30(%rbp), %rdi
movl -0x40(%rbp), %esi
movq -0x38(%rbp), %rdx
leaq -0x48(%rbp), %rcx
callq 0xda480
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x48(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_type_Subst_cons
static struct std_list_List_1 mw_mirth_type_Subst_cons (struct mirth_type_Type in_Type_1, uint64_t in_Var_2, struct std_list_List_1 in_Subst_3) {
	struct std_map_KeyValuePair_2* v5 = mtw_std_map_KeyValuePair_2_KeyValuePair(MK_mirth_var_Var(in_Var_2), MK_mirth_type_Type(in_Type_1));
	incref(MK_std_list_List_1(in_Subst_3));
	struct std_list_List_1 v6 = mw_std_map_Map_2_insert(v5, in_Subst_3);
	decref(MK_std_list_List_1(in_Subst_3));
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl %ecx, -0x30(%rbp)
movq %r8, -0x28(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x2b7a24(%rip), %rax    # 0x391b30
movq %rax, -0x48(%rbp)
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
callq 0x6e780
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
movq -0x60(%rbp), %rdx
movq -0x58(%rbp), %rcx
callq 0xdab90
movq %rax, -0x40(%rbp)
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x68(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xda1e8
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x80(%rbp), %rax
cmpq $0x0, %rax
je 0xda1e8
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0x90(%rbp)
movq %rdx, -0x88(%rbp)
movq -0x90(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xda1e8
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0xa0(%rbp)
movq %rdx, -0x98(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xa0(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0xda1ea
movq -0x40(%rbp), %rdi
movl -0x30(%rbp), %esi
movq -0x28(%rbp), %rdx
callq 0xdac30
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0xb0(%rbp)
movq %rdx, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xda2f6
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0xc0(%rbp)
movq %rdx, -0xb8(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0xc0(%rbp), %rax
cmpq $0x0, %rax
je 0xda2f6
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0xd0(%rbp)
movq %rdx, -0xc8(%rbp)
movq -0xd0(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xda2f6
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0xe0(%rbp)
movq %rdx, -0xd8(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0xe0(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xda2f4
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x12780
movq %rax, -0xf0(%rbp)
movq %rdx, -0xe8(%rbp)
movq -0xf0(%rbp), %rdi
movq -0xe8(%rbp), %rsi
callq 0x127c0
jmp 0xda2f6
jmp 0xda2f8
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xf0, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_type_Type_errorzy
static bool mw_mirth_type_Type_errorzy (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_type_Type in_Type_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_type_Type v6 = mw_mirth_type_Type_expand(in_zaMirth_1, in_Type_2, &v5);
	struct mirth_mirth_zaMirth* branch_zaMirth_7;
	bool branch_Bool_8;
	switch ((v6).tag) {
		case mirth_type_Type_Error: {
			bool v9 = true;
			branch_Bool_8 = v9;
			branch_zaMirth_7 = v5;
		} break;
		default: {
			decref(MK_mirth_type_Type(v6));
			bool v10 = false;
			branch_Bool_8 = v10;
			branch_zaMirth_7 = v5;
		} break;
	}
	*out_zaMirth_3 = branch_zaMirth_7;
	return branch_Bool_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x18(%rbp), %rdi
movl -0x10(%rbp), %esi
movq -0x8(%rbp), %rdx
leaq -0x28(%rbp), %rcx
callq 0x872e0
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movl -0x38(%rbp), %eax
testl %eax, %eax
jne 0xda367
jmp 0xda34e
movb $0x1, -0x42(%rbp)
movb -0x42(%rbp), %al
andb $0x1, %al
movb %al, -0x41(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0xda45c
jmp 0xda369
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x6e780
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movq -0x50(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xda440
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x6e780
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x68(%rbp), %rax
cmpq $0x0, %rax
je 0xda440
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x6e780
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x78(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xda440
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x6e780
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 0xda43e
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x6e780
movq %rax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
callq 0x127c0
jmp 0xda440
jmp 0xda442
movb $0x0, -0x99(%rbp)
movb -0x99(%rbp), %al
andb $0x1, %al
movb %al, -0x41(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movb -0x41(%rbp), %al
andb $0x1, %al
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_std_map_KeyValuePair_2_KeyValuePair
static struct std_map_KeyValuePair_2* mtw_std_map_KeyValuePair_2_KeyValuePair (VAL in_k_1, VAL in_v_2) {
	struct std_map_KeyValuePair_2* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->refs = 1;
	v4->mvalue = in_v_2;
	v4->mkey = in_k_1;
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x18(%rbp)
movl $0x1, %edi
movl $0x28, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0xdabec
movl $0x2, %edi
leaq 0x27e3b2(%rip), %rsi    # 0x358f80
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0xdabee
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
movq -0x28(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x20(%rax)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x28(%rbp), %rax
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_std_map_Map_2_insert
static struct std_list_List_1 mw_std_map_Map_2_insert (struct std_map_KeyValuePair_2* in_KeyValuePair_1, struct std_list_List_1 in_Map_2) {
	incref(MK_std_list_List_1(in_Map_2));
	struct std_list_List_1 v4 = mw_std_list_List_1_cons(MK_std_map_KeyValuePair_2(in_KeyValuePair_1), in_Map_2);
	decref(MK_std_list_List_1(in_Map_2));
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movl %esi, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movq %rdi, -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 0xdacdb
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 0xdacdb
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 0xdacdb
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 0xdacdd
movq -0x28(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x2b7864(%rip), %rax    # 0x392550
orq $0x1, %rax
movq %rax, -0x70(%rbp)
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
movl -0x20(%rbp), %edx
movq -0x18(%rbp), %rcx
callq 0x12740
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
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 0xdadfe
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 0xdadfe
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 0xdadfe
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 0xdadfc
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 0xdadfe
jmp 0xdae00
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xd0, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: std_map_KeyValuePair_2_free
static void std_map_KeyValuePair_2_free (VAL vself) {
	ASSERT(vself.tag == TAG_std_map_KeyValuePair_2);
	struct std_map_KeyValuePair_2* self = vself.data.ptr;
	decref(self->mkey);
	decref(self->mvalue);
	free(self);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
leaq 0x2b7725(%rip), %rcx    # 0x392550
orq $0x1, %rcx
cmpq %rcx, %rax
je 0xdae5e
movl $0x2, %edi
leaq 0x27e17f(%rip), %rsi    # 0x358fbf
movl $0x55, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0xdae60
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xdaed5
movq -0x18(%rbp), %rcx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq 0x8(%rcx), %rax
cmpq $0x0, %rax
je 0xdaed5
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xdaed5
movq -0x18(%rbp), %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq 0x8(%rax), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xdaed3
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
movq 0x10(%rax), %rsi
callq 0x127c0
jmp 0xdaed5
jmp 0xdaed7
jmp 0xdaed9
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xdaf46
movq -0x18(%rbp), %rcx
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq 0x18(%rcx), %rax
cmpq $0x0, %rax
je 0xdaf46
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xdaf46
movq -0x18(%rbp), %rax
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq 0x18(%rax), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xdaf44
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rdi
movq 0x20(%rax), %rsi
callq 0x127c0
jmp 0xdaf46
jmp 0xdaf48
movq -0x18(%rbp), %rdi
callq 0x5030
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_type_ArrowType_applyzesubst
static struct mirth_type_ArrowType* mw_mirth_type_ArrowType_applyzesubst (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_list_List_1 in_Subst_2, struct mirth_type_ArrowType* in_ArrowType_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct std_list_List_1 *out_Subst_5) {
	struct mirth_type_StackType v7;
	struct mirth_type_StackType v8;
	mtp_mirth_type_ArrowType_ArrowType(in_ArrowType_3, &v7, &v8);
	struct mirth_mirth_zaMirth* v9;
	struct std_list_List_1 v10;
	struct mirth_type_StackType v11 = mw_mirth_type_StackType_applyzesubst(in_zaMirth_1, in_Subst_2, v7, &v9, &v10);
	struct mirth_mirth_zaMirth* v12;
	struct std_list_List_1 v13;
	struct mirth_type_StackType v14 = mw_mirth_type_StackType_applyzesubst(v9, v10, v8, &v12, &v13);
	struct mirth_type_ArrowType* v15 = mtw_mirth_type_ArrowType_ArrowType(v11, v14);
	*out_Subst_5 = v13;
	*out_zaMirth_4 = v12;
	return v15;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x20(%rbp), %rdi
leaq -0x40(%rbp), %rsi
leaq -0x50(%rbp), %rdx
callq 0xc1010
movq -0x18(%rbp), %rdi
movl -0x10(%rbp), %esi
movq -0x8(%rbp), %rdx
movl -0x40(%rbp), %ecx
movq -0x38(%rbp), %r8
leaq -0x58(%rbp), %r9
leaq -0x68(%rbp), %rax
movq %rax, (%rsp)
callq 0xdb0a0
movl %eax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x58(%rbp), %rdi
movl -0x68(%rbp), %esi
movq -0x60(%rbp), %rdx
movl -0x50(%rbp), %ecx
movq -0x48(%rbp), %r8
leaq -0x80(%rbp), %r9
leaq -0x90(%rbp), %rax
movq %rax, (%rsp)
callq 0xdb0a0
movl %eax, -0xa0(%rbp)
movq %rdx, -0x98(%rbp)
movl -0x78(%rbp), %edi
movq -0x70(%rbp), %rsi
movl -0xa0(%rbp), %edx
movq -0x98(%rbp), %rcx
callq 0x74a80
movq %rax, -0xa8(%rbp)
movq -0x30(%rbp), %rax
movq -0x90(%rbp), %rcx
movq %rcx, (%rax)
movq -0x88(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x80(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0xa8(%rbp), %rax
addq $0xb0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_type_Resource_applyzesubst
static struct mirth_type_Type mw_mirth_type_Resource_applyzesubst (struct mirth_mirth_zaMirth* in_zaMirth_1, struct std_list_List_1 in_Subst_2, struct mirth_type_Type in_Resource_3, struct mirth_mirth_zaMirth* *out_zaMirth_4, struct std_list_List_1 *out_Subst_5) {
	struct mirth_mirth_zaMirth* v7;
	struct std_list_List_1 v8;
	struct mirth_type_Type v9 = mw_mirth_type_Type_applyzesubst(in_zaMirth_1, in_Subst_2, in_Resource_3, &v7, &v8);
	*out_Subst_5 = v8;
	*out_zaMirth_4 = v7;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq 0x10(%rbp), %rax
movl %esi, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x30(%rbp)
movq %r8, -0x28(%rbp)
movq %rdi, -0x38(%rbp)
movq %r9, -0x40(%rbp)
movq -0x38(%rbp), %rdi
movl -0x20(%rbp), %esi
movq -0x18(%rbp), %rdx
movl -0x30(%rbp), %ecx
movq -0x28(%rbp), %r8
movq %rsp, %rax
leaq -0x58(%rbp), %r9
movq %r9, (%rax)
leaq -0x48(%rbp), %r9
callq 0xd65b0
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq 0x10(%rbp), %rax
movups -0x58(%rbp), %xmm0
movups %xmm0, (%rax)
movq -0x48(%rbp), %rcx
movq -0x40(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_TokenValue_patzeunderscorezy
static bool mw_mirth_token_TokenValue_patzeunderscorezy (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_token_TokenValue in_TokenValue_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct std_maybe_Maybe_1 v5 = mw_mirth_token_TokenValue_namezy(in_TokenValue_2);
	struct mirth_mirth_zaMirth* branch_zaMirth_6;
	bool branch_Bool_7;
	switch ((v5).tag) {
		case std_maybe_Maybe_1_Some: {
			VAL v8 = mtp_std_maybe_Maybe_1_Some(v5);
			struct mirth_mirth_zaMirth* v9;
			bool v10 = mw_mirth_name_Name_iszeunderscore(in_zaMirth_1, V_mirth_name_Name(v8), &v9);
			branch_Bool_7 = v10;
			branch_zaMirth_6 = v9;
		} break;
		case std_maybe_Maybe_1_None: {
			bool v11 = false;
			branch_Bool_7 = v11;
			branch_zaMirth_6 = in_zaMirth_1;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	*out_zaMirth_3 = branch_zaMirth_6;
	return branch_Bool_7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl -0x10(%rbp), %edi
movq -0x8(%rbp), %rsi
callq 0xa0310
movl %eax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movl -0x30(%rbp), %eax
movl %eax, -0x60(%rbp)
testl %eax, %eax
je 0xdd01c
jmp 0xdcfd6
movl -0x60(%rbp), %eax
subl $0x1, %eax
jne 0xdd032
jmp 0xdcfe0
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x174a0
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x18(%rbp), %rdi
movq -0x50(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0xdd070
andb $0x1, %al
movb %al, -0x59(%rbp)
movb -0x59(%rbp), %al
andb $0x1, %al
movb %al, -0x39(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xdd04b
movb $0x0, -0x5a(%rbp)
movb -0x5a(%rbp), %al
andb $0x1, %al
movb %al, -0x39(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0xdd04b
leaq 0x276e48(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
movq -0x38(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movb -0x39(%rbp), %al
andb $0x1, %al
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_Token_sigzehaszevdashzeorzedasheszy
static bool mw_mirth_token_Token_sigzehaszevdashzeorzedasheszy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	uint64_t v6 = mw_mirth_token_Token_sigzenextzestackzeend(in_zaMirth_1, in_Token_2, &v5);
	struct mirth_mirth_zaMirth* v7;
	bool v8 = mw_mirth_token_Token_sigzedasheszy(v5, v6, &v7);
	struct mirth_mirth_zaMirth* branch_zaMirth_9;
	bool branch_Bool_10;
	if (v8) {
		bool v11 = true;
		branch_Bool_10 = v11;
		branch_zaMirth_9 = v7;
	} else {
		struct mirth_mirth_zaMirth* v12;
		bool v13 = mw_mirth_token_Token_vdashzy(v7, v6, &v12);
		branch_Bool_10 = v13;
		branch_zaMirth_9 = v12;
	}
	*out_zaMirth_3 = branch_zaMirth_9;
	return branch_Bool_10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %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 0xdd9d0
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0xaf320
andb $0x1, %al
movb %al, -0x31(%rbp)
testb $0x1, -0x31(%rbp)
je 0xdd98b
movb $0x1, -0x42(%rbp)
movb -0x42(%rbp), %al
andb $0x1, %al
movb %al, -0x41(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0xdd9b1
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rsi
leaq -0x50(%rbp), %rdx
callq 0xaf2c0
andb $0x1, %al
movb %al, -0x51(%rbp)
movb -0x51(%rbp), %al
andb $0x1, %al
movb %al, -0x41(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movb -0x41(%rbp), %al
andb $0x1, %al
addq $0x60, %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_Token_sigzenextzestackzeend
static uint64_t mw_mirth_token_Token_sigzenextzestackzeend (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Token_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	bool v6 = mw_mirth_token_Token_sigzestackzeendzy(in_zaMirth_1, in_Token_2, &v5);
	bool v7 = !v6;
	uint64_t v8 = in_Token_2;
	struct mirth_mirth_zaMirth* r9 = v5;
	bool v10 = v7;
	while (v10) {
		uint64_t v11 = v8;
		struct mirth_mirth_zaMirth* r12 = r9;
		struct mirth_mirth_zaMirth* v13;
		uint64_t v14 = mw_mirth_token_Token_next(r12, v11, &v13);
		struct mirth_mirth_zaMirth* v15;
		bool v16 = mw_mirth_token_Token_sigzestackzeendzy(v13, v14, &v15);
		bool v17 = !v16;
		v10 = v17;
		r9 = v15;
		v8 = v14;
	}
	*out_zaMirth_3 = r9;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %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 0xcf550
andb $0x1, %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %al
xorb $-0x1, %al
andb $0x1, %al
movb %al, -0x22(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
movb -0x22(%rbp), %al
andb $0x1, %al
movb %al, -0x39(%rbp)
testb $0x1, -0x39(%rbp)
je 0xdda81
movq -0x30(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0x7b380
movq %rax, -0x60(%rbp)
movq -0x58(%rbp), %rdi
movq -0x60(%rbp), %rsi
leaq -0x68(%rbp), %rdx
callq 0xcf550
andb $0x1, %al
movb %al, -0x69(%rbp)
movb -0x69(%rbp), %al
xorb $-0x1, %al
andb $0x1, %al
movb %al, -0x6a(%rbp)
movb -0x6a(%rbp), %al
andb $0x1, %al
movb %al, -0x39(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0xdda1c
movq -0x38(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_mirth_elab_zaTypeElab_zaTypeElab
static void mtp_mirth_elab_zaTypeElab_zaTypeElab (struct mirth_elab_zaTypeElab* in_zaTypeElab_1, struct std_list_List_1 *out_Ctx_2, uint64_t *out_Token_3, bool *out_Bool_4, bool *out_Bool_5) {
	struct mirth_elab_zaTypeElab v6 = *in_zaTypeElab_1;
	free(in_zaTypeElab_1);
	*out_Bool_5 = v6.mallowzeimplicitzetypezevars;
	*out_Bool_4 = v6.mallowzetypezeholes;
	*out_Token_3 = v6.mtoken;
	*out_Ctx_2 = v6.mctx;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x48(%rbp)
movq 0x8(%rax), %rcx
movq %rcx, -0x40(%rbp)
movq 0x10(%rax), %rcx
movq %rcx, -0x38(%rbp)
movq 0x18(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5030
movb -0x2f(%rbp), %cl
movq -0x28(%rbp), %rax
andb $0x1, %cl
movb %cl, (%rax)
movb -0x30(%rbp), %cl
movq -0x20(%rbp), %rax
andb $0x1, %cl
movb %cl, (%rax)
movq -0x38(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq -0x48(%rbp), %rcx
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq %rcx, 0x8(%rax)
addq $0x50, %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_word_Word_type
static struct mirth_type_ArrowType* mw_mirth_word_Word_type (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Word_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_type_ArrowType* v6;
	struct std_list_List_1 v7 = mw_mirth_word_Word_ctxzetype(in_zaMirth_1, in_Word_2, &v5, &v6);
	decref(MK_std_list_List_1(v7));
	*out_zaMirth_3 = v5;
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %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
leaq -0x28(%rbp), %rcx
callq 0xdf9d0
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x12780
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x40(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xdf22a
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x12780
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x58(%rbp), %rax
cmpq $0x0, %rax
je 0xdf22a
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x12780
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xdf22a
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x12780
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x78(%rbp), %rcx
movl (%rcx), %eax
addl $-0x1, %eax
movl %eax, (%rcx)
cmpl $0x0, %eax
jne 0xdf228
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
callq 0x12780
movq %rax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x127c0
jmp 0xdf22a
jmp 0xdf22c
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%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_var_Var_NewAutoRunzx
static uint64_t mw_mirth_var_Var_NewAutoRunzx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_type_ArrowType* in_ArrowType_2, uint64_t in_Name_3, struct mirth_mirth_zaMirth* *out_zaMirth_4) {
	incref(MK_mirth_type_ArrowType(in_ArrowType_2));
	struct mirth_type_Type v6 = mtw_mirth_type_Type_Arrow(in_ArrowType_2);
	struct std_maybe_Maybe_1 v7 = mtw_std_maybe_Maybe_1_Some(MK_mirth_type_ArrowType(in_ArrowType_2));
	struct mirth_mirth_zaMirth* v8;
	uint64_t v9 = mw_mirth_var_Var_Makezx(in_zaMirth_1, in_Name_3, v6, v7, &v8);
	*out_zaMirth_4 = v8;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x2b23fe(%rip), %rax    # 0x391c08
orq $0x1, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xdf89c
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x2b23d9(%rip), %rax    # 0x391c08
orq $0x1, %rax
movq %rax, -0x38(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x40(%rbp), %rax
cmpq $0x0, %rax
je 0xdf89c
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq 0x2b23ae(%rip), %rax    # 0x391c08
orq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x50(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xdf89c
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq 0x2b2389(%rip), %rax    # 0x391c08
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 0xdf89e
movq -0x10(%rbp), %rdi
callq 0xaf380
movl %eax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq 0x2b2348(%rip), %rax    # 0x391c08
orq $0x1, %rax
movq %rax, -0x88(%rbp)
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rsi
callq 0xca10
movl %eax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl -0x70(%rbp), %edx
movq -0x68(%rbp), %rcx
movl -0x80(%rbp), %r8d
movq -0x78(%rbp), %r9
leaq -0x98(%rbp), %rax
movq %rax, (%rsp)
callq 0x6e610
movq %rax, -0xa0(%rbp)
movq -0x98(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0xa0(%rbp), %rax
addq $0xb0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_word_Param_Param
static struct mirth_word_Param* mtw_mirth_word_Param_Param (uint64_t in_Var_1, struct std_maybe_Maybe_1 in_Maybe_2) {
	struct mirth_word_Param* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->refs = 1;
	v4->mdefault = in_Maybe_2;
	v4->mvar = in_Var_1;
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %esi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x20, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0xdf997
movl $0x2, %edi
leaq 0x279793(%rip), %rsi    # 0x35910c
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0xdf999
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x20(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_word_Word_ctxzetype
static struct std_list_List_1 mw_mirth_word_Word_ctxzetype (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Word_2, struct mirth_mirth_zaMirth* *out_zaMirth_3, struct mirth_type_ArrowType* *out_ArrowType_5) {
	void* v6 = field_mut(&mfld_mirth_word_Word_ztctxzetype, in_Word_2);
	struct mirth_mirth_zaMirth* v7;
	VAL v8 = mw_mirth_mirth_Prop_1_forcezx(in_zaMirth_1, v6, &v7);
	VAL v9 = ((TUP*)PTRPTR(value_tup(v8)))->cells[0];
	VAL v10 = ((TUP*)PTRPTR(value_tup(v8)))->cells[1];
	tup_decref_outer(value_tup(v8));
	*out_ArrowType_5 = V_mirth_type_ArrowType(v10);
	*out_zaMirth_3 = v7;
	return V_std_list_List_1(v9);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movq -0x20(%rbp), %rsi
leaq 0x12b5dfa(%rip), %rdi   # 0x13957f0
callq 0x40d30
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rdi
movq -0x38(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x5d130
movq %rax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0xb770
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
movq %rcx, -0x78(%rbp)
andq %rcx, %rax
movups 0x8(%rax), %xmm0
movaps %xmm0, -0x60(%rbp)
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0xb770
movq -0x78(%rbp), %rcx
andq %rcx, %rax
movups 0x18(%rax), %xmm0
movaps %xmm0, -0x70(%rbp)
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0xb770
movq %rax, %rdi
callq 0xb7e0
movq -0x70(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x12c80
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_token_TokenValue_sigzeparamzenamezy
static struct std_maybe_Maybe_1 mw_mirth_token_TokenValue_sigzeparamzenamezy (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_token_TokenValue in_TokenValue_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct std_maybe_Maybe_1 v6 = mw_mirth_token_TokenValue_sigzetypezevarzy(in_zaMirth_1, in_TokenValue_2, &v5);
	*out_zaMirth_3 = v5;
	return v6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl %esi, -0x20(%rbp)
movq %rdx, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movq -0x28(%rbp), %rdi
movl -0x20(%rbp), %esi
movq -0x18(%rbp), %rdx
leaq -0x38(%rbp), %rcx
callq 0xd3d00
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x38(%rbp), %rcx
movq -0x30(%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: mirth_word_Param_free
static void mirth_word_Param_free (VAL vself) {
	ASSERT(vself.tag == TAG_mirth_word_Param);
	struct mirth_word_Param* self = vself.data.ptr;
	decref(MK_std_maybe_Maybe_1(self->mdefault));
	free(self);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rax
leaq 0x2b2a7d(%rip), %rcx    # 0x392598
orq $0x1, %rcx
cmpq %rcx, %rax
je 0xdfb4e
movl $0x2, %edi
leaq 0x279614(%rip), %rsi    # 0x359144
movl $0x4f, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0xdfb50
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movl 0x10(%rax), %edi
movq 0x18(%rax), %rsi
callq 0x133a0
movq %rax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0xdfc2d
movq -0x18(%rbp), %rax
movl 0x10(%rax), %edi
movq 0x18(%rax), %rsi
callq 0x133a0
movq %rax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rax
cmpq $0x0, %rax
je 0xdfc2d
movq -0x18(%rbp), %rax
movl 0x10(%rax), %edi
movq 0x18(%rax), %rsi
callq 0x133a0
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x48(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0xdfc2d
movq -0x18(%rbp), %rax
movl 0x10(%rax), %edi
movq 0x18(%rax), %rsi
callq 0x133a0
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 0xdfc2b
movq -0x18(%rbp), %rax
movl 0x10(%rax), %edi
movq 0x18(%rax), %rsi
callq 0x133a0
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x127c0
jmp 0xdfc2d
jmp 0xdfc2f
movq -0x18(%rbp), %rdi
callq 0x5030
addq $0x70, %rsp
popq %rbp
retq
nop