LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_mirth_Prop_1_Prop
static struct mirth_mirth_Prop_1* mtw_mirth_mirth_Prop_1_Prop (struct mirth_mirth_PropLabel in_PropLabel_1, struct mirth_mirth_PropState_1 in_PropState_2) {
	struct mirth_mirth_Prop_1* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->refs = 1;
	v4->mstate = in_PropState_2;
	v4->mlabel = in_PropLabel_1;
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl %edx, -0x20(%rbp)
movq %rcx, -0x18(%rbp)
movl $0x1, %edi
movl $0x28, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x70b1a
movl $0x2, %edi
leaq 0x2e67a4(%rip), %rsi    # 0x3572a0
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x70b1c
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
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_def_Def_Type
static struct mirth_def_Def mtw_mirth_def_Def_Type (uint64_t in_TypeDef_1) {
	struct mirth_def_Def_Type* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mTypeDef = in_TypeDef_1;
	struct mirth_def_Def v4 = { .tag=mirth_def_Def_Type, .ptr.Type=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 0x70bb0
movl $0x2, %edi
leaq 0x2e6740(%rip), %rsi    # 0x3572d2
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x70bb2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x5, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_typedef_TypeDef_Alloczx
static uint64_t mw_mirth_typedef_TypeDef_Alloczx (struct mirth_mirth_zaMirth* in_zaMirth_1, struct mirth_mirth_zaMirth* *out_zaMirth_2) {
	void* v4 = mbuf_mirth_typedef_TypeDef_NumBuffer;
	uint64_t v5 = *(uint64_t*)v4;
	uint64_t v6 = 1ULL;
	uint64_t v7 = (v5 + v6);
	void* v8 = mbuf_mirth_typedef_TypeDef_NumBuffer;
	*(uint64_t*)v8 = v7;
	uint64_t v9 = v7;
	*out_zaMirth_2 = in_zaMirth_1;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0x1324595(%rip), %rax   # 0x1395198
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq $0x1, -0x28(%rbp)
movq -0x20(%rbp), %rax
addq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x132456b(%rip), %rax   # 0x1395198
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x40(%rbp), %rax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_type_CType_Void
static struct mirth_type_CType mtw_mirth_type_CType_Void (STR* in_Str_1) {
	struct mirth_type_CType_Void* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mStr = in_Str_1;
	struct mirth_type_CType v4 = { .tag=mirth_type_CType_Void, .ptr.Void=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 0x72070
movl $0x2, %edi
leaq 0x2e5703(%rip), %rsi    # 0x357755
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x72072
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x6, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_mirth_PropLabel_DataQName
static struct mirth_mirth_PropLabel mtw_mirth_mirth_PropLabel_DataQName (uint64_t in_Data_1) {
	struct mirth_mirth_PropLabel_DataQName* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mData = in_Data_1;
	struct mirth_mirth_PropLabel v4 = { .tag=mirth_mirth_PropLabel_DataQName, .ptr.DataQName=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 0x72710
movl $0x2, %edi
leaq 0x2e4d72(%rip), %rsi    # 0x357464
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x72712
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x1, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_mirth_PropLabel_DataCType
static struct mirth_mirth_PropLabel mtw_mirth_mirth_PropLabel_DataCType (uint64_t in_Data_1) {
	struct mirth_mirth_PropLabel_DataCType* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mData = in_Data_1;
	struct mirth_mirth_PropLabel v4 = { .tag=mirth_mirth_PropLabel_DataCType, .ptr.DataCType=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 0x727a0
movl $0x2, %edi
leaq 0x2e4d14(%rip), %rsi    # 0x357496
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x727a2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x3, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_mirth_PropLabel_DataParams
static struct mirth_mirth_PropLabel mtw_mirth_mirth_PropLabel_DataParams (uint64_t in_Data_1) {
	struct mirth_mirth_PropLabel_DataParams* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mData = in_Data_1;
	struct mirth_mirth_PropLabel v4 = { .tag=mirth_mirth_PropLabel_DataParams, .ptr.DataParams=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 0x72910
movl $0x2, %edi
leaq 0x2e4bdc(%rip), %rsi    # 0x3574ce
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x72912
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x2, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_def_Def_Data
static struct mirth_def_Def mtw_mirth_def_Def_Data (uint64_t in_Data_1) {
	struct mirth_def_Def_Data* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mData = in_Data_1;
	struct mirth_def_Def v4 = { .tag=mirth_def_Def_Data, .ptr.Data=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x72a10
movl $0x2, %edi
leaq 0x2e4b0e(%rip), %rsi    # 0x357500
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x72a12
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x3, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_type_StackTypePart_Cons
static struct mirth_type_StackTypePart mtw_mirth_type_StackTypePart_Cons (struct mirth_type_Type in_Type_1) {
	struct mirth_type_StackTypePart_Cons* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mType = in_Type_1;
	struct mirth_type_StackTypePart v4 = { .tag=mirth_type_StackTypePart_Cons, .ptr.Cons=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 0x72d93
movl $0x2, %edi
leaq 0x2e47bd(%rip), %rsi    # 0x357532
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x72d95
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
movq -0x28(%rbp), %rax
movups -0x20(%rbp), %xmm0
movups %xmm0, 0x8(%rax)
movl $0x0, -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_data_Data_params
static struct std_list_List_1 mw_mirth_data_Data_params (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Data_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_data_Data_ztparams, in_Data_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 0x1322389(%rip), %rdi   # 0x1395378
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_data_Data_fullzetype
static struct std_either_Either_2 mw_mirth_data_Data_fullzetype (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Data_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	struct mirth_type_Type v6 = mw_mirth_data_Data_appliedzetype(in_zaMirth_1, in_Data_2, &v5);
	struct mirth_mirth_zaMirth* v7;
	bool v8 = mw_mirth_data_Data_iszevaluezetypezy(v5, in_Data_2, &v7);
	struct mirth_mirth_zaMirth* branch_zaMirth_9;
	struct std_either_Either_2 branch_Either_10;
	if (v8) {
		struct std_either_Either_2 v11 = mtw_std_either_Either_2_Left(MK_mirth_type_Type(v6));
		branch_Either_10 = v11;
		branch_zaMirth_9 = v7;
	} else {
		struct std_either_Either_2 v12 = mtw_std_either_Either_2_Right(MK_mirth_type_Type(v6));
		branch_Either_10 = v12;
		branch_zaMirth_9 = v7;
	}
	*out_zaMirth_3 = branch_zaMirth_9;
	return branch_Either_10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %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 0x73e90
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x73f00
andb $0x1, %al
movb %al, -0x49(%rbp)
testb $0x1, -0x49(%rbp)
je 0x7341d
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x6e780
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0x73f50
movl %eax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x58(%rbp)
jmp 0x7346f
movl -0x40(%rbp), %edi
movq -0x38(%rbp), %rsi
callq 0x6e780
movq %rax, -0x98(%rbp)
movq %rdx, -0x90(%rbp)
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
callq 0x73fe0
movl %eax, -0x88(%rbp)
movq %rdx, -0x80(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0xa0, %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_Tzmza
static struct mirth_type_StackType mw_mirth_type_Tzmza (struct mirth_type_StackType in_StackType_1, struct std_either_Either_2 in_Either_2) {
	struct mirth_type_StackType branch_StackType_4;
	switch ((in_Either_2).tag) {
		case std_either_Either_2_Left: {
			VAL v5 = mtp_std_either_Either_2_Left(in_Either_2);
			struct mirth_type_StackType v6 = mw_mirth_type_Tzm(in_StackType_1, V_mirth_type_Type(v5));
			branch_StackType_4 = v6;
		} break;
		case std_either_Either_2_Right: {
			VAL v7 = mtp_std_either_Either_2_Right(in_Either_2);
			struct mirth_type_StackType v8 = mw_mirth_type_Tza(in_StackType_1, V_mirth_type_Type(v7));
			branch_StackType_4 = v8;
		} break;
		default: {
			do_panic(str_make("unexpected fallthrough in match\n", 32));
		}
	}
	return branch_StackType_4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movl %edi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x30(%rbp)
movq %rcx, -0x28(%rbp)
movl -0x30(%rbp), %eax
movl %eax, -0x94(%rbp)
testl %eax, %eax
je 0x734c8
jmp 0x734b8
movl -0x94(%rbp), %eax
subl $0x1, %eax
je 0x7351c
jmp 0x7357c
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x74840
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x6f100
movl %eax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
movl -0x60(%rbp), %edx
movq -0x58(%rbp), %rcx
callq 0x73db0
movl %eax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x73595
movl -0x30(%rbp), %edi
movq -0x28(%rbp), %rsi
callq 0x748f0
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x6f100
movl %eax, -0x90(%rbp)
movq %rdx, -0x88(%rbp)
movl -0x20(%rbp), %edi
movq -0x18(%rbp), %rsi
movl -0x90(%rbp), %edx
movq -0x88(%rbp), %rcx
callq 0x749a0
movl %eax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x73595
leaq 0x2e08fe(%rip), %rdi    # 0x353e81
movl $0x20, %esi
callq 0xb6c0
movq %rax, %rdi
callq 0xc620
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: mtw_mirth_mirth_PropLabel_TagType
static struct mirth_mirth_PropLabel mtw_mirth_mirth_PropLabel_TagType (uint64_t in_Tag_1) {
	struct mirth_mirth_PropLabel_TagType* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mTag = in_Tag_1;
	struct mirth_mirth_PropLabel v4 = { .tag=mirth_mirth_PropLabel_TagType, .ptr.TagType=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 0x73640
movl $0x2, %edi
leaq 0x2e40cf(%rip), %rsi    # 0x3576f1
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x73642
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x4, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_mirth_PropLabel_prop2
static struct mirth_mirth_Prop_1* mw_mirth_mirth_PropLabel_prop2 (struct mirth_mirth_zaMirth* in_zaMirth_1, VAL in_b1_2, VAL in_b2_3, struct mirth_mirth_PropLabel in_PropLabel_4, struct mirth_mirth_zaMirth* *out_zaMirth_5) {
	PTUP r7 = PTRMK(0,tup_new(2),0);
	((TUP*)PTRPTR(r7))->size = 2;
	((TUP*)PTRPTR(r7))->cells[1] = in_b2_3;
	((TUP*)PTRPTR(r7))->cells[0] = in_b1_2;
	struct mirth_mirth_zaMirth* v8;
	struct mirth_mirth_Prop_1* v9 = mw_mirth_mirth_PropLabel_prop(in_zaMirth_1, MKTUP(r7), in_PropLabel_4, &v8);
	*out_zaMirth_5 = v8;
	return v9;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x18(%rbp)
movq %rdi, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl $0x2, %edi
callq 0x1a7d0
movq %rax, %rcx
movq -0x60(%rbp), %rax
orq $0x0, %rcx
orq $0x0, %rcx
movq %rcx, -0x38(%rbp)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rcx
movw $0x2, 0x6(%rcx)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rcx
movq -0x20(%rbp), %rdx
movq %rdx, 0x18(%rcx)
movq -0x18(%rbp), %rdx
movq %rdx, 0x20(%rcx)
movabsq $0xfffffffffffc, %rcx   # imm = 0xFFFFFFFFFFFC
andq -0x38(%rbp), %rcx
movq -0x10(%rbp), %rdx
movq %rdx, 0x8(%rcx)
movq -0x8(%rbp), %rdx
movq %rdx, 0x10(%rcx)
movq -0x28(%rbp), %rdi
movq -0x38(%rbp), %rcx
movq %rcx, -0x58(%rbp)
leaq 0x31dc70(%rip), %rcx    # 0x391398
orq $0x1, %rcx
movq %rcx, -0x50(%rbp)
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
movl (%rax), %ecx
movq 0x8(%rax), %r8
leaq -0x40(%rbp), %r9
callq 0x70840
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x48(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_type_StackType_Cons
static struct mirth_type_StackType mtw_mirth_type_StackType_Cons (struct mirth_type_StackType in_StackType_1, struct mirth_type_Type in_Type_2) {
	struct mirth_type_StackType_Cons* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->refs = 1;
	v4->mType = in_Type_2;
	v4->mStackType = in_StackType_1;
	struct mirth_type_StackType v5 = { .tag=mirth_type_StackType_Cons, .ptr.Cons=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 0x73e4a
movl $0x2, %edi
leaq 0x2e3756(%rip), %rsi    # 0x357582
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x73e4c
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 $0x5, -0x10(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_Data_appliedzetype
static struct mirth_type_Type mw_mirth_data_Data_appliedzetype (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Data_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_type_Type v5 = mtw_mirth_type_Type_Data(in_Data_2);
	struct mirth_mirth_zaMirth* v6;
	struct std_list_List_1 v7 = mw_mirth_data_Data_params(in_zaMirth_1, in_Data_2, &v6);
	struct mirth_type_Type v8 = mw_std_list_List_1_for_1_sp84(v5, v7);
	*out_zaMirth_3 = v6;
	return v8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x20(%rbp), %rdi
callq 0x74070
movl %eax, -0x38(%rbp)
movq %rdx, -0x30(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x72fd0
movl %eax, -0x50(%rbp)
movq %rdx, -0x48(%rbp)
movl -0x38(%rbp), %edi
movq -0x30(%rbp), %rsi
movl -0x50(%rbp), %edx
movq -0x48(%rbp), %rcx
callq 0x6ddd0
movl %eax, -0x10(%rbp)
movq %rdx, -0x8(%rbp)
movq -0x40(%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_data_Data_iszevaluezetypezy
static bool mw_mirth_data_Data_iszevaluezetypezy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Data_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_mirth_zaMirth* v5;
	bool v6 = mw_mirth_data_Data_iszeresourcezy(in_zaMirth_1, in_Data_2, &v5);
	bool v7 = !v6;
	*out_zaMirth_3 = v5;
	return v7;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %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 0x74100
andb $0x1, %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %al
xorb $-0x1, %al
andb $0x1, %al
movb %al, -0x22(%rbp)
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movb -0x22(%rbp), %al
andb $0x1, %al
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_std_either_Either_2_Left
static struct std_either_Either_2 mtw_std_either_Either_2_Left (VAL in_a_1) {
	struct std_either_Either_2_Left* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->m0 = in_a_1;
	struct std_either_Either_2 v4 = { .tag=std_either_Either_2_Left, .ptr.Left=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x1, %edi
movl $0x18, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x73fa4
movl $0x2, %edi
leaq 0x2e36a3(%rip), %rsi    # 0x357629
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x73fa6
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
movq -0x28(%rbp), %rax
movups -0x20(%rbp), %xmm0
movups %xmm0, 0x8(%rax)
movl $0x0, -0x10(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_std_either_Either_2_Right
static struct std_either_Either_2 mtw_std_either_Either_2_Right (VAL in_b_1) {
	struct std_either_Either_2_Right* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->m0 = in_b_1;
	struct std_either_Either_2 v4 = { .tag=std_either_Either_2_Right, .ptr.Right=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x20(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x1, %edi
movl $0x18, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x74034
movl $0x2, %edi
leaq 0x2e3645(%rip), %rsi    # 0x35765b
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x74036
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
movq -0x28(%rbp), %rax
movups -0x20(%rbp), %xmm0
movups %xmm0, 0x8(%rax)
movl $0x1, -0x10(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_type_Type_Data
static struct mirth_type_Type mtw_mirth_type_Type_Data (uint64_t in_Data_1) {
	struct mirth_type_Type_Data* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mData = in_Data_1;
	struct mirth_type_Type v4 = { .tag=mirth_type_Type_Data, .ptr.Data=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movl $0x1, %edi
movl $0x10, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x740c0
movl $0x2, %edi
leaq 0x2e3512(%rip), %rsi    # 0x3575b4
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x740c2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x7, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_data_Data_iszeresourcezy
static bool mw_mirth_data_Data_iszeresourcezy (struct mirth_mirth_zaMirth* in_zaMirth_1, uint64_t in_Data_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	void* v5 = field_mut(&mfld_mirth_data_Data_iszeresourcezy, in_Data_2);
	bool v6 = mut_is_set(v5);
	struct mirth_mirth_zaMirth* branch_zaMirth_7;
	bool branch_Bool_8;
	if (v6) {
		VAL v9 = mut_get(v5);
		branch_Bool_8 = value_bool(v9);
		branch_zaMirth_7 = in_zaMirth_1;
	} else {
		struct mirth_mirth_zaMirth* v10;
		uint64_t v11 = mw_mirth_data_Data_name(in_zaMirth_1, in_Data_2, &v10);
		struct mirth_mirth_zaMirth* v12;
		bool v13 = mw_mirth_name_Name_couldzebezeresourcezecon(v10, v11, &v12);
		mut_set(MKBOOL(v13), v5);
		branch_Bool_8 = v13;
		branch_zaMirth_7 = v12;
	}
	*out_zaMirth_3 = branch_zaMirth_7;
	return branch_Bool_8;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x13212f6(%rip), %rdi   # 0x1395418
callq 0x40d30
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x45e40
andb $0x1, %al
movb %al, -0x21(%rbp)
testb $0x1, -0x21(%rbp)
je 0x7416c
movq -0x20(%rbp), %rdi
callq 0x40f30
movq %rax, -0x48(%rbp)
movq %rdx, -0x40(%rbp)
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0x741f0
andb $0x1, %al
movb %al, -0x31(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x741cf
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x50(%rbp), %rdx
callq 0x64460
movq %rax, -0x58(%rbp)
movq -0x50(%rbp), %rdi
movq -0x58(%rbp), %rsi
leaq -0x60(%rbp), %rdx
callq 0x74260
andb $0x1, %al
movb %al, -0x61(%rbp)
movb -0x61(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movq %rax, -0x78(%rbp)
leaq 0x31dc0e(%rip), %rax    # 0x391db8
movq %rax, -0x70(%rbp)
movq -0x20(%rbp), %rdx
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0x431a0
movb -0x61(%rbp), %al
andb $0x1, %al
movb %al, -0x31(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movb -0x31(%rbp), %al
andb $0x1, %al
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: bool_poke_
static void bool_poke_(ARR* arr, USIZE i, VAL v) {
    USIZE hi = i/32;
    USIZE lo = i&31;
    uint32_t u32 = arr->data.u32s[hi];
    uint32_t flag = 1 << lo;
    uint32_t mask = ~flag;
    uint32_t b = (bool)VBOOL(v);
    uint32_t bflag = b << lo;
    arr->data.u32s[hi] = (u32 & mask) | bflag;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdx, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq -0x20(%rbp), %rax
shrq $0x5, %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
andq $0x1f, %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq -0x28(%rbp), %rcx
movl 0x28(%rax,%rcx,4), %eax
movl %eax, -0x34(%rbp)
movq -0x30(%rbp), %rax
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %eax
xorl $-0x1, %eax
movl %eax, -0x3c(%rbp)
cmpq $0x0, -0x10(%rbp)
setne %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %eax
movq -0x30(%rbp), %rcx
shll %cl, %eax
movl %eax, -0x44(%rbp)
movl -0x34(%rbp), %edx
andl -0x3c(%rbp), %edx
orl -0x44(%rbp), %edx
movq -0x18(%rbp), %rax
movq -0x28(%rbp), %rcx
movl %edx, 0x28(%rax,%rcx,4)
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: bool_poke_many_
static void bool_poke_many_(ARR* arr, USIZE lo, USIZE hi, VAL v) {
    if (hi <= lo) return;
    uint32_t all = ~(uint32_t)0;
    uint32_t lomask = all << (lo % 32);
    uint32_t himask = ~(all << (hi % 32));
    uint32_t f = VBOOL(v) ? all : 0;
    USIZE i = lo/32;
    USIZE j = hi/32;
    if (i == j) {
        uint32_t bimask = (lomask & himask);
        arr->data.u32s[i] &= ~bimask;
        arr->data.u32s[i] |= (f & bimask);
    } else {
        arr->data.u32s[i] &= ~lomask;
        arr->data.u32s[i] |= (f & lomask);
        i++;
        while (i < j) {
            arr->data.u32s[i] = f;
            i++;
        }
        arr->data.u32s[j] &= ~himask;
        arr->data.u32s[j] |= (f & himask);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rcx, -0x10(%rbp)
movq %r8, -0x8(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x20(%rbp), %rax
ja 0x74707
jmp 0x74834
movl $0xffffffff, -0x2c(%rbp) # imm = 0xFFFFFFFF
movl -0x2c(%rbp), %eax
movq -0x20(%rbp), %rcx
andq $0x1f, %rcx
shll %cl, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %eax
movq -0x28(%rbp), %rcx
andq $0x1f, %rcx
shll %cl, %eax
xorl $-0x1, %eax
movl %eax, -0x34(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x74740
movl -0x2c(%rbp), %eax
movl %eax, -0x50(%rbp)
jmp 0x74747
xorl %eax, %eax
movl %eax, -0x50(%rbp)
jmp 0x74747
movl -0x50(%rbp), %eax
movl %eax, -0x38(%rbp)
movq -0x20(%rbp), %rax
shrq $0x5, %rax
movq %rax, -0x40(%rbp)
movq -0x28(%rbp), %rax
shrq $0x5, %rax
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rax
cmpq -0x48(%rbp), %rax
jne 0x747a9
movl -0x30(%rbp), %eax
andl -0x34(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %edx
xorl $-0x1, %edx
movq -0x18(%rbp), %rax
movq -0x40(%rbp), %rcx
andl 0x28(%rax,%rcx,4), %edx
movl %edx, 0x28(%rax,%rcx,4)
movl -0x38(%rbp), %edx
andl -0x4c(%rbp), %edx
movq -0x18(%rbp), %rax
movq -0x40(%rbp), %rcx
orl 0x28(%rax,%rcx,4), %edx
movl %edx, 0x28(%rax,%rcx,4)
jmp 0x74834
movl -0x30(%rbp), %edx
xorl $-0x1, %edx
movq -0x18(%rbp), %rax
movq -0x40(%rbp), %rcx
andl 0x28(%rax,%rcx,4), %edx
movl %edx, 0x28(%rax,%rcx,4)
movl -0x38(%rbp), %edx
andl -0x30(%rbp), %edx
movq -0x18(%rbp), %rax
movq -0x40(%rbp), %rcx
orl 0x28(%rax,%rcx,4), %edx
movl %edx, 0x28(%rax,%rcx,4)
movq -0x40(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
cmpq -0x48(%rbp), %rax
jae 0x74808
movl -0x38(%rbp), %edx
movq -0x18(%rbp), %rax
movq -0x40(%rbp), %rcx
movl %edx, 0x28(%rax,%rcx,4)
movq -0x40(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x40(%rbp)
jmp 0x747e1
movl -0x34(%rbp), %edx
xorl $-0x1, %edx
movq -0x18(%rbp), %rax
movq -0x48(%rbp), %rcx
andl 0x28(%rax,%rcx,4), %edx
movl %edx, 0x28(%rax,%rcx,4)
movl -0x38(%rbp), %edx
andl -0x34(%rbp), %edx
movq -0x18(%rbp), %rax
movq -0x48(%rbp), %rcx
orl 0x28(%rax,%rcx,4), %edx
movl %edx, 0x28(%rax,%rcx,4)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtp_std_either_Either_2_Left
static VAL mtp_std_either_Either_2_Left (struct std_either_Either_2 in_Either_1) {
	struct std_either_Either_2_Left v3 = *in_Either_1.ptr.Left;
	if (!--(in_Either_1.ptr.Left->refs)) {
		free(in_Either_1.ptr.Left);
	} 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 0x74885
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x748d0
jmp 0x74887
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x748cc
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x30(%rbp), %rax
cmpq $0x0, %rax
je 0x748cc
movq -0x30(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x748cc
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x30(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x748ce
jmp 0x748d0
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: mtp_std_either_Either_2_Right
static VAL mtp_std_either_Either_2_Right (struct std_either_Either_2 in_Either_1) {
	struct std_either_Either_2_Right v3 = *in_Either_1.ptr.Right;
	if (!--(in_Either_1.ptr.Right->refs)) {
		free(in_Either_1.ptr.Right);
	} 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 0x74935
movq -0x18(%rbp), %rdi
callq 0x5030
jmp 0x74980
jmp 0x74937
movq -0x28(%rbp), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x7497c
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x30(%rbp), %rax
cmpq $0x0, %rax
je 0x7497c
movq -0x30(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
jne 0x7497c
movabsq $0xfffffffffffc, %rax   # imm = 0xFFFFFFFFFFFC
andq -0x30(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x7497e
jmp 0x74980
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: mtw_mirth_type_StackType_With
static struct mirth_type_StackType mtw_mirth_type_StackType_With (struct mirth_type_StackType in_StackType_1, struct mirth_type_Type in_Resource_2) {
	struct mirth_type_StackType_With* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->refs = 1;
	v4->mResource = in_Resource_2;
	v4->mStackType = in_StackType_1;
	struct mirth_type_StackType v5 = { .tag=mirth_type_StackType_With, .ptr.With=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 0x74a3a
movl $0x2, %edi
leaq 0x2e2c71(%rip), %rsi    # 0x35768d
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x74a3c
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_type_ArrowType_ArrowType
static struct mirth_type_ArrowType* mtw_mirth_type_ArrowType_ArrowType (struct mirth_type_StackType in_StackType_1, struct mirth_type_StackType in_StackType_2) {
	struct mirth_type_ArrowType* v4 = calloc(1, sizeof *v4);
	ASSERT(v4);
	v4->refs = 1;
	v4->mcod = in_StackType_2;
	v4->mdom = in_StackType_1;
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
movl %edx, -0x20(%rbp)
movq %rcx, -0x18(%rbp)
movl $0x1, %edi
movl $0x28, %esi
callq 0x50c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x74ada
movl $0x2, %edi
leaq 0x2e2c03(%rip), %rsi    # 0x3576bf
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x74adc
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
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_type_CType_Int
static struct mirth_type_CType mtw_mirth_type_CType_Int (STR* in_Str_1) {
	struct mirth_type_CType_Int* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mStr = in_Str_1;
	struct mirth_type_CType v4 = { .tag=mirth_type_CType_Int, .ptr.Int=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 0x754f0
movl $0x2, %edi
leaq 0x2e22c3(%rip), %rsi    # 0x357795
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x754f2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x1, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mtw_mirth_type_CType_UInt
static struct mirth_type_CType mtw_mirth_type_CType_UInt (STR* in_Str_1) {
	struct mirth_type_CType_UInt* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mStr = in_Str_1;
	struct mirth_type_CType v4 = { .tag=mirth_type_CType_UInt, .ptr.UInt=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 0x755b0
movl $0x2, %edi
leaq 0x2e2235(%rip), %rsi    # 0x3577c7
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x755b2
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0x0, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_prim_Prim_registerzx
static void mw_mirth_prim_Prim_registerzx (struct mirth_mirth_zaMirth* in_zaMirth_1, enum mirth_prim_Prim in_Prim_2, struct mirth_mirth_zaMirth* *out_zaMirth_3) {
	struct mirth_def_Def v4 = mtw_mirth_def_Def_Prim(in_Prim_2);
	struct mirth_mirth_zaMirth* v5;
	mw_mirth_def_Def_register(in_zaMirth_1, v4, &v5);
	*out_zaMirth_3 = v5;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movl -0xc(%rbp), %edi
callq 0x756c0
movl %eax, -0x28(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movl -0x28(%rbp), %esi
movq -0x20(%rbp), %rdx
leaq -0x30(%rbp), %rcx
callq 0x3f300
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%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: mtw_mirth_def_Def_Prim
static struct mirth_def_Def mtw_mirth_def_Def_Prim (enum mirth_prim_Prim in_Prim_1) {
	struct mirth_def_Def_Prim* v3 = calloc(1, sizeof *v3);
	ASSERT(v3);
	v3->refs = 1;
	v3->mPrim = in_Prim_1;
	struct mirth_def_Def v4 = { .tag=mirth_def_Def_Prim, .ptr.Prim=v3 };
	return v4;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x14(%rbp)
movl $0x1, %edi
movl $0x8, %esi
callq 0x50c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x7570f
movl $0x2, %edi
leaq 0x2e2108(%rip), %rsi    # 0x3577f9
movl $0x31, %edx
callq 0x5060
callq 0x5310
callq 0x53b0
movl $0x1, %edi
callq 0x5130
jmp 0x75711
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movl -0x14(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x4(%rax)
movl $0x7, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mb_mirth_mirth_zaMirth_initzemacroszx_0
static void mb_mirth_mirth_zaMirth_initzemacroszx_0 (void) {
	uint64_t v0 = V_mirth_token_Token(pop_value());
	struct mirth_mirth_zaMirth* r1 = V_mirth_mirth_zaMirth(pop_resource());
	pop_resource();
	struct mirth_mirth_zaMirth* v2;
	uint64_t v3 = mw_mirth_mirth_zaMirth_modulezestatementzeerrorzx(r1, v0, &v2);
	push_resource(MKI64(0));
	push_resource(MK_mirth_mirth_zaMirth(v2));
	push_value(MK_mirth_token_Token(v3));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
callq 0x138a0
movq %rax, -0x18(%rbp)
movq %rdx, -0x10(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
callq 0x13920
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x20(%rbp)
callq 0x13920
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x20(%rbp), %rdi
movq -0x8(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x76a60
movq %rax, -0x50(%rbp)
movq $0x0, -0x60(%rbp)
leaq 0x31b902(%rip), %rax    # 0x3910b8
movq %rax, -0x58(%rbp)
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x5b40
movq -0x48(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x31c1aa(%rip), %rax    # 0x391980
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x5b40
movq -0x50(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0x31c652(%rip), %rax    # 0x391e48
movq %rax, -0x78(%rbp)
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x12cc0
addq $0x80, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mw_mirth_mirth_zaMirth_primzedeclzemacrozx
static void mw_mirth_mirth_zaMirth_primzedeclzemacrozx (STR* in_Str_1, INT in_Int_2, VAL in__3, struct mirth_mirth_zaMirth* in_zaMirth_4, struct mirth_mirth_zaMirth* *out_zaMirth_5) {
	struct mirth_macro_MacroAction v6 = mtw_mirth_macro_MacroAction_Decl(in__3);
	struct mirth_mirth_zaMirth* v7;
	uint64_t v8 = mw_mirth_macro_Macro_Prim(in_zaMirth_4, in_Str_1, in_Int_2, v6, &v7);
	struct mirth_def_Def v9 = mtw_mirth_def_Def_Macro(v8);
	struct mirth_mirth_zaMirth* v10;
	mw_mirth_def_Def_register(v7, v9, &v10);
	*out_zaMirth_5 = v10;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rsi, -0x8(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x10(%rbp)
movq %rdi, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x76ce0
movl %eax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x28(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x8(%rbp), %rdx
movl -0x40(%rbp), %ecx
movq -0x38(%rbp), %r8
leaq -0x48(%rbp), %r9
callq 0x76d70
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
callq 0x76f30
movl %eax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
movq -0x48(%rbp), %rdi
movl -0x60(%rbp), %esi
movq -0x58(%rbp), %rdx
leaq -0x68(%rbp), %rcx
callq 0x3f300
movq -0x68(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mb_mirth_mirth_zaMirth_initzemacroszx_1
static void mb_mirth_mirth_zaMirth_initzemacroszx_1 (void) {
	uint64_t v0 = V_mirth_token_Token(pop_value());
	struct mirth_mirth_zaMirth* r1 = V_mirth_mirth_zaMirth(pop_resource());
	pop_resource();
	struct mirth_mirth_zaMirth* v2;
	uint64_t v3 = mw_mirth_mirth_zaMirth_importzestatementzeerrorzx(r1, v0, &v2);
	push_resource(MKI64(0));
	push_resource(MK_mirth_mirth_zaMirth(v2));
	push_value(MK_mirth_token_Token(v3));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
callq 0x138a0
movq %rax, -0x18(%rbp)
movq %rdx, -0x10(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
callq 0x13920
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x20(%rbp)
callq 0x13920
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x20(%rbp), %rdi
movq -0x8(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x775c0
movq %rax, -0x50(%rbp)
movq $0x0, -0x60(%rbp)
leaq 0x31b7b2(%rip), %rax    # 0x3910b8
movq %rax, -0x58(%rbp)
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x5b40
movq -0x48(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x31c05a(%rip), %rax    # 0x391980
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x5b40
movq -0x50(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0x31c502(%rip), %rax    # 0x391e48
movq %rax, -0x78(%rbp)
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x12cc0
addq $0x80, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mb_mirth_mirth_zaMirth_initzemacroszx_2
static void mb_mirth_mirth_zaMirth_initzemacroszx_2 (void) {
	uint64_t v0 = V_mirth_token_Token(pop_value());
	struct mirth_mirth_zaMirth* r1 = V_mirth_mirth_zaMirth(pop_resource());
	pop_resource();
	struct mirth_mirth_zaMirth* v2;
	uint64_t v3 = mw_mirth_elab_elabzepatchzx(r1, v0, &v2);
	push_resource(MKI64(0));
	push_resource(MK_mirth_mirth_zaMirth(v2));
	push_value(MK_mirth_token_Token(v3));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
callq 0x138a0
movq %rax, -0x18(%rbp)
movq %rdx, -0x10(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
callq 0x13920
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x20(%rbp)
callq 0x13920
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x20(%rbp), %rdi
movq -0x8(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x776d0
movq %rax, -0x50(%rbp)
movq $0x0, -0x60(%rbp)
leaq 0x31b6f2(%rip), %rax    # 0x3910b8
movq %rax, -0x58(%rbp)
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x5b40
movq -0x48(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x31bf9a(%rip), %rax    # 0x391980
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x5b40
movq -0x50(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0x31c442(%rip), %rax    # 0x391e48
movq %rax, -0x78(%rbp)
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x12cc0
addq $0x80, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/mirth-lang[P]mirth/bin/mirth1.c
// Function: mb_mirth_mirth_zaMirth_initzemacroszx_3
static void mb_mirth_mirth_zaMirth_initzemacroszx_3 (void) {
	uint64_t v0 = V_mirth_token_Token(pop_value());
	struct mirth_mirth_zaMirth* r1 = V_mirth_mirth_zaMirth(pop_resource());
	pop_resource();
	struct mirth_mirth_zaMirth* v2;
	uint64_t v3 = mw_mirth_alias_elabzealiaszx(r1, v0, &v2);
	push_resource(MKI64(0));
	push_resource(MK_mirth_mirth_zaMirth(v2));
	push_value(MK_mirth_token_Token(v3));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
callq 0x138a0
movq %rax, -0x18(%rbp)
movq %rdx, -0x10(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
callq 0x13920
movq %rax, -0x30(%rbp)
movq %rdx, -0x28(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x20(%rbp)
callq 0x13920
movq %rax, -0x40(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x20(%rbp), %rdi
movq -0x8(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0xa06c0
movq %rax, -0x50(%rbp)
movq $0x0, -0x60(%rbp)
leaq 0x31b632(%rip), %rax    # 0x3910b8
movq %rax, -0x58(%rbp)
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x5b40
movq -0x48(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0x31beda(%rip), %rax    # 0x391980
movq %rax, -0x68(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x5b40
movq -0x50(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0x31c382(%rip), %rax    # 0x391e48
movq %rax, -0x78(%rbp)
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x12cc0
addq $0x80, %rsp
popq %rbp
retq